The bank line benchmark for real company books
136 AI setups from 19 models and the Cybooks Brain, tested on real bank lines from ten businesses in Cyprus.
- 19 models
- 136 setups
- 2,000 bank lines
- 10 businesses
- 1,000 fresh lines re-checked
We ran 19 models in 136 setups, each as a single call and as an agent that can read the business’s earlier bookings and search the web, and asked each one question: which account does this bank line belong to?
- Frontier
- Other models
- Open-weight
19 models shown
| Model | Reasoning level | Provider | Licence | Lines right | Cost per 1,000 lines | On the frontier |
|---|---|---|---|---|---|---|
| gpt-oss-120b | medium | OpenAI | Open-weight | 54.4% | $0.58 | Yes |
| GPT-6 Luna | xhigh | OpenAI | Closed | 64.4% | $0.59 | Yes |
| DeepSeek V4 Flash 0731 | low | DeepSeek | Open-weight | 64.6% | $0.94 | Yes |
| GLM-5.3 Flash | max | Z.ai | Open-weight | 64.2% | $1.52 | No |
| Nemotron 3.5 Super VL 120B | low | NVIDIA | Open-weight | 62.6% | $1.95 | No |
| Claude Haiku 5.5 | max | Anthropic | Closed | 66.8% | $2.15 | Yes |
| DeepSeek V4.1 Flash | low | DeepSeek | Open-weight | 63.8% | $3.18 | No |
| Beam 1.0 | default | Reflection | Open-weight | 53.8% | $5.02 | No |
| Nemotron 3 Ultra 550B | on | NVIDIA | Open-weight | 44.2% | $5.50 | No |
| GPT-5.4 mini | medium | OpenAI | Closed | 62.6% | $5.87 | No |
| GPT-6.1 Terra | high | OpenAI | Closed | 70.2% | $5.99 | Yes |
| GLM-5.2 | on | Z.ai | Open-weight | 64.0% | $8.82 | No |
| GPT-6.1 Sol | xhigh | OpenAI | Closed | 70.8% | $10.33 | Yes |
| DeepSeek V4 Pro 0813 | none | DeepSeek | Open-weight | 64.2% | $12.09 | No |
| Claude Sonnet 5.5 | xhigh | Anthropic | Closed | 66.4% | $13.62 | No |
| GLM-5.3 | max | Z.ai | Open-weight | 62.8% | $14.17 | No |
| Muse Spark (open) | default | Meta | Open-weight | 53.4% | $17.95 | No |
| Kimi K3 | max | Moonshot AI | Open-weight | 62.2% | $24.27 | No |
| Claude Opus 5.5 | max | Anthropic | Closed | 68.6% | $54.31 | No |
The violet line is the frontier: the models nothing shown beats on both. Shaded zones split them at the medians; the axis starts at 40%.
Data: Cybooks bank line benchmark, 500 screening lines, November 2026
Leaderboard
Dashed line in each bar: the mean of all 68 agent setups, 61.0%.
| # | Model | Provider | Licence | ||||
|---|---|---|---|---|---|---|---|
| 1 | GPT-6.1 Solxhigh · On the frontier, against cost | 70.8%, 95% interval 66.7 to 74.6 | OpenAI | Closed | $10.33 | 8.4 s | 5,651 |
| 2 | GPT-6.1 Terrahigh · On the frontier, against cost | 70.2%, 95% interval 66.0 to 74.0 | OpenAI | Closed | $5.99 | 6.2 s | 5,920 |
| 3 | Claude Opus 5.5max | 68.6%, 95% interval 64.4 to 72.5 | Anthropic | Closed | $54.31 | Not measured (batch run) | 17,453 |
| 4 | Claude Haiku 5.5max · On the frontier, against cost | 66.8%, 95% interval 62.6 to 70.8 | Anthropic | Closed | $2.15 | Not measured (batch run) | 21,572 |
| 5 | Claude Sonnet 5.5xhigh | 66.4%, 95% interval 62.1 to 70.4 | Anthropic | Closed | $13.62 | Not measured (batch run) | 10,804 |
| 6 | DeepSeek V4 Flash 0731low · On the frontier, against cost | 64.6%, 95% interval 60.3 to 68.7 | DeepSeek | Open-weight | $0.94 | 8.9 s | 6,736 |
| 7 | GPT-6 Lunaxhigh · On the frontier, against cost | 64.4%, 95% interval 60.1 to 68.5 | OpenAI | Closed | $0.59 | 8.4 s | 5,251 |
| 8 | GLM-5.3 Flashmax | 64.2%, 95% interval 59.9 to 68.3 | Z.ai | Open-weight | $1.52 | 31.7 s | 7,827 |
| 8 | DeepSeek V4 Pro 0813none | 64.2%, 95% interval 59.9 to 68.3 | DeepSeek | Open-weight | $12.09 | 11.4 s | 8,548 |
| 10 | GLM-5.2on | 64.0%, 95% interval 59.7 to 68.1 | Z.ai | Open-weight | $8.82 | 63.9 s | 5,391 |
| 11 | DeepSeek V4.1 Flashlow | 63.8%, 95% interval 59.5 to 67.9 | DeepSeek | Open-weight | $3.18 | 10.2 s | 7,884 |
| 12 | GLM-5.3max | 62.8%, 95% interval 58.5 to 66.9 | Z.ai | Open-weight | $14.17 | 19.8 s | 7,463 |
| 13 | Nemotron 3.5 Super VL 120Blow | 62.6%, 95% interval 58.3 to 66.7 | NVIDIA | Open-weight | $1.95 | 10.1 s | 7,822 |
| 13 | GPT-5.4 minimedium | 62.6%, 95% interval 58.3 to 66.7 | OpenAI | Closed | $5.87 | 5.4 s | 5,196 |
| 15 | Kimi K3max | 62.2%, 95% interval 57.9 to 66.3 | Moonshot AI | Open-weight | $24.27 | 14.3 s | 5,989 |
| 16 | gpt-oss-120bmedium · On the frontier, against cost | 54.4%, 95% interval 50.0 to 58.7 | OpenAI | Open-weight | $0.58 | 10.1 s | 4,202 |
| 17 | Beam 1.0default | 53.8%, 95% interval 49.4 to 58.1 | Reflection | Open-weight | $5.02 | 11.3 s | 10,110 |
| 18 | Muse Spark (open)default | 53.4%, 95% interval 49.0 to 57.7 | Meta | Open-weight | $17.95 | 11.8 s | 11,371 |
| 19 | Nemotron 3 Ultra 550Bon | 44.2%, 95% interval 39.9 to 48.6 | NVIDIA | Open-weight | $5.50 | 12.0 s | 7,777 |
The booked account is on the 120-account list for 481 of 500 lines, so 96.2% is the ceiling for every setup.
Top per model: each model’s most accurate setup, the cheaper one on a tie. Seconds per line are n/a for Anthropic’s batch runs, which record no time.
These are the findings, on the 500 screening lines unless they say otherwise.
Key takeaways
History decides. When the business had booked the label account before, the top agent was right on 87.0% of lines; when it had not, on 39.1%. On the held-out lines the Cybooks Brain’s agent step: 90.0% against 41.7%.
An agent beats a single call. Agents average 61.0% over all 68 agent setups, single calls 50.7%. The top agent is 12.8 points above the top single call, and the tools lift 15 of 19 models significantly.
The top two cannot be told apart. GPT‑6.1 Sol (xhigh) at 70.8% and GPT‑6.1 Terra (high) at 70.2%: p = 0.63. On the held-out lines, 73.5% and 73.2%: p = 0.64.
Accuracy differs by points, cost by multiples. GPT‑6.1 Terra (high) costs $5.99 per 1,000 lines and Claude Opus 5.5 (max) $54.31: about 9 times more for 1.6 points less.
Web search adds about one point. The Terra agent was right on 70.4% with web search and 69.2% without, over two runs each: within the noise.
Money in is harder. The top agent is right on 72.3% of money-out lines and 58.5% of money-in lines. A money-in line can be a customer receipt, owner funding, a loan or a refund, and the descriptor often does not say which.
On 1,500 unseen lines the Cybooks Brain was right on 72.6%, with no significant difference from the strongest agent
Without imported past books, the Cybooks Brain shows no significant difference from the strongest agent, and costs less. It did not meet the bar we set before the run.
- Brain, agent onlyGPT-6.1 Terra (high), no web search73.5%, cost $6.28 per 1,000 lines, 95% interval 71.2 to 75.7, 19 lines with no answer
- Sol agentwith web search73.5%, cost $11.19 per 1,000 lines, 95% interval 71.2 to 75.7, 19 lines with no answer
- Brain, people rule offwithout the people rule73.2%, cost $4.45 per 1,000 lines, 95% interval 70.9 to 75.4, 18 lines with no answer
- Terra agentwith web search73.2%, cost $7.98 per 1,000 lines, 95% interval 70.9 to 75.4, 12 lines with no answer
- Cybooks Brainas configured in Cybooks, people rule on72.6%, cost $4.28 per 1,000 lines, 95% interval 70.3 to 74.8, 41 lines with no answer
- Luna agentwith web search68.9%, cost $1.67 per 1,000 lines, 95% interval 66.5 to 71.2, 44 lines with no answer
- Opus single callno tools, Batch API price58.1%, cost $17.50 per 1,000 lines, 95% interval 55.6 to 60.5, 6 lines with no answer
- Brain, memory onlyno AI call37.5%, cost $0.00 per 1,000 lines, 95% interval 35.1 to 40.0, 846 lines with no answer
Whiskers: Wilson 95% intervals. Cybooks Brain and its agent step make no web search; the LLM agents’ cost includes theirs. People rule: lines paid to people are never sent to the AI, as configured in Cybooks.
Data: Cybooks bank line benchmark, 1,500 held-out lines, November 2026
No significant difference. As configured in Cybooks, the Cybooks Brain is right on 72.6%, the strongest agent alone on 73.5%: -0.93 points, with a bootstrap 95% interval of -2.20 to +0.33 (McNemar p = 0.18).
Cheaper. $4.28 per 1,000 lines, against $11.19 for the Sol agent, $7.98 for the Terra agent and $6.28 for its own agent step alone. Its memory step fills in 26.8% of lines with no AI call: 268 agent calls saved per 1,000 lines.
The price of one rule. As configured in Cybooks, lines paid to people are never sent to the AI. That puts the Brain -0.93 points against its own agent step alone (McNemar p = 5.2e-04), and saves $2.00 per 1,000 lines: the agent is called on 1,069 of the 1,500 lines.
Not shown non-inferior. The bar set before the run: paired difference: bootstrap lower bound at least -1 point. It was written for the version without that rule, which is right on 73.2%: -0.33 points, with an interval that reaches -1.60, so the Brain did not meet it. As configured, the interval reaches -2.20: it misses the same bar.
The 1,500 held-out lines shaped the paper, so every system ran once more on 1,000 new lines from the same ten businesses: lines no system had seen, picked by a rule fixed before any run.
- Cybooks Brain71.1%, on the held-out lines 72.6%, 95% interval 70.3 to 74.8; over all fresh lines as drawn 72.2%
- Brain, people rule off72.3%, on the held-out lines 73.2%, 95% interval 70.9 to 75.4; over all fresh lines as drawn 73.6%
- Brain, agent only71.8%, on the held-out lines 73.5%, 95% interval 71.2 to 75.7; over all fresh lines as drawn 73.3%
- Terra agentwith web search71.1%, on the held-out lines 73.2%, 95% interval 70.9 to 75.4; over all fresh lines as drawn 73.0%
- Sol agentwith web search71.9%, on the held-out lines 73.5%, 95% interval 71.2 to 75.7; over all fresh lines as drawn 72.9%
- Luna agentwith web search67.5%, on the held-out lines 68.9%, 95% interval 66.5 to 71.2; over all fresh lines as drawn 69.8%
- Opus single callno tools, Batch API price59.2%, on the held-out lines 58.1%, 95% interval 55.6 to 60.5; over all fresh lines as drawn 59.4%
- Brain, memory only39.0%, on the held-out lines 37.5%, 95% interval 35.1 to 40.0; over all fresh lines as drawn 42.1%
Whiskers: each system’s Wilson 95% interval on the 1,500 held-out lines. A bar that ends inside its whisker landed inside that interval. People rule: lines paid to people are never sent to the AI, as configured in Cybooks.
Data: Cybooks bank line benchmark, 1,000 fresh lines, November 2026
Equal weight per business. The fresh draw holds 29 to 126 lines per business, the held-out set 150 each, so the chart weighs every business the same. Over all fresh lines as drawn, the Cybooks Brain is right on 72.2% and its agent step alone on 73.3%.
The same rule, about one point. On the fresh lines the Cybooks Brain is -1.1 points against its own agent step alone as drawn (p = 0.03) and -0.7 at equal weight, which is not significant.
The memory step. It filled in 30.9% of the fresh lines with no AI call, and 96.1% of those were right. On the held-out lines: 94.5%. Read together, about 95%.
What did not hold. Of 15 claims written down before the fresh run, 9 held on both readings, 4 on one reading and 2 did not hold. One research variant, the same design with the Terra agent and web search, landed just outside its interval: 70.1% against 70.4 to 74.9.
On one company’s past books, the same AI agent was right on 27.0% without the company’s history and 94.8% with it. The Cybooks Brain’s memory step would have been right on 96.9%, with no AI call.
A test on the company’s past books: one company, line texts from its books, account only. The memory step is not yet switched on for customers, so nothing was filled in for the company. A sample of 3,004 of its 6,487 test lines, fixed before the run; the AI setups without history picked from the company’s own 29 accounts. The agent with history is the benchmark’s agent with web search, reading every January to March line of the books; the agent configured in Cybooks does not read imported rows, so its figure here would likely be lower.
Share right of the 1,886 sample lines a bank payment can be booked to.
- AI agent without historyGPT-6.1 Terra27.0%
- AI single call without historyGPT-6 Luna31.3%
- The same AI agent with historyGPT-6.1 Terra94.8%
- Cybooks Brain with three months of historymemory step, no AI call96.9%
On profit-and-loss lines alone, the agent without history is right on 36.5% and Cybooks Brain with history on 98.4%.
Data: Cybooks bank line benchmark, one company’s 1,886 sample lines, November 2026
Across ten young businesses the Cybooks Brain, as configured in Cybooks, is right on 72.6% of the held-out lines, and on 82.0% of the lines of mature ones (businesses with at least three months of bookings by a person and at least 200 earlier bookings). On one company with three months of history, its memory step alone would have been right on 96.9% of the lines a bank payment can be booked to.
Dataset 1: ten businesses, agent included
- Step 1Ten businesses, all held-out lines1,500 lines · Cybooks Brain72.6%
- Step 2Ten businesses, the mature slice of those lines523 lines · Cybooks Brain82.0%
Dataset 2: one company, no agent, a test on past books
- Step 3One company, lines a bank payment can be booked to4,093 lines · Memory step only96.9%
- Step 3One company, all lines6,487 lines · Memory step only61.2%
The lighter bar counts all 6,487 lines, 2,394 of them on receivables, payables or VAT, which no bank payment is booked to.
Data: Cybooks bank line benchmark, 1,500 held-out lines and one company’s 6,487 test lines, November 2026
The steps are not one controlled experiment. The e-commerce brand is a different dataset: another company, labels from its previous system’s ledger and its own mix of accounts. Steps 1 and 2 include the agent and step 3 does not, and step 3 is a test on past books. They point the same way, but cannot say how much of the rise comes from knowing the business.
On the same company’s April to June 2026 lines, scored on every ledger line: right on 92.2% after one month of history, 94.5% after two and 95.1% after three.
- After 1 monthJanuary92.2%right overallFilled in 87.3%, 99.8% of those right. History: 3,274 lines.
- After 2 monthsJanuary and February94.5%right overallFilled in 91.0%, 99.7% of those right. History: 5,849 lines.
- After 3 monthsJanuary to March95.1%right overallFilled in 92.2%, 99.6% of those right. History: 8,463 lines.
Reference reading: every ledger line learned and every account allowed, which is not what Cybooks does.
Data: Cybooks bank line benchmark, one company’s 6,487 test lines, November 2026
The figures above use the line texts in the company’s books. A bank feed delivers other text, so the same test ran again on the 2,114 lines that matched a row in the company’s own bank exports.
- Payment-provider wallets395 lines · filled in with bank-feed text: 295 of 295 right85.8%Books’ text86.1%Bank-feed text, right after the import86.6%Bank-feed text, with feed history
- Company card93 lines · filled in with bank-feed text: 93 of 93 right97.8%Books’ text100.0%Bank-feed text, right after the import100.0%Bank-feed text, with feed history
- Online payment wallets, several currencies1,335 lines · filled in with bank-feed text: 697 of 703 right98.2%Books’ text80.6%Bank-feed text, right after the import94.7%Bank-feed text, with feed history
- Main current account291 lines · filled in with bank-feed text: 246 of 249 right89.7%Books’ text87.6%Bank-feed text, right after the import91.4%Bank-feed text, with feed history
- All four2,114 lines · filled in with bank-feed text: 1,331 of 1,340 right94.7%Books’ text83.4%Bank-feed text, right after the import93.0%Bank-feed text, with feed history
The memory step alone, no AI call. The feed text was built offline from the exports, the way Cybooks would read it from a bank feed or a statement import, not taken from a live bank connection. Filled in assumes the feed names the counterparty or merchant.
Data: Cybooks bank line benchmark, one company’s 2,114 matched lines, November 2026
Lower right after the import. 94.7% of these lines are right with the books’ text, 83.4% with bank-feed text right after the past books were imported, and 93.0% once the history is in the feed’s own text too.
When it fills a line in, it stays right. With bank-feed text the memory step would have filled in 1,340 of these lines, and 1,331 of them were right (99.3%). That assumes the feed carries the counterparty or merchant name: without it, the online payment wallets’ fill-ins are right 59.2% of the time.
Where the drop is. Most of it sits in the online payment wallets’ currency conversions: the feed gives them no counterparty and no text, so 60.0% of those 490 lines are right, against 100.0% with the books’ text.
Each business books its own way. A model that cannot see the history cannot learn it.
The 1,500 held-out lines: 150 a business, and the 172 money-in lines among them.
Businesses are shown only as letters.
Data: Cybooks bank line benchmark, 1,500 held-out lines, November 2026
Businesses differ far more than systems do. On the held-out lines the Terra agent is right on 45% of Business I and 94% of Business J. Business E shows convention: the Opus single call gets 5% there, the agents 87% to 92%. A single call sees no history, so it cannot learn a business’s own convention. Money in stays harder than money out for every system.
More effort mostly means more tool use. The agents gain from it, but the steps are small and the top levels cost far more.
10 of 19 models, ranked by their most accurate agent setup.
Arrow keys move between models; Escape closes the detail.
| Model | Provider | Share right by level |
|---|---|---|
| GPT-6.1 Sol | OpenAI | low 66.0%, medium 69.6%, high 69.8%, xhigh 70.8% |
| GPT-6.1 Terra | OpenAI | none 67.8%, low 67.2%, medium 68.8%, high 70.2%, xhigh 69.8% |
| Claude Opus 5.5 | Anthropic | low 65.6%, medium 66.0%, high 66.6%, xhigh 66.6%, max 68.6% |
| Claude Haiku 5.5 | Anthropic | low 57.8%, medium 62.6%, high 63.0%, xhigh 65.2%, max 66.8% |
| Claude Sonnet 5.5 | Anthropic | low 59.4%, medium 57.0%, high 64.0%, xhigh 66.4%, max 65.2% |
| DeepSeek V4 Flash 0731 | DeepSeek | none 63.4%, low 64.6%, high 62.4%, max 63.0% |
| GPT-6 Luna | OpenAI | none 46.4%, low 55.6%, medium 61.4%, high 63.6%, xhigh 64.4% |
| GLM-5.3 Flash | Z.ai | low 60.2%, high 64.0%, max 64.2% |
| DeepSeek V4 Pro 0813 | DeepSeek | none 64.2%, low 63.8%, high 63.8%, max 62.6% |
| GLM-5.2 | Z.ai | off 62.8%, on 64.0% |
No whiskers: most steps are smaller than their intervals. “On” and “off” switch thinking by chat template; “default” means no reasoning control.
Data: Cybooks bank line benchmark, 500 screening lines, November 2026
GPT-6.1 Sol as an agent rises from 66.0% at low to 70.8% at xhigh, Claude Opus 5.5 from 65.6% to 68.6% at max, Claude Haiku 5.5 from 57.8% to 66.8%. The top levels cost far more: Opus 5.5 at max uses 2.5 times its tokens at low.
The six setups largely miss the same lines. For every one of them, the largest kind of error is the right account type in another account group.
Wrong lines of the 500 screening lines, stacked by kind.
- Agent: GPT-6.1 Sol (xhigh)146 errors
- Agent: GPT-6.1 Terra (high)149 errors
- Agent: Claude Opus 5.5 (max)157 errors
- Single call: Claude Opus 5.5 (max)210 errors
- Single call: GPT-6.1 Terra (xhigh)225 errors
- Single call: DeepSeek V4 Pro 0813 (low)230 errors
| Setup | Label not in the 120-account list | No answer | Wrong account type | Right type, other account group | Near miss: same account group | Errors | Booked before | No earlier booking | Money out | Money in |
|---|---|---|---|---|---|---|---|---|---|---|
| Agent: GPT-6.1 Sol (xhigh) | 19 | 5 | 27 | 87 | 8 | 146 | 87.0% | 39.1% | 72.3% | 58.5% |
| Agent: GPT-6.1 Terra (high) | 19 | 4 | 33 | 89 | 4 | 149 | 87.0% | 37.3% | 71.4% | 60.4% |
| Agent: Claude Opus 5.5 (max) | 17 | 16 | 27 | 87 | 10 | 157 | 84.9% | 36.7% | 69.1% | 64.2% |
| Single call: Claude Opus 5.5 (max) | 19 | 2 | 68 | 113 | 8 | 210 | 65.6% | 43.2% | 59.7% | 43.4% |
| Single call: GPT-6.1 Terra (xhigh) | 19 | 0 | 56 | 143 | 7 | 225 | 59.8% | 45.6% | 57.0% | 37.7% |
| Single call: DeepSeek V4 Pro 0813 (low) | 19 | 0 | 62 | 140 | 9 | 230 | 59.2% | 43.8% | 55.9% | 37.7% |
Hatched: the booked account was not on the 120-account list, so no setup could get those lines right.
Data: Cybooks bank line benchmark, 500 screening lines, November 2026
Right type, other group. For the top agent that is 87 of its 146 errors: the chart offers several defensible accounts for the same payment, and the business uses one of them. That is our reading, not verified line by line.
History again. When the business had booked the label account before, the top agent was right on 87.0%; when it had not, on 39.1%.
Money in is harder. 58.5% against 72.3% for money out.
Real lines from real books, labelled with the account a person booked. Every answer is one account name, compared with the account the business booked.
- The task
- Given a bank line and the bank account it came through, choose the account for the other side from the business's chart of accounts.
- The businesses
- Ten businesses in Cyprus, shown only as letters (A, B, E, F, G, H, I, J, M, N). Of the businesses with at least 200 labelled lines, twelve qualified; two were left out because almost all their lines go to one or two accounts.
- The lines
- A seeded draw of 2,000 bank lines, 200 per business: 500 for screening and tuning, 1,500 held out. The screening set has 447 money-out and 53 money-in lines.
- The accounts
- Each business’s chart holds about 213 postable accounts. The screening run offered a list of 120 per line, and the booked account was on it for 481 of 500 lines, so 96.2% is the ceiling for every setup.
- The leak rule
- A system sees only what the person could have seen: bookings of lines dated at least a day earlier and made at least 60 seconds before the person booked the line.
- The labels
- The account a signed-in person booked on the line in Cybooks. Bookings by rules, bill matching or the AI are not labels. The labels were not reviewed by an accountant, so they carry each business’s own habits.
- The case study
- A different dataset: one European e-commerce brand that brought its past books from its previous accounting system. The memory step learned from January to March 2026 (8,463 lines) and was tested on April to June 2026 (6,487 lines), in a separate copy of Cybooks. Line texts come from its books; 2,114 lines were checked again on real bank text.
- The re-check
- Every system ran once more on 1,000 fresh lines from the same ten businesses, picked by a rule fixed before any run: the same label rule, lines no system had ever answered, and a seeded draw spread as evenly over the businesses as the lines allowed.
- Bank line
- ZORVEXA*CLOUD 4471 (merchant: Zorvexa Cloud Services Ltd)
- Amount
- EUR 59.00, money out
- Known side
- Kalvoria Bank current account (synthetic)
- Accounts
- <synthetic account 1>, <synthetic account 2>, ... up to 120
- Task
- pick the one account from the list for the other side
- Reply
- JSON with one field, e.g. {"category": "<synthetic account 2>"}
Zorvexa and Kalvoria are invented names. A paraphrase of what a model receives and returns, not the prompt text; no date is sent.
Every answer takes the same path, from the model’s reply to a line that counts as right or wrong.
A bank line and the account list
Its description, merchant and amount, and the bank account it came through.
A single call, or an agent
An agent may also read earlier bookings and search the web, in at most 4 turns.
One account name, as JSON
The name must come from the list it was given.
An exact match
Compared with the account the business booked.
Right or wrong
No answer counts as wrong.
RightWrong
- Accuracy
- Right lines over all lines. A run with no parseable answer counts as wrong.
- Intervals
- Wilson score intervals at 95%.
- Two systems
- An exact two-sided McNemar test on the lines where they differ.
- Cybooks Brain against an agent
- A paired bootstrap 95% interval of the difference: 10,000 resamples of the 1,500 lines, with a seed fixed before scoring.
- Cost
- Costs are in US$ per 1,000 lines at provider list prices, from recorded tokens, not invoices: Anthropic at Batch API prices, 50% of list, the others at synchronous list prices. The Cybooks Brain is not on the screening chart: its cost was not measured on those lines.
- Time
- Mean wall-clock seconds per line, provider queueing included. Batch runs record none.
Before the held-out run we wrote down what each system had to reach, and judged each criterion once, on the 1,500 held-out lines. Five passed and three failed.
CriterionAccuracy of the Cybooks Brain’s agent step
Rule, set before the runPaired difference to the research build (the Terra agent with web search): bootstrap lower bound at least -3 points
Result73.5% against 73.2%: +0.33 points (-0.73 to +1.47)
Pass
CriterionAgent alone: the account it picks was booked before on the same side
Rule, set before the runAt least 78% right, Wilson lower bound at least 75%, on at least 60% of lines
Result82.0% (79.6 to 84.2) on 72.3% of linesResearch build: 82.4% (80.0 to 84.6) on 71.7% of lines, pass
Pass
CriterionClean answers
Rule, set before the runNo account outside the list; at most 2% no answer
Result8 outside the list, refused by Cybooks’ code and counted as no answer; 1.3% no answerResearch build: 0 outside the list, 0.8% no answer, pass
Pass
CriterionSpeed and cost of the agent
Rule, set before the run90% of lines within 20 s; at most $8 per 1,000 lines with search
Result10.61 s; $6.28 per 1,000 lines, no web searchOn recorded tokens; 5 time-outs unmetered. Research build: 10.8 s; $7.98, $8.36 with every search uncached, fail
Pass
CriterionCybooks Brain, memory step: confident answers
Rule, set before the runAt least 95% right, Wilson lower bound at least 92%, on at least 25% of lines (40% for mature businesses)
Result94.5% (91.9 to 96.4) on 26.8% of lines; 40.5% for mature businessesFresh run: 96.1% (93.3 to 97.8) on 30.9% of lines; 46.7% for mature businesses, pass
Fail
CriterionCybooks Brain against the best agent alone
Rule, set before the runPaired difference: bootstrap lower bound at least -1 point
Result-0.33 points (-1.60 to +0.93)Same design with the research build of the agent: -0.27 points (-1.40 to +0.87), fail
Fail
CriterionBooking without a person
Rule, set before the runAt least 363 lines; account, contact and VAT all right at least 97% of the time, Wilson lower bound at least 95%
Result136 lines; 87.5% (80.9 to 92.0)Same design with the research build of the agent: 135 lines; 87.4% (80.8 to 92.0), fail
Fail
CriterionCost of Cybooks Brain
Rule, set before the runAt least 250 agent calls saved per 1,000 lines; cost at most 75% of the agent alone
Result268 saved (246 to 291); cost 70.8% on model tokens, no web searchSame design with the research build of the agent: 69.6% on model tokens, 75.03% with every search uncached
Pass
CriterionAgent alone: the right account among three shown
Rule, set before the runSet after a top-3 experiment
ResultNot measurable: the research build gives one answer and the agent step one answer and one alternative
Not measured
So Cybooks does not book lines on its own yet. As designed, the system fills lines in and a person confirms them. Cybooks Brain in this table is the version without the rule that lines paid to people are never sent to the AI, for which the criteria were written. Agent step: the Cybooks Brain’s agent, the agent configured in Cybooks. Research build: the GPT-6.1 Terra agent with web search, judged on the same design.
- Ten businesses. The held-out set has 1,500 lines, 150 per business, so per-business numbers carry wide intervals.
- Labels as booked. Each label is a single booking by a person, not reviewed by an accountant. Some errors are label noise.
- One company, a test on past books. The case study is one European e-commerce brand, run through a separate copy of Cybooks while the memory step is not yet switched on for customers. It covers the account only, with labels and line texts from the company’s books. On raw bank-feed text right after the import fewer lines are right: 83.4% against 94.7% on the lines that could be checked. It is a different dataset from the held-out lines.
- Books that repeat. A plain lookup on the opening two words of the line text is right on 97.2% of this company’s lines, and on 33.8% of the screening lines of the ten benchmark businesses. History helps this much here because this company’s books repeat a lot.
- Run once, not in production. Every system ran once on each line set. The Cybooks Brain’s agent step read each line’s history from an export of the same data.
- One bar, borderline. The memory step’s confident answers were right on 94.5% of the lines it filled in on the held-out set, just under the bar set before the run, and on 96.1% on the fresh lines, which meets it. Read together: about 95%.
- Time and money, roughly. Time per line mixes model speed with provider queueing, and is missing for Anthropic. Costs come from list prices, not invoices.
- Not in this benchmark. Gemini, GPT-6 Astra, Claude Fable 5.1, Muse Glimmer 30B and a human baseline.
Model names are trade marks of their owners. Cybooks is not affiliated with any model provider.
Cybooks Brain: bank-line categorization on real books
The definitions, the line sets and the statistics behind this page, with the limits and every table. Enter your email to open it.
Is any customer data shown on this page?
No. The ten benchmark businesses appear only as letters, and the case-study company only as a European e-commerce brand. The page shows no bank descriptors, supplier or account names, IBANs or example lines from customer data; the one example line is synthetic. IBANs and card numbers were masked before anything was written to disk.
Why does a strong model score low?
Choosing an account is partly convention: two accountants can book the same payment to different accounts, and what matters to the business is that it is booked the way it was booked before. A model that knows accounting but not the business picks the textbook account. On Business E, every top single-call setup scored 12%, while the agents, which can read the history, scored 82%, 82% and 74%.
Why is the Cybooks Brain not in the leaderboard?
The leaderboard is the screening run that chose the Brain’s fallback agent; the Brain’s cost was not measured on those 500 lines. It ran on the 1,500 held-out lines, next to the strongest agents and the strongest single call.
Is the memory step live?
Not yet. The memory step and the agent are built into Cybooks but not yet switched on for customers, so every figure here comes from tests. For the case study the memory step ran in a separate copy of Cybooks, recorded its answers and changed nothing the company sees. As designed, it fills a line in for a person to confirm; Cybooks does not book lines on its own yet.
Why list prices?
Costs are computed from recorded tokens at each provider’s list price, not from invoices, so every setup is priced the same way. Anthropic models ran through the Batch API at 50% of list price; at synchronous prices their cost would double. Model costs are in US$.
Which models were not tested?
Gemini, GPT-6 Astra, Claude Fable 5.1, Muse Glimmer 30B and a human baseline. Gemini had no API key, and GPT-6 Astra and Claude Fable 5.1 were left out on cost.
Did an AI grade the answers?
No. A line is right when the account name in the answer exactly equals the account the business booked. An answer that cannot be parsed, or names no account, counts as wrong.
How often will it be updated?
Each update gets a version and a date on this page. For version 1.0, every system ran once more on 1,000 fresh bank lines that no system had seen.
Does the AI post anything to real books?
No. As designed, Cybooks fills in the account and a person confirms it; Cybooks does not book lines on its own yet.
Version 1.0, 11 Nov 2026
- Models
- 19 models and 136 setups: each model at every reasoning level it supports, as a single call and as an agent. Every setup ran once.
- Line sets
- 500 screening lines, 1,500 held-out lines and 1,000 fresh lines from ten businesses, and one company’s 6,487 test lines for the case study.
- Scoring
- Exact match with the booked account, Wilson intervals, exact McNemar tests and a paired bootstrap. The method was frozen on 2 November 2026, 12:00 EET, before the screening run.
- Re-check
- Every system ran once more on 1,000 fresh lines no system had seen. Of 15 claims written down before that run, 9 held on both readings, 4 on one reading and 2 did not hold.
Send your receipts.
Your books are done.
Start free for 14 days, no card. You answer a few questions.