Inbound E-Invoice Dispatcher
One intake mailbox that auto-detects UBL, UN/CEFACT CII and Factur-X / ZUGFeRD, then routes each document to the right parser - no manual format selection.
Suppliers send electronic invoices in many syntaxes. The Inbound E-Invoice Dispatcher gives Accounts Payable a single intake mailbox: drop any received file and the dispatcher determines whether it is OASIS UBL 2.1, a UN/CEFACT Cross Industry Invoice (CII) XML, or a Factur-X / ZUGFeRD hybrid PDF, then extracts the machine-readable invoice and parses it into a clean, normalized record ready to become a draft vendor bill.
Automatic format detection & routing
Namespace-based detection
Every file is classified by its real XML grammar - root element and
EN 16931 / OASIS namespace - never by file name. A UBL
Invoice or CreditNote, a CII
CrossIndustryInvoice and a PDF carrying an embedded
factur-x.xml are each recognised deterministically.
Hybrid PDF extraction
For Factur-X / ZUGFeRD / Order-X PDFs the embedded invoice XML is pulled
out of the PDF/A-3 Associated-Files (/AF) attachment and
re-detected, so the same UBL or CII parser handles it. Works with the
optional pypdf library and with a built-in dependency-free
extractor as fallback.
What gets parsed
Header
Number, type (invoice / credit note), issue & due dates, currency and buyer reference.
Parties
Supplier and customer names, VAT / tax identifiers, legal IDs, endpoints and postal addresses.
Lines & VAT
Every invoice line (quantity, unit price, line total, VAT category and rate), the VAT breakdown and document totals.
Supported syntaxes
| Syntax | Carrier | Standard |
|---|---|---|
| UBL 2.1 Invoice / CreditNote | Bare XML | OASIS UBL, PEPPOL BIS Billing 3.0, EN 16931 |
| UN/CEFACT CII D16B | Bare XML | EN 16931, XRechnung CII |
| Factur-X / ZUGFeRD 2.x | Hybrid PDF/A-3 | FNFE-MPE / FeRD, embedded CII |
From intake to draft vendor bill
Supplier matching
The parsed supplier is matched to an Odoo partner by VAT number first (normalised, case-insensitive), then by name, so recurring vendors are recognised automatically.
One-click vendor bill
Turn any parsed intake into a draft vendor bill - correct move type for invoices and credit notes, partner, currency, dates and lines - ready for your normal review and posting workflow.
Built for volume
Bulk import & probe
Drop many files at once through the import wizard, or probe a single file to preview its detected format before importing.
Consistency checks
Each parsed document is checked for EN 16931 totals consistency (tax-exclusive + tax = tax-inclusive, line and VAT-breakdown sums) and any discrepancy is surfaced as a non-blocking warning.
Scheduled drain
An optional hourly cron parses queued intakes and, when enabled per company, auto-creates draft vendor bills for already-matched suppliers.
Chatter & audit trail
Every detection, parse and bill creation is logged on the document chatter, with status tracking from received to billed.
Community-only, no lock-in
Built entirely on Odoo Community account and
mail - no Enterprise dependency. The parsing engine is pure
Python and runs against your own database; invoice data never leaves
your Odoo instance.
Compatible with Odoo 18 and Odoo 19, Community and Enterprise.
Screenshots
Intake Mailbox
Import Files
Update date: 2026-07-02