Company Audit
Find the records whose company conflicts with the records they point at, before Odoo refuses the transaction
The video below shows Company Audit 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.
A multi-company database drifts. Records get imported, migrated, or written before a module declared its company checks, and they sit there contradicting themselves until somebody opens one and the save fails.
This checks the whole database and tells you what is inconsistent.
One cross-company link, and two users who can switch between companies.
What it does
Records pointing at another company
A record in one company linked to a record owned by another. Odoo will refuse the next write on each of them, which is how most people find out - at the worst possible moment. The report names the record, the field, and the company on both sides.
Records with no company at all
On a model where every other record has one, a blank company means every company in the database can see it. Technical models are left out, because they legitimately have none and reporting them would bury what matters.
Users who can switch companies
Often entirely correct - a finance lead may need all of them. It is also the setting that turns one careless record into a cross-company leak, and it is the one nobody reviews.
Why this data exists at all
Odoo enforces company consistency at write time, on the fields that declare the check. That says nothing about records imported, migrated, or written before the flag existed. Those are already in your database, and you cannot create one through the interface to go looking for it.
It reports, it never repairs
No reassignment, no cleanup, no scheduled monitoring. Moving a record between companies is a decision about your business, not something a report should make on your behalf.
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, nothing leaves your server, and it is restricted to Settings administrators.
- Module
mh_company_audit, 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