Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Airtable till QuickBooks, fakturor utan fel

Rickard Andersson Partner, Nodenordic.se

Att manuellt göra “bekräftade” beställningar till fakturor är den typen av arbete som ser enkelt ut tills det skapar fel. En missad rad här, en fel kund där, och plötsligt jagar du betalningsproblem och städar bort dubletter i QuickBooks.

Den här automationen för Airtable QuickBooks invoices träffar driftansvariga och bokförare först. Men grundare och byråägare känner av det också, eftersom faktureringsfel alltid kommer tillbaka som brådskande meddelanden. Resultatet är enkelt: bekräftade Airtable-beställningar blir korrekt formaterade QuickBooks-fakturor, och faktura-ID:t skrivs tillbaka till Airtable automatiskt.

Nedan ser du exakt vad arbetsflödet gör, varför det förebygger vanliga faktureringsmisstag och vad du behöver för att köra det utan att behöva passa det.

Så fungerar automationen

Se hur detta löser problemet:

n8n Workflow Template: Airtable till QuickBooks, fakturor utan fel

Utmaningen: att göra “bekräftade beställningar” till felfria fakturor

Om Airtable är där teamet spårar beställningar har du redan datan som behövs för att fakturera. Problemet är “sista milen”: kopiera fält till QuickBooks, leta upp rätt kundpost, matcha produkter och dubbelkolla totalsummor. Det är monotont, så det går ofta för fort. Sedan upptäcker du i efterhand att fakturan gick till fel kund, eller att fakturan finns men att ingen loggade QuickBooks-faktura-ID:t tillbaka i Airtable, så beställningen ser “ofakturerad” ut för alltid. Den röran skapar betalningsförseningar och obekväma kundsamtal.

Inget av detta var för sig är problemet. Tillsammans är det det.

  • Copy-paste-fakturering tar cirka 10–20 minuter per order, och avbrotten får det att kännas ännu längre.
  • Kundmatchning är skör, så team skapar dublettkunder i QuickBooks utan att märka det.
  • Rader glider från beställningen eftersom produktnamn, ID:n och priser inte mappas konsekvent.
  • Airtable och QuickBooks hamnar ur synk, vilket gör rapporteringen till en gissningslek.

Lösningen: skapa QuickBooks-fakturor automatiskt från Airtable-beställningar

Det här arbetsflödet startar när en beställning i Airtable är redo att faktureras och tar sedan över det repetitiva arbetet som brukar skapa faktureringsfel. Det hämtar den bekräftade beställningsposten, kontrollerar om den redan har fakturerats och stoppar direkt om så är fallet (så att du inte skapar dubletter). Därefter slår det upp kunden i QuickBooks Online. Om kunden inte finns skapar det en ny kund med uppgifterna som finns lagrade i din Airtable-tabell för kunder. Sedan hämtar det varje orderrad från Airtable, matchar varje rad mot rätt produkt- eller tjänstreferens och bygger ett komplett fakturaunderlag. Till sist skickar det fakturan till QuickBooks och skriver tillbaka fakturadetaljerna till Airtable så att båda systemen fortsätter att vara synkade.

Arbetsflödet börjar med en webhook som triggas av Airtable och hämtar direkt rätt orderpost. Därefter går det vidare via kunduppslagning/skapa kund i QuickBooks, sätter ihop rader och skickar fakturan via en HTTP-begäran med ditt QuickBooks Company ID. När QuickBooks bekräftar fakturan uppdateras Airtable med det nya faktura-ID:t och en status “synced”.

Vad som förändras: före vs. efter

Effekt i verkligheten

Säg att du fakturerar 20 bekräftade beställningar per vecka från Airtable. Om manuell fakturering tar cirka 15 minuter per styck (kunduppslagning, orderrader, dubbelkoll, sedan uppdatera Airtable) blir det ungefär 5 timmar administrativt arbete. Med det här arbetsflödet gör du i princip bara en snabb granskning av Airtable-ordern innan du markerar den som redo, sedan skapar automationen fakturan och loggar QuickBooks-faktura-ID:t tillbaka i Airtable. I praktiken brukar team minska detta till några minuters tillsyn per vecka i stället för timmar av repetitiv inmatning.

Krav

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • Airtable för att lagra bekräftade beställningar och kunder.
  • QuickBooks Online för att skapa kunder och fakturor.
  • QuickBooks Company ID (hitta det i QuickBooks inställningar för Billing & Subscription).

Kunskapsnivå: Medel. Du kopplar ihop konton, bekräftar fältmappningar i Airtable och uppdaterar ett URL-värde för QuickBooks.

Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).

Flödet i arbetsflödet

Airtable triggar körningen. När en beställning når din status “redo att fakturera” anropar Airtable n8n-webhooken så att arbetsflödet startar direkt.

Beställningen valideras. n8n hämtar Airtable-orderposten och kontrollerar fakturastatus. Om den redan är markerad som fakturerad eller synkad stoppar arbetsflödet (vilket är det som förhindrar oavsiktliga dubletter).

Därefter sker kundmatchning i QuickBooks. Arbetsflödet slår upp kunden i QuickBooks Online. Om ingen match finns skapar det kunden med uppgifter hämtade från din Airtable-kundtabell och slår sedan ihop spåren “befintlig kund” och “ny kund” tillbaka till ett flöde.

Fakturarader sätts ihop och skickas. n8n hämtar orderrader från Airtable, matchar varje rad mot rätt produkt-/tjänstreferens, formaterar fakturaunderlaget och skickar det till QuickBooks via en HTTP-begäran som inkluderar ditt QuickBooks Company ID.

Airtable uppdateras som “single source of truth”. Fakturan loggas i din Airtable-tabell för Invoices & Payments, originalordern uppdateras med QuickBooks-faktura-ID:t och kundposten kan uppdateras så att framtida beställningar matchas snabbare.

Du kan enkelt ändra vad som räknas som “redo att fakturera” så att det matchar dina egna Airtable-steg, eller utöka fakturafälten (moms, frakt, anteckningar) efter dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera webhook-triggern

Ställ in arbetsflödets startpunkt så att externa system kan skicka orderpostens ID till n8n.

  1. Lägg till Incoming Webhook Trigger som triggernod.
  2. Ställ in Path till 321f46d5-66da-49f5-a8d1-6b61e4a7321f.
  3. Planera för den inkommande query-parametern recordId eftersom efterföljande noder refererar till den som {{$json["query"]["recordId"]}}.

Steg 2: Anslut Airtable-datakällor

Konfigurera Airtable-uppslagningar som hämtar ordrar, kunder, radartiklar och loggar fakturaposter. Det här arbetsflödet använder flera Airtable-noder, så anslut inloggningsuppgifter till alla Airtable-noder på en gång.

  1. Öppna Fetch Order Record och ställ in Record ID till {{$json["query"]["recordId"]}}.
  2. I Check Invoice Status bekräftar ni att villkoret jämför {{$json["Synced to QBO (A)"]}} är lika med FALSE så att endast osynkade ordrar går vidare.
  3. Konfigurera Retrieve Client Details med Record ID satt till {{ $json['(Q) Customer'][0] }}.
  4. I Fetch Order Line Items ställer ni in Filter By Formula till ={Sales Order} = "{{ $('Fetch Order Record').item.json['Sales Order ID'] }}".
  5. I Match Product Identifier ställer ni in Filter By Formula till ={(Q) Product/Service Name}= "{{ $json['(Q) Item Name (A)'][0] }}".
  6. Konfigurera Airtable-utdata: Log Invoice Entry (create), Modify Order Record (update) och Refresh Customer Entry (update) med deras befintliga kolumnmappningar.

Autentisering krävs: Anslut era Airtable-inloggningsuppgifter

Steg 3: Ställ in logik för synkning av QuickBooks-kunder

Konfigurera QuickBooks-uppslagningar och skapande så att kunden finns innan fakturan byggs.

  1. I Lookup QBO Customer ställer ni in filterfrågan till =WHERE DisplayName = '{{ $json["(Q) Customer Name"] }}' och behåller Operation som getAll.
  2. I Verify Customer Presence verifierar ni att villkoret kontrollerar {{ $json.Id }} med Operation isEmpty för att upptäcka saknade kunder.
  3. Konfigurera Generate QBO Customer med Display Name satt till {{ $('Retrieve Client Details').item.json['(Q) Customer Name'] }}.
  4. Säkerställ att Generate QBO Customer ytterligare fält hämtar fakturerings- och kontaktdata, inklusive {{ $('Retrieve Client Details').item.json['(Q) Bill City'] }} och {{ $('Retrieve Client Details').item.json['(Q) Email Address'] }}.
  5. Bekräfta flödet: Lookup QBO CustomerVerify Customer PresenceGenerate QBO CustomerCombine Customer Streams.

Autentisering krävs: Anslut era quickBooksOAuth2Api-inloggningsuppgifter

Steg 4: Sätt ihop och formatera fakturadata

Transformera Airtable-poster till en fakturapayload som är redo för QuickBooks med hjälp av kodnoderna.

  1. Öppna Assemble Invoice Data och behåll JavaScript-logiken som bygger kund-, produkt- och rabattdetaljer från Fetch Order Record, Retrieve Client Details, Fetch Order Line Items, Match Product Identifier och Combine Customer Streams.
  2. I Format Invoice Payload behåller ni mappningen som bygger QuickBooks Line-arrayen och formaterar fakturapayloaden med CustomerRef, TxnDate, DueDate och PrivateNote.
  3. Bekräfta att Format Invoice Payload returnerar objekt som { json: { customer: invoicePayload } } så att Submit Invoice Request kan skicka {{ JSON.stringify($json.customer) }}.
  4. Säkerställ att Format Invoice Payload routar till Batch Iterate Items för batchbearbetning.

Steg 5: Skicka fakturor och uppdatera Airtable

Skicka varje faktura till QuickBooks och logga samt uppdatera därefter Airtable-poster med returnerade ID:n och belopp.

  1. I Batch Iterate Items behåller ni standardhanteringen av batchar så att objekten skickas vidare till Submit Invoice Request via utgång 2.
  2. Konfigurera Submit Invoice Request med URL satt till https://sandbox-quickbooks.api.intuit.com/v3/company/[YOUR_ID]/invoice?minorversion=75 och JSON Body satt till {{ JSON.stringify($json.customer) }}.
  3. I Log Invoice Entry behåller ni Airtable-fältmappningarna såsom {{ $json.Invoice.DocNumber }}, {{ $json.Invoice.TotalAmt }} och {{ new Date($json.Invoice.TxnDate).toISOString() }}.
  4. I Modify Order Record bekräftar ni att uppdateringsfälten använder QuickBooks-värden som {{ $('Submit Invoice Request').item.json.Invoice.Id }} och {{ $('Submit Invoice Request').item.json.Invoice.DocNumber }}.
  5. I Refresh Customer Entry behåller ni kunduppdateringsmappningen till {{ $('Submit Invoice Request').item.json.Invoice.CustomerRef.name }} och {{ $('Submit Invoice Request').item.json.Invoice.CustomerRef.value }}.

Autentisering krävs: Anslut era quickBooksOAuth2Api-inloggningsuppgifter

Autentisering krävs: Anslut era Airtable-inloggningsuppgifter

⚠️ Vanlig fallgrop: Ersätt [YOUR_ID] i Submit Invoice Request-URL:en med ert QuickBooks Company ID, annars kommer API-anropet att misslyckas.

Steg 6: Testa och aktivera ert arbetsflöde

Kör en testkörning och bekräfta att poster skapas och uppdateras som förväntat.

  1. Klicka på Execute Workflow och anropa webhook-URL:en med en giltig query-parameter recordId.
  2. Verifiera sökvägen: Incoming Webhook TriggerFetch Order RecordCheck Invoice StatusRetrieve Client DetailsLookup QBO CustomerVerify Customer PresenceGenerate QBO CustomerCombine Customer StreamsFetch Order Line ItemsMatch Product IdentifierAssemble Invoice DataFormat Invoice PayloadBatch Iterate ItemsSubmit Invoice RequestLog Invoice EntryModify Order RecordRefresh Customer Entry.
  3. Bekräfta att en ny faktura visas i QuickBooks och att en post skapas i Airtable av Log Invoice Entry.
  4. Aktivera arbetsflödet genom att växla Active till On för användning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Se upp för

  • QuickBooks Online-inloggningar kan löpa ut eller sakna behörigheter. Om fakturaskapandet misslyckas, kontrollera QuickBooks-anslutningen i n8n-credentials och bekräfta att appen fortfarande har åtkomst i QuickBooks.
  • HTTP Request-noden “Create Invoice URL” måste använda ditt eget QuickBooks Company ID, inte platshållaren. Om du ser 401/404-fel är detta det första du ska verifiera.
  • Fältnamn i Airtable måste matcha vad arbetsflödet förväntar sig (Confirmed Orders, Customers, Order Lines, Products/Services, Invoices & Payments). Om körningen lyckas men fakturan saknar fält är det oftast ett omdöpt fält eller en tom lookup i Airtable.

Vanliga frågor

Hur snabbt kan jag implementera den här automationen för Airtable QuickBooks invoices?

Cirka en timme om dina Airtable-tabeller redan är strukturerade.

Kan icke-tekniska team implementera den här synkningen av fakturor?

Ja, men du vill ha någon som är bekväm med att mappa fält och testköra en webhook. Ingen kodning krävs, men du behöver vara noggrann med tabellnamn och behörigheter.

Är n8n gratis att använda för det här arbetsflödet för Airtable QuickBooks invoices?

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 även räkna in kostnader för QuickBooks- och Airtable-planer (Airtable-webhooks kräver vanligtvis Pro eller högre).

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

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

Hur anpassar jag den här lösningen för Airtable QuickBooks invoices till mina specifika utmaningar?

Du kan justera Airtables “redo att fakturera”-logik genom att ändra fälten som används i stegen Fetch Order Record och Check Invoice Status, och sedan mappa om vad som skrivs tillbaka i Modify Order Record. Vanliga anpassningar är att lägga till moms eller frakt i logiken Format Invoice Payload, stödja flera valutor genom att lägga till en Currency-mappning och byta från sandbox till live-QuickBooks genom att uppdatera Company ID som används i begäran Create Invoice URL.

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

Oftast beror det på utgångna QuickBooks-uppgifter eller saknade behörigheter på det anslutna QuickBooks Online-kontot. Skapa om eller återanslut QuickBooks-credential i n8n och bekräfta sedan att Company ID i HTTP Request-noden är ditt riktiga (en platshållare kommer att misslyckas). Om du skickar många fakturor samtidigt kan rate limits också orsaka intermittenta fel, så omförsök eller batchning kan behövas.

Vilken kapacitet har den här lösningen för Airtable QuickBooks invoices?

I egen drift av n8n finns ingen körningsgräns, och den praktiska gränsen är din server plus rate limits i Airtable/QuickBooks.

Är den här automationen för Airtable QuickBooks invoices bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här arbetsflödet behöver grenlogik (kontrollera fakturastatus, hitta-eller-skapa kund, och sedan bygga fakturor med flera rader) och det kan bli dyrt eller krångligt i enklare verktyg. n8n ger dig också mer kontroll över hur rader byggs upp, vilket är där faktureringsautomationer oftast går snett. Om du kör egen drift kan du hantera hög volym utan att betala per uppgift, vilket spelar roll när fakturering blir daglig. Zapier eller Make kan fortfarande fungera bra för väldigt små arbetslaster eller enkla upplägg med en tabell. Prata med en automationsexpert om du vill ha en snabb rekommendation för din exakta stack.

När detta väl rullar förblir Airtable din operativa hubb och QuickBooks ditt ekonomisystem, utan att du behöver fungera som limmet mellan dem. Det är ärligt talat hela vinsten.

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