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

Google Kalkylark till Gmail: fakturor skickas och följs upp

Rickard Andersson Partner, Nodenordic.se

Fakturor misslyckas sällan för att du ”glömt hur man gör”. De misslyckas för att processen finns på för många ställen: ett kalkylark, ett e-postutkast, ett PDF-verktyg och någons minne.

Det är här fakturaautomatisering i Sheets betalar sig. Byråägare märker det när faktureringen hopar sig i slutet av veckan. Ops-ansvariga avskyr statuskaoset. Och frilansare vill bara få iväg fakturor utan att göra fredag till ”admin-dag”.

Det här flödet hämtar väntande rader från Google Sheets, skapar ett professionellt mejlutkast med AI, genererar en snygg PDF-faktura, skickar den via Gmail och uppdaterar sedan ditt kalkylark så att uppföljningen stämmer.

Så fungerar automatiseringen

Hela n8n-flödet, från trigger till slutresultat:

n8n Workflow Template: Google Kalkylark till Gmail: fakturor skickas och följs upp

Problemet: fakturor skickas, men uppföljningen faller isär

Om du skapar fakturor från ett kalkylark vet du redan att den irriterande delen inte är matematiken. Det är allt runt omkring. Du kopierar kunduppgifter, skriver om faktura-ID:n, bifogar den ”slutliga” PDF:en (tills det finns en ny slutlig) och sedan måste du ändå tillbaka till arket och markera den som skickad. Missar du det sista steget en gång, och plötsligt jagar du en kund som redan har betalat, eller så väntar du på pengar eftersom en faktura fastnade i ”Pending”. Det dränerar, och det urholkar kassaflödet.

Det går snabbt att det blir mycket. Här är det som oftast brister.

  • Du lägger cirka 10 minuter per faktura bara på att kopiera uppgifter mellan verktyg och dubbelkolla dem.
  • Fakturor skickas, men arket uppdateras aldrig, så din statuskolumn blir ren fiktion.
  • Mejltonen varierar beroende på vem som skickar, vilket blir märkligt när du vill uppfattas konsekvent och professionell.
  • Du tappar tid på uppföljningar eftersom du inte snabbt kan se vad som faktiskt är klart.

Lösningen: Google Sheets → PDF-faktura → Gmail, automatiskt

Det här n8n-flödet fungerar som en enkel fakturaagent som körs när du vill. När du triggar det läser det ditt Google Sheet ”Client Invoices” och hämtar bara raderna markerade Status = Pending. För varje väntande faktura formaterar det de viktiga fälten (faktura-ID, kundnamn och adress, projekt, belopp, dagens fakturadatum och ett förfallodatum satt till 7 dagar senare). Sedan skriver AI ett vänligt, affärsmässigt mejl signerat som Upward Engine Team, och flödet extraherar en korrekt formaterad ämnesrad och brödtext från AI-utdata. Till sist genererar CraftMyPDF en välpolerad faktura-PDF med samma strukturerade data, Gmail skickar mejlet med PDF:en bifogad och Google Sheets uppdateras till Completed så att din uppföljning förblir korrekt.

Det börjar med en manuell ”körning” i n8n. Efter det blir Google Sheets din källa till sanning, AI tar hand om mejltexten, CraftMyPDF skapar dokumentet och Gmail levererar det. När utskicket lyckas sker statusuppdateringen direkt, så du behöver inte lita på minnet i efterhand.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut i praktiken

Säg att du skickar 15 fakturor varje fredag. Manuellt kan du lägga ungefär 10 minuter per faktura på att skriva mejl, skapa PDF:er, bifoga filer och uppdatera statusar, vilket blir cirka 2,5 timmar. Med det här flödet triggar du det en gång, och sedan behandlar det de 15 väntande raderna automatiskt medan du jobbar med något annat. Även om generering och utskick tar runt 20–30 minuter i bakgrunden sjunker din tid vid tangentbordet till några minuter, och ditt ark är redan uppdaterat till Completed.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för att lagra fakturarader och statusar
  • Gmail för att skicka fakturor med bilagor
  • CraftMyPDF API-nyckel (hämta den i din CraftMyPDF-dashboard)

Svårighetsnivå: Medel. Du kopplar konton, mappar några fält och klistrar in API-nycklar, men du behöver inte skriva kod.

Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

Manuell körning från n8n. Du klickar på kör när du är redo att processa fakturor, vilket gör att du styr tidpunkten (praktiskt om du fakturerar i batch en gång i veckan).

Google Sheets blir inkorgen. Flödet läser ditt ark ”Client Invoices” och filtrerar ner till bara rader där Status är Pending, så att du inte råkar skicka om redan klara fakturor.

AI skriver mejlet och sedan struktureras det. AI Agent skriver ett artigt meddelande med GPT-4.1-mini, och en informationsextraktor separerar ämnesrad och brödtext så att Gmail får ett korrekt strukturerat mejl.

PDF genereras och skickas. CraftMyPDF bygger faktura-PDF:en från dina mappade fält, Gmail skickar den med bilagan och Google Sheets uppdaterar raden till Completed så att du kan lita på din uppföljning igen.

Du kan enkelt justera logiken för förfallodatum till 14 eller 30 dagar efter behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: Konfigurera den manuella triggern

Det här arbetsflödet startar manuellt så att ni kan validera fakturakörningen vid behov innan ni automatiserar.

  1. Lägg till och behåll Manual Start Trigger som första nod på er canvas.
  2. Låt alla inställningar vara standard för att möjliggöra manuell körning från editorn.

Tips: Flowpast Branding är en klisterlapp som används för dokumentation och påverkar inte körningen.

Steg 2: Anslut Google Sheets

Hämta fakturadata från ert kalkylark och uppdatera senare status efter att ni har skickat.

  1. Öppna Retrieve Sheet Records och ställ in Document till Client Invoices och Sheet till Sheet1.
  2. Öppna Update Sheet Status och bekräfta att Operation är appendOrUpdate.
  3. I Update Sheet Status, behåll Matching Columns satt till \tInvoice ID och mappa kolumnerna som visas, inklusive Status till Completed.
  4. Inloggningsuppgifter krävs: Anslut era Google Sheets-inloggningsuppgifter för både Retrieve Sheet Records och Update Sheet Status.

⚠️ Vanlig fallgrop: Kolumnnamnet innehåller en inledande tabb i \tInvoice ID och Project Name\t. Säkerställ att era rubriker i arket matchar exakt, annars misslyckas mappningarna.

Steg 3: Konfigurera filtrering, mappning och batchning

Filtrera fram väntande fakturor, mappa nyckelfält och iterera igenom varje post en i taget.

  1. I Filter Pending Records, ställ in villkoret till att Status är lika med Pending med {{ $json.Status }}.
  2. I Map Invoice Fields, definiera tilldelningar med uttryck som {{ $json['\tInvoice ID'] }}, {{ $json['Client Name'] }} och {{ $json['Project Name\t'] }}.
  3. Ställ in Invoice Date till {{ $now.format('yyyy-MM-dd') }} och Due Date till {{ $now.plus({day: 7}).format('yyyy-MM-dd') }}.
  4. Behåll standardinställningarna i Batch Iterator för att bearbeta en faktura per loop och skicka vidare till steget för e-postgenerering.

Steg 4: Ställ in AI-generering av e-post

Generera ett professionellt fakturamejl och tolka det till fält för ämne och brödtext.

  1. Öppna Invoice Email Composer och behåll prompttexten som den är, eftersom den refererar till fält som {{ $json['Client Name'] }} och {{ $json['Amount (USD)'] }}.
  2. I Email Content Parser, ställ in Text till {{ $json.output }} och behåll attributen för email subject och email body.
  3. Säkerställ att OpenAI Mini Model är ansluten som språkmodell för både Invoice Email Composer och Email Content Parser.
  4. Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i OpenAI Mini Model.

Tips: AI-verktygsnoder som Email Content Parser förlitar sig på språkmodellen i OpenAI Mini Model, så inloggningsuppgifter måste läggas till där i stället för i undernoden.

Steg 5: Konfigurera PDF-skapande och e-postleverans

Skapa PDF-fakturan och skicka den via Gmail, och uppdatera sedan status i arket.

  1. Öppna PDF Invoice Builder och ställ in Template ID till YOUR_TEMPLATE_ID och Data till den angivna JSON:en med uttryck som {{ $('Map Invoice Fields').item.json['Client Name'] }}.
  2. I Dispatch Gmail Message, ställ in Send To till {{ $('Retrieve Sheet Records').item.json['Client Email'] }}, Subject till {{ $('Email Content Parser').item.json.output['email subject'] }} och Message till {{ $('Email Content Parser').item.json.output['email body'] }}.
  3. Bifoga PDF:en genom att behålla Attachments satt till output.pdf i Dispatch Gmail Message.
  4. Bekräfta det linjära flödet: PDF Invoice BuilderDispatch Gmail MessageUpdate Sheet Status, och sedan tillbaka till Batch Iterator.
  5. Inloggningsuppgifter krävs: Anslut era CraftMyPDF-inloggningsuppgifter i PDF Invoice Builder.
  6. Inloggningsuppgifter krävs: Anslut era Gmail-inloggningsuppgifter i Dispatch Gmail Message.

⚠️ Vanlig fallgrop: Ersätt [YOUR_EMAIL] i PDF Invoice Builder-data med er faktiska avsändaradress så att PDF:en matchar er profilering.

Steg 6: Testa och aktivera ert arbetsflöde

Validera dataflöde och utdata innan ni slår på arbetsflödet.

  1. Klicka på Execute Workflow och trigga Manual Start Trigger manuellt.
  2. Bekräfta att endast rader med status Pending passerar genom Filter Pending Records.
  3. Verifiera att Dispatch Gmail Message skickar ett mejl med en PDF-bilaga och att Update Sheet Status skriver Completed och de uppdaterade datumen.
  4. När testet är lyckat, växla arbetsflödet till Active för användning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Behörigheter i Google Sheets kan blockera redigering även om läsning fungerar. Om statusar inte uppdateras: kontrollera först åtkomsten för det anslutna Google-kontot och delningsinställningarna för arket.
  • 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 ditt varumärkes tonläge tidigt, annars kommer du redigera utdata i all evighet.

Vanliga frågor

Hur lång tid tar det att sätta upp den här fakturaautomatiseringen i Sheets?

Cirka 30 minuter om dina konton och din mall är redo.

Behöver jag kunna koda för att automatisera fakturaautomatisering i Sheets?

Nej. Du kopplar verktyg och mappar fält i n8n. Den svåraste delen är oftast att få dina kolumner i Google Sheet konsekventa.

Är n8n gratis att använda för det här flödet för fakturaautomatisering i Sheets?

Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in OpenAI API-kostnader (oftast några cent per batch) och eventuell CraftMyPDF-användning enligt din plan.

Var kan jag hosta n8n för att köra den här fakturaautomatiseringen i Sheets?

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

Kan jag anpassa det här flödet för fakturaautomatisering i Sheets för ett annat förfallodatum eller en annan mejlsignatur?

Ja, och det är enkelt. Du kan ändra förfallodatumet i steget ”Map Invoice Fields” där flödet sätter ”Due Date (7 days later)”. Du kan också justera prompten i AI Agent så att mejlet signeras med ditt företagsnamn istället för ”Upward Engine Team”, och redigera CraftMyPDF-mallen så att den matchar din grafiska profil (logotyp, fotnot, betalningsinstruktioner).

Varför misslyckas min Gmail-anslutning i det här flödet för fakturaautomatisering i Sheets?

Oftast handlar det om en utgången OAuth-anslutning i n8n eller saknade Gmail-behörigheter för Google-kontot du anslutit. Anslut Gmail på nytt i n8n och bekräfta sedan att du kan skicka mejl manuellt från den inkorgen. Om det bara fallerar vid större batcher kan du slå i sändgränser, så sprid ut utskicken eller kör mindre batcher.

Hur många fakturor kan den här fakturaautomatiseringen i Sheets hantera?

Tillräckligt för de flesta små team: den loopar genom väntande rader en och en, så att hantera 50 fakturor i en körning är normalt. På n8n Cloud är din praktiska gräns dina månatliga körningar och hur lång tid varje körning tar; vid egen drift beror det främst på din server och Gmail/CraftMyPDF:s rate limits. Om du förväntar dig hundratals på en gång, kör batcher oftare och håll filtret ”Pending” tajt.

Är den här fakturaautomatiseringen i Sheets bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här flödet har loopning, AI-utkast och PDF-generering på ett ställe, och n8n hanterar den typen av förgreningar utan att ta betalt för varje enskilt steg. Zapier eller Make kan fortfarande fungera om du skickar ett litet antal enkla fakturor och inte bryr dig om avancerad formatering. Men när du vill ha konsekventa mejl, strukturerad parsning av ämne/brödtext och tillförlitliga ”Completed”-uppdateringar tillbaka till Sheets brukar n8n kännas renare. Om du är osäker, prata med en automationsexpert så får du en rak rekommendation baserad på volym och komplexitet.

När detta väl rullar blir ”skicka fakturor” en snabb koll av dina Pending-rader och sedan en trigger. Flödet tar hand om det repetitiva, och din fakturering förblir organiserad utan konstant handpåläggning.

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

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal