How to drive it
Three habits make the difference between a good session and a slow one. Say the number, not the id. “Transaction 1183” means the check or reference number printed on the paper, not the database id in a URL. Claude searches the reference, payee, memo, amount, and date columns for it. If it claims it can’t see a field, that’s wrong — tell it to search by reference number. Name the entity in full. Complete vendor, customer, and account names resolve in one lookup instead of three. Verify in aggregate. Ask for the report or balance that proves the batch, not a row-by-row readback. “Show me AP aging for that vendor” beats “list all 24 bills.”Entering a folder of documents
Point Claude at the folder and let it sort before it parses. Sort by intent, not just file type — that’s what keeps garbage out of the ledger:- Vendor bill — goes through the bill pipeline.
- Contract, SOV, or draw schedule — goes through as a contract.
- Check image — parsed to match against open bills.
- Receipt — not a bill. It’s evidence to match against a card charge.
- Bank or credit-card statement — not a bill. It’s a reconciliation document. See Reconciling with Zeno.
The review gate
The entry is blocked when any of these is true:- The server’s parse confidence is below its threshold.
- The server reports a validation error.
- Claude’s reading of the amount, vendor, or date disagrees with the server’s.
What the server does enforce: a bill committed through the operator must carry the document it came from. That check sits on the write itself and is keyed to the connection, so no tool path — including the general-purpose one — can type a bill in from memory. Every bill in your books has its source attached.
What to expect on a big batch
- A stacked PDF — several invoices scanned as one file — is detected and split before parsing, not entered as one oversized bill.
- Duplicates are caught by the server’s own check. Claude reports the match rather than forcing past it; overriding is a deliberate step it has to name.
- Cost-center scope — project, property, or unit — is worth stating up front for the whole batch. “These are all Ashbury Residences” saves it asking twenty-four times.
Categorizing a backlog
Ask for the account and the window: “Categorize everything uncategorized in Operating Checking for March.” Claude finds the lines, applies your org’s rules where they match, and proposes the rest in batches grouped by pattern, so you can review a hundred lines without reading a hundred rows. Approve a group and it applies them together. Two things to know:- Rules beat judgment. A pattern that’s always the same vendor and GL account belongs in a rule, where it fires at ingest for free. If Claude keeps proposing the same mapping, ask it to write a rule instead. See Rules.
- Amount signs follow the register. Deposits are positive and withdrawals negative on a bank account; credit cards invert, so charges are positive and payments negative. Claude follows this, and it’s the first thing to check if a number lands backwards.
Importing transactions
For history that isn’t in Zeno yet — an account you’re onboarding, a gap in a feed — hand Claude the file. CSV, QFX, OFX, and PDF statements all work. It uploads the file, then previews before it enters anything. The preview reports how many rows are new, how many are duplicates of transactions already in the ledger, the date range covered, and a sample of the duplicates it found. Read that before approving. On approval it stages the rows. Where they land depends on the account:- An account with a live feed puts them in the bank-feed review queue, the same place the daily sync lands, so they get categorized the normal way.
- A register-mode account gets ledger stubs directly.
Attaching evidence
Two separate paths, depending on what the evidence is: Receipts to card charges. Zeno matches on vendor, amount, date, and card last-4. Claude can work the unmatched pile, propose matches with the reasons behind each, and confirm the ones you accept. Unmatching is one call if a match turns out wrong. Documents to bank-feed items. A check scan, a remittance, or an invoice can be linked to the feed item it explains. Claude pulls the match suggestions for a session, and links the item to one register row — or, for a batch deposit, to several rows at once, moving them through Undeposited Funds and posting the bank-side deposit that sums them. Say which case you’re in. “Match the check scans in this folder to the deposits in Operating Checking for February” is a different job from “attach these receipts to the card charges.”Playbooks
Saved Skills capture recurring procedures such as/month-end-close and /record-remittance. Your AI searches their short descriptions and loads the matching instructions when needed. Clients that support MCP prompts also show active Skills as slash-commands.
When you work through a recurring task together, ask your AI to save it as a Skill. Every user can save a personal draft or propose a team Skill. Review it on the Skills page; personal Skills are activated by their owner and team Skills by a work-area manager. See creating Skills.
The work log
After each unit of work, Claude appends a dated entry: what it did and why. The register and the audit log show the raw changes; the work log explains them, which is what a bookkeeper or auditor actually needs weeks later. It logs as it goes rather than at the end, so an interrupted session still leaves a record. You can read the log back at any time — ask for it by topic or date.Where to go next
- Reconciling with Zeno — statements, matching, and closing a period.
- Books — the surfaces this work lands in.
- Reports — what to pull to verify a batch.