Skip to content
Menu

Work

TaxZed

SaaS Finance / Accounting 2025–Present In closed beta

Multi-tenant Philippine bookkeeping SaaS that automates VAT calculation and accounting entry generation for small businesses.

TaxZed cover
Client
Our own product
Type
SaaS web application
Industry
Finance / Accounting / Tax Compliance
Services
Build
Timeline
2025–Present
Who did what
Full-stack development — Laravel backend, React frontend, database design, and DevOps / DigitalOcean deployment
Stack
Laravel 12 PHP 8.2 MySQL Laravel Sanctum React 18 TypeScript Vite Tailwind CSS v4 shadcn/ui TanStack Query DigitalOcean

Problem

Small Philippine businesses often manage bookkeeping manually, making it time-consuming and error-prone to track expenses, revenue, VAT, and supplier information across transactions.

Existing solutions can be overly complex for smaller businesses or lack workflows designed around Philippine tax and bookkeeping requirements.

TaxZed was built as a focused bookkeeping platform for Philippine businesses, with its core accounting and VAT workflows designed around local requirements from the beginning.

What we built

  • Multi-tenant expense and revenue ledger with automatic VAT calculation from VAT-inclusive totals. Tax amounts are calculated server-side rather than submitted by the client.
  • Accounting entry generation that locks a month's transactions into an accounting period, with controlled administrator unlocking for corrections.
  • Chart of Accounts seeded from BIR standard codes and shared across tenants.
  • Supplier management with TIN tracking and inline supplier creation directly from the expense workflow.
  • BIR form records for 2550M and 2550Q associated with accounting periods.
  • Superadmin operations panel with company impersonation, feedback triage, and controlled period unlocking.

Technical challenges

Exact VAT arithmetic

VAT calculations need to reconcile exactly with the recorded transaction total without rounding drift.

We calculate the base amount from the VAT-inclusive total and derive the tax as the remainder, ensuring the accounting invariant holds for every transaction.

Multi-tenancy without separate databases

TaxZed uses a shared database while maintaining tenant isolation at the application layer.

A reusable BelongsToCompany model trait applies a global Eloquent scope and automatically assigns company_id when records are created, making tenant filtering part of the application's default behavior.

SPA authentication across separate origins

The React frontend and Laravel backend run separately, requiring careful Sanctum, CORS, and CSRF configuration.

We configured stateful authentication and credential handling so authenticated requests work correctly across separate frontend and backend origins.

Keyboard-first bookkeeping workflow

Bookkeepers may enter large numbers of transactions repeatedly, so minimizing mouse interaction became an important usability requirement.

The entry workflow uses deliberate keyboard navigation, shortcuts such as Alt+S and Alt+N, and arrow-key table navigation to make repetitive data entry faster.

Result

Live at app.taxzed.com and currently in closed beta with real testers actively entering bookkeeping data.

Core workflows for expense entry, revenue entry, VAT computation, accounting generation, and BIR form records are functional. Feedback collection is built into the product, and development is continuing ahead of the public launch.

Have a software problem worth solving?