# Extract invoice data from PDFs to JSON with Gemini and XML: n8n workflow

> Started by someone submitting a form. It calls services over plain HTTP rather than through connectors. It hands the judgement calls to Gemini.

Source: https://millionrounds.com/workflow/extract-invoice-data-from-pdfs-to-json-with-gemini-and-xml (Millionrounds; every figure on the page links to its filing or article)

[Automation library](https://millionrounds.com/workflows) · [Money admin](https://millionrounds.com/workflows?category=Money+admin#library)

# Extract invoice data from PDFs to JSON with Gemini and XML

Started by someone submitting a form. It calls services over plain HTTP rather than through connectors. It hands the judgement calls to Gemini. 6 steps: small enough to read in one sitting and change without fear.

Small Calls a model: Gemini

[Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fextract-invoice-data-from-pdfs-to-json-with-gemini-and-xml)

**6 steps** Small: readable in one sitting

**0** Branches: places the flow splits

**0** Loops or waits

**0** Services by connector: it calls them over plain HTTP

## The flow

Starts it 1 Model 1 Logic 3 Service 1

The steps in the order they run, from what starts it.

- 1 **On form submission** Form trigger *Starts it*
- 2 **Extract from File** Extract From File *Service*
- 3 **Limpio data** Set *Logic*
- 4 **Message a model** Google Gemini *Model*
- 5 **Limpio XML** Set *Logic*
- 6 **XML to JSON** Xml *Logic*

## How it's built

- **Starts on:** Someone submitting a form
- **Steps:** 6
- **Size:** Small: readable in one sitting
- **Connects to:** Nothing by connector; it calls services over plain HTTP
- **Model:** Gemini

## Questions

What does it need to run?

An n8n account, and a key for Gemini. You connect your own accounts after importing it; none are included.

What starts it?

It starts on someone submitting a form.

Does it use AI?

Yes. It calls Gemini. Model calls are billed by the provider, not by n8n.

How long does it take to set up?

Not long. At 6 steps it can be read in one sitting and changed without fear.

How do I import it?

Copy the workflow, open a new workflow in n8n and paste. The steps appear on the canvas, ready for your own accounts.

**Before you run it**

Nothing here has been tested by us. It is somebody's working automation, read and described from its own steps. Treat the connections it wants as a list of accounts it will touch, and read the 6 steps before you point it at anything that matters.

## Run it in n8n

- **Create your n8n account** Free to start. n8n is where the workflow runs. [Create an n8n account ↗](https://millionrounds.com/n8n)
- **Download the workflow** Free with a Millionrounds account. [Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fextract-invoice-data-from-pdfs-to-json-with-gemini-and-xml)
- **Paste it into n8n** Open a new workflow in n8n and paste. Then connect your own accounts.

Stored with the author's traces removed: canvas notes, instance identifiers, saved credential names and any live document they had left behind.

## Workflows like it

Also money admin, with the same services where possible, closest in size first.

- [**Automate expense tracking from Gmail to Airtable with OpenAI** 6 steps · calls a model · Airtable, Gmail](https://millionrounds.com/workflow/automate-expense-tracking-from-gmail-to-airtable-with-openai)
- [**Generate client proposals from call transcripts** 6 steps · calls a model · Airtable, Google Drive](https://millionrounds.com/workflow/generate-client-proposals-from-call-transcripts)
- [**Generate client-ready proposal slides with OpenAI** 6 steps · calls a model · Gmail, Google Drive](https://millionrounds.com/workflow/generate-client-ready-proposal-slides-with-openai)
- [**Generate daily business digest with Notion and Gmail** 6 steps · calls a model · Gmail, Google Calendar](https://millionrounds.com/workflow/generate-daily-business-digest-with-notion-and-gmail)
- [**Post daily motivational quote images to Telegram with Gemini** 6 steps · calls a model · Telegram](https://millionrounds.com/workflow/post-daily-motivational-quote-images-to-telegram-with-gemini)
- [**Score freelancer proposal PDFs from form submissions** 6 steps · calls a model](https://millionrounds.com/workflow/score-freelancer-proposal-pdfs-from-form-submissions)
