Merge duplicates you can trust not to lose data
Find duplicate contacts, products and product categories automatically, preview the exact merged result, and recover any record with one click. Deduplication for Odoo, built to be safe and reversible.
The same customer gets entered twice, a supplier is imported over an existing one, products are created with slightly different spelling. Native Odoo merges few record types, finds nothing automatically, shows no preview, and warns the operation is irreversible — so users either live with dirty data or merge blindly and destroy history.
Rule-based detection surfaces ranked duplicate groups across contacts, products and categories. Every merge shows a full preview, an impact analysis of the dependent records that will move, and field-level conflict resolution — and every removed record lands in a recoverable archive you can restore in one click.
Everything you need to clean data safely
Every capability below is implemented in the module.
Automated Detection
Configurable rules scan your records and surface duplicate candidates automatically, so you never have to hunt for them by hand.
Multi-Record Coverage
Deduplicate contacts, customers and suppliers, products, and product categories from one tool instead of buying a separate app for each type.
Fuzzy Matching
Optional similarity matching catches near-duplicates that differ by spelling, spacing or capitalization — the real-world duplicates that exact-match tools miss.
Ranked Candidate Groups
Each group carries a match confidence score and a clear reason, so you review the strongest matches first and are not buried in false positives.
Merge Preview
See the exact consolidated record — every surviving field value — before the merge runs. No more committing an irreversible action blind.
Impact Analysis
Before you merge, the wizard lists the dependent records — orders, invoices, activities — that will be relinked to the surviving record, so you know the blast radius up front.
Field-Level Conflict Resolution
When duplicates disagree on a field, choose exactly which value survives per field instead of accepting an arbitrary result.
Recoverable Archive
Merged-away records are soft-deleted into a clearly labeled archive and restored with one click, so an “irreversible” merge becomes recoverable.
Audit Log & Scheduling
A full audit log records what was merged, when, and which values were retained. Optional scheduled detection surfaces new duplicates on a recurring basis.
How it works
Define a Rule
Pick a record type, the match fields, and optional fuzzy matching and domain scope.
Scan & Review
Run the scan and review ranked duplicate groups sorted by match confidence.
Preview & Merge
Resolve field conflicts, preview the result and impact, then confirm the merge.
Recover Anytime
Made a mistake? Restore any archived record in one click from the audit log.
See it in action
Real screens from the module, captured on Odoo 17.
Detected duplicate groups ranked by match confidence, each with its match reason.
A duplicate group with its candidate records, ready to review and merge.
Detection rules for contacts, products and categories, each with its own scan.
A rule with its match fields, fuzzy similarity threshold and domain scope.
The merge history log — a full audit trail of every completed merge.
A merge log showing the surviving record and the recoverable archived snapshot.
The recoverable archive: every merged-away record is restorable in one click.
Frequently asked
Can I undo a merge if I make a mistake?
Yes. Every merged-away record is soft-deleted into a recoverable archive with a stored snapshot. From the merge log you can restore any archived record in one click — nothing is permanently deleted.
Which record types are supported?
Contacts (customers and suppliers), products, and product categories. You define a rule per record type with the fields to match on.
What happens to orders and invoices linked to a duplicate?
They are relinked to the surviving record so no history is lost. Before you confirm, the impact analysis lists exactly which dependent records will move.
Does it detect duplicates that are spelled slightly differently?
Yes. Enable fuzzy matching on a rule and set a similarity threshold to catch near-duplicates that differ by spelling, spacing or capitalization, not just exact matches.
Get in Touch
Have questions or need customization? Every purchase includes 30 days of free support — we are here to help.
Visit Our Website
www.cerevantix.comExplore our apps, services, and portfolio.
Empowering growth through technology.
Safe, reversible deduplication for contacts, products and categories, built natively on Odoo.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Contacts (contacts)
• Discuss (mail) |
| Lines of code | 1100 |
| Technical Name |
cerevantix_merge_duplicate_data |
| License | OPL-1 |
| Website | https://cerevantix.com |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module