Finance & Tax Platform
Multi-tenant SaaS for accounting firms — four user tiers, automatic bank syncing, and instant three-way revenue splitting.
Accounting firms were running on disconnected tools — one for onboarding, another for bank data, spreadsheets for tax prep, and manual transfers to split revenue. This platform consolidates all of it, with revenue splitting that settles automatically at the moment of payment.
The Challenge
Four user tiers needed strict data isolation — no firm can see another's clients. Revenue sharing between platform, agency, and accountant was manual, error-prone, and delayed. And agencies wanted the platform to look like their own product.
Approach
I designed a multi-tenant architecture with row-level data isolation and Stripe Connect for instant revenue splitting at the point of payment — no batch processes, no reconciliation. White-labeling was built into the tenant model from day one, not bolted on. The core insight was that revenue splitting and data isolation are the same problem: every row in the system needs to know exactly which tenant it belongs to, and money needs to follow the same ownership chain.
Solution
A full-stack platform built on Next.js with PostgreSQL for multi-tenant data, Stripe Connect for payment processing and revenue splitting, and Plaid for bank account linking. The platform spans 45+ pages across four user tiers — each with its own dashboard, permissions, and data scope — while sharing one codebase and one deployment. The architecture was designed so adding a new agency is purely a configuration step: create a tenant, set branding, connect a Stripe account, done.
Instant revenue splitting
When a client pays, Stripe Connect splits the charge automatically at the point of payment. The platform fee deducts first, the agency's share transfers instantly, and the accountant keeps the remainder — all recorded in a payment ledger. A $100 client payment settles as $20 platform, $40 agency, $36.80 accountant, $3.20 processing. No manual transfers, no end-of-month reconciliation.
Bank sync & transaction categorisation
Clients link their bank accounts through Plaid's secure flow. Transactions arrive automatically and are pre-categorised, giving accountants a head start on bookkeeping. The sync runs on a schedule with retry logic, and clients can review and re-categorise transactions before their accountant sees them.
White-label multi-tenancy
Agencies configure their own branding — logo, colors, domain — and their own banking credentials, so the platform presents as their product to their clients. Data isolation is enforced at the database query level: every query is scoped to the current tenant, making cross-tenant data leaks structurally impossible.
Four-tier permission model
Platform owners manage all agencies. Agencies manage their accountants. Accountants manage their clients. Clients see only their own data. Each tier has a tailored dashboard and can only access the data and actions relevant to its role — enforced server-side, not just hidden in the UI.
Results
Shipped in twelve weeks as a complete four-tier system. Revenue splitting went from manual spreadsheets to instant settlement. Bookkeeping effort dropped sharply with automatic syncing. The four-tier foundation means new agencies onboard without structural changes — scales by adding accounts, not code.
Architecture
Have a similar project in mind?
Let's talk about how to bring it to life, end to end.
Explore more work
A mortgage lead marketplace where borrowers compare lender offers without ever exposing their real phone number or email.
Read case studyServerless backend powering card payments, instalment loans, digital wallets, and automated seller payouts for an Australian social commerce platform.
Read case study