What is BeanHub
BeanHub is a hosted accounting app. Your book (the ledger) is a Git repository of Beancount files. You browse it in the browser at https://app.beanhub.io. You can also clone it to a laptop and edit the files like any other Git repo.
BeanHub is not QuickBooks. It does not store your ledger only in a private database. The source of truth is the text files in Git. If BeanHub disappeared tomorrow, a clone of the repository would still be a valid Beancount book.
| Term | Meaning |
|---|---|
| Book / repository | One Git repository that holds your Beancount files. The website calls this a repository. This site often says book. |
| Beancount | Open-source plain-text accounting. You write transactions in .bean files. |
| Entry | One Beancount directive: a transaction, an open account, a balance assertion, and so on. |
| Account | A named bucket such as Assets:Bank:Checking or Expenses:Food. |
| Commodity | A currency or other unit, such as USD or TSLA. |
| Access token | A secret you create in Settings. Use it as the Git HTTPS password and as the API access-token header. |
How it relates to Beancount
Section titled “How it relates to Beancount”You need a little Beancount to use BeanHub well. You do not need the whole textbook.
A transaction is a date, a description, and two or more postings (account + amount). The amounts must sum to zero. That is double-entry bookkeeping.
2026-09-01 * "Coffee" Assets:Cash -4.50 USD Expenses:Food 4.50 USDThe first line is the date, a flag (* means cleared, ! means pending), and a narration. Each following line is a posting.
Account names start with one of Assets, Liabilities, Income, Expenses, or Equity. Colons make sub-accounts.
Two surprises for newcomers:
- Income is usually negative. Earning $50 cash is
Income:... -50 USDandAssets:... +50 USD. The income account is the source. The Academy explains why with diagrams. - BeanHub looks for a file named
main.beanat the root of the repository. That file is the entry point. It canincludeother files. A push that cannot loadmain.beanis rejected.
The sample book BeanHub generates already has main.bean, accounts.bean, commodities.bean, and books/. You can start there and never write Beancount by hand if you use import, forms, and the add transaction UI.
What BeanHub adds
Section titled “What BeanHub adds”- A website: journal, accounts, reports, file browser, commit history.
- Import from CSV using beanhub-import rules.
- Connect to banks through Plaid (paid plans).
- Inbox for forwarded invoices.
- Custom forms defined in YAML.
- An HTTP API.
- Automatic formatting of Beancount files after many website edits (beancount-black).
Two repository types
Section titled “Two repository types”When you click Create Repository, BeanHub asks which type you want.
| Type | Use it when |
|---|---|
| Git repository (recommended) | You want BeanHub to host the book. All features work. This is the right default. |
| Connect repository | You keep the Beancount files somewhere else (laptop, another Git host) and only want BeanHub to pull bank CSVs and receive inbox email. You then use beanhub-cli locally. |
This first round of docs focuses on Git repositories.
What this round does not cover
Section titled “What this round does not cover”- MCP (Model Context Protocol) for AI apps. It exists in account settings. These pages skip it.
- Exhaustive API reference. Use https://api.beanhub.io/redoc.
- Admin internals, Kubernetes, and workers.
Next: Quickstart.