Fakturapdf:er dyker upp, och sedan börjar den långsamma delen. Ladda ner, öppna, kisa på totalsummor, skriva in radrader igen, rätta en ”0” som borde ha varit en ”8” och jaga någon för att bekräfta inköpsordernumret.
Här tappar finansteam timmar, men driftansvariga och byråägare känner av det också. Automatisering av Drive Airtable-fakturor gör om ”ny PDF kom in” till en felfri Airtable-post med nyckelfälten och raderna redan kopplade.
Nedan ser du hur flödet körs i n8n, vad det automatiserar från början till slut och vad du kan justera om dina fakturor är stökiga (helt ärligt, de flesta är det).
Så fungerar automatiseringen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: Google Drive till Airtable, fakturor loggas strukturerat
flowchart LR
subgraph sg0["Flow 1"]
direction LR
n3["<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/airtable.svg' width='40' height='40' /></div><br/>Create Invoice"]
n4["<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/airtable.svg' width='40' height='40' /></div><br/>Create Line Item"]
n5["<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/>OpenAI - Extract Line Items"]
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Fields", pos: "b", h: 48 }
n7["<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/code.svg' width='40' height='40' /></div><br/>Process Line Items"]
n8["<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/>Webhook"]
n8 --> n6
n6 --> n5
n3 --> n7
n7 --> n4
n5 --> n3
end
subgraph sg1["Google Drive Flow"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Google Drive", pos: "b", h: 48 }
n1["<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/>Upload File"]
n2@{ icon: "mdi:play-circle", form: "rounded", label: "Google Drive Trigger", pos: "b", h: 48 }
n0 --> n1
n2 --> n0
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 n2 trigger
class n3,n4 database
class n5,n8,n1 api
class n7 code
classDef customIcon fill:none,stroke:none
class n3,n4,n5,n7,n8,n1 customIcon
Problemet: fakturainmatning blir en veckovis brandkårsutryckning
Manuell fakturahantering känns liten tills du summerar den. En PDF kan ta 10 minuter om den är välformaterad, eller 25 minuter om det är en flersidig faktura med udda formatering och tolv rader. Sedan kommer andra varvet: någon upptäcker att momsen är fel, leverantörsnamnet är inkonsekvent eller att fakturadatumet råkade registreras som förfallodatum. Så saktar godkännanden ner, och så blir ”vi betalar den nästa vecka” normalt.
Friktionen byggs på. Här är var det vanligtvis faller isär.
- Någon måste kopiera samma fält till Airtable (eller ett kalkylark) om och om igen, och just i den repetitionen smyger felen in.
- Rader hoppas över eller förenklas eftersom det tar för lång tid att mata in dem, vilket gör senare rapportering i princip värdelös.
- Fakturor ligger i en Drive-mapp utan strukturerad data, så du kan inte söka, filtrera eller skicka dem vidare för godkännande på ett tillförlitligt sätt.
- När volymerna ökar vid månadsskiftet blir ”snabb inmatning” till ”dålig inmatning”, och du får städa upp avstämningar i stället för att stänga böckerna.
Lösningen: tolka nya Drive-fakturor och logga dem i Airtable
Det här arbetsflödet bevakar en specifik Google Drive-mapp där faktura-pdf:er hamnar. När en ny fil dyker upp laddar n8n ner den och skickar den till en dokumenttolkningstjänst (via en HTTP-förfrågan) för att extrahera de viktigaste faktureringsuppgifterna. När tolken svarar via en webhook förbereder arbetsflödet en felfri uppsättning fält, använder ett AI-steg för att plocka ut rader på ett tillförlitligt sätt och skapar sedan en fakturapost i Airtable. Till sist omvandlar det raderna till en strukturerad lista och skapar en Airtable-post per rad, länkad tillbaka till huvudfakturan.
I praktiken slutar du behandla fakturor som ”filer du läser” och börjar behandla dem som ”data som systemet kan använda”. Ny PDF i Drive startar det. Tolkning och extrahering sker i mitten. Airtable får en överordnad fakturapost plus underordnade rader, redo för granskning.
Det här får du: automatisering vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här kan det se ut
Säg att du hanterar 30 fakturor i veckan och att varje tar cirka 15 minuter att öppna, läsa och skriva in i Airtable (inklusive rader). Det är ungefär 7 timmar ren inmatning. Med det här flödet är ”jobbet” att släppa pdf:erna i Drive-mappen och sedan lägga kanske 2 minuter per faktura på att rimlighetskontrollera fält och godkänna. Du granskar fortfarande, men du gör inte längre copy-paste-jobbet, så du får tillbaka större delen av veckan.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Självhostat alternativ om du föredrar det (Hostinger fungerar bra)
- Google Drive för uppladdningsmappen för fakturor.
- Airtable för att lagra fakturahuvud och rader.
- LlamaParse / Lama Cloud API-åtkomst (hämta den i din Llama Cloud-dashboard).
Kunskapsnivå: Medel. Du kopplar konton, klistrar in en API-nyckel och mappar ett antal fält i Airtable.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (kostnadsfri 15-minuters konsultation).
Så fungerar det
En ny faktura hamnar i din Drive-mapp. Google Drive-triggern bevakar en specifik mapp, så slumpmässiga pdf:er någon annanstans spammar inte ditt system.
PDF:en skickas iväg för tolkning. n8n laddar ner filen och postar den sedan till din tolkningstjänst med en HTTP-förfrågan, tillsammans med webhook-URL:en för callback så att resultaten kan komma tillbaka automatiskt.
AI hjälper till att normalisera de stökiga delarna. När webhooken tar emot det tolkade innehållet sätter flödet upp fält redo för prompt och kör ett extraktionssteg som är tänkt att omvandla ”fakturatext” till strukturerade rader du kan lita på.
Airtable får felfria poster. Först skapas fakturans huvudpost. Sedan omvandlas radutdata till en array och skrivs som enskilda Airtable-poster länkade till fakturan, så att du kan filtrera, summera och rapportera korrekt.
Du kan enkelt ändra vilka fält du fångar (som inköpsordernummer eller betalningsvillkor) för att matcha din Airtable-bas. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera triggern Drive File Watcher
Konfigurera Google Drive-triggern som startar arbetsflödet när en ny fakturafil skapas.
- Lägg till noden Drive File Watcher och ställ in Event på
fileCreated. - Ställ in Trigger On på
specificFolderoch välj mappen i Folder To Watch (för närvarande[YOUR_ID]för mappen ”Invoices”). - Inloggningsuppgifter krävs: Anslut era googleDriveOAuth2Api-inloggningsuppgifter.
Steg 2: anslut Google Drive och callback för parsning
Ladda ned den nya filen och skicka den till den externa parsern, och ta sedan emot parserns callback i n8n.
- I Download Drive File ställer ni in Operation på
downloadoch sätter File ID till{{ $json.id }}. - Inloggningsuppgifter krävs: Anslut era googleDriveOAuth2Api-inloggningsuppgifter i Download Drive File.
- I Send File to Parser ställer ni in URL till
https://api.cloud.llamaindex.ai/api/parsing/upload, Method tillPOSToch Content Type tillmultipart-form-data. - I body-parametrarna för Send File to Parser sätter ni webhook_url till er produktions-URL för Incoming Parse Webhook, sätter file till
formBinaryDatamed Input Data Field Namedata, och behåller disable_ocr somtrueoch disable_image_extraction somTrue. - I headers för Send File to Parser sätter ni accept till
application/json, sätter Authorization tillBearer [CONFIGURE_YOUR_TOKEN]och behåller parsing_instruction somPlease extract invoice line items: Name, Quantity, Unit Price, Amount. - Konfigurera Incoming Parse Webhook med HTTP Method
POSToch Path0f7f5ebb-8b66-453b-a818-20cc3647c783.
⚠️ Vanlig fallgrop: Parsern misslyckas med att göra callback om inte webhook_url pekar på den live-URL:en för Incoming Parse Webhook (inte en platshållare).
Steg 3: konfigurera AI-extraktion och omvandling av radartiklar
Förbered prompt och schema, kör AI-extraktionen och konvertera sedan AI-svaret till artikelrader.
- I Prepare Prompt Fields sätter ni prompt till
Please, process parsed data and return only needed.. - I Prepare Prompt Fields sätter ni schema till JSON-schemauttrycket i
={ ... }(lämna hela JSON-schemat som angivet). - I AI Extract Line Items sätter ni URL till
=https://api.openai.com/v1/chat/completionsoch behåller uttrycket för JSON Body exakt som konfigurerat, inklusive modellengpt-4o-minioch referenser till{{ JSON.stringify($('Prepare Prompt Fields').item.json.prompt) }}och{{ JSON.stringify( JSON.stringify($('Incoming Parse Webhook').item.json.body.json[0].items) ) }}. - Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i AI Extract Line Items.
- I Transform Line Items behåller ni JavaScript-koden som parsar utdata från AI Extract Line Items och returnerar varje rad som ett separat JSON-objekt.
Steg 4: konfigurera utdata-noder för Airtable
Skapa fakturaposten och skapa sedan en radpost för varje extraherad artikelrad.
- I Generate Invoice Record ställer ni in Base till
[YOUR_ID]och Table till[YOUR_ID](Invoices-tabellen) med Operation inställt påcreate. - Inloggningsuppgifter krävs: Anslut era airtableTokenApi-inloggningsuppgifter i Generate Invoice Record.
- I Create Item Records ställer ni in Base till
[YOUR_ID]och Table till[YOUR_ID](Line Items-tabellen) med Operation inställt påcreate. - Mappa kolumnerna i Create Item Records så här: Qty till
{{ $json.qty }}, Unit price till{{ parseFloat($json.unit_price.replace('$', '').trim()) }}, Amount till{{ parseFloat($json.amount.replace('$', '').trim()) }}, Description till{{ $json.description }}och Invoices till["{{ $('Generate Invoice Record').item.json.id }}"]. - Inloggningsuppgifter krävs: Anslut era airtableTokenApi-inloggningsuppgifter i Create Item Records.
Steg 5: testa och aktivera ert arbetsflöde
Kör ett fullständigt test med en exempelfaktura för att verifiera parsning, AI-extraktion och skapande av poster i Airtable.
- Klicka på Execute Workflow och ladda upp en testfaktura i den övervakade Google Drive-mappen för att trigga Drive File Watcher.
- Bekräfta att Send File to Parser tar emot filen och att Incoming Parse Webhook anropas tillbaka med parsad data.
- Verifiera att Generate Invoice Record skapar en ny post i Invoices-tabellen och att Create Item Records lägger till rader som är länkade till den fakturan.
- Om testet lyckas, växla arbetsflödet till Active så att det körs automatiskt för nya filer.
Vanliga fallgropar
- Airtable-inloggningar kan löpa ut eller kräva specifika behörigheter. Om saker slutar fungera, börja med att kontrollera n8n Credentials och åtkomst till Airtable-workspace.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder misslyckas på grund av tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera utdata för alltid.
Vanliga frågor
Cirka en timme om din Airtable-bas är redo och du redan har tolkarens API-nyckel.
Ingen kod krävs för grunduppsättningen. Du kan behöva justera ett litet transformsteg om dina rader kommer tillbaka i ett märkligt format.
Ja. n8n har ett gratis självhostat alternativ 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 in LlamaParse/Llama Cloud och OpenAI-användning, vilket vanligtvis är en liten kostnad per faktura.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och hanterar n8n bra. Självhosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, men du vill justera vad du extraherar och vad du lagrar. I n8n uppdaterar du mappningen i ”Prepare Prompt Fields” så att den inkluderar valutasymboler och växelkurser om de finns med, och justerar sedan extraktionsprompten som används före ”Generate Invoice Record” så att modellen returnerar ett dedikerat valutafält. I Airtable lägger du till fält som Currency, FX Rate och Base Currency Total. Många team lägger också till en enkel kryssruta ”Needs review” när valutan inte är standard.
Oftast beror det på behörigheter eller en OAuth-session som gått ut. Anslut Google Drive på nytt i n8n Credentials och bekräfta sedan att kontot faktiskt kan se och ladda ner filer i just den fakturamappen. Om det fortfarande misslyckas, kontrollera att triggern pekar på rätt mapp-ID och att filen inte är ett Google-dokument som utger sig för att vara en PDF.
Tillräckligt för de flesta små team.
Ofta, ja, om du bryr dig om rader och driftsäkerhet. Zapier och Make är utmärkta för enkla flöden som ”fil kom in, skapa en post”, men fakturatolkning kräver ofta villkorslogik, webhooks och lite datamappning. n8n klarar det utan att du behöver kämpa, och självhosting undviker prissättning per uppgift när volymerna ökar. Om du redan är djupt inne i Zapier och dina fakturor är väldigt konsekventa kanske du inte behöver byta. Prata med en automationsexpert om du är osäker på vad som passar.
När detta väl rullar slutar fakturainmatning vara en uppgift och blir en bakgrundsprocess. Du granskar det som spelar roll, godkänner snabbare och går vidare.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.