Månadsrapportering låter enkelt tills du sitter med exporter, halvfärdiga PDF:er och ett utkast till mejl som du inte vågar skicka eftersom bilagan kan vara fel.
Den här automatiseringen för PostgreSQL PDF email träffar driftschefer först, men analytiker som bygger återkommande sammanställningar och grundare som fortfarande “äger rapporteringen” känner av den också. Du slutar bygga om samma rapport varje månad och börjar skicka en konsekvent, snygg PDF automatiskt.
Det här flödet hämtar data för energiproduktion från PostgreSQL, gör om den till en profilerad PDF via PDF.co och mejlar den via Gmail. Du ser vad som automatiseras, vad du behöver och var team oftast snubblar.
Så fungerar automatiseringen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: PostgreSQL till Gmail, PDF-rapporter skickas åt dig
flowchart LR
subgraph sg0["Monthly Flow"]
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/code.svg' width='40' height='40' /></div><br/>Transform data"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Convert data to pdf"]
n2@{ icon: "mdi:message-outline", form: "rounded", label: "Send Report", pos: "b", h: 48 }
n3["<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/postgres.svg' width='40' height='40' /></div><br/>Get energy data"]
n4@{ icon: "mdi:play-circle", form: "rounded", label: "Monthly Trigger", pos: "b", h: 48 }
n0 --> n1
n3 --> n0
n4 --> n3
n1 --> n2
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 n4 trigger
class n3 database
class n1 api
class n0 code
classDef customIcon fill:none,stroke:none
class n0,n1,n3 customIcon
Problemet: månadsrapportering blir copy-paste-kaos
Månadsvisa prestandarapporter börjar oftast med goda intentioner. Sedan kommer verkligheten: du exporterar från PostgreSQL, rensar kolumner, klistrar in i en mall, genererar en PDF och mejlar manuellt till en lista som ändras mer än du vill. Ett missat filter (fel datumintervall), en gammal bilaga eller en “final_v7.pdf” senare sitter du och svarar på frågor i stället för att analysera resultat. Och eftersom det bara händer en gång i månaden känns det aldrig värt att “bygga ordentligt” förrän du har bränt några eftermiddagar på det.
Det går snabbt att det blir mycket. Här är var det brukar fallera.
- Någon måste komma ihåg att köra rapporten, vilket gör att “månadsvis” blir “när vi kommer ihåg.”
- Exporter glider över tid när scheman ändras, så mallen slutar matcha datan och PDF:en ser slarvig ut.
- Manuell hantering av bilagor är riskfylld, och att fel fil går till intressenter är en helt onödig trovärdighetsförlust.
- Även när det funkar lägger du ändå cirka 2 timmar per månad på formatering och utskick i stället för att läsa siffrorna.
Lösningen: PostgreSQL → PDF.co → Gmail, helt automatiserat
Det här flödet körs enligt ett månadsschema och gör det tråkiga åt dig. n8n triggar automatiseringen, kör en fråga mot din PostgreSQL-tabell energy_data och skickar resultaten till steget “Prepare Report Payload” som strukturerar allt till korrekt formaterad JSON (inklusive ett datumintervall och en kort notis). Därefter gör PDF.co om den strukturerade datan till en formaterad PDF-rapport med en mall du kan profilera och styra. Till sist skickar Gmail PDF:en (eller en länk) till de mottagare du väljer, så intressenter får samma rapportformat varje månad utan att du rör exporter eller bilagor.
Flödet börjar med en månadstrigger, hämtar sedan poster från PostgreSQL baserat på din fråga. Därefter förbereds ett rapport-payload och en PDF genereras via PDF.co. Till sist levererar Gmail den färdiga rapporten till din intressentlista.
Det här får du: automatisering vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du skickar en månadsrapport till 12 intressenter. Manuellt kanske du lägger cirka 30 minuter på att exportera och rensa data, ytterligare 45 minuter på att få PDF:en att se rätt ut och cirka 15 minuter på att dubbelkolla mottagare och bilagor. Det blir ungefär 1,5 till 2 timmar varje månad. Med det här flödet lägger du kanske 10 minuter en gång på att sätta mottagare och mall, och sedan är körningen hands-off: trigga, generera, mejla, klart.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- PostgreSQL för rapporttabellen
energy_data - PDF.co för att rendera strukturerad data till en PDF
- Gmail för att skicka rapporten till intressenter
- PDF.co API-nyckel (hämta den i din PDF.co-dashboard)
Kunskapsnivå: Nybörjare. Du kopplar konton, klistrar in en API-nyckel och uppdaterar en SQL-fråga samt mottagarnas mejladresser.
Vill du inte sätta upp det här själv? Prata med en automations-expert (gratis 15-minuters konsultation).
Så fungerar det
Månadstrigger. Flödet körs automatiskt en gång i månaden, så rapporteringen hänger inte på att någon kommer ihåg en kalenderuppgift.
Hämta rätt poster från PostgreSQL. n8n frågar din databas (oftast tabellen energy_data) och returnerar de rader som behövs för månadens sammanfattning.
Förbered ett korrekt formaterat rapport-payload. Ett kodsteg transformerar de råa raderna till ett strukturerat JSON-objekt (datumintervall, poster och en notis), vilket gör nästa steg förutsägbart och enklare att underhålla.
Generera och skicka PDF:en. PDF.co gör om payloadet till en PDF, och sedan mejlar Gmail den till dina definierade mottagare, antingen som bilaga eller som länk beroende på din konfiguration.
Du kan enkelt ändra SQL-filtreringen för att rikta in dig på en specifik anläggning och ändra PDF-mallen så att den matchar din profil. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera den schemalagda triggern
Ställ in månadschemat så att arbetsflödet körs automatiskt återkommande.
- Lägg till och öppna Scheduled Monthly Starter.
- Konfigurera regeln för att köra månadsvis genom att ställa in Interval till
monthsoch Trigger At Minute till1. - Koppla Scheduled Monthly Starter till Retrieve Energy Records.
Steg 2: Anslut Postgres och hämta energidata
Hämta energiproduktionsposter från er databas för rapportperioden.
- Öppna Retrieve Energy Records och ställ in Operation till
select. - Ställ in Schema till
publicoch Table tillenergy_data. - Credential Required: Anslut era Postgres-inloggningsuppgifter (den här noden har inga inloggningsuppgifter konfigurerade ännu).
- Koppla Retrieve Energy Records till Prepare Report Payload.
Steg 3: Konfigurera databehandling i kodnoden
Transformera databasresultaten till en JSON-payload som kan konverteras till en PDF.
- Öppna Prepare Report Payload och behåll JavaScript Code som angivet för att bygga payloaden
json_string. - Verifiera att utdata innehåller
date_range, arrayenrecordsmappad från$input.all()ochnotemed värdetTEST. - Koppla Prepare Report Payload till Generate PDF Output.
Steg 4: Konfigurera PDF-generering och e-postutskick
Konvertera HTML-payloaden till en PDF och mejla länken till mottagarna.
- Öppna Generate PDF Output och ställ in URL till
https://api.pdf.co/v1/pdf/convert/from/html. - Aktivera Send Body, Send Query och Send Headers till
true. - Credential Required: Om er PDF.co-endpoint kräver autentisering, lägg till nödvändiga inloggningsuppgifter eller headers i Generate PDF Output.
- Öppna Email Report Dispatch och ställ in Subject till
Energy Report. - Ställ in Message till
=Your monthly energy report is as follows {{ $json.url }}och Email Type tilltext. - Credential Required: Anslut era
gmailOAuth2-inloggningsuppgifter i Email Report Dispatch. - Säkerställ att Generate PDF Output är kopplad till Email Report Dispatch.
$json.url är tom kan PDF-konverteringsanropet sakna nödvändig body eller HTML-innehåll. Bekräfta att PDF-API:t tar emot payloaden som genereras i Prepare Report Payload.Steg 5: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att bekräfta att rapporten genereras och levereras innan ni aktiverar schemat.
- Klicka på Execute Workflow för att köra ett manuellt test som startar vid Scheduled Monthly Starter.
- Verifiera att Retrieve Energy Records returnerar rader från
energy_dataoch att Prepare Report Payload ger ut enjson_string. - Bekräfta att Generate PDF Output returnerar en giltig
urloch att Email Report Dispatch skickar ett mejl som innehåller rapportlänken. - När allt är verifierat, slå på arbetsflödet Active för att aktivera månadsautomation.
Vanliga fallgropar
- Gmail OAuth-inloggningar kan löpa ut eller tappa behörigheter efter säkerhetsändringar. Om mejl slutar skickas, kontrollera först status för Gmail-inloggningen i n8n och autentisera om vid behov.
- Om du använder Wait-noder eller extern rendering varierar processtider. Öka väntetiden om noder längre fram fallerar på tomma svar.
- PDF.co-anrop är känsliga för mallar och payload-struktur. Om PDF-utdata ser trasig ut, granska PDF.co-request body och formateringen i “Prepare Report Payload” tillsammans.
Vanliga frågor
Cirka 30 minuter om dina inloggningar och din fråga är klara.
Nej. Du kopplar mest konton och klistrar in nycklar. Den enda “koden” är valfria justeringar av rapport-payloadet om du vill ha extra fält.
Ja. n8n har ett gratis alternativ för egen hosting 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 PDF.co API-användning baserat på hur många PDF:er du genererar.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, och det är en vanlig justering. Ändra SQL-frågan i PostgreSQL-noden för att filtrera på anläggning/site och justera kodsteget “Prepare Report Payload” så att det inkluderar metadata för anläggningen. Du kan också byta PDF.co-mall för att lägga till profilering, KPI:er eller en annan layout för varje intressentgrupp.
Oftast handlar det om utgången OAuth-auktorisering i n8n. Anslut Gmail-inloggningen igen och bekräfta att avsändarkontot fortfarande har behörighet att skicka, särskilt om säkerhetsinställningar har ändrats. Dubbelkolla även mottagarfältet i Gmail-noden, eftersom en felaktigt formaterad adress kan göra att utskicket misslyckas utan tydlig feltext beroende på din konfiguration.
På n8n Cloud Starter klarar du vanligtvis några tusen flödeskörningar per månad, vilket räcker gott för månadsrapportering. Om du kör med egen hosting finns ingen körningsgräns; det beror främst på din server och hur tunga dina PDF.co-renderingar är. I praktiken skalar team detta genom att generera en PDF per site, eller en sammanslagen PDF per månad, och sedan mejla länkar i stället för stora bilagor när listan växer.
Ofta, ja. n8n är mer flexibelt när du behöver en riktig SQL-fråga, ett transformationssteg och en anpassad PDF-rendering i samma flöde, och egen hosting gör volymkostnaderna mer förutsägbara. Zapier eller Make kan fungera bra för enklare flöden som “skicka ett meddelande när X händer”, men PDF-generering plus databaslogik blir snabbt klumpigt. Om du är osäker: tänk på förändring. Om ditt rapportformat utvecklas kvartalsvis kommer du uppskatta att ha full kontroll. Prata med en automations-expert så hjälper vi dig välja den renaste vägen.
När det här väl rullar blir månadsavslutsrapporteringen bakgrundsbrus. Ärligt talat är det målet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.