Skip to main content
Possible SetupFinance & Invoicing

Automate Invoice Verification – 12→2 Day Throughput

Automate incoming invoices: three-way match, ZUGFeRD & XRechnung, role-based approval, GoBD-compliant. Demo, figures modelled.

Industry
Finance / Procurement / Accounting
Build, estimated
6–10 weeks

At a glance

It starts with
Intake Channel
The machine handles
12 of 13 steps
A person keeps
Approval Cascade
Bottom line
12→2 daysThroughput

The problem

You know the drill: 200 to 300 incoming invoices a month. Two-eyes principle, PO match, goods-receipt match, cost center assignment, approval, posting, archiving.

Every step a person, every person a bottleneck. When an invoice from vendor XY disappears between receiving and accounting — which happens more often than you think — it eventually gets paid twice. Or too late, no early-payment discount.

At €600,000 monthly purchase volume, that's four-figure amounts simply vanishing.

Here's how it runs in a pipeline that handles the three-way match without anyone watching.

Above roughly 150 incoming invoices per month, manual verification becomes a structural bottleneck. Standard flow: invoice arrives by email, PDF, post, or since 2025 mandatorily as XRechnung/ZUGFeRD for public-sector suppliers.

Accountant opens each one, matches against the purchase order in SAP or Odoo, matches the goods receipt (three-way match), checks prices, quantities, discounts, VAT, picks the right cost center, forwards via email or ticket to the functional approver, chases after 5 and 10 days, posts in DATEV or SAP FI after approval, archives GoBD-compliant.

12–18 minutes per invoice, 5–8 % error rate with manual entry. At 300 invoices/month = 80–90 hours of pure review time.

Hidden costs are larger: missed early-payment discounts (typically 2 % for 10-day payment vs. 30 = 0.7 % of purchasing volume), duplicate payments on missed duplicates, supplier escalations, audit findings on patchy three-way-match.

E-invoice migration (XRechnung/ZUGFeRD mandatory from 2025 for public sector, 2027 B2B-wide in Germany) makes the manual process not just expensive but soon regulatory-insufficient.

Video of the process

Three-way match in a pipeline – with nobody watching

About 10 minutes: from invoice intake through PO and goods-receipt match all the way to GoBD-compliant archiving. With honest numbers.

Read the full guide

The process, step by step

Scroll through. The diagram stays put and highlights the step you are on.

The workflow01 / 13
  1. 01

    Intake Channel

    Email / Peppol / Portal

    Invoices arrive via three channels: dedicated email (PDF attachment), Peppol network (XRechnung for public sector), or supplier upload portal. All feed the same pipeline.

  2. 02

    Detect Format

    PDF / ZUGFeRD / XRechnung

    Format detection: pure PDF (needs OCR), PDF with embedded ZUGFeRD XML (read XML directly), pure XRechnung XML (parse UBL/CII). Format switch decides the extraction path.

  3. 03

    Data Extraction

    OCR / XML parse

    For PDF: Google Cloud Vision or Azure Document Intelligence extracts text and structure. For ZUGFeRD/XRechnung: direct XML parse per EN 16931. Both land in the unified data model.

  4. 04

    Duplicate Check

    Hash + semantic

    Duplicate check on two levels: exact hash (seen this file before?) and semantic (same invoice number from same supplier?). Duplicates are rejected and logged immediately.

  5. 05

    PO Lookup

    SAP / Odoo

    The stated PO number is checked against SAP S/4HANA, Odoo, Business Central, or ERPNext. On missing reference: AI attempts to guess PO by supplier + period + amount.

  6. 06

    Three-Way Match

    Line-item three-way match: invoice lines vs. PO vs. goods receipt. Price, quantity, and VAT deviations computed.

  7. 07Branch

    Deviation?

    Gateway: are all deviations within tolerance (typically 2-5% price, exact quantity)? If yes: straight to AI account assignment. If no: clarification workflow.

  8. 08

    Clarification Workflow

    Procurement contacted

    Clarification workflow: procurement owner receives structured Slack/email with all deviations at a glance and one-click options (Approve, Reject, Partial). Response flows back, process continues.

  9. 09

    AI Account Suggestion

    Claude / GPT-4

    Claude or GPT-4 suggests G/L account and cost center – based on historical bookings, supplier, line text, and amount. Suggestion shown with confidence score.

  10. 10Human decides

    Approval Cascade

    Role + amount

    Approval cascade by role + amount: functional by business unit, >€10k second signature by management, >€50k four-eyes. Deputy rule during absence, 48h escalation.

  11. 11

    Post to ERP

    DATEV / SAP / Odoo

    After approval: automated posting in DATEV Rechnungswesen, SAP FI, Odoo Accounting, or Business Central with correct document type, tax code, and cost center.

  12. 12

    GoBD Archive

    10 years immutable

    GoBD-compliant archive: original invoice, three-way-match log, approval trail, and posting document stored immutably for 10 years. Signature trail verifiable.

  13. 13

    Discount Alert

    When deadline < 5 days

    In parallel a discount guardian runs: if payment deadline is < 5 days and early-payment discount is available, an alert is raised to ensure timely payment.

What changes

Possible setup, not a packaged product

The figures are modelled target values for a possible setup, derived from industry benchmarks and our own tests. They do not come from a customer project; real values depend on your business. We do not sell this setup as a finished product: we measure where your bottleneck is, then build with your team. For systems that require certification (e.g. HIS, gematik, DATEV-certified) we work with specialised partners.

Before vs. After

AspectBeforeAfter
Throughput: intake → postingBefore: ~12 daysAfter: ~2 days
Manual review per invoiceBefore: 12-18 minAfter: 1-2 min (approval)
Early-payment discount captureBefore: ~40%After: >90%
Three-way match coverageBefore: SampledAfter: 100% line-accurate
E-invoice (XRechnung/ZUGFeRD)Before: Manually convertedAfter: Natively parsed per EN 16931
Audit readinessBefore: ~2 weeks prep per auditAfter: Permanent, one-click export

Technology

Technology Stack

n8nGoogle Cloud VisionAzure Document IntelligenceOpenAI GPT-4Claude 3.5DATEV RechnungswesenSAP S/4HANAOdooPeppolPostgreSQL

Integrations

Systems this setup can connect to

DATEV Rechnungswesen / Unternehmen OnlineERP / Accounting
Can connect through DATEV's official interface; we are not DATEV-certified
SAP S/4HANA / Business OneERP
OData and BAPI interfaces for PO matching and SAP FI posting
Odoo / ERPNextERP (Open Source)
REST API connection to Odoo Accounting and ERPNext for open stacks
Microsoft Business CentralERP
Microsoft Graph API for Dynamics 365 Business Central and legacy NAV
Peppol Access PointE-Invoice
Receive XRechnung via Peppol for public sector and the 2027 B2B mandate
Google Cloud Vision / Azure Document IntelligenceOCR
Text recognition for classic PDF and scanned invoices

Security & Compliance

What the setup takes care of

GoBD-Compliant Original Archive
Incoming invoice hashed at intake, archived immutably for 10 years. BMF Nov 2019 compliant.
EN 16931 / XRechnung Validation
Automated schema validation per EN 16931, UBL 2.1, and CII D16B. Invalid invoices rejected with a concrete error report.
Role-Based Access (RBAC)
Granular rights by role, cost center, and amount threshold. Deputy mechanisms audit-trail-safe.
GDPR & EU Hosting
Processing in EU data centers, Art. 28 DPA, automated retention. Supplier data protected.

Frequently Asked Questions

Yes, that is how it is designed: XRechnung (UBL and CII) and ZUGFeRD 2.x are read directly from the XML per EN 16931, not by text recognition. A Peppol access point can be connected optionally, so e-invoices flow straight into the pipeline. The process logic does not change for the B2B mandate.
That depends on your data. It becomes useful for recurring suppliers with roughly 20 or more historical bookings. The AI proposes G/L account and cost centre with a confidence score; above a threshold you set it is applied, below it a person confirms. How good the hit rate is for you only a test on your own bookings can show.
Deviations are checked in percent against a configurable tolerance (default: 2% price, exact quantity). Within tolerance: invoice auto-proceeds. Outside: structured clarification message to the procurement owner with all deviations and one-click options (Approve, Reject, Partial). Response flows back, process continues.
Role-based and amount-based. Standard: functional by business unit (by cost center), >€10,000 second signature by management, >€50,000 four-eyes with two managers. Absence handled via deputy rule (from HR system or manual). Escalation to superior after 48h delay.
Yes, strictly GoBD-compliant. Original invoice (PDF, ZUGFeRD, XRechnung) is hashed at intake and archived immutably for 10 years. Later changes (e.g., corrected cost center) are logged as separate versions, original untouched. For audits you export the full lifecycle of an invoice – including approval trail – with one click.
Usually not on your side. For DATEV we use DATEVconnect (standard interface for tax consultancies and mid-market), for SAP S/4HANA OData/BAPI, for Odoo REST API, for Business Central Microsoft Graph API. We handle the implementation. You provide a technical contact for access credentials and initial test postings – typically 2-4 hours over the whole rollout.