# Automated invoice data extraction from DIAN XML: n8n workflow

> Started by someone opening a chat with it. It calls services over plain HTTP rather than through connectors.

Source: https://millionrounds.com/workflow/automated-invoice-data-extraction-from-dian-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)

# Automated invoice data extraction from DIAN XML

Started by someone opening a chat with it. It calls services over plain HTTP rather than through connectors. 9 steps, 1 branch: a working afternoon to understand properly.

Medium

[Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fautomated-invoice-data-extraction-from-dian-xml)

**9 steps** Medium: a working afternoon

**1** Branch: places the flow splits

**0** Loops or waits

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

## The flow

Starts it 1 Logic 7 Service 1

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

- 1 **When chat message received** Chat trigger *Starts it*
- 2 **Extract from File** Extract From File *Service*
- 3 **XML** Xml *Logic*
- 4 **setMainData** Set *Logic*
- 5 **IfContainsDescription** If *Logic*
- 6 **Merge** Merge *Logic*
- 7 **extractDescription** Set *Logic*
- 8 **setTotalData** Set *Logic*
- 9 **parseDescription** Xml *Logic*

## How it's built

- **Starts on:** Someone opening a chat with it
- **Steps:** 9, with 1 branch
- **Size:** Medium: a working afternoon
- **Connects to:** Nothing by connector; it calls services over plain HTTP
- **Model:** None. This is plumbing, not judgement

## Questions

What does it need to run?

An n8n account. You connect your own accounts after importing it; none are included.

What starts it?

It starts on someone opening a chat with it.

Does it use AI?

No. Every step is fixed logic or a call to a service, so it does the same thing every time.

How long does it take to set up?

Plan an afternoon. 9 steps is enough that you should read each one before running it.

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 9 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%2Fautomated-invoice-data-extraction-from-dian-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 cancellation feedback collection with Stripe** 9 steps · Email, Google Sheets](https://millionrounds.com/workflow/automate-cancellation-feedback-collection-with-stripe)
- [**Automate expense reporting from Airtable to QuickBooks** 9 steps · Airtable](https://millionrounds.com/workflow/automate-expense-reporting-from-airtable-to-quickbooks)
- [**Automate medical billing with Google Sheets and Gmail** 9 steps · Gmail, Google Sheets](https://millionrounds.com/workflow/automate-medical-billing-with-google-sheets-and-gmail)
- [**Automate service booking & payment with WhatsApp and Xendit** 9 steps](https://millionrounds.com/workflow/automate-service-booking-and-payment-with-whatsapp-and-xendi)
- [**Automated monthly & quarterly Stripe revenue reports to Slack** 9 steps · Slack, Stripe](https://millionrounds.com/workflow/automated-monthly-and-quarterly-stripe-revenue-reports-to-sl)
- [**Create Stripe invoices from Airtable orders with Google Sheets** 9 steps · Airtable, Google Sheets](https://millionrounds.com/workflow/create-stripe-invoices-from-airtable-orders-with-google-shee)
