OdooWiki OCA HUB

Sale Order Line Price Source Tracking

sale_order_line_price_source folder_open OCA/sale-workflow open_in_new
Sales License: AGPL-3

This module tracks from where each sale order line unit price comes from.

It extends sale.order.line with: - price_source (pricelist, product, manual) - price_source_pricelist_item_id (the applied product.pricelist.item when source is pricelist)

Price source is computed from core pricing behavior, including manual-price detection based on technical_price_unit versus price_unit.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Shows where each sale order line price comes from: a pricelist rule, the product's sales price, or a manual override. Adds read-only columns on sale order lines so you can see the source and the pricelist rule used.

This module adds price provenance information to sale order lines. For every line, Odoo now records whether the unit price came from a pricelist rule, from the product's own sales price, or from a manual change made by the user.

  • On the sale order form, three extra columns are available on the order lines list (hidden by default, you can enable them): the price source, the specific pricelist rule applied, and the pricelist itself. The order lines list also opens the line form view.
  • The same three read-only fields appear on the standalone sale order line form and on the sale order line list view.

The source is recalculated automatically whenever relevant line data changes, such as the product, unit of measure, quantity, or price. If the price differs from the technical price computed by Odoo, the line is marked as a manual override; otherwise, if a pricelist rule applies, it is marked as coming from the pricelist and the rule is stored; if neither applies, it falls back to the product sales price. Resetting the price unit also refreshes the source.

All fields are read-only, so users cannot edit the source directly; it is derived from the actual pricing behaviour. This helps sales and accounting staff audit why a given price was used on an order.

Depends on

sale
Models and fields (1)
  • sale.order.line · extends an existing modelprice_source, pricelist_id (Price Source Pricelist), price_source_pricelist_item_id

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 19.0

Confirmed on 2026-11-03 in branch 19.0 of OCA/sale-workflow.

terminal Installation and usage

OCA documentation · Odoo 19.0

Use sale order lines as usual.

The module automatically updates provenance on line creation, pricing recalculation, and relevant line writes. Open a sale order line to inspect the source fields.

No verified information in OCA: Installation, Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.