Odoo Readiness Check — what will your Odoo data actually support?
Point this at an Odoo 18 or 19 instance and it reads, read-only and once, how much posted history is there, how much of it carries an analytic distribution, and how clean those distributions are. You get a readiness band from A to E, every criterion itemized with the raw numbers behind it, and a straight answer about what could be built on the data today. It takes up to a minute.
What it reads
- Posted move volume
- Length of history
- Draft ratio
- Analytic plans in use
- Analytic coverage by value
- Distribution quality
- Legacy plan coexistence
- Multi-currency lines
- Chart of accounts profile
Coverage, distribution quality and multi-currency are measured over the last twelve full months of posted activity; the rest is the instance's current state. One company is graded per run. Every bar is a published default threshold, and each criterion in the report prints the threshold it was measured against, so the arithmetic can be checked.
What a band means
A band describes the data, not the people who keep it. Several of the bars close on their own with time and usage, and the report says which of them do — there is no failing grade here.
- Band A — every criterion passes at these thresholds. The full build is available on the data as it stands: general ledger and analytic cubes, reporting, reconciliation checks and a dashboard.
- Band B — analytic and ledger data support a full build today. The gaps the report itemizes are headroom toward Band A, not blockers.
- Band C — ledger data is viable for a general ledger and reporting build today, and analytic instantiation joins it once the coverage gap closes.
- Band D — ledger data does not yet clear the viability bar for a build, and the report itemizes what is required. This is usually volume or length of history, which accrue on their own.
- Band E — no posted data was found to grade. That is a fact about an empty or freshly installed database rather than a verdict, and the report turns to connectivity and setup guidance instead.
How to start
You need the address of the instance, its database name, and a login with read access to Accounting and Analytic Accounting. An Odoo API key works in place of a password. The check makes read calls only — it counts moves and lines, reads your analytic plans and your chart of accounts, and writes nothing to your Odoo.
Unlike a file you drop into a browser, this one has to reach a server: Odoo does not serve cross-origin requests, so the credentials really do travel to us for the length of one request. They are never stored, logged, or returned. We keep an anonymous record of each grade — the band, the numeric measurements and the Odoo major version — carrying no hostname, no database name, no login, and no names out of your database.
What it cannot see
Whether the analytic distributions are meaningful — only whether they are present and well-formed. Anything an instance's access rules hid from the login you used. And any instance that exposes XML-RPC but not JSON-RPC, which this web check does not speak.
XCubes builds financial models on multidimensional cubes, and reads Odoo into them directly — which is what the band on this page is a measure of.