How to control incoming supplier invoices in Holded

Holded is the ERP most widely used by digital Spanish SMEs. It does its job well: accounting, billing, bank reconciliation, tax filings. But controlling the invoices you receive (line-by-line matching against POs and delivery notes) is not its focus. That's what ininvoice covers. We coexist. We don't replace.


The natural split: Holded books, ininvoice validates

TaskHoldedininvoice
Receive supplier invoice from emailManual / extra moduleAutomatic (Gmail/Outlook)
Extract invoice line itemsBasic OCRLine-by-line OCR/IDP, no templates
Match against purchase orderHeader total comparisonLine by line, pre-tax
Match against delivery noteNot automatedYes, partial receipts included
Duplicate detectionBy invoice numberMulti-criteria (supplier + number + date + amount + hash)
Risk score per invoiceNo0-100 with explicit signals
Exception routing by typeNoPrice -> procurement / quantity -> warehouse / duplicate -> blocked
Post invoice to the general ledgerYes, core featureNo
Bank reconciliationYesNo
Tax filings (303, 390, 347)YesNo
Issue customer invoicesYesNo

What you see: neither tool steps on the other. Holded stays your ERP. ininvoice adds the missing layer before the invoice enters Holded.

Why Holded doesn't do line-by-line matching

It's not a Holded shortcoming. It's a product decision. ERPs and accounting software are designed for an SME that already has the invoice validated by the time it reaches the system. They assume someone has already reconciled it. That's why they compare totals, not line items.

For an SME with 30 invoices/month that model works: someone reviews them by hand, balances them in a spreadsheet, then enters them into Holded. For an SME with 600 invoices/month the model collapses: nobody has time to review every document line by line, and invisible overpayments pile up.

Detail on how overpayments slip through when you only reconcile header totals: The total-matching trap.

The combined Holded + ininvoice flow

  1. Your supplier sends an invoice by email (PDF or structured XML).
  2. ininvoice pulls it from email, reads it line by line, finds the PO, validates the delivery note.
  3. If everything matches, ininvoice exports a CSV ready to import into Holded for posting.
  4. If there's an exception (price, quantity, duplicate), it routes the case to the right owner. The invoice does not enter Holded until it's resolved.
  5. Holded posts the invoice with clean data, reconciles it with the bank on payment, and feeds your tax filings without surprises.

Which Holded SMEs is this a fit for

  • SMEs receiving 100-2,000 supplier invoices per month.
  • Businesses with many open POs: distribution, multi-location hospitality, retail, light manufacturing, construction.
  • Small back-office teams that drown at month-end close.
  • Companies that have caught at least one overpayment or duplicate per month and know it's the tip of the iceberg.

Where it's NOT a fit

  • SMEs with fewer than 50 invoices per month: the time savings don't pay off.
  • Pure B2C businesses with no meaningful supplier base.
  • Companies that don't work with structured purchase orders (one-off purchases without a documented PO).

How it connects to Holded today

Transparently: ininvoice exports validated bills as a CSV that imports directly into Holded. Your accounting team imports the batch into Holded in 5-10 minutes at end of day.

Native API integration with Holded is on our roadmap. In the meantime, the CSV flow handles daily operations with no friction and no in-house IT dependency. If your SME needs a more automated flow, we can scope it together up front.

Verifactu, e-invoicing and SII compliance

The regulations rolling out in 2026-2027 affect both Holded and the inbound flow:

  • Mandatory e-invoicing: large suppliers begin September 2026 sending structured XML instead of PDF. ininvoice handles the formats (FacturaE, Factur-X, UBL, CII).
  • Verifactu: from 2027 the invoices you receive carry a QR and a hash. ininvoice validates the QR against AEAT.
  • SII: Holded handles reporting. ininvoice helps deliver clean data, fast.

On Holded and getting a lot of supplier invoices?

Let's talk for 15 minutes. I'll show you how a real invoice clears against your current Holded. No commitment, no hard selling. Book your demo.

Frequently asked questions

Does ininvoice replace Holded?
No. Holded stays your ERP. ininvoice validates invoices before they enter Holded.
Do I lose any Holded features by using ininvoice?
None. Your Holded keeps working exactly the same. ininvoice adds a layer that sits in front; it doesn't touch what you've already configured.
Do I need a special Holded plan?
No. Any Holded plan that imports CSV works.
How long does onboarding take?
Plug and play. Connect your mailbox (Gmail or Outlook), share your open POs as CSV, and we start processing live invoices.
How much does it cost?
Plan: 249 EUR/month for up to 300 invoices/month. No implementation fee, no commitment. See full pricing.
What happens to invoices that are already in Holded?
We leave them alone. ininvoice only processes new ones arriving after you connect the mailbox.

Holded books. ininvoice validates.

249 EUR/month · no commitment · no implementation fee · instant activation.

See a demo with my invoices