Reports & analytics
Once your Odoo is connected and synced, the dashboard is organized into a few sections you can reach from the top navigation.
Overview
Your at-a-glance sales picture over a rolling window (adjustable up to 24 months):
- Invoiced revenue and returns
- Month-to-date and year-to-date, with a year-over-year comparison
- A monthly revenue trend
- Top customers, top products, and revenue by company
A “Data as of…” line shows how fresh the numbers are. Use Refreshto enqueue an on-demand sync when you can’t wait for the next scheduled one.
Saved reports
Under Reports, view your revenue grouped by a dimension — brand, trade, region, or channel — ranked, with returns and unit counts. When a classification map is incomplete, a coverage warning tells you how much revenue is still unclassified.
Customers
Under Customers, search for any customer and open their profile to see their history. Exportable like every other report.
Product mapping
Under Product mapping, map products and customers into brands, trades, and regions. Set an override once and every report reflects it immediately — mapping is applied when a report is read, so there is no re-sync to wait for. This is what powers the grouped saved reports above.
Exports
Every report has an Excel (.xlsx) export so you can drop the numbers into a spreadsheet, a board deck, or a downstream system.
How syncing works
Readout reads your Odoo once a day, at 03:00 UTC; you don’t manage jobs. Reports read from the warehouse it fills, so they’re fast and consistent for everyone on your team. Sync now — on the Overview, and on Settings → Odoo connection— asks for that same job sooner. If one is already running it’s a no-op.
A sync only reads what has changed since the last one, which is what makes it cheap enough to run nightly. Two figures on the connection panel report on it, and they answer different questions:
- Last synced — when the job last ran.
- Data as of — the newest record Readout has. On a quiet week this sits further back than the last sync, and that is not a fault: the job ran and found nothing newer to read.
Re-reading everything
Because a normal sync asks “what changed since last time?”, it cannot see a change that the source does not report as one. Two cases do that: you point the workspace at a different Odoo database, or history is corrected upstream in a way Odoo does not mark as modified. No number of syncs will fix either.
Re-read everything, under the ⋯ menu on Settings → Odoo connection, discards the record of what has been loaded and reads your whole history again. It is owner/admin only and it asks you to confirm, because it runs for hours on a large database — and while it runs your warehouse holds a mix of old and new, so reports keep working but should not be trusted until it finishes.
Questions? See the FAQ →