Warn (or Block) Users from Editing Contacts Used in Odoo Orders

Editing contacts

We’ve added a new feature that protects your order history from accidental changes. Now, if a user attempts to edit a contact that has been used on sales orders, deliveries, invoices, or payments, Odoo will either alert them or block the edit entirely, depending on their permissions.

This ensures users don’t unintentionally change delivery addresses or billing details on important historical records.


Why It Matters

In Odoo, contacts are shared — editing a contact used on a sales order can update the delivery address or billing details on all related documents, including past ones. This can lead to confusion, incorrect shipments, or audit issues.

This new feature:

  • Warns users when they’re about to edit a contact that’s used on orders or other documents
  • Optionally blocks the edit unless the user has manager-level permissions
  • Logs all edits to the chatter with a warning message

How It Works

When editing a contact, the following fields are monitored:

  • Name, company, type
  • Address lines, city, state, zip, country
  • Email, phone
  • Related delivery address fields like address_location_code

If any of these are changed and the contact is linked to existing documents, Odoo will show a warning or prevent the edit based on the user’s role.

Exception

When users are editing a contact directly from a sales order, and the contact is only used on that order, no warning is shown.

This keeps the process efficient by allowing changes to be safely isolated.


Supported Documents

The system checks for links to the contact in:

  • Sales Orders
  • Purchase Orders
  • Invoices
  • Payments
  • Payment Tokens
  • Payment Transactions
  • Stock Pickings

What Users See

If the contact has been used in any of the above documents:

  • Users in the “Contact Edit Warning Only” group will see a popup warning before saving
  • Other users will be blocked from saving edits unless they have override access
  • A message is logged in the contact’s chatter with a note about the warning

How To Configure

  • Go to the Contacts section in the settings app and enable the “Prevent editing used contacts” setting.
  • Once you enable the feature, two additional settings will appear.
    • Restricted Partner Fields: Here, you add the specific fields you want to be restricted.
    • Related Fields To Check: Here, you add the open document types you want Odoo to check for.
      Screenshot 2025-05-28 164153

User Permissions

Two new groups control the behavior:

  • Contact Edit Override Group: Can bypass the block but still see the warning
    • Users outside this group will be prevented from saving edits to shared contacts

Admins can assign users to these groups in the system settings:


Who Benefits

This feature is helpful for:

  • Sales teams working with shared customer addresses
  • Clients managing recurring customers or accounts
  • Businesses that need to preserve historical contact records for compliance or tracking

It prevents costly mistakes, like accidentally overwriting the shipping address for hundreds of past orders, while still allowing authorized users to make necessary updates.