Lager“hantering” betyder ofta att någon öppnar ett kalkylark, kisar på några rader och hoppas att inget snart tar slut. Sedan upptäcker du att en kritisk artikel saknas när jobbet redan är igång. Inte optimalt.
Det här drabbar driftchefer först, men kontorsadministratörer och projektledare känner av det också. Med låglagervarningar som körs automatiskt slutar du med dagliga kalkylarkskontroller och får i stället ett enkelt mejl bara när något behöver uppmärksammas.
Det här arbetsflödet använder n8n för att kontrollera ditt Google-kalkylark enligt schema, uppdatera lagersummor och mejla dig en lista med lågt saldo när nivåer faller under dina tröskelvärden. Du ser delarna som ingår, vad du behöver och var team oftast kör fast.
Så fungerar den här automatiseringen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: Google Sheets + e-post: låglagersvarningar på autopilot
flowchart LR
subgraph sg0["Flow 1"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Daily Stock Check", pos: "b", h: 48 }
n1@{ icon: "mdi:database", form: "rounded", label: "Fetch Stock 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/code.svg' width='40' height='40' /></div><br/>Update Stock Levels"]
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/>Check Low Stock"]
n4@{ icon: "mdi:database", form: "rounded", label: "Update Google Sheet", pos: "b", h: 48 }
n5@{ icon: "mdi:message-outline", form: "rounded", label: "Send Email Alert", pos: "b", h: 48 }
n3 --> n4
n1 --> n2
n0 --> n1
n4 --> n5
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 n1,n4 database
class n2,n3 code
classDef customIcon fill:none,stroke:none
class n2,n3 customIcon
Problemet: lågt lagersaldo upptäcks för sent
Kalkylark är toppen tills de blir det enda “systemet” du har. Någon glömmer att dra av en förbrukad artikel, en annan person lägger in en leverans men hoppar över tidsstämpeln, och plötsligt är siffrorna mer en gissning än en räkning. I fastighets- och bygglogistik (eller till och med vanliga kontorsmaterial) blir den gissningen till förseningar, panikbeställningar och jobbiga samtal om vem som senast rörde arket. Det värsta är den mentala belastningen: du fortsätter kontrollera “för säkerhets skull”, vilket stjäl fokus från arbete som faktiskt driver projekt framåt.
Det blir snabbt dyrt. Här är var det brister i den dagliga driften.
- Folk gör “snabba uppdateringar” och glömmer, så arket ser bra ut ända tills det inte gör det.
- Artiklar med lågt saldo sticker inte ut, vilket gör att du först märker brister när artikeln behövs.
- Manuella kontroller blir en daglig vana, och kostar i det tysta cirka 2 timmar i veckan.
- Utan konsekventa varningar blir ansvaret otydligt, så återbeställningar skjuts upp.
Lösningen: övervakning i Google Sheets + automatiska e-postvarningar
Det här n8n-arbetsflödet gör ditt Google-kalkylark till en enkel lagerhjärna som kontrollerar sig själv varje dag. Det startar enligt schema (med en daglig Cron-trigger), hämtar dina aktuella lagerposter från ett ark som heter “StockInventory” och applicerar sedan eventuella in- och uttag med ett litet kodsteg så att totalsummorna blir konsekventa. Därefter skannar det de uppdaterade kvantiteterna och jämför dem med varje artikels tröskelvärde, vilket avgör vad som räknas som “lågt”. Till sist skriver det tillbaka uppdaterade totalsummor och tidsstämplar till Google Sheets och skickar ett mejl som bara tar upp de artiklar som behöver uppmärksammas. Slut på att leta bland rader. Du får en kort lista, vid rätt tidpunkt, med de senaste nivåerna.
Arbetsflödet börjar med en daglig lagerkontroll och räknar sedan om nivåerna utifrån de uppdateringar du har konfigurerat (API, formulärinmatning eller egen logik). Därefter identifierar det artiklar under tröskel och mejlar berörda, samtidigt som arket hålls uppdaterat för alla andra.
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
Säg att du spårar 60 artiklar (cement, skruv, skrivarpapper, städmaterial) i ett Google-kalkylark. Manuellt tar en “snabb” kontroll ändå cirka 2 minuter för att öppna filen, filtrera, kontrollera trösklar och meddela någon, vilket blir ungefär 2 timmar i veckan om du gör det varje dag. Med det här arbetsflödet: den dagliga triggern kör automatiskt, arket uppdateras i bakgrunden och du lägger cirka 1 minut på att läsa ett mejl bara när något faktiskt är lågt. Tidsvinsten är bra, men den verkliga vinsten är att upptäcka brister innan de stoppar arbetet.
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 lagerrader och tröskelvärden
- E-post (SMTP) för att skicka låglagernotiser till berörda
- Google Sheets-inloggning/uppgifter (skapas i Google Cloud Console)
Kunskapsnivå: Nybörjare. Du kopplar konton, klistrar in ett Sheet ID och justerar en tröskelkolumn.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Dagligt schema startar allt. En Cron-nod kör en gång per dag, så arbetsflödet körs även om ingen kommer ihåg att kontrollera lagret.
Ditt kalkylark blir “databasen”. n8n hämtar lagerposter från Google Sheets (artikel, kvantitet, tröskel, last_updated, enhet), så teamet kan fortsätta jobba i ett välbekant format.
Kvantiteter räknas om konsekvent. Ett kodsteg justerar totalsummor för in- och uttag, och därefter identifierar en kontroll vilka artiklar som ligger under sina tröskelvärden. Här kan du bygga in dina regler (till exempel, tillåt aldrig negativt saldo, eller avrunda upp till hela enheter).
Uppdateringar och varningar sker tillsammans. Arbetsflödet skriver tillbaka uppdaterade kvantiteter och tidsstämplar till arket och skickar sedan en e-postnotis som listar artiklar med lågt saldo så att rätt person kan återbeställa.
Du kan enkelt ändra källan för lagerjusteringar så att den tar emot en formulärinlämning eller ett API-anrop i stället för att förlita sig på schemalagda justeringar. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera cron-triggern
Ställ in schemat som startar lagerkontrollen varje dag.
- Lägg till noden Daily Inventory Trigger som din trigger.
- I Trigger Times ställer ni in timmen till
8för att köra dagligen kl. 08:00. - Koppla Daily Inventory Trigger till Retrieve Stock Records för att starta flödet.
Steg 2: anslut Google Sheets
Hämta era lagerdata från Google Sheets och förbered dem för uppdateringar.
- Öppna Retrieve Stock Records och ställ in Sheet ID till
{{your_google_sheet_id}}. - Ställ in Range till
StockInventory!A:E. - Ställ in Authentication till
serviceAccount. - Inloggningsuppgifter krävs: anslut era googleApi-inloggningsuppgifter.
- Öppna Modify Sheet Entries, ställ in Operation till
updateoch behåll Range somStockInventory!A:Emed Sheet ID som{{your_google_sheet_id}}. - Inloggningsuppgifter krävs: anslut era googleApi-inloggningsuppgifter.
{{your_google_sheet_id}} ersätts med det faktiska ID:t från er Google Sheets-URL.Steg 3: ställ in bearbetning med code-noder
Transformera lagerposter och identifiera artiklar med låg lagernivå med hjälp av kodlogiken.
- Öppna Adjust Inventory Totals och granska JavaScript Code för att säkerställa att era regler för lageruppdatering matchar era behov.
- Observera att exempeluppdateringarna är hårdkodade; ersätt arrayen
stockUpdatesmed dynamisk indata från er egen källa vid behov. - Öppna Detect Low Inventory och bekräfta att tröskellogiken använder
stock.threshold || 20som gräns för låg lagernivå. - Verifiera körflödet: Retrieve Stock Records → Adjust Inventory Totals → Detect Low Inventory → Modify Sheet Entries.
stock.threshold för att respektera de värdena.Steg 4: konfigurera e-postnotifieringar
Skicka ett varningsmejl efter att artiklar med låg lagernivå har identifierats och uppdateringar har gjorts i arket.
- Öppna Dispatch Email Notice och ställ in To Email till
[YOUR_EMAIL]och From Email till[YOUR_EMAIL]. - Ställ in Subject till
Low Stock Alert - {{ $now.format('YYYY-MM-DD') }}. - Ställ in Email Format till
textoch behåll Text-innehållet med uttrycket{{ $json.lowStockList }}. - Inloggningsuppgifter krävs: anslut era smtp-inloggningsuppgifter.
- Bekräfta att Modify Sheet Entries är kopplad till Dispatch Email Notice så att varningar skickas efter uppdateringarna.
lowStockList eller justera e-posttexten därefter.Steg 5: testa och aktivera ert workflow
Kör ett manuellt test för att validera dataflödet och verifiera varningar innan ni aktiverar dagliga körningar.
- Klicka på Execute Workflow och bekräfta att Retrieve Stock Records returnerar rader från
StockInventory!A:E. - Kontrollera output från Detect Low Inventory för att säkerställa att artiklar med låg lagernivå fångas upp.
- Bekräfta att Modify Sheet Entries uppdaterar arket och att Dispatch Email Notice skickar varningsmejlet.
- När ni är nöjda, växla workflowet till Active så att Daily Inventory Trigger körs automatiskt.
Vanliga fallgropar
- Google Sheets-uppgifter kan löpa ut eller kräva specifika behörigheter. Om det slutar fungera, kontrollera vilket Google-konto som är kopplat i n8n-credentials och bekräfta att det har åtkomst till det Sheet ID du använder.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- E-post (SMTP) misslyckas ofta utan tydliga fel när “Från”-adresser inte matchar din leverantörs regler. Kontrollera dina SMTP-loggar eller aktivitet hos e-postleverantören om arbetsflödet kör men ingen får varningar.
Vanliga frågor
Cirka 30 minuter om ditt Google-kalkylark redan är organiserat.
Nej. Du kopplar mest Google Sheets och e-post, och justerar sedan tröskelvärden i arket.
Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-abonnemang börjar på 20 USD/månad för högre volym. Du behöver också räkna in kostnader för din e-post/SMTP-leverantör (ofta gratis eller redan inkluderat i din e-posttjänst).
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 klarar n8n bra. Egen drift ger obegränsat antal körningar men kräver grundläggande serverhantering.
Ja, men då ändrar du var justeringsdatan kommer ifrån. De flesta team ersätter den dagliga uppdateringslogiken genom att lägga till en webhook eller ett formulärsteg och återanvänder sedan samma kod för “Adjust Inventory Totals” och kontrollen “Detect Low Inventory” så att tröskelvärden och e-postvarningar fortfarande fungerar. Du kan också justera e-postformatet i “Dispatch Email Notice” för att inkludera enheter, senast uppdaterat-tider eller en direktlänk till arket.
Oftast beror det på en utgången Google-auktorisering eller att det anslutna kontot inte har åtkomst till det specifika kalkylarket. Anslut Google Sheets-uppgifterna på nytt i n8n, bekräfta att Sheet ID är korrekt och säkerställ att filen är delad med rätt Google-användare. Om det fortfarande misslyckas, kontrollera om ditt Google Cloud-projekt har Sheets API aktiverat.
Mer än tillräckligt för småföretags kalkylark för lager. Några hundra rader brukar fungera bra, och om du kör n8n med egen drift finns ingen körningsgräns (det beror främst på din server och Google API-kvoter).
Det beror på hur noggrann du är med logik och kontroll. Zapier och Make kan absolut skicka ett mejl när en rad ändras, men det här arbetsflödet är mer som en daglig lagerrutin: hämta rader, beräkna justeringar, jämför mot trösklar, uppdatera tidsstämplar och notifiera. n8n är bättre när du vill ha den där “minisystem”-känslan, särskilt med kodsteg och förgreningar som inte kostar extra per väg. Om du bara vill ha en enkel varning i två steg kan Zapier eller Make gå snabbare att sätta upp. Om du är osäker, prata med en automationsexpert så får du ett rakt svar för din situation.
När det här väl rullar blir lagret tystare. Du får varningen, du lägger beställningen och går vidare med din dag.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.