Automate invoices with AI: how to read and book your supplier invoices without typing

Consultoria EHERO

12 minutos de lectura

Yes, you can automate invoices with AI: a model reads the supplier’s PDF, extracts the data, and leaves it in your accounting software ready for approval. What it does not do is decide for you. In our own accounts, three out of four documents went in untouched and the rest needed someone to make a decision.

Here we explain the process step by step, what checks need to surround the AI, and what happened when we did it with 136 real expense documents.

This article is about invoices you receive. If what you want is to issue the ones in your store automatically, we explain that in how to automate WooCommerce invoices with Holded.

What the AI does with an invoice and what it doesn’t

An invoice is a document made to be read by a person. Each supplier lays it out differently, and that is why the old-school templates failed as soon as the design changed. A language model does not need a template: it understands that “Total to pay”, “Total amount”, and “INVOICE TOTAL” are the same thing.

Task Who does it
Read the document and extract supplier, number, date, and amounts The AI
Distinguish an invoice from a receipt, delivery note, or pro forma invoice The AI, and anything doubtful is set aside
Check that the base amount plus VAT equals the total A rule, no AI
Detect that the invoice was already entered A rule, no AI
Choose the expense account and usual tax for that supplier A rule, based on what has already been booked
Decide how to treat a new or unusual case A person, with their advisor
Approve A person, at least at first

The idea that organizes everything else: the AI reads, the rules check, and a person decides what is unclear. Anyone who leaves all three in the hands of the AI ends up with errors that nobody sees until the quarter closes.

The process, step by step

  1. Gather. Put all invoices in one place: a folder or a mailbox just for that. It is the least flashy step and the one that brings the most order.
  2. Extract the text. A PDF generated by software already contains the text, and it can be extracted without AI. A scan or a photo first needs optical character recognition (OCR) or a model that reads images.
  3. Extract the fields. The model receives the text and returns a fixed structure: supplier, tax ID, invoice number, date, taxable base for each VAT rate, tax amount, withholding if any, total, and currency. Always the same fields, and blank for anything it does not find.
  4. Check. Before touching the accounts, the rules in the next section separate the clean cases from the doubtful ones.
  5. Create as draft. The expense is created in the software without approval, with the PDF attached. A person reviews the batch and approves it.
  6. Archive and leave a trail. The PDF goes to its folder by year and supplier, and each invoice leaves a line in a log: what was read, what was created, and what status it ended up in.

One instruction matters more than all the others: have the model leave the field blank when it cannot see it. A gap gets reviewed; a made-up value gets booked.

The checks the AI does not do

A model can misread a number and state it with complete confidence. These checks are arithmetic and lookups, cost nothing, and are what make the process reliable:

  • The math adds up. The sum of the bases plus the tax amounts, minus withholding, equals the total. If not, the invoice goes to review.
  • The rate exists. The tax amount divided by the base gives a real VAT rate, not 20.7%.
  • The tax ID is valid and belongs to a supplier you already have. If it is new, it is not created automatically: it is asked about.
  • It is not duplicated. Same supplier and same invoice number already booked: reject it.
  • The date makes sense. Not in the future, and not from a closed fiscal year.
  • It matches the history. If that supplier always goes to the same account and with the same tax, and today something else appears, someone checks it.

Real case: 136 expense documents in Holded

In September 2026 we did it with our own accounts. We had a pending folder with several months of expense invoices to enter in Holded, and we set it up through its API instead of typing them in.

The first thing that came out was that not everything was invoices. The folder also contained receipts and bank settlements, insurance policies, a pro forma invoice, a few loose images, and several compressed files. Before reading amounts, they had to be classified.

The workflow was the one above:

  • The text was extracted from each PDF without AI. For scans and photos, OCR was used.
  • A mid-range model extracted the fields from each document, and a program validated the result.
  • The expense account and tax for each supplier were not chosen by the AI: they came from how their previous invoices had been booked.
  • Each expense was created as a draft with its PDF attached, and the file was moved to a draft folder by year and supplier.
  • A person reviewed the drafts in Holded. Once approved, each PDF moved to its final folder and the log was updated.

The result of the first batch:

136 documents processed.

102 came out clean: read, checked, and created as drafts without intervention.

34 were set aside with a specific doubt for someone to decide.

457 Holded API calls in total, including preparation and queries. Each invoice takes two or three: create, attach the PDF, and approve.

That split, three clean for every doubtful one, is what you should expect from a first pass with real paperwork. The second batch goes better because the decisions from the first become rules.

There was an effect we were not looking for. With everything recorded, cross-checking it against bank movements made it possible to spot charges that had no invoice and the missing months from suppliers that invoice every month.

The cases that needed a person

None of these is solved better by a model. They are judgment calls, and what the process does is detect them and stop:

  1. Two VAT rates on one invoice. A fuel invoice that mixes items at 10% and 21% needs two lines. The check also uncovered an old invoice, entered manually, with everything at 21%.
  2. The rounding cent. Sometimes the total calculated by the software does not match the invoice by one cent. You have to adjust the price with more decimals until it matches.
  3. Foreign software in dollars. It is recorded in euros based on the actual bank charge, and the VAT treatment changes depending on whether the supplier is inside or outside the European Union. That criterion is set by the advisor once, and then it becomes a rule.
  4. Credit notes. A negative invoice is a corrective invoice and goes down a different path. In our case the API did not allow attaching the PDF or approving them, and that was done manually.
  5. The tax ID does not match. A brand invoicing with the tax ID of another company in its group, or a supplier that changed tax ID. The duplicate rule and the known-supplier rule trigger, and rightly so.
  6. New suppliers. Adding them is a decision, not a reading. They are listed and approval is requested.
  7. What is not an invoice. Bank receipts and insurance policies do not carry VAT and have their own way of being recorded. That has to be decided once.
  8. Invoices with the data in the wrong place. In another name, or without a number. Whether to record them or request a new one is decided by whoever is responsible for the accounts.

And two technical lessons. First: in Holded, the permission that allows creating expenses is the same one that allows deleting them, so the automation was written to never delete anything. Second: the API call limit applies to the whole account, and it is shared by all the integrations you have connected.

Which model to use

Extracting data from a document is one of the cheapest tasks you can ask a model to do: lots of reading and a short response that is checked with rules. The sensible thing is to start with a small-tier model and only move up if it fails with your invoices. We used a mid-range one.

At today’s list prices, reading one thousand invoices in text with a small model costs from 0.35 to 3.50 dollars in usage, according to our calculations. The numbers, model by model, are in the AI model and API pricing comparison, which we keep up to date.

Two warnings before choosing:

  • A photo costs more than text. If you can extract the text from the PDF without AI, do it, and leave image reading for scans.
  • Invoices contain data. Names, tax IDs, sometimes a bank account. Check what the model provider does with what you send and do not use free tiers that reuse the content.

If the invoice is for merchandise for your store

When the invoice is for products for a WooCommerce store, booking it is only half the job. The other half is keeping the cost and stock of each item up to date.

That is what EHERO Woo Supplier Stock Manager is for (it is ours). It includes AI invoice OCR: upload the document in PDF, JPG, or PNG, the AI reads it, and you review and confirm. The plugin updates costs and stock, and exports to your accounting software. It works with your own OpenAI key: usage is billed to your OpenAI account.

And if you keep your accounts in Holded, EHERO Woo Holded covers the other side: it creates the invoice for each sale when the order comes in.

Where to start

  1. Count how many invoices you receive per month and how long it takes to enter each one. Without that number, you cannot know whether it is worth it.
  2. Check whether your software has an API to create expenses and attach the PDF. Holded does. If yours only imports files, the process ends in an Excel file that is imported.
  3. Gather twenty varied invoices, with their correct outcome already known. That is the test used to choose the model and fine-tune the rules.
  4. Start in draft. Nothing is approved automatically until several batches in a row come through without corrections.
  5. Write down every decision you make in a rare case. Those decisions become the rules for the next batch.

Shall we set it up with your invoices?

We build this process for online stores and SMEs: we measure what it costs you today, connect it to your software (Holded, Odoo, Sage 50, Factusol, and others), and leave it working in draft, with the rules and the log. The AI runs on your own API key: the provider bills usage to your account, with no intermediaries or markups.

Calculate what it costs you to do it manually · See AI model prices

Frequently asked questions

Can invoices be booked with AI without reviewing them?

It is not advisable. The AI reads well, but how to treat a new case is a decision. The sensible approach is to create drafts, have a person approve them, and automate approval only for what passes every check batch after batch.

What is the difference between traditional OCR and AI?

OCR turns the image into text. It does not know which number is the total or which is the base amount. A language model understands the document and returns each piece of data in its field, even if each supplier lays it out differently. With scans, both are used: first OCR, then the model.

Does it work with scanned invoices or photos?

Yes, with one extra step: OCR, or a model that reads images. It fails more often than with a PDF containing text, especially with crooked photos or blurry thermal receipts, and that is why the checks matter even more.

Does the AI choose the accounting account?

It can suggest one, but it is better if it does not. The reliable approach is to apply the account and tax that were already used for that supplier, and ask when the supplier is new.

How much does it cost to read invoices with AI?

The model usage is the small part: at list prices, one thousand text invoices with a small model cost from 0.35 to 3.50 dollars depending on the model, according to our calculations. What costs money is setting up the process: the connection to your software, the rules, and the edge cases.

Does it work for any accounting software?

For those that have an API or import files. With an API, the expense is created automatically with its PDF; without one, the process prepares a file to import.

What if the invoice already arrives in electronic format?

Then it does not need to be read: a structured electronic invoice already contains the data in fields. AI is for PDF and paper, which is still how most invoices arrive.

Conclusion

Automating supplier invoices with AI works if the work is split properly: the model reads, the rules check, and a person decides on the doubtful cases. With that split, most of it goes in automatically and the unusual cases stay visible instead of hidden.

This article is informational. The accounting and tax treatment of each expense is decided by your advisor.

Useful links

Do you want to stay up to date with all the latest news?

Follow us on our social media so you don't miss anything!

Subscribe to our newsletter

Get exclusive deals and updates.

Get 10% OFF your first order!