Automate Invoice Verification: a Demo Workflow
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.

Staged scene
Thursday, 3:20 pm
Invoice, delivery note, purchase order. Three documents, one match, every invoice by hand.
From around 150 incoming invoices a month, this match becomes the bottleneck. The workflow below turns it into the exception.
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 guideThe process, step by step
Scroll through. The diagram stays put and highlights the step you are on.
- 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.
- 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.
- 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.
- 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.
- 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.
- 06
Three-Way Match
Line-item three-way match: invoice lines vs. PO vs. goods receipt. Price, quantity, and VAT deviations computed.
- 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.
- 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.
- 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.
- 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
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
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
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
| Aspect | Before | After |
|---|---|---|
| Throughput: intake → posting | Before: ~12 days | After: ~2 days |
| Manual review per invoice | Before: 12-18 min | After: 1-2 min (approval) |
| Early-payment discount capture | Before: ~40% | After: >90% |
| Three-way match coverage | Before: Sampled | After: 100% line-accurate |
| E-invoice (XRechnung/ZUGFeRD) | Before: Manually converted | After: Natively parsed per EN 16931 |
| Audit readiness | Before: ~2 weeks prep per audit | After: Permanent, one-click export |
Technology
Technology Stack
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
What would this look like at your company?
This workflow is a demo. Whether it pays off for you depends on where things get stuck at your company. The method page shows how to find out. To place a workflow of your own, use the free assessment. No call needed.