OdooWiki OCA HUB

Account Invoice Factur-X

account_invoice_facturx folder_open OCA/edi open_in_new
Invoicing Management License: AGPL-3

With this module, the PDF customer invoices and refunds generated by the Qweb reporting engine of Odoo will comply with the Factur-X standard. The Factur-X standard is an e-invoicing standard for France and Germany released on December 31st 2017. In Germany, it is also known as the ZUGFeRD 2.0 standard. This standard is based on CII (Cross-Industry Invoice) for electronic invoicing. The great idea of the ZUGFeRD/Factur-X standard is to embed an XML file inside the PDF invoice to carry structured information about the invoice. So, with a ZUGFeRD/Factur-X PDF invoice:

  • no need to change your habbits and those of your customers: you can still send your PDF invoices by email as usual.
  • customers equiped with a modern accouting software will be able to import the invoice automatically as supplier invoice by taking advantage of the embedded XML file,
  • customers with an ancient accounting software will just open the PDF file with their PDF reader and manually encode the document as supplier invoice in their accounting software.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Generate Factur-X (ZUGFeRD) compliant PDF customer invoices and refunds by embedding a structured XML file inside the PDF. This lets customers with modern accounting software import your invoices automatically.

This module makes the PDF invoices and refunds you send to customers comply with the Factur-X / ZUGFeRD 2.0 e-invoicing standard. When you print or email a customer invoice or credit note, Odoo automatically embeds a structured XML file inside the PDF. Your customers can still read the PDF normally, but their accounting software can also read the embedded data and import the invoice automatically as a supplier invoice.

Where it appears: - On the company settings, a new option "Factur-X (CII)" is added to the "XML format in PDF invoice" field, and it is selected by default. - On the customer invoice form, the standard Print/Email actions produce a Factur-X PDF. - On the partner form, a warning appears if the country is missing, because the Factur-X standard requires a country for both buyer and seller.

Business rules and automatic behaviours: - The country is mandatory on the customer and company; if missing, an error blocks the generation. - Taxes must have a UNECE tax type and category; otherwise an error is raised. - Only one VAT tax per invoice line is allowed; several VAT taxes on the same line raise an error. - Non-VAT taxes must be configured to affect the base of subsequent taxes, otherwise an error is raised. - Payment methods must have a UNECE code; otherwise an error is raised. - If no payment method is set, wire transfer is used as a fallback. - The PDF metadata (title, subject, author, keywords) is filled with the invoice details. - A Factur-X logo is shown on the invoice when the Factur-X format is selected.

The module touches account.move, res.company, res.partner and the PDF report engine.

Models and fields (2)
  • res.company · extends an existing modelfacturx_logo (Factur-X Logo), xml_format_in_pdf_invoice
  • account.move · new model

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 7 confirmed, 2 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 18.0

WARNING: there is an alternative implementation of Factur-X in the module account_edi_ubl_cii of the official addons. If both modules are installed, the XML embedded in the PDF is the XML generated by the module account_edi_ubl_cii. To avoid that, you need to uninstall the module account_edi_ubl_cii.

This module requires a recent version of the Python library factur-x developped by Akretion. To install it, run:

pip3 install --upgrade factur-x

In the menu Invoicing \> Configuration \> Settings, check the configuration parameter XML Format embedded in PDF invoice: if you want to generate Factur-X invoices, this option must be set to Factur-X (CII).

No verified information in OCA: Usage.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.