Books you keep by talking

Say it.
It's on the record.

An invoice, a payment, a card statement. Say what happened and it's in your books, checked against rules that refuse a guess. In the cloud with Claude, or entirely on your Mac.

The demo gives you private example books to poke at. Free, open source, and your books export any day.

saybooks.io/app
Saybooks in the browser: the personal finances overview of the demo books
Saybooks on iPhone: spending this month, money owed, rows to review and subscriptions
Saybooks on iPhone: the model asks to add a new customer, with Decline and Allow
REFUSEDOnly a draft can be edited; INV-0001 is issued.
Where your books live

Two homes for the same books

Same books, same rules, same record. The only question is where they sit, and you can change your mind later.

saybooks.io · in the cloud

With the assistant you already use

Add Saybooks to Claude as a connector and talk. Your books live on saybooks.io, and you can open them in any browser.

  • Nothing to install. Sign in with Google and start.
  • Works with Claude, and with any assistant that speaks MCP.
  • Invite your bookkeeper or a partner, each with their own role.
  • Free. There is no paid plan yet.
Saybooks for Mac and iPhone

On your Mac, and nowhere else

The books, your documents and the model that reads them all stay on your Mac. Your iPhone asks from anywhere.

  • A model runs on the Mac itself. What you type never reaches an AI company.
  • Ask questions, see your spending and invoices, and snap receipts from your iPhone.
  • Phone and Mac talk through your own iCloud, sealed. Apple carries it and cannot open it.
  • Nothing changes in your books until you tap Allow.
Get it for Mac iPhone app: coming to the App Store Needs a Mac with Apple silicon. Free while it is new.
Move any time, either way. Export your books as one file and bring it in on the other side. The history and the audit trail come along.
Saybooks for iPhone

Your books in your pocket, your Mac doing the work

Pair your iPhone with the Mac once, by scanning a code. Then ask a question from anywhere, see where the money went, open an invoice's PDF, or photograph a receipt. When the model wants to change something, the phone asks you first.

  • Sealed end to end. Messages travel through your own iCloud account. Apple carries them and cannot open them.
  • Your Mac stays in charge. The model and the books never leave it; the phone shows what the Mac sends.
  • Nothing changes until you allow it. Every change waits for your Allow, with the numbers in words.
See Saybooks for Mac and iPhoneComing to the App Store
Saybooks on iPhone: September transactions, three waiting for review
Saybooks on iPhone: invoices owed, oldest first, one overdue
What keeps the books right

Helpful is not the same as right

Most AI tools fill a gap with a guess and call it done. Here the rules live in the books, not in the prompt, so they hold whichever model is talking.

This is a real exchange. The invoice went out; the change to it was refused, and the model said so instead of pretending.

Replayed from a real runVega Consulting
Invoice Meridian Logistics for 12 hours of consulting at $250 an hour, due in 30 days, and issue it.
solo_draft_invoice Meridian · 12 × $250.00 · net 30 oksolo_issue_invoice INV-0001 · $3,000.00 ok
ClaudeIssued. INV-0001, $3,000.00, due 23 October. The link and the PDF are on the invoice.
Change the total on that invoice to $2,000.
solo_update_draft INV-0001 · 8 × $250.00REFUSEDOnly a draft can be edited; INV-0001 is issued. Mistakes on an issued invoice are void-and-reissue.
ClaudeI can't change an issued invoice. If the amount is wrong, I can void INV-0001 with a reason and issue a corrected one. Shall I?
7 acts on the record, 1 refused, 0 invented. Every one with who and why.

Every line came from the system, refusal included. Read a full session

09:41Claudeconfirm order SO-0007
09:41REFUSEDCredit check failed for Contoso. Order $6,200.00; available $4,800.00.
09:52Samraise credit limit · "12 months on time"
09:53Claudeconfirm order SO-0007 · same rule, new facts

It gets told no

Every rule applies to the agent exactly as it applies to you. A refusal is one plain sentence with the numbers in it. Nobody talks their way around it; somebody changes the facts.

14:10Samrecord payment $1,500.00 · "bank feed, no remittance yet"
16:02Claudeapply payment to INV-0041 · "AP clerk confirmed by phone"
16:02Claudeupdate draft INV-0041 · refused
16:05Samexport everything · JSON, 9 tables

Every act on the record

Who did it, a person or an agent, what, when, and why. Refusals sit next to the acts that went through. Read the whole history, export all of it, or delete everything.

Staged rows · Phoenix list · 38 qualified of 303
Claudejudged 303 rows, a reason on every one
Promote to accountsA person's act, never an agent's
Peterpromoted 38 · the verdict became each account's why

Some acts are yours alone

An agent can judge every row of a bought list. Only a person promotes one into the real list, sets what a campaign may claim, or marks a message as sent.

Claudeissue INV-0002 · $412.50 issued
Petervoid INV-0002 · "carries a PO nobody gave" void
Claudeissue INV-0003 · $412.50, no PO issued
INV-0002 stays on the record, burned.

Issued means issued

An issued invoice never changes; a mistake is a void with a reason and a fresh number. Statements land whole or not at all, reconciled to the printed balances. Receipts must add up to their own lines.

Start here

Six things people actually say

Say the sentence, or click the button. It is the same act either way.

Also in the box

The parts you notice later

Receipts that add upA receipt's lines must sum to its total, so a digit misread in a photo is read again, never stored.
Statements wholeRows reconcile to the printed opening and closing balance, or the import is refused with the gap named.
QuickBooks and XeroJournal lines mapped to your accountant's chart. Every hand-over keeps its totals and the exact file.
Drafts you sendThe agent writes, you send from your own mailbox. Nothing here can send anything.
You approve changesOn the Mac, every change can wait for your Allow, on the screen or on your phone.
An inbox folderDrop a statement into a folder on your Mac and a card offers to import it.
The rules, publishedEvery area has a written spec, replayed on every build. Read them.
Export and deleteEverything as one file, audit log included, any day. One button deletes a space for good.
Questions

Asked before people start

Anything else: hello@saybooks.io reaches the person who builds it.

Which one should I use, saybooks.io or the Mac app?

If you already use Claude and are fine with your books on a server, saybooks.io: nothing to install, add it as a connector and talk. If your books should never sit in someone else's cloud, the Mac app: the books, your documents and the model all stay on your Mac. Both keep the same books under the same rules.

Can I move my books from one to the other?

Yes, either way. Export your books as one file, then bring that file into empty books on the other side. The history and the audit trail come along.

Do I need a Claude subscription?

For saybooks.io, a Claude plan that allows connectors is the easiest way in; anything that speaks MCP works too, and the web app needs no AI at all. The Mac app needs no subscription: the model runs on the Mac.

Is it accounting software?

No. It keeps the operational record: invoices, receivables, orders, pipeline, reviewed spending. Your accountant's ledger stays where it is; Saybooks hands over balanced journal lines as a QuickBooks Online or Xero import file.

What does it cost?

Nothing today. saybooks.io is free and there is no paid plan yet; when there is, prices change with twelve months' notice. The Mac app is free while it is new and will become a paid app later. Export works on every version, so your books never depend on a price.

What happens to my books if Saybooks disappears?

Export takes everything, in JSON, audit log included, any day. The code is public under the AGPL and runs on a laptop.

For builders

One definition, both surfaces

Every business act is declared once. From it Saybooks derives the tool the agent sees over MCP, the form a person sees, the rule that can refuse either, and the audit row. The two cannot drift; a contract test fails the build if they do.

144commands, each declared once
8modules, every one spec-first
102invariants, written down and executed
38scenarios replayed on every build
23contract gates a module must pass

Say it. It's on the record.

Free, open source, and yours to export any day. Start in the browser, or keep it all on your Mac.