The moment two departments sit in a meeting with different figures, the problem is not the report but the source. Bring the data together in one place first, agree per field which system is authoritative, and build the reporting on top of that.
The steps
- Decide the authoritative source
- One system per field that is right. Without that agreement every discrepancy stays unresolvable.
- Bring it together
- A reporting database or data warehouse alongside the existing systems, filled at fixed times.
- Write down the definitions
- What is revenue, who counts as a customer, when is an order complete? Most discrepancies come from here, not from the technology.
- Build the reporting
- Only once the above is in place. Otherwise you automate the confusion.
Practical choices
- How fresh do the figures need to be?
- Once a night is almost always enough and avoids a lot of complexity compared with real time.
- Where does it run?
- MS-SQL or PostgreSQL alongside the existing environment usually suffices; a separate platform is rarely needed.
- Who may see what?
- Permissions belong in the design, not after it. They partly determine how the data is stored.
We have done this for a bank: an interface between the production environment and the data warehouse, with REST and JSON connections to the systems behind it.
More on this →