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

Google Sheets + PDF.co: kundklara kostnads-pdf:er

Rickard Andersson Partner, Nodenordic.se

Rapportering ska inte kännas som att du bygger om samma dokument varje vecka. Men om du kopierar kostnadsrader från Google Sheets, summerar dem för hand och försöker få den slutliga PDF:en att se ”kundredo” ut, vet du redan hur lätt det är att missa en rad eller klistra in fel totalsumma.

Marknadschefer får meddelandet ”kan du skicka det här idag?”. Byråägare märker det när varje kund vill ha en lite annorlunda vy. Och en konsult som jobbar solo har inte tid att leka designer. Den här automatiseringen för Sheets PDF-rapporter gör råa kostnadsrader till en konsekvent rapport som du kan dela utan att behöva tveka.

Du sätter upp ett n8n-flöde som hämtar ditt ark, summerar spend per kanal, ber AI skriva en sammanfattning på enkel svenska och renderar sedan en snygg PDF via PDF.co med din egen HTML-mall.

Så fungerar automatiseringen

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

n8n Workflow Template: Google Sheets + PDF.co: kundklara kostnads-pdf:er

Varför det här spelar roll: kundrapportering blir snabbt rörig

Kostnadsrapportering låter enkelt tills du gör det under tidspress. Du börjar med ett Google Sheet som är ”hyfsat strukturerat”, och så inser du att kanalerna heter tre olika saker, totalsummor inte matchar och du formaterar en PDF fem minuter innan ett samtal. Det värsta är den mentala belastningen. Du tänker inte på insikter eller nästa steg. Du skannar rader, letar fel och hoppas att du inte glömde uppdatera en siffra i slutdokumentet. Det är slitjobb som ser viktigt ut eftersom det slutar i en snygg fil.

Friktionen bygger på. Här brukar det oftast fallera.

  • Kopiering och klistra in av kostnadstotaler bjuder in små fel som är svåra att upptäcka när de väl ligger i en formaterad rapport.
  • När kanaler ändras (ny kampanj, ny plattform) slutar din ”mall” att matcha datan och du är tillbaka i manuella korrigeringar.
  • Uppdateringar tar längre tid än de borde, så du skjuter på att skicka rapporten och tappar momentum med kunden.
  • Din rapporteringsstil glider över tid, vilket innebär att kunden ser inkonsekventa PDF:er från vecka till vecka.

Det du bygger: Google Sheets-data → varumärkesanpassad PDF-rapport

Det här flödet gör om ditt marknadsföringsark med spend till en delbar PDF i ett enda körningstillfälle. Det börjar med att hämta rader från ett Google Sheet (samma plats som teamet redan uppdaterar dagliga kostnader i). Därifrån summerar n8n totalsummor och räknar spend per kanal så att du slipper skapa och underhålla sköra formler över flera flikar. Därefter skriver en agent med OpenAI-stöd en kort, berättande sammanfattning baserad på siffrorna, så att rapporten inte läser som en ren kalkylexport. Till sist formar flödet om allt till exakt de fält som din PDF.co-HTML-mall förväntar sig och renderar en polerad PDF som du kan skicka till en kund eller lägga i Drive.

Flödet startar med en manuell körning (perfekt när någon säger ”skicka nu”), går vidare genom sammanfattning och AI-text, och avslutas med att skapa en PDF via PDF.co. Slutresultatet är ett konsekvent dokument i rätt varumärkeston, byggt på färska data från arket.

Det du bygger

Förväntade resultat

Säg att du skickar en kostnadsrapport per vecka för 5 kunder. Manuellt kanske du lägger cirka 20 minuter på att hämta och summera data från Google Sheets plus ytterligare 25 minuter på att formatera en ”snygg” PDF, alltså ungefär 45 minuter per kund (nära 4 timmar per vecka). Med det här flödet uppdaterar du arket som vanligt, kör automatiseringen och lägger sedan kanske 5 minuter på att rimlighetskontrollera PDF:en och lägga till en kort notis. Det ger cirka 3 timmar tillbaka de flesta veckor, utan att ändra din rapporteringsfrekvens.

Innan du börjar

  • 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 dina kostnadsrader
  • PDF.co för att rendera din HTML-mall till en PDF
  • OpenAI API-nyckel (hämta den i din OpenAI-dashboard)

Svårighetsgrad: Nybörjare. Du kopplar konton, klistrar in ett mall-ID och justerar några fält.

Vill du att någon bygger det här åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

Du triggar rapporten när du behöver den. Flödet använder manuell start, vilket är perfekt för kundförfrågningar som kommer mitt på dagen eller precis före ett möte.

Google Sheets-data hämtas in i n8n. Flödet läser dina kostnadsrader från valt kalkylark och vald flik, så att rapporten alltid speglar de senaste uppdateringarna som teamet gjort.

Din spend sammanfattas och görs om till en berättande text. n8n summerar totalsummor och spend per kanal, och sedan skriver en AI-agent (driven av en OpenAI-chatmodell) en kort sammanfattning som är lättare att förstå än råa tabeller.

En PDF genereras från din mall. Flödet paketerar totalsummor, rader och sammanfattningstext i rätt format och skickar det till PDF.co för att rendera en färdig PDF-rapport.

Du kan enkelt ändra arkfilter för att generera PDF:er per kund eller per kampanj utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera den manuella triggern

Det här arbetsflödet startar vid behov och hämtar data för marknadsföringskostnader när ni kör det manuellt.

  1. Lägg till noden Manual Execution Start som din trigger.
  2. Koppla Manual Execution Start till Fetch Marketing Sheet.
  3. Behåll klisterlappen Flowpast Branding som referensblock (valfritt, ingen konfiguration behövs).

Steg 2: anslut Google Sheets

Hämta datasetet med marknadsföringskostnader från ert Google-ark för att mata beräkningarna.

  1. Lägg till noden Fetch Marketing Sheet och ställ in Document till [YOUR_ID].
  2. Ställ in Sheet Name till [YOUR_ID] (cachat namn: Data).
  3. Inloggning krävs: anslut era googleSheetsOAuth2Api-uppgifter.
  4. Notera det parallella flödet: Fetch Marketing Sheet skickar utdata parallellt till både Compute Total Spend och Aggregate Channel Spend.

Om ert ark har andra kolumnrubriker, säkerställ att fälten Spend ($) och Channel matchar exakt för efterföljande summering.

Steg 3: konfigurera aggregeringar för kostnader

Summera totalkostnader och kanaluppdelningar innan ni genererar rapporten.

  1. I Compute Total Spend, ställ in Fields To Summarize till att summera Spend ($).
  2. I Aggregate Channel Spend, ställ in Fields To Split By till Channel och summera Spend ($) med aggregeringen sum.
  3. Koppla Aggregate Channel Spend till Collapse to Single Row med Aggregate satt till aggregateAllItemData.
  4. Notera det parallella flödet: Collapse to Single Row skickar utdata parallellt till både Merge All Results och Generate Summary Text.
  5. Koppla Compute Total Spend till Merge All Results.

⚠️ Vanlig fallgrop: Om arket returnerar flera items, säkerställ att Collapse to Single Row är kopplad, annars kan er AI-sammanfattning och merge-steget få arrayer i oväntade format.

Steg 4: konfigurera generering av AI-sammanfattning

Generera en kortfattad narrativ sammanfattning av de aggregerade kostnadsdata med hjälp av AI-agenten.

  1. I Generate Summary Text, ställ in Text till ={{ $json.data }}.
  2. Låt Prompt Type vara satt till define och bekräfta att Has Output Parser är aktiverat.
  3. Använd Structured Output Reader med JSON Schema Example satt till { "summary": "summary" }.
  4. Koppla OpenAI Chat Engine som språkmodell till Generate Summary Text.
  5. Inloggning krävs: anslut era openAiApi-uppgifter till OpenAI Chat Engine.
  6. Notering om AI-verktyg: Structured Output Reader är en undernod; lägg till uppgifter på den överordnade OpenAI Chat Engine, inte på parsern.

Steg 5: konfigurera PDF-payload och rendering

Kombinera resultaten och formatera det slutliga datasetet för PDF-generering.

  1. I Merge All Results, ställ in Mode till combine, Combine By till combineByPosition, och Number Inputs till 3.
  2. I Prepare PDF Payload, behåll den angivna JavaScript Code som den är för att formatera totaler, kanaler och sammanfattning.
  3. I Render PDF Report, ställ in Operation till URL/HTML to PDF, Convert Type till htmlTemplateToPDF, och Template ID till [YOUR_ID].
  4. Ställ in Template Data till ={{ JSON.stringify($json) }}.
  5. Inloggning krävs: anslut era pdfcoApi-uppgifter till Render PDF Report.

Se till att er PDF.co-mall förväntar sig fält som totalSpendFmt, channels och summary så att de matchar utdata från Prepare PDF Payload.

Steg 6: testa och aktivera ert arbetsflöde

Kör ett manuellt test för att bekräfta dataflödet, genereringen av sammanfattning och PDF-renderingen.

  1. Klicka på Execute Workflow för att köra Manual Execution Start och trigga hela kedjan.
  2. Verifiera att Compute Total Spend matar ut en summa för Spend ($) och att Aggregate Channel Spend matar ut totaler per kanal.
  3. Bekräfta att Generate Summary Text returnerar ett JSON-objekt som innehåller summary och att Merge All Results kombinerar tre indata.
  4. Kontrollera Render PDF Report för ett lyckat PDF-svar från PDF.co.
  5. När ni är nöjda, 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

Felsökningstips

  • Google Sheets-autentisering kan löpa ut eller kräva specifika behörigheter. Om det slutar fungera, kontrollera n8n → Credentials → Google Sheets och autentisera om kontot som äger kalkylarket först.
  • PDF.co-anrop kan misslyckas om mall-ID:t är fel eller om API-nyckeln saknar åtkomst. Öppna din PDF.co-dashboard, bekräfta att HTML-till-PDF-mallen finns, och kopiera sedan Template ID till noden Render PDF Report.
  • Standardprompter i AI-noder är generiska. Lägg in din rapporteringston (”rakt på sak, kundvänligt, inget hype”) i steget Generate Summary Text, annars kommer du att redigera utdata för alltid.

Snabba svar

Hur lång tid tar det att sätta upp den här automatiseringen för Sheets PDF-rapporter?

Cirka 30 minuter om ditt ark och ditt PDF.co-konto är redo.

Krävs kodning för den här PDF-automatiseringen för spend?

Nej. Du kopplar mestadels konton och klistrar in ditt PDF.co mall-ID. Det finns en Code-nod i flödet, men den är redan byggd åt dig.

Är n8n gratis att använda för det här flödet för Sheets PDF-rapporter?

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 (ofta bara några cent per rapport) och PDF.co-användning beroende på hur många PDF:er du genererar.

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 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 Sheets PDF-rapporter för andra användningsfall?

Ja, och det bör du. De flesta börjar med att filtrera Google Sheets-hämtningen till en enskild kund, ett datumintervall eller en kampanj, och sedan justera instruktionerna för AI-sammanfattningen i Generate Summary Text. Du kan också byta PDF.co-mall för att matcha olika kunder utan att röra aggregeringslogiken, så länge steget Prepare PDF Payload mappar fält som din mall förväntar sig.

Varför misslyckas min Google Sheets-anslutning i det här flödet?

Oftast är det en OAuth-session som har löpt ut eller att det anslutna Google-kontot inte har åtkomst till kalkylarket. Återanslut Google Sheets-credential i n8n och bekräfta sedan att Spreadsheet ID och fliknamn matchar exakt. Kontrollera också att arket fortfarande har data i de förväntade raderna; tomma hämtningar kan se ut som ”det är trasigt” när det egentligen är ”inga rader returnerades”.

Vilken volym klarar det här flödet för Sheets PDF-rapporter?

För de flesta små team hanterar det veckovis och daglig rapportering utan problem. På n8n Cloud är din gräns främst dina månatliga körningar, och varje rapportkörning är vanligtvis en körning. Om du kör egen drift finns ingen körningsgräns, så kapaciteten handlar om din server och API-rate limits från Google Sheets, OpenAI och PDF.co.

Är den här automatiseringen för Sheets PDF-rapporter bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här flödet kombinerar sammanfattning, AI-textgenerering och ett anpassat PDF-renderingssteg på ett ställe. n8n är bra på flerstegslogik och datatransformering, så du kan slå ihop totalsummor, kanaluppdelningar och berättande text utan krångliga kringlösningar. Zapier och Make kan göra delar av det, men du kan märka att det blir dyrare när du lägger till förgreningar, formateringssteg och högre uppgiftsvolym. Den stora vinsten är kontroll: du kan köra egen drift, hålla kostnaderna förutsägbara och anpassa payloaden till exakt din PDF-mall. Om du är osäker, prata med en automationsexpert så pekar vi dig till det enklaste alternativet för din setup.

När det här väl är igång blir rapportering ett knapptryck och en snabb granskning. Flödet tar hand om det repetitiva, och du kan fokusera på vad spend faktiskt betyder.

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