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.
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
Update date: 2026-07-02