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.
- 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.