Guides
Reports people actually read
Nobody needs eighty reports. They need six they trust, and a way to answer the seventh question without asking for a new one.
The Rocket ERP team
Rocket ERP3 min read
Report count is a bad proxy for reporting quality. A system with eighty reports usually has eighty because nobody could find the right one, so a near-duplicate was added, twice a year, for a decade. The result is a list long enough that people export to a spreadsheet instead - which is the outcome the reports existed to prevent.
A report needs a question, an owner and a decision
Before building one, it is worth writing down what question it answers, who reads it, and what they will do differently depending on the answer. A report that fails the third test is a dashboard tile at best, and more often a habit.
The same test applied to an existing list is how you shorten it. Ask each report owner what decision it drives. The ones with no answer can be retired, and retiring them makes the remaining ones findable.
Sign conventions are the main reason people distrust a number
Is a customer balance positive when they owe you, or negative? Is a return a negative sale or a positive return? Is an expense positive because it is a cost, or negative because it reduces profit?
Every answer is defensible and none is universal, so the only real failure is inconsistency between two reports that a reader compares. Pick the convention per concept, state it in the report header, and apply it everywhere. A reader who has to work out the sign convention has already lost confidence in the number.
Say when the data is from
Any report that can be cached, or that reads a summarised table, must display the moment its data is from. Without it, a figure that refreshed five minutes ago and one that refreshed yesterday look identical, and a decision gets made on the older one.
This matters most on dashboards, which are the reports most likely to be cached and the least likely to say so.
Design for both languages and for paper
A report is the most layout-sensitive thing in a business system: dense tables, long names, numbers that must align. In Arabic the whole table mirrors, and column widths that worked for English labels will not fit the Arabic ones.
And they get printed and emailed. A report that is beautiful on screen and unreadable as a PDF will be screenshotted, which is how a number ends up in a meeting with no indication of when it was run or what filters produced it.
The six that most businesses actually need
Trial balance, because everything else must reconcile to it.
Stock valuation by warehouse, with a movement history for any item.
Receivables aged by due date, not by invoice date - overdue is about terms, not age.
Payables with the same treatment, so you can see what is due before it is late.
Margin by product and by customer, after discounts.
Cash position and committed outflows for the next thirty days.
Most other reports are one of these six with a filter. A system that lets a user add a filter and save the result is a system that needs six reports rather than eighty.