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 + Gmail: HS-koder ifylls åt dig

Rickard Andersson Partner, Nodenordic.se

Din produktlista är klar. Fakturan ser bra ut. Sedan frågar tullen efter HS-koder och du är tillbaka i att kopiera och klistra in beskrivningar i sökverktyg, samtidigt som du tvekar på varje träff.

Den här automatiseringen av HS-koder slår först mot redovisningsspecialister och driftteam, men import-/exportansvariga och småföretagare känner samma friktion. Du berikar ett Google Sheet med tulltariffnummer, kodbeskrivningar och en konfidenspoäng utan repetitiva uppslag.

Du sätter upp ett n8n-flöde som kan köras i bulk för hela kataloger, eller som en snabb chattuppslagning för enstaka frågor, och som sedan mejlar dig när det är klart att granska.

Så fungerar den här automatiseringen

Här är hela flödet som du kommer att sätta upp:

n8n Workflow Template: Google Sheets + Gmail: HS-koder ifylls åt dig

Varför det här spelar roll: HS-koduppslagningar bromsar leveranser

HS-klassificering är ett sådant jobb som ser “litet” ut tills det dyker upp i kalendern varje vecka. Du börjar med ett kalkylark med produktbeskrivningar och hoppar sedan mellan webbplatser och interna anteckningar för att hitta närmaste matchning. Efter ett tag klassificerar du knappt längre – du försöker bara undvika att göra fel. Och eftersom tullproblem visar sig sent (ofta efter att etiketter har skrivits ut) är kostnaden inte bara din tid. Det är förseningar, omarbete och obekväma mejl till transportörer eller kunder.

Friktionen byggs på. Här är var det vanligtvis faller isär.

  • Beskrivningar varierar beroende på vem som skrev dem, så två identiska produkter får två olika kodgissningar.
  • Manuella uppslag tar cirka 5 minuter per artikel, och listor är sällan “bara några få artiklar”.
  • Det finns ingen inbyggd konfidensindikator, så du antingen litar på en skakig träff eller lägger ännu mer tid på att verifiera.
  • Även när du är klar är det otydligt när något är “klart”, vilket gör att någon ändå måste jaga statusuppdateringar.

Det du bygger: HS-kodberikning i Google Sheets med e-postavisering

Det här flödet gör om ditt produktark till en granskningsklar klassificeringskö. Det börjar med att läsa produktbeskrivningar från Google Sheets och loopar sedan igenom varje rad i hanterbara batchar så att du kan bearbeta stora listor utan att sitta och vakta. För varje artikel anropar n8n zolltarifnummern.de-API:t för att hämta det mest relevanta tulltariffnumret (HS-kod), plus en beskrivning i klarspråk och en API-poäng som du kan använda som konfidenssignal. Dessa fält mappas till exakt de kolumner du vill ha och skrivs tillbaka till samma rad. När allt är klart skickar Gmail ett “redo att granska”-mejl så att du kan stickprova och gå vidare.

Det finns två sätt att använda det. Bulkläget körs från en manuell startknapp för hela listor. Läget vid begäran använder en chatttrigger, så att du kan klistra in en enda produktbeskrivning och få ett direkt förslag på kod utan att öppna kalkylarket.

Det du bygger

Förväntade resultat

Säg att du har ett ark med 80 produkter som behöver HS-koder inför en leverans. Manuellt, med ungefär 5 minuter per uppslag, blir det cirka 6 timmars fokuserat arbete, plus avbrott när du stöter på tvetydiga artiklar. Med det här flödet startar du körningen på ett par minuter, låter n8n hantera API-anropen i bakgrunden och lägger sedan din tid på det som faktiskt spelar roll: att granska beskrivningarna och konfidenspoängen. De flesta team får tillbaka flera timmar vid varje bulk-körning.

Innan du börjar

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för din produktlista och resultatkolumner.
  • Gmail för att ta emot mejlet när körningen är klar.
  • API-nyckel för zolltarifnummern.de (hämta den från zolltarifnummern.de:s services API-sida).

Nivå: Nybörjare. Du kopplar Google- och Gmail-konton, klistrar in en API-nyckel och matchar några kolumnnamn.

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

En körning startar i bulkläge eller chattläge. För bulkberikning klickar du på den manuella triggern i n8n för att börja läsa ditt Google Sheet. För snabba uppslag låter chatttriggern dig klistra in en enda beskrivning och få ett resultat direkt.

Din produktdata hämtas från Google Sheets. Flödet läser en specifik kolumn (till exempel “ProductDescription”) och förbereder varje rad för bearbetning så att rätt resultat hamnar på rätt plats.

Tariff-API:t gör grovjobbet. n8n skickar beskrivningen till zolltarifnummern.de-API:t via HTTP Request och mappar sedan svaret till strukturerade fält som HS-kod, en kort beskrivning av koden och en API-poäng som du kan använda som konfidenssignal.

Resultat skrivs tillbaka och du får ett klart-mejl. Varje bearbetad rad uppdateras i Google Sheets, sedan signalerar en aggregeringsnod “vi är klara” och Gmail skickar en notis så att du kan granska och godkänna.

Du kan enkelt ändra vilka kolumner som uppdateras så att det matchar din arklayout utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Konfigurera trigger-typerna

Ställ in de två startpunkterna så att arbetsflödet kan köras från chattinmatning eller en manuell batchkörning.

  1. Lägg till och konfigurera Incoming Chat Start så att den tar emot chattinmatning och exponerar sin webhook för inkommande meddelanden.
  2. Lägg till Manual Start Trigger för batchbearbetning på begäran av kalkylbladets rader.
  3. (Valfritt) Behåll Flowpast Branding som en icke-funktionell referensnotering för dokumentation.

Tips: Använd webhook-URL:en för Incoming Chat Start i ert chattgränssnitt för att skicka produktbeskrivningar till $json.chatInput.

Anslut Google Sheets

Anslut ert kalkylblad som datakälla och mål för uppdatering av tulltariffresultat.

  1. I Retrieve Item Descriptions väljer ni kalkylbladets documentId som [YOUR_ID] och ställer in sheetName till Sheet1.
  2. Inloggning krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Retrieve Item Descriptions.
  3. I Update Sheet with Tariffs ställer ni in operation till update och behåller matchingColumns som Artikelbeschreibung.
  4. Inloggning krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Update Sheet with Tariffs.

⚠️ Vanlig fallgrop: Säkerställ att arket har kolumner med namnen Artikelbeschreibung och Zolltarifnummer, annars misslyckas uppdateringsmappningen.

Ställ in förfrågningar för tulltariffuppslag

Konfigurera API-anrop för både enstaka uppslag via chatt och batchbearbetning från arket.

  1. I Tariff Lookup Request ställer ni in url till =https://www.zolltarifnummern.de/api/v2/cnSuggest?term={{ encodeURIComponent($json.chatInput) }}&lang=de.
  2. I Tariff Lookup Request lägger ni till headers: Accept = application/json och User-Agent = n8n-workflow/1.0.
  3. I Batch Tariff API Call ställer ni in url till =https://www.zolltarifnummern.de/api/v2/cnSuggest?term={{ encodeURIComponent($json['Artikelbeschreibung']) }}&lang=de.
  4. I Map Tariff Result mappar ni text till ={{ $json.suggestions[1].code }} för utdata i chattsvaret.

⚠️ Vanlig fallgrop: API-svaret använder suggestions[1]; om er data ofta ger färre resultat, justera mappningen för att undvika tomma värden.

Konfigurera batchbearbetning och datasammanställning

Iterera igenom rader i arket, berika dem med API-data och sammanställ de slutliga fälten.

  1. Koppla Retrieve Item Descriptions till Iterate Item Records för att bearbeta rader i batchar.
  2. Iterate Item Records skickar utdata till både Combine Batch Results och Batch Tariff API Call parallellt.
  3. I Assemble Tariff Fields ställer ni in Zolltarifnummer till ={{ $json.suggestions && $json.suggestions[1] ? $json.suggestions[1].code : 'Nicht gefunden' }}.
  4. I Assemble Tariff Fields ställer ni in Artikelbeschreibung till ={{ $('Iterate Item Records').item.json['Artikelbeschreibung'] }}.
  5. I Assemble Tariff Fields ställer ni in Beschreibung der Zolltarifnummer till ={{ $json.suggestions[1].value.split(/
    /i)[1].trim() }}
    och Score till ={{ ($json.suggestions[1].score * 100).toFixed(1) + '%' }}.
  6. Routa Assemble Tariff Fields till Update Sheet with Tariffs för att skriva tillbaka berikade fält till arket.
  7. Behåll Combine Batch Results inställd på aggregate = aggregateAllItemData för att slå ihop resultat innan e-postnotifiering.

Konfigurera notifieringsmejl

Skicka ett klart-mejl efter att batchaggregeringen är färdig.

  1. I Dispatch Completion Email ställer ni in sendTo till [YOUR_EMAIL].
  2. Ställ in subject till Completed: Customs Tariff Number Research Finished och message till Job completed successfully.
  3. Inloggning krävs: Anslut era gmailOAuth2-uppgifter i Dispatch Completion Email.

⚠️ Vanlig fallgrop: Ersätt [YOUR_EMAIL] med en riktig mottagaradress, annars misslyckas utskicket.

Testa och aktivera ert arbetsflöde

Verifiera både chattflödet och batchflödet innan ni går live.

  1. Klicka på Execute Workflow och kör Manual Start Trigger för att verifiera att arkraderna uppdateras med Zolltarifnummer.
  2. Skicka en testinmatning via Incoming Chat Start och bekräfta att Map Tariff Result ger ut en kod.
  3. Kontrollera att Dispatch Completion Email skickas efter att Combine Batch Results är klar.
  4. När allt är verifierat, slå på arbetsflödet till Active så att det körs i produktion.

Tips för felsökning

  • Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det uppstår fel, kontrollera först det anslutna Google-kontot i n8n:s Credentials.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Ö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 att redigera utskrifter i all evighet.

Snabba svar

Hur lång tid tar det att sätta upp den här automatiseringen av HS-koder?

Cirka 30 minuter om dina Google- och Gmail-konton är redo.

Krävs det kodning för den här automatiseringen av HS-koder?

Nej. Du kommer främst att koppla konton och matcha dina kolumner i arket mot fälten i flödet.

Är n8n gratis att använda för det här flödet för automatisering av HS-koder?

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 volymer. Du behöver också räkna med kostnaden för tariff-API:t från zolltarifnummern.de (den varierar beroende på plan och användning).

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

Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här flödet för automatisering av HS-koder för andra användningsfall?

Ja, och det bör du förmodligen. Du kan byta vilket ark och vilka kolumner som används genom att redigera Google Sheets-noderna “Retrieve Item Descriptions” och “Update Sheet with Tariffs”. Vanliga justeringar är att skriva resultat i separata “granskning”-kolumner, lägga till en flagga “Behöver verifieras” när poängen är låg och ändra Gmail-meddelandet så att det innehåller en direktlänk till kalkylarket.

Varför misslyckas min Google Sheets-anslutning i det här flödet?

Oftast handlar det om behörigheter: det anslutna Google-kontot kan inte komma åt det Spreadsheet ID:t, eller så matchar inte arknamnet exakt. Autentisera om Google Sheets-credential i n8n och dubbelkolla sedan delningsinställningarna för kalkylarket samt fälten “Columns to Read / Matching Columns”. Om uppdateringar hamnar fel är det oftast för att matchningskolumnen inte är unik (två rader delar samma beskrivning).

Vilka volymer kan det här flödet för automatisering av HS-koder hantera?

I praktiken är hundratals rader per körning normalt, och taket styrs främst av API-begränsningar plus hur länge du är villig att vänta på ett bulkjobb.

Är den här automatiseringen av HS-koder bättre än att använda Zapier eller Make?

Ofta, ja. n8n är helt enkelt mer bekvämt för batchbearbetning, loopar över rader och att hålla logiken samlad på ett ställe utan att betala extra för varje gren eller hjälpsteg. Det ger också möjligheten till egen hosting, vilket spelar roll om du kör stora kataloger regelbundet. Zapier eller Make kan fungera för ett litet ark, men bulk-uppdateringar och radmatchning blir snabbt pilligt. Om du vill ha en second opinion för just din setup, prata med en automationsexpert.

När det här väl är på plats blir ditt ark systemet: berika, granska, skicka. Ärligt talat är det bästa mejlet som säger att du är klar.

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

Launch login modal Launch register modal