EU Factur-X Inbound
Receive Factur-X / ZUGFeRD vendor invoices: extract embedded CII XML from PDF/A-3, validate EN 16931, map to draft bills
EU Factur-X / ZUGFeRD Inbound
Receive structured vendor invoices — extract the embedded CII XML from Factur-X / ZUGFeRD PDFs and turn it into a draft vendor bill
As EU reception mandates land (Germany since 2025, Belgium & France in 2026), every buyer must be able to receive structured e-invoices. This module reads the machine-readable UN/CEFACT CII invoice embedded in a hybrid Factur-X / ZUGFeRD 2.x PDF/A-3, validates it against EN 16931, and maps lines and taxes onto a ready-to-review draft vendor bill in Odoo. Compatible with Odoo 18, 19 & 20.
Embedded XML extraction
A standard-library PDF/A-3 reader walks the /AF
associated-files and /EmbeddedFiles name tree, locates the
factur-x.xml attachment and inflates the FlateDecode
stream — no native PDF library required. Plain CII XML files are
accepted directly. ZUGFeRD 1.0 / 2.x and Order-X names are recognised.
Full EN 16931 CII mapping
Document id and type (UNTDID 1001), seller & buyer parties with VAT and legal identifiers, line items (BG-25), tax breakdown (BG-23, UNTDID 5305 categories), monetary totals (BG-22), payment terms, due date and IBAN are parsed into the full semantic model.
EN 16931 validation
Built-in business rules check that the seller is identifiable, every taxed line has a matching tax breakdown, the payable amount reconciles with lines / charges / allowances / tax, and the type and currency codes are valid. An optional BYOK remote Schematron validator endpoint can be configured for server-side validation.
Straight to a draft bill
The vendor is matched by VAT (then name), purchase taxes by rate and products by code; a draft vendor bill is created for your AP clerk to review and post, with the original Factur-X file attached. Vendor and product auto-creation are configurable.
Supported profiles
MINIMUM, BASIC WL, BASIC, EN 16931 (COMFORT), EXTENDED and
XRechnung CII — through the current
ZUGFeRD 2.4 / Factur-X 1.08 release (in force since
15 Jan 2026). The CII payload is matched by its stable
CrossIndustryInvoice:100 namespace, unchanged across the
UN/CEFACT D16B and D22B schema revisions. Built on the shared
e-Invoice Core Engine validation framework.
Data & privacy
Parsing happens entirely inside your Odoo database. No invoice data is transmitted anywhere unless you configure your own (BYOK) remote validator URL.
Screenshots
Import Factur X File
Inbound Factur X Document Pd
Draft Vendor Bill Created Fr
facturx_lifecycle_status. Both define the facturx.import.wizard model, and Odoo replaces one definition with the other instead of merging them. If you try, the installation is stopped with a clear error message. Choose one of them for a given database.
Update date: 2026-09-03
User guides (PDF)
Related modules
Bank Statement Import Pro (CAMT.053 / MT940 / OFX / QIF + AI)
Import bank statements from CAMT.053, MT940, OFX/QFX and QIF files with auto-format detection, reconciliation suggestions and optional bring-your-own-key AI categorization.
Bad Debt Provision & Write-Off Manager
Aging-based doubtful-debt provision matrix, write-off workflow and auto-reversal on recovery
US BAI2 Bank Parser
Import BAI2 (US/Canada) corporate cash-management bank statement files into Odoo bank statements