All posts
Functional4 min read

Managing Sale Order Modifications and Lock Policies in Odoo

Configure Odoo sale order locking - preventing unauthorized modifications after confirmation while allowing controlled amendments for legitimate changes - and maintaining a full modification audit trail.

Sale Order Lock and Modification Control in Odoo#

Once a sale order is confirmed and production or picking has begun, unauthorized modifications can cause inventory errors, billing discrepancies, and customer disputes. Odoo's lock feature prevents accidental changes while providing a controlled process for legitimate amendments.

Enabling Order Lock#

Sales → Configuration → Settings → Lock Confirmed Sales:

  • When enabled: confirmed sale orders are locked - no direct editing allowed
  • Status shows: "Locked" after confirmation

Locked orders can only be modified via an unlock action.

Unlocking for Amendments#

Sales → [Locked Sale Order] → Unlock:

  • Available only to users with the correct permission (Sales Manager or Admin)
  • Order returns to editable state

After making the amendment:

Sales → [Sale Order] → Lock again to prevent further changes.

What Can't Be Changed After Confirmation#

Even with unlock:

  • Quantities on lines already fully delivered cannot be reduced
  • Lines already invoiced cannot be removed without credit notes
  • These constraints protect financial integrity

Controlled Amendment Process#

For formal amendment requests:

  1. Customer requests change (e.g., add 10 more units)
  2. Sales rep creates a Sale Order Amendment note in the chatter
  3. Manager approves (via activity or manual confirmation)
  4. Manager unlocks → rep makes the change → re-locks
  5. Updated order confirmation sent to customer

The chatter shows full history: original quantities, who changed what, and when.

Handling Price Changes After Order#

If pricing changes after confirmation (e.g., price increase takes effect):

  • The confirmed order retains the confirmed price (no automatic price update)
  • If the customer agreed to the new price: unlock → update → re-confirm → re-send order

The price at the time of order confirmation is binding - this protects both parties.

Delivery and Invoice Synchronization#

When a sale order is modified:

  • Additional units added: new picking lines created for the incremental quantity
  • Lines removed: if picking not started, pick line is removed; if started, create a return
  • Price changed: only affects future invoices; already-issued invoices are unchanged

Odoo prevents modifications that would create accounting inconsistencies automatically.

Try ERPeek on your own Odoo module - ask questions, scaffold tests, and explore your codebase in plain language.

Get started free