Guide

Lokal AI för svenska fakturor: plocka ut belopp, moms och OCR som JSON med Dharma Field Extractor

✍ tolvers.se-redaktionen Publicerad: 7 november 2026 ⏱ 3 min läsning

Ja, du kan göra svenska PDF-fakturor och kvitton till strukturerad JSON på din egen dator med Dharma Field Extractor, en modell som enligt Hugging Face-bloggen tar emot dokument och returnerar fält som JSON. Inga fakturor behöver lämna datorn, så du slipper ett personuppgiftsbiträde i molnet. Kostnaden är främst tiden för uppsättning och kontroll, inte en avgift per dokument. Förutsättningen är att du testar träffsäkerheten på dina egna fakturor och automatiskt kontrollerar belopp, OCR-nummer och organisationsnummer innan något når bokföringen.

Vad gör Dharma Field Extractor med en svensk faktura?

Enligt Hugging Face-bloggen är idén enkel: ett dokument in, strukturerade fält som JSON ut. För en svensk faktura vill du få ut leverantörens organisationsnummer, bankgiro eller plusgiro, OCR-nummer, fakturanummer, fakturadatum, förfallodatum, belopp exklusive moms, momsbelopp och totalbelopp. På ett kvitto räcker oftast datum, totalsumma, momssatser och butiksnamn. Resultatet blir en JSON-fil per dokument som du kan läsa in i Excel, ett bokföringsprogram eller ett eget skript.

Tänk dig en målarfirma i Västerås som får 40 leverantörsfakturor i månaden som PDF. I stället för att skriva av bankgiro och OCR för hand kör firman en mapp genom modellen och får 40 JSON-filer. Någon granskar sedan avvikelser i stället för att knappa in allt. Modellstorlek, licens och vilka språk som är testade står på modellkortet. Läs det innan du bygger något, eftersom vi inte kunnat verifiera de detaljerna här.

Vilken dator krävs och vad kostar det jämfört med molnbaserade API:er?

Kraven beror på modellens storlek, som du hittar på modellkortet. Som tumregel går mindre modeller att köra på en modern bärbar dator med 16 GB RAM, medan större kräver ett grafikkort med mycket minne. Testa först på den dator du redan har. Börja med en handfull fakturor och mät hur lång tid varje dokument tar. Skannade PDF:er som är bilder tar oftast längre tid än PDF:er med text.

Kostnadsjämförelsen är lätt att räkna själv. Molnets pris är antal dokument gånger priset per dokument eller per token enligt leverantörens aktuella prislista, plus en eventuell biträdesavtalsadministration. Lokalt är marginalkostnaden i praktiken elen, medan en ny dator med bra grafikkort kan kosta flera tusen kronor. Med 300 fakturor i månaden kan en befintlig dator räcka och ge en månadskostnad nära noll. Räkna ändå in din egen tid för uppsättning och stickprov, som ofta är den största posten i kronor.

Vilka GDPR-fördelar ger lokal körning?

Fakturor innehåller personuppgifter oftare än man tror: enskilda firmors namn och adresser, kontaktpersoner, ibland personnummer på kvitton och underlag. Skickar du dem till en molntjänst blir leverantören normalt personuppgiftsbiträde enligt artikel 28 i dataskyddsförordningen (GDPR, som tillämpas sedan 25 maj 2018). Då behövs biträdesavtal, koll på underbiträden och en bedömning av eventuell överföring utanför EU/EES. EU-domstolens Schrems II-dom från 16 juli 2020 (C-311/18) skärpte kraven på sådana överföringar.

Kör du modellen lokalt lämnar dokumenten aldrig din egen miljö, vilket förenklar bedömningen. Du måste fortfarande skydda datorn med diskkryptering, lösenord och uppdateringar, och dina JSON-filer är fortfarande personuppgifter. Bokföringslagen kräver dessutom att räkenskapsinformation sparas i sju år, så radera inte original i tron att JSON räcker. Gör gärna en kort dokumenterad bedömning och fråga IMY:s vägledning eller ditt dataskyddsombud om du är osäker.

Hur testar du träffsäkerheten på svenska dokument innan du litar på resultatet?

Plocka ut 50 riktiga dokument ur olika leverantörer: stora kedjor, enmansfirmor, kvitton, fakturor med flera momssatser och minst några dåligt skannade. Fyll i facit för hand i ett kalkylblad med de fält du behöver. Kör modellen och räkna träffar per fält, inte bara totalt. Ett OCR-nummer som är fel i en siffra är värre än ett saknat fält, eftersom betalningen kan misslyckas eller hamna fel.

Lägg sedan på automatiska kontroller. OCR-nummer och organisationsnummer använder kontrollsiffra enligt Luhn-algoritmen, så ogiltiga värden kan flaggas direkt. Kontrollera att nettobelopp plus moms blir totalbelopp: 1 250 kr plus 25 procent moms (312,50 kr) ska ge 1 562,50 kr. Svenska momssatser är 25, 12 och 6 procent, så avvikande satser ska granskas. Förfallodatum ska ligga efter fakturadatum. Dokument som faller på någon kontroll går till manuell granskning. Upprepa testet efter varje modelluppdatering.

Slutsats

Dharma Field Extractor är ett intressant sätt att göra svenska fakturor och kvitton till JSON utan att skicka dokument till en molntjänst. Det passar småföretag med återkommande leverantörer och en ekonomiansvarig som kan sätta upp ett enkelt arbetsflöde. Starta på din befintliga dator, mät tid och träffsäkerhet på 50 egna dokument och bygg in kontrollsiffror, momsavstämning och datumregler. Behåll en människa i loopen för allt som flaggas, och lita aldrig blint på ett enskilt fält. Lokal körning minskar GDPR-komplexiteten men tar inte bort ditt ansvar för säkerhet, gallring och arkivering. Läs modellkortets uppgifter om licens, språk och begränsningar innan du använder resultatet i bokföringen.

Vanliga frågor

Kan AI läsa OCR-nummer och bankgiro från en svensk faktura?

Ja, en fältextraktionsmodell kan hämta dem som JSON, men verifiera alltid. OCR-nummer har kontrollsiffra enligt Luhn-algoritmen, så ogiltiga nummer går att flagga automatiskt.

Är det tillåtet att skicka fakturor till en molntjänst enligt GDPR?

Det kan vara tillåtet, men leverantören blir ofta personuppgiftsbiträde och kräver biträdesavtal samt koll på dataöverföring utanför EU/EES. Lokal körning förenklar detta eftersom dokumenten stannar hos dig.

Hur många fakturor ska jag testa innan jag litar på resultatet?

Börja med ungefär 50 varierade dokument med manuellt facit och mät träffsäkerhet per fält. Behåll stickprov och automatiska kontroller även efter att du börjat använda lösningen.

Källor och vidare läsning