Nanosaur2-670M
well9472 · Kit
Makes illustrations from text prompts with a small 670M-parameter diffusion model, run through ComfyUI. Built as a low-budget research model for people who wan…
An n8n workflow that files invoices. It watches a Google Drive folder, has LlamaParse read each new file and an OpenAI model pick out the line items. Airtable gets one record for the invoice and one for each line item.
Drive invoices parsed by LlamaParse and saved in Airtable is an n8n workflow in the Finance & accounting category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
New file in Google Drive
It starts when a file appears in the Drive folder you watch, with:
An invoice record and one linked row for each line item in Airtable
What you need before you start.
Invoice folder
Detects each new invoice in the folder and downloads it.
NeedsA Google account and a Drive folder
Document reader
Reads the PDF and calls the webhook with its text when finished.
NeedsA LlamaCloud API key and a public HTTPS webhook address
Language model
Returns the line items of the invoice text as JSON.
NeedsAn OpenAI API key
Database
Stores one record for the invoice and one for each line item.
NeedsA base with an Invoices and a Line Items table, and an access token
Checked by Mindket on 13 Nov 2026
This n8n workflow files invoices for you. It watches a Google Drive folder, and each new file goes to LlamaParse, which reads the document. When LlamaParse is done, it calls a webhook of the workflow. An OpenAI model then picks out the line items, and Airtable gets one record for the invoice and one for each line item. Nine nodes do the work, beside nine sticky notes.
Bookkeepers, small finance teams and freelancers who get invoices as PDFs and retype them into a base. It reads PDFs that hold text, but it switches the OCR step off, so scanned pages need a change. The invoice record is created empty, so you name it yourself. Check the totals before you rely on them.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Finance | Bookkeepers | Move invoice lines into a base instead of retyping them | A bookkeeper drops a supplier PDF into the folder and finds its lines in Airtable. |
| Operations | Office managers | Keep one table of what was bought | A manager filters the line items by description to see repeat purchases. |
| Freelance | Consultants | Collect cost lines for a client report | A consultant sums the amount column for one month of line items. |
| Software | Developers | Learn the pattern of a parse job that calls back | A developer reuses the webhook half for another kind of document. |
You need some n8n skill: import a file, add four accounts, publish the workflow and prepare two Airtable tables. Nothing in the file states a setup time.
Any n8n that can reach Google Drive, LlamaParse, OpenAI and Airtable will run it, as long as LlamaParse can reach the webhook.
Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Prepare the accounts and the two tables first.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud, or on a server with a public HTTPS address |
| A Google account and a Drive folder for the invoices | |
| LlamaCloud | An API key from your LlamaCloud account |
| OpenAI | An API key |
| Airtable | A base with an Invoices table and a Line Items table, and a personal access token |
workflow.json.Google Drive Trigger and Google Drive. Choose your invoice folder in the trigger.Webhook, replace <YOUR_RANDOM_WEBHOOK_PATH> with a long random text. Use the same text in the address in Upload File, with your n8n host in place of <YOUR_N8N_HOST>.Upload File, replace <YOUR_LLAMACLOUD_API_KEY> in the Authorization header with your key.OpenAI Extract Line Items.Create Invoice and Create Line Item.Publish the workflow and drop an invoice PDF into the folder. When LlamaParse has finished, the Line Items table gets one row for each line. Check the first runs against the PDFs.
| To change | Where |
|---|---|
| The folder that is watched | Google Drive Trigger |
| What LlamaParse is asked to do | The parsing_instruction field in Upload File |
| Reading scanned pages | Remove the disable_ocr field in Upload File |
| What the model returns | The prompt and the schema in Set Fields |
| The columns that are filled | The two Airtable nodes |
A supplier sends a PDF with three lines, and you save it in the folder.
First Google Drive Trigger sees the file and Google Drive downloads it. Then Upload File sends it to LlamaParse together with the address of Webhook. When parsing ends, LlamaParse posts the text to Webhook, and OpenAI Extract Line Items returns the three lines as JSON. Create Invoice adds one record, Process Line Items splits the JSON into three items and Create Line Item adds a row for each, linked to the invoice.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This workflow has two halves that do not touch. The first half sends a file away. The second half waits at a webhook, an address that LlamaParse calls when its work is done.
For experts. The two halves meet only through the callback, so the second half can be tested alone.
| Node | What it does | What to know |
|---|---|---|
Upload File | An HTTP Request node 4.2 that posts a multipart form to LlamaParse’s first-version upload address | webhook_url and parsing_instruction go in the form, and the key goes in the header |
Webhook | A POST webhook | LlamaParse sends md, txt and json, and the workflow reads body.md |
OpenAI Extract Line Items | An HTTP Request to the chat completions address with a strict JSON schema | The model is gpt-6-luna, and the schema names description, qty, unit_price and amount |
Process Line Items | A Code node that turns the model’s JSON into one item for each line | A parse error is logged and no item comes out |
Create Line Item | An Airtable node 2.1 that creates a row and links it to the invoice | It turns the price strings into numbers |
It sends invoice text to three services, and it is not tested.
disable_ocr is true, so text inside images is not read and a scanned invoice may come back emptyCreate Invoice fills no column, so name the record in Airtable or map a fieldjson field the webhook sample does not list. Mindket’s copy sends it in the form and reads md. The model gpt-4o-mini, which OpenAI’s deprecations page says is shut down on 14 January 2027, is now gpt-6-lunaAn n8n workflow that files invoices. It watches a Google Drive folder, sends each new file to LlamaParse, and receives the parsed text on a webhook. An OpenAI model then returns the line items as JSON, and Airtable gets one record for the invoice and one for each line item.
workflow.json: the workflow as n8n exports it, 9 nodes beside 9 sticky notes. It holds no credential.README.md: these notes.https://api.cloud.llamaindex.ai/api/parsing/upload. LlamaParse’s documentation, read on 12 November 2026, shows /api/v1/parsing/upload, and Mindket’s copy uses that.parsing_instruction was sent as a header. The documentation lists it as a form field, so it is now in the form.body.json[0].items from the webhook. The documented webhook body has txt, md, json and images, and the json sample has no items. Mindket’s copy sends body.md, the text as Markdown, and the prompt now says what to return.gpt-4o-mini is shut down on 14 January 2027, says OpenAI’s deprecations page, with gpt-6-luna as its replacement. Mindket’s copy uses gpt-6-luna. It has no tools here, so the note about tools on that model does not apply.$1,250.00 lost their thousands part, because parseFloat stops at the comma. The two price expressions now remove the dollar sign, commas and spaces first.OpenAI Extract Line Items, and the Code node that reads it follows.workflow.json.Google Drive Trigger and Google Drive. Choose your invoice folder in the trigger.Webhook, replace <YOUR_RANDOM_WEBHOOK_PATH> with a long random text. Use the same text in the address in Upload File, with your n8n host in place of <YOUR_N8N_HOST>.Upload File, replace <YOUR_LLAMACLOUD_API_KEY> in the Authorization header with your key.OpenAI Extract Line Items.Create Invoice and Create Line Item.Google Drive Trigger checks the folder every minute and starts a run for each new file. Google Drive downloads it.Upload File posts the file to LlamaParse with the webhook address and an instruction to find the line items.Webhook. Set Fields adds the prompt and the JSON schema.OpenAI Extract Line Items asks the model for the lines, in the shape of the schema.Create Invoice adds an empty record to the Invoices table.Process Line Items turns the model’s JSON into one item for each line. Create Line Item adds each line to the Line Items table, linked to the invoice.Google Drive Trigger.parsing_instruction field in Upload File.disable_ocr field in Upload File.Set Fields.disable_ocr is true, so text inside images is not read. A scanned invoice may come back empty.Create Invoice fills no column. Name the record in Airtable, or map a field.NOTICE.md 636 B README.md 5 KB workflow.json 17 KB
well9472 · Kit
Makes illustrations from text prompts with a small 670M-parameter diffusion model, run through ComfyUI. Built as a low-budget research model for people who wan…
Waqf-AI · Kit
Reads handwritten Arabic text from images and returns it as text. A fine-tuned PaddleOCR-VL model for people digitizing Arabic handwriting.
Wan-AI · Kit
Makes video clips from a text prompt or an image plus text, at up to 720P and 24 frames per second, in the Diffusers format for a single consumer GPU.
NeoQuasar · Kit
Forecasts financial candlestick series with a 4.1M-parameter foundation model trained on data from over 45 exchanges. For quant researchers and developers who…
An n8n workflow that sends a Hebrew WhatsApp reminder for an unpaid invoice 7, 14 and 30 days after its due date. It reads the open invoices from a Google Shee…
NeoQuasar · Kit
Converts candlestick price data into discrete tokens that the Kronos forecasting models read. It suits people who forecast financial markets in Python.