Fakturor är ofta där “snabb admin” förvandlas till en timme av detaljjakt. Du kopierar kundinfo från ett formulär, formaterar en faktura, exporterar en PDF, laddar upp den någonstans, skickar mejlet och loggar allt i ett kalkylark. Och ändå missas något.
Operations managers märker det när ordervolymen sticker iväg. Frilansare märker det när en kund frågar efter “den där fakturan från förra månaden”. Och små team som jobbar med fakturaautomation inser ofta att den verkliga smärtan är konsekvens, inte arbetsinsats.
Det här arbetsflödet gör en formulärinlämning till en korrekt formaterad PDF-faktura, en sparad fil i Google Drive och en prydlig loggrad i Google Sheets. Du får se exakt hur det fungerar, vad du behöver och vad du ska justera så att det matchar din faktureringsprocess.
Så fungerar den här automatiseringen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Fakturor i Google Drive, loggade i Google Sheets
flowchart LR
subgraph sg0["Flow 1"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/webhook.dark.svg' width='40' height='40' /></div><br/>Webhook Simulator"]
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Generate Invoice ID"]
n2@{ icon: "mdi:database", form: "rounded", label: "Check if ID Already Exists", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If Does not Exist", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Fields", pos: "b", h: 48 }
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Create Invoice HTML"]
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>HTML to PDF"]
n7@{ icon: "mdi:cog", form: "rounded", label: "Upload PDF to GDrive", pos: "b", h: 48 }
n8@{ icon: "mdi:message-outline", form: "rounded", label: "Email Invoice to Customer", pos: "b", h: 48 }
n9@{ icon: "mdi:database", form: "rounded", label: "Append Details to Invoices S..", pos: "b", h: 48 }
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Download PDF from API"]
n4 --> n5
n6 --> n10
n3 --> n4
n3 --> n1
n0 --> n1
n5 --> n6
n1 --> n2
n7 --> n8
n10 --> n7
n8 --> n9
n2 --> n3
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n3 decision
class n2,n9 database
class n0,n6,n10 api
class n1,n5 code
classDef customIcon fill:none,stroke:none
class n0,n1,n5,n6,n10 customIcon
Problemet: fakturor blir röriga snabbt
Manuell fakturering låter enkelt tills du gör det varje dag. En enda order innebär fem olika “små” uppgifter: skapa ett ID, bygga fakturan, göra den till en PDF, spara filen, mejla den och sedan logga den för senare. Multiplicera det med 10 eller 30 ordrar och du hamnar i kalkylarks-skärselden. Värst är den mentala belastningen. Du går hela tiden och undrar: “Skickade jag den där?” eller “Var sparade jag PDF:en?” och du får inte svar förrän en kund svarar… eller din redovisningskonsult gör det.
Det blir mycket snabbt. Här är var det brukar fallera i riktiga verksamheter.
- Order-ID:n krockar när någon “bara skriver in ett”, och plötsligt ser två fakturor identiska ut i dina register.
- PDF:er hamnar utspridda på skrivbord och Drives, så sökning blir en veckoritual.
- Kunder ber om omutskick eftersom mejl går iväg sent, eller så saknas bilagan.
- Loggningen hoppas över när det är stressigt, vilket gör att din “fakturaflik” slutar vara pålitlig.
Lösningen: från formulär till faktura, automatiskt
Det här n8n-flödet startar i samma ögonblick som ett orderformulär skickas in via en webhook. Det genererar ett unikt faktura-ID (med prefixet INV-), kontrollerar din fakturalogg i Google Sheets så att ID:t inte redan är upptaget och genererar om det om det är det. När ID:t är bekräftat unikt mappar flödet orderdetaljerna till ett strukturerat fakturaformat, bygger fakturamarkup (HTML) och skickar den HTML:en till en HTML-till-PDF-tjänst via RapidAPI. När PDF:en är klar hämtar flödet den, sparar den i Google Drive med ett konsekvent filnamn, mejlar kunden med PDF:en som bilaga och lägger till en ny rad i Google Sheets med order-ID, kunduppgifter, totalsumma och Drive-länken.
Flödet börjar med en webhook och slutar med en loggad fakturarad som du kan filtrera, söka och stämma av senare. Däremellan tar det hand om det irriterande: unika ID:n, konsekvent PDF-generering och filhantering som följer dina namnregler. Du får fakturor som ser likadana ut varje gång och ett underlag du kan lita på.
Det du får: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du tar emot 20 ordrar i veckan. Manuellt kanske du lägger cirka 10 minuter per order på att formatera fakturan, exportera en PDF, ladda upp den till Drive, skicka mejlet och uppdatera ditt ark, vilket blir ungefär 3 timmar i veckan. Med det här flödet är formulärinlämningen det enda “steget” du gör. PDF-generering och uppladdningar kör i bakgrunden, så du landar på en snabb kontroll, kanske 10 minuter totalt per vecka. Det är ett par timmar tillbaka utan att du ändrar hur du säljer.
Det du behöver
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra och kontrollera fakturaposter
- Google Drive för att spara PDF:er med konsekventa filnamn
- RapidAPI-nyckel (hämtas i RapidAPI-dashboarden)
Svårighetsgrad: Medel. Du kopplar konton, klistrar in en API-nyckel och gör mindre ändringar i en fakturamall (HTML) så att den matchar din profil.
Vill du inte sätta upp detta själv? Prata med en automationsspecialist (kostnadsfri 15-minuters konsultation).
Så fungerar det
En formulärinlämning triggar allt. Ditt orderformulär skickar kund- och varukorgsdetaljer till n8n via en webhook, så flödet startar direkt när någon köper.
Ett unikt faktura-ID skapas och verifieras. n8n genererar ett ID som INV-X92B7D och kontrollerar sedan Google Sheets för att bekräfta att just det ID:t inte redan finns i din fakturalogg. Om det finns genererar den ett nytt och kontrollerar igen.
Fakturan sätts ihop och konverteras sedan till PDF. Flödet mappar fält (namn, e-post, artiklar, totalsumma, datum) till en fakturastruktur, bygger HTML-markupen och skickar den till ett HTML-till-PDF-API via en HTTP-request. En annan request hämtar den färdiga PDF-filen.
Filer och register hamnar där du förväntar dig. PDF:en laddas upp till Google Drive med ett filnamn som Invoice-INV-X92B7D.pdf, kunden får ett mejl med PDF:en som bilaga och Google Sheets får en ny rad med order-ID, totalsummor och en Drive-länk.
Du kan enkelt ändra fakturamallen och lagringsreglerna så att de matchar din process. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera webhook-triggern
Sätt upp den inkommande begäran som startar fakturaflödet.
- Lägg till Incoming Webhook Trigger som er triggernod.
- Ställ in Path till
7f884a07-861e-49da-bb0e-1ac6ca40ea00. - Skicka en test-payload med
customer_name,customer_email,productsochtotalså att efterföljande noder har data.
products som en array med rader (line items) med name, price och quantity.Steg 2: Anslut Google Sheets för fakturasökning
Kontrollera om ett faktura-ID redan finns innan ni skapar ett nytt.
- Lägg till Create Invoice Code med den medföljande JavaScript-koden för att generera ett unikt
order_id. - I Lookup Invoice Record ställer ni Document till
[YOUR_ID]och Sheet tillInvoices. - Ställ in sökfiltret Invoice ID till
{{ $json.order_id }}. - Inloggning krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Lookup Invoice Record.
- I Verify Missing Entry behåller ni villkoret att row_number är tomt med
{{ $json.row_number }}för att bara gå vidare när ingen post finns.
row_number, säkerställ att ert ark har en kolumn med rubriken Invoice ID och att rubrikraden identifieras korrekt.Steg 3: Sätt upp datamappning för faktura och generering av HTML
Mappa inkommande webhook-data till strukturerade fält och generera HTML-markupen för fakturan.
- I Map Invoice Fields ställer ni order_id till
{{ $('Create Invoice Code').item.json.order_id }}. - Ställ in customer_name till
{{ $('Incoming Webhook Trigger').item.json.customer_name }}och customer_email till{{ $('Incoming Webhook Trigger').item.json.customer_email }}. - Ställ in products till
{{ $('Incoming Webhook Trigger').item.json.products }}och total till{{ $('Incoming Webhook Trigger').item.json.total }}. - I Build Invoice Markup behåller ni den medföljande JavaScript-koden som bygger HTML-tabellen och totalsummor med hjälp av de mappade fälten.
Steg 4: Konvertera HTML till PDF och spara den
Konvertera HTML-fakturan till en PDF via API och spara den i Google Drive.
- I Convert HTML to PDF ställer ni URL till
https://html2pdf2.p.rapidapi.com/html2pdfoch Method tillPOST. - Ställ in body-parametern html till
{{ $json.html }}. - Ställ in headers x-rapidapi-host till
html2pdf2.p.rapidapi.comoch x-rapidapi-key till[CONFIGURE_YOUR_API_KEY]. - I Fetch PDF from API ställer ni URL till
[YOUR_PDF_URL]om API:t returnerar en nedladdningsbar länk. - I Store PDF in Drive ställer ni Name till
{{ $('Map Invoice Fields').item.json.order_id }} - {{ $('Map Invoice Fields').item.json.customer_name }}. - Inloggning krävs: Anslut era googleDriveOAuth2Api-inloggningsuppgifter i Store PDF in Drive.
[YOUR_PDF_URL]. Ersätt detta med den faktiska URL:en som kommer från er PDF-konverteringstjänst eller mappa den från API-svaret.Steg 5: Skicka fakturan och logga den till Sheets
Mejla fakturan till kunden och skriv posten till Google Sheets.
- I Send Invoice Email ställer ni To Email till
{{ $('Map Invoice Fields').item.json.customer_email }}. - Ställ in Subject till
{{ $('Map Invoice Fields').item.json.order_id }} - New Invoice from Uppfy Shop. - Uppdatera From Email till
Uppfy Shop <[YOUR_EMAIL]>och ersätt[YOUR_PAYMENT_LINK]i HTML-body. - Inloggning krävs: Anslut era smtp-inloggningsuppgifter i Send Invoice Email.
- I Log Invoice to Sheet behåller ni Operation som
appendOrUpdateoch mappar fält som Invoice ID till{{ $('Map Invoice Fields').item.json.order_id }}och Invoice URL till{{ $('Store PDF in Drive').item.json.webViewLink }}. - Inloggning krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Log Invoice to Sheet.
Steg 6: Testa och aktivera ert workflow
Kör ett fullständigt test för att bekräfta skapande av faktura, leverans och loggning.
- Klicka på Execute Workflow och skicka en test-webhook-begäran till Incoming Webhook Trigger.
- Bekräfta att Create Invoice Code genererar ett
order_idoch att Verify Missing Entry passerar när ingen matchning finns. - Verifiera att Store PDF in Drive skapar en PDF i Google Drive och att Send Invoice Email levererar till kunden.
- Kontrollera Log Invoice to Sheet för en ny eller uppdaterad rad med
StatussomUnpaid. - När allt är validerat växlar ni workflowet till Active för att hantera fakturor i produktion.
Vanliga fallgropar
- Behörigheter i Google Drive kan blockera uppladdningar om det kopplade kontot saknar åtkomst. Om filer inte dyker upp, kontrollera n8n-inloggningen och bekräfta att målmappen är delad med det kontot.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- RapidAPI-planer och nycklar kan slå i rate limits eller sluta gälla efter ändringar. Om PDF-konverteringen plötsligt misslyckas, kolla RapidAPI-dashboarden först och bekräfta att endpointen fortfarande returnerar en fil.
- Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du redigera resultaten för alltid.
Vanliga frågor
Cirka 45 minuter om dina Google-konton och din API-nyckel är redo.
Nej. Du kopierar en liten snippet för faktura-ID:t och redigerar en HTML-mall, men i övrigt är det mest “fyll i fält och koppla konton”.
Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer börjar på $20/månad för högre volymer. Du behöver också räkna in RapidAPI-kostnader för HTML-till-PDF-konvertering.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärt och klarar n8n bra. Egen drift ger dig obegränsat antal körningar men kräver grundläggande serverhantering.
Ja, men. Du byter ut noden “Store PDF in Drive” mot en nod för uppladdning till Dropbox och behåller samma filnamnslogik. De flesta anpassar också faktura-HTML:en i steget “Build Invoice Markup” och justerar sedan Google Sheets-kolumnerna i noden “Log Invoice to Sheet” så att de matchar deras bokföringsformat. Om du vill lägga till moms, rader med artikelposter eller en logotyp görs allt i mallen.
Oftast handlar det om behörigheter eller att fel Google-konto är kopplat i n8n. Anslut Google Drive-inloggningen på nytt, bekräfta att målmappen fortfarande finns och se till att kontot kan ladda upp till den. Om du använder en Shared Drive kan du också behöva ha rätt scope aktiverat i inloggningsinställningarna.
Med n8n Cloud Starter kan du köra tusentals exekveringar per månad, och vid egen drift beror det främst på din server. I praktiken är flaskhalsen oftast PDF-konverteringstjänsten och begränsningar för e-postutskick, inte n8n i sig.
Ofta, ja. Det här flödet har ett mönster med “generera ID, kontrollera Sheets, loopa vid dubblett” som blir klumpigt (och ibland dyrt) i Zapier eller Make eftersom förgreningar och retries snabbt ökar antalet tasks. n8n gör det också enklare att bygga fakturamarkup, skicka den till ett HTTP-API och sedan hantera den returnerade filen på ett snyggt sätt. En annan praktisk fördel är egen drift, som tar bort exekveringstak när volymen växer. Zapier eller Make kan fortfarande vara bra för ett enkelt tvåstegsflöde “formulär → e-post”, men detta är en mer komplett faktureringspipeline. Om du är osäker, prata med en automationsspecialist så får du ett rakt svar.
Det här är den typen av fakturaautomation du sätter upp en gång och sedan slutar tänka på. Flödet tar hand om det repetitiva, och din fakturering håller sig äntligen prydlig.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.