AI match suggestions
Most bank lines match themselves: auto-match pairs a line with the only entry of its amount nearby, and the Banking page offers Record payment when a deposit is clearly an invoice's payment. Some lines the rules cannot decide on amounts alone: two invoices of the same amount from different customers, a deposit that pays part of an invoice whose memo names the customer only in short ("JOHNSN T"), a card processor's payout where two groups of invoices fit, a transfer with two possible other sides. For those, Evenbead's own model suggests the match, and you accept or reject it. (Business plan and up. Dated 2026-10-18; ADR-0203.)
What you see
On a bank account's page (above its lines) and in an open reconciliation of that account, a Match suggestions panel lists one card per line:
- What accepting it records, for example "Pays INV-1042 from Belmont Property Group" or "A transfer of $2,500.00 from Business Checking to Tax Reserve Savings".
- Evidence, read from your books (not from the model): the bank's memo exactly as received, the amount and date, the invoices, bills, payments, entry or other line it would match with their amounts, dates and links, any processing fee, how many days apart they are, which model suggested it, and why it waits.
- The model's note: one sentence on why it fits and what to check. Evenbead checks every amount, date and document number in it against the facts the model was given; a note that cites anything else is replaced by Evenbead's own note from the facts, marked as such.
- A confidence, such as "91%", labelled Model probability, not calibrated: the model's probability for this option among the ones it was shown. It has only been measured on a small synthetic set, so treat it as a ranking, not a promise.
- Accept records the match (exactly as if you had matched the line yourself). Reject sends the line back to the unmatched lines with your reason (optional), and the model will not suggest that match again. Details opens the proposal.
Accepting needs the approve scope. An accountant firm sees "match suggestions wait for a person" on its client list.
How it works, and what it never does
- The model chooses; it never composes. Evenbead builds the options from your books (each already adds up to the cent) and asks the model to answer with one letter, or "none of these". It never writes an amount, a document, an account or a date. "None of these" leaves the line for you, as before.
- It runs on Evenbead's own hardware. The same model as the categorizer (official Qwen3.5-9B), on our GPU machine. Nothing about your books goes to an outside AI company. If the model is down or slow, there are simply no suggestions; reconciling works as always.
- It never finishes, undoes or adjusts a reconciliation, and never writes a plug entry. The database refuses those from Evenbead's model, whatever the account's "let agents finish" setting says.
- It never decides. Every suggestion is a proposal; a person accepts or rejects it. The model cannot approve its own suggestion or change its own settings.
Letting some matches post on their own (off by default)
In Settings, AI agents, What posts without a person, the owner or CPA (or your accountant with Manage agents) can let Evenbead's categorizer post its own codings within an amount and a confidence, and tick Its match suggestions too. With both on, a suggestion that matches a line to an entry already in your books, or pairs both sides of a transfer, posts on its own when it is within those limits; the proposal says which rule let it. Matches that record payments of invoices or bills, or a deposit, always wait for you. Turning the setting on asks you to confirm it's you; every change is in the audit log.
For agents and the API
GET /v1/match-suggestions?bank_account_id=…(MCPlist_match_suggestions): the suggestions waiting, with the evidence, the note, the confidence and its calibration label, and why each waits.- Accept:
POST /v1/proposals/{id}/approve. Reject:POST /v1/proposals/{id}/rejectwith areason. GETandPOST /v1/company/model-autoposttakematches(people only).- Running it on a deployment:
bun run match-assistwith the built-in categorizer's key and the categorizer's model settings (EVENBEAD_CATEGORIZER_URL, local endpoints only).bun run match-evalmeasures it on the synthetic set.