Importing your bank statements
Any bank, any format
Drop in a statement from your bank or card as a PDF, CSV or XLS. If dbu6 can't read a layout yet, your coding agent teaches it.
Categorized for you, reviewed by you
Your rules sort what they know; your coding agent sorts the rest, on your machine. You see each transaction beside its category, fix what's wrong, and turn a fix into a rule.
Real books, checked
Every transaction is a balanced double entry. Each statement's balances are checked against your books, and one that doesn't match is held back. A balance sheet, net worth over time and a trial balance come with it.
Your books are one SQLite database in a folder you own. No cloud.
Install
dbu6 needs Node.js 22.18 or newer, uv and poppler's pdftotext to read statements. git and a coding agent are optional.
Then make a folder for your books and serve it:
Try it with sample data
With dbu6 dev running, load a year of sample finances, with the current month left for you to review:
Sign in as demo@example.com with demo-password.
Setting up your books
With dbu6 dev running, open localhost:2345 and sign up. Home shows the next thing to do, one at a time:
- Pick a chart of accounts. Start from dbu6's starter chart, or describe your money in a sentence and your coding agent proposes accounts that fit.
- Add a bank or card. Name it and the account its statements belong to.
- Import a recent statement for it. This is where your books start: dbu6 takes the account's starting balance from it.
- Add your opening balances (optional). What your cash, investments and loans held on that day, so the balance sheet is right from the start.
- Review, and add it to your books. Fix any categories, check for duplicates and balances, then add it. Nothing reaches your books before this.
If something is missing, npx dbu6 check says what. Getting started has each step in full.
Coding agents
Claude Code, Codex or Pi categorizes what your rules don't, proposes a chart of accounts, and teaches dbu6 statement layouts it can't read yet. Without one, imports still work and your rules do the categorizing.
Install the Sapporta skill once, for the agents on this machine:
After you sign up, give the agent access to your books, and check it:
The token for your account goes in .env.agent; never commit it. With more than one account, add --user you@example.com.
Every day
Your books are data/: one SQLite database. dbu6 keeps no other copy and makes no backup — stop it and copy that folder. Your rules and prompts sit beside it in user-config/, which belongs in git.
More screenshots
Documentation
- Getting started — install, the first run, the setup steps, everyday commands, backups.
- Your books — the folder, its accounts and journal entries, and what is yours to change.
- Importing statements — formats, layouts dbu6 cannot read yet, transactions not in a statement, balance checks.
- Categorization — your rules, and the coding agent that handles the rest.
- Reports — the reports that ship, reports of your own, and the hledger export.
- DBU6-BOOKS.md — the guide a coding agent reads, and the commands it runs.
- Deployment — running your books on a server.
- Development — working on dbu6 itself.







