Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Kvittofoton till Google Sheets med OCR.space

Rickard Andersson Partner, Nodenordic.se

Att skriva in kvitton i ett kalkylark är en sån uppgift som känns liten … tills du har gjort det 40 gånger på en vecka. Du kisar på totalsummor, tvekar på datum och får ändå rätta fel i efterhand.

Det är här kvitto-OCR-automatisering snabbt betalar sig. Småföretagare märker det vid månadsskiftet. Marknadschefer som följer upp utgifter märker det också. Och en stressad bokförare har noll tålamod för ”kan du skicka bilden igen?”

Det här flödet låter dig ladda upp en kvittobild, kör OCR.space för att extrahera texten och ger dig sedan felfri, kopieringsklar output (och en enkel väg för att logga det i Google Sheets). Du får veta vad det gör, vad du behöver och hur du får igång det utan att det blir ett helt projekt.

Så fungerar automatiseringen

Här är hela arbetsflödet som du kommer att sätta upp:

n8n Workflow Template: Kvittofoton till Google Sheets med OCR.space

Varför det här spelar roll: manuell kvittoinmatning är en tyst tidsläcka

Kvitton kommer från överallt. En lunch med kund. En liten programvaruförnyelse. Bränsle. En sväng till kontorsbutiken. Sedan ligger de i kamerarullen eller i en chatttråd tills du till slut klistrar in dem i ett kalkylark och hoppas att du inte läste totalsumman fel. Det jobbiga är inte bara knappandet. Det är alla kontextbyten, ”var sparade jag den där bilden” och uppföljningen när något inte stämmer mot kontoutdraget. På en månad blir de där små stunderna ett rejält tidsblock.

Det summerar snabbt. Och det blir värre när volymen ökar.

  • Du skriver in samma fält om och om igen (leverantör, datum, total), vilket bjuder in fel som du ofta upptäcker först senare.
  • Kvittobilder varierar kraftigt i ljus och kvalitet, så ”snabb kopiera-klistra in” blir till manuell efterstädning.
  • Kvitton med tabellformat (artikelrader, moms, dricks) är extra jobbiga eftersom kalkylark vill ha struktur, inte stökiga textblock.
  • När någon ber om underlag slösar du tid på att leta fram originalbilden i stället för att bara hänvisa till en loggad post.

Det du bygger: ladda upp ett kvitto, få strukturerad text, logga det

Det här flödet ger dig ett enkelt uppladdningsformulär i n8n. Du släpper in en kvitto- eller dokumentbild (upp till 1 MB), väljer om den innehåller en tabell och skickar in. Därifrån normaliserar n8n dina indata så att OCR-anropet blir konsekvent varje gång och skickar sedan filen till OCR.space med rätt parametrar (inklusive språk och ”tabell vs text”). OCR.space svarar med tolkad text, och flödet presenterar den tillbaka till dig i ett rent, stylat kort som är lätt att läsa och kopiera. Om målet är utgiftsspårning är nästa naturliga steg att skicka den tolkade outputen till Google Sheets så att den blir en sökbar logg i stället för en hög bilder.

Flödet börjar med en formuläruppladdning. Sedan förbereder det flaggan ”är detta en tabell?” och anropar OCR.space. Till sist får du den tolkade texten snyggt visad, vilket gör att du kan klistra in totalsummor snabbt eller spara resultatet för senare granskning.

Det du bygger

Förväntade resultat

Säg att du samlar in 30 kvitton i veckan och att varje tar cirka 4 minuter att läsa, skriva in och rimlighetskontrollera. Det är ungefär 2 timmar i veckan, och ärligt talat känns det längre eftersom det är så monotont. Med det här flödet tar det cirka en minut att skicka in en bild, sedan väntar du på OCR-bearbetningen och kopierar den strukturerade texten (oftast ytterligare en minut). Du granskar fortfarande, men du granskar extraherad text i stället för att skriva om allt från början – och det är där tiden kommer tillbaka.

Innan du börjar

  • n8n-instans (testa n8n Cloud gratis)
  • Självhosting om du föredrar det (Hostinger fungerar bra)
  • OCR.space för att göra kvittobilder till text
  • Google Sheets för att lagra kvitton som en logg
  • OCR.space API-nyckel (hämtas i din OCR.space-kontopanel)

Kunskapsnivå: Nybörjare. Du kopplar in en API-nyckel, laddar upp en testfil och justerar ett eller två fält som språk.

Vill du att någon bygger detta åt dig? Prata med en automations­expert (gratis 15-minuters konsultation).

Steg för steg

Du skickar in en kvittobild via ett formulär. Flödet startar med en n8n-formulärtrigger där du laddar upp en fil (t.ex. JPG eller PNG) och svarar på en enkel fråga om kvittot innehåller en tabellayout.

Flödet normaliserar dina indata. Värdet ”Ja/Nej” konverteras till en true/false-flagga som heter isTable, så att OCR-anropet blir förutsägbart. En liten detalj som ger högre driftsäkerhet.

OCR.space extraherar texten. n8n skickar din uppladdade bild till OCR.space via ett HTTP-anrop med din API-nyckel och OCR-parametrar (språk och OCR-motor). Om du markerade det som en tabell försöker OCR.space i högre grad bevara strukturen.

Du får felfri, kopieringsklar output. Den tolkade texten visas tillbaka i en stylad resultatsvy, med formatering som gör totalsummor och radrader lättare att se innan du klistrar in i ett ark eller skickar vidare.

Du kan enkelt ändra standard­språket för OCR så att det matchar dina kvitton och sedan skicka den tolkade texten till Google Sheets för en permanent logg utifrån dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: konfigurera formulärtriggern

Konfigurera formuläret som användaren ser så att arbetsflödet kan ta emot en bild och valet för tabellidentifiering. Detta hanteras av Incoming Image Form.

  1. Lägg till noden Incoming Image Form och ställ in Form Title till Receipt OCR.
  2. Ställ in Form Description till Ladda upp en bild för att extrahera text via OCR.\nMax filstorlek: 1 MB.
  3. I Form Fields lägger ni till ett file-fält med Field Label File (Max 1MB), Multiple Files satt till false och Required aktiverat.
  4. Lägg till ett radio-fält med etiketten Is it a table med alternativen Yes och No, och markera det som obligatoriskt.

Tips: Filstorleksgränsen säkerställs via formulärets instruktioner – håll uppladdningar under 1 MB för att undvika fel från OCR-API:et.

Steg 2: anslut OCR.space API

Konfigurera OCR-anropet i OCR API Parsing, som skickar den uppladdade bilden till OCR.space API.

  1. Ställ in URL till https://api.ocr.space/parse/image och Method till POST.
  2. Aktivera Send Body och ställ in Content Type till multipart-form-data.
  3. Lägg till body-parametrar: language = pol, OCREngine = 2 och isTable = {{ $json.isTable }}.
  4. Lägg till parametern file som formBinaryData med Input Data Field Name satt till File__Max_1MB_.
  5. Credential Required: Anslut era httpHeaderAuth-credentials.

Steg 3: sätt upp bearbetningsnod

Normalisera formulärfälten så att OCR-anropet får konsekventa nycklar med Normalize Form Inputs. Flödet är Incoming Image FormNormalize Form InputsOCR API Parsing.

  1. I Normalize Form Inputs ställer ni in Include Other Fields till true.
  2. Ställ in stripBinary till false för att behålla den uppladdade fildatan.
  3. Skapa ett strängfält med namnet isTable med värdet {{ ($json["Is it a table"] ?? $json.Is_it_a_table) === "Yes" }}.
  4. Skapa ett objektfält med namnet File (Max 1MB) med värdet {{ $json['File (Max 1MB)'] ?? $json.File__Max_1MB_ }}.

⚠️ Vanlig fallgrop: Om filfältets etikett ändras i formuläret, uppdatera uttrycken i Normalize Form Inputs så att den binära filen fortfarande mappas korrekt.

Steg 4: konfigurera utdata-/åtgärdsnoder

Visa den tolkade OCR-texten tillbaka till användaren med Show Parsed Text.

  1. Ställ in Operation till completion i Show Parsed Text.
  2. Ställ in Form Title och Completion Title till OCR Result.
  3. Ställ in Completion Message till {{ $json.ParsedResults[0].ParsedText }} så att OCR-texten renderas i svaret.

Steg 5: testa och aktivera ert arbetsflöde

Kör ett fullständigt test för att bekräfta att OCR-API:et returnerar tolkad text och att utdata visas korrekt.

  1. Klicka på Execute Workflow och öppna den publika URL:en för Incoming Image Form.
  2. Ladda upp en testbild och välj Yes eller No för tabellfrågan, och skicka sedan in formuläret.
  3. Verifiera att Show Parsed Text visar ett läsbart OCR-resultat från ParsedResults[0].ParsedText.
  4. När ni är nöjda, slå på arbetsflödet till Active för produktionsanvändning.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • OCR.space-inloggningsuppgifter kan löpa ut eller så kan du nå kontogränser. Om det skapar fel, kontrollera först status för din OCR.space API-nyckel i OCR.space-panelen.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att redigera outputen för alltid.

Snabba svar

Hur lång tid tar det att sätta upp den här kvitto-OCR-automatiseringen?

Cirka 20 minuter om du redan har din OCR.space API-nyckel.

Krävs det kodning för den här kvitto-OCR-automatiseringen?

Nej. Du kopplar in din API-nyckel och justerar ett par fält som språk och tabellväxlingen.

Är n8n gratis att använda för det här kvitto-OCR-automatiseringsflödet?

Ja. n8n har ett gratis alternativ för självhosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volymer. Du behöver också räkna med OCR.space API-kostnader baserat på din användningsplan.

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och hanterar n8n bra. Självhosting ger dig obegränsat antal körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här kvitto-OCR-automatiseringsflödet för andra användningsfall?

Ja, och det handlar oftast bara om några små justeringar. Du kan ändra OCR-språket i OCR API-anropet (till exempel från polska till engelska) och du kan justera hur resultatet visas i sista steget ”Show Parsed Text”. Om du vill logga till Sheets lägger du till en Google Sheets-åtgärd ”Append row” efter OCR-svaret och mappar ParsedText (eller extraherade totalsummor) till kolumner. För fakturor med mycket tabellinnehåll ska du låta isTable-alternativet vara aktiverat eftersom det brukar bevara rader bättre.

Varför misslyckas min OCR.space-anslutning i det här flödet?

Oftast beror det på en ogiltig eller utgången OCR.space API-nyckel i HTTP-anropets headers. Dubbelkolla att du använder rätt nyckel och bekräfta att din OCR.space-plan inte har nått sina anropsgränser. Säkerställ också att den uppladdade filen är under 1 MB-gränsen som formuläret använder, eftersom för stora bilder kan göra att API-anropet misslyckas eller returnerar tomma resultat.

Vilken volym kan det här kvitto-OCR-automatiseringsflödet hantera?

Om du självhostar n8n finns ingen körningsgräns (det beror på din server), och de flesta små team kan köra hundratals kvittouppladdningar per månad utan att ens tänka på det. På n8n Cloud beror dina månatliga körningar på din plan, så team med högre volymer går vanligtvis upp en nivå. OCR-kapaciteten är oftast ”ett kvitto i taget” per inskick, och den praktiska gränsen handlar mer om OCR.space-kvoter och hur många som skickar in filer samtidigt.

Är den här kvitto-OCR-automatiseringen bättre än att använda Zapier eller Make?

Ofta, ja, eftersom n8n gör det enklare att samla allt på ett ställe: uppladdningsformuläret, HTTP-anropet till OCR.space och formateringen av outputen. Du får också ett alternativ för självhosting, vilket spelar roll om du hanterar många kvitton och inte vill att varje körning ska debiteras som en premiumuppgift. Zapier eller Make kan fortfarande vara okej för ett väldigt enkelt flöde som ”e-postbilaga → OCR → arkrad”, men formulär och anpassad tolkning brukar bli klumpigt. Om du är osäker kan du prata med en automations­expert så pekar vi dig mot enklaste alternativet för din volym.

När det här väl är igång slutar kvittobilder att vara en backlog och blir användbar data. Sätt upp det en gång och låt sedan flödet ta hand om grovjobbet.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal