Saybooks is a set of books Claude keeps for a small business. You add it to the Claude app as a connector, and from then on you say what happened: the vendor's invoice came, the delivery was two boxes short, here is October's bank statement. Claude calls the same commands the buttons in the web app call, under the same rules, and every act lands in one audit log with who did it and why.
If you searched for AI bookkeeping and wondered what that means in practice, this is what it does in my books, and where it stops.
Buying. "Order 60 type B widgets from Pacific Widget Works at $48 each, plus their freight" becomes a purchase order at the vendor's price. When the delivery comes, Claude records what was counted and the packing slip number. Receiving more than is still open on a line is refused with the numbers. The vendor's bill is checked line by line against what was ordered and received, and a bill that doesn't match can be recorded but not approved for payment.
Stock. Each delivery moves the item's average cost, and goods leave at the average of that moment, so every sale has a cost and a margin. "I counted 345 gaskets, three were damaged in the move" posts the difference to its own account, so shrinkage doesn't hide in the cost of sales.
The bank. Claude puts a statement against the books and names every difference: a check that hasn't cleared, a deposit nobody has tied to a payment yet. It suggests which deposit pays which invoices, by amount, date and name, and the amounts have to add up exactly. A difference nothing explains is shown, never absorbed.
Sales tax. The return for a month or a quarter comes from the invoices as they were issued, with the tax they actually charged. Nothing is recomputed.
The month end. A checklist of what blocks a close and what is merely open, and adjusting entries said with the figures and a reason.
Then there are five things Claude can't do in these books, whatever role its key has:
- Approve paying a bill.
- Loosen the price tolerance on a three-way match.
- Sign off a bank reconciliation.
- Record a sales tax filing.
- Close the month.
Each one is refused to any agent, and the refusal goes into the same audit log as everything that succeeded. These aren't lines in a prompt that a model might skip. They're part of each command, so a different model, or a smaller one on a laptop, hits the same wall. Claude prepares all five; a person does them.
A refusal reads like this, word for word from the books: "Credit check failed for Contoso Ltd. Order $2,500.00; available $1,000.00 (limit $1,000.00 less open AR $0.00 and committed $0.00). Short by $1,500.00." Claude relays it and asks what to do. It doesn't split the order to get under the limit, and it doesn't raise the limit, because raising a limit is its own logged act by someone allowed to.
Two more boundaries, on purpose. Saybooks never moves money: it doesn't pay bills, charge cards or email customers. You pay from your bank and Claude records the payment once the statement shows it. And it doesn't replace QuickBooks or Xero. It hands a period over to your accountant's ledger as a Xero manual journal, QuickBooks journal entries or a CSV, mapped to their chart of accounts, and nothing is posted into their system over an API.
You can try all of this without an account in the demo, a live sandbox with a made-up company in it. The setup is in the docs, and the code is on GitHub under the AGPL.
More: all five process demos.