AIDA — Enterprise Tax Compliance Platform
A 7-month solo rebuild of a fragile VBA/Excel tax process into a platform that reconciles over a million rows
Tax compliance is the kind of problem that quietly grows until the spreadsheet holding it together becomes the single point of failure. That's where this company was: their IVA (VAT) reconciliation lived in one Excel workbook stitched together by VBA macros, maintained by one person who understood it.
I built AIDA to replace it — a platform that pulls data from SAP Business One, Procore, the Xtract invoice API, the government's GTI feed, and the Costa Rican Central Bank's exchange-rate service, then reconciles sales, purchases, and imports into the six reports the tax authority expects.
This was a 7-month solo build: strategy, architecture, and every line of the tax engine. ~1,044 commits, 1,128 passing tests.
The Problem
The company processed high-volume financial transactions and relied on a single Excel workbook stitched together by VBA macros for VAT reconciliation and reporting. The workbook was maintained by one person who understood it.
The process was error-prone and slow — generating a report took days, and reconciliation mistakes carried real financial exposure. Off-the-shelf tools couldn't model the specific Costa Rican IVA rules, the multi-source data (SAP + Procore + Xtract + GTI + bank exchange rates), or the jurisdictions they reported in. As transaction volume grew, the workbook stopped scaling with it.
The Approach
I built the platform around a single domain: IVA reconciliation. A FastAPI backend with 21 routers; a 4,900-line report engine that mirrors the tax rules in the original macro; a 3,900-line SAP connector that keeps ERP data flowing into the reconciliation tables.
The data layer is PostgreSQL with stored procedures, functions, and triggers (schema changes shipped as idempotent SQL — 'ADD COLUMN IF NOT EXISTS', 'CREATE INDEX IF NOT EXISTS' — not Alembic migrations, because the DBA needed to review every change). Redis acts as Celery broker plus a pub/sub channel for live notifications. Celery workers run scheduled pulls, email ingestion, and long-running reconciliation jobs. A small Go service proxies the Xtract invoice API.
Auth is JWT with bcrypt, with an automatic legacy-plaintext migration on first login so existing users weren't forced into a password reset. The dashboard is Next.js with MUI and Data Grid, Excel export, and real-time updates over WebSocket.
Reconciliation itself runs in two levels (L1 participation, L2 cascade cleanup) with a "bucket-conservation" check that flags when amounts that should net out don't — the exact class of silent error the old macro buried.
The Outcome
Report generation went from days to minutes. The platform reconciles 1,046,888 import rows plus sales and purchases across 19 tax categories and emits the six sheets the tax authority expects. A golden-snapshot test reconciles every report against the legacy Excel reference so a regression can't ship silently.
Compliance verification scored the platform at 87% (A-) against the reference workbook, with the remaining gaps being pre-existing ambiguity in the source data rather than engine defects. 1,128 tests pass. The system runs in production today.
Key Takeaway
Enterprise tax compliance isn't a general-purpose problem. It's a deep, single-domain problem that rewards one person who understands the rules end to end — and punishes a team that only understands the framework.
Ready to Build Your Platform?
One 30-minute call to see if we're a fit. No pitch. No pressure. Just a conversation about what you need to build.
$20K–$25K for an MVP. $30K–$80K for a full platform. Fixed price, milestone-gated. 50% upfront.