Ulrik la Cour Christiansen / Cases

Bogføringsassistent

Send en transaktion på mail i almindelige ord, og den bogfører den, opdaterer resultatopgørelse, moms og skat og sender totalerne retur.

EffektEn bogføringsrunde skåret ned fra 6 til 8 timer i hånden til 10 til 20 minutter, inklusive at tjekke den og indtaste den hos Skat.

MVP, 2025 til 2026

Rolle
Designet og bygget af mig i n8n
Til
Selvstændige, der kan nok regnskab til at drive deres virksomhed

Resumé

Et AI-workflow i n8n, der gør en almindelig mail til en bogført transaktion. En sprogmodel (gpt-4o-mini) læser mailen og returnerer struktureret output: én linje i kassekladden med en kategori fra en lukket liste på elleve. Alt derefter er regelbaseret. Formler i Google Sheets beregner resultatopgørelse, moms og AM-bidrag, og totalerne sendes retur på mail. Uklare linjer markeres som ukendte og overlades til et menneske (human-in-the-loop), modellen ser kun mails fra godkendte afsendere (dataminimering, GDPR), og intet indberettes automatisk til Skat, hvilket holder det som minimal risiko under EU's AI-forordning.

En mail ialmindelige ordEr afsenderenpå listen?Læs ogkategorisérNy linjei kassekladdenResultat-opgørelse,moms og skatTotalersendes returdet eneste AI-trinregnearksformler, ingen gætAI gør en sætning til én linje, som en person kan tjekke på sekunder. Summerne er ren aritmetik.
Arbejdsgangen, med det ene AI-trin markeret.

Problem

Ejere af en enkeltmandsvirksomhed fører selv deres regnskab. De fleste kan nok regnskab til at gøre det rigtigt. Det, der koster dem, er tiden: hver kvittering skal tastes ind, kategoriseres og føres videre til moms, resultatopgørelse og skatteestimat. Da jeg førte regnskabet hos CACommunications, tog en bogføringsrunde omkring en arbejdsdag, 6 til 8 timer. Med dette workflow tager den samme runde 10 til 20 minutter, inklusive at tjekke linjerne og indtaste tallene hos Skat.

Hvad jeg byggede

Et n8n-workflow omkring en kassekladde i Google Sheets. Du sender en mail i almindelige ord, for eksempel "købt printerpapir 349 kr inkl. moms". Workflowet tjekker først afsenderen mod en liste over godkendte afsendere, så kun de kommer igennem.

En sprogmodel (gpt-4o-mini) omsætter derefter mailen til struktureret output: én linje med år, beskrivelse, beløb, kontant eller kredit, en kategori fra en lukket liste på elleve, og om der er moms på. Linjen føjes til kassekladden. Derfra er alt regelbaseret: regnearkets egne formler omsætter kassekladden til årets resultatopgørelse, moms og skatteestimat, og workflowet sender de vigtigste totaler retur som en kort opsummering.

Tankerne bag

Det er en hybrid arkitektur: probabilistisk, hvor sprog skal forstås, deterministisk, hvor tal skal være rigtige. Det er hovedfundet fra mit speciale omsat til praksis: brug kun AI der, hvor dens output er billigt at efterprøve. Modellen har én opgave, at gøre en sætning til en kategori og et beløb, og det kan et menneske tjekke på sekunder pr. linje. Summerne, momsen og skatten er regelbaseret regnearkslogik, der aldrig gætter.

Listen over kategorier er lukket med vilje. Modellen skal vælge en af elleve kategorier eller "ukendt", og det fungerer som et værn: en tvivlsom linje bliver markeret til gennemsyn af et menneske i stedet for stille at blive fejlplaceret.

Kontroller bygget ind i kassekladden

Arket tjekker sit eget input, før noget når en total. Et dublettjek markerer enhver linje, der gentager en anden, som mulig dublet, og på testdataene fangede det 18. Et kategoritjek sender alt uden for de elleve kategorier til "ukendt", så et menneske kan sortere det. Moms holdes i sin egen kolonne, så hver total er netto, og købsmoms trækkes aldrig fra to gange. Resultatopgørelsen og momstallene beregnes begge fra de samme linjer i kassekladden, så de stemmer pr. konstruktion.

Regnskabsmæssig behandling

Alle tal er ekskl. moms. Salgsmoms og købsmoms følges hver for sig, og kun omkostninger med fradragsberettiget moms bærer købsmoms. Resten bogføres brutto. Skattelinjen er AM-bidrag på 8 procent: på dette indkomstniveau ligger overskuddet under personfradraget, så der forfalder endnu ikke indkomstskat. Indberetningen bliver hos ejeren, der taster momstallene i momsangivelsen hos Skat.

Status

Det kører fra ende til anden. En mail i almindelige ord bliver til en linje i kassekladden, resultatopgørelse, moms og skat opdaterer sig selv, og totalerne kommer retur på mail, uden at nogen åbner regnearket. Det virker på mine egne testtransaktioner. Det, der mangler nu, er finjustering.

Hvad der forbliver manuelt, og hvad der er næste skridt

Med vilje: alt, der er markeret "ukendt", sorteres af et menneske, listen over godkendte afsendere vedligeholdes i hånden, og at indberette moms og skat bliver hos virksomhedsejeren. Systemet forbereder tallene og indsender aldrig noget.

Næste skridt mod en version, andre kan stole på, er at læse PDF-kvitteringer ud over mailtekst, et kort gennemsyn af linjer med lav sikkerhed, før de når kassekladden, og et større testsæt at justere kategorierne mod.

n8n-workflowet: Gmail-trigger, tjek af adgangsliste, AI-trin, kodetrin, kassekladde, resultatopgørelse, mail retur
Workflowet i n8n, gengivet fra min egen eksport. Fra venstre mod højre: ny mail, tjek af adgangsliste, AI-trinnet, rensning af svaret, linjen i kassekladden, læsning af resultatopgørelsen, mail med totalerne. Advarslen på det sidste trin er forventet: modtageren er tom i denne skabelon og sættes pr. kunde, når workflowet kobles til deres postkasse og kassekladde.

Resultatopgørelse

Nettoomsætning108.000
Andre driftsomkostninger(41.800)
Personaleomkostninger(17.000)
EBITDA49.200
Af- og nedskrivninger0
EBIT49.200
Finansielle indtægter640
EBT49.840
Skat (AM-bidrag, 8 %)(3.987,20)
Årets resultat45.852,80

Resultatopgørelsen, som arket beregner den, fra en testkørsel på opdigtede transaktioner. Beløb i DKK, alle ekskl. moms. Omkostninger i parentes.

Momsangivelse

Salgsmoms27.000
Købsmoms(10.400)
Moms at betale16.600

Samme testkørsel, stillet op som tallene går ind i Skats momsangivelse. Beløb i DKK.

Teknologi: n8n, OpenAI (gpt-4o-mini), Google Sheets, Gmail.

Kode: Ved henvendelse.