Finance is already here: I booked my company's first vouchers with Claude Code
Blog post #41
There’s a recurring line in AI commentary right now: “AI cracked coding. Finance is next.” It comes with the implication that we’re still waiting — that some specialized AI accountant needs to emerge before bookkeeping is something machines actually do. I want to push back. Finance, at least the part that matters for a real small company, is already here. Not as a product. As a workflow.
I spent this afternoon booking the first four vouchers for my newly registered AB. The aktiekapital deposit. The bankintygsavgift. The 2 400 kr I paid privately for the Bolagsverket registration fee, treated as a founder outlay. The annual fee my company bank just pulled. By the end of it the cash account in my bookkeeping system matched my actual Lunar balance to the öre. Almost all of the clicking was done by Claude in Chrome.

What shipped
Four manual vouchers in Spiris (Visma’s bookkeeping product), with the right BAS accounts, dates inside the fiscal year, receipts attached, debits and credits balanced:
- A1: 25 000 kr aktiekapital → 1930 / 2081
- A2: 495 kr bankintygsavgift → 6570 / 1930
- A3: 2 400 kr Bolagsverket registration fee, paid privately → 6992 / 2893 (utlägg via SJ Mastercard)
- A4: 890 kr Lunar yearly fee → 6570 / 1930
Balance on 1930 after the four vouchers: 23 615 kr. Lunar’s actual balance: 23 615 kr. That match was the quietly satisfying moment of the afternoon.
What’s working
The thing people miss when they pitch “AI for finance” as a future product is that you don’t need a finance-specific model. You need a general-purpose assistant that can read a screen, click a form, search a chart of accounts, and carry memory between sessions. We’ve had that for a year.
A few moments from today that would have required either a specialist tool or just a tired human — but here they were absorbed in passing:
I typed 25000 in a debit field. Spiris turned it into 250 000,00 because the field still held a pre-filled 0,00. Claude noticed the mismatch on the summa row, triple-clicked to clear, retyped 25000,00. Two seconds. The exact kind of papercut that quietly makes people give up on bookkeeping software entirely.
Konto 2893 — Skulder till närstående personer — is inactive by default in the Spiris BAS chart of accounts. When I needed it for the founder outlay, Claude flipped on “visa även inaktiva poster”, picked it from the dropdown, and clicked through the activation dialog without me needing to know what was happening behind the scenes.
My first fiscal year is 2026-05-11 → 2026-12-31, but the SJ Mastercard charge to Bolagsverket happened 5 maj — before the company legally existed. Spiris won’t accept a voucher date outside the fiscal year. Without prompting, Claude dated those two vouchers to 2026-05-11 and put the actual transaction dates in the description text. That’s the kind of context-sensitive judgement people imply is years away. It happened on the third row of the third voucher.
What’s unclear or broken
The honesty section, because that’s the deal with this blog.
Claude’s file-upload tool refused to send a receipt from a folder it could read perfectly well, because the file hadn’t been “shared with the session” in the sandbox sense. I had to drag-and-drop receipts into Spiris myself. That’s a sandbox limitation, not a capability gap, but the friction is real.
OCR had a bad day. A screenshot of my Lunar transaction list got tagged as a 23 615 kr transaction (the account balance shown at the top of the page) instead of a 495 kr one (the actual bankintyg fee). It didn’t matter — Spiris uses OCR only as a hint, the file content was correct — but a less attentive co-pilot would have coupled the wrong number to a voucher.
I had to click “Ja” to a “vi avråder från manuell bokföring på 1930” warning four times. That’s the kind of friction a real native-finance product would design away, and yet here we are.
And — the one I keep coming back to — Claude told me Bokio was “free” at the start of all this. Twice. It walked it back when I pushed, pulled the live pricing, and admitted no Swedish bookkeeping tool is actually free for a limited company once the mandatory annual report is priced in. The memory system saved that correction for the next session. The persistence is the real safety mechanism, not the model’s first instinct.
The thesis
The industry keeps talking about “AI for finance” as if some specialized vertical product is the unlock. It isn’t. The unlock already shipped: a general-purpose assistant that drives the bookkeeping software you already use, anchored to memory that survives sessions, with the human firmly in the loop for BankID and any binding submission.
Today went from “I have a registered company that can’t actually operate” in the morning to “operational studio with books that reconcile against the bank” by the evening. That isn’t science fiction. It’s composition: Claude Code, the Chrome MCP, Spiris, a memory file at ~/.claude/projects/.... Off-the-shelf, all of it.
What’s missing isn’t capability. It’s the right boundary — the AI drives the tedium, the human signs the binding things. We have both halves.
People will keep waiting for the finance unlock. I’m not waiting. I’m already on the other side of it.
— Stefan