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 + Telegram: logga POS-order direkt

Rickard Andersson Partner, Nodenordic.se

POS-försäljning går snabbt. Din rapportering gör det oftast inte. Innan du har kopierat en order till ett kalkylark och pingat teamet står nästa kund redan och väntar.

POS-orderloggning slår ärligt talat först mot små retailteam. Men butikschefer som försöker stämma av skift och driftsansvariga som behöver korrekt formaterade siffror känner samma smärta på olika sätt. Det här arbetsflödet loggar varje försäljning i Google Sheets och skickar en tydlig Telegram-avisering i samma ögonblick.

Du får se hur automatiseringen fungerar, vad den ersätter och vad du behöver för att köra den utan att behöva passa den varje dag.

Så fungerar den här automatiseringen

Hela n8n-arbetsflödet, från trigger till slutresultat:

n8n Workflow Template: Google Sheets + Telegram: logga POS-order direkt

Problemet: POS-order tappas bort mellan ”såld” och ”registrerad”

När order kommer in vid en disk, en pop-up eller en stressig kiosk är själva försäljningen den enkla delen. Det stökiga är allt efteråt: skriva ner artiklar, räkna rabatter, tilldela ett försäljnings-ID, uppdatera ett kalkylark och sedan meddela teamet så att plock eller förberedelser kan starta. Gör du detta manuellt får du små glapp överallt. En missad registrering blir en lageravvikelse. En slarvig notering blir en retur- eller återbetalningstvist. Och helgrapporteringen blir ett stressigt minnesspel.

Det blir snabbt mycket. Här är det som oftast skapar fel.

  • Någon glömmer att logga en försäljning under en rusning och ”fyller i den senare” med ofullständiga detaljer.
  • Rabatter och antal matas in två gånger, vilket bjuder in inkonsekvenser och tysta misstag.
  • Teamet får inte notis i rätt ögonblick, så plock/förberedelse startar sent eller inte alls.
  • Försäljnings-ID:n är inte standardiserade, vilket gör avstämning och återbetalningar mer smärtsamma än de behöver vara.

Lösningen: en orderinlämning → rad i Sheets + Telegram-sammanfattning

Det här arbetsflödet gör din POS-orderinlämning till ett automatiskt spårbart underlag. Det startar från en n8n-webhook som serverar en lättviktig webbaserad orderskärm (produktkatalog, sök, varukorg, antal, pris, rabatter). När du skickar in försäljningen sätter n8n ihop orderdatan, skapar ett unikt försäljnings-ID och förbereder en korrekt formaterad payload för ditt Google Sheet. Samtidigt kör den försäljningen genom en AI-agent (via en OpenRouter-chatmodell) för att skapa en lättläst försäljningssammanfattning som teamet kan ta in direkt. Till sist skriver den transaktionen till Google Sheets och skickar Telegram-notisen direkt, så att rätt personer kan agera.

Arbetsflödet börjar när POS-sidan öppnas via webhook-URL:en och hämtar din aktuella produktlista från Google Sheets. Efter inlämning formaterar den ordern, uppdaterar ditt försäljningsark och skickar sedan en Telegram-avisering med en AI-genererad recap. Resultatet känns enkelt, även om allt tråkjobb är borta.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du driver en pop-up och hanterar ungefär 20 order per dag. Manuellt, om varje försäljning tar cirka 3 minuter att skriva in på nytt i Google Sheets och ytterligare en minut att meddela teamet, blir det runt 80 minuter administration. Med det här arbetsflödet är ”efteråt” snarare 10 sekunder för att skicka in ordern på POS-sidan, plus en kort väntan medan n8n skriver raden och skickar Telegram. Du får tillbaka ungefär en timme, och ditt ark är redan korrekt formaterat.

Det du behöver

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för produktlista + lagring av försäljningstabell
  • Telegram för att notifiera personal via ett bot-meddelande
  • OpenRouter API-nyckel (hämta den i din OpenRouter-dashboard)

Kunskapsnivå: Medel. Du kopplar konton, sätter upp autentisering och justerar lätt fält så att de matchar dina kolumner i arket.

Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

En kundorder sätter igång det. Du öppnar webhook-URL:en som returnerar en enkel POS-webbsida. n8n hämtar direkt din produktlista från Google Sheets så att katalogen alltid är uppdaterad.

Arbetsflödet väntar på inlämning. Ett kort ”paus”-steg håller sessionen tills du klickar på skicka, därefter bekräftar n8n klicket och samlar in payloaden (kunduppgifter, varukorgsartiklar, antal, rabatter).

Orderdatan struktureras och berikas. Två kodsteg sätter ihop webhook-datan, skapar ett unikt försäljnings-ID och förbereder Google Sheets-raden så att den matchar din försäljningsflik utan extra formatering.

Sheets och Telegram uppdateras automatiskt. n8n skriver försäljningen till Google Sheets, sedan tar AI-agenten fram en lättläst sammanfattning och skickar den till Telegram så att teamet får en tydlig, direkt heads-up.

Du kan enkelt ändra kolumnerna i Google Sheets och formatet på Telegram-meddelandet så att det matchar din process. Se hela implementeringsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: Konfigurera webhook-triggern

Konfigurera den inkommande webhooken som visar POS-beställningssidan och startar arbetsflödet.

  1. Lägg till noden Incoming Webhook Trigger och ställ in Path till smartpostsystem.
  2. Ställ in Response Mode till responseNode så att svaret hanteras av Return Webhook Page.
  3. Koppla Incoming Webhook Trigger till Retrieve Product List.

Steg 2: Anslut Google Sheets

Hämta produktdata och skriv försäljningsrader till ert Google Sheet.

  1. Öppna Retrieve Product List och ställ in Document ID till YOUR_GOOGLE_SHEETS_ID och Sheet Name till gid=0.
  2. Credentials krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Retrieve Product List.
  3. Öppna Modify Sheet Row och ställ in Operation till appendOrUpdate.
  4. Ställ in kolumnmappningarna i Modify Sheet Row till uttrycken: ={{ $json["SALES ID"] }}, ={{ $json["SALES QTY"] }}, ={{ $json["SALES DATE"] }}, ={{ $json["SALES DISCOUNT"] }}, ={{ $json["SALES PRICE (USD)"] }}, ={{ $json["SALES PRODUCT NAME"] }}, ={{ $json["SALES CUSTOMER NAME"] }}.
  5. Credentials krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Modify Sheet Row.

⚠️ Vanlig fallgrop: Säkerställ att ert Google Sheet innehåller exakt de kolumnrubriker som används i Modify Sheet Row (till exempel SALES ID och SALES PRICE (USD)), annars misslyckas append/update.

Steg 3: Konfigurera webbsvar och väntflöde

Visa POS-gränssnittet för beställning och pausa tills användaren skickar formuläret.

  1. I Assemble Webhook Data, behåll JavaScript-koden som serialiserar produktdata och injicerar URL:erna {{ $json.webhookUrl }} och {{ $resumeWebhookUrl }}.
  2. Öppna Return Webhook Page och ställ in Respond With till text och behåll hela HTML:en i Response Body som börjar med =</code>.
  3. Bekräfta att HTML-mallen i Return Webhook Page refererar till uttrycken {{ $json.productId }}, {{ $json.productName }}, {{ $json.productImage }}, {{ $json.productCategoryName }}, {{ $json.productPriceUsd }} och {{ $json.productDiscount }}.
  4. Konfigurera Pause for Submit med Resume satt till webhook, HTTP Method satt till POST och Response Mode satt till responseNode.
  5. Koppla Return Webhook Page till Pause for Submit, och koppla sedan Pause for Submit till Confirm Click Response.

Tips: Formuläret i HTML:en använder {{ $resumeWebhookUrl }} som action-URL. Säkerställ att arbetsflödet är aktivt eller att testläge är aktiverat så att resume-webhooken är nåbar.

Steg 4: Sätt upp bearbetning och AI-noder

Skapa en försäljningssammanfattning och förbered rader för Google Sheets efter att beställningen har skickats.

  1. I Confirm Click Response, behåll Respond With satt till text och HTML-svarets body som börjar med =</code>.
  2. Confirm Click Response skickar output till både Sales Summary Agent och Prepare Sheet Payload parallellt.
  3. I Prepare Sheet Payload, behåll JavaScript-koden som parsar orderItems och outputtar strukturerade fält som SALES ID, SALES DATE och SALES QTY.
  4. I Sales Summary Agent, ställ in Text till =customer name : {{ $json.body.customerName }} order items : {{ $json.body.orderItems }} order total : {{ $json.body.orderTotals }} Sales report format : New sales! (opening or greetings to the owner ) customer name : order details : Have a good day (closing).
  5. Öppna OpenRouter Chat Engine och ställ in Model till google/gemini-2.0-flash-exp:free.
  6. Credentials krävs: Anslut era openRouterApi-uppgifter i OpenRouter Chat Engine.
  7. Säkerställ att OpenRouter Chat Engine är ansluten som språkmodell för Sales Summary Agent (credentials läggs till på den överordnade modellnoden, inte på agentnoden).

Steg 5: Konfigurera output-/åtgärdsnoder

Skicka den AI-genererade sammanfattningen till Telegram och lägg till försäljningsraderna i Google Sheets.

  1. I Dispatch Telegram Alert, ställ in Chat ID till YOUR_TELEGRAM_CHAT_ID.
  2. Ställ in Text i Dispatch Telegram Alert till ={{ $json.output }}.
  3. Credentials krävs: Anslut era telegramApi-uppgifter i Dispatch Telegram Alert.
  4. Bekräfta att Prepare Sheet Payload är kopplad till Modify Sheet Row för att skriva försäljningsrader.

Steg 6: Testa och aktivera ert arbetsflöde

Kör ett fullständigt test för att verifiera POS-formuläret, inskick av beställning, Telegram-meddelandet och uppdateringen i Google Sheets.

  1. Klicka Execute Workflow och öppna Incoming Webhook Trigger-testadressen i er webbläsare för att ladda POS-sidan.
  2. Skicka in en testbeställning och bekräfta att success-sidan från Confirm Click Response visas.
  3. Verifiera att en ny rad läggs till/uppdateras i Google Sheets via Modify Sheet Row och att en sammanfattning skickas av Dispatch Telegram Alert.
  4. När testet är lyckat, växla arbetsflödet till Active så att webhook-URL:en för produktion kan användas av ert POS-system.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Autentisering för Google Sheets kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först n8n:s autentiseringsinställningar och arkets delningsåtkomst.
  • Om du använder Wait-noder eller extern bearbetning varierar tajmingen. Öka väntetiden om noder längre fram fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du redigera output för alltid.

Vanliga frågor

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

Cirka 30 minuter om ditt Google Sheet och din Telegram-bot är klara.

Behöver jag kunna koda för att automatisera POS-orderloggning?

Nej. Du kopplar mest konton och mappar några fält mot kolumnerna i Google Sheets.

Är n8n gratis att använda för det här arbetsflödet för POS-orderloggning?

Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volymer. Du behöver också räkna med kostnader för OpenRouter API-användning, som beror på vilken modell du väljer.

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterad, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och klarar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här arbetsflödet för POS-orderloggning för flera platser eller personalchattar?

Ja, och det är en vanlig justering. Du kan styra Telegram-notiser till olika chattar genom att justera Telegram-noden ”Dispatch Telegram Alert” och lägga till ett enkelt villkor baserat på plats eller användarinmatning. I Google Sheets kan du lägga till en kolumn för ”Butik” eller ”Terminal” och mappa den i steget ”Prepare Sheet Payload”. Många team anpassar också AI-agentens prompt så att varje plats får ett något annat sammanfattningsformat.

Varför misslyckas min Telegram-anslutning i det här arbetsflödet?

Oftast är det bot-token eller chatt-ID. Skapa en ny token i BotFather vid behov, bekräfta att du skickar till rätt chatt och säkerställ att boten har fått minst ett meddelande så att Telegram tillåter konversationen. Om det bara fallerar under rusning kan du slå i rate limits, så det kan hjälpa att glesa ut meddelandena lite.

Hur många order kan den här automatiseringen för POS-orderloggning hantera?

För de flesta små butiker: ”mycket fler än du hinner med på en dag”. På n8n Cloud Starter begränsas du av månatliga körningar, och varje order räknas vanligtvis som en körning. Om du kör egen hosting finns ingen körningsgräns, så kapaciteten beror främst på din server och hur tungt steget med AI-sammanfattning är.

Är den här automatiseringen för POS-orderloggning bättre än att använda Zapier eller Make?

Ofta, ja. Det här arbetsflödet är inte bara ”POS → kalkylark”; det serverar en webhook-sida, väntar på inlämning, kör en AI-sammanfattning och förgrenar sedan till Google Sheets plus Telegram, vilket är den typ av flersteglogik som blir dyr eller klumpig på andra plattformar. n8n låter dig också hosta själv för obegränsade körningar, vilket spelar roll när du hanterar order dagligen. Zapier eller Make kan fortfarande vara bra om du bara behöver en enkel tvåstegslogg och aldrig vill tänka på hosting. Vill du ha hjälp att välja, prata med en automationsexpert.

När detta väl rullar loggas och delas varje försäljning utan att du behöver tänka på det. Arbetsflödet tar hand om repetitiva moment, så att teamet kan fokusera på kunder och plock/leverans.

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