Every change to your books is a commit you can read

Countbean keeps your accounts as a plain-text Beancount ledger inside a git repository, which means every change an agent makes is an ordinary commit — a diff you can read, and revert, without asking anyone.

Diagram in three panels: a ruled document with two added lines marked by plus signs, labelled THE DIFF; a doorway with a lowered barrier where a green arrow passes through an open door below while an amber arrow strikes the barrier and turns back, labelled THE GATE; and a vertical chain of six linked circles, labelled THE HISTORY.
THE DIFF, THE GATE, THE HISTORY — THE FACTS OF THIS PLATE ARE IN THE TEXT

The thing people ask first about AI bookkeeping is not “can it categorise a coffee”. It is: if it gets something wrong, will I be able to tell?

Your book is a text file in a git repository. Not a metaphor for one — an actual repository, which you can clone. Shipped When the agent records something it writes lines into that file and commits them, so the answer to “what changed” is the same answer developers have had for twenty years. You read the diff.

  2026-08-13 * "Unknown merchant" ""
+   Expenses:Unknown          218.60 USD
+   Assets:Bank:Checking     -218.60 USD

Two things follow from that, and they are worth more than they look.

The ledger refuses what does not balance

Every write goes through bean-check before it is committed. Shipped Double-entry is not a convention here, it is a gate: an entry whose postings do not sum to zero is rejected rather than saved.

This is the difference that matters when an agent is doing the typing. It cannot quietly leave your books in a state that does not add up, because the thing it is writing into will not accept one.

Anything ambiguous is flagged, not guessed

A transaction the agent is unsure about gets a ! and stays pending. Shipped

2026-08-13 ! "Unknown merchant" ""
  Expenses:Unknown          218.60 USD
  Assets:Bank:Checking     -218.60 USD

Three questions at the end of a month beats thirty confident wrong entries, and a pending entry is visible in every report rather than hidden in one.

What this does not give you

Being honest about the edges, because a page that only lists strengths is not worth reading:

  • There is no export route yet. Your book is an ordinary git repository and nothing is locked in, but the one-click button that hands you a copy is not built. Not built
  • There are no bank feeds. You export a file or photograph a receipt. Not built That is also why every bank in every country works on your first day, with no integration list to be missing from.
  • The importer is being rebuilt. Reading a CSV works today because the model reads it. A deterministic, server-side importer is being built. Building

None of the good parts are unique to us — it is what plain-text accounting has always been, and it is why engineers have kept books this way for years. What changed is that you no longer have to write the postings yourself.