From 3cade462f778ec0c33afef4da23bed93bd5b4ca0 Mon Sep 17 00:00:00 2001 From: SimoRubi Date: Tue, 22 Jan 2019 17:57:48 +0100 Subject: [PATCH 01/28] [ADD] l10n_it_fatturapa_out_triple_discount --- .../README.rst | 79 ++++ .../__init__.py | 4 + .../__manifest__.py | 22 + .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 7 + .../static/description/index.html | 422 ++++++++++++++++++ .../tests/__init__.py | 5 + .../tests/data/IT06363391001_00001.xml | 110 +++++ .../tests/test_fatturapa_triple_discount.py | 50 +++ .../wizard/__init__.py | 4 + .../wizard/wizard_export_fatturapa.py | 32 ++ 11 files changed, 736 insertions(+) create mode 100644 l10n_it_fatturapa_out_triple_discount/README.rst create mode 100644 l10n_it_fatturapa_out_triple_discount/__init__.py create mode 100644 l10n_it_fatturapa_out_triple_discount/__manifest__.py create mode 100644 l10n_it_fatturapa_out_triple_discount/readme/CONTRIBUTORS.rst create mode 100644 l10n_it_fatturapa_out_triple_discount/readme/DESCRIPTION.rst create mode 100644 l10n_it_fatturapa_out_triple_discount/static/description/index.html create mode 100644 l10n_it_fatturapa_out_triple_discount/tests/__init__.py create mode 100644 l10n_it_fatturapa_out_triple_discount/tests/data/IT06363391001_00001.xml create mode 100644 l10n_it_fatturapa_out_triple_discount/tests/test_fatturapa_triple_discount.py create mode 100644 l10n_it_fatturapa_out_triple_discount/wizard/__init__.py create mode 100644 l10n_it_fatturapa_out_triple_discount/wizard/wizard_export_fatturapa.py diff --git a/l10n_it_fatturapa_out_triple_discount/README.rst b/l10n_it_fatturapa_out_triple_discount/README.rst new file mode 100644 index 000000000000..de0f4a2f6676 --- /dev/null +++ b/l10n_it_fatturapa_out_triple_discount/README.rst @@ -0,0 +1,79 @@ +======================================================================= +Italian Localization - Fattura elettronica - Integrazione sconto triplo +======================================================================= + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github + :target: https://github.com/OCA/l10n-italy/tree/10.0/l10n_it_fatturapa_out_triple_discount + :alt: OCA/l10n-italy +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/l10n-italy-10-0/l10n-italy-10-0-l10n_it_fatturapa_out_triple_discount + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/122/10.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +**Italiano** + +Questo modulo consente di generare correttamente la fattura elettronica (XML) quando il modulo account_invoice_triple_discount è installato. + +**English** + +The module allows to use correctly generate the Electronic Invoice (XML) when the module account_invoice_triple_discount is installed. + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Agile Business Group + +Contributors +~~~~~~~~~~~~ + +* Simone Rubino + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/l10n-italy `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/l10n_it_fatturapa_out_triple_discount/__init__.py b/l10n_it_fatturapa_out_triple_discount/__init__.py new file mode 100644 index 000000000000..09e999105d3c --- /dev/null +++ b/l10n_it_fatturapa_out_triple_discount/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). + +from . import wizard diff --git a/l10n_it_fatturapa_out_triple_discount/__manifest__.py b/l10n_it_fatturapa_out_triple_discount/__manifest__.py new file mode 100644 index 000000000000..bafcfd4cf2c7 --- /dev/null +++ b/l10n_it_fatturapa_out_triple_discount/__manifest__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Copyright 2019 Simone Rubino - Agile Business Group +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + 'name': 'Italian Localization - Fattura elettronica - ' + 'Integrazione sconto triplo', + "summary": "Modulo ponte tra emissione " + "fatture elettroniche e sconto triplo", + "version": "10.0.1.0.0", + "development_status": "Beta", + "category": "Hidden", + 'website': 'https://github.com/OCA/l10n-italy/tree/10.0/' + 'l10n_it_fatturapa_out_triple_discount', + "author": "Agile Business Group, Odoo Community Association (OCA)", + "license": "AGPL-3", + "auto_install": True, + "depends": [ + "l10n_it_fatturapa_out", + "account_invoice_triple_discount", + ] +} diff --git a/l10n_it_fatturapa_out_triple_discount/readme/CONTRIBUTORS.rst b/l10n_it_fatturapa_out_triple_discount/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000000..99f1f0efc5d5 --- /dev/null +++ b/l10n_it_fatturapa_out_triple_discount/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Simone Rubino diff --git a/l10n_it_fatturapa_out_triple_discount/readme/DESCRIPTION.rst b/l10n_it_fatturapa_out_triple_discount/readme/DESCRIPTION.rst new file mode 100644 index 000000000000..a8f5c180e799 --- /dev/null +++ b/l10n_it_fatturapa_out_triple_discount/readme/DESCRIPTION.rst @@ -0,0 +1,7 @@ +**Italiano** + +Questo modulo consente di generare correttamente la fattura elettronica (XML) quando il modulo account_invoice_triple_discount è installato. + +**English** + +The module allows to use correctly generate the Electronic Invoice (XML) when the module account_invoice_triple_discount is installed. diff --git a/l10n_it_fatturapa_out_triple_discount/static/description/index.html b/l10n_it_fatturapa_out_triple_discount/static/description/index.html new file mode 100644 index 000000000000..c1183d3b301a --- /dev/null +++ b/l10n_it_fatturapa_out_triple_discount/static/description/index.html @@ -0,0 +1,422 @@ + + + + + + +Italian Localization - Fattura elettronica - Integrazione sconto triplo + + + +
+

Italian Localization - Fattura elettronica - Integrazione sconto triplo

+ + +

Beta License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runbot

+

Italiano

+

Questo modulo consente di generare correttamente la fattura elettronica (XML) quando il modulo account_invoice_triple_discount è installato.

+

English

+

The module allows to use correctly generate the Electronic Invoice (XML) when the module account_invoice_triple_discount is installed.

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Agile Business Group
  • +
+
+
+

Contributors

+
    +
  • Simone Rubino
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/l10n-italy project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/l10n_it_fatturapa_out_triple_discount/tests/__init__.py b/l10n_it_fatturapa_out_triple_discount/tests/__init__.py new file mode 100644 index 000000000000..7b23815ef0f3 --- /dev/null +++ b/l10n_it_fatturapa_out_triple_discount/tests/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# Copyright 2019 Simone Rubino - Agile Business Group +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import test_fatturapa_triple_discount diff --git a/l10n_it_fatturapa_out_triple_discount/tests/data/IT06363391001_00001.xml b/l10n_it_fatturapa_out_triple_discount/tests/data/IT06363391001_00001.xml new file mode 100644 index 000000000000..b440254f4bba --- /dev/null +++ b/l10n_it_fatturapa_out_triple_discount/tests/data/IT06363391001_00001.xml @@ -0,0 +1,110 @@ + + + + + + IT + 06363391001 + + 00001 + FPA12 + UFPQ1O + + 06543534343 + info@yourcompany.example.com + + + + + + IT + 06363391001 + + + YourCompany + + RF01 + + + Via Milano, 1 + 00100 + Roma + AK + IT + + + 06543534343 + info@yourcompany.example.com + + + + + + IT + 00146089990 + + 00146089990 + + Public Administration + + + + Via Roma, 1 + 10100 + Torino + AK + IT + + + + + + + TD01 + EUR + 2016-01-07 + INV/2016/0013 + 1.53 + SI + + + + + 1 + Mouse Optical + 1.000 + Unit(s) + 10.00 + + SC + 50.00 + + + SC + 50.00 + + + SC + 50.00 + + 1.25 + 22.00 + + + 22.00 + 1.25 + 0.28 + + + + TP02 + + MP05 + 2016-02-29 + 1.53 + + + + diff --git a/l10n_it_fatturapa_out_triple_discount/tests/test_fatturapa_triple_discount.py b/l10n_it_fatturapa_out_triple_discount/tests/test_fatturapa_triple_discount.py new file mode 100644 index 000000000000..b1f60456c83b --- /dev/null +++ b/l10n_it_fatturapa_out_triple_discount/tests/test_fatturapa_triple_discount.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Copyright 2019 Simone Rubino - Agile Business Group +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo.addons.l10n_it_fatturapa_out.tests.fatturapa_common import ( + FatturaPACommon) + + +class TestInvoiceTripleDiscount(FatturaPACommon): + + def setUp(self): + super(TestInvoiceTripleDiscount, self).setUp() + + def test_xml_export_triple_discount(self): + self.set_sequences(1, 13, '2016-01-07') + invoice = self.invoice_model.create({ + 'date_invoice': '2016-01-07', + 'partner_id': self.res_partner_fatturapa_0.id, + 'journal_id': self.sales_journal.id, + 'account_id': self.a_recv.id, + 'payment_term_id': self.account_payment_term.id, + 'user_id': self.user_demo.id, + 'type': 'out_invoice', + 'currency_id': self.EUR.id, + 'invoice_line_ids': [ + (0, 0, { + 'account_id': self.a_sale.id, + 'product_id': self.product_product_10.id, + 'name': 'Mouse\nOptical', + 'quantity': 1, + 'uom_id': self.product_uom_unit.id, + 'price_unit': 10, + 'discount': 50, + 'discount2': 50, + 'discount3': 50, + 'invoice_line_tax_ids': [(6, 0, { + self.tax_22.id})] + })], + }) + invoice.action_invoice_open() + res = self.run_wizard(invoice.id) + + self.assertTrue(res) + attachment = self.attach_model.browse(res['res_id']) + self.assertEqual(attachment.datas_fname, 'IT06363391001_00001.xml') + + # XML doc to be validated + xml_content = attachment.datas.decode('base64') + self.check_content(xml_content, 'IT06363391001_00001.xml', + module_name='l10n_it_fatturapa_out_triple_discount') diff --git a/l10n_it_fatturapa_out_triple_discount/wizard/__init__.py b/l10n_it_fatturapa_out_triple_discount/wizard/__init__.py new file mode 100644 index 000000000000..be4e4d181cb5 --- /dev/null +++ b/l10n_it_fatturapa_out_triple_discount/wizard/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). + +from . import wizard_export_fatturapa diff --git a/l10n_it_fatturapa_out_triple_discount/wizard/wizard_export_fatturapa.py b/l10n_it_fatturapa_out_triple_discount/wizard/wizard_export_fatturapa.py new file mode 100644 index 000000000000..01fcbc38dc6b --- /dev/null +++ b/l10n_it_fatturapa_out_triple_discount/wizard/wizard_export_fatturapa.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# Copyright 2019 Simone Rubino - Agile Business Group +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import models +from odoo.addons.l10n_it_fatturapa.bindings.fatturapa_v_1_2 import ( + ScontoMaggiorazioneType +) + + +class WizardExportFatturapa(models.TransientModel): + _inherit = "wizard.export.fatturapa" + + def setDettaglioLinea( + self, line_no, line, body, price_precision, uom_precision): + res = super(WizardExportFatturapa, self).setDettaglioLinea( + line_no, line, body, price_precision, uom_precision) + if line.discount2 or line.discount3: + DettaglioLinea = body.DatiBeniServizi.DettaglioLinee[-1] + if line.discount2: + DettaglioLinea.ScontoMaggiorazione.append( + ScontoMaggiorazioneType( + Tipo='SC', + Percentuale='%.2f' % line.discount2 + )) + if line.discount3: + DettaglioLinea.ScontoMaggiorazione.append( + ScontoMaggiorazioneType( + Tipo='SC', + Percentuale='%.2f' % line.discount3 + )) + return res From fe85f2ef42f40b93daf3ec31ff77bcba23e67fc1 Mon Sep 17 00:00:00 2001 From: oca-travis Date: Fri, 1 Feb 2019 13:17:28 +0000 Subject: [PATCH 02/28] [UPD] Update l10n_it_fatturapa_out_triple_discount.pot --- .../l10n_it_fatturapa_out_triple_discount.pot | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 l10n_it_fatturapa_out_triple_discount/i18n/l10n_it_fatturapa_out_triple_discount.pot diff --git a/l10n_it_fatturapa_out_triple_discount/i18n/l10n_it_fatturapa_out_triple_discount.pot b/l10n_it_fatturapa_out_triple_discount/i18n/l10n_it_fatturapa_out_triple_discount.pot new file mode 100644 index 000000000000..c03784d99957 --- /dev/null +++ b/l10n_it_fatturapa_out_triple_discount/i18n/l10n_it_fatturapa_out_triple_discount.pot @@ -0,0 +1,20 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_fatturapa_out_triple_discount +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: l10n_it_fatturapa_out_triple_discount +#: model:ir.model,name:l10n_it_fatturapa_out_triple_discount.model_wizard_export_fatturapa +msgid "Export E-invoice" +msgstr "" + From 9d1be028120cb10f1fb334c5ff6c358f1256df17 Mon Sep 17 00:00:00 2001 From: eLBati Date: Thu, 7 Mar 2019 07:38:02 +0100 Subject: [PATCH 03/28] FIX l10n_it_fatturapa_out_triple_discount adapt to new set_sequences API and to new file names --- .../tests/test_fatturapa_triple_discount.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/l10n_it_fatturapa_out_triple_discount/tests/test_fatturapa_triple_discount.py b/l10n_it_fatturapa_out_triple_discount/tests/test_fatturapa_triple_discount.py index b1f60456c83b..2061a02c8c7a 100644 --- a/l10n_it_fatturapa_out_triple_discount/tests/test_fatturapa_triple_discount.py +++ b/l10n_it_fatturapa_out_triple_discount/tests/test_fatturapa_triple_discount.py @@ -12,7 +12,7 @@ def setUp(self): super(TestInvoiceTripleDiscount, self).setUp() def test_xml_export_triple_discount(self): - self.set_sequences(1, 13, '2016-01-07') + self.set_sequences(13, '2016-01-07') invoice = self.invoice_model.create({ 'date_invoice': '2016-01-07', 'partner_id': self.res_partner_fatturapa_0.id, @@ -42,7 +42,7 @@ def test_xml_export_triple_discount(self): self.assertTrue(res) attachment = self.attach_model.browse(res['res_id']) - self.assertEqual(attachment.datas_fname, 'IT06363391001_00001.xml') + self.set_e_invoice_file_id(attachment, 'IT06363391001_00001.xml') # XML doc to be validated xml_content = attachment.datas.decode('base64') From 6606e0fc319bd125f4ffd45a094061956a9a42ce Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 3 Apr 2019 02:54:55 +0000 Subject: [PATCH 04/28] [ADD] icon.png --- .../static/description/icon.png | Bin 0 -> 9455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 l10n_it_fatturapa_out_triple_discount/static/description/icon.png diff --git a/l10n_it_fatturapa_out_triple_discount/static/description/icon.png b/l10n_it_fatturapa_out_triple_discount/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 From 92f8eb76dc082d9963337a63d54d9ce3c6d9ad0a Mon Sep 17 00:00:00 2001 From: Gianluigi Tiesi Date: Fri, 3 May 2019 16:53:06 +0200 Subject: [PATCH 05/28] l10n_it_fatturapa: xml doctor for fatturapa it fixes: - removes xs:dateTime if bogus and not mandatory i.e. 0001-01-01T00:00:00.000+02:00 where python raises OverflowError - removes timezone from xs:date to make pyxb able to compare with 1-1-1970, it also removes the need of patching pyxb - removes space only strings if not mandatory, else replace with a dash breaking change: modules needs to import binding.fatturapa instead of bindings.fatturapa_v_1_2, this would be asl useful for new specs --- l10n_it_fatturapa_out_triple_discount/__manifest__.py | 2 +- .../wizard/wizard_export_fatturapa.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/l10n_it_fatturapa_out_triple_discount/__manifest__.py b/l10n_it_fatturapa_out_triple_discount/__manifest__.py index bafcfd4cf2c7..1fc0c314c1f4 100644 --- a/l10n_it_fatturapa_out_triple_discount/__manifest__.py +++ b/l10n_it_fatturapa_out_triple_discount/__manifest__.py @@ -7,7 +7,7 @@ 'Integrazione sconto triplo', "summary": "Modulo ponte tra emissione " "fatture elettroniche e sconto triplo", - "version": "10.0.1.0.0", + "version": "10.0.1.0.1", "development_status": "Beta", "category": "Hidden", 'website': 'https://github.com/OCA/l10n-italy/tree/10.0/' diff --git a/l10n_it_fatturapa_out_triple_discount/wizard/wizard_export_fatturapa.py b/l10n_it_fatturapa_out_triple_discount/wizard/wizard_export_fatturapa.py index 01fcbc38dc6b..f289448d649b 100644 --- a/l10n_it_fatturapa_out_triple_discount/wizard/wizard_export_fatturapa.py +++ b/l10n_it_fatturapa_out_triple_discount/wizard/wizard_export_fatturapa.py @@ -3,7 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import models -from odoo.addons.l10n_it_fatturapa.bindings.fatturapa_v_1_2 import ( +from odoo.addons.l10n_it_fatturapa.bindings.fatturapa import ( ScontoMaggiorazioneType ) From 818bbc757527c8293b3e05e91c7ba409f29872b7 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 29 Jul 2019 03:03:17 +0000 Subject: [PATCH 06/28] [UPD] README.rst --- .../static/description/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/l10n_it_fatturapa_out_triple_discount/static/description/index.html b/l10n_it_fatturapa_out_triple_discount/static/description/index.html index c1183d3b301a..794c4f641743 100644 --- a/l10n_it_fatturapa_out_triple_discount/static/description/index.html +++ b/l10n_it_fatturapa_out_triple_discount/static/description/index.html @@ -3,7 +3,7 @@ - + Italian Localization - Fattura elettronica - Integrazione sconto triplo -
-

Italian Localization - Fattura elettronica - Integrazione sconto triplo

+
+

ITA - Fattura elettronica - Integrazione sconto triplo

-

Beta License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runboat

Italiano

Questo modulo consente di generare correttamente la fattura elettronica (XML) quando il modulo account_invoice_triple_discount è installato.

English

@@ -375,40 +377,40 @@

ITA - Fattura elettronica - Integrazione sconto triplo

Table of contents

-

Bug Tracker

+

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smashing it by providing a detailed and welcomed +If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

-

Credits

+

Credits

-

Authors

+

Authors

  • Agile Business Group
-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose From 42b71ebd0e873183938ee4ed91ab8a0f25ac7837 Mon Sep 17 00:00:00 2001 From: Weblate Date: Thu, 21 Sep 2023 16:40:59 +0000 Subject: [PATCH 25/28] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: l10n-italy-12.0/l10n-italy-12.0-l10n_it_fatturapa_out_triple_discount Translate-URL: https://translation.odoo-community.org/projects/l10n-italy-12-0/l10n-italy-12-0-l10n_it_fatturapa_out_triple_discount/ --- l10n_it_fatturapa_out_triple_discount/i18n/it.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/l10n_it_fatturapa_out_triple_discount/i18n/it.po b/l10n_it_fatturapa_out_triple_discount/i18n/it.po index 94f7c61accc9..1506cdc9fd9e 100644 --- a/l10n_it_fatturapa_out_triple_discount/i18n/it.po +++ b/l10n_it_fatturapa_out_triple_discount/i18n/it.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * l10n_it_fatturapa_out_triple_discount +# * l10n_it_fatturapa_out_triple_discount # msgid "" msgstr "" From 384ed282694eb0e223459122c814b97e8ca00718 Mon Sep 17 00:00:00 2001 From: LorenzoC0 Date: Thu, 26 Oct 2023 10:29:43 +0200 Subject: [PATCH 26/28] [MIG][14.0] l10n_it_fatturapa_out_triple_discount --- l10n_it_fatturapa_out/wizard/efattura.py | 13 ++++-- .../__init__.py | 2 - .../__manifest__.py | 13 +++--- .../data/invoice_it_template.xml | 43 +++++++++++++++++++ .../wizards/__init__.py | 2 - .../wizards/wizard_export_fatturapa.py | 32 -------------- 6 files changed, 61 insertions(+), 44 deletions(-) create mode 100644 l10n_it_fatturapa_out_triple_discount/data/invoice_it_template.xml delete mode 100644 l10n_it_fatturapa_out_triple_discount/wizards/__init__.py delete mode 100644 l10n_it_fatturapa_out_triple_discount/wizards/wizard_export_fatturapa.py diff --git a/l10n_it_fatturapa_out/wizard/efattura.py b/l10n_it_fatturapa_out/wizard/efattura.py index 20d05977c8ab..104b9e94874c 100644 --- a/l10n_it_fatturapa_out/wizard/efattura.py +++ b/l10n_it_fatturapa_out/wizard/efattura.py @@ -174,12 +174,19 @@ def get_all_taxes(record): wiz = self.env["wizard.export.fatturapa"] return wiz.getAllTaxes(record) - def get_importo(line): - str_number = str(line.discount) + def get_importo(line, discount_field="discount"): + str_number = str(line[discount_field]) number = str_number[::-1].find(".") if number <= 2: return False - return line.price_unit * line.discount / 100 + if discount_field == "discount2": + price_unit = line.price_unit * (1 - line.discount / 100) + return price_unit * line[discount_field] / 100 + elif discount_field == "discount3": + price_unit = line.price_unit * (1 - line.discount / 100) + price_unit = price_unit * (1 - line.discount2 / 100) + return price_unit * line[discount_field] / 100 + return line.price_unit * line[discount_field] / 100 def get_importo_totale(invoice): # wrapper to a method in wizard (for better overriding) diff --git a/l10n_it_fatturapa_out_triple_discount/__init__.py b/l10n_it_fatturapa_out_triple_discount/__init__.py index 5b14fdf12d5e..e69de29bb2d1 100644 --- a/l10n_it_fatturapa_out_triple_discount/__init__.py +++ b/l10n_it_fatturapa_out_triple_discount/__init__.py @@ -1,2 +0,0 @@ - -from . import wizards diff --git a/l10n_it_fatturapa_out_triple_discount/__manifest__.py b/l10n_it_fatturapa_out_triple_discount/__manifest__.py index 25f347d9e2f5..cd8d19aa8359 100644 --- a/l10n_it_fatturapa_out_triple_discount/__manifest__.py +++ b/l10n_it_fatturapa_out_triple_discount/__manifest__.py @@ -2,10 +2,10 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { - 'name': 'ITA - Fattura elettronica - Integrazione sconto triplo', - "summary": "Modulo ponte tra emissione " - "fatture elettroniche e sconto triplo", - "version": "12.0.2.0.1", + + "name": "ITA - Fattura elettronica - Integrazione sconto triplo", + "summary": "Modulo ponte tra emissione " "fatture elettroniche e sconto triplo", + "version": "14.0.1.0.0", "development_status": "Beta", "category": "Hidden", 'website': 'https://github.com/OCA/l10n-italy' @@ -16,5 +16,8 @@ "depends": [ "l10n_it_fatturapa_out", "account_invoice_triple_discount", - ] + ], + "data": [ + "data/invoice_it_template.xml", + ], } diff --git a/l10n_it_fatturapa_out_triple_discount/data/invoice_it_template.xml b/l10n_it_fatturapa_out_triple_discount/data/invoice_it_template.xml new file mode 100644 index 000000000000..fc0c910dc1ba --- /dev/null +++ b/l10n_it_fatturapa_out_triple_discount/data/invoice_it_template.xml @@ -0,0 +1,43 @@ + + + diff --git a/l10n_it_fatturapa_out_triple_discount/wizards/__init__.py b/l10n_it_fatturapa_out_triple_discount/wizards/__init__.py deleted file mode 100644 index a5be93d64228..000000000000 --- a/l10n_it_fatturapa_out_triple_discount/wizards/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ - -from . import wizard_export_fatturapa diff --git a/l10n_it_fatturapa_out_triple_discount/wizards/wizard_export_fatturapa.py b/l10n_it_fatturapa_out_triple_discount/wizards/wizard_export_fatturapa.py deleted file mode 100644 index 4919f3aec8bc..000000000000 --- a/l10n_it_fatturapa_out_triple_discount/wizards/wizard_export_fatturapa.py +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 2019 Simone Rubino - Agile Business Group -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - -from odoo import models -from odoo.tools.float_utils import float_round -from odoo.addons.l10n_it_fatturapa.bindings.fatturapa import ( - ScontoMaggiorazioneType -) - - -class WizardExportFatturapa(models.TransientModel): - _inherit = "wizard.export.fatturapa" - - def setDettaglioLinea( - self, line_no, line, body, price_precision, uom_precision): - res = super(WizardExportFatturapa, self).setDettaglioLinea( - line_no, line, body, price_precision, uom_precision) - if line.discount2 or line.discount3: - DettaglioLinea = body.DatiBeniServizi.DettaglioLinee[-1] - if line.discount2: - DettaglioLinea.ScontoMaggiorazione.append( - ScontoMaggiorazioneType( - Tipo='SC', - Percentuale='%.2f' % float_round(line.discount2, 8) - )) - if line.discount3: - DettaglioLinea.ScontoMaggiorazione.append( - ScontoMaggiorazioneType( - Tipo='SC', - Percentuale='%.2f' % float_round(line.discount3, 8) - )) - return res From d85268de7be4feac88799910daf464da1bc5602a Mon Sep 17 00:00:00 2001 From: eLBati Date: Thu, 26 Oct 2023 12:24:07 +0200 Subject: [PATCH 27/28] [IMP] : black, isort, prettier --- .../README.rst | 12 +-- .../__manifest__.py | 7 +- .../static/description/index.html | 8 +- .../tests/__init__.py | 2 +- .../tests/data/IT06363391001_00001.xml | 7 +- .../tests/test_fatturapa_triple_discount.py | 74 ++++++++++--------- .../l10n_it_fatturapa_out_triple_discount | 1 + .../setup.py | 6 ++ 8 files changed, 66 insertions(+), 51 deletions(-) create mode 120000 setup/l10n_it_fatturapa_out_triple_discount/odoo/addons/l10n_it_fatturapa_out_triple_discount create mode 100644 setup/l10n_it_fatturapa_out_triple_discount/setup.py diff --git a/l10n_it_fatturapa_out_triple_discount/README.rst b/l10n_it_fatturapa_out_triple_discount/README.rst index e2bee8848290..5b9486d63fa7 100644 --- a/l10n_it_fatturapa_out_triple_discount/README.rst +++ b/l10n_it_fatturapa_out_triple_discount/README.rst @@ -7,7 +7,7 @@ ITA - Fattura elettronica - Integrazione sconto triplo !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:f7f9c9327831161dda944a73a3a7a2bf4c99a94f701c0952b2166bd06076cbbe + !! source digest: sha256:3652bd491ec5c99bbb9371877cd7903143ccbfc4a86053fd8f157a9f7fadca9c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -17,13 +17,13 @@ ITA - Fattura elettronica - Integrazione sconto triplo :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github - :target: https://github.com/OCA/l10n-italy/tree/12.0/l10n_it_fatturapa_out_triple_discount + :target: https://github.com/OCA/l10n-italy/tree/14.0/l10n_it_fatturapa_out_triple_discount :alt: OCA/l10n-italy .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/l10n-italy-12-0/l10n-italy-12-0-l10n_it_fatturapa_out_triple_discount + :target: https://translation.odoo-community.org/projects/l10n-italy-14-0/l10n-italy-14-0-l10n_it_fatturapa_out_triple_discount :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-italy&target_branch=12.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-italy&target_branch=14.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -47,7 +47,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -78,6 +78,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/l10n-italy `_ project on GitHub. +This module is part of the `OCA/l10n-italy `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/l10n_it_fatturapa_out_triple_discount/__manifest__.py b/l10n_it_fatturapa_out_triple_discount/__manifest__.py index cd8d19aa8359..3a17ef9e61ca 100644 --- a/l10n_it_fatturapa_out_triple_discount/__manifest__.py +++ b/l10n_it_fatturapa_out_triple_discount/__manifest__.py @@ -2,14 +2,13 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { - "name": "ITA - Fattura elettronica - Integrazione sconto triplo", - "summary": "Modulo ponte tra emissione " "fatture elettroniche e sconto triplo", + "summary": "Modulo ponte tra emissione fatture elettroniche e sconto triplo", "version": "14.0.1.0.0", "development_status": "Beta", "category": "Hidden", - 'website': 'https://github.com/OCA/l10n-italy' - '/tree/12.0/l10n_it_fatturapa_out_triple_discount', + "website": "https://github.com/OCA/l10n-italy" + "/tree/12.0/l10n_it_fatturapa_out_triple_discount", "author": "Agile Business Group, Odoo Community Association (OCA)", "license": "AGPL-3", "auto_install": True, diff --git a/l10n_it_fatturapa_out_triple_discount/static/description/index.html b/l10n_it_fatturapa_out_triple_discount/static/description/index.html index 07ae2d2b7709..890cfd869caa 100644 --- a/l10n_it_fatturapa_out_triple_discount/static/description/index.html +++ b/l10n_it_fatturapa_out_triple_discount/static/description/index.html @@ -367,9 +367,9 @@

ITA - Fattura elettronica - Integrazione sconto triplo

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:f7f9c9327831161dda944a73a3a7a2bf4c99a94f701c0952b2166bd06076cbbe +!! source digest: sha256:3652bd491ec5c99bbb9371877cd7903143ccbfc4a86053fd8f157a9f7fadca9c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runboat

Italiano

Questo modulo consente di generare correttamente la fattura elettronica (XML) quando il modulo account_invoice_triple_discount è installato.

English

@@ -391,7 +391,7 @@

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

@@ -416,7 +416,7 @@

Maintainers

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

-

This module is part of the OCA/l10n-italy project on GitHub.

+

This module is part of the OCA/l10n-italy project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

diff --git a/l10n_it_fatturapa_out_triple_discount/tests/__init__.py b/l10n_it_fatturapa_out_triple_discount/tests/__init__.py index 6e813458377d..b94706388956 100644 --- a/l10n_it_fatturapa_out_triple_discount/tests/__init__.py +++ b/l10n_it_fatturapa_out_triple_discount/tests/__init__.py @@ -3,4 +3,4 @@ # tests disabled because unstable # TODO https://github.com/OCA/l10n-italy/issues/1588 -#from . import test_fatturapa_triple_discount +# from . import test_fatturapa_triple_discount diff --git a/l10n_it_fatturapa_out_triple_discount/tests/data/IT06363391001_00001.xml b/l10n_it_fatturapa_out_triple_discount/tests/data/IT06363391001_00001.xml index 588bf53a0853..f8c8ead0c09f 100644 --- a/l10n_it_fatturapa_out_triple_discount/tests/data/IT06363391001_00001.xml +++ b/l10n_it_fatturapa_out_triple_discount/tests/data/IT06363391001_00001.xml @@ -1,7 +1,8 @@ - + + xmlns:ns1="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" + versione="FPA12" +> diff --git a/l10n_it_fatturapa_out_triple_discount/tests/test_fatturapa_triple_discount.py b/l10n_it_fatturapa_out_triple_discount/tests/test_fatturapa_triple_discount.py index 01e1ed61d6f8..fa981de83676 100644 --- a/l10n_it_fatturapa_out_triple_discount/tests/test_fatturapa_triple_discount.py +++ b/l10n_it_fatturapa_out_triple_discount/tests/test_fatturapa_triple_discount.py @@ -2,49 +2,57 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). import codecs -from odoo.addons.l10n_it_fatturapa_out.tests.fatturapa_common import ( - FatturaPACommon) +from odoo.addons.l10n_it_fatturapa_out.tests.fatturapa_common import FatturaPACommon -class TestInvoiceTripleDiscount(FatturaPACommon): +class TestInvoiceTripleDiscount(FatturaPACommon): def setUp(self): super(TestInvoiceTripleDiscount, self).setUp() def test_xml_export_triple_discount(self): - self.set_sequences(13, '2016-01-07') - invoice = self.invoice_model.create({ - 'date_invoice': '2016-01-07', - 'partner_id': self.res_partner_fatturapa_0.id, - 'journal_id': self.sales_journal.id, - 'account_id': self.a_recv.id, - 'payment_term_id': self.account_payment_term.id, - 'user_id': self.user_demo.id, - 'type': 'out_invoice', - 'currency_id': self.EUR.id, - 'invoice_line_ids': [ - (0, 0, { - 'account_id': self.a_sale.id, - 'product_id': self.product_product_10.id, - 'name': 'Mouse\nOptical', - 'quantity': 1, - 'uom_id': self.product_uom_unit.id, - 'price_unit': 10, - 'discount': 50, - 'discount2': 50, - 'discount3': 50, - 'invoice_line_tax_ids': [(6, 0, { - self.tax_22.id})] - })], - }) + self.set_sequences(13, "2016-01-07") + invoice = self.invoice_model.create( + { + "date_invoice": "2016-01-07", + "partner_id": self.res_partner_fatturapa_0.id, + "journal_id": self.sales_journal.id, + "account_id": self.a_recv.id, + "payment_term_id": self.account_payment_term.id, + "user_id": self.user_demo.id, + "type": "out_invoice", + "currency_id": self.EUR.id, + "invoice_line_ids": [ + ( + 0, + 0, + { + "account_id": self.a_sale.id, + "product_id": self.product_product_10.id, + "name": "Mouse\nOptical", + "quantity": 1, + "uom_id": self.product_uom_unit.id, + "price_unit": 10, + "discount": 50, + "discount2": 50, + "discount3": 50, + "invoice_line_tax_ids": [(6, 0, {self.tax_22.id})], + }, + ) + ], + } + ) invoice.action_invoice_open() res = self.run_wizard(invoice.id) self.assertTrue(res) - attachment = self.attach_model.browse(res['res_id']) - self.set_e_invoice_file_id(attachment, 'IT06363391001_00001.xml') + attachment = self.attach_model.browse(res["res_id"]) + self.set_e_invoice_file_id(attachment, "IT06363391001_00001.xml") # XML doc to be validated - xml_content = codecs.decode(attachment.datas, 'base64') - self.check_content(xml_content, 'IT06363391001_00001.xml', - module_name='l10n_it_fatturapa_out_triple_discount') + xml_content = codecs.decode(attachment.datas, "base64") + self.check_content( + xml_content, + "IT06363391001_00001.xml", + module_name="l10n_it_fatturapa_out_triple_discount", + ) diff --git a/setup/l10n_it_fatturapa_out_triple_discount/odoo/addons/l10n_it_fatturapa_out_triple_discount b/setup/l10n_it_fatturapa_out_triple_discount/odoo/addons/l10n_it_fatturapa_out_triple_discount new file mode 120000 index 000000000000..d9a703866cc5 --- /dev/null +++ b/setup/l10n_it_fatturapa_out_triple_discount/odoo/addons/l10n_it_fatturapa_out_triple_discount @@ -0,0 +1 @@ +../../../../l10n_it_fatturapa_out_triple_discount \ No newline at end of file diff --git a/setup/l10n_it_fatturapa_out_triple_discount/setup.py b/setup/l10n_it_fatturapa_out_triple_discount/setup.py new file mode 100644 index 000000000000..28c57bb64031 --- /dev/null +++ b/setup/l10n_it_fatturapa_out_triple_discount/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From 8dd0e032612f3eec3363803f4bcc515e984aab69 Mon Sep 17 00:00:00 2001 From: eLBati Date: Tue, 31 Oct 2023 07:24:49 +0100 Subject: [PATCH 28/28] FIX tests based on account_invoice_triple_discount --- l10n_it_fatturapa_in/models/account.py | 4 +++- .../tests/test_import_fatturapa_xml.py | 14 +++++++------- l10n_it_ricevute_bancarie/tests/test_riba.py | 2 +- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/l10n_it_fatturapa_in/models/account.py b/l10n_it_fatturapa_in/models/account.py index 4c3f2e578628..587d425733ed 100644 --- a/l10n_it_fatturapa_in/models/account.py +++ b/l10n_it_fatturapa_in/models/account.py @@ -320,6 +320,8 @@ def set_einvoice_data(self, fattura): def process_negative_lines(self): self.ensure_one() + if not self.invoice_line_ids: + return for line in self.invoice_line_ids: if line.price_unit >= 0: return @@ -329,7 +331,7 @@ def process_negative_lines(self): {"price_unit": -line.price_unit} ) self.with_context(check_move_validity=False)._recompute_dynamic_lines( - recompute_all_taxes=True + recompute_all_taxes=True, recompute_tax_base_amount=True ) diff --git a/l10n_it_fatturapa_in/tests/test_import_fatturapa_xml.py b/l10n_it_fatturapa_in/tests/test_import_fatturapa_xml.py index 2c6da7820602..6dceb15ff024 100644 --- a/l10n_it_fatturapa_in/tests/test_import_fatturapa_xml.py +++ b/l10n_it_fatturapa_in/tests/test_import_fatturapa_xml.py @@ -52,7 +52,7 @@ def test_00_xml_import(self): welfare_found = False for line in invoice.invoice_line_ids: if line.product_id.id == self.service.id: - self.assertEqual(line.price_unit, 3) + self.assertAlmostEqual(line.price_unit, 3) welfare_found = True self.assertTrue(welfare_found) self.assertTrue(len(invoice.e_invoice_line_ids) == 1) @@ -135,7 +135,7 @@ def test_04_xml_import(self): self.assertEqual(invoice.invoice_line_ids[1].tax_ids[0].name, "22% e-bill") self.assertEqual(invoice.invoice_line_ids[0].tax_ids[0].amount, 22) self.assertEqual(invoice.invoice_line_ids[1].tax_ids[0].amount, 22) - self.assertEqual(invoice.invoice_line_ids[1].price_unit, 2) + self.assertAlmostEqual(invoice.invoice_line_ids[1].price_unit, 2) self.assertTrue(len(invoice.e_invoice_line_ids) == 2) for e_line in invoice.e_invoice_line_ids: self.assertTrue(e_line.line_number in (1, 2)) @@ -648,10 +648,10 @@ def test_32_xml_import(self): invoice = self.invoice_model.browse(invoice_id) self.assertEqual(invoice.move_type, "in_refund") self.assertEqual(invoice.amount_total, 18.3) - self.assertEqual(invoice.invoice_line_ids[0].price_unit, 2.0) + self.assertAlmostEqual(invoice.invoice_line_ids[0].price_unit, 2.0) self.assertEqual(invoice.invoice_line_ids[0].quantity, 10.0) self.assertEqual(invoice.invoice_line_ids[0].price_subtotal, 20.0) - self.assertEqual(invoice.invoice_line_ids[1].price_unit, -1.0) + self.assertAlmostEqual(invoice.invoice_line_ids[1].price_unit, -1.0) self.assertEqual(invoice.invoice_line_ids[1].quantity, 5.0) self.assertEqual(invoice.invoice_line_ids[1].price_subtotal, -5.0) @@ -662,7 +662,7 @@ def test_33_xml_import(self): invoice = self.invoice_model.browse(invoice_id) self.assertEqual(invoice.move_type, "in_refund") self.assertEqual(round(invoice.amount_total, 2), 24.4) - self.assertEqual(invoice.invoice_line_ids[0].price_unit, 2.0) + self.assertAlmostEqual(invoice.invoice_line_ids[0].price_unit, 2.0) self.assertEqual(invoice.invoice_line_ids[0].quantity, 10.0) self.assertEqual(invoice.invoice_line_ids[0].price_subtotal, 20.0) self.assertEqual(invoice.e_invoice_amount_untaxed, -20.0) @@ -815,7 +815,7 @@ def test_46_xml_many_zeros(self): invoice_id = res.get("domain")[0][2][0] invoice = self.invoice_model.browse(invoice_id) self.assertEqual(invoice.amount_total, 18.07) - self.assertEqual(invoice.invoice_line_ids[0].price_unit, 18.07) + self.assertAlmostEqual(invoice.invoice_line_ids[0].price_unit, 18.07) self.assertEqual(invoice.invoice_line_ids[0].quantity, 1.0) self.assertEqual(invoice.invoice_line_ids[0].price_subtotal, 18.07) self.assertEqual(invoice.invoice_line_ids[1].price_unit, 16.60) @@ -1074,7 +1074,7 @@ def test_xml_import_summary_tax_rate(self): self.assertEqual(invoice.invoice_line_ids[0].price_unit, 164.46) self.assertEqual(invoice.invoice_line_ids[0].quantity, 1.0) - self.assertEqual(invoice.invoice_line_ids[1].price_unit, 3.52) + self.assertAlmostEqual(invoice.invoice_line_ids[1].price_unit, 3.52) self.assertEqual(invoice.invoice_line_ids[1].quantity, 1.0) def test_e_invoice_field_compute(self): diff --git a/l10n_it_ricevute_bancarie/tests/test_riba.py b/l10n_it_ricevute_bancarie/tests/test_riba.py index a69031a471c4..edbef4c769b0 100644 --- a/l10n_it_ricevute_bancarie/tests/test_riba.py +++ b/l10n_it_ricevute_bancarie/tests/test_riba.py @@ -31,7 +31,7 @@ def test_add_due_cost(self): self.invoice.invoice_line_ids[2].product_id.id, self.service_due_cost.id ) # ---- Test Cost line is equal to 10.00 - self.assertEqual( + self.assertAlmostEqual( ( self.invoice.invoice_line_ids[1].price_unit + self.invoice.invoice_line_ids[2].price_unit