Klarbuch is a B2B SaaS for German small and medium-sized companies. The product is the bookkeeping infrastructure a small firm runs on: invoices, expenses, bank connections, VAT returns and payroll data. The customer's tax advisor is a partner in that setup. The advisor works on the same data and sells the services that sit outside the subscription, such as tax advice, payroll runs, annual statements and filings, at the advisor's own prices. Klarbuch bills the monthly plan; the advisor bills those services directly and separately.
That split is where support gets complicated. Every ticket in the queue is handled by a person. In 2025 that meant 7,820 tickets read, researched and answered by twelve support agents, with up to 20 new tickets arriving per minute during the peak after a tax filing deadline.
7,820
tickets in 2025
232
price-list PDFs
38.8 h
median first reply
24%
of companies cancelled
What a support agent works with
One ticket needs two kinds of information, and they sit in different places.
The first is the customer's account. It sits in the operational database, lake.db, which exposes companies, contacts, tax advisors, plans, subscriptions, add-on contracts, orders, invoices and their line items, payments, refunds, credits, tax deadlines and the full history of earlier tickets. Anyone on the team can query it.
The second is a price, and prices are not in lake.db. Each of the 100 partner tax advisors publishes their own price list as a PDF. Each list has its own layout, its own names for the same service and its own way of stating whether a price is net or gross. The folder holds 232 of these files.
The queue
Messages may arrive by email, the contact form or chat. All of them enter the same queue in arrival order, and twelve people work through one interface. The database behind the queue stays on the platform side; the agents never query it directly.
lake.db
The operational data: who the customer is, what they bought, what they paid, what the tax advisor owes them, and what happened in earlier tickets.
The PDF folder
The only place where a price exists. 100 tax advisors, 232 files, duplicates and older versions included.
How one ticket is handled today
1 · The message
German or English, often with a screenshot and no invoice number.
2 · The queue
The ticket waits for a support agent to be free.
38.8 h median first reply
3 · Find the account
Look up the company, plan, contracts, invoices and earlier tickets in lake.db.
minutes
4 · Find the price
Pick the right tax advisor, the current PDF and the right service name. Check net or gross and the unit.
5 to 25 min
5 · The price is missing
Or it says "auf Anfrage". The support agent emails the tax advisor and the customer waits.
6.4 d mean, 14 d at p90
After that the support agent decides whether a credit or a discount applies, writes the reply, and either closes the ticket or sends it to a colleague. When the customer writes back, the ticket returns to the queue and the same steps start again.
Where the process breaks
The queue is limited by people
The median first reply in 2025 was 38.8 hours, and the average was 45.2. On the Monday after a filing deadline the queue is longer than the team can clear that day.
The price depends on reading a document
The 232 PDFs were written by 100 different firms. The same service appears as Lohnabrechnung, Entgeltabrechnung and Gehaltsabrechnung pro MA. Some list net prices, some gross, some charge per hour, per employee or per filing. The folder contains duplicates and superseded versions, 38 files are scans without a text layer, and the longest document has 132 pages. Nothing marks which file is current.
The document often does not contain the price
Some services are quoted as "auf Anfrage". In 2025 the team sent 845 questions to tax advisors. The average answer took 6.4 days, one in ten took longer than 14 days, and 112 were never answered at all.
The policy exists only in people's heads
The team granted 145 credits in 2025: 83 at 10% for six months and 62 at 15% for one month. The same complaint could end with a different amount depending on who picked up the ticket and what they remembered.
Customers leave, and the rate follows the tax advisor
196 of 800 companies cancelled during 2025. The cancellation rate tracks how quickly the customer's tax advisor answers. Customers of a tax advisor who answers in under two days cancelled at 12.9%. Between two and five days, 18.4%. Above five days, 42.7%. The plan and its price are the same in all three groups.
Security cases arrive in the same queue
687 tickets in 2025 concerned another company's data, someone impersonating an owner, a phishing email or a report of discrimination. Each one has to reach a person. The route it takes today is undocumented.
"I have asked three times what payroll costs. The first answer said 28 €, the second said 40 €, and the invoice came to 46.50 €. Which one is right?"
The team's best retention results came from noticing which customer was about to leave and granting the credit that customer was owed before the cancellation arrived. No policy document describes it. The history shows it: a complaint that ended with the credit the customer was owed cancelled at 13.8%, against 17.2% for the same complaints with no credit.
Why more human agents would not solve it
A new support agent learns the plans in about three weeks. Learning the folder takes longer, and the exceptions are learned by asking a colleague. For most tickets the support agent already knows what to do. The time goes into finding the document, checking it is current, and waiting for a tax advisor to answer something only they can answer.
More people would clear part of the backlog. They are expensive, and they do not fix the disorder behind the errors: each new support agent reads the same inconsistent PDFs and applies credit rules from memory, so a larger team produces more variation in the answers and more exceptions to track.
What the AI agent is expected to solve
The AI agent is expected to take a price question end to end: find the account, find the current list of that customer's tax advisor, apply the written rule, reply, and close only when the customer says they are done. It is also expected to recognise the cases it must not answer, and hand them to a person before writing anything. It is built in six parts.
1. A harness that answers with tools
A program that reads the account from lake.db, selects the tax advisor's current price list, applies the written policy and writes the reply. It cannot quote a price without the source document, so the number in the reply can be traced to the page it came from.
2. One consolidated file per tax advisor
The 232 PDFs become 100 Markdown files. Each file keeps the current list, removes duplicates, newsletters and old versions, and states the unit and whether the price is net or gross. Every line keeps a reference to the PDF and page it came from.
3. Written credit and discount rules
The rules the team applies today, with limits and numbers: who receives a credit, how much, how often, and who receives nothing. Each rule is tested against the 2025 history before it goes into the agent.
4. A security layer before the model
Requests for another company's data, impersonation, phishing reports and reports of discrimination go to a human, with no reply sent to the customer in the meantime. The classifier runs before the model sees the ticket.
5. A close protocol
A ticket counts as resolved only when the customer says they need nothing more. The customer's next message is what closes it, so closing a ticket to improve a number does not work.
6. Evaluation before autonomy
Every reply is compared with the facts behind the ticket. Categories are released one at a time, starting with the ones where the AI agent's accuracy passes a threshold agreed with the business side. Until then the agent drafts and a person approves.
What the AI agent changes in the process
| Today | With the AI agent | What it changes |
|---|---|---|
| First reply after 38.8 hours (median) | Minutes for the categories the AI agent handles | Fewer cancellations caused by waiting |
| Price read from a PDF by hand | Price taken from the current list, with the source page | Fewer wrong invoices and fewer refunds |
| Credit decisions from memory | Written rules applied the same way for every customer | Predictable cost and fewer exceptions |
| Tax advisor quality invisible | Report per tax advisor: complaints, late answers, cancellations | Data for renegotiating or replacing a partner |
| Security cases handled by whoever picks them up | Fixed route to a human with a written procedure | No automated reply to a fraud or data request |
How the build team works with the support team
Two groups do this work. The build team is the pair building the AI agent. The consulting team is Gui and João, who own the commercial rules and the decisions about tax advisors. Most of what the AI agent needs is not written down. It lives with the twelve support agents, in the correspondence with tax advisors and in the 232 PDFs. Extracting it is joint work, and anything that changes a price, a credit or an advisor relationship is discussed with the consulting team as it comes up, not after the build.
| What is needed | Owner | How it is obtained | What gets approved |
|---|---|---|---|
| Credit and discount rules | Consulting team | Two sessions with the support agents who grant them, then each rule tested against the 2025 history | The final thresholds: who gets a credit, how much, how often |
| The churn signals | Consulting team, with the support team | The support team lists what makes them think a customer is about to leave; the build team checks which of those signals came before cancellations | The list of signals and the action for each one |
| Which price list is current | Build team, per tax advisor | One named owner per tax advisor confirms the valid document and its start date | The current list per tax advisor, including the tax advisors with no valid list |
| Consolidation rules | Build team proposes, consulting team approves | The build team proposes what to drop (duplicates, newsletters, superseded versions) and how to normalise net, gross and units | The rule for each ambiguous case |
| Services quoted as "auf Anfrage" | Build team measures, consulting team decides | Every case is measured against the 2025 history (delay, cancellations, refunds). Cases that hurt performance are reduced to the minimum the evidence supports, and each one that remains is discussed with the consulting team as it appears | Which services stay "auf Anfrage" and what the AI agent says when one appears |
| Sample check of extracted prices | Support team | The support team reviews 20% of the extracted prices, weighted toward scans and "auf Anfrage" | Sign-off before the AI agent quotes a price |
| The pilot group | Consulting team | Tax advisors are ranked by complaints, late answers and cancellations | The tax advisors and customer segments in the pilot |
The rules are commercial, so engineering cannot supply them alone. The AI agent can only apply rules that exist in writing. The build team creates the harness, the consolidation pipeline, the security layer and the evaluation, and brings the results back with numbers attached. The consulting team decides what those numbers mean for prices, credits and advisor contracts.
What the solution must include
An AI agent that answers price tickets has to meet five conditions:
- every price comes from the current list of that customer's tax advisor, with the page it came from;
- every credit, discount and refund is computed from a written rule, not chosen by the model;
- requests for another company's data, impersonation, phishing and discrimination reports reach a person before any reply is sent;
- a ticket closes only after the customer says they need nothing more;
- the AI agent is measured against the 2025 history before it answers alone.
How they will build it
Week 1 is one document, a business case and design note. It covers what support costs today, what changes, what the change is worth, and how the AI agent is built, secured, evaluated and funded. It is presented before the harness is written.
The build runs six weeks: data and knowledge in the first two, the harness in the third, the evaluation in the fourth, shadow in the fifth and a narrow autonomy in the sixth.
01 · Written in week 1
Support agent case: proposal
The business case and the design, presented before the harness is written.
- The problem today, with the numbers behind it
- The assumptions the proposal rests on
- How the AI agent will be built, secured and evaluated
- The plan, the cost and what each gate has to prove
02 · Written after the run
Support agent case: results
The evidence document. Same structure, measured numbers.
- What was actually done, against the proposal
- How it was tested: dataset, baseline, sample, threshold, reviewer and script
- The current results, before and after
- The real cost: engineering, support, infrastructure, model calls
- The findings: what failed, what was fixed, what stays with a human
The results document is not written yet, and no number in it will be invented. Every figure will come with the evidence that produced it.
Week 1
Proposal and data
One document, the business case and design note. It sets where the cost sits today, what changes, what the change is worth, and how the AI agent is built, secured, evaluated and funded. Data access opens, and the PDF pipeline starts with OCR fallback, duplicate removal and valid-from detection.
Gate: the plan, the cost and the expected gain are agreed; the files download and the leak checks are green.
Weeks 1 to 2
Knowledge
The 232 PDFs become 100 price lists, one per tax advisor, current version only, every number traceable to the page it came from. The support lead reviews 20% of the extracted prices, weighted toward scans and "auf Anfrage".
Gate: a price can be quoted with its source; outdated lists, duplicates and newsletters are out.
Weeks 2 to 3
Harness and security
The harness calls tools over lake.db, looks up the price list, applies the policy in code, guards the output, classifies the security cases, and handles retries and idempotency. Engineering builds it with the support lead on the security cases.
Gate: injected 500s, duplicate deliveries and adversarial tickets do not produce a wrong or unsafe reply.
Week 4
Evaluation
The AI agent replays the 2025 history ticket by ticket, and the build team fixes the top failure modes. The partner reads the result with the engineering lead.
Gate: price accuracy, correct escalation and zero unsafe replies, measured against what the support team did.
Week 5
Shadow
The AI agent drafts, the support team approves or edits, and every edit is logged. A weekly review turns each edit into a prompt fix, a policy gap or a missing fact.
Gate: edit rate under 10%.
Week 6
Narrow autonomy
Only the categories with the cleanest record run alone, with an agreed threshold and a rollback. The partner and the support lead choose them. The advisor report starts.
Gate: a category performs at or above the agreed threshold before it runs alone.
Week 6 on
Business loop
The partner sees complaints, response time and cancellations per tax advisor, and acts on them. Contract decisions and policy updates follow, and they change what the AI agent answers.