Lönehantering blir snabbt rörig. En felaktig cell i ett kalkylblad, en missad e-postbilaga, och plötsligt jagar du rättningar medan teamet frågar: ”Skickade du min?” Den här löneautomatiseringen fixar den del som oftast fallerar: de repetitiva överlämningarna.
HR-chefer känner av det den 28:e. Drift- och operationsansvariga dras in när någons lön inte stämmer. Och grundare hamnar ofta i den sista ”rimlighetskontrollen” eftersom ingen vill ha ett lönefel på sitt bord.
Det här flödet hämtar löneunderlag från Google Sheets, beräknar nettolön, skapar PDF-lönespecifikationer, mejlar personalen och postar en HR-bekräftelse i Slack. Du får se vad det ersätter, vad du behöver och hur det fungerar i praktiken.
Så fungerar den här automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: Google Sheets + Slack: lönekörningar utan kaos
flowchart LR
subgraph sg0["Monthly Payroll Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Monthly Payroll Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:database", form: "rounded", label: "Get Employee Data", pos: "b", h: 48 }
n2["<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/>AI Calculate Salary"]
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/code.svg' width='40' height='40' /></div><br/>Format Payslip Data"]
n4@{ icon: "mdi:database", form: "rounded", label: "Log to Payroll Sheet", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Generate PDF Payslip"]
n6@{ icon: "mdi:message-outline", form: "rounded", label: "Email Payslip to Employee", pos: "b", h: 48 }
n7["<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/slack.svg' width='40' height='40' /></div><br/>Notify HR on Slack"]
n1 --> n2
n2 --> n3
n3 --> n4
n3 --> n5
n5 --> n6
n4 --> n6
n0 --> n1
n6 --> n7
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 n0 trigger
class n1,n4 database
class n2,n5 api
class n3 code
classDef customIcon fill:none,stroke:none
class n2,n3,n5,n7 customIcon
Utmaningen: lönekörning som bygger på ”glöm inte”
Lönearbete är inte svårt för att matematiken är omöjlig. Det är svårt för att processen är skör. Du samlar in underlag från ett blad, kopierar värden till en kalkylator eller ett lönesystem, dubbelkollar avdrag, skapar en lönespecifikation, bifogar den i ett mejl och försöker sedan komma ihåg vem du har skickat till och vad som har ändrats sedan förra månaden. Ett avbrott och du tappar tråden. Än värre: den ”slutliga versionen” av kalkylbladet förblir sällan slutlig särskilt länge, vilket gör att ditt revisionsspår blir otydligt när någon ställer frågor senare.
Det blir snabbt kostsamt. Här är var det brukar fallera i riktiga team.
- Manuella nettolöneberäkningar bjuder in till tysta fel, särskilt när skatter och avdrag varierar mellan anställda.
- Folk skickar lönespecifikationer en och en, vilket gör att bilagor missas eller att fel fil går till fel person.
- Statusspårningen finns i någons huvud, så HR kan inte säkert svara på ”Har alla fått lön och blivit informerade?”
- När du behöver underlag senare letar du i gamla mejl och föråldrade blad i stället för att öppna en enda strukturerad liggare.
Lösningen: Google Sheets till lönespecifikationer, sedan Slack-bekräftelse
Det här flödet körs enligt schema (den 28:e som standard), läser dina löneunderlag per anställd från ett Google Sheet och skickar varje rad genom ett steg som beräknar nettolön. I stället för att förlita sig på manuella formler utspridda över flikar använder det ett AI-assisterat beräkningssteg (via en HTTP-förfrågan) så att skatter och avdrag tillämpas konsekvent med samma regler varje gång. Därefter strukturerar det lönespecifikationsdetaljerna i ett korrekt formaterat, repeterbart format, genererar en individuell PDF-lönespecifikation per anställd och loggar lönekörningen tillbaka till Google Sheets för dokumentation. Till sist mejlar det de anställda deras lönespecifikation och postar en tydlig ”lönekörning klar”-notis till HR i Slack, så att ingen behöver gissa vad som hände.
Flödet startar med en månadstrigger och en läsning från Google Sheets. Sedan beräknar det nettolön, förbereder lönespecifikationsdata och skapar PDF-filer automatiskt. I slutet får de anställda mejl med bilagor och HR får ett Slack-meddelande som bekräftar att körningen är klar.
Vad som förändras: före vs. efter
| Det här elimineras | Effekten du märker |
|---|---|
|
|
Effekt i verkligheten
Säg att du har 20 anställda. Manuellt kan du lägga cirka 5 minuter per person på att verifiera nettolön, skapa en PDF, bifoga den, skicka den och uppdatera en ”skickad”-status, alltså ungefär 100 minuter. Lägg till ytterligare 30 minuter för att fixa småproblem och svara på frågor, och lönekörningsdagen blir i praktiken en halv förmiddag. Med det här flödet kan ”mänsklig tid” sjunka till cirka 15 minuter: granska Google Sheet, kör ett test och låt sedan den schemalagda körningen skicka mejl och posta Slack-bekräftelsen.
Krav
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Google Sheets för löneunderlag per anställd och liggare.
- Gmail (eller SMTP e-post) för att mejla PDF-lönespecifikationer till personalen.
- Slack för att notifiera HR när lönekörningen är klar.
- OpenAI API-nyckel (hämta den i OpenAI-dashboarden).
Kunskapsnivå: Medel. Du kopplar konton, mappar kolumner i bladet och justerar nettolönereglerna i AI-steget.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så går flödet till
Ett månadschema startar allt. Som standard kör det den 28:e, vilket matchar många lönecykler. För test kan du köra det manuellt först så att du inte experimenterar på lönekörningsdagen.
Löneunderlag per anställd hämtas från Google Sheets. Varje rad blir en ”payload” för en anställd (namn, grundlön, avdrag och allt annat du lägger till). Den konsekvensen är viktig, eftersom resten av flödet utgår från att arket är din sanningskälla.
Nettolön beräknas med en AI-assisterad förfrågan. Flödet skickar den anställdas data till ett beräkningssteg, tillämpar de skatte- och avdragsregler du definierar och returnerar sedan nettolön i ett strukturerat format. Här kodar du lokala regler och specialfall, så att du slipper ompröva samma saker varje månad.
Lönespecifikationer skapas, loggas och distribueras. Flödet bygger PDF-lönespecifikationer, lägger till en loggrad tillbaka i Google Sheets, mejlar PDF:en till varje anställd och postar sedan en Slack-notis till HR som bekräftar att körningen är klar.
Du kan enkelt ändra schemadatumet för att köra varannan vecka eller en annan dag utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-implementeringsguide
Steg 1: Konfigurera schematriggern
Ställ in den månatliga starten som initierar lönekörningen.
- Lägg till och öppna Scheduled Payroll Kickoff.
- I Rule, behåll de månatliga schemainställningarna som använder
monthDaysför att köras med månadsvis frekvens. - Bekräfta att noden är ansluten till Retrieve Staff Records.
Steg 2: Anslut Google Sheets
Ladda in medarbetardata och skriv löneposter till er huvudbok.
- Öppna Retrieve Staff Records och ställ in Document ID till
[YOUR_ID]och Sheet Name tillEmployees. - Inloggningsuppgifter krävs: Anslut era googleApi-inloggningsuppgifter (servicekonto) i Retrieve Staff Records.
- Öppna Append Payroll Ledger och ställ in Operation till
append, Document ID till[YOUR_ID]och Sheet Name tillPayroll. - Inloggningsuppgifter krävs: Anslut era googleApi-inloggningsuppgifter (servicekonto) i Append Payroll Ledger.
Steg 3: Sätt upp lönebearbetning och skapande av PDF
Beräkna nettolön, strukturera payloaden och generera lönebeskeds-PDF:en.
- Öppna Compute Net Salary och bekräfta att URL är
https://api.openai.com/v1/chat/completionsmed Method inställd påPOST. - I Compute Net Salary > Body Parameters, behåll värdet för messages som
=[{"role":"system","content":"Calculate net salary with deductions (tax, insurance, provident fund). Return JSON format."},{"role":"user","content":"Employee: {{$json.Name}}, Base Salary: {{$json.BaseSalary}}, Allowances: {{$json.Allowances}}, Deductions: {{$json.Deductions}}"}]. - Öppna Structure Payslip Details och behåll JavaScript Code som mappar lönefält och formaterar
monthochpaymentDate. - Structure Payslip Details skickar output parallellt till både Append Payroll Ledger och Create Payslip PDF.
- Öppna Create Payslip PDF och ställ in URL till
https://api.pdfmonkey.io/api/v1/documents, med Body Parameters som använder={"template_id":"[YOUR_ID]","payload":{"name":"{{$json.employeeName}}","employee_id":"{{$json.employeeId}}","month":"{{$json.month}}","base_salary":{{$json.baseSalary}},"allowances":{{$json.allowances}},"deductions":{{$json.deductions}},"net_salary":{{$json.netSalary}}}}.
Steg 4: Konfigurera e-post- och Slack-notiser
Leverera lönebesked via e-post och avisera HR i Slack.
- Öppna Dispatch Payslip Email och ställ in Subject till
=💰 Salary Credited - {{$json.month}}, To Email till={{$json.employeeEmail}}och From Email till[YOUR_EMAIL]. - I Dispatch Payslip Email > Options, ställ in Attachments till
payslip_{{$json.employeeId}}_{{$json.month}}.pdf. - Inloggningsuppgifter krävs: Anslut era smtp-inloggningsuppgifter i Dispatch Payslip Email.
- Öppna Post HR Slack Alert och ställ in Text till
=✅ *Payroll Processed* *Employee:* {{$json.employeeName}} ({{$json.employeeId}}) *Month:* {{$json.month}} *Net Salary:* ₹{{$json.netSalary}} *Status:* Payment notification sent. - Inloggningsuppgifter krävs: Anslut era slackApi-inloggningsuppgifter i Post HR Slack Alert och välj mål-användaren i Select.
Steg 5: Testa och aktivera ert arbetsflöde
Verifiera körningen end-to-end innan ni aktiverar produktionsscheman.
- Klicka på Execute Workflow och följ körningen från Scheduled Payroll Kickoff till Post HR Slack Alert.
- Bekräfta att parallell exekvering lyckas efter Structure Payslip Details (både Append Payroll Ledger och Create Payslip PDF ska slutföras).
- Kontrollera ert Google Sheet
Payrollför nya rader, verifiera att e-postmeddelandet kommer fram med PDF-bilagan och bekräfta att Slack-aviseringen skickas. - Växla arbetsflödet till Active för att köra automatiskt enligt schemat som definieras i Scheduled Payroll Kickoff.
Se upp med
- Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera Google-kopplingen i n8n under Credentials och bekräfta att arket är delat med det anslutna Google-kontot.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera output i all evighet.
Vanliga frågor
Cirka 60 minuter om dina konton och arket är redo.
Ja. Du skriver ingen traditionell kod, men du kommer att mappa kolumner, koppla konton och testa med realistiska exempelrader.
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 volymer. Du behöver också räkna med OpenAI API-kostnader (oftast några cent per körning, beroende på användning).
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.
Du kan justera schemat så att det matchar din lönecykel och sedan anpassa logiken för skatt och avdrag i steget ”Compute Net Salary” så att den matchar dina lokala regler. Steget som läser från Google Sheets är också enkelt att byta om du döper om kolumner eller lägger till fält som bonusar, utlägg eller obetald ledighet. Många team anpassar även innehållet i ”Dispatch Payslip Email” så att det matchar HR:s tonalitet och inkluderar en reply-to-adress för frågor.
Oftast handlar det om behörigheter. Det anslutna Google-kontot måste ha åtkomst till arket och sheet-ID:t måste vara korrekt. Om det fungerade en gång och sedan slutade, autentisera om Google Sheets-inloggningen i n8n och bekräfta att kalkylarket inte har flyttats till en begränsad Drive-plats.
För de flesta små team hanterar den en full lönekörning utan problem.
Ofta, ja. Det här flödet har några rörliga delar: läsa rader, transformera data, anropa externa tjänster för att beräkna och generera PDF:er och sedan förgrena utdata till både e-post och Slack. n8n passar bättre för den typen av flerstegslogik utan att varje extra steg blir en kostnadsöverraskning. Zapier och Make kan fortfarande fungera, men du kan slå i begränsningar snabbare när du skalar till fler anställda eller vill ha mer detaljerad loggning. Om du vill ha en second opinion innan du väljer plattform, prata med en automationsexpert så stresstestar vi din setup.
Lönehantering ska inte kännas som att desarmera en bomb en gång i månaden. Sätt upp detta, testa och låt flödet hantera de repeterbara delarna, medan du behåller kontrollen över regler och godkännanden.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.