Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[16.0][MIG] sale_product_variant_attribute_tax: Migration to version 16.0 #354

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 107 additions & 0 deletions sale_product_variant_attribute_tax/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
===================================
Put attribute taxes on sales orders
===================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:9352d88ee2b52de80b7e744156585858898fb96f97bfdfedf9bb2819a9d573ed
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
:target: https://odoo-community.org/page/development-status
:alt: Production/Stable
.. |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%2Fproduct--variant-lightgray.png?logo=github
:target: https://github.com/OCA/product-variant/tree/16.0/sale_product_variant_attribute_tax
:alt: OCA/product-variant
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/product-variant-16-0/product-variant-16-0-sale_product_variant_attribute_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/product-variant&target_branch=16.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module uses *product_variant_attribute_tax* for adding the taxes set
on product attribute values when adding a product in sales orders that contains
this attribute value.

**Table of contents**

.. contents::
:local:

Use Cases / Context
===================

As the product taxes are defined at product template level, you can't have some variants with an specific tax.

These modules family covers the gap, adding the taxes at attribute level. This design decision has been taken for allowing to define the tax only once, as other options like having taxes at product variant level will force you to define the specific taxes for each of the variants that are affected.

Usage
=====

To use this module, you need to:

#. Go to *Sales > Orders > Quotations*, create a new quotation or edit
an existing one.
#. Create a new order line or edit an existing one.
#. when editing the table "Product attributes", the taxes of that sales
line will be completed with the default taxes of the attribute value
specified.

Known issues / Roadmap
======================

- This module requires `sale_variant_configurator` as a way to avoid 2 glue modules, but it may be independent.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/product-variant/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 <https://github.com/OCA/product-variant/issues/new?body=module:%20sale_product_variant_attribute_tax%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
~~~~~~~

* Tecnativa

Contributors
~~~~~~~~~~~~

* `Tecnativa <https://www.tecnativa.com>`_:

* Vicent Cubells
* Pedro M. Baeza
* Ernesto Tejeda
* Carolina Fernandez

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/product-variant <https://github.com/OCA/product-variant/tree/16.0/sale_product_variant_attribute_tax>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions sale_product_variant_attribute_tax/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import models
15 changes: 15 additions & 0 deletions sale_product_variant_attribute_tax/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright 2016-2017 Tecnativa - Pedro M. Baeza
# Copyright 2024 Tecnativa - Carolina Fernandez
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Put attribute taxes on sales orders",
"summary": "Bring the taxes associated to product values",
"version": "16.0.1.0.0",
"development_status": "Production/Stable",
"category": "Sales/Sales",
"website": "https://github.com/OCA/product-variant",
"author": "Tecnativa, Odoo Community Association (OCA)",
"license": "AGPL-3",
"depends": ["product_variant_attribute_tax", "sale_variant_configurator"],
"installable": True,
}
22 changes: 22 additions & 0 deletions sale_product_variant_attribute_tax/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_product_variant_attribute_tax
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2021-03-16 18:45+0000\n"
"Last-Translator: Ana Suárez <ana.suarez@qubiq.es>\n"
"Language-Team: none\n"
"Language: es\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 4.3.2\n"

#. module: sale_product_variant_attribute_tax
#: model:ir.model,name:sale_product_variant_attribute_tax.model_sale_order_line
msgid "Sales Order Line"
msgstr "Línea de pedido de venta"
22 changes: 22 additions & 0 deletions sale_product_variant_attribute_tax/i18n/es_AR.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_product_variant_attribute_tax
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2021-04-04 20:46+0000\n"
"Last-Translator: Ignacio Buioli <ibuioli@gmail.com>\n"
"Language-Team: none\n"
"Language: es_AR\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 4.3.2\n"

#. module: sale_product_variant_attribute_tax
#: model:ir.model,name:sale_product_variant_attribute_tax.model_sale_order_line
msgid "Sales Order Line"
msgstr "Línea del Pedido de Ventas"
22 changes: 22 additions & 0 deletions sale_product_variant_attribute_tax/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_product_variant_attribute_tax
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-11-10 16:36+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\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 4.17\n"

#. module: sale_product_variant_attribute_tax
#: model:ir.model,name:sale_product_variant_attribute_tax.model_sale_order_line
msgid "Sales Order Line"
msgstr "Riga ordine di vendita"
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_product_variant_attribute_tax
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.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_product_variant_attribute_tax
#: model:ir.model,name:sale_product_variant_attribute_tax.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
2 changes: 2 additions & 0 deletions sale_product_variant_attribute_tax/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import sale_order
25 changes: 25 additions & 0 deletions sale_product_variant_attribute_tax/models/sale_order.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Copyright 2016-2017 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import api, models


class SaleOrderLine(models.Model):
_inherit = "sale.order.line"

@api.onchange("product_attribute_ids")
def _onchange_product_attribute_ids_configurator(self):
res = super()._onchange_product_attribute_ids_configurator()
# if there's a product set, taxes on that product have priority
if self.product_id or not self.product_tmpl_id:
return res

Check warning on line 14 in sale_product_variant_attribute_tax/models/sale_order.py

View check run for this annotation

Codecov / codecov/patch

sale_product_variant_attribute_tax/models/sale_order.py#L14

Added line #L14 was not covered by tests
values = self.mapped("product_attribute_ids.value_id")
taxes = values.mapped("tax_ids").filtered(
lambda x: x.type_tax_use == "sale"
and x.company_id == self.order_id.company_id
)
fiscal_pos = self.order_id.fiscal_position_id
# We can call this method although the fiscal position is not set
taxes = fiscal_pos.map_tax(taxes)
template_taxes = fiscal_pos.map_tax(self.product_tmpl_id.taxes_id)
self.tax_id = template_taxes + taxes
return res
3 changes: 3 additions & 0 deletions sale_product_variant_attribute_tax/readme/CONTEXT.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
As the product taxes are defined at product template level, you can't have some variants with an specific tax.

These modules family covers the gap, adding the taxes at attribute level. This design decision has been taken for allowing to define the tax only once, as other options like having taxes at product variant level will force you to define the specific taxes for each of the variants that are affected.
6 changes: 6 additions & 0 deletions sale_product_variant_attribute_tax/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
* `Tecnativa <https://www.tecnativa.com>`_:

* Vicent Cubells
* Pedro M. Baeza
* Ernesto Tejeda
* Carolina Fernandez
3 changes: 3 additions & 0 deletions sale_product_variant_attribute_tax/readme/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
This module uses *product_variant_attribute_tax* for adding the taxes set
on product attribute values when adding a product in sales orders that contains
this attribute value.
1 change: 1 addition & 0 deletions sale_product_variant_attribute_tax/readme/ROADMAP.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- This module requires `sale_variant_configurator` as a way to avoid 2 glue modules, but it may be independent.
8 changes: 8 additions & 0 deletions sale_product_variant_attribute_tax/readme/USAGE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
To use this module, you need to:

#. Go to *Sales > Orders > Quotations*, create a new quotation or edit
an existing one.
#. Create a new order line or edit an existing one.
#. when editing the table "Product attributes", the taxes of that sales
line will be completed with the default taxes of the attribute value
specified.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading