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: LLM-kostnadsspårning som håller

Rickard Andersson Partner, Nodenordic.se

Du använder LLM-noder i n8n, arbetsflödena körs, och sedan dyker fakturan upp senare utan något tydligt ”varför”. Du vet att kostnader uppstår, men att spåra dem till en specifik arbetsflödeskörning (eller en enskild dyr nod) blir rörigt.

Marketing ops-team märker det när experiment i det tysta blir dyra. En produktansvarig får frågan att förklara AI-kostnader i ett möte. Och en konsult som hanterar flera kundautomationer behöver LLM-kostnadsspårning som inte bygger på lösa antaganden.

Det här arbetsflödet loggar tokenanvändning och uppskattad kostnad till Google Sheets per körning och per steg, så att du kan hitta toppar, granska användning och dela en rapport som faktiskt går att förstå. Du får se vad det gör, hur det fungerar, vad du behöver och de vanligaste fallgroparna innan du driftsätter det.

Så fungerar den här automationen

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

n8n Workflow Template: Google Sheets: LLM-kostnadsspårning som håller

Varför detta är viktigt: förklara LLM-kostnader utan gissningar

LLM-användning i n8n kan kännas osynlig. Ett arbetsflöde körs, kunder får svar, alla är nöjda … tills du ska svara på enkla frågor som ”Vilken nod kostar mest?” eller ”Dubblerade förra veckans ändring våra tokens?” I många upplägg ligger tokenanvändningen begravd i exekveringsdata och sammanfattas inte smidigt för samma körning. Då slutar det med att du scrollar råloggar, exporterar JSON, eller i värsta fall gissar. Så spräcks budgetar och ”AI-kostnader” blir en skrämmande rad i rapporten som ingen kan försvara.

Det går snabbt. Så här brukar det fallera i riktiga team:

  • Kostnader syns i efterhand, så du upptäcker problem först när fakturan kommer.
  • Du kan inte pålitligt koppla kostnad till en enskild arbetsflödesexekvering utan manuell grävning.
  • Olika varianter av modellnamn (”gpt-4-0613” vs ”gpt-4”) gör rapporteringen inkonsekvent och svår att jämföra.
  • När en ny modell dyker upp kan spårningen sluta fungera i det tysta om du inte först validerar mappingar och prissättning.

Vad du bygger: en LLM-kostnadsmonitor i Google Sheets för varje n8n-körning

Det här arbetsflödet fungerar som en ”kvitto-skrivare” för din AI-användning. Det startar när ett annat arbetsflöde är klart och skickar över ett execution ID (eller när du kör det manuellt för att testa). Via n8n API hämtar det fullständiga exekveringsdetaljer för den körningen och letar sedan igenom exekveringspayloaden för att hitta LLM-användning där den råkar ligga gömd, även inne i nästlade agentsteg. Därefter standardiserar det modellnamn så att rapporteringen håller sig strukturerad, kontrollerar att dina modellmappingar och prislistor är giltiga och beräknar kostnader utifrån din prissättning per miljon tokens. Till sist skriver det resultaten till Google Sheets så att du kan granska kostnad per arbetsflöde, per nod och per modell utan att öppna en enda loggfil.

Arbetsflödet börjar med en trigger på exekveringshändelse (eller manuell trigger vid uppsättning). Det hämtar exekveringsdata, identifierar alla noder med LLM-användning, slår ihop och räknar fram totalt antal tokens och USD-kostnad, och skickar sedan strukturerade rader till Google Sheets för rapportering och revision.

Det här bygger du

Förväntade resultat

Säg att du kör 10 AI-tunga n8n-arbetsflöden per dag och att varje arbetsflöde har cirka 5 LLM-anrop. Om du lägger bara 5 minuter per körning på att lista ut ”vad som ändrades” när kostnaderna sticker iväg blir det ungefär 50 minuter varje dag, plus kontextbyten. Med den här automationen skickar du execution ID i slutet av arbetsflödet, låter den processa i en minut eller två och ditt Google Sheet uppdateras med tokenanvändning per steg och uppskattad USD-kostnad. De flesta team går från reaktivt gissande till en daglig avstämning som tar några minuter.

Innan du börjar

  • 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 dina kostnads- och tokenloggar.
  • Åtkomst till n8n API för att hämta exekveringsdetaljer via execution ID.
  • LLM-arbetsflöden med ”Return Intermediate Steps” aktiverat (ställs in i dina agentinställningar för korrekt extrahering).

Kunskapsnivå: Medel. Du bör vara bekväm med att importera arbetsflöden, lägga till autentiseringsuppgifter och redigera ett par ”Set”-noder och dictionaries.

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

Steg för steg

Ett övervakat arbetsflöde avslutas och skickar över ett execution ID. Det renaste mönstret är att lägga till en ”Execute Workflow”-nod i slutet av ditt målflöde och skicka med aktuellt execution ID till den här monitorn.

n8n hämtar fullständiga exekveringsdetaljer via API. Arbetsflödet använder execution ID för att hämta exekveringspayloaden, där tokenanvändning och agentens mellanliggande steg faktiskt finns.

Användning upptäcks, struktureras och prissätts. Kodsteg hittar LLM-användningsposter, ett mapping-steg standardiserar modellnamn och prissättning per miljon tokens används för att räkna fram prompt-, completion- och totalkostnad.

Resultaten slås ihop och loggas i Google Sheets. Du får rader som du kan filtrera på arbetsflödesnamn, nodnamn, modell, status och exekveringstid, vilket gör kostnadsgenomgångar enkla.

Du kan enkelt ändra modellmapping och prislistor så att de matchar dina leverantörer (OpenAI, Claude, OpenRouter, lokala modeller) och dina rapporteringsbehov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera triggern Execute Workflow

Konfigurera hur arbetsflödet startar, antingen manuellt eller när ett annat arbetsflöde skickar ett execution-ID.

  1. Lägg till noden Manual Execution Start för att möjliggöra ad hoc-testning.
  2. Lägg till noden Execution Event Trigger för automatiska starter från ett annat arbetsflöde.
  3. I Execution Event Trigger definierar ni en indata med namnet execution_id med typen number.
  4. Anslut både Manual Execution Start och Execution Event Trigger till Retrieve Execution Details.

Tips: Använd Manual Execution Start med pinnad data för snabb validering under uppsättningen.

Steg 2: anslut n8n API för uppslag av körningar

Det här arbetsflödet läser körningsdata från er n8n-instans via det interna API:t.

  1. Öppna Retrieve Execution Details.
  2. Inloggningsuppgifter krävs: Anslut era n8nApi-credentials.
  3. Ställ in Resource till execution och Operation till get.
  4. Ställ in Execution ID till {{ $json.execution_id }}.

⚠️ Vanlig fallgrop: Om execution_id saknas eller är ogiltigt kommer Retrieve Execution Details att returnera tom data och efterföljande parsning kommer att misslyckas.

Steg 3: extrahera LLM-användningsdata och kör parallella grenar

Det här steget parsar körningens runData för att hitta användning av språkmodeller och delar upp i parallella bearbetningsspår.

  1. Konfigurera Locate LLM Usage Nodes att använda den medföljande JavaScript-koden för att extrahera llm_run_data och tokensByModel.
  2. Bekräfta att utdata-strukturen innehåller all_nodes_summary, llm_run_data och tokensByModel.
  3. Locate LLM Usage Nodes skickar utdata både till Combine Streams och Assemble Used Models parallellt.
  4. I Assemble Used Models behåller ni den medföljande koden som matar ut models_used från tokensByModel.

Steg 4: standardisera modeller och definiera prissättning

Normalisera modellbeteckningar och ladda prisordlistan innan validering.

  1. Öppna Normalize Model Labels och ställ in Mode till raw.
  2. Ställ in JSON Output till den medföljande ordlistan i noden, inklusive nycklar som "gpt-5-mini": "gpt-5-mini".
  3. Säkerställ att Include Fields innehåller models_used och att Include Other Fields är aktiverat.
  4. Öppna Define Model Pricing och behåll den medföljande JSON Output som innehåller model_price_dic med priser per miljon tokens.
  5. Ställ in Include Fields till standardize_names_dic, models_used och aktivera Include Other Fields.

Tips: Se till att modellnycklarna i Normalize Model Labels är i linje med nycklarna i Define Model Pricing för att undvika valideringsfel.

Steg 5: validera ordlistor och beräkna kostnader

Validera att varje använd modell har en standardiserad beteckning och ett pris, och beräkna därefter användningskostnader.

  1. I Validate Model Dictionaries behåller ni JavaScript-koden som kontrollerar models_used mot standardize_names_dic och model_price_dic.
  2. I Branch on Validation bekräftar ni att villkoret använder {{ $json.passed }} för att routa fel till Halt with Error Notice.
  3. I Halt with Error Notice behåller ni uttrycket för Error Message som {{ $json.message }} plus listorna över saknade modeller.
  4. Anslut den lyckade grenen från Branch on Validation till Combine Streams så att den kan slås ihop med den parsade användningsdatan.
  5. I Compute Usage Cost behåller ni JavaScript-koden som beräknar tokenUsage_cost per körning och total cost.

⚠️ Vanlig fallgrop: Om en modell förekommer i models_used men saknas i model_price_dic kommer Halt with Error Notice att stoppa arbetsflödet.

Steg 6: testa och aktivera ert arbetsflöde

Kör ett kontrollerat test för att bekräfta extrahering och kostnadsberäkningar innan ni aktiverar automatiserad övervakning.

  1. Klicka på Execute Workflow med Manual Execution Start och ett giltigt execution_id.
  2. Verifiera att Locate LLM Usage Nodes matar ut tokensByModel och llm_run_data.
  3. Bekräfta att Compute Usage Cost returnerar ett cost-objekt med input_cost, output_cost och total_cost.
  4. Om valideringen misslyckas, granska feldetaljerna i Halt with Error Notice och uppdatera ordlistorna därefter.
  5. När resultaten ser korrekta ut, slå på reglaget Active för produktionsanvändning.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • n8n API-autentisering kan gå ut eller sakna behörigheter. Om hämtning av exekvering misslyckas, kontrollera först din n8n API-credential i n8n Settings och bekräfta att den kan läsa exekveringar.
  • Om du använder Wait-noder eller externa AI-leverantörer under belastning varierar processtider. Öka väntetiden om nedströmsnoder misslyckas på grund av tomma svar.
  • Modellnamngivning är oftast boven när du hamnar i felspåret. Uppdatera din mapping i steget ”Normalize Model Labels” och din prissättning i ”Define Model Pricing”, annars fortsätter du att trigga validering för odefinierad modell.

Snabba svar

Hur lång tid tar det att sätta upp den här automationen för LLM-kostnadsspårning?

Cirka en timme om din n8n API-åtkomst och Google Sheets-åtkomst är på plats.

Krävs kodning för den här kostnadsspårningen?

Nej. Du kommer främst att redigera dictionaries för modellnamn och priser. Kodnoderna finns redan med i arbetsflödet.

Är n8n gratis att använda för det här arbetsflödet för LLM-kostnadsspårning?

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 volym. Du behöver också räkna in kostnader från LLM-leverantören, eftersom det här arbetsflödet beräknar kostnad baserat på prissättningen du anger.

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

Två alternativ: n8n Cloud (hanterat, enklast uppsättning) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och hanterar n8n bra. Egen drift ger obegränsade exekveringar men kräver grundläggande serverhantering.

Kan jag modifiera det här arbetsflödet för LLM-kostnadsspårning för olika use cases?

Ja, och det bör du troligen. Ersätt eller bygg ut modellalias-mappingen i ”Normalize Model Labels”, uppdatera prissättning i ”Define Model Pricing” och justera vad du skriver till Google Sheets så att kolumnerna matchar din rapportering (team, kund, miljö eller arbetsflödesnamn).

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

Oftast är det n8n API-credentialen: utgånget token, fel base URL eller saknad behörighet att läsa exekveringar. Bekräfta att credentialen som används av ”Retrieve Execution Details” kan komma åt exekveringsdata och testa sedan igen med manuell trigger. Om arbetsflödet i stället hamnar på spåret ”Stop and Error” betyder det ofta att ett modellnamn upptäcktes som ännu inte finns i din normaliserings-dictionary eller din prissättnings-dictionary.

Vilken volym kan det här arbetsflödet för LLM-kostnadsspårning hantera?

Tillräckligt för de flesta team, eftersom det körs en gång per övervakad exekvering och bearbetar den exekveringens payload. På n8n Cloud är din praktiska gräns din månatliga exekveringskvot; om du kör själv begränsas volymen främst av serverstorlek och hur stor din exekveringsdata blir.

Är den här automationen för LLM-kostnadsspårning bättre än att använda Zapier eller Make?

Ofta, ja. Zapier och Make har ingen inbyggd åtkomst till n8n:s exekveringsinternals, vilket är hela poängen här, och du skulle behöva bygga krångliga kringlösningar eller först skicka loggar någon annanstans. n8n hanterar också förgreningar och kodsteg utan att göra varje ”avancerat” behov till ett premiumtillägg. Om du bara vill ha en enkel månadssumma per leverantör kan ett lättviktigt verktyg räcka. Men om du vill ha tydlighet per nod och ett revisionsspår du kan försvara passar den här metoden bättre. Prata med en automationsexpert om du vill ha en second opinion.

När detta väl är på plats slutar du behandla LLM-kostnader som ett mysterium och börjar behandla dem som vilken annan spårbar insatsfaktor som helst. Arbetsflödet sparar kvittona, och du får tillbaka din tid (och din trovärdighet).

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