Att jämföra leverantörsofferter låter enkelt tills du sitter med tre PDF:er, en kalkylbladsbilaga och en ”snabb” mejltråd med saknade rader.
Oavsett om du är en marketing ops-ansvarig som koordinerar spend, en småföretagare som godkänner inköp, eller en inköpskoordinator som försöker hålla alla synkade, så gör den här automatiseringen för offertjämförelse röriga dokument till en beslutsredo tabell och sammanfattning.
Du sätter upp ett enda flöde som tar emot uppladdade offerter, extraherar nyckeldetaljer med AI, loggar allt i Google Sheets och mejlar intressenter så fort det är klart.
Så fungerar den här automatiseringen
Här är hela arbetsflödet som du kommer att sätta upp:
n8n Workflow Template: Google Sheets + e-post för snabbare offertjämförelser
flowchart LR
subgraph sg0["Flow 1"]
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/webhook.dark.svg' width='40' height='40' /></div><br/>Upload Quotes"]
n1@{ icon: "mdi:code-braces", form: "rounded", label: "Extract File 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 Summarization"]
n3@{ icon: "mdi:code-braces", form: "rounded", label: "Format Summary", pos: "b", h: 48 }
n4@{ icon: "mdi:database", form: "rounded", label: "Log to Google Sheets", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Wait For Reply", pos: "b", h: 48 }
n6@{ icon: "mdi:message-outline", form: "rounded", label: "Send email", pos: "b", h: 48 }
n0 --> n1
n3 --> n4
n5 --> n3
n2 --> n5
n1 --> n2
n4 --> n6
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 database
class n0,n2 api
class n1,n3 code
classDef customIcon fill:none,stroke:none
class n0,n2 customIcon
Varför detta är viktigt: offertjämförelser faller på detaljerna
Manuell offertjämförelse misslyckas på ett väldigt specifikt sätt: du förlorar inte ett stort tidsblock, du förlorar ett dussin små. Först laddar du ner bilagor. Sen döper du om filer så att du kan hitta dem senare. Sen skummar du efter totalsummor, ledtider och undantag, och inser att varje leverantör har formaterat sin offert på sitt eget sätt. Någon frågar ”Ingick installation hos leverantör B?” och du är tillbaka på sida 7 i en PDF, igen. Det är dränerande, och ärligt talat är det här dyra misstag smyger sig in.
Friktionen byggs på. Här är det som brukar spåra ur.
- Viktiga fält som leveranstider eller avtalsvillkor hamnar begravda i stycken, så de kommer inte med i den slutliga jämförelsen.
- Team kopierar och klistrar in totalsummor i Sheets, och upptäcker sedan två dagar senare att de jämförde ”månad” med ”år”.
- Beslutsfattare får ett vagt mejl (”Leverantör A ser bra ut”) i stället för en strukturerad sammanfattning, vilket gör att godkännanden drar ut på tiden.
- Det finns ingen felfri granskningshistorik, så när någon frågar ”Varför valde vi den här leverantören?” letar du i gamla trådar.
Det du bygger: AI-drivna offertsammanfattningar som loggas i Sheets och mejlas ut
Det här flödet ger dig ett repeterbart sätt att ta emot leverantörsofferter och omvandla dem till ett konsekvent jämförelseformat. Det startar när en offert laddas upp via en webhook (tänk det som en säker ”drop zone”-endpoint). n8n hämtar filens payload, extraherar användbar text och fält, och skickar sedan innehållet till en AI-tjänst för sammanfattning via en HTTP-förfrågan. När AI:n returnerar en sammanfattning formaterar flödet den till en snygg, strukturerad tabell och lägger till den i en Google Sheets-logg. Till sist mejlar den sammanfattningen till personerna som behöver godkänna eller ge input, så att beslut går framåt utan ännu ett ”kan någon sammanfatta det här?”-mejl.
Flödet börjar med en uppladdningstrigger och går sedan vidare genom tolkning och AI-sammanfattning. Därefter formaterar det outputen för konsekvens, sparar den i Google Sheets för långsiktig uppföljning och skickar ett beslutsredo mejl till intressenter.
Det du bygger
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du samlar in 5 leverantörsofferter på en månad. Manuellt kanske du lägger cirka 30 minuter per offert på att plocka ut totalsummor, tidslinjer och anteckningar till ett jämförelseark, plus ytterligare 15 minuter på att skriva ett sammanfattande mejl. Det blir ungefär 3 till 4 timmar per månad, och det är sällan ”ren” tid. Med det här flödet tar uppladdningen av varje offert en minut eller två, AI-bearbetning och formatering kör i bakgrunden (ofta inom 10–20 minuter), och mejlet skickas automatiskt när arket uppdaterats.
Innan du börjar
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för jämförelseloggen och historik.
- E-post-/SMTP-uppgifter för att skicka notiser till intressenter.
- AI API-nyckel (hämta den i din leverantörs dashboard för sammanfattning)
Kunskapsnivå: Medel. Du kopplar konton, testar en webhook-uppladdning och justerar en prompt eller två så att det matchar ditt offertformat.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
En offert laddas upp till din webhook. Flödet startar vid ”Incoming Quote Webhook”, som tar emot en offertfil från en leverantör (PDF, DOCX eller kalkylblad) och skickar den vidare till n8n för bearbetning.
Filens payload tolkas till användbart innehåll. ”Parse File Payload” omvandlar den råa uppladdningen till strukturerad text och fält som en AI-modell kan arbeta med. Här mappar du det som är viktigt för dig (leverantörsnamn, totalpris, rader, ledtid, undantag).
AI skapar en konsekvent sammanfattning. ”AI Summary Request” skickar det extraherade innehållet till din sammanfattnings-endpoint via HTTP Request, och ”Await AI Response” pausar tills svaret är klart. Ingen inkorgspassning behövs.
Sammanfattningen formateras, lagras och delas. ”Prepare Summary Table” städar upp AI-outputen, ”Append to Sheets Log” skriver en ny rad i Google Sheets och ”Dispatch Email Notice” skickar den beslutsredo sammanfattningen till intressenter.
Du kan enkelt ändra sammanfattningsformatet och vilka fält du extraherar så att det matchar hur ditt team köper och godkänner. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera webhook-triggern
Konfigurera den inkommande webhooken för att ta emot filuppladdningar med leverantörsofferter och starta arbetsflödet.
- Lägg till noden Incoming Quote Webhook som trigger.
- Ställ in Path på
vendor-quote-upload. - Säkerställ att webhooken lyssnar efter binär fildata under nyckeln
dataför att matcha efterföljande parsning.
Steg 2: parsa den uppladdade offertfilen
Omvandla den inkommande binära payloaden till ett strukturerat objekt som AI-sammanfattaren kan läsa.
- Lägg till Parse File Payload efter Incoming Quote Webhook.
- Klistra in den angivna Function Code så att den returnerar
fileNameochfileDatafrånitem.binary['data']. - Bekräfta att noden output:ar en JSON-struktur som innehåller
fileNameochfileData.
Steg 3: begär och invänta AI-sammanfattningen
Skicka den parsade offerten till AI-endpointen och invänta sammanfattningssvaret innan ni fortsätter bearbetningen.
- Lägg till AI Summary Request efter Parse File Payload.
- Ställ in URL på
https://api.grok.xai.com/summarize. - Lägg till Await AI Response efter AI Summary Request för att pausa tills AI-svaret är tillgängligt.
Steg 4: formatera sammanfattningen och logga till Sheets
Normalisera AI-outputen till en ren sammanfattningstabell och lägg till den i Google Sheets.
- Lägg till Prepare Summary Table efter Await AI Response.
- Klistra in den angivna Function Code för att mappa fält till
vendor,price,deliveryTimeochfeatures. - Lägg till Append to Sheets Log efter Prepare Summary Table.
- Credential Required: anslut era googleApi-inloggningsuppgifter.
- Ställ in Operation på
append. - Ställ in Sheet ID på
[YOUR_ID]. - Ställ in Range på
QuotationSummary!A:D.
Steg 5: konfigurera e-postnotifieringen
Skicka ett e-postmeddelande med sammanfattning efter att arket har uppdaterats.
- Lägg till Dispatch Email Notice efter Append to Sheets Log.
- Credential Required: anslut era smtp-inloggningsuppgifter.
- Ställ in To Email på
[YOUR_EMAIL]. - Ställ in From Email på
[YOUR_EMAIL]. - Ställ in Subject på
Vendor Quotation Comparison. - Ställ in Email Format på
textoch klistra in det angivna innehållet i Text.
Steg 6: testa och aktivera ert arbetsflöde
Validera automationen från start till mål innan ni aktiverar den för produktionsbruk.
- Klicka på Execute Workflow och skicka en testfil till URL:en för Incoming Quote Webhook.
- Bekräfta att Parse File Payload output:ar
fileNameochfileData. - Verifiera att Append to Sheets Log lägger till en ny rad i
QuotationSummary!A:D. - Kontrollera att Dispatch Email Notice skickar e-postmeddelandet till
[YOUR_EMAIL]med sammanfattningen. - Slå på arbetsflödet som Active för att köra det automatiskt för alla inkommande leverantörsofferter.
Felsökningstips
- Google Sheets-uppgifter kan gå ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera först det kopplade Google-kontot i n8n:s Credentials och bekräfta sedan att arket är delat med det kontot.
- Om du använder Wait-noder eller extern AI-bearbetning varierar svarstiderna. Öka väntetiden om noder längre fram fallerar på tomma svar.
- Standardprompter för AI är generiska. Lägg till dina obligatoriska fält och er tonalitet tidigt (till exempel ”inkludera alltid undantag och ledtid”), annars kommer du att redigera output för alltid.
Snabba svar
Cirka 30 minuter om dina konton och arket är redo.
Nej. Du kopplar främst konton och finjusterar extraheringen och sammanfattningsfälten.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver även räkna med kostnader för AI-API, som vanligtvis ligger på några cent per offert beroende på längd.
Två alternativ: n8n Cloud (hanterad, enklast uppsättning) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det bör du. De flesta ändringar sker i ”Parse File Payload” (vilka fält du extraherar) och ”Prepare Summary Table” (hur du vill att jämförelsen ska se ut). Du kan också byta AI-leverantör genom att uppdatera ”AI Summary Request” så att den pekar på en annan endpoint. Vanliga anpassningar är att tvinga fram en standarduppsättning kolumner, lägga till ett risk-/noteringsfält och dela upp sammanfattningar efter leverantörskategori.
Oftast handlar det om behörigheter eller fel Google-konto. Kontrollera Google Sheets-credential i n8n igen och bekräfta sedan att målarket är delat med samma konto och att du lägger till i rätt flik. Om du nyligen ändrat arkets struktur (bytt namn på kolumner, flyttat flikar), uppdatera mappningen i ”Append to Sheets Log” så att den matchar den aktuella layouten. En sak till: vissa företagskonfigurationer i Google Workspace blockerar OAuth-scopes tills en administratör godkänner dem.
Med n8n Cloud Starter kan du vanligtvis hantera tusentals körningar per månad, vilket räcker för de flesta team som hanterar offerter. Om du self-hostar finns ingen körningsgräns, det beror bara på din server och hur lång tid AI-förfrågningar tar. I praktiken bearbetar det här flödet en offert per körning, och många team kör det några gånger om dagen utan problem. Om du börjar batcha dussintals på en gång, håll koll på din AI-leverantörs rate limits och öka Wait-tiden.
Ofta, ja. n8n är enklare att bygga ut när du behöver anpassad parsing, villkorslogik och ett pålitligt upplägg för att ”logga allt till Sheets” utan att betala extra för varje gren. Det har också ett self-hosted-alternativ, vilket är viktigt om du vill ha förutsägbara kostnader när volymen växer. Zapier eller Make kan däremot vara snabbare för väldigt enkla ”mejl kommer in → rad läggs till”-automatiseringar. Om dina offerter är röriga (det är de oftast) och du vill ha AI-sammanfattning plus formatering brukar n8n vara ett smidigare långsiktigt val. Prata med en automationsexpert om du är osäker.
När det här väl rullar slutar offertjämförelser att vara ett miniprojekt. Flödet tar hand om det repetitiva städandet och delningen, så att du kan fokusera på beslutet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.