Repository
OCA/sale-workflow · module folder · Try on Runboat
Module version
1.0.2
Category
Sales Management
Folder size
0.09 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/sale-workflow
Last tracking update
2026-08-07 08:22:55
Authors
Odoo Community Association (OCA), Tecnativa
Maintainers
Odoo Community Association (OCA), Tecnativa
Committers
Pedro M. Baeza, Carlos Lopez, Weblate, OCA-git-bot, oca-ci
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
This module allows configured pricelists to be applied to a sales order
by considering cumulative quantities across all lines.

**Global by Product Template**

If a pricelist rule has a min_quantity = 15, and a sales order contains:

- Line 1: Variant 1, quantity = 8
- Line 2: Variant 2, quantity = 8

**Global by Product Category**

Similarly, if a pricelist rule has a min_quantity = 20 for products
within a category, and a sales order includes:

- Line 1: Product 1, quantity = 10
- Line 2: Product 2, quantity = 10

In standard Odoo, pricelist rules would not apply since no single line
meets the minimum quantity. With this module, however, cumulative
quantities across lines allow the pricelist rule to apply, as they meet
the minimum threshold (16 in the product template example and 20 in the
product category example).

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_product_pricelist_item_form view.product.pricelist.item.form product.pricelist.item form Inherits product.product_pricelist_item_form_view
view_sale_order_form view.sale.order.form sale.order form Inherits sale.view_order_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (3)

New fields (3)
  • applied_on Selection
    ondelete={'3_1_global_product_template': 'set default', '3_2_global_product_category': 'set default'} selection_add=[('3_1_global_product_template', 'Global - Product template'), ('3_2_global_product_category', 'Global - Product category')]
  • global_categ_id Many2one → product.category
    ondelete='cascade' args: 'product.category', 'Product Category'
  • global_product_tmpl_id Many2one → product.template
    check_company=True ondelete='cascade' args: 'product.template', 'Product'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, values)

New fields (2)
  • has_pricelist_global Boolean
    compute='_compute_has_pricelist_global'
  • need_recompute_pricelist_global Boolean
Public methods (1)
  • button_compute_pricelist_global_rule(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

Loading…

Status
Open migration PR — not merged yet for this version
CI status
green — ready to merge
Open since
253 days ago
Last activity
24 days ago
Repository
OCA/sale-workflow
Pull request
[18.0][MIG] sale_pricelist_global_rule: Migration to 18.0 (#4065)
Status
Open migration PR — not merged yet for this version
CI status
checks failing
Open since
1 day ago
Last activity
0 days ago
Repository
OCA/sale-workflow
Pull request
[19.0][MIG] sale_pricelist_global_rule: Migration to version 19.0 (#4536)