Bookkeeping where the AI does the typing
Books is our own accounting app for a business owner and their accountant. Staff send receipts to a Telegram bot, an AI assistant reads each one and drafts the entry, reads bank statements and matches every line against the books. A person checks the draft and posts it. Nothing reaches the books without a human saying yes.
- a receipt to Telegram, and the entry is drafted for you
- Snap & senda receipt to Telegram, and the entry is drafted for you
- bank statement lines reconciled against the books
- Auto-matchedbank statement lines reconciled against the books
- the AI drafts; only a person can post to the books
- Never poststhe AI drafts; only a person can post to the books
- Claude, ChatGPT or any MCP-ready assistant
- Any AIClaude, ChatGPT or any MCP-ready assistant
The bookkeeping nobody gets round to
Small businesses lose receipts in drawers and chat groups, and the accountant rebuilds the month from bank statements at the end of it. Accounting software asks the busiest person in the business to type everything in. We wanted the opposite: send a photo from your phone, and have the books mostly written by the time anyone looks.
Before
The usual way
- Receipts pile up in WhatsApp groups and drawers
- Someone types every entry in by hand
- The bank statement is ticked off line by line at month end
- Mistakes turn up when the accountant closes the year
After
With Books
- Staff send the receipt to a Telegram bot, with a note if they like
- The AI reads it and drafts the entry with the right accounts
- Statement lines are matched automatically, and the gap is explained
- The owner or accountant reviews and posts in a click
From a photo to a posted entry
Every upload lands in an inbox. The AI works through it over MCP, writes a draft for each receipt and a note saying what it did, and leaves posting to a person.
Staff
Send a receipt
- Photo to Telegram
- Or upload on the web
- Optional note: “client lunch”
AI over MCP
Drafts the entry
- Reads the receipt
- Picks the accounts
- Names the supplier
- Writes what it did
Owner or accountant
Reviews and posts
- Check the draft
- Post in one click
- Or edit first
The bank statement, checked for you, with the gap explained
Give the AI a bank statement and it reads every line, then matches each one to the entry that records it. Books then compares the statement’s closing balance with the books and breaks any difference into plain reasons, like “on the statement, not in the books”, so there is always an answer to “why don’t these agree?”
Your AI assistant does the bookkeeping, with guardrails
Books has its own MCP server, the open standard AI assistants like Claude and ChatGPT use to connect to software. The assistant can read uploads, draft and edit entries, import statement lines, match them, and run the aging and reconciliation reports.
There is deliberately no tool that posts to the books. The AI can get everything ready, but the books only change when a person posts, and every action is recorded with who did it and how.
You ask your AI assistant
- Process the new receipts.
- Reconcile the August statement.
- Who still owes us money, and for how long?
Claude, ChatGPT or any MCP-ready assistant picks the tool, calls books and answers from what comes back, on a laptop or a phone.
Files and drafts
- list_filesnew receipts and statements
- get_fileread a receipt or statement
- create_draftdraft an entry, never post
- update_filerecord what was done
Bank and reports
- import_statement_lineslines read from a statement
- suggest_matchesentries that fit each line
- reconcile_statementexplain the difference
- aging_reportwho owes what, how long
Acts as you
Every change on record
Proper double-entry books underneath
The AI is the fast way in, but the books are the real thing: a chart of accounts, balanced entries, reports an accountant expects, and a year-end close.
Double-entry, always balanced
Reports and exports
Customers and suppliers
Recurring entries
Roles and year-end
No passwords
The pieces underneath
- Bun
- Hono
- HTMX
- SQLite
- TypeScript
- MCP
- Telegram bot
- Docker
One small container and one database file. Screenshots on this page use demo data.