From 04a30d8091d7b0b663a5577d02f09450c90c3e80 Mon Sep 17 00:00:00 2001 From: Brice bib Bartoletti Date: Fri, 15 Sep 2023 18:54:16 +0200 Subject: [PATCH] [IMP] {l10n_}account_edi_ubl_cii{_tests},l10n_{ro,sa}_edi: add standard fields on UBL 2.0 The aim of this commit is mainly to add optional standard node directly on UBL 2.0. This will allow national customization of ubl to be easier to implement. List of modification: - Add the following nodes: - AddressFormatCode - BuildingNumber - PlotIdentification - CitySubdivisionName - Name under TaxScheme - DocumentTypeCode - reduce zatca customization - add attrs to several place to ease customization of attributes - add a hook from which customization can override all decimal places to enforce a maximum - add a hook to ease the modification of the `legal_monetary_total_vals` sub dict - add method to allow customization to provide attributes for DocumentTypeCode node. Notes: Regarding PlotIdentification and CitySubdivisionName, I decided to not populate some of those field for now because I didn't think of a reliable way to get their value while zatca benefits from fields created in l10n_sa_edi. Task-id: 3326977 Part-of: odoo/odoo#136072 --- .../data/ubl_20_templates.xml | 23 +++++++-- .../models/account_edi_common.py | 6 ++- .../models/account_edi_xml_ubl_20.py | 49 ++++++++++++------- .../models/account_move.py | 7 +++ .../models/account_move_send.py | 30 ++++++------ .../test_files/from_odoo/a_nz_out_invoice.xml | 1 + .../test_files/from_odoo/a_nz_out_refund.xml | 1 + .../from_odoo/bis3_ecotaxes_case1.xml | 1 + .../from_odoo/bis3_ecotaxes_case2.xml | 1 + .../from_odoo/bis3_ecotaxes_case3.xml | 1 + .../test_files/from_odoo/bis3_out_invoice.xml | 1 + .../bis3_out_invoice_public_admin.xml | 1 + .../from_odoo/bis3_out_invoice_rounding.xml | 1 + .../test_files/from_odoo/bis3_out_refund.xml | 1 + .../from_odoo/nlcius_out_invoice.xml | 1 + .../from_odoo/nlcius_out_refund.xml | 1 + .../from_odoo/xrechnung_ubl_out_invoice.xml | 1 + .../from_odoo/xrechnung_ubl_out_refund.xml | 1 + .../from_odoo/ciusro_out_invoice.xml | 1 + .../ciusro_out_invoice_different_currency.xml | 1 + .../from_odoo/ciusro_out_refund.xml | 1 + addons/l10n_sa_edi/data/ubl_21_zatca.xml | 12 ----- .../models/account_edi_xml_ubl_21_zatca.py | 2 +- 23 files changed, 90 insertions(+), 55 deletions(-) diff --git a/addons/account_edi_ubl_cii/data/ubl_20_templates.xml b/addons/account_edi_ubl_cii/data/ubl_20_templates.xml index 9746255c6f6..a33aec6c937 100644 --- a/addons/account_edi_ubl_cii/data/ubl_20_templates.xml +++ b/addons/account_edi_ubl_cii/data/ubl_20_templates.xml @@ -5,7 +5,11 @@ + + + + @@ -58,7 +62,10 @@ - + + @@ -67,8 +74,8 @@ + t-att="foreach_vals.get('company_id_attrs', {})" + t-out="foreach_vals.get('company_id')"/> @@ -139,7 +146,11 @@ - + + @@ -263,7 +274,9 @@ xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"> - + {escape(filename)} + {document_type_code_value} ___ignore___ + 380 ___ignore___ diff --git a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/a_nz_out_refund.xml b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/a_nz_out_refund.xml index 850825c91ea..aed038d9f57 100644 --- a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/a_nz_out_refund.xml +++ b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/a_nz_out_refund.xml @@ -13,6 +13,7 @@ ___ignore___ + 381 ___ignore___ diff --git a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_ecotaxes_case1.xml b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_ecotaxes_case1.xml index cc2ef4a14e1..6cb354d9acb 100644 --- a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_ecotaxes_case1.xml +++ b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_ecotaxes_case1.xml @@ -17,6 +17,7 @@ ___ignore___ + 380 ___ignore___ diff --git a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_ecotaxes_case2.xml b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_ecotaxes_case2.xml index f1c7fcc228e..b770a516eb4 100644 --- a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_ecotaxes_case2.xml +++ b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_ecotaxes_case2.xml @@ -17,6 +17,7 @@ ___ignore___ + 380 ___ignore___ diff --git a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_ecotaxes_case3.xml b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_ecotaxes_case3.xml index 7cf6a8ee417..23d394c80d7 100644 --- a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_ecotaxes_case3.xml +++ b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_ecotaxes_case3.xml @@ -17,6 +17,7 @@ ___ignore___ + 380 ___ignore___ diff --git a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_invoice.xml b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_invoice.xml index 69d229c3931..a02b9736170 100644 --- a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_invoice.xml +++ b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_invoice.xml @@ -14,6 +14,7 @@ ___ignore___ + 380 ___ignore___ diff --git a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_invoice_public_admin.xml b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_invoice_public_admin.xml index e5ad0ebe310..62529e68b37 100644 --- a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_invoice_public_admin.xml +++ b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_invoice_public_admin.xml @@ -14,6 +14,7 @@ ___ignore___ + 380 ___ignore___ diff --git a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_invoice_rounding.xml b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_invoice_rounding.xml index 6b1b6365a4d..5584698d1f7 100644 --- a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_invoice_rounding.xml +++ b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_invoice_rounding.xml @@ -17,6 +17,7 @@ ___ignore___ + 380 ___ignore___ diff --git a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_refund.xml b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_refund.xml index 389bdb7765c..dd55c43ebee 100644 --- a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_refund.xml +++ b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/bis3_out_refund.xml @@ -13,6 +13,7 @@ ___ignore___ + 381 ___ignore___ diff --git a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/nlcius_out_invoice.xml b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/nlcius_out_invoice.xml index d1d6fd17f01..8fe985296db 100644 --- a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/nlcius_out_invoice.xml +++ b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/nlcius_out_invoice.xml @@ -14,6 +14,7 @@ ___ignore___ + 380 ___ignore___ diff --git a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/nlcius_out_refund.xml b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/nlcius_out_refund.xml index 30cb0b9b0b7..e15e3f4a116 100644 --- a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/nlcius_out_refund.xml +++ b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/nlcius_out_refund.xml @@ -18,6 +18,7 @@ ___ignore___ + 381 ___ignore___ diff --git a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/xrechnung_ubl_out_invoice.xml b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/xrechnung_ubl_out_invoice.xml index a08b31a4aa4..93fe86989ac 100644 --- a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/xrechnung_ubl_out_invoice.xml +++ b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/xrechnung_ubl_out_invoice.xml @@ -14,6 +14,7 @@ ___ignore___ + 380 ___ignore___ diff --git a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/xrechnung_ubl_out_refund.xml b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/xrechnung_ubl_out_refund.xml index 2e2fb191e4a..c3ba801b3ed 100644 --- a/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/xrechnung_ubl_out_refund.xml +++ b/addons/l10n_account_edi_ubl_cii_tests/tests/test_files/from_odoo/xrechnung_ubl_out_refund.xml @@ -13,6 +13,7 @@ ___ignore___ + 381 ___ignore___ diff --git a/addons/l10n_ro_edi/tests/test_files/from_odoo/ciusro_out_invoice.xml b/addons/l10n_ro_edi/tests/test_files/from_odoo/ciusro_out_invoice.xml index 42112b09772..5abd2c5f1f6 100644 --- a/addons/l10n_ro_edi/tests/test_files/from_odoo/ciusro_out_invoice.xml +++ b/addons/l10n_ro_edi/tests/test_files/from_odoo/ciusro_out_invoice.xml @@ -15,6 +15,7 @@ INV_2017_00001.pdf + 380 ___ignore___ diff --git a/addons/l10n_ro_edi/tests/test_files/from_odoo/ciusro_out_invoice_different_currency.xml b/addons/l10n_ro_edi/tests/test_files/from_odoo/ciusro_out_invoice_different_currency.xml index c42e19db678..bf541a8c1c9 100644 --- a/addons/l10n_ro_edi/tests/test_files/from_odoo/ciusro_out_invoice_different_currency.xml +++ b/addons/l10n_ro_edi/tests/test_files/from_odoo/ciusro_out_invoice_different_currency.xml @@ -15,6 +15,7 @@ INV_2017_00001.pdf + 380 ___ignore___ diff --git a/addons/l10n_ro_edi/tests/test_files/from_odoo/ciusro_out_refund.xml b/addons/l10n_ro_edi/tests/test_files/from_odoo/ciusro_out_refund.xml index e2a7fcf3192..a23ea4deb81 100644 --- a/addons/l10n_ro_edi/tests/test_files/from_odoo/ciusro_out_refund.xml +++ b/addons/l10n_ro_edi/tests/test_files/from_odoo/ciusro_out_refund.xml @@ -14,6 +14,7 @@ RINV_2017_00001.pdf + 381 ___ignore___ diff --git a/addons/l10n_sa_edi/data/ubl_21_zatca.xml b/addons/l10n_sa_edi/data/ubl_21_zatca.xml index 7d883936895..7420f2bc87c 100644 --- a/addons/l10n_sa_edi/data/ubl_21_zatca.xml +++ b/addons/l10n_sa_edi/data/ubl_21_zatca.xml @@ -176,18 +176,6 @@