Skip to main content
September 23, 20269 min read

Odoo reporting and KPIs: from data to a measurable indicator

Share

A report in Odoo is a means to a decision, not the goal. The question that separates a useful report from a crowded table is: which decision changes if I see this figure? If the answer has no clear form, the indicator is decoration rather than a tool. This article explains the kinds of output in Odoo, how an indicator is designed from the question rather than from the available field, and the preconditions without which it measures data entry instead of the business.

Three different outputs: a standard report, an analysis view, and a pivot

Choosing the tool comes before building the screen, and each kind answers a different question:

  • The standard report: a preconfigured template that produces a document or a list in a fixed order, suited to recurring work that follows a published procedure, such as a tax report or a vendor statement.
  • The analysis view: a screen that can be filtered, grouped and measured, used for a changing question without a development request, such as analysing sales by branch and period.
  • The pivot and graph: a representation that aggregates detail into measurable rows and columns and compares trends, suited to periodic review once the measures are known.

The rule is that the standard report answers a fixed question, the analysis view answers a changing question, and the pivot shows a relation between groups. Whoever uses a pivot to measure what they do not understand, or a standard report to ask a new question, ends with a table that leads to no action.

Start from the question and the decision, not from the field

Sound design starts from the decision and moves towards the data, not the other way round:

  1. Write the operational question in words the business owner understands, for example: are we late in delivering the orders we committed to this month?
  2. Write the decision that changes based on the answer, who takes it, and the specific action that follows.
  3. Define the indicator that answers the question, then write the numerator, the denominator and the period before looking at any available field.
  4. Verify that every element of the numerator and denominator has a trustworthy data source inside Odoo; otherwise the indicator is not computable, not merely unclear.
  5. Name an owner for the indicator and a rhythm for reviewing it, because a figure with no owner is a report opened once and then forgotten.
  6. Review the indicator after a full cycle and ask: did it change a decision? If it did not, delete it or redesign it.

The common mistake is to start design from the available fields, building an indicator because the data exists rather than because the decision needs it; the result is many reports nobody uses, then pressure to change the system so it measures what was never asked.

Numerator, denominator and period, then data quality

What makes two reports disagree is usually not an arithmetic error but the absence of a shared definition. For every indicator, write down what the numerator counts, what is excluded from it, what the denominator is exactly, whether it is all records or only due records, whether drafts and cancelled records are excluded, and what the period and the cut-off date are. One written definition prevents more argument than any improvement to the screen.

An undefined denominator is a recurring cause of disagreement: one report counts open orders and another counts all orders, so both look right and contradict each other. The period is part of the definition too: an indicator for the current month is incomplete by nature, and comparing it with a closed month needs to be said explicitly, so write the time range into the report title, not into the reader's memory.

Data quality then comes as a precondition: an indicator built on incomplete, duplicated or empty-field records measures the discipline of data entry, not the performance of the business. So verify before building that the fields are complete, that the unit of measure is agreed, and that the record is entered at the time the indicator measures. If the requirement is a structured measurement layer above Odoo, review the data analytics service.

Filters, group by and favourites: a saved definition for the team

The filter and the grouping are what turn a list into analysis: the filter decides which records enter the calculation, the grouping decides how they are arranged into sets, and the measure decides which field is aggregated. Because these choices change the result, they must be part of the indicator definition rather than a personal choice repeated every time.

So save the setting as a clearly named favourite and share it with the team or the group that needs it, instead of every user rebuilding the filter their own way. A shared favourite unifies the calculation and becomes a reviewable record of what the term means in the organisation, so check periodically that it still matches the written definition, because a definition that is never tested drifts in silence.

A daily operational report and a periodic management report

Separate what the team uses daily from what the manager reviews periodically. The operational report is short, opened every day or week, and answers an executive question: what is late today, who is waiting for what, which request needs intervention now. The management report is reviewed on a stated rhythm, compares periods and presents a direction rather than a momentary state.

Every indicator should have an owner and a review rhythm, because an indicator with no owner and no review date becomes decoration: it is built and never opened, or it is opened so the manager can confirm the figure exists rather than to take a decision.

Exporting to a spreadsheet is a temporary tool: it suits a one-off question, but it detaches the figure from its source and becomes stale the moment it is downloaded, unlike a live view in Odoo that stays connected to the data and suits follow-up and accountability. The honest judgement is that using both is acceptable on one condition: it must be clear which figure is copied and which is live, so an old figure is never compared with a live one without a warning.

Reconciliation with the general ledger, and who decides

Any financial analysis view must be reconciled with the general ledger in accounting: total sales, receivables, inventory and cost. A difference does not necessarily mean an error, but it is an open question until it is explained: it may be a period difference, a manual entry outside the filter, an incomplete record, or a different classification. So record the difference and its cause, and do not close the reconciliation merely because the two figures came close.

Make clear who uses what: the opportunities report in CRM belongs to the sales team, while the margin report belongs to management, and mixing the two produces intervention in the wrong place. With it goes the working rule: the system presents the figure and the human decides, so a report does not decide to grant credit, stop a vendor or approve a budget.

Finally, document the definition of every indicator in a written dictionary: the name, the question, the numerator, the denominator, the period, the owner, the review rhythm and the data source. That dictionary is what makes reporting transferable and turns any argument about a figure into an argument about a definition that can be settled.

What we do not guarantee

  • We do not guarantee a particular commercial outcome, and we announce no figure in advance for improvement.
  • We do not commit to a final price before analysing your data and your scope.
  • We do not commit to a final duration before a written scope agreed by both parties; any estimate we mention remains a planning range.
  • We issue no legal or tax opinion and express no regulatory ruling.
  • We grant no certificate, no professional accreditation and no official partner status.
  • We do not guarantee a search-engine ranking or an appearance in specified results.

Need Help with this Topic?

Contact our experts for a tailored consultation.

Contact Us