Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
5edcaeb
[11.0][NEW] sale_order_secondary_unit: New module for sale in a secon…
sergio-teruel Sep 5, 2018
8901359
[11.0][FIX] sale_order_secondary_unit: define sale secondary uom in t…
sergio-teruel Oct 26, 2018
14b31c9
[11.0][IMP/FIX] sale_secondary_unit limit secondary uom in order line
Jan 7, 2019
0ec2c59
[11.0][IMP] sale_secondary_unit: Set secondary uom quantity as 1.0 by…
sergio-teruel Jan 18, 2019
634c821
[11.0][IMP] sale_order_secondary_unit: Add security group
sergio-teruel Apr 15, 2019
9e286b3
[11.0][IMP] sale_order_secondary_unit: add secondary unit to sale report
sergio-teruel Mar 7, 2019
4d2be03
Added translation using Weblate (German)
marylla Jul 15, 2019
7e5f928
[MIG] sale_order_secondary_unit: Migration to 12.0
digitalsatori Oct 20, 2019
c409901
[MIG] migrate sale_order_secondary_unit from 12.0 to 13.0
ThomasBinsfeld Jan 15, 2020
de069c7
[MIG] sale_order_secondary_unit: Migration to 14.0
alexeirivera87 Jan 22, 2021
9290bc6
[FIX] code refactor
mourad-ehm Jun 25, 2021
176afe4
code refactor update
Kev-Roche Jul 21, 2021
99ff37e
add secondary price unit
Kev-Roche Jul 27, 2021
640deb4
[FIX] ZeroDivisionError when qty is null
Kev-Roche Aug 9, 2021
6472cd8
[IMP] sale_order_secondary_unit: Add name to th/td element + span (im…
victoralmau May 3, 2022
06cf6dc
[MIG] sale_order_secondary_unit: Migration to 15.0
remihb Dec 28, 2021
3fd3666
[FIX] sale_order_secondary_unit: Fix variant grid matrix usage
sergio-teruel Aug 15, 2022
a32c563
[FIX] sale_order_secondary_unit: Fix incorrect header position inheri…
sergio-teruel Oct 21, 2022
52ea5c2
sale_order_secondary_unit 15.0.1.1.0
OCA-git-bot Oct 21, 2022
335fe40
[MIG] sale_stock_secondary_unit: Migration to v15.0
sergio-teruel Oct 25, 2022
9580004
[FIX] sale_order_secondary_unit: Make test resilient
pedrobaeza Mar 8, 2023
62d42e7
sale_order_secondary_unit 15.0.1.1.1
OCA-git-bot Mar 8, 2023
c379c53
[IMP] sale_order_secondary_unit: Add menu for secondary UoM
Apr 1, 2021
7f3e0ec
sale_order_secondary_unit 15.0.1.2.0
OCA-git-bot Mar 30, 2023
fa0614f
[IMP] sale_order_secondary_unit: Compatibility with product variants
sergio-teruel Jan 11, 2023
12ca60c
sale_order_secondary_unit 15.0.2.0.0
OCA-git-bot May 19, 2023
3567f2f
Translated using Weblate (Spanish)
Ivorra78 Jul 24, 2023
f894068
Added translation using Weblate (Finnish)
n17 Aug 11, 2023
18f697f
Translated using Weblate (Finnish)
n17 Aug 11, 2023
a0c5ff7
[IMP] sale_order_secondary_unit: test performance improvement
josep-tecnativa Oct 24, 2023
f0d9501
[MIG] sale_order_secondary_unit: Add migration script to adapt secod …
sergio-teruel Oct 20, 2023
2319111
[IMP] sale_order_secondary_unit: Require secondary_uom_id when second…
carlosdauden Jan 6, 2024
5b834be
[IMP] sale_order_secondary_unit: make the secondary unit and secondar…
pilarvargas-tecnativa Jun 19, 2024
cf4c4ad
[IMP] sale_order_secondary_unit: pre-commit auto fixes
mmrondon Oct 31, 2024
fd00aa2
[MIG] sale_order_secondary_unit: Migration to 17.0
mmrondon Oct 31, 2024
07b363a
Added translation using Weblate (Italian)
mymage Jan 4, 2025
96eca51
Translated using Weblate (Italian)
mymage Jan 4, 2025
6ece077
[FIX] sale_order_secondary_unit: fix test
pilarvargas-tecnativa Feb 19, 2025
f3e0fa6
[IMP-FIX] sale_order_secondary_unit: Avoid constraint violation when …
pilarvargas-tecnativa Apr 3, 2025
8ed935c
[FIX]sale_order_secondary_unit: fix test conflicts when used with pro…
david-banon-tecnativa May 14, 2025
defb28d
[FIX] sale_order_secondary_unit: Error when user try to select a seco…
sergio-teruel Nov 11, 2024
e574a96
[IMP] sale_order_secondary_unit: context for skipping default sec. unit
chienandalu Feb 21, 2025
9ba0cdc
[IMP] : pre-commit auto fixes
pilarvargas-tecnativa Jun 25, 2025
8899a42
[MIG] sale_order_secondary_unit: Migration to 18.0
matiasperalta1 Jan 15, 2025
6e1d2cd
[MIG] sale_order_secondary_unit: Continue migration to 18.0
pilarvargas-tecnativa Jun 25, 2025
8178df1
[UPD] Update sale_order_secondary_unit.pot
Jun 30, 2025
bd0462b
[BOT] post-merge updates
OCA-git-bot Jun 30, 2025
7d826d8
[FIX] sale_order_secondary_unit: show optional on order lines
dreispt Dec 15, 2025
911686a
[BOT] post-merge updates
OCA-git-bot Dec 22, 2025
a008840
[MIG] sale_order_secondary_unit: Migration to 19.0
JochenDeBie Feb 25, 2026
48ad0c6
[DON'T MERGE] test-requirements.txt
JochenDeBie Feb 25, 2026
430721f
[FIX] sale_order_secondary_unit: fix xpath in report layout
JochenDeBie Feb 26, 2026
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
110 changes: 110 additions & 0 deletions sale_order_secondary_unit/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

=========================
Sale Order Secondary Unit
=========================

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

.. |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/license-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%2Fsale--workflow-lightgray.png?logo=github
:target: https://github.com/OCA/sale-workflow/tree/19.0/sale_order_secondary_unit
:alt: OCA/sale-workflow
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/sale-workflow-19-0/sale-workflow-19-0-sale_order_secondary_unit
: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-workflow&target_branch=19.0
:alt: Try me on Runboat

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

This module extends the functionality of sale orders to allow sale
products in secondary unit of distinct category.

**Table of contents**

.. contents::
:local:

Configuration
=============

To configure this module, you need to:

1. Go to *Sales > Configuration > Products > Secondary Units of Measure*
to manage all the 'Secondary Units of Measure' in the system.

Usage
=====

To use this module you need to:

1. Go to a *Product > General Information tab*.
2. Create any record in "Secondary unit of measure".
3. Set the conversion factor.
4. Go to *Sales > Quotation > Create*.
5. Change quantities in line and secondary unit (produc_qty will be
change).

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/sale-workflow/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/sale-workflow/issues/new?body=module:%20sale_order_secondary_unit%0Aversion:%2019.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
------------

- Tony Gu <tony@openerp.cn>
- Alexei Rivera <arivera@archeti.com>
- Kevin Roche <kevin.roche@akretion.com>
- `Tecnativa <https://www.tecnativa.com>`__:

- Carlos Dauden
- Sergio Teruel
- Ernesto Tejeda
- Pedro M. Baeza
- Pilar Vargas

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/sale-workflow <https://github.com/OCA/sale-workflow/tree/19.0/sale_order_secondary_unit>`_ 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_order_secondary_unit/__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
22 changes: 22 additions & 0 deletions sale_order_secondary_unit/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2018-2020 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Sale Order Secondary Unit",
"summary": "Sale product in a secondary unit",
"version": "19.0.1.0.0",
"development_status": "Production/Stable",
"category": "Sale",
"website": "https://github.com/OCA/sale-workflow",
"author": "Tecnativa, Odoo Community Association (OCA)",
"license": "AGPL-3",
"application": False,
"installable": True,
"auto_install": True,
"depends": ["sale", "product_secondary_unit"],
"data": [
"views/product_secondary_unit_views.xml",
"views/product_views.xml",
"views/sale_order_views.xml",
"report/sale_report_templates.xml",
],
}
118 changes: 118 additions & 0 deletions sale_order_secondary_unit/i18n/de.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_secondary_unit
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-15 13:25+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: de\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"

#. module: sale_order_secondary_unit
#: model_terms:ir.ui.view,arch_db:sale_order_secondary_unit.view_order_form
msgid "-&gt;"
msgstr ""

#. module: sale_order_secondary_unit
#: model:ir.model.fields,field_description:sale_order_secondary_unit.field_sale_order_line__secondary_uom_unit_price
msgid "2nd unit price"
msgstr ""

#. module: sale_order_secondary_unit
#: model_terms:ir.ui.view,arch_db:sale_order_secondary_unit.report_saleorder_document
msgid "<span>Second. Qty</span>"
msgstr ""

#. module: sale_order_secondary_unit
#: model:ir.model.fields,field_description:sale_order_secondary_unit.field_product_product__sale_secondary_uom_id
#: model:ir.model.fields,field_description:sale_order_secondary_unit.field_product_template__sale_secondary_uom_id
msgid "Default secondary unit for sales"
msgstr ""

#. module: sale_order_secondary_unit
#: model_terms:ir.ui.view,arch_db:sale_order_secondary_unit.product_secondary_unit_view_search
msgid "Group By"
msgstr ""

#. module: sale_order_secondary_unit
#: model:ir.model.fields,help:sale_order_secondary_unit.field_product_product__sale_secondary_uom_id
#: model:ir.model.fields,help:sale_order_secondary_unit.field_product_template__sale_secondary_uom_id
msgid ""
"In order to set a value, please first add at least one record in 'Secondary "
"Unit of Measure'"
msgstr ""

#. module: sale_order_secondary_unit
#: model:ir.model,name:sale_order_secondary_unit.model_product_template
msgid "Product"
msgstr ""

#. module: sale_order_secondary_unit
#: model_terms:ir.ui.view,arch_db:sale_order_secondary_unit.product_secondary_unit_view_search
msgid "Product Template"
msgstr ""

#. module: sale_order_secondary_unit
#: model:ir.model,name:sale_order_secondary_unit.model_product_product
#: model_terms:ir.ui.view,arch_db:sale_order_secondary_unit.product_secondary_unit_view_search
msgid "Product Variant"
msgstr ""

#. module: sale_order_secondary_unit
#. odoo-python
#: code:addons/sale_order_secondary_unit/models/product_template.py:0
#, python-format
msgid ""
"Product variants have distinct sale secondary uom:\n"
"%(secondary_uom)s\n"
"All variants will be written with new secondary uom"
msgstr ""

#. module: sale_order_secondary_unit
#: model:ir.model.fields,field_description:sale_order_secondary_unit.field_sale_order_line__product_uom_qty
msgid "Quantity"
msgstr ""

#. module: sale_order_secondary_unit
#: model:ir.model,name:sale_order_secondary_unit.model_sale_order_line
msgid "Sales Order Line"
msgstr ""

#. module: sale_order_secondary_unit
#: model:ir.model.fields,field_description:sale_order_secondary_unit.field_sale_order_line__secondary_uom_id
msgid "Second unit"
msgstr ""

#. module: sale_order_secondary_unit
#: model:ir.model.fields,field_description:sale_order_secondary_unit.field_sale_order_line__secondary_uom_qty
msgid "Secondary Qty"
msgstr ""

#. module: sale_order_secondary_unit
#: model:ir.actions.act_window,name:sale_order_secondary_unit.product_secondary_unit_action
msgid "Secondary Unit"
msgstr ""

#. module: sale_order_secondary_unit
#: model:ir.ui.menu,name:sale_order_secondary_unit.product_secondary_unit_menu
msgid "Secondary Units of Measure"
msgstr ""

#. module: sale_order_secondary_unit
#: model_terms:ir.ui.view,arch_db:sale_order_secondary_unit.product_secondary_unit_view_search
msgid "UoM"
msgstr ""

#. module: sale_order_secondary_unit
#. odoo-python
#: code:addons/sale_order_secondary_unit/models/product_template.py:0
#, python-format
msgid "Warning"
msgstr ""
141 changes: 141 additions & 0 deletions sale_order_secondary_unit/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_secondary_unit
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-22 15:23+0000\n"
"PO-Revision-Date: 2023-07-24 18:09+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: sale_order_secondary_unit
#: model_terms:ir.ui.view,arch_db:sale_order_secondary_unit.view_order_form
msgid "-&gt;"
msgstr "-&gt;"

#. module: sale_order_secondary_unit
#: model:ir.model.fields,field_description:sale_order_secondary_unit.field_sale_order_line__secondary_uom_unit_price
msgid "2nd unit price"
msgstr "Precio de la 2ª unidad"

#. module: sale_order_secondary_unit
#: model_terms:ir.ui.view,arch_db:sale_order_secondary_unit.report_saleorder_document
msgid "<span>Second. Qty</span>"
msgstr "<span>Cantidad secundaria</span>"

#. module: sale_order_secondary_unit
#: model:ir.model.fields,field_description:sale_order_secondary_unit.field_product_product__sale_secondary_uom_id
#: model:ir.model.fields,field_description:sale_order_secondary_unit.field_product_template__sale_secondary_uom_id
msgid "Default secondary unit for sales"
msgstr "Ud de venta secundaria por defecto"

#. module: sale_order_secondary_unit
#: model_terms:ir.ui.view,arch_db:sale_order_secondary_unit.product_secondary_unit_view_search
msgid "Group By"
msgstr "Agrupado por"

#. module: sale_order_secondary_unit
#: model:ir.model.fields,help:sale_order_secondary_unit.field_product_product__sale_secondary_uom_id
#: model:ir.model.fields,help:sale_order_secondary_unit.field_product_template__sale_secondary_uom_id
msgid ""
"In order to set a value, please first add at least one record in 'Secondary "
"Unit of Measure'"
msgstr ""
"Para establecer un valor, primero agregue al menos un registro en 'Segunda "
"unidad de medida'"

#. module: sale_order_secondary_unit
#: model:ir.model,name:sale_order_secondary_unit.model_product_template
msgid "Product"
msgstr "Producto"

#. module: sale_order_secondary_unit
#: model_terms:ir.ui.view,arch_db:sale_order_secondary_unit.product_secondary_unit_view_search
msgid "Product Template"
msgstr "Plantilla de producto"

#. module: sale_order_secondary_unit
#: model:ir.model,name:sale_order_secondary_unit.model_product_product
#: model_terms:ir.ui.view,arch_db:sale_order_secondary_unit.product_secondary_unit_view_search
msgid "Product Variant"
msgstr "Variante de Producto"

#. module: sale_order_secondary_unit
#. odoo-python
#: code:addons/sale_order_secondary_unit/models/product_template.py:0
#, python-format
msgid ""
"Product variants have distinct sale secondary uom:\n"
"%(secondary_uom)s\n"
"All variants will be written with new secondary uom"
msgstr ""
"Las variantes de producto tienen unidades de medida secundarias de venta "
"distinto:\n"
"%(secondary_uom)s\n"
"Todas las variantes se escribirán con la nueva unidad de medida secundaria"

#. module: sale_order_secondary_unit
#: model:ir.model.fields,field_description:sale_order_secondary_unit.field_sale_order_line__product_uom_qty
msgid "Quantity"
msgstr "Cantidad"

#. module: sale_order_secondary_unit
#: model:ir.model,name:sale_order_secondary_unit.model_sale_order_line
msgid "Sales Order Line"
msgstr "Línea de pedido"

#. module: sale_order_secondary_unit
#: model:ir.model.fields,field_description:sale_order_secondary_unit.field_sale_order_line__secondary_uom_id
msgid "Second unit"
msgstr "Unidad secundaria"

#. module: sale_order_secondary_unit
#: model:ir.model.fields,field_description:sale_order_secondary_unit.field_sale_order_line__secondary_uom_qty
msgid "Secondary Qty"
msgstr "Cta. Ud. secundaria"

#. module: sale_order_secondary_unit
#: model:ir.actions.act_window,name:sale_order_secondary_unit.product_secondary_unit_action
msgid "Secondary Unit"
msgstr "Unidad Secundaria"

#. module: sale_order_secondary_unit
#: model:ir.ui.menu,name:sale_order_secondary_unit.product_secondary_unit_menu
msgid "Secondary Units of Measure"
msgstr "Unidades de medida secundarias"

#. module: sale_order_secondary_unit
#: model_terms:ir.ui.view,arch_db:sale_order_secondary_unit.product_secondary_unit_view_search
msgid "UoM"
msgstr "UDM (Unidad De Medida)"

#. module: sale_order_secondary_unit
#. odoo-python
#: code:addons/sale_order_secondary_unit/models/product_template.py:0
#, python-format
msgid "Warning"
msgstr "Aviso"

#~ msgid "Display Name"
#~ msgstr "Mostrar nombre"

#~ msgid "ID"
#~ msgstr "ID (Identificador)"

#~ msgid "Last Modified on"
#~ msgstr "Última modificación en"

#~ msgid "Second. Qty"
#~ msgstr "Ud. Secundaria"

#~ msgid "Secondary uom"
#~ msgstr "Unidad Secundaria"
Loading
Loading