Skip to content

Create a book

A book is a Git repository on BeanHub. Names are 1–32 characters: lowercase a-z, 0-9, -, _.

Open My Repositories and click Create Repository.

Choose Git Repository or Connect Repository.

This is the path for almost everyone.

  1. Choose Git Repository (Recommended).
  2. Name the book.
  3. Template Sample.
  4. Visibility Private or Public.
  5. Create.
Create Git Repository form with Sample template selected.

The sample is generated from beanhub-beancount-cookiecutter. It includes:

  • main.bean with include of accounts, commodities, and yearly books
  • .beanhub/imports.yaml with example Mercury CSV rules
  • .beanhub/forms.yaml with a sample hours form
  • A README that walks upload-import and forms

Use it to click through Import and Forms without designing a chart of accounts first.

Choose Empty if you already have Beancount files, or you want to write main.bean yourself.

Until the first push, the home page is an Empty repository panel. It tells you to:

Terminal window
git clone https://app.beanhub.io/repos/USERNAME/REPO.git

Copy your Beancount files into the folder. The main file must be named main.bean. Then:

Terminal window
git add .
git commit -m "Initial book"
git push origin master

You need an access token with Git write. See Git over HTTPS.

If you want the sample tree without using the website template:

Terminal window
pip install cookiecutter
cookiecutter gh:LaunchPlatform/beanhub-beancount-cookiecutter

It asks for project_slug, username, and year. Create an Empty Git repository on BeanHub, add the generated folder as the remote, and push. Same main.bean rule as above.

Choose Connect Repository only if you will not host the Beancount files on BeanHub. You still get:

  • Plaid bank connections (paid)
  • CSV dump via bh connect dump
  • Inbox email

You do not get Journal, reports, or in-browser edit. The academy walkthrough is Pull CSV with Direct Connect.

You can deactivate a book later in Settings to free a quota slot without deleting data. Delete is irreversible. Confirm by typing the repository name.