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.