Your data, and leaving with it

Not builtDoes not exist yet.

Your books are plain text in a git repository and nothing about them is proprietary — but there is no route today that hands you a copy, and that gap is the honest answer to “can I leave?”.

The gap, stated first

There is no export endpoint, no download button and no git remote you can clone. The ledger genuinely is a git repository, which is what makes “take your data with you” feel already true — but it lives on a volume you cannot reach, and no mechanism exists by which you could obtain the repository itself. Tracked as #48, open.

Portability is the entire reason to choose plain-text accounting over an accounting product, so this is the gap on this site we are least comfortable with, and it is why this page exists with a not-built chip on it rather than not existing.

What you can get out today

The whole ledger as text. get_ledger returns the complete plain-text book — every account, transaction and price directive — through the API or by asking an agent for it. Paste it into a file and it is a valid Beancount ledger that bean-check will accept and that Fava will open. What it does not carry is the history: you get the current state, not the commits that produced it.

A spreadsheet. generate_report writes an Excel workbook with balance sheet, income statement and transactions sheets, or a styled HTML page. This is the artifact for an accountant who has never heard of Beancount.

Query results. Anything BQL can select.

Those three cover “I need my numbers”. None of them covers “I am leaving and I want the repository”, which is the one that matters.

Why it is not simply switched on

The export route is specified and small — git bundle create - --all streamed back under a read scope. It is not shipped, and the reason is order of work rather than difficulty. It also has to land beside the two things around it: the download has to be proxied through the same authenticated, book-scoped path everything else uses, and cancelling a subscription should offer it rather than quietly suspending a book. Half of that is worse than none — an export nobody is told about at the moment they need it is not an answer.

What happens if you stop paying

Your book is suspended, not destroyed. A suspended book refuses requests with book_paused and its machine stops; the ledger stays on its volume, and the nightly backup keeps taking full-history bundles of it.

Deleting a book is refused outright while the control plane cannot confirm an off-machine copy exists — every delete request returns 409. It is a blunt guard and it errs in the direction of keeping your data.

If you need your books out today, email support@countbean.com and a person will get you the repository by hand. That is a workaround, not a feature, and saying so in the documentation is the point.

What there is not

No one-click export (#48) — no bundle, no zip, no clone URL.

No scheduled export to your own storage. Nothing pushes a copy anywhere you control, and there are no webhooks to build one on.

No self-service deletion. Deleting a book is refused by the guard above, and there is no button anywhere that closes an account. Both are an email.

No export of anything but the ledger. Reports are regenerated from the ledger rather than stored, receipt images are not kept at all, and there is no archive of what an agent said to you on the way to writing an entry.

One-click export is not shipped. Until it is, ask and we will get you a copy of your book.

Something here wrong or missing? Put it on the board — it is public, and the reply is in the thread.