From 79c4a19d8d84490c32d1394bf0c4082c0c0d0026 Mon Sep 17 00:00:00 2001 From: David Vidal Date: Wed, 20 Aug 2025 10:38:18 +0200 Subject: [PATCH 1/4] [ADD] sale_order_report_hide_tax: new module MT-11205 --- sale_order_report_hide_tax/README.rst | 113 +++++ sale_order_report_hide_tax/__init__.py | 1 + sale_order_report_hide_tax/__manifest__.py | 17 + sale_order_report_hide_tax/i18n/it.po | 27 ++ .../i18n/sale_order_report_hide_tax.pot | 24 + sale_order_report_hide_tax/models/__init__.py | 1 + .../models/sale_order.py | 22 + sale_order_report_hide_tax/readme/CONTEXT.md | 5 + .../readme/CONTRIBUTORS.md | 1 + .../readme/DESCRIPTION.md | 1 + sale_order_report_hide_tax/readme/USAGE.md | 2 + .../reports/sale_order_report_template.xml | 14 + .../static/description/icon.png | Bin 0 -> 10254 bytes .../static/description/index.html | 453 ++++++++++++++++++ 14 files changed, 681 insertions(+) create mode 100644 sale_order_report_hide_tax/README.rst create mode 100644 sale_order_report_hide_tax/__init__.py create mode 100644 sale_order_report_hide_tax/__manifest__.py create mode 100644 sale_order_report_hide_tax/i18n/it.po create mode 100644 sale_order_report_hide_tax/i18n/sale_order_report_hide_tax.pot create mode 100644 sale_order_report_hide_tax/models/__init__.py create mode 100644 sale_order_report_hide_tax/models/sale_order.py create mode 100644 sale_order_report_hide_tax/readme/CONTEXT.md create mode 100644 sale_order_report_hide_tax/readme/CONTRIBUTORS.md create mode 100644 sale_order_report_hide_tax/readme/DESCRIPTION.md create mode 100644 sale_order_report_hide_tax/readme/USAGE.md create mode 100644 sale_order_report_hide_tax/reports/sale_order_report_template.xml create mode 100644 sale_order_report_hide_tax/static/description/icon.png create mode 100644 sale_order_report_hide_tax/static/description/index.html diff --git a/sale_order_report_hide_tax/README.rst b/sale_order_report_hide_tax/README.rst new file mode 100644 index 000000000..58062f322 --- /dev/null +++ b/sale_order_report_hide_tax/README.rst @@ -0,0 +1,113 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +================================== +Sale order line hide tax in report +================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:c3f8c634c1fae23b76f78082b36599f63225f7b3b09f33d3e5fa90f5b185f557 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png + :target: https://odoo-community.org/page/development-status + :alt: Alpha +.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsale--reporting-lightgray.png?logo=github + :target: https://github.com/OCA/sale-reporting/tree/16.0/sale_order_report_hide_tax + :alt: OCA/sale-reporting +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/sale-reporting-16-0/sale-reporting-16-0-sale_order_report_hide_tax + :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/sale-reporting&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Hide taxes column in the quotation document that is sent to the +customer. + +.. IMPORTANT:: + This is an alpha version, the data model and design can change at any time without warning. + Only for development or testing purpose, do not use in production. + `More details on development status `_ + +**Table of contents** + +.. contents:: + :local: + +Use Cases / Context +=================== + +When the taxes are the same in every sales line, that information might +be redundant with the taxes summary and takes valuable space that other +columns might take. + +This might be event more annoying when there's tax exemptions like in EU +intracomunitary operations. + +Usage +===== + +Whenever the taxes are in the same group for the whole order the column +won't be displayed. + +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 `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Moduon + +Contributors +------------ + +- David Vidal (``Moduon ``\ \_\_) + +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. + +.. |maintainer-chienandalu| image:: https://github.com/chienandalu.png?size=40px + :target: https://github.com/chienandalu + :alt: chienandalu +.. |maintainer-rafaelbn| image:: https://github.com/rafaelbn.png?size=40px + :target: https://github.com/rafaelbn + :alt: rafaelbn + +Current `maintainers `__: + +|maintainer-chienandalu| |maintainer-rafaelbn| + +This module is part of the `OCA/sale-reporting `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/sale_order_report_hide_tax/__init__.py b/sale_order_report_hide_tax/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/sale_order_report_hide_tax/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/sale_order_report_hide_tax/__manifest__.py b/sale_order_report_hide_tax/__manifest__.py new file mode 100644 index 000000000..b4f935105 --- /dev/null +++ b/sale_order_report_hide_tax/__manifest__.py @@ -0,0 +1,17 @@ +# Copyright 2025 Moduon Team S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0) +{ + "name": "Sale order line hide tax in report", + "summary": "Hide taxes column when they don't add value", + "version": "16.0.1.0.1", + "development_status": "Alpha", + "category": "Sales", + "website": "https://github.com/OCA/sale-reporting", + "author": "Moduon, Odoo Community Association (OCA)", + "maintainers": ["chienandalu", "rafaelbn"], + "license": "LGPL-3", + "depends": ["sale"], + "data": [ + "reports/sale_order_report_template.xml", + ], +} diff --git a/sale_order_report_hide_tax/i18n/it.po b/sale_order_report_hide_tax/i18n/it.po new file mode 100644 index 000000000..d7f4c2c7f --- /dev/null +++ b/sale_order_report_hide_tax/i18n/it.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_order_report_hide_tax +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-10-22 07:34+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.10.4\n" + +#. module: sale_order_report_hide_tax +#: model:ir.model,name:sale_order_report_hide_tax.model_sale_order +msgid "Sales Order" +msgstr "Ordine di vendita" + +#. module: sale_order_report_hide_tax +#: model:ir.model.fields,field_description:sale_order_report_hide_tax.field_sale_order__show_tax_column_in_report +msgid "Show Tax Column In Report" +msgstr "Visualizza colonna imposta nel resoconto" diff --git a/sale_order_report_hide_tax/i18n/sale_order_report_hide_tax.pot b/sale_order_report_hide_tax/i18n/sale_order_report_hide_tax.pot new file mode 100644 index 000000000..1a243e05f --- /dev/null +++ b/sale_order_report_hide_tax/i18n/sale_order_report_hide_tax.pot @@ -0,0 +1,24 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_order_report_hide_tax +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.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: sale_order_report_hide_tax +#: model:ir.model,name:sale_order_report_hide_tax.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_order_report_hide_tax +#: model:ir.model.fields,field_description:sale_order_report_hide_tax.field_sale_order__show_tax_column_in_report +msgid "Show Tax Column In Report" +msgstr "" diff --git a/sale_order_report_hide_tax/models/__init__.py b/sale_order_report_hide_tax/models/__init__.py new file mode 100644 index 000000000..6aacb7531 --- /dev/null +++ b/sale_order_report_hide_tax/models/__init__.py @@ -0,0 +1 @@ +from . import sale_order diff --git a/sale_order_report_hide_tax/models/sale_order.py b/sale_order_report_hide_tax/models/sale_order.py new file mode 100644 index 000000000..8412f7b94 --- /dev/null +++ b/sale_order_report_hide_tax/models/sale_order.py @@ -0,0 +1,22 @@ +# Copyright 2025 Moduon Team S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0) +from odoo import fields, models + + +class SaleOrder(models.Model): + _inherit = "sale.order" + + show_tax_column_in_report = fields.Boolean( + compute="_compute_show_tax_column_in_report" + ) + + def _compute_show_tax_column_in_report(self): + self.show_tax_column_in_report = True + for order in self.filtered("order_line"): + order_lines = order.order_line.filtered(lambda x: not x.display_type) + # Can be a recordset if several taxes apply + first_line_tax_group = fields.first(order_lines).tax_id.tax_group_id + # Mixed group taxes, let's show them for clarity + order.show_tax_column_in_report = ( + first_line_tax_group != order_lines.tax_id.tax_group_id + ) diff --git a/sale_order_report_hide_tax/readme/CONTEXT.md b/sale_order_report_hide_tax/readme/CONTEXT.md new file mode 100644 index 000000000..e19882e73 --- /dev/null +++ b/sale_order_report_hide_tax/readme/CONTEXT.md @@ -0,0 +1,5 @@ +When the taxes are the same in every sales line, that information might be redundant +with the taxes summary and takes valuable space that other columns might take. + +This might be event more annoying when there's tax exemptions like in EU intracomunitary +operations. diff --git a/sale_order_report_hide_tax/readme/CONTRIBUTORS.md b/sale_order_report_hide_tax/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..05262c2b8 --- /dev/null +++ b/sale_order_report_hide_tax/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +* David Vidal (`Moduon `__) diff --git a/sale_order_report_hide_tax/readme/DESCRIPTION.md b/sale_order_report_hide_tax/readme/DESCRIPTION.md new file mode 100644 index 000000000..8832e62bb --- /dev/null +++ b/sale_order_report_hide_tax/readme/DESCRIPTION.md @@ -0,0 +1 @@ +Hide taxes column in the quotation document that is sent to the customer. diff --git a/sale_order_report_hide_tax/readme/USAGE.md b/sale_order_report_hide_tax/readme/USAGE.md new file mode 100644 index 000000000..b85e5c98f --- /dev/null +++ b/sale_order_report_hide_tax/readme/USAGE.md @@ -0,0 +1,2 @@ +Whenever the taxes are in the same group for the whole order the column won't be +displayed. diff --git a/sale_order_report_hide_tax/reports/sale_order_report_template.xml b/sale_order_report_hide_tax/reports/sale_order_report_template.xml new file mode 100644 index 000000000..c9441c2a2 --- /dev/null +++ b/sale_order_report_hide_tax/reports/sale_order_report_template.xml @@ -0,0 +1,14 @@ + + + + diff --git a/sale_order_report_hide_tax/static/description/icon.png b/sale_order_report_hide_tax/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1dcc49c24f364e9adf0afbc6fc0bac6dbecdeb11 GIT binary patch literal 10254 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 + + + + +README.rst + + + +
+ + + +Odoo Community Association + +
+

Sale order line hide tax in report

+ +

Alpha License: LGPL-3 OCA/sale-reporting Translate me on Weblate Try me on Runboat

+

Hide taxes column in the quotation document that is sent to the +customer.

+
+

Important

+

This is an alpha version, the data model and design can change at any time without warning. +Only for development or testing purpose, do not use in production. +More details on development status

+
+

Table of contents

+ +
+

Use Cases / Context

+

When the taxes are the same in every sales line, that information might +be redundant with the taxes summary and takes valuable space that other +columns might take.

+

This might be event more annoying when there’s tax exemptions like in EU +intracomunitary operations.

+
+
+

Usage

+

Whenever the taxes are in the same group for the whole order the column +won’t be displayed.

+
+
+

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.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Moduon
  • +
+
+
+

Contributors

+
    +
  • David Vidal (Moduon <https://www.moduon.team/>__)
  • +
+
+
+

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.

+

Current maintainers:

+

chienandalu rafaelbn

+

This module is part of the OCA/sale-reporting project on GitHub.

+

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

+
+
+
+
+ + From 86be508478fdf970c15bbff68ac56f17418e14ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sabrina=20Mart=C3=ADn?= Date: Thu, 18 Dec 2025 16:02:33 +0000 Subject: [PATCH 2/4] [IMP] sale_order_report_hide_tax: pre-commit auto fixes --- sale_order_report_hide_tax/pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 sale_order_report_hide_tax/pyproject.toml diff --git a/sale_order_report_hide_tax/pyproject.toml b/sale_order_report_hide_tax/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/sale_order_report_hide_tax/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" From 8cbc1195533d8cf648f689f6638006fda8150a78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sabrina=20Mart=C3=ADn?= Date: Mon, 22 Dec 2025 11:18:53 +0000 Subject: [PATCH 3/4] [MIG] sale_order_report_hide_tax: Migration to 18.0 --- sale_order_report_hide_tax/README.rst | 19 +-- sale_order_report_hide_tax/__manifest__.py | 2 +- .../models/sale_order.py | 5 +- .../readme/CONTRIBUTORS.md | 3 +- .../reports/sale_order_report_template.xml | 13 +- .../static/description/index.html | 35 ++-- sale_order_report_hide_tax/tests/__init__.py | 1 + .../tests/test_show_tax_column.py | 161 ++++++++++++++++++ 8 files changed, 201 insertions(+), 38 deletions(-) create mode 100644 sale_order_report_hide_tax/tests/__init__.py create mode 100644 sale_order_report_hide_tax/tests/test_show_tax_column.py diff --git a/sale_order_report_hide_tax/README.rst b/sale_order_report_hide_tax/README.rst index 58062f322..766552da7 100644 --- a/sale_order_report_hide_tax/README.rst +++ b/sale_order_report_hide_tax/README.rst @@ -1,7 +1,3 @@ -.. image:: https://odoo-community.org/readme-banner-image - :target: https://odoo-community.org/get-involved?utm_source=readme - :alt: Odoo Community Association - ================================== Sale order line hide tax in report ================================== @@ -17,17 +13,17 @@ Sale order line hide tax in report .. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png :target: https://odoo-community.org/page/development-status :alt: Alpha -.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html :alt: License: LGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsale--reporting-lightgray.png?logo=github - :target: https://github.com/OCA/sale-reporting/tree/16.0/sale_order_report_hide_tax + :target: https://github.com/OCA/sale-reporting/tree/18.0/sale_order_report_hide_tax :alt: OCA/sale-reporting .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/sale-reporting-16-0/sale-reporting-16-0-sale_order_report_hide_tax + :target: https://translation.odoo-community.org/projects/sale-reporting-18-0/sale-reporting-18-0-sale_order_report_hide_tax :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/sale-reporting&target_branch=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/sale-reporting&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -67,7 +63,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. @@ -82,7 +78,8 @@ Authors Contributors ------------ -- David Vidal (``Moduon ``\ \_\_) +- David Vidal (`Moduon `__) +- Sabrina Rodriguez (`Moduon `__) Maintainers ----------- @@ -108,6 +105,6 @@ Current `maintainers `__: |maintainer-chienandalu| |maintainer-rafaelbn| -This module is part of the `OCA/sale-reporting `_ project on GitHub. +This module is part of the `OCA/sale-reporting `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/sale_order_report_hide_tax/__manifest__.py b/sale_order_report_hide_tax/__manifest__.py index b4f935105..d54e575d9 100644 --- a/sale_order_report_hide_tax/__manifest__.py +++ b/sale_order_report_hide_tax/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Sale order line hide tax in report", "summary": "Hide taxes column when they don't add value", - "version": "16.0.1.0.1", + "version": "18.0.1.0.1", "development_status": "Alpha", "category": "Sales", "website": "https://github.com/OCA/sale-reporting", diff --git a/sale_order_report_hide_tax/models/sale_order.py b/sale_order_report_hide_tax/models/sale_order.py index 8412f7b94..8092b68bb 100644 --- a/sale_order_report_hide_tax/models/sale_order.py +++ b/sale_order_report_hide_tax/models/sale_order.py @@ -14,9 +14,8 @@ def _compute_show_tax_column_in_report(self): self.show_tax_column_in_report = True for order in self.filtered("order_line"): order_lines = order.order_line.filtered(lambda x: not x.display_type) - # Can be a recordset if several taxes apply first_line_tax_group = fields.first(order_lines).tax_id.tax_group_id # Mixed group taxes, let's show them for clarity - order.show_tax_column_in_report = ( - first_line_tax_group != order_lines.tax_id.tax_group_id + order.show_tax_column_in_report = any( + first_line_tax_group != line.tax_id.tax_group_id for line in order_lines ) diff --git a/sale_order_report_hide_tax/readme/CONTRIBUTORS.md b/sale_order_report_hide_tax/readme/CONTRIBUTORS.md index 05262c2b8..9555d5fed 100644 --- a/sale_order_report_hide_tax/readme/CONTRIBUTORS.md +++ b/sale_order_report_hide_tax/readme/CONTRIBUTORS.md @@ -1 +1,2 @@ -* David Vidal (`Moduon `__) +- David Vidal ([Moduon](https://www.moduon.team/)) +- Sabrina Rodriguez ([Moduon](https://www.moduon.team/)) diff --git a/sale_order_report_hide_tax/reports/sale_order_report_template.xml b/sale_order_report_hide_tax/reports/sale_order_report_template.xml index c9441c2a2..10492c07a 100644 --- a/sale_order_report_hide_tax/reports/sale_order_report_template.xml +++ b/sale_order_report_hide_tax/reports/sale_order_report_template.xml @@ -3,12 +3,21 @@ diff --git a/sale_order_report_hide_tax/static/description/index.html b/sale_order_report_hide_tax/static/description/index.html index 9125773e3..670c73cf4 100644 --- a/sale_order_report_hide_tax/static/description/index.html +++ b/sale_order_report_hide_tax/static/description/index.html @@ -3,7 +3,7 @@ -README.rst +Sale order line hide tax in report -
+
+

Sale order line hide tax in report

- - -Odoo Community Association - -
-

Sale order line hide tax in report

-

Alpha License: LGPL-3 OCA/sale-reporting Translate me on Weblate Try me on Runboat

+

Alpha License: LGPL-3 OCA/sale-reporting Translate me on Weblate Try me on Runboat

Hide taxes column in the quotation document that is sent to the customer.

@@ -398,7 +393,7 @@

Sale order line hide tax in report

-

Use Cases / Context

+

Use Cases / Context

When the taxes are the same in every sales line, that information might be redundant with the taxes summary and takes valuable space that other columns might take.

@@ -406,34 +401,35 @@

Use Cases / Context

intracomunitary operations.

-

Usage

+

Usage

Whenever the taxes are in the same group for the whole order the column won’t be displayed.

-

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 to smash it by providing a detailed and welcomed -feedback.

+feedback.

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

-

Credits

+

Credits

-

Authors

+

Authors

  • Moduon
-

Contributors

+

Contributors

    -
  • David Vidal (Moduon <https://www.moduon.team/>__)
  • +
  • David Vidal (Moduon)
  • +
  • Sabrina Rodriguez (Moduon)
-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -443,11 +439,10 @@

Maintainers

promote its widespread use.

Current maintainers:

chienandalu rafaelbn

-

This module is part of the OCA/sale-reporting project on GitHub.

+

This module is part of the OCA/sale-reporting project on GitHub.

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

-
diff --git a/sale_order_report_hide_tax/tests/__init__.py b/sale_order_report_hide_tax/tests/__init__.py new file mode 100644 index 000000000..bb1d2accc --- /dev/null +++ b/sale_order_report_hide_tax/tests/__init__.py @@ -0,0 +1 @@ +from . import test_show_tax_column diff --git a/sale_order_report_hide_tax/tests/test_show_tax_column.py b/sale_order_report_hide_tax/tests/test_show_tax_column.py new file mode 100644 index 000000000..ffac2bdfb --- /dev/null +++ b/sale_order_report_hide_tax/tests/test_show_tax_column.py @@ -0,0 +1,161 @@ +# Copyright 2025 Moduon Team S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0) +from odoo import Command + +from odoo.addons.base.tests.common import BaseCommon + + +class TestShowTaxColumnInReport(BaseCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.partner = cls.env["res.partner"].create( + { + "name": "Test Partner", + } + ) + cls.product = cls.env["product.product"].create( + { + "name": "Test Product", + } + ) + cls.tax_group_1 = cls.env["account.tax.group"].create( + { + "name": "VAT Group 1", + } + ) + cls.tax_group_2 = cls.env["account.tax.group"].create( + { + "name": "VAT Group 2", + } + ) + cls.tax_group_3 = cls.env["account.tax.group"].create( + { + "name": "VAT Group 3", + } + ) + cls.tax_1 = cls.env["account.tax"].create( + { + "name": "Tax 1", + "amount": 10, + "amount_type": "percent", + "tax_group_id": cls.tax_group_1.id, + } + ) + cls.tax_2 = cls.env["account.tax"].create( + { + "name": "Tax 2", + "amount": 5, + "amount_type": "percent", + "tax_group_id": cls.tax_group_2.id, + } + ) + cls.tax_3 = cls.env["account.tax"].create( + { + "name": "Tax 3", + "amount": 5, + "amount_type": "percent", + "tax_group_id": cls.tax_group_2.id, + } + ) + cls.order = cls.env["sale.order"].create( + { + "partner_id": cls.partner.id, + } + ) + cls.report = cls.env["ir.actions.report"]._get_report_from_name( + "sale.report_saleorder" + ) + + def test_same_tax_group_hides_tax_column(self): + self.order.order_line = [ + Command.clear(), + Command.create( + { + "product_id": self.product.id, + "name": "Line 1", + "product_uom_qty": 1, + "price_unit": 100, + "tax_id": [(6, 0, [self.tax_1.id])], + } + ), + Command.create( + { + "product_id": self.product.id, + "name": "Line 2", + "product_uom_qty": 1, + "price_unit": 50, + "tax_id": [(6, 0, [self.tax_1.id])], + } + ), + ] + result = self.report._render_qweb_html("sale.report_saleorder", [self.order.id]) + html = result[0].decode("utf-8") + self.assertNotIn( + "Taxes", + html, + """Tax column should be hidden when all taxes + belong to the same tax group""", + ) + + def test_mixed_tax_groups_show_tax_column(self): + self.order.order_line = [ + Command.clear(), + Command.create( + { + "product_id": self.product.id, + "name": "Line 1", + "product_uom_qty": 1, + "price_unit": 100, + "tax_id": [(6, 0, [self.tax_1.id])], + } + ), + Command.create( + { + "product_id": self.product.id, + "name": "Line 2", + "product_uom_qty": 1, + "price_unit": 50, + "tax_id": [(6, 0, [self.tax_2.id])], + } + ), + ] + result = self.report._render_qweb_html("sale.report_saleorder", [self.order.id]) + html = result[0].decode("utf-8") + self.assertIn( + "Taxes", + html, + """The tax column should be displayed when taxes + belong to different tax groups""", + ) + + def test_mixed_tax_groups_single_line_sow_tax_column(self): + self.order.order_line = [ + Command.clear(), + Command.create( + { + "product_id": self.product.id, + "name": "Line 1", + "product_uom_qty": 1, + "price_unit": 100, + "tax_id": [(6, 0, [self.tax_1.id, self.tax_2.id])], + } + ), + Command.create( + { + "product_id": self.product.id, + "name": "Line 1", + "product_uom_qty": 1, + "price_unit": 100, + "tax_id": [(6, 0, [self.tax_3.id])], + } + ), + ] + result = self.report._render_qweb_html("sale.report_saleorder", [self.order.id]) + html = result[0].decode("utf-8") + self.assertIn( + "Taxes", + html, + """The tax column should be displayed when taxes + belong to different tax groups""", + ) From 077cece366d855df436ec1fd5e3288cb5842bb40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sabrina=20Mart=C3=ADn?= Date: Thu, 15 Jan 2026 09:15:07 +0000 Subject: [PATCH 4/4] [IMP] sale_order_report_hide_tax: Improve README file --- sale_order_report_hide_tax/README.rst | 12 +++++++++++- sale_order_report_hide_tax/readme/DESCRIPTION.md | 1 + sale_order_report_hide_tax/readme/USAGE.md | 8 ++++++++ .../static/description/index.html | 10 +++++++++- 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/sale_order_report_hide_tax/README.rst b/sale_order_report_hide_tax/README.rst index 766552da7..7fbd7844e 100644 --- a/sale_order_report_hide_tax/README.rst +++ b/sale_order_report_hide_tax/README.rst @@ -29,7 +29,9 @@ Sale order line hide tax in report |badge1| |badge2| |badge3| |badge4| |badge5| Hide taxes column in the quotation document that is sent to the -customer. +customer. When all quotation lines have the same tax group, the Taxes +column is automatically hidden to avoid displaying redundant information +and to improve document clarity. .. IMPORTANT:: This is an alpha version, the data model and design can change at any time without warning. @@ -57,6 +59,14 @@ Usage Whenever the taxes are in the same group for the whole order the column won't be displayed. +The module performs the following validation: - It checks that all order +lines have the same tax group. - It does not validate if the taxes +within the same line are different. + +**Result:** - If all tax groups are the same, the Taxes column is hidden +in the printed or sent quotation. - If at least one line has a different +tax group, the Taxes column is displayed as usual. + Bug Tracker =========== diff --git a/sale_order_report_hide_tax/readme/DESCRIPTION.md b/sale_order_report_hide_tax/readme/DESCRIPTION.md index 8832e62bb..1b7cdd1e0 100644 --- a/sale_order_report_hide_tax/readme/DESCRIPTION.md +++ b/sale_order_report_hide_tax/readme/DESCRIPTION.md @@ -1 +1,2 @@ Hide taxes column in the quotation document that is sent to the customer. +When all quotation lines have the same tax group, the Taxes column is automatically hidden to avoid displaying redundant information and to improve document clarity. \ No newline at end of file diff --git a/sale_order_report_hide_tax/readme/USAGE.md b/sale_order_report_hide_tax/readme/USAGE.md index b85e5c98f..f0959970e 100644 --- a/sale_order_report_hide_tax/readme/USAGE.md +++ b/sale_order_report_hide_tax/readme/USAGE.md @@ -1,2 +1,10 @@ Whenever the taxes are in the same group for the whole order the column won't be displayed. + +The module performs the following validation: + - It checks that all order lines have the same tax group. + - It does not validate if the taxes within the same line are different. + +**Result:** + - If all tax groups are the same, the Taxes column is hidden in the printed or sent quotation. + - If at least one line has a different tax group, the Taxes column is displayed as usual. \ No newline at end of file diff --git a/sale_order_report_hide_tax/static/description/index.html b/sale_order_report_hide_tax/static/description/index.html index 670c73cf4..3540e4063 100644 --- a/sale_order_report_hide_tax/static/description/index.html +++ b/sale_order_report_hide_tax/static/description/index.html @@ -371,7 +371,9 @@

Sale order line hide tax in report

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Alpha License: LGPL-3 OCA/sale-reporting Translate me on Weblate Try me on Runboat

Hide taxes column in the quotation document that is sent to the -customer.

+customer. When all quotation lines have the same tax group, the Taxes +column is automatically hidden to avoid displaying redundant information +and to improve document clarity.

Important

This is an alpha version, the data model and design can change at any time without warning. @@ -404,6 +406,12 @@

Use Cases / Context

Usage

Whenever the taxes are in the same group for the whole order the column won’t be displayed.

+

The module performs the following validation: - It checks that all order +lines have the same tax group. - It does not validate if the taxes +within the same line are different.

+

Result: - If all tax groups are the same, the Taxes column is hidden +in the printed or sent quotation. - If at least one line has a different +tax group, the Taxes column is displayed as usual.