From 72833d4ffb98d36351663d9645f71d4777f9c52c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Alan=20Ramos=20Rodr=C3=ADguez?= Date: Thu, 2 Jul 2026 11:52:28 -0600 Subject: [PATCH] [IMP] pos_sale_picking_keep: Settle ordered quantities even if delivered When settling a sale order, the PoS deducts the already delivered quantity from each line, because it assumes it will deliver the remaining quantity itself. With this module the sale order pickings are kept and the PoS is only used to charge the order, so lines of already delivered orders were loaded with zero quantity (or even removed for products whose UoM is not groupable in the PoS, due to the line splitting logic of pos_sale). Load the ordered quantity instead, deducting only the quantity already invoiced to avoid charging twice. --- pos_sale_picking_keep/README.rst | 6 ++++ pos_sale_picking_keep/__manifest__.py | 5 +++- pos_sale_picking_keep/readme/DESCRIPTION.md | 6 ++++ .../static/description/index.html | 5 ++++ .../static/src/js/pos_order_line.esm.js | 24 ++++++++++++++++ .../tests/test_pos_sale_picking_keep.py | 28 +++++++++++++++++++ 6 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 pos_sale_picking_keep/static/src/js/pos_order_line.esm.js diff --git a/pos_sale_picking_keep/README.rst b/pos_sale_picking_keep/README.rst index f714ff3f1a..e55418a5ac 100644 --- a/pos_sale_picking_keep/README.rst +++ b/pos_sale_picking_keep/README.rst @@ -36,6 +36,12 @@ This module inhibits the manipulation that the point of sale mades over the sales orders pickings, and the creation of new pickings under the PoS picking type. +When settling a sale order in the PoS, the ordered quantities are loaded +even if the products were already delivered through the sale order +pickings, deducting only the quantities already invoiced. Without this +module, the PoS deducts the delivered quantities, which makes no sense +here, as the PoS is only used to charge the order, not to deliver it. + **Table of contents** .. contents:: diff --git a/pos_sale_picking_keep/__manifest__.py b/pos_sale_picking_keep/__manifest__.py index 1a7216b02d..3242026604 100644 --- a/pos_sale_picking_keep/__manifest__.py +++ b/pos_sale_picking_keep/__manifest__.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). { "name": "Keep sale pickings from PoS", - "version": "19.0.1.0.0", + "version": "19.0.1.1.0", "category": "Point Of Sale", "website": "https://github.com/OCA/pos", "author": "Tecnativa, Odoo Community Association (OCA)", @@ -11,6 +11,9 @@ "installable": True, "depends": ["pos_sale", "sale_stock"], "assets": { + "point_of_sale._assets_pos": [ + "pos_sale_picking_keep/static/src/js/**/*", + ], "web.assets_tests": [ "pos_sale_picking_keep/static/tests/tours/**/*", ], diff --git a/pos_sale_picking_keep/readme/DESCRIPTION.md b/pos_sale_picking_keep/readme/DESCRIPTION.md index 8c167306c6..a986054dd2 100644 --- a/pos_sale_picking_keep/readme/DESCRIPTION.md +++ b/pos_sale_picking_keep/readme/DESCRIPTION.md @@ -1,2 +1,8 @@ This module inhibits the manipulation that the point of sale mades over the sales orders pickings, and the creation of new pickings under the PoS picking type. + +When settling a sale order in the PoS, the ordered quantities are loaded +even if the products were already delivered through the sale order pickings, +deducting only the quantities already invoiced. Without this module, the PoS +deducts the delivered quantities, which makes no sense here, as the PoS is +only used to charge the order, not to deliver it. diff --git a/pos_sale_picking_keep/static/description/index.html b/pos_sale_picking_keep/static/description/index.html index f78b612c53..92e4e817f7 100644 --- a/pos_sale_picking_keep/static/description/index.html +++ b/pos_sale_picking_keep/static/description/index.html @@ -378,6 +378,11 @@

Keep sale pickings from PoS

This module inhibits the manipulation that the point of sale mades over the sales orders pickings, and the creation of new pickings under the PoS picking type.

+

When settling a sale order in the PoS, the ordered quantities are loaded +even if the products were already delivered through the sale order +pickings, deducting only the quantities already invoiced. Without this +module, the PoS deducts the delivered quantities, which makes no sense +here, as the PoS is only used to charge the order, not to deliver it.

Table of contents