How to design Odoo reports before custom development

A report requirement should define its decision, audience, data source, cut-off rules, filters, totals, and reconciliation before layout work starts.

Requests such as “make the old report in Odoo” are incomplete. The old layout may contain manual adjustments, unclear formulas, or data that belongs to several processes. Rebuilding it exactly can preserve errors and create an expensive report nobody trusts. Start with the decision Ask who uses the report, how often, and what action follows. An operational picking list, a management margin report, a legal invoice, and an audit schedule have different requirements for timing, precision, security, and presentation. Define every number Record the model, field, date basis, company, currency treatment, tax treatment, state filters, and sign convention. If two people calculate the same column differently, development should not start. Choose the right output A screen view may suit live investigation. A spreadsheet may suit analysis. A PDF may be required for a controlled external document. A dashboard may suit trends. Avoid forcing every use case into a printed report. Build reconciliation into acceptance State what the total must match, such as a ledger balance, stock valuation, source document set, or approved manual control. Test boundary dates, cancellations, refunds, multiple companies, and access roles. Practical checklist Name the report audience, frequency, and decision. Define the source and formula for every important value. Confirm dates, states, companies, currencies, and exclusions. Select screen, export, dashboard, or PDF deliberately. Agree a reconciliation source and edge-case tests. Final decision A report is ready for development when its meaning is more precise than its visual layout. If the numbers are not defined, styling them only makes uncertainty look official.