ChatGPT, Claude och din ledger: konkreta workflows
Hur du kopplar Claude eller ChatGPT till din bokföring via MCP. Konkret: 'Stäng månaden' som agentisk workflow, säkerhet via godkännandepunkter, och varför MCP är skillnaden mot ett vanligt API. Med riktiga konton (1930, 2611, 2641) och kommandon.
TL;DRHur du kopplar Claude eller ChatGPT till din bokföring via MCP. Konkret: 'Stäng månaden' som agentisk workflow, säkerhet via godkännandepunkter, och varför MCP är skillnaden mot ett vanligt API. Med riktiga konton (1930, 2611, 2641) och kommandon.
Den här artikeln visar exakt hur du kopplar Claude (eller ChatGPT) till din bokföring och hur det ser ut i praktiken. Tre konkreta workflows, riktiga kontonummer, riktiga kommandon. Ingen AI-magi-handviftning.
Skillnaden: API vs MCP
Det första att förstå är att ett vanligt REST-API och en MCP-server är två olika saker, även när de pekar mot samma underliggande data.
Ett REST-API är något du integrerar mot från kod. Du skriver Python, skickar en POST, parsar JSON.
En MCP-server är något en LLM-agent integrerar mot från en konversation. Du skriver "Stäng månaden" och LLM:en bestämmer själv vilka verktyg den ska kalla, i vilken ordning, med vilka argument. Den ser verktygen som strukturerade funktioner: exakt vad de gör, vilka argument de tar, vad de returnerar.
gnubok exponerar båda. REST-API:et används av appen och av externa system som n8n och Make. MCP-servern används av Claude Desktop och andra MCP-kompatibla LLM-klienter.
För dig som användare betyder det här att du kan välja: skriva integrationen själv (REST), bygga en automation i ett verktyg (REST via webhook), eller bara prata med Claude och låta den göra jobbet (MCP).
Konkret exempel 1: "Stäng månaden"
Du öppnar Claude Desktop och skriver:
Stäng april 2026 i gnubok. Visa mig en sammanfattning av vad som behöver göras innan vi låser perioden.
Claude kallar gnubok_year_end_readiness (eller motsvarande för månadsstängning) och får tillbaka:
{
"period": "2026-04",
"blockers": [
{"type": "uncategorized_transactions", "count": 3},
{"type": "unmatched_documents", "count": 7},
{"type": "vat_review_pending", "value_sek": 18432}
],
"warnings": [
{"type": "voucher_gap", "details": "V-2026-1118 saknas"}
]
}
Claude rapporterar tillbaka till dig på svenska och föreslår att börja med de okategoriserade transaktionerna. Du säger ja. Claude kallar gnubok_list_uncategorized_transactions, sen gnubok_suggest_categories, och köar tre gnubok_categorize_transaction-anrop. Du ser dem i gnubok-webben: tre rader, alla med rimliga konton (1930 → 6212 telefoni, 1930 → 4010 inköp, 1930 → 6071 representation). Du godkänner i batch.
Sen kör Claude gnubok_vat_review_widget för moms-genomgången. Du tittar på siffrorna, godkänner. Claude kallar gnubok_lock_period. Klart.
Total tid: 6 minuter. Det här tog tidigare en eftermiddag.
Konkret exempel 2: Avstämning mot fakturor
Du har 12 inkommande betalningar och vill matcha dem mot utestående fakturor. Du skriver i Claude:
Stäm av de senaste 12 inbetalningarna mot kundreskontran.
Claude kallar gnubok_list_transactions_without_documents, ser de 12, och försöker matcha mot gnubok_get_ar_ledger. Tio matchar exakt. Claude köar gnubok_match_transaction_to_invoice för var och en. Två matchar inte exakt: en betalning är 50 kr för låg, en är 200 kr för hög.
Claude frågar dig:
Faktura 2026-018 (8 750 kr) har en inbetalning på 8 700 kr. Kunden verkar ha dragit av 50 kr i fakturaavgift. Boka delavstämning med kommentar?
Du säger ja. Claude bokar enligt:
1930 Bank +8 700
1510 Kundfordran −8 750
6991 Övriga kostnader +50
Hela operationen tog 90 sekunder att initiera och du godkände i gnubok-webben i en kontrollpunkt. Audit-loggen visar exakt vilken Claude-session som föreslog vad, vid vilken tidpunkt, och vem (du) som godkände.
Konkret exempel 3: Runway-rapport varje måndag
Det här är där det blir intressant. Du skriver i Claude:
Visa runway baserat på de senaste 90 dagarnas burn. Jämför mot förra månadens rapport.
Claude kallar gnubok_get_kpi_report med rätt parametrar, läser ut burn-rate, jämför mot förra körningen (som ligger som notering i en delad Notion-sida), och svarar:
Burn: 487 000 kr/månad (förra månaden 521 000). Kassa: 4.2 MSEK. Runway: 8.6 månader. Förbättring: +0.7 månader. Vill du att jag schemalägger den här rapporten att köras varje måndag morgon och skickas till #finance i Slack?
Du säger ja. Claude skapar ett schemalagt jobb (via ditt MCP-uppsatta scheduler-verktyg eller via en n8n-workflow som du redan har). Klart.
Det här är skillnaden mellan AI-bokföring nivå 2 och nivå 3. Se definitionen i AI-bokföring 2026. Du har gått från att producera bokföring till att läsa den som live-data.
Säkerhet och godkännandeflöden
Alla skriv-operationer i gnoboks MCP-server returnerar en pending_operation med ett risk_level (low / medium / high). Operationer med medel eller hög risk skrivs inte till huvudboken förrän en människa godkänt i gnubok-webben.
Exempel på risknivåer:
| Operation | Risknivå |
|---|---|
| Dra rapport / läsa data | n/a (read-only) |
| Kategorisera transaktion | low |
| Skapa faktura | medium |
| Godkänna leverantörsfaktura > 5 kkr | medium |
| Köra lönerun | high |
| Stänga period | high |
| Köra year-end | high |
Du kan konfigurera att låg-risk-operationer godkänns automatiskt om du litar på din agent. Högrisk kräver alltid manuellt godkännande. Det är BFL som kräver det, inte vi.
Hela flödet är spårat i en append-only audit-logg. Din revisor kan se exakt vilken agent som föreslog vad, vilken prompt som ledde dit (om du loggar det), och vem som godkände.
Steg för steg: koppla din ledger till Claude
- Skapa ett gnubok-konto på app.gnubok.se/register. Du behöver BankID.
- Generera en API-token under Inställningar → API-nycklar.
- Installera Claude Desktops MCP-konfig. Lägg till gnoboks MCP-server i
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"gnubok": {
"command": "npx",
"args": ["-y", "@gnubok/mcp-server"],
"env": {
"GNUBOK_API_TOKEN": "din-token-här"
}
}
}
}
- Starta om Claude Desktop. Du ser ett verktygs-ikon nere till höger om "Connected".
- Prata med din bokföring. Börja med "Visa kontoplanen" eller "Lista okategoriserade transaktioner". Bygg upp förtroendet i läs-läge innan du börjar låta agenten skriva.
För ChatGPT är processen liknande via deras Custom GPT- eller MCP-stöd. För egen LLM (Ollama, lokala modeller), se Utvecklare för REST + MCP-dokumentationen.
När det inte är en bra idé
För att vara tydlig: det är inte en bra idé att ge en LLM agentisk tillgång till din bokföring om:
- Du inte har audit-loggen aktiverad och regelbundet granskar den.
- Du tillåter högrisk-operationer utan manuellt godkännande för att "spara tid".
- Du kör mot ett system som inte har deterministiska regler under (då litar du på LLM:en att inte fela, vilket är en sämre strategi än att låta huvudboken validera).
Det är därför arkitekturen i Bokföring i AI-eran är poängen. Agentisk bokföring funkar bara om grunden är byggd för det.
Klar att testa? gnubok är gratis att börja, AGPL på GitHub, och MCP-servern fungerar direkt mot din huvudbok.
Vanliga frågor
- Behöver jag programmera för att koppla Claude till min ledger?
- Nej. gnoboks MCP-server installeras med en rad konfiguration i Claude Desktop. Sen kan du skriva i naturligt språk: 'Stäng april' eller 'Visa runway baserat på de senaste 90 dagarna' och Claude kallar rätt verktyg.
- Kan AI:n bokföra utan att jag godkänner?
- Nej. Allt med risk medel eller hög stagas som pending_operation och kräver att du godkänner i gnubok-webben innan något skrivs till huvudboken. Du kan tillåta låg-risk-operationer (t.ex. dra rapporter) utan godkännande om du vill.
- Vad är skillnaden mellan ChatGPT och Claude för det här?
- Båda funkar via MCP. Claude Desktop har bättre stöd för långa agentiska workflows och tool-användning i produktion idag. ChatGPT funkar bra för enskilda frågor och rapport-genrering. Den underliggande ledgern bryr sig inte vilken LLM du kör.
- Vad händer om Claude gör fel?
- Den deterministiska huvudboken validerar varje åtgärd innan något skrivs. Felar valideringen (t.ex. debet ≠ kredit, period stängd, konto finns inte) avvisas anropet med ett strukturerat fel. Inget felaktigt landar i bokföringen.
- Kan jag köra med min egen LLM-nyckel?
- Ja. gnubok är öppen källkod under AGPL-3.0. Du kan självhosta och peka mot vilken LLM som helst: Anthropic, OpenAI, en lokal modell via Ollama. Du betalar bara för det du faktiskt använder.
Senast uppdaterad: 12 maj 2026