Work

What we've built, and what it changed

Our first client is a solo CPA practice with 36 years of history, software from 2003, and paper everywhere. Over one engagement we rebuilt how the practice handles bookkeeping, email and documents, without changing a single program it runs on. These are the pieces.

Case study 01 · Custom software + integration

Bookkeeping on autopilot for a 20-year-old accounting system

Client: a solo CPA practice in Western New York, 36 years in business, 14+ write-up clients

Problem

The practice runs on MYOB Accounting Plus, a 32-bit desktop program from 2003. It has no API, no SDK, no ODBC, no command line and no supported export. The only way in is its own text import format; the only way out is a printed report. So every bank statement, payroll run and credit card was being keyed in by hand as general journal entries.

We analysed 22 years of one client's ledger (31,215 lines), plus two years of books for two further clients, to see where the time went and to check that the patterns held across different sets of books. Bank write-up was 43% of all activity, payroll re-entry another 13%, credit cards and payables 9%. Across 217 reports, 96% of the practice's work carried manual-entry risk.

What we built

A local Windows companion that sits beside MYOB and never modifies it. First we reverse-engineered MYOB's company file format and the proprietary format of the practice's scanning software, recovering every record layout from the files themselves. The extractor pulls the full ledger, chart of accounts, invoices and payroll tables without MYOB even being open, and it ties to the practice's printed trial balances to the cent on every client tested.

On top of that, an auto-coder learns each client's coding habits by joining years of historical statements to historical entries. A one-click run reads a year of scanned statements, codes the transactions, produces a review workbook with self-checks and scan crops for any day that doesn't add up, then writes a native MYOB import file with safety rules: date and lock-period checks, duplicate detection, splits that must balance, and each company's own numbering conventions.

We measured it the way an auditor would: run it against a client's actual books and compare every line to what the accountant had entered, then repeat across three clients with different banks and different charts of accounts. Pointed straight at the books with no training step, it codes transactions with 99.7% accuracy, and anything it isn't sure about is flagged for review rather than guessed. The system is also self-learning: every correction the accountant makes in the review workbook feeds back into the coder, so it improves with every month it runs.

Everything runs on the accountant's own machine. No cloud, no language model in the pipeline, and SSNs, tax IDs and card numbers redacted on output.

Result

Imports tie to the penny. Roughly 25 hours of bookkeeping removed per client per year, around 350 hours across the practice. Automated work papers (trial balance, bank proofs per account, payroll reconciliation, proposed payroll journal, year-end payables candidates and account analyses) are generated from the same data. Payroll-tax impounds, previously a frequent source of misallocation, dropped from $4,004 misallocated to $147 across 40 impounds on one client.

99.7%
coding accuracy straight from the books, no training step, across three clients
98.2%
of scanned statement lines matched to an existing entry automatically
31,215
ledger lines over 22 years from one client, plus two years each from two more, reconciled to the cent
350 hrs
of bookkeeping removed per year across the practice
dev › regress.pyexample run
$ python regress.py --all
client A · 22 yrs  match 98.2% · accuracy 99.7%
client B · 2 yrs   tie ✓ · accounts 54/54
client C · 2 yrs   tie ✓ · variance $0.00
import A · Jan   $30,043.06 · variance $0.00
PASS · no regression 
Pythonruns offlineMYOB untouchedself-learningvalidated on 3 clientsregression-tested

Why this matters beyond accounting

If we can automate around a 2003 program with no API, we can automate around whatever your business runs on. Legacy software is usually the reason people assume automation isn't an option. It isn't.

Case study 02 · AI agent

An inbox that sorts itself

Client: the same CPA practice, 100+ incoming emails a week

Problem

Client email arrives all day: statements, questions, notices, newsletters, vendor noise. With one person running the practice, every message had to be opened to find out whether it mattered, and things that needed action were easy to lose among things that didn't.

What we built

An AI triage layer that connects to the inbox and sorts every incoming message into four buckets: Urgent, To-do, FYI and Noise. Items that need action are pushed into the practice's knowledge base so they appear alongside the client they belong to, and the same connection powers automated document filing and tax-document follow-up across 380+ clients. You can watch a sample of it run on our home page.

Result

The inbox is read once, by software. The accountant sees only what needs a decision. Together with the automated follow-up, this saves the practice 7+ hours a week.

100+
emails a week triaged automatically
4
buckets: Urgent, To-do, FYI, Noise
380+
clients covered by automated document follow-up
7+ hrs
saved per week with follow-up automation
Claudeinbox integrationObsidian
Case study 03 · Integration + workflow automation

A practice-wide knowledge base, built from years of paper

Client: the same CPA practice, decades of client files

Problem

Years of client bank statements and documents lived across folders and a legacy scanning program with its own proprietary file format. Finding anything meant knowing where it was. Routine document work, scanning, splitting, merging, filing, was all done by hand.

What we built

We decoded the scanning software's format, migrated the full archive into Obsidian, and connected Claude directly to it so the accountant can ask questions of the practice's own history. Around that hub we automated the daily document work: scanning intake, splitting and merging, editing, automatic filing by client and year, and the email integration that ties back to the triage system.

Result

One searchable, AI-assisted hub for the entire practice, kept current automatically. The same archive now feeds the bookkeeping automation above, which is why the auto-coder had years of history to learn from.

1
searchable home for every client document
5
document tasks automated: scan, split, merge, edit, file
ObsidianClaudedocument pipeline
In progress

Billing that bills itself

Building now

Automating the practice's own invoicing in Sage Timeslips: time captured, invoices generated and processed without manual entry. The last piece of the practice's weekly routine still done by hand.

Have a system everyone says can't be automated?

We'd like to see it. Request a call and bring the ugliest workflow you have.