Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
4cff805
13.0][ADD] sale_order_line_position
TDu Jun 11, 2021
7a34684
[ADD] icon.png
OCA-git-bot Sep 17, 2021
b74a3ed
[MIG] sale_order_line_position: Migration to 14.0
Sep 23, 2021
58bbc8d
[13.0][FIX] sale-order-line-position
TDu Oct 11, 2021
e213c07
sale_order_line_position 14.0.1.1.0
OCA-git-bot Jan 17, 2022
f4e1bd4
Added translation using Weblate (German)
marylla May 11, 2022
2c0489d
Translated using Weblate (German)
marylla May 11, 2022
4a21598
[MIG] sale_order_line_position : Migration to 15.0
ajaniszewska-dev May 12, 2022
db2364b
[IMP] sale_order_line_position: allow to disable position recomputing
ajaniszewska-dev May 16, 2022
f3d17a9
Added translation using Weblate (Catalan)
jabelchi Jun 3, 2022
222e1cb
Translated using Weblate (Catalan)
jabelchi Jun 3, 2022
a0f349e
sale_order_line_position 15.0.1.1.0
OCA-git-bot Jul 6, 2022
a100c1d
Update translation files
oca-transbot Jul 6, 2022
284c197
[MIG] sale_order_line_position: Migration to 16.0
ajaniszewska-dev Jan 23, 2023
ad26c72
sale_order_line_position: fix warning on flush call
simahawk Mar 25, 2024
ea11a13
[BOT] post-merge updates
OCA-git-bot Mar 25, 2024
26b8966
[IMP] sale_order_line_position: pre-commit auto fixes
Apr 17, 2024
b18fe25
[MIG] sale_order_line_position: Migration to 17.0
Apr 17, 2024
1760f4e
[BOT] post-merge updates
OCA-git-bot May 21, 2024
aded5a9
Added translation using Weblate (Italian)
mymage May 22, 2024
7cfedcb
Translated using Weblate (Italian)
mymage May 22, 2024
516f73b
[FIX] sale_order_line_position: make sure position numer always come …
ng-ife Oct 1, 2024
5709128
[FIX] sale_order_line_position: use outdated bootstrap class
ng-ife Oct 1, 2024
e38ab6c
sale_order_line_position: split recompute_positions
simahawk Nov 30, 2022
d75fdfa
[IMP] sale_order_line_position: pre-commit auto fixes
Kimkhoi3010 Nov 4, 2024
a2c817d
[MIG] sale_order_line_position: Migration to 18.0
Kimkhoi3010 Nov 4, 2024
e3a9edb
Added translation using Weblate (Turkish)
bo-eska May 26, 2025
47b36a4
[FIX] sale_order_line_position: possible null position
TDu Oct 9, 2025
8179f8a
[MIG] sale_order_line_position: Migration to 19.0
NICO-SOLUTIONS Dec 18, 2025
fdfe453
[IMP] sale_order_line_position: improve tests
NICO-SOLUTIONS Dec 18, 2025
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
131 changes: 131 additions & 0 deletions sale_order_line_position/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
.. 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 Position
========================

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

.. |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/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--reporting-lightgray.png?logo=github
:target: https://github.com/OCA/sale-reporting/tree/19.0/sale_order_line_position
: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-19-0/sale-reporting-19-0-sale_order_line_position
: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=19.0
:alt: Try me on Runboat

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

This module adds an auto computed position on sale order line. This
position number is also printed on the report.

The position can be used to keep track of each line during the delivery
and invoicing of the order with the customer. This is why there are
related modules on account-invoice-reporting and
stock-logisics-reporting.

The positions are recomputed when the sale order is printed, sent and
set to confirm.

The positions are not changed on the line after the order has been
confirmed, but if new line are added they will receive a position
number.

An action is also availabled to manually recompute the positions.

**Table of contents**

.. contents::
:local:

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

The way the positions are computed on the create of sale.order.line
record could lead to a performance issue. There is a few improvements
that have been suggested:

Remove it and handle the computation on the write and/or create method
of the sale.order.

Have a context key to enable/disable the recomputation.

Do not set any value in the position fields before the sale order lines
are locked (in the current implementation, before sending). And add a
recompute button in the UI.

Set the position values with an SQL query using a TRIGGER.

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

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

* Camptocamp

Contributors
------------

- Thierry Ducrest <thierry.ducrest@camptocamp.com>
- `Trobz <https://trobz.com>`__:

- Nguyen Hoang Hiep <hiepnh@trobz.com>
- Do Anh Duy <duyda@trobz.com>
- Kien Kim Khoi <khoikk@trobz.com>

- Nils Coenen <nils.coenen@nico-solutions.de>

Other credits
-------------

The migration of this module from 16.0 to 17.0 was financially supported
by Camptocamp

The migration of this module from 17.0 to 18.0 was financially supported
by:

- Camptocamp

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-reporting <https://github.com/OCA/sale-reporting/tree/19.0/sale_order_line_position>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions sale_order_line_position/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
19 changes: 19 additions & 0 deletions sale_order_line_position/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2021 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)

{
"name": "Sale Order Line Position",
"summary": "Adds position number on sale order line.",
"version": "19.0.1.0.0",
"category": "Sales",
"author": "Camptocamp, Odoo Community Association (OCA)",
"license": "AGPL-3",
"website": "https://github.com/OCA/sale-reporting",
"depends": ["sale"],
"data": [
"views/sale_order.xml",
"views/res_config_settings.xml",
"report/sale_order_report.xml",
],
"installable": True,
}
84 changes: 84 additions & 0 deletions sale_order_line_position/i18n/ca.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_line_position
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2022-06-03 10:05+0000\n"
"Last-Translator: jabelchi <jabelchi@gmail.com>\n"
"Language-Team: none\n"
"Language: ca\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_order_line_position
#: model:ir.model,name:sale_order_line_position.model_res_company
msgid "Companies"
msgstr ""

#. module: sale_order_line_position
#: model:ir.model,name:sale_order_line_position.model_res_config_settings
msgid "Config Settings"
msgstr ""

#. module: sale_order_line_position
#: model:ir.model.fields,field_description:sale_order_line_position.field_res_company__disable_sale_position_recompute
#: model:ir.model.fields,field_description:sale_order_line_position.field_res_config_settings__disable_sale_position_recompute
msgid "Do not recompute positions on sale orders"
msgstr ""

#. module: sale_order_line_position
#: model_terms:ir.ui.view,arch_db:sale_order_line_position.res_config_settings_view_form
msgid "Do not recompute positions when line is removed"
msgstr ""

#. module: sale_order_line_position
#: model:ir.model.fields,field_description:sale_order_line_position.field_sale_order__locked_positions
msgid "Locked Positions"
msgstr "Posicions bloquejades"

#. module: sale_order_line_position
#: model_terms:ir.ui.view,arch_db:sale_order_line_position.report_saleorder_document
#: model_terms:ir.ui.view,arch_db:sale_order_line_position.view_order_form_inherit
msgid "Pos"
msgstr "Pos"

#. module: sale_order_line_position
#: model:ir.model.fields,field_description:sale_order_line_position.field_sale_order_line__position
msgid "Position"
msgstr "Posició"

#. module: sale_order_line_position
#: model:ir.model.fields,field_description:sale_order_line_position.field_sale_order_line__position_formatted
msgid "Position Formatted"
msgstr "Posició formatada"

#. module: sale_order_line_position
#: model:ir.actions.server,name:sale_order_line_position.action_compute_sale_position
msgid "Recompute positions"
msgstr "Recalcula posicions"

#. module: sale_order_line_position
#: model:ir.model,name:sale_order_line_position.model_ir_actions_report
msgid "Report Action"
msgstr "Acció d'informe"

#. module: sale_order_line_position
#: model_terms:ir.ui.view,arch_db:sale_order_line_position.res_config_settings_view_form
msgid "Sale Order Line Positions"
msgstr ""

#. module: sale_order_line_position
#: model:ir.model,name:sale_order_line_position.model_sale_order
msgid "Sales Order"
msgstr "Comanda de venda"

#. module: sale_order_line_position
#: model:ir.model,name:sale_order_line_position.model_sale_order_line
msgid "Sales Order Line"
msgstr "Línia de comanda de venda"
93 changes: 93 additions & 0 deletions sale_order_line_position/i18n/de.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_line_position
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2022-05-11 12:05+0000\n"
"Last-Translator: Maria Sparenberg <maria.sparenberg@gmx.net>\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"
"X-Generator: Weblate 4.3.2\n"

#. module: sale_order_line_position
#: model:ir.model,name:sale_order_line_position.model_res_company
msgid "Companies"
msgstr ""

#. module: sale_order_line_position
#: model:ir.model,name:sale_order_line_position.model_res_config_settings
msgid "Config Settings"
msgstr ""

#. module: sale_order_line_position
#: model:ir.model.fields,field_description:sale_order_line_position.field_res_company__disable_sale_position_recompute
#: model:ir.model.fields,field_description:sale_order_line_position.field_res_config_settings__disable_sale_position_recompute
msgid "Do not recompute positions on sale orders"
msgstr ""

#. module: sale_order_line_position
#: model_terms:ir.ui.view,arch_db:sale_order_line_position.res_config_settings_view_form
msgid "Do not recompute positions when line is removed"
msgstr ""

#. module: sale_order_line_position
#: model:ir.model.fields,field_description:sale_order_line_position.field_sale_order__locked_positions
msgid "Locked Positions"
msgstr "Gesperrte Positionen"

#. module: sale_order_line_position
#: model_terms:ir.ui.view,arch_db:sale_order_line_position.report_saleorder_document
#: model_terms:ir.ui.view,arch_db:sale_order_line_position.view_order_form_inherit
msgid "Pos"
msgstr "Pos"

#. module: sale_order_line_position
#: model:ir.model.fields,field_description:sale_order_line_position.field_sale_order_line__position
msgid "Position"
msgstr "Position"

#. module: sale_order_line_position
#: model:ir.model.fields,field_description:sale_order_line_position.field_sale_order_line__position_formatted
msgid "Position Formatted"
msgstr ""

#. module: sale_order_line_position
#: model:ir.actions.server,name:sale_order_line_position.action_compute_sale_position
msgid "Recompute positions"
msgstr "Positionen neuberechnen"

#. module: sale_order_line_position
#: model:ir.model,name:sale_order_line_position.model_ir_actions_report
msgid "Report Action"
msgstr ""

#. module: sale_order_line_position
#: model_terms:ir.ui.view,arch_db:sale_order_line_position.res_config_settings_view_form
msgid "Sale Order Line Positions"
msgstr ""

#. module: sale_order_line_position
#: model:ir.model,name:sale_order_line_position.model_sale_order
msgid "Sales Order"
msgstr "Verkaufsauftrag"

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

#~ msgid "Display Name"
#~ msgstr "Anzeigename"

#~ msgid "ID"
#~ msgstr "ID"

#~ msgid "Last Modified on"
#~ msgstr "Zuletzt geändert am"
Loading