Live on the Odoo App Store
Find unusable contacts before they cost you an invoice.

Features
Contact data fails quietly. A malformed email address does not announce itself; it just means an invoice never arrives and nobody finds out until the account is overdue. Two contacts sharing an address means the follow-up went to the wrong person.
This audits your contacts for exactly those faults: the ones that silently break invoicing, delivery and follow-up.
The ones that look fine at a glance and bounce. Each is named: no @ sign, more than one @, a space, a comma instead of a dot, a domain with no dot, misplaced dots, a suspicious ending, illegal characters or too long.
So a follow-up cannot reach the wrong person unnoticed. Matched across every active contact, whatever the capitals or stray spaces.
Flagged before you try to issue one. A company with no country counts as an issue, because it drives tax and reporting. A missing email, phone, street or city is shown for visibility, never counted.
Plus addressing, subdomains, long modern domain endings and internationalised addresses are accepted, because they are valid.
An action on the contacts list trims stray spaces and lowercases the domain on the contacts you select. The part before the @ is never changed.
The audit list opens worst first and is editable in place, so a fix is one click from the problem.
How it works
Every check is done on the address as stored. Nothing is sent to a mail server or a verification service.
Add the module to your addons path or your Odoo.sh branch and install it from the Apps menu. It adds its own Contact Health menu.
Run Contact Health > Rescan Contacts so contacts that existed before the install are checked. After that, a contact is re-checked whenever its email, phone, address, country or company flag changes.
Contact Health > Audit opens on contacts with issues, most issues first. Filter to Unusable Email, Shared Email or Company Without Country and correct them in place. Merging stays with you.
Technical Edge
A small module that reads your contacts: one dependency, one menu, and a handful of stored audit fields on the contact.
Checked in the module source and the live Odoo App Store listing, September 2026
Pricing
Bought on the Odoo App Store under OPL-1, for the Odoo version you run.
USD 19
One-time purchase · OPL-1 · Odoo 16.0 to 19.0
On quote
Scoped with you before any work starts
Built For
Teams whose contact database has been added to by more than one person, or imported at least once. Both are enough to produce duplicates that nobody knowingly created. It is worth running before any bulk email or invoicing run rather than after.
FAQ
Malformed email addresses, contacts sharing one address, and the fields an invoice cannot be issued without. All three are flagged before you try to issue anything.
They share one property: nothing tells you. A malformed address bounces into a mailbox nobody reads, two contacts on one address send the follow-up to the wrong person, and none of it is visible in the contacts list or improves on its own.
No. It reports what it finds. Merging contacts is a judgement call about which record is the real one, and that stays with you.
Every listed Odoo version is certified on each release by installing the module into a real Odoo image of that series and running the full test suite. A version is only listed once it passes.
Odoo Online cannot run third-party modules that contain Python, which is Odoo's rule rather than ours. Odoo.sh and self-hosted installs are both fine.
Email hello@tripsterdevelopers.com with your Odoo version, the module version and what you did. If a contact is reported in a way you do not expect, include the email address exactly as it is stored, which answers most questions immediately.
Yes. Odoo 16, 17, 18 or 19, Community or Enterprise. The same build installs on either edition.
Download the module from its Odoo Apps Store page, place the folder in your addons path, restart Odoo, then update the apps list and install it from the Apps menu. Odoo.sh users add it to the repository branch instead.
Each listed Odoo version has its own build. When you move to a new major version, install the build for that version. There is no configuration to carry over, and Rescan Contacts checks every contact again.
Inside your own Odoo instance. The module runs on your server and talks to your own systems. We do not host your records and we do not receive a copy of them.
Yes. Odoo modules are distributed as readable Python and XML, so your own developer can review exactly what runs and extend it under the license the module ships with.
Your Odoo version, the module version from the Apps screen, and the contact and address involved. Those three together are usually enough to answer in one reply rather than four.
Yes, at the same support address. Say what you are trying to achieve rather than the field you want added; it is often already possible, and when it is not, the underlying goal is what shapes the change.
Each release note is published on the module's Odoo Apps Store page, against the version number shown on the Apps screen in your own database.
Tripster Developers, a Shopify Partner and Odoo module publisher based in Auckland, New Zealand. The same team writes the code and answers the support mail.
Miko Apps
Email Validation & Duplicates is live on the Odoo App Store, published by Tripster Developers.
Miko for Odoo
Published and maintained by Tripster Developers on the Odoo App Store. See all Odoo apps.
Not on Shopify yet?
Set up your store in minutes and try it with your own products. Loyalty, wholesale pricing, AI descriptions and the rest of the Miko apps install in one click once your store is live.