| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 144 |
| Technical Name |
ma_duplicate_detector |
| License | LGPL-3 |
| Versions | 18.0 19.0 |
Duplicate contacts, products, and vendors accumulate silently until they become a data quality crisis.
Duplicate Record Detector
What this module does
Duplicate Record Detector adds configurable duplicate-checking rules to any Odoo model. Managers define which model to watch and which fields to match. When a user saves a record that already exists in the system, they see an instant alert with the name of the existing record and a direct link to open it.
Without this module, duplicate contacts, products, suppliers, and customers pile up unnoticed until they cause reporting errors, payment mistakes, or inventory confusion. This module stops duplicates at the point of entry rather than after the damage is done.
|
⚙
Per-Model Rules
Configure one rule per model. Watch Contacts, Products, Vendors, or any other model in your database. Each rule is independent and can be enabled or disabled at any time. |
🔍
Multi-Field Matching
Select one or more fields per rule. All selected fields must match for a record to be flagged, giving you precise control over what counts as a duplicate without false positives. |
🔗
Direct Link to Duplicate
The alert shows the name of the existing record and a clickable link to open it directly. Users can review the existing record and decide whether to proceed or discard their entry. |
|
⚡ Performance Optimized
Uses a limit=1 search that stops at the first match. Works in milliseconds even on tables with 150,000+ records. Zero performance overhead when no rule is configured for a model. |
🔒 Admin-Only Configuration
Rules are accessible only to system administrators under Settings > Technical. Regular users see the warnings but cannot modify or disable the rules. |
|
🔄 Create and Edit Coverage
Duplicate checks run on both record creation and editing. If an edit makes a record match an existing one, the alert fires and shows the conflict before the save completes. |
🛡 Import Safe
Bulk imports and programmatic operations can bypass the check using the duplicate_skip context key. This prevents noise during migrations and batch data loads. |
How it works
| 1 | Go to Settings > Technical > Duplicate Detector > Duplicate Rules and click New. |
| 2 | Select the Model to monitor, for example Contact, Product, or any custom model in your database. |
| 3 | Choose the Fields to Check. Only stored fields for the selected model appear. All selected fields must match for a record to be considered a duplicate. |
| 4 | Save the rule. From now on, any user who tries to save a matching record will see an alert with the duplicate's name and a link to open it. |
Screenshots
Duplicate Rule Configuration
Duplicate Alert on Save
Technical information
| Technical Name | ma_duplicate_detector |
| Version | 18.0.1.0.0 |
| License | LGPL-3 |
| Compatibility | Odoo 18 Community & Enterprise |
| Dependencies | base |
| Models Added | ma.duplicate.rule |
Need Help?
Questions, customization requests, or bug reports. We respond fast.
muneeb76834@gmail.com · Response within 1-2 business days
Please log in to comment on this module