OdooWiki OCA HUB

Base Factur-X

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

This is the base module for the implementation of the Factur-X and ZUGFeRD standards. The standard Factur-X 1.0 is the same as ZUGFeRD 2.1 (the name Factur-X is always used in France, whereas in Germany many people use the name ZUGFeRD). It is a standard based on CII (Cross-Industry Invoice) for electronic invoicing.

The great idea of the Factur-X/ZUGFeRD standard is to embed an XML file inside the PDF invoice to carry structured information about the invoice.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Technical foundation module for Factur-X/ZUGFeRD electronic invoicing. It provides shared methods used by other modules to generate and read the XML embedded in PDF invoices.

This module does not add any screen, menu or button that a user can click. It is a technical building block: it defines an abstract model named base.facturx described as "Common methods to generate and parse Factur-X and Order-X".

Its purpose is to hold the shared logic that other modules reuse when producing or reading Factur-X/ZUGFeRD electronic invoices, where structured invoice data is embedded as an XML file inside the PDF.

  • It depends on uom_unece, account_tax_unece and account_payment_unece, which supply the standard UNECE codes for units of measure, taxes and payment means needed by the Factur-X format.
  • The abstract model itself declares no fields and no methods in the code provided, so no business rule, computation, default value, restriction, email or scheduled action is added by this module alone.

In practice, installing this module changes nothing visible in Odoo by itself. It only prepares the ground so that companion modules can generate Factur-X/ZUGFeRD files and read them back. Any user-facing feature (for example attaching an electronic invoice to a customer invoice) would come from those other modules, not from this one.

Models and fields (1)
  • base.facturx · 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. 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

To configure this module, you need to:

  • go to the menu Inventory \> Configuration \> Units of Measures \> UoM and check the UNECE Code for the units of measures.
  • go to the menu Invoicing \> Configuration \> Accounting \> Taxes and, for each tax, set a UNECE Type Code and a UNECE Category Code.
  • go to the menu Invoicing \> Configuration \> Management \> Payment Methods (to see that menu entry, the module account_payment_mode must be installed) and assign a UNECE Code to the payment methods that are selected in the payment modes.

To avoid the manual configuration of taxes, look for a module l10n_XX_account_tax_unece in the OCA project of your localization (it exists at least for the Netherlands and France). If such a module exists in your localization, install it and it will auto-configure the taxes created by your localization.

This module doesn't do anything by itself, but it is used by 2 other modules:

  • account_invoice_facturx that generate Factur-X 1.0 (i.e. ZUGFeRD 2.1) customer invoices/refunds,
  • account_invoice_import_facturx that imports ZUGFeRD/Factur-X supplier invoices/refunds (all versions, including ZUGFeRD 1.0).

No verified information in OCA: Installation.

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.