Company Mismatch Check
Check one model for records whose company disagrees with the records they link to
The video below shows Company Mismatch Check running on a real Odoo 19 database. Want it driven against your own data, or a question answered first? Ask and we will set up a session.
Odoo refuses to save a record pointing at another company's data - but only from the moment that check was declared on the field. Anything imported, migrated, or written before then is already in your database, and you find out when somebody opens it and the save fails.
Pick a model and see whether it holds any.
Two bank accounts checked; one belongs to a different company than the partner it points at.
What it does
One model, checked properly
Reads the records of a model and compares each link against the company on the other end, naming the record, the field, and both companies. Only links to models that carry a company of their own are compared - the rest cannot disagree with anything, and including them would be noise.
A model with no company field is refused
Rather than reported as clean. Answering "no problems found" about something that could never have had one is a confident wrong answer, and those are the ones people act on.
It reports, it never changes a record
Everything it finds is something for you to decide about. Moving a record between companies has consequences a report has no business guessing at.
What it does not do
When a model holds more rows than one pass reads, it says so on the result. A clean result from a partial read is not a clean result, and presenting it as one would be worse than not checking at all.
Screenshots

Requirements
- Odoo 19.0, Community or Enterprise.
- Odoo.sh or On-Premise only. Third-party apps cannot be installed on Odoo Online (SaaS) databases — check your hosting before buying.
- Odoo 19 Community or Enterprise. Depends only on base and nothing leaves your server.
- Module
mh_company_mismatch_check, version 19.0.1.0.11, licensed OPL-1.
Related apps
Cash application for accounts receivable: match bank statement lines to open invoices, including a lump sum across several invoices and a short pay writeoff.
Form 1099-NEC and 1099-MISC: W-9 and TIN records, exclusions, box amounts and a filing export
SAF-T for Odoo Community - no Enterprise upgrade, no consultancy engagement