Audit-grade controls under scrutiny
Fine internally and stretched when a first audit, a lender, or an acquirer arrives. Close management, period control discipline, and auditor drill-down are where it shows.
By current system
Odoo is the strongest low-cost modular ERP in the market and most of what people run on it works. The two places customers genuinely get stuck are US accounting rigour under external scrutiny, and upgrade friction on an instance where every gap was closed with a custom module because the licence was cheap enough to make code feel free.
The situation
Fine internally and stretched when a first audit, a lender, or an acquirer arrives. Close management, period control discipline, and auditor drill-down are where it shows.
The flexibility is real, and cheap licences make custom modules feel free, so more get built. Every version upgrade then carries a migration cost that arrives all at once.
Multi-element contracts, SSP allocation, and modification treatment are handled more approximately than ASC 606 wants once contracts get complicated.
Odoo is implemented entirely through partners and outcomes vary enormously. A strong partner beats an average NetSuite implementation; a weak one is the most common source of the complaints on this list.
Consolidation exists; intercompany elimination enforced at posting with unmatched activity gating the close is thinner than a group with real cross-charging needs.
Odoo records the transaction and does not read the bill. AP capture, coding, and matching remain human in most deployments regardless of module count.
Because Odoo is implemented entirely through partners, a large share of the problems we are asked about are implementation problems rather than product problems. A shallow chart of accounts, dimensions never configured, customisations written where configuration would have done, and a close that runs on spreadsheets alongside the system.
Replacing Odoo in that situation solves a problem you do not have, and expensively. We do Odoo rescue and reconfiguration work, and where the diagnosis is a bad implementation that is both the cheaper answer and the honest one.
This is the failure mode most worth understanding, and it is not a criticism of the platform. Odoo is genuinely extensible and its licence cost is low, which makes writing a custom module feel like the cheap answer to any gap. Each one is fast. Collectively they accumulate an upgrade cost that arrives every time you move versions.
An Odoo instance with disciplined configuration and few custom modules upgrades fine. The ones in trouble are the ones where the marginal cost of code felt like zero. If that describes you, the honest first step is inventorying what has been built — in our experience roughly a third of custom modules on a mature instance are no longer used by anyone.
For most businesses, Odoo’s accounting is competent and adequate. It gets stretched specifically when someone external starts examining it — a first audit, a quality-of-earnings review, a lender covenant, an acquirer.
What gets examined is close discipline, period control, revenue recognition treatment, and whether an auditor can drill from a balance to a source document without asking you for an extract. If none of those are in your next two years, this argument does not apply to you and you should discount it accordingly.
Worth checking before anything else. A meaningful share of the accounting gaps customers describe turn out to be Community edition limitations rather than Odoo limitations. Discovering that after committing to Community is a common and avoidable detour, and moving to Enterprise is a much smaller decision than moving platforms.
Questions
Version, modules, and customisation level is usually enough for us to tell you which problem you have.