Import/Export electronic invoices with UBL/CII

account_edi_ubl_cii
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/19.0/account_edi_ubl_cii
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Accounting
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOdoo S.A.
MAINTAINERS
MAINTAINERSOdoo S.A.
COMMITTERS
COMMITTERSOdoo Translation Bot, Stéphane Bidoul, Josse Colpaert, Xavier ALT, qdp-odoo, Wolfgang Taferner, Laurent Smet, Julien Castiaux, Xavier-Do, Andrea Grazioso (agr-odoo), Anh Thao Pham (pta), Tiffany Chang (tic), Gorash, Pierre Paridans, william-andre, Julien Van Roy, JordiMForgeFlow, Florian Gilbert, assellalou, Pierrot (prro), jbw-odoo, Louis Wicket (wil), Maximilien (malb), Mahamadasif Ansari, Thomas Becquevort (thbe), Gauthier Wala (gawa), Ali Alfie (alal), Andrew Gavgavian, Yosua Nicolaus, Antoine Dupuis (andu), Antoine Boonen, Dylan Kiss (dyki), Paolo Gatti, Odoo, Sarah Bellefroid, Nicolas Viseur (vin), guva-odoo, Hesham, Aurelien MARIE (auma), reka-odoo, Sven Fuehr, Seif (segn), yosa-odoo, Mohamed GadAlrab, kcv-odoo, SaddemAmine, Louis Gobert, aamo-odoo, Mathieu Coutant, Khumam Alzagim, yagp-odoo, Stéphane Diez, Claire (clbr), gteboul, Abdo Mongy, Antoine Dupuis, Léo Gizard, Hesham Saleh, Victor Miguel Armenta Carrillo, AhmedElemary57, Ricardo Gomes Rodrigues, Smit Patel, roto-odoo, elhayyany, Mohammad Abdulmoneim (abdu), Michaël Mattiello, Corentin Heinix (cohe), Corentin Lombard, Allesio, Krzysztof Magusiak (krma), Mahdi Alijani (malj), nape-odoo, devp-odoo, Hazem Ibrahim, hatr-odoo, utma-odoo, bhra-odoo, Earth Patel, mojem, depr-odoo, Yassien Ghoniem, Jugurtha, Mongy (abmn), Jeanne Delneste, Laurent Smet (LAS), adip-odoo, malb, Ashish Nirmal, Manav Shah, assh-odoo, Lionel Piraux (lipi), Arnav Varshney, Michael Köck, shzi-odoo, Romain (roto), baje-odoo, raaa-odoo, Youssef
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:51:46
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Electronic invoicing module
===========================

Allows to export and import formats: E-FFF, UBL Bis 3, EHF3, NLCIUS, Factur-X (CII), XRechnung (UBL).
When generating the PDF on the invoice, the PDF will be embedded inside the xml for all UBL formats. This allows the
receiver to retrieve the PDF with only the xml file. Note that **EHF3 is fully implemented by UBL Bis 3** (`reference
<https://anskaffelser.dev/postaward/g3/spec/current/billing-3.0/norway/#_implementation>`_).

The formats can be chosen from the journal (Journal > Advanced Settings) linked to the invoice.

Note that E-FFF, NLCIUS and XRechnung (UBL) are only available for Belgian, Dutch and German companies,
respectively. UBL Bis 3 is only available for companies which country is present in the `EAS list
<https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/>`_.

Note also that in order for Chorus Pro to automatically detect the "PDF/A-3 (Factur-X)" format, you need to activate
the "Factur-X PDF/A-3" option on the journal. This option will also validate the xml against the Factur-X and Chorus
Pro rules and show the errors.
    

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
account_invoice_address_facturx_export_22 account_invoice_address_facturx_export_22 ir.ui.view qweb New
account_invoice_facturx_export_22 account_invoice_facturx_export_22 ir.ui.view qweb New
account_invoice_line_facturx_export_22 account_invoice_line_facturx_export_22 ir.ui.view qweb New
account_invoice_partner_facturx_export_22 account_invoice_partner_facturx_export_22 ir.ui.view qweb New
account_invoice_pdfa_3_facturx_metadata account_invoice_pdfa_3_facturx_metadata ir.ui.view qweb New
account_invoices_generated_by_odoo account_invoices_generated_by_odoo ir.ui.view qweb New
external_layout_with_context external_layout_with_context ir.ui.view qweb Inherits web.internal_layout
layout_invoices_generated_by_odoo layout_invoices_generated_by_odoo ir.ui.view qweb Inherits web.external_layout_standard
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
view_account_invoice_form_inherit account.tax.form.inherit account.tax xpath Inherits account.view_tax_form
view_partner_property_form res.partner.property.form.inherit res.partner xpath Inherits account.view_partner_property_form
Models touched (20)

New fields (0)

No new fields.

Public methods (2)
  • format_float(self, amount, precision_digits)
  • module_installed(self, module_name)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (3)
  • add_invoice_line_optional_nodes(self, line_node, vals, optional_line_fields)
  • add_invoice_optional_nodes(self, document_node, vals, optional_fields)
  • format_float(self, amount, precision_digits=2)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • ubl_cii_xml_file Binary
    attachment=True copy=False string='UBL/CII File'
  • ubl_cii_xml_filename Char
    compute='_compute_filename' string='UBL/CII Filename'
  • ubl_cii_xml_id Many2one → ir.attachment
    comodel_name='ir.attachment' compute=<expr> depends=['ubl_cii_xml_file'] string='Attachment'
Public methods (3)
  • action_group_ungroup_lines_by_tax(self)
    This action allows the user to reload an imported move, grouping or not lines by tax
  • action_invoice_download_ubl(self)
  • get_extra_print_items(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • ubl_cii_requires_exemption_reason Boolean
    compute='_compute_ubl_cii_requires_exemption_reason'
  • ubl_cii_tax_category_code Selection
    help='The VAT category code used for electronic invoicing purposes.' selection=[('AE', 'AE - Vat Reverse Charge'), ('E', 'E - Exempt from Tax'), ('S', 'S - Standard rate'), ('Z', 'Z - Zero rated goods'), ('G', 'G - Free export item, VAT not charged'), ('O', 'O - Services outside scope of tax'), ('K', 'K - VAT exempt for EEA intra-community supply of goods and services'), ('L', 'L - Canary Islands general indirect tax'), ('M', 'M - Tax for production, services and importation in Ceuta and Melilla'), ('B', 'B - Transferred (VAT), In Italy')] string='Tax Category Code'
  • ubl_cii_tax_exemption_reason_code Selection
    help='The reason why the amount is exempted from VAT or why no VAT is being charged, used for electronic invoicing purposes.' selection=[('VATEX-EU-79-C', 'VATEX-EU-79-C - Exempt based on article 79, point c of Council Directive 2006/112/EC'), ('VATEX-EU-132', 'VATEX-EU-132 - Exempt based on article 132 of Council Directive 2006/112/EC'), ('VATEX-EU-132-1A', 'VATEX-EU-132-1A - Exempt based on article 132, section 1 (a) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1B', 'VATEX-EU-132-1B - Exempt based on article 132, section 1 (b) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1C', 'VATEX-EU-132-1C - Exempt based on article 132, section 1 (c) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1D', 'VATEX-EU-132-1D - Exempt based on article 132, section 1 (d) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1E', 'VATEX-EU-132-1E - Exempt based on article 132, section 1 (e) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1F', 'VATEX-EU-132-1F - Exempt based on article 132, section 1 (f) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1G', 'VATEX-EU-132-1G - Exempt based on article 132, section 1 (g) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1H', 'VATEX-EU-132-1H - Exempt based on article 132, section 1 (h) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1I', 'VATEX-EU-132-1I - Exempt based on article 132, section 1 (i) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1J', 'VATEX-EU-132-1J - Exempt based on article 132, section 1 (j) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1K', 'VATEX-EU-132-1K - Exempt based on article 132, section 1 (k) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1L', 'VATEX-EU-132-1L - Exempt based on article 132, section 1 (l) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1M', 'VATEX-EU-132-1M - Exempt based on article 132, section 1 (m) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1N', 'VATEX-EU-132-1N - Exempt based on article 132, section 1 (n) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1O', 'VATEX-EU-132-1O - Exempt based on article 132, section 1 (o) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1P', 'VATEX-EU-132-1P - Exempt based on article 132, section 1 (p) of Council Directive 2006/112/EC'), ('VATEX-EU-132-1Q', 'VATEX-EU-132-1Q - Exempt based on article 132, section 1 (q) of Council Directive 2006/112/EC'), ('VATEX-EU-135-1', 'VATEX-EU-135-1 - Exempt based on article 135, section 1 of Council Directive 2006/112/EC'), ('VATEX-EU-143', 'VATEX-EU-143 - Exempt based on article 143 of Council Directive 2006/112/EC'), ('VATEX-EU-143-1A', 'VATEX-EU-143-1A - Exempt based on article 143, section 1 (a) of Council Directive 2006/112/EC'), ('VATEX-EU-143-1B', 'VATEX-EU-143-1B - Exempt based on article 143, section 1 (b) of Council Directive 2006/112/EC'), ('VATEX-EU-143-1C', 'VATEX-EU-143-1C - Exempt based on article 143, section 1 (c) of Council Directive 2006/112/EC'), ('VATEX-EU-143-1D', 'VATEX-EU-143-1D - Exempt based on article 143, section 1 (d) of Council Directive 2006/112/EC'), ('VATEX-EU-143-1E', 'VATEX-EU-143-1E - Exempt based on article 143, section 1 (e) of Council Directive 2006/112/EC'), ('VATEX-EU-143-1F', 'VATEX-EU-143-1F - Exempt based on article 143, section 1 (f) of Council Directive 2006/112/EC'), ('VATEX-EU-143-1FA', 'VATEX-EU-143-1FA - Exempt based on article 143, section 1 (fa) of Council Directive 2006/112/EC'), ('VATEX-EU-143-1G', 'VATEX-EU-143-1G - Exempt based on article 143, section 1 (g) of Council Directive 2006/112/EC'), ('VATEX-EU-143-1H', 'VATEX-EU-143-1H - Exempt based on article 143, section 1 (h) of Council Directive 2006/112/EC'), ('VATEX-EU-143-1I', 'VATEX-EU-143-1I - Exempt based on article 143, section 1 (i) of Council Directive 2006/112/EC'), ('VATEX-EU-143-1J', 'VATEX-EU-143-1J - Exempt based on article 143, section 1 (j) of Council Directive 2006/112/EC'), ('VATEX-EU-143-1K', 'VATEX-EU-143-1K - Exempt based on article 143, section 1 (k) of Council Directive 2006/112/EC'), ('VATEX-EU-143-1L', 'VATEX-EU-143-1L - Exempt based on article 143, section 1 (l) of Council Directive 2006/112/EC'), ('VATEX-EU-144', 'VATEX-EU-144 - Exempt based on article 144 of Council Directive 2006/112/EC'), ('VATEX-EU-146-1E', 'VATEX-EU-146-1E - Exempt based on article 146 section 1 (e) of Council Directive 2006/112/EC'), ('VATEX-EU-148', 'VATEX-EU-148 - Exempt based on article 148 of Council Directive 2006/112/EC'), ('VATEX-EU-148-A', 'VATEX-EU-148-A - Exempt based on article 148, section (a) of Council Directive 2006/112/EC'), ('VATEX-EU-148-B', 'VATEX-EU-148-B - Exempt based on article 148, section (b) of Council Directive 2006/112/EC'), ('VATEX-EU-148-C', 'VATEX-EU-148-C - Exempt based on article 148, section (c) of Council Directive 2006/112/EC'), ('VATEX-EU-148-D', 'VATEX-EU-148-D - Exempt based on article 148, section (d) of Council Directive 2006/112/EC'), ('VATEX-EU-148-E', 'VATEX-EU-148-E - Exempt based on article 148, section (e) of Council Directive 2006/112/EC'), ('VATEX-EU-148-F', 'VATEX-EU-148-F - Exempt based on article 148, section (f) of Council Directive 2006/112/EC'), ('VATEX-EU-148-G', 'VATEX-EU-148-G - Exempt based on article 148, section (g) of Council Directive 2006/112/EC'), ('VATEX-EU-151', 'VATEX-EU-151 - Exempt based on article 151 of Council Directive 2006/112/EC'), ('VATEX-EU-151-1A', 'VATEX-EU-151-1A - Exempt based on article 151, section 1 (a) of Council Directive 2006/112/EC'), ('VATEX-EU-151-1AA', 'VATEX-EU-151-1AA - Exempt based on article 151, section 1 (aa) of Council Directive 2006/112/EC'), ('VATEX-EU-151-1B', 'VATEX-EU-151-1B - Exempt based on article 151, section 1 (b) of Council Directive 2006/112/EC'), ('VATEX-EU-151-1C', 'VATEX-EU-151-1C - Exempt based on article 151, section 1 (c) of Council Directive 2006/112/EC'), ('VATEX-EU-151-1D', 'VATEX-EU-151-1D - Exempt based on article 151, section 1 (d) of Council Directive 2006/112/EC'), ('VATEX-EU-151-1E', 'VATEX-EU-151-1E - Exempt based on article 151, section 1 (e) of Council Directive 2006/112/EC'), ('VATEX-EU-153', 'VATEX-EU-153 - Exempt based on article 153 of Council Directive 2006/112/EC'), ('VATEX-EU-159', 'VATEX-EU-159 - Exempt based on article 159 of Council Directive 2006/112/EC'), ('VATEX-EU-309', 'VATEX-EU-309 - Exempt based on article 309 of Council Directive 2006/112/EC'), ('VATEX-EU-AE', 'VATEX-EU-AE - Reverse charge'), ('VATEX-EU-D', 'VATEX-EU-D - Intra-Community acquisition from second hand means of transport'), ('VATEX-EU-F', 'VATEX-EU-F - Intra-Community acquisition of second hand goods'), ('VATEX-EU-G', 'VATEX-EU-G - Export outside the EU'), ('VATEX-EU-I', 'VATEX-EU-I - Intra-Community acquisition of works of art'), ('VATEX-EU-IC', 'VATEX-EU-IC - Intra-Community supply'), ('VATEX-EU-O', 'VATEX-EU-O - Not subject to VAT'), ('VATEX-EU-J', 'VATEX-EU-J - Intra-Community acquisition of collectors items and antiques'), ('VATEX-FR-FRANCHISE', 'VATEX-FR-FRANCHISE - France domestic VAT franchise in base'), ('VATEX-FR-CNWVAT', 'VATEX-FR-CNWVAT - France domestic Credit Notes without VAT, due to supplier forfeit of VAT for discount'), ('VATEX-FR-CGI261-1', 'VATEX-FR-CGI261-1 - Exempt based on 1 of article 261 of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261-2', 'VATEX-FR-CGI261-2 - Exempt based on 2 of article 261 of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261-3', 'VATEX-FR-CGI261-3 - Exempt based on 3 of article 261 of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261-4', 'VATEX-FR-CGI261-4 - Exempt based on 4 of article 261 of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261-5', 'VATEX-FR-CGI261-5 - Exempt based on 5 of article 261 of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261-7', 'VATEX-FR-CGI261-7 - Exempt based on 7 of article 261 of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261-8', 'VATEX-FR-CGI261-8 - Exempt based on 8 of article 261 of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261A', 'VATEX-FR-CGI261A - Exempt based on article 261 A of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261B', 'VATEX-FR-CGI261B - Exempt based on article 261 B of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261C-1', 'VATEX-FR-CGI261C-1 - Exempt based on 1° of article 261 C of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261C-2', 'VATEX-FR-CGI261C-2 - Exempt based on 2° of article 261 C of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261C-3', 'VATEX-FR-CGI261C-3 - Exempt based on 3° of article 261 C of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261D-1', 'VATEX-FR-CGI261D-1 - Exempt based on 1° of article 261 D of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261D-1BIS', 'VATEX-FR-CGI261D-1BIS - Exempt based on 1°bis of article 261 D of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261D-2', 'VATEX-FR-CGI261D-2 - Exempt based on 2° of article 261 D of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261D-3', 'VATEX-FR-CGI261D-3 - Exempt based on 3° of article 261 D of the Code Général des Impôts (CGI ; General tax code) Exonération de TVA - Article 261 D-3° du Code Général des Impôts'), ('VATEX-FR-CGI261D-4', 'VATEX-FR-CGI261D-4 - Exempt based on 4° of article 261 D of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261E-1', 'VATEX-FR-CGI261E-1 - Exempt based on 1° of article 261 E of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI261E-2', 'VATEX-FR-CGI261E-2 - Exempt based on 2° of article 261 E of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI277A', 'VATEX-FR-CGI277A - Exempt based on article 277 A of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI275', 'VATEX-FR-CGI275 - Exempt based on article 275 of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-298SEXDECIESA', 'VATEX-FR-298SEXDECIESA - Exempt based on article 298 sexdecies A of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-CGI295', 'VATEX-FR-CGI295 - Exempt based on article 295 of the Code Général des Impôts (CGI ; General tax code)'), ('VATEX-FR-AE', 'VATEX-FR-AE - Exempt based on 2 of article 283 of the Code Général des Impôts (CGI ; General tax code)')] string='Tax Exemption Reason Code'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • available_peppol_eas Json
    compute='_compute_available_peppol_eas'
  • invoice_edi_format Selection
    selection_add=[('facturx', 'France (FacturX)'), ('ubl_bis3', 'EU Standard (Peppol Bis 3.0)'), ('zugferd', 'Germany (ZUGFeRD)'), ('xrechnung', 'Germany (XRechnung)'), ('nlcius', 'Netherlands (NLCIUS)'), ('ubl_a_nz', 'Australia (BIS Billing 3.0 A-NZ)'), ('ubl_sg', 'Singapore (BIS Billing 3.0 SG)')]
  • is_peppol_edi_format Boolean
    compute='_compute_is_peppol_edi_format'
  • is_ubl_format Boolean
    compute='_compute_is_ubl_format'
  • peppol_eas Selection
    compute='_compute_peppol_eas' help='Code used to identify the Endpoint for BIS Billing 3.0 and its derivatives.\n List available at https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/' readonly=False selection=[('9923', 'Albania VAT'), ('9922', 'Andorra VAT'), ('0151', 'Australia ABN'), ('9914', 'Austria UID'), ('9915', 'Austria VOKZ'), ('0208', 'Belgian Company Registry'), ('9925', 'Belgian VAT'), ('9924', 'Bosnia and Herzegovina VAT'), ('9926', 'Bulgaria VAT'), ('9934', 'Croatia VAT'), ('9928', 'Cyprus VAT'), ('9929', 'Czech Republic VAT'), ('0096', 'Denmark P'), ('0184', 'Denmark CVR'), ('0198', 'Denmark SE'), ('0191', 'Estonia Company code'), ('9931', 'Estonia VAT'), ('0037', 'Finland LY-tunnus'), ('0216', 'Finland OVT code'), ('0213', 'Finland VAT'), ('0002', 'France SIRENE'), ('0009', 'France SIRET'), ('9957', 'France VAT'), ('0225', 'France FRCTC Electronic Address'), ('0240', 'France Register of legal persons'), ('0246', 'German Electronic Business Address'), ('0204', 'Germany Leitweg-ID'), ('9930', 'Germany VAT'), ('9933', 'Greece VAT'), ('9910', 'Hungary VAT'), ('0196', 'Iceland Kennitala'), ('9935', 'Ireland VAT'), ('0211', 'Italia Partita IVA'), ('0097', 'Italia FTI'), ('0188', 'Japan SST'), ('0221', 'Japan IIN'), ('0218', 'Latvia Unified registration number'), ('9939', 'Latvia VAT'), ('9936', 'Liechtenstein VAT'), ('0200', 'Lithuania JAK'), ('9937', 'Lithuania VAT'), ('9938', 'Luxembourg VAT'), ('9942', 'Macedonia VAT'), ('0230', 'Malaysia'), ('9943', 'Malta VAT'), ('9940', 'Monaco VAT'), ('9941', 'Montenegro VAT'), ('0106', 'Netherlands KvK'), ('0190', 'Netherlands OIN'), ('9944', 'Netherlands VAT'), ('0244', 'Nigeria Tax Identification'), ('0192', 'Norway Org.nr.'), ('9945', 'Poland VAT'), ('9946', 'Portugal VAT'), ('9947', 'Romania VAT'), ('9948', 'Serbia VAT'), ('0195', 'Singapore UEN'), ('0245', 'SK Tax identification number (DIČ)'), ('9949', 'Slovenia VAT'), ('9950', 'Slovakia VAT'), ('9920', 'Spain VAT'), ('0007', 'Sweden Org.nr.'), ('9955', 'Sweden VAT'), ('9927', 'Swiss VAT'), ('0183', 'Swiss UIDB'), ('9952', 'Turkey VAT'), ('0235', 'UAE Tax Identification Number (TIN)'), ('9932', 'United Kingdom VAT'), ('9959', 'USA EIN'), ('0060', 'DUNS Number'), ('0088', 'EAN Location Code'), ('0130', 'Directorates of the European Commission'), ('0135', 'SIA Object Identifiers'), ('0142', 'SECETI Object Identifiers'), ('0193', 'UBL.BE party identifier'), ('0199', 'Legal Entity Identifier (LEI)'), ('0201', 'Codice Univoco Unità Organizzativa iPA'), ('0202', 'Indirizzo di Posta Elettronica Certificata'), ('0209', 'GS1 identification keys'), ('0210', 'Codice Fiscale'), ('9913', 'Business Registers Network'), ('9918', 'S.W.I.F.T'), ('9919', 'Kennziffer des Unternehmensregisters'), ('9951', 'San Marino VAT'), ('9953', 'Vatican VAT'), ('AN', 'O.F.T.P. (ODETTE File Transfer Protocol)'), ('AQ', 'X.400 address for mail text'), ('AS', 'AS2 exchange'), ('AU', 'File Transfer Protocol'), ('EM', 'Electronic mail')] store=True string='Peppol e-address (EAS)' tracking=True
  • peppol_endpoint Char
    compute='_compute_peppol_endpoint' help="Unique identifier used by the BIS Billing 3.0 and its derivatives, also known as 'Endpoint ID'." readonly=False store=True string='Peppol Endpoint' tracking=True
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/18.0/account_edi_ubl_cii
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Accounting
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Stéphane Bidoul, Martin Trigaux, Thibault Delavallée, Denis Ledoux, Xavier Morel, Wolfgang Taferner, Odoo Online, Laurent Smet, Jairo Llopis, Xavier-Do, Andrea Grazioso (agr-odoo), Anh Thao Pham (pta), Brice bib Bartoletti, Tiffany Chang (tic), Gorash, Pierre Paridans, Miquel Raïch, william-andre, Julien Van Roy, aliya, JordiMForgeFlow, Yolann Sabaux, assellalou, Vincent Larcin, Pierrot (prro), Weblate, Habib (ayh), Louis Wicket (wil), Mylyna Hy, Maximilien (malb), Mahamadasif Ansari, Thomas Becquevort (thbe), Gauthier Wala (gawa), Ali Alfie (alal), Andrew Gavgavian, Claire Bretton (clbr), Yosua Nicolaus, Antoine Dupuis (andu), Antoine Boonen, Dylan Kiss (dyki), Soam (sold), gera-odoo, Odoo, Sarah Bellefroid, Nicolas Viseur (vin), guva-odoo, Hesham, Aurelien MARIE (auma), Guillaume-gdi, reka-odoo, Sven Fuehr, yosa-odoo, Mohamed GadAlrab, kcv-odoo, SaddemAmine, Louis Gobert, Louis (wil), aamo-odoo, Mathieu Coutant, Claire (clbr), gteboul, Abdo Mongy, Antoine Dupuis, Léo Gizard, Hesham Saleh, Victor Miguel Armenta Carrillo, Ricardo Gomes Rodrigues, Smit Patel, Logan Staelens, roto-odoo, elhayyany, Anton Romanova (roan), Corentin Heinix (cohe), Corentin Lombard, Allesio, Krzysztof Magusiak (krma), Mahdi Alijani (malj), nape-odoo, devp-odoo, AllePilli, hatr-odoo, utma-odoo, bhra-odoo, Earth Patel, mojem, depr-odoo, Yassien Ghoniem, Jugurtha, Jeanne Delneste, Laurent Smet (LAS), Ashish Nirmal, Martin Doyen, Waleed Elgamal, Arnav Varshney, Petr Vojta, shzi-odoo, Romain (roto), baje-odoo, raaa-odoo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 13:43:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Electronic invoicing module
===========================

Allows to export and import formats: E-FFF, UBL Bis 3, EHF3, NLCIUS, Factur-X (CII), XRechnung (UBL).
When generating the PDF on the invoice, the PDF will be embedded inside the xml for all UBL formats. This allows the
receiver to retrieve the PDF with only the xml file. Note that **EHF3 is fully implemented by UBL Bis 3** (`reference
<https://anskaffelser.dev/postaward/g3/spec/current/billing-3.0/norway/#_implementation>`_).

The formats can be chosen from the journal (Journal > Advanced Settings) linked to the invoice.

Note that E-FFF, NLCIUS and XRechnung (UBL) are only available for Belgian, Dutch and German companies,
respectively. UBL Bis 3 is only available for companies which country is present in the `EAS list
<https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/>`_.

Note also that in order for Chorus Pro to automatically detect the "PDF/A-3 (Factur-X)" format, you need to activate
the "Factur-X PDF/A-3" option on the journal. This option will also validate the xml against the Factur-X and Chorus
Pro rules and show the errors.
    

Code Analysis

Views touched (43)
XML IDNameModelTypeStatus
account_invoice_address_facturx_export_22 account_invoice_address_facturx_export_22 ir.ui.view qweb New
account_invoice_facturx_export_22 account_invoice_facturx_export_22 ir.ui.view qweb New
account_invoice_line_facturx_export_22 account_invoice_line_facturx_export_22 ir.ui.view qweb New
account_invoice_partner_facturx_export_22 account_invoice_partner_facturx_export_22 ir.ui.view qweb New
account_invoice_pdfa_3_facturx_metadata account_invoice_pdfa_3_facturx_metadata ir.ui.view qweb New
account_invoices_generated_by_odoo account_invoices_generated_by_odoo ir.ui.view qweb New
external_layout_with_context external_layout_with_context ir.ui.view qweb Inherits web.internal_layout
layout_invoices_generated_by_odoo layout_invoices_generated_by_odoo ir.ui.view qweb Inherits web.external_layout_standard
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
ubl_20_AddressType ubl_20_AddressType ir.ui.view qweb New
ubl_20_AllowanceChargeType ubl_20_AllowanceChargeType ir.ui.view qweb New
ubl_20_CommonLineType ubl_20_CommonLineType ir.ui.view qweb New
ubl_20_CommonType ubl_20_CommonType ir.ui.view qweb New
ubl_20_CreditNote ubl_20_CreditNote ir.ui.view qweb New
ubl_20_CreditNoteLineType ubl_20_CreditNoteLineType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CommonLineType
ubl_20_CreditNoteType ubl_20_CreditNoteType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CommonType
ubl_20_DebitNote ubl_20_DebitNote ir.ui.view qweb New
ubl_20_DebitNoteLineType ubl_20_DebitNoteLineType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CommonLineType
ubl_20_DebitNoteType ubl_20_DebitNoteType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CommonType
ubl_20_DeliveryType ubl_20_DeliveryType ir.ui.view qweb New
ubl_20_ExchangeRateType ubl_20_ExchangeRateType ir.ui.view qweb New
ubl_20_Invoice ubl_20_Invoice ir.ui.view qweb New
ubl_20_InvoiceLineType ubl_20_InvoiceLineType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CommonLineType
ubl_20_InvoicePeriodType ubl_20_InvoicePeriodType ir.ui.view qweb New
ubl_20_InvoiceType ubl_20_InvoiceType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CommonType
ubl_20_MonetaryTotalType ubl_20_MonetaryTotalType ir.ui.view qweb New
ubl_20_PartyType ubl_20_PartyType ir.ui.view qweb New
ubl_20_PaymentMeansType ubl_20_PaymentMeansType ir.ui.view qweb New
ubl_20_PaymentTermsType ubl_20_PaymentTermsType ir.ui.view qweb New
ubl_20_ResponseType ubl_20_ResponseType ir.ui.view qweb New
ubl_20_SignatureType ubl_20_SignatureType ir.ui.view qweb New
ubl_20_TaxCategoryType ubl_20_TaxCategoryType ir.ui.view qweb New
ubl_20_TaxTotalType ubl_20_TaxTotalType ir.ui.view qweb New
ubl_21_AddressType ubl_21_AddressType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_AddressType
ubl_21_CreditNoteLineType ubl_21_CreditNoteLineType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CreditNoteLineType
ubl_21_CreditNoteType ubl_21_CreditNoteType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CreditNoteType
ubl_21_DebitNoteLineType ubl_21_DebitNoteLineType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_DebitNoteLineType
ubl_21_DebitNoteType ubl_21_DebitNoteType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_DebitNoteType
ubl_21_InvoiceLineType ubl_21_InvoiceLineType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_InvoiceLineType
ubl_21_InvoiceType ubl_21_InvoiceType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_InvoiceType
ubl_21_PartyType ubl_21_PartyType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_PartyType
ubl_21_PaymentTermsType ubl_21_PaymentTermsType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_PaymentTermsType
view_partner_property_form res.partner.property.form.inherit res.partner xpath Inherits account.view_partner_property_form
Models touched (19)

New fields (0)

No new fields.

Public methods (2)
  • format_float(self, amount, precision_digits)
  • module_installed(self, module_name)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • add_invoice_line_optional_nodes(self, line_node, vals, optional_line_fields)
  • add_invoice_optional_nodes(self, document_node, vals, optional_fields)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • ubl_cii_xml_file Binary
    attachment=True copy=False string='UBL/CII File'
  • ubl_cii_xml_id Many2one → ir.attachment
    comodel_name='ir.attachment' compute=<expr> depends=['ubl_cii_xml_file'] string='Attachment'
Public methods (3)
  • action_group_ungroup_lines_by_tax(self)
    This action allows the user to reload an imported move, grouping or not lines by tax
  • action_invoice_download_ubl(self)
  • get_extra_print_items(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • available_peppol_eas Json
    compute='_compute_available_peppol_eas'
  • invoice_edi_format Selection
    selection_add=[('facturx', 'France (FacturX)'), ('ubl_bis3', 'EU Standard (Peppol Bis 3.0)'), ('zugferd', 'Germany (ZUGFeRD)'), ('xrechnung', 'Germany (XRechnung)'), ('nlcius', 'Netherlands (NLCIUS)'), ('ubl_a_nz', 'Australia (BIS Billing 3.0 A-NZ)'), ('ubl_sg', 'Singapore (BIS Billing 3.0 SG)')]
  • is_peppol_edi_format Boolean
    compute='_compute_is_peppol_edi_format'
  • is_ubl_format Boolean
    compute='_compute_is_ubl_format'
  • peppol_eas Selection
    compute='_compute_peppol_eas' help='Code used to identify the Endpoint for BIS Billing 3.0 and its derivatives.\n List available at https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/' readonly=False selection=[('9923', 'Albania VAT'), ('9922', 'Andorra VAT'), ('0151', 'Australia ABN'), ('9914', 'Austria UID'), ('9915', 'Austria VOKZ'), ('0208', 'Belgian Company Registry'), ('9925', 'Belgian VAT'), ('9924', 'Bosnia and Herzegovina VAT'), ('9926', 'Bulgaria VAT'), ('9934', 'Croatia VAT'), ('9928', 'Cyprus VAT'), ('9929', 'Czech Republic VAT'), ('0096', 'Denmark P'), ('0184', 'Denmark CVR'), ('0198', 'Denmark SE'), ('0191', 'Estonia Company code'), ('9931', 'Estonia VAT'), ('0037', 'Finland LY-tunnus'), ('0216', 'Finland OVT code'), ('0213', 'Finland VAT'), ('0002', 'France SIRENE'), ('0009', 'France SIRET'), ('9957', 'France VAT'), ('0225', 'France FRCTC Electronic Address'), ('0240', 'France Register of legal persons'), ('0246', 'German Electronic Business Address'), ('0204', 'Germany Leitweg-ID'), ('9930', 'Germany VAT'), ('9933', 'Greece VAT'), ('9910', 'Hungary VAT'), ('0196', 'Iceland Kennitala'), ('9935', 'Ireland VAT'), ('0211', 'Italia Partita IVA'), ('0097', 'Italia FTI'), ('0188', 'Japan SST'), ('0221', 'Japan IIN'), ('0218', 'Latvia Unified registration number'), ('9939', 'Latvia VAT'), ('9936', 'Liechtenstein VAT'), ('0200', 'Lithuania JAK'), ('9937', 'Lithuania VAT'), ('9938', 'Luxembourg VAT'), ('9942', 'Macedonia VAT'), ('0230', 'Malaysia'), ('9943', 'Malta VAT'), ('9940', 'Monaco VAT'), ('9941', 'Montenegro VAT'), ('0106', 'Netherlands KvK'), ('0190', 'Netherlands OIN'), ('9944', 'Netherlands VAT'), ('0244', 'Nigeria Tax Identification'), ('0192', 'Norway Org.nr.'), ('9945', 'Poland VAT'), ('9946', 'Portugal VAT'), ('9947', 'Romania VAT'), ('9948', 'Serbia VAT'), ('0195', 'Singapore UEN'), ('0245', 'SK Tax identification number (DIČ)'), ('9949', 'Slovenia VAT'), ('9950', 'Slovakia VAT'), ('9920', 'Spain VAT'), ('0007', 'Sweden Org.nr.'), ('9955', 'Sweden VAT'), ('9927', 'Swiss VAT'), ('0183', 'Swiss UIDB'), ('9952', 'Turkey VAT'), ('0235', 'UAE Tax Identification Number (TIN)'), ('9932', 'United Kingdom VAT'), ('9959', 'USA EIN'), ('0060', 'DUNS Number'), ('0088', 'EAN Location Code'), ('0130', 'Directorates of the European Commission'), ('0135', 'SIA Object Identifiers'), ('0142', 'SECETI Object Identifiers'), ('0193', 'UBL.BE party identifier'), ('0199', 'Legal Entity Identifier (LEI)'), ('0201', 'Codice Univoco Unità Organizzativa iPA'), ('0202', 'Indirizzo di Posta Elettronica Certificata'), ('0209', 'GS1 identification keys'), ('0210', 'Codice Fiscale'), ('9913', 'Business Registers Network'), ('9918', 'S.W.I.F.T'), ('9919', 'Kennziffer des Unternehmensregisters'), ('9951', 'San Marino VAT'), ('9953', 'Vatican VAT'), ('AN', 'O.F.T.P. (ODETTE File Transfer Protocol)'), ('AQ', 'X.400 address for mail text'), ('AS', 'AS2 exchange'), ('AU', 'File Transfer Protocol'), ('EM', 'Electronic mail')] store=True string='Peppol e-address (EAS)' tracking=True
  • peppol_endpoint Char
    compute='_compute_peppol_endpoint' help="Unique identifier used by the BIS Billing 3.0 and its derivatives, also known as 'Endpoint ID'." readonly=False store=True string='Peppol Endpoint' tracking=True
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/17.0/account_edi_ubl_cii
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Accounting
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Thibault Delavallée, Denis Ledoux, Goffin Simon, qdp-odoo, Odoo Online, Laurent Smet, Andrea Grazioso (agr-odoo), Anh Thao Pham (pta), Achraf (abz), Brice bib Bartoletti, Tiffany Chang (tic), Gorash, bit-odoo, Ricardo Gomes Rodrigues (rigr), Nicolas (vin), william-andre, Julien Van Roy, aliya, JordiMForgeFlow, Yolann Sabaux, Pierrot (prro), niyasraphy, bve-odoo, Archana Vaghasiya, Louis Wicket (wil), Mylyna Hy, Adrien Widart (awt), Maximilien (malb), Mahamadasif Ansari, Thomas Becquevort (thbe), Gauthier Wala (gawa), Ali Alfie (alal), Claire Bretton (clbr), Yosua Nicolaus, Maruan Aguerdouh (magm), Antoine Boonen, Dylan Kiss (dyki), Julien Alardot (jual), Soam (sold), gera-odoo, Odoo, Quentin, Mehdi Bendali Hacine, Sarah Bellefroid, Nicolas Viseur (vin), guva-odoo, Hesham, Aurelien MARIE (auma), Guillaume-gdi, reka-odoo, Sven Fuehr, yosa-odoo, Mohamed GadAlrab, det, SaddemAmine, Louis Gobert, Louis (wil), Mathieu Coutant, Claire (clbr), gteboul, Antoine Dupuis, Léo Gizard, Hesham Saleh, Victor Miguel Armenta Carrillo, Logan Staelens, roto-odoo, Anton Romanova (roan), Corentin Heinix (cohe), Corentin Lombard, Allesio, Krzysztof Magusiak (krma), Mahdi Alijani (malj), nape-odoo, devp-odoo, Maeva De Keyser (MDEK), MAGREMENT, Yassien Ghoniem, Jugurtha, Jeanne Delneste, Laurent Smet (LAS), Martin Doyen, Petr Vojta, Merlin Guillaume
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:02:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Electronic invoicing module
===========================

Allows to export and import formats: E-FFF, UBL Bis 3, EHF3, NLCIUS, Factur-X (CII), XRechnung (UBL).
When generating the PDF on the invoice, the PDF will be embedded inside the xml for all UBL formats. This allows the
receiver to retrieve the PDF with only the xml file. Note that **EHF3 is fully implemented by UBL Bis 3** (`reference
<https://anskaffelser.dev/postaward/g3/spec/current/billing-3.0/norway/#_implementation>`_).

The formats can be chosen from the journal (Journal > Advanced Settings) linked to the invoice.

Note that E-FFF, NLCIUS and XRechnung (UBL) are only available for Belgian, Dutch and German companies,
respectively. UBL Bis 3 is only available for companies which country is present in the `EAS list
<https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/>`_.

Note also that in order for Chorus Pro to automatically detect the "PDF/A-3 (Factur-X)" format, you need to activate
the "Factur-X PDF/A-3" option on the journal. This option will also validate the xml against the Factur-X and Chorus
Pro rules and show the errors.
    

Code Analysis

Views touched (40)
XML IDNameModelTypeStatus
account_invoice_address_facturx_export_22 account_invoice_address_facturx_export_22 ir.ui.view qweb New
account_invoice_facturx_export_22 account_invoice_facturx_export_22 ir.ui.view qweb New
account_invoice_line_facturx_export_22 account_invoice_line_facturx_export_22 ir.ui.view qweb New
account_invoice_partner_facturx_export_22 account_invoice_partner_facturx_export_22 ir.ui.view qweb New
account_invoice_pdfa_3_facturx_metadata account_invoice_pdfa_3_facturx_metadata ir.ui.view qweb New
account_move_send_form account.move.send.form account.move.send xpath Inherits account.account_move_send_form
res_config_settings_view_form res.config.settings.view.form.inherit.account_edi_ubl_cii res.config.settings xpath Inherits account.res_config_settings_view_form
res_partner_view_search res.partner.search.inherit res.partner xpath Inherits base.view_res_partner_filter
res_partner_view_tree res.partner.tree.inherit res.partner xpath Inherits base.view_partner_tree
ubl_20_AddressType ubl_20_AddressType ir.ui.view qweb New
ubl_20_AllowanceChargeType ubl_20_AllowanceChargeType ir.ui.view qweb New
ubl_20_CommonLineType ubl_20_CommonLineType ir.ui.view qweb New
ubl_20_CommonType ubl_20_CommonType ir.ui.view qweb New
ubl_20_CreditNote ubl_20_CreditNote ir.ui.view qweb New
ubl_20_CreditNoteLineType ubl_20_CreditNoteLineType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CommonLineType
ubl_20_CreditNoteType ubl_20_CreditNoteType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CommonType
ubl_20_DebitNote ubl_20_DebitNote ir.ui.view qweb New
ubl_20_DebitNoteLineType ubl_20_DebitNoteLineType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CommonLineType
ubl_20_DebitNoteType ubl_20_DebitNoteType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CommonType
ubl_20_DeliveryType ubl_20_DeliveryType ir.ui.view qweb New
ubl_20_ExchangeRateType ubl_20_ExchangeRateType ir.ui.view qweb New
ubl_20_Invoice ubl_20_Invoice ir.ui.view qweb New
ubl_20_InvoiceLineType ubl_20_InvoiceLineType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CommonLineType
ubl_20_InvoicePeriod ubl_20_InvoicePeriod ir.ui.view qweb New
ubl_20_InvoiceType ubl_20_InvoiceType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CommonType
ubl_20_MonetaryTotalType ubl_20_MonetaryTotalType ir.ui.view qweb New
ubl_20_PartyType ubl_20_PartyType ir.ui.view qweb New
ubl_20_PaymentMeansType ubl_20_PaymentMeansType ir.ui.view qweb New
ubl_20_PaymentTermsType ubl_20_PaymentTermsType ir.ui.view qweb New
ubl_20_ResponseType ubl_20_ResponseType ir.ui.view qweb New
ubl_20_SignatureType ubl_20_SignatureType ir.ui.view qweb New
ubl_20_TaxCategoryType ubl_20_TaxCategoryType ir.ui.view qweb New
ubl_20_TaxTotalType ubl_20_TaxTotalType ir.ui.view qweb New
ubl_21_CreditNoteLineType ubl_21_CreditNoteLineType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CreditNoteLineType
ubl_21_CreditNoteType ubl_21_CreditNoteType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_CreditNoteType
ubl_21_DebitNoteLineType ubl_21_DebitNoteLineType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_DebitNoteLineType
ubl_21_DebitNoteType ubl_21_DebitNoteType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_DebitNoteType
ubl_21_InvoiceType ubl_21_InvoiceType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_InvoiceType
ubl_21_PaymentTermsType ubl_21_PaymentTermsType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_PaymentTermsType
view_partner_property_form res.partner.property.form.inherit res.partner xpath Inherits account.view_partner_property_form
Models touched (16)

New fields (0)

No new fields.

Public methods (1)
  • format_float(self, amount, precision_digits)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • ubl_cii_xml_file Binary
    attachment=True copy=False string='UBL/CII File'
  • ubl_cii_xml_id Many2one → ir.attachment
    comodel_name='ir.attachment' compute=<expr> depends=['ubl_cii_xml_file'] string='Attachment'
Public methods (1)
  • action_group_ungroup_lines_by_tax(self)
    This action allows the user to reload an imported move, grouping or not lines by tax

New fields (5)
  • checkbox_ubl_cii_label Char
    compute='_compute_checkbox_ubl_cii_label'
  • checkbox_ubl_cii_xml Boolean
    compute='_compute_checkbox_ubl_cii_xml' readonly=False store=True
  • enable_ubl_cii_xml Boolean
    compute='_compute_enable_ubl_cii_xml'
  • show_ubl_company_warning Boolean
    compute='_compute_ubl_warnings' string='Company warning'
  • ubl_partner_warning Char
    compute='_compute_ubl_warnings' string='Partner warning'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • invoice_is_ubl_cii Boolean
    default=False args: 'Generate Peppol format by default'
Public methods (0)

No public methods.

New fields (1)
  • invoice_is_ubl_cii Boolean
    readonly=False related='company_id.invoice_is_ubl_cii' string='Peppol format'
Public methods (0)

No public methods.

New fields (4)
  • hide_peppol_fields Boolean
    compute='_compute_hide_peppol_fields'
  • peppol_eas Selection
    compute='_compute_peppol_eas' help='Code used to identify the Endpoint for BIS Billing 3.0 and its derivatives.\n List available at https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/' readonly=False selection=[('0002', '0002 - System Information et Repertoire des Entreprise et des Etablissements: SIRENE'), ('0007', '0007 - Organisationsnummer (Swedish legal entities)'), ('0009', '0009 - SIRET-CODE'), ('0037', '0037 - LY-tunnus'), ('0060', '0060 - Data Universal Numbering System (D-U-N-S Number)'), ('0088', '0088 - EAN Location Code'), ('0096', '0096 - DANISH CHAMBER OF COMMERCE Scheme (EDIRA compliant)'), ('0097', '0097 - FTI - Ediforum Italia, (EDIRA compliant)'), ('0106', '0106 - Association of Chambers of Commerce and Industry in the Netherlands, (EDIRA compliant)'), ('0130', '0130 - Directorates of the European Commission'), ('0135', '0135 - SIA Object Identifiers'), ('0142', '0142 - SECETI Object Identifiers'), ('0151', '0151 - Australian Business Number (ABN) Scheme'), ('0183', '0183 - Swiss Unique Business Identification Number (UIDB)'), ('0184', '0184 - DIGSTORG'), ('0188', '0188 - Corporate Number of The Social Security and Tax Number System'), ('0190', "0190 - Dutch Originator's Identification Number"), ('0191', '0191 - Centre of Registers and Information Systems of the Ministry of Justice'), ('0192', '0192 - Enhetsregisteret ved Bronnoysundregisterne'), ('0193', '0193 - UBL.BE party identifier'), ('0195', '0195 - Singapore UEN identifier'), ('0196', '0196 - Kennitala - Iceland legal id for individuals and legal entities'), ('0198', '0198 - ERSTORG'), ('0199', '0199 - Legal Entity Identifier (LEI)'), ('0200', '0200 - Legal entity code (Lithuania)'), ('0201', '0201 - Codice Univoco Unità Organizzativa iPA'), ('0202', '0202 - Indirizzo di Posta Elettronica Certificata'), ('0204', '0204 - Leitweg-ID'), ('0208', "0208 - Numero d'entreprise / ondernemingsnummer / Unternehmensnummer"), ('0209', '0209 - GS1 identification keys'), ('0210', '0210 - CODICE FISCALE'), ('0211', '0211 - PARTITA IVA'), ('0212', '0212 - Finnish Organization Identifier'), ('0213', '0213 - Finnish Organization Value Add Tax Identifier'), ('0215', '0215 - Net service ID'), ('0216', '0216 - OVTcode'), ('0218', '0218 - Unified registration number (Latvia)'), ('0221', '0221 - The registered number of the qualified invoice issuer (Japan)'), ('0225', '0225 - FRCTC Electronic Address (France)'), ('0230', '0230 - National e-Invoicing Framework (Malaysia)'), ('0235', '0235 - UAE Tax Identification Number (TIN)'), ('0240', '0240 - Register of legal persons (France)'), ('9901', '9901 - Danish Ministry of the Interior and Health'), ('9910', '9910 - Hungary VAT number'), ('9913', '9913 - Business Registers Network'), ('9914', '9914 - Österreichische Umsatzsteuer-Identifikationsnummer'), ('9915', '9915 - Österreichisches Verwaltungs bzw. Organisationskennzeichen'), ('9918', '9918 - SOCIETY FOR WORLDWIDE INTERBANK FINANCIAL, TELECOMMUNICATION S.W.I.F.T'), ('9919', '9919 - Kennziffer des Unternehmensregisters'), ('9920', '9920 - Agencia Española de Administración Tributaria'), ('9922', '9922 - Andorra VAT number'), ('9923', '9923 - Albania VAT number'), ('9924', '9924 - Bosnia and Herzegovina VAT number'), ('9925', '9925 - Belgium VAT number'), ('9926', '9926 - Bulgaria VAT number'), ('9927', '9927 - Switzerland VAT number'), ('9928', '9928 - Cyprus VAT number'), ('9929', '9929 - Czech Republic VAT number'), ('9930', '9930 - Germany VAT number'), ('9931', '9931 - Estonia VAT number'), ('9932', '9932 - United Kingdom VAT number'), ('9933', '9933 - Greece VAT number'), ('9934', '9934 - Croatia VAT number'), ('9935', '9935 - Ireland VAT number'), ('9936', '9936 - Liechtenstein VAT number'), ('9937', '9937 - Lithuania VAT number'), ('9938', '9938 - Luxemburg VAT number'), ('9939', '9939 - Latvia VAT number'), ('9940', '9940 - Monaco VAT number'), ('9941', '9941 - Montenegro VAT number'), ('9942', '9942 - Macedonia, the former Yugoslav Republic of VAT number'), ('9943', '9943 - Malta VAT number'), ('9944', '9944 - Netherlands VAT number'), ('9945', '9945 - Poland VAT number'), ('9946', '9946 - Portugal VAT number'), ('9947', '9947 - Romania VAT number'), ('9948', '9948 - Serbia VAT number'), ('9949', '9949 - Slovenia VAT number'), ('9950', '9950 - Slovakia VAT number'), ('9951', '9951 - San Marino VAT number'), ('9952', '9952 - Türkiye VAT number'), ('9953', '9953 - Holy See (Vatican City State) VAT number'), ('9955', '9955 - Swedish VAT number'), ('9957', '9957 - French VAT number'), ('9959', '9959 - Employer Identification Number (EIN, USA)'), ('AN', 'AN - O.F.T.P. (ODETTE File Transfer Protocol)'), ('AQ', 'AQ - X.400 address for mail text'), ('AS', 'AS - AS2 exchange'), ('AU', 'AU - File Transfer Protocol'), ('EM', 'EM - Electronic mail')] store=True string='Peppol e-address (EAS)' tracking=True
  • peppol_endpoint Char
    compute='_compute_peppol_endpoint' help="Unique identifier used by the BIS Billing 3.0 and its derivatives, also known as 'Endpoint ID'." readonly=False store=True string='Peppol Endpoint' tracking=True
  • ubl_cii_format Selection
    compute='_compute_ubl_cii_format' readonly=False selection=[('facturx', 'Factur-X (CII)'), ('zugferd', 'ZUGFeRD (CII)'), ('ubl_bis3', 'BIS Billing 3.0'), ('xrechnung', 'XRechnung CIUS'), ('nlcius', 'NLCIUS'), ('ubl_a_nz', 'BIS Billing 3.0 A-NZ'), ('ubl_sg', 'BIS Billing 3.0 SG')] store=True string='Format'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/16.0/account_edi_ubl_cii
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Accounting
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Stéphane Bidoul, Martin Trigaux, Denis Ledoux, Goffin Simon, Laurent Smet, Andrea Grazioso (agr-odoo), Anh Thao Pham (pta), Brice bib Bartoletti, Ivan Yelizariev, Nasreddin Boulif (bon), Tiffany Chang (tic), remi-filament, Ricardo Gomes Rodrigues (rigr), Nicolas (vin), william-andre, Julien Van Roy, Víctor Martínez, aliya, JordiMForgeFlow, Nshimiyimana Séna, Yolann Sabaux, Pierrot (prro), bve-odoo, Archana Vaghasiya, Mylyna Hy, Mahamadasif Ansari, Thomas Becquevort (thbe), Gauthier Wala (gawa), Yosua Nicolaus, Maruan Aguerdouh (magm), Antoine Boonen, Dylan Kiss (dyki), Soam (sold), gera-odoo, Quentin, Mehdi Bendali Hacine, Cameron, guva-odoo, Ethan Vincent, Sven Fuehr, yosa-odoo, det, Martin Trigaux (mat), Louis Gobert, Claire (clbr), Antoine Dupuis, Léo Gizard, Victor Miguel Armenta Carrillo, roto-odoo, Anton Romanova (roan), Corentin Lombard, Krzysztof Magusiak (krma), kkuj-odoo, Mahdi Alijani (malj), nape-odoo, devp-odoo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:54
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_edi
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Electronic invoicing module
===========================

Allows to export and import formats: E-FFF, UBL Bis 3, EHF3, NLCIUS, Factur-X (CII), XRechnung (UBL).
When generating the PDF on the invoice, the PDF will be embedded inside the xml for all UBL formats. This allows the 
receiver to retrieve the PDF with only the xml file. Note that **EHF3 is fully implemented by UBL Bis 3** (`reference 
<https://anskaffelser.dev/postaward/g3/spec/current/billing-3.0/norway/#_implementation>`_).

The formats can be chosen from the journal (Journal > Advanced Settings) linked to the invoice. 

Note that E-FFF, NLCIUS and XRechnung (UBL) are only available for Belgian, Dutch and German companies, 
respectively. UBL Bis 3 is only available for companies which country is present in the `EAS list 
<https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/>`_.

Note also that in order for Chorus Pro to automatically detect the "PDF/A-3 (Factur-X)" format, you need to activate 
the "Factur-X PDF/A-3" option on the journal. This option will also validate the xml against the Factur-X and Chorus
Pro rules and show the errors.
    

Code Analysis

Views touched (17)
XML IDNameModelTypeStatus
account_invoice_address_facturx_export_22 account_invoice_address_facturx_export_22 ir.ui.view qweb New
account_invoice_facturx_export_22 account_invoice_facturx_export_22 ir.ui.view qweb New
account_invoice_line_facturx_export_22 account_invoice_line_facturx_export_22 ir.ui.view qweb New
account_invoice_partner_facturx_export_22 account_invoice_partner_facturx_export_22 ir.ui.view qweb New
account_invoice_pdfa_3_facturx_metadata account_invoice_pdfa_3_facturx_metadata ir.ui.view qweb New
ubl_20_AddressType ubl_20_AddressType ir.ui.view qweb New
ubl_20_AllowanceChargeType ubl_20_AllowanceChargeType ir.ui.view qweb New
ubl_20_CreditNote ubl_20_CreditNote ir.ui.view qweb New
ubl_20_Invoice ubl_20_Invoice ir.ui.view qweb New
ubl_20_InvoiceLineType ubl_20_InvoiceLineType ir.ui.view qweb New
ubl_20_InvoiceType ubl_20_InvoiceType ir.ui.view qweb New
ubl_20_PartyType ubl_20_PartyType ir.ui.view qweb New
ubl_20_PaymentMeansType ubl_20_PaymentMeansType ir.ui.view qweb New
ubl_20_TaxCategoryType ubl_20_TaxCategoryType ir.ui.view qweb New
ubl_20_TaxTotalType ubl_20_TaxTotalType ir.ui.view qweb New
ubl_21_InvoiceLineType ubl_21_InvoiceLineType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_InvoiceLineType
ubl_21_InvoiceType ubl_21_InvoiceType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_InvoiceType
Models touched (13)

New fields (0)

No new fields.

Public methods (1)
  • format_float(self, amount, precision_digits)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/15.0/account_edi_ubl_cii
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Accounting
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSMartin Trigaux, Denis Ledoux, Goffin Simon, Laurent Smet, Andrea Grazioso (agr-odoo), Anh Thao Pham (pta), Brice bib Bartoletti, Ivan Yelizariev, Nasreddin Boulif (bon), Tiffany Chang (tic), Ricardo Gomes Rodrigues (rigr), Julien Van Roy, Víctor Martínez, aliya, william, JordiMForgeFlow, Nshimiyimana Séna, Yolann Sabaux, bve-odoo, Archana Vaghasiya, Mylyna Hy, Mahamadasif Ansari, Yosua Nicolaus, Antoine Boonen, Dylan Kiss (dyki), Soam (sold), gera-odoo, Quentin, akr, Cameron, Ethan Vincent, yosa-odoo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:25:29
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_edi
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Electronic invoicing module
===========================

Allows to export and import formats: E-FFF, UBL Bis 3, EHF3, NLCIUS, Factur-X (CII), XRechnung (UBL).
When generating the PDF on the invoice, the PDF will be embedded inside the xml for all UBL formats. This allows the
receiver to retrieve the PDF with only the xml file. Note that **EHF3 is fully implemented by UBL Bis 3** (`reference 
<https://anskaffelser.dev/postaward/g3/spec/current/billing-3.0/norway/#_implementation>`_).

The formats can be chosen from the journal (Journal > Advanced Settings) linked to the invoice. 

Note that E-FFF, NLCIUS and XRechnung (UBL) are only available for Belgian, Dutch and German companies, 
respectively. UBL Bis 3 is only available for companies which country is present in the `EAS list 
<https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/>`_.

Note also that you need to activate PDF A in order to be able to submit a Factur-X pdf on Chorus Pro: 
go to Settings > Technical (debug mode) > System Parameters > select/create one with Key: edi.use_pdfa, Value: true. 
With this setting, Chorus Pro will automatically detect the "PDF/A-3 (Factur-X)" format.
    

Code Analysis

Views touched (17)
XML IDNameModelTypeStatus
account_invoice_address_facturx_export_22 account_invoice_address_facturx_export_22 ir.ui.view qweb New
account_invoice_facturx_export_22 account_invoice_facturx_export_22 ir.ui.view qweb New
account_invoice_line_facturx_export_22 account_invoice_line_facturx_export_22 ir.ui.view qweb New
account_invoice_partner_facturx_export_22 account_invoice_partner_facturx_export_22 ir.ui.view qweb New
account_invoice_pdfa_3_facturx_metadata account_invoice_pdfa_3_facturx_metadata ir.ui.view qweb New
ubl_20_AddressType ubl_20_AddressType ir.ui.view qweb New
ubl_20_AllowanceChargeType ubl_20_AllowanceChargeType ir.ui.view qweb New
ubl_20_CreditNote ubl_20_CreditNote ir.ui.view qweb New
ubl_20_Invoice ubl_20_Invoice ir.ui.view qweb New
ubl_20_InvoiceLineType ubl_20_InvoiceLineType ir.ui.view qweb New
ubl_20_InvoiceType ubl_20_InvoiceType ir.ui.view qweb New
ubl_20_PartyType ubl_20_PartyType ir.ui.view qweb New
ubl_20_PaymentMeansType ubl_20_PaymentMeansType ir.ui.view qweb New
ubl_20_TaxCategoryType ubl_20_TaxCategoryType ir.ui.view qweb New
ubl_20_TaxTotalType ubl_20_TaxTotalType ir.ui.view qweb New
ubl_21_InvoiceLineType ubl_21_InvoiceLineType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_InvoiceLineType
ubl_21_InvoiceType ubl_21_InvoiceType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_InvoiceType
Models touched (11)

New fields (0)

No new fields.

Public methods (1)
  • format_float(self, amount, precision_digits)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/14.0/account_edi_ubl_cii
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Accounting
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSGoffin Simon, Laurent Smet, Luis Torres, Andrea Grazioso (agr-odoo), Ivan Yelizariev, Nasreddin Boulif (bon), Ricardo Gomes Rodrigues (rigr), Julien Van Roy, Víctor Martínez, Nshimiyimana Séna, Yolann Sabaux, bve-odoo, Archana Vaghasiya, Mahamadasif Ansari, Yosua Nicolaus, Soam (sold), gera-odoo, Quentin
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:14:31
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_edi
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Electronic invoicing module
===========================

Allows to export and import formats: E-FFF, UBL Bis 3, EHF3, Factur-X (CII), XRechnung (UBL).
When generating the PDF on the invoice, the PDF will be embedded inside the xml for all UBL formats. This allows the
receiver to retrieve the PDF with only the xml file. Note that **EHF3 is fully implemented by UBL Bis 3** (`reference 
<https://anskaffelser.dev/postaward/g3/spec/current/billing-3.0/norway/#_implementation>`_).

The formats can be chosen from the journal (Journal > Advanced Settings) linked to the invoice. 

Note that E-FFF and XRechnung (UBL) are only available for Belgian and German companies, 
respectively. UBL Bis 3 is only available for companies which country is present in the `EAS list 
<https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/>`_.

Note also that you need to activate PDF A in order to be able to submit a Factur-X pdf on Chorus Pro: 
go to Settings > Technical (debug mode) > System Parameters > select/create one with Key: edi.use_pdfa, Value: true. 
With this setting, Chorus Pro will automatically detect the "PDF/A-3 (Factur-X)" format.
    

Code Analysis

Views touched (17)
XML IDNameModelTypeStatus
account_invoice_address_facturx_export_22 account_invoice_address_facturx_export_22 ir.ui.view qweb New
account_invoice_facturx_export_22 account_invoice_facturx_export_22 ir.ui.view qweb New
account_invoice_line_facturx_export_22 account_invoice_line_facturx_export_22 ir.ui.view qweb New
account_invoice_partner_facturx_export_22 account_invoice_partner_facturx_export_22 ir.ui.view qweb New
account_invoice_pdfa_3_facturx_metadata account_invoice_pdfa_3_facturx_metadata ir.ui.view qweb New
ubl_20_AddressType ubl_20_AddressType ir.ui.view qweb New
ubl_20_AllowanceChargeType ubl_20_AllowanceChargeType ir.ui.view qweb New
ubl_20_CreditNote ubl_20_CreditNote ir.ui.view qweb New
ubl_20_Invoice ubl_20_Invoice ir.ui.view qweb New
ubl_20_InvoiceLineType ubl_20_InvoiceLineType ir.ui.view qweb New
ubl_20_InvoiceType ubl_20_InvoiceType ir.ui.view qweb New
ubl_20_PartyType ubl_20_PartyType ir.ui.view qweb New
ubl_20_PaymentMeansType ubl_20_PaymentMeansType ir.ui.view qweb New
ubl_20_TaxCategoryType ubl_20_TaxCategoryType ir.ui.view qweb New
ubl_20_TaxTotalType ubl_20_TaxTotalType ir.ui.view qweb New
ubl_21_InvoiceLineType ubl_21_InvoiceLineType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_InvoiceLineType
ubl_21_InvoiceType ubl_21_InvoiceType ir.ui.view qweb Inherits account_edi_ubl_cii.ubl_20_InvoiceType
Models touched (9)

New fields (0)

No new fields.

Public methods (1)
  • format_float(self, amount, precision_digits)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.