Skip to content
Back

Products

Kvitta

An AI bookkeeper for Swedish accounting bureaus. Fortnox cleared the first version for its marketplace. I rebuilt it on Orca and tested it on a bureau I built for the purpose.

Kvitta codes each supplier invoice to the right account in the Swedish BAS chart and says how sure it is. What it is sure of, it approves. The rest goes to a consultant, the riskiest first. The bureau decides how much Kvitta may do on its own. The Orca version is pre-launch: tested on 40 clients and a year of invoices, with the real model behind every suggestion.

Visit Kvitta
Year
2026
Role
Creator (solo)
Type
AI bookkeeping · BAS
Built on
Orca
Stage
Fortnox-cleared · pre-launch
95.1%
right account straight away, over a test year of 2,565 invoices
87 → 94%
right account on a fixed set of 100 invoices, after five fixes
Fortnox
cleared to sell in its marketplace
The Kvitta logotype: the stacked-blocks mark and the kvitta wordmark in white on the brand's deep navy.
01Where it started

An agent team found the idea. A bureau's hours made me build it.

I built a small team of agents with distinct roles, set to question each other until they surfaced buildable businesses with a clear path to market. An accounting assistant for Fortnox and Visma came back. Those are the two platforms Swedish bookkeeping runs on. Then I looked at where a bureau’s hours go. Much of a consultant’s day is coding supplier invoices. Most of that is machine work. So I built it.

02The first version

Accountants tried it. Fortnox cleared it.

The first version connected to Fortnox or Visma. One button handed new invoices to an agent trained on the 2026 BAS rules. A person reviewed before anything went back. I built it model-swappable and EU-data-residency-first. Accounting consultants tested it and the response was positive. I pitched it to Fortnox. A follow-up meeting came next, then clearance to sell it in their marketplace.

kvitta.nu
Kvitta's public site at kvitta.nu: the headline reads 'Kontera fakturor automagiskt' over a line explaining that Kvitta learns each client's booking patterns and proposes the right BAS account.
03Rebuilt on Orca

The next version had to carry a whole month, not one button.

The testers needed more than coding. Invoices arrive in every format. The consultant wants the last word. Every client books in its own way. So I rebuilt Kvitta on Orca, my own system for building products. Orca gave it the frame, the design system and the charts. Kvitta became five modules on top: Inflöde, Översikt, Granska, Förtroende and Stängning. Invoices arrive on their own from Fortnox, Visma, e-invoices and the bureau’s inbox. Kvitta reads each client’s history first and follows the same pattern.

Kvitta's Översikt for September: 179 invoices from 40 clients, 92.2 percent approved by Kvitta, 14 sent to a person, 9 errors that slipped through and 1.5 hours saved, above a bar showing the month as a flow and a line chart of accuracy for known and new suppliers.
Kvitta's Inflöde: a stacked bar chart of a year of invoices by source, with 84.8 percent arriving on their own through Fortnox, Visma or Peppol e-invoices.
Kvitta's Stängning for September: a card per client that is not ready, each showing what is missing, with a button to review the one invoice holding it up.
04The test bureau

Real books can't be shown, so I built a bureau to test on.

I read the rules first: the BAS chart and the VAT rules. They became the basis for the model and the answer key to measure against. Then I built the bureau. It has 40 clients and a year of invoices, with errors and duplicates planted on purpose. I pulled more invoices from Fortnox’s test environment. Then I ran the model, measured and fixed, until it read the patterns well enough. It booked courses as licence fees, for one. The right account is training. That got fixed.

05What the data showed · 1 of 3

The model can be wrong and still sure.

Företagsuniversitetet sells courses. All 26 of its invoices landed on licence fees and the model was sure every time. So Kvitta approved them and no person saw them. A queue of unsure invoices never finds that error. Now every error that surfaces is grouped by supplier, whether a consultant corrected it or the monthly spot check found it. 26 errors become one row. Gör till regel shows what a rule would change before it is saved. The rule then goes before the model. All 26 land right.

Kvitta's table of error patterns by supplier: Telia Sverige wrong 26 of 27 times, Företagsuniversitetet 26 of 26 and SJ 11 of 11, each with a button to make it a rule.
06What the data showed · 2 of 3

One hundredth on the threshold halves what Kvitta approves.

The threshold is how sure the model must be before Kvitta approves on its own. The bureau sets it. Almost every invoice gets one of two scores, 0.95 or 0.98. Raise the threshold from 0.95 to 0.96 and half the invoices fall back to a person. So before the bureau changes it, Kvitta shows the cost: 1,126 more invoices to review, for 59 fewer errors. The bureau chooses with the numbers in front of it.

07What the data showed · 3 of 3

Warnings that stop everything stop meaning anything.

A flag is a warning on an invoice, like check the VAT or possible duplicate. The flags stopped 240 invoices the model was sure of, so a person checked them. Only 2 of the 240 were wrong. So I split the flags into three kinds in three colours: the model is unsure, a check stopped the invoice, or information only. Only the ones that matter stop an invoice. The consultant’s time goes where a person is needed.

Kvitta's Granska queue sorted by risk, with flags such as Osäker, Möjlig dubblett, Underkonto and Moms. A Telia invoice is open beside it: the model proposes 6212 Mobile phone at 0.95 because this client always booked Telia that way.
08Design choices

The trust chart took three rounds.

The bureau head needs one answer in a few seconds: can I trust the model? Round 0 was a scatter of every invoice. Everything was there except the answer. Round 3 gave each confidence level its own row, with the share in a separate column. The eye had to jump to read one row. The chosen version puts a bar and a tick on the same row. The bar is how often the model was right. The tick is how sure it was. If the bar reaches the tick, the model can be trusted.

Three versions of Kvitta's trust chart side by side: a scatter of every invoice by confidence, a table with one row per confidence level and the share in its own column, then the chosen rows of bars that show how often the model was right at each level.
09What I left out

No pie chart, no red on everything, no fifty numbers.

A pie of the model’s confidence is nearly whole. The few unsure invoices, where the errors live, become a sliver no one sees. Red on everything that deviates stops being seen. A bureau head with a few minutes needs six numbers, not fifty. An off-the-shelf chart library couldn’t be shaped all the way. So the charts are my own, built into Orca. Every one can show as a list.

Five errors, found and fixed before launch. Courses booked as licence fees went from 0 of 26 to 26 of 26 right. Clients’ own sub-accounts were overwritten; now 36 of 36 are kept. Wrong VAT on groceries raised no warning; now all 10 do. VAT-free bank fees raised VAT warnings, which dropped from 215 to 13. On a fixed set of 100 mixed invoices the right account went from 87% to 94%. The model’s suggestions are real runs. The consultants’ decisions in the test bureau are simulated.

10Back into Orca

Built once, kept for the next product.

What I build for one product goes into Orca, so the next one can use it. Kvitta added 17 chart components, modules for supplier invoices, connections to Fortnox and Visma, a colour palette for data and rules in the design system. The next product that needs a chart or an invoice doesn’t start from zero.

Role

Creator, solo and end to end: the research that found the idea, both versions, the test bureau and its answer key, the measures and the design. Built on Orca, my own system for building products.