Price Locking in Odoo Sales#
Without price locking, a product price update in Odoo can inadvertently change the price on already-confirmed sale orders - repricing deals the customer has already agreed to. Price locking prevents this.
How Odoo Handles Prices on Confirmed Orders#
By default, sale order lines store the price at the time the order is created. If you update the product's sales price later, existing confirmed orders are not affected - the stored price remains.
However, if you manually edit a confirmed sale order or if an automated repricing script is applied, prices can change. This is what locking prevents.
Locking Sale Orders After Confirmation#
Sales → Configuration → Settings → enable Lock Confirmed Sales:
- Once a sale order is confirmed, all fields (including price) are locked
- Changes require clicking Unlock (generates a log entry with the user and reason)
This is the primary protection mechanism.
Audit Trail for Price Changes#
When unlock is used:
- The action is logged in the order chatter: "Order unlocked by [User] at [Time]"
- Finance teams can monitor unlocks via:
Settings → Technical → Logging → Audit Log (if audit trail module is installed)
Price Validity Periods on Quotations#
Control how long a quotation price is valid:
Sales → Configuration → Settings → Quotation Validity: 30 days.
After 30 days, the quotation expires:
- Customer cannot confirm it after expiry (portal prevents it)
- Salesperson must send a revised quotation at current prices
- This prevents customers from holding old quotes to lock in past prices
Pricelist Price Locks#
If pricelists are used and a pricelist changes after a quotation is sent:
- The quotation stores the price at the time it was created
- Confirming the order locks in that stored price
- The pricelist change does not retroactively update confirmed orders
Volume Discounts on Confirmed Orders#
If the customer orders more than originally quoted (e.g., adds more units to the order):
- Manager unlocks the order
- Adjusts the quantity
- The system may offer to recalculate the price at the new quantity (volume discount)
- Manager approves or overrides the new price
- Re-locks the order
All changes are captured in the chatter for full audit visibility.

