Open source · Apache 2.0 · v0.5

Bookkeeping that never
leaves your machine

Quince rebuilds a small corporation's books from raw bank statements — and never sends a byte anywhere. Every parser proves itself against the statement's own printed balance, and an independent auditor re-derives every figure from source and tries to break it.

Download Quince v0.5 Read the build story Free · Apache 2.0 · Canadian small corporations

What you're downloading

This is code you adapt to your own accounts with an AI coding assistant — Claude Code, Cursor, or Codex — not a turnkey app. The README is written as a map for exactly that: here is the architecture, and here is what to tell your assistant about your own bank's statements.

It matches how the system was built in the first place. It was built with an AI assistant, and it's meant to be adopted with one.

What it caught

PDF
The export was incomplete
A card's CSV export was missing transactions that appeared on the PDF statement for the same period. Books reconciled against that export would have been reconciled against an incomplete record. So Quince parses the statement itself and checks every import against the balance the bank printed on it — if the two don't agree, the import refuses rather than writing a number you'd have to take on faith.
~15%
Revenue that had fallen through
From a one-line discrepancy, the system surfaced forgotten revenue worth about 15% of that year's reported sales — roughly a seventh of the year — and traced it to the exact invoices. Then it stopped and asked a human.
±$1
Matched the filing software
Carried into commercial CRA filing software, the independently computed tax matched to within a dollar — and the generated package caught the human's own data-entry slips during entry.

Why you can trust a machine's numbers

The thing that made it trustworthy wasn't the AI — it was refusing to let the AI near the numbers. AI wrote the parsers, and AI wrote the auditor that attacks them. It never became the source of a single figure.

Every amount is derived from a source document by code you can read, and checked against a balance the bank itself printed. When something doesn't reconcile, the system stops and asks — it does not guess.

How Quince works: bank statements are parsed by Python parsers on your local computer, verified against the statement's printed balance, and written to a local ledger. An AI agent writes the parsers and an independent auditor, but never writes a number itself — the human makes the final call.

Inside the app

Quince home screen showing transaction count, accounts receivable, accounts payable, documents filed, and an undoable list of recent changes.
Everything local. Every change undoable.
Quince ledger view with auto-categorize, filters by account, fiscal year, GST period and category, and bulk editing.
Auto-categorize proposes. It never overwrites your manual categories.
Accounts and statements view showing a per-account statement archive, with one account flagged as missing its July 2026 statement.
It tracks which statements are missing — a gap you can't reconcile around.
Reports view showing filing status for T2 and GST returns, a GST/HST return summary with lines 101, 105, 108 and 109, and a profit and loss statement by fiscal year.
GST/HST lines and P&L, ready to copy into your filing software.

Roadmap

Cross-platform support Self-executable package

Support this work

Quince is free and stays free. If it saved you time or caught something, you can chip in — it funds the next release.

Secure checkout on Stripe · shown in USD, or CAD in Canada

Quince releases are announced in the grndtech newsletter below. To follow the code itself, watch the repo on GitHub.

Provided as is, without warranty — test against a copy of your own data before you rely on it, and before any commercial use. Not tax advice. Terms