Accounting Tools
The credit card expense report, automated end to end
Accounting used to reconcile company credit cards by hand: download the CSV, read every charge, build an Excel sheet per cardholder, email it out, wait, and re-key what came back. I replaced the whole loop. The weekly statement now becomes routed, per-card reports that cardholders fill in on their own screen.
Feb 2026 - Present
Next.js · Supabase · Postgres · SheetJS · Nodemailer
Reconciling the company credit cards was a weekly manual loop. Someone in accounting downloaded a CSV of every charge across the cards, read through it line by line, built an Excel sheet for each cardholder by hand, and emailed those sheets out. Cardholders filled them in and emailed them back, and accounting re-keyed the results. Nothing in that chain knew anything: not who a card belonged to, not whether a sheet had come back, not what was still outstanding.
I rebuilt the loop as software. The weekly AmEx CSV gets dropped into the platform and split into a draft report per card automatically. Routing rules decide who each card belongs to, and I can edit those rules rather than keeping them in someone's head.
Cardholders no longer receive a spreadsheet. They get an email with the deadline and a link to their own charges, where each line has a picker for the job or office it belongs to, a description field, and a receipt upload. Receipt images are converted to JPEG in the browser, because the alternative is a 12MB photo from someone's phone. Accounting watches a period fill in instead of chasing it, and every charge and receipt stays searchable afterward.
The expense tool was the first piece. The same department now runs P&L reports, balance sheets with automatic intercompany reconciliation, entity loans with per-loan interest pairing, an accounting calendar, and an LLC and entity register through the platform.
- Replaced a manual CSV to Excel to email to re-key loop that ran every week
- Weekly AmEx CSV becomes per-card draft reports automatically, routed by editable rules
- Cardholders fill their own charges: job or office picker, description, and receipt upload
- Receipt images convert to JPEG client side so phone photos do not arrive oversized
- Deadline emails and period tracking, so accounting watches progress instead of chasing it
- Searchable charge and receipt directory, including 2,245 charges imported from the legacy tool
- Surrounding suite: P&L, balance sheets with automatic intercompany reconciliation, entity loans, and an entity register
2,278 charges worth $660,546 have gone through it across 264 reports and 29 billing periods, covering 36 company cards, with 2,245 more charges imported from the old tool so the history stayed searchable. The weekly build-and-email ritual is gone. This is the kind of work I mean when I say ship AI only where it earns its keep: the win here was not a model, it was noticing that a person was doing a database's job every week.
