Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
  1. Home
  2. Blog
  3. Reporting and Dashboards in Custom Software
Custom Software

Reporting and Dashboards in Custom Software

Reporting is where custom systems disappoint most often. Why it gets left until last, and what to decide before the data model is fixed.

Updated 2 min readBy SpiderHunts Technologies

Free estimateNo obligation

Get a free estimate

Tell us what you need. A senior engineer reads every enquiry.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →

Quick answer — TL;DR

Reporting requirements shape the data model, so they cannot be left until the end. Decide what has to be reportable, and whether people need fixed reports or the ability to answer new questions, before the schema is settled.

The short answer

Work out what the system has to be able to tell you before you design how it stores things. A data model built purely for transactions will make some questions expensive or impossible to answer later.

The classic example is not keeping history. A system that overwrites a status cannot tell you how long things spent in each state, and that is usually the question someone asks first.

Decide what must be reportable

  • Which numbers will be reported externally or to a board
  • Which need history rather than current state
  • Which need to be reconcilable with another system
  • Which are used operationally, several times a day
  • Which questions nobody can answer today and should be able to

The second point is the one with architectural consequences. Reporting on change over time requires keeping the changes, and that is a decision made early or not at all.

Fixed reports or self-serve

Fixed reportsSelf-serve
Build costLower per reportHigher up front
New questionsNeeds a developerUser can answer
ConsistencyHigh, one definitionRisk of different answers
TrainingMinimalReal
SuitsRegular known questionsExploratory analysis

Most businesses need both: a small set of fixed reports everyone trusts, plus a way for a few people to explore. Trying to make everything self-serve produces a tool nobody uses and three versions of every number.

Agree the definitions

The most common reporting dispute is not about the software. It is that finance and operations define the same number differently, and both are right within their own frame.

Get the definitions written down and owned before the reports are built. A report producing a number nobody agrees with is worse than no report, because people now argue about the tool instead of the definition.

Do not report off the live database

Heavy reporting queries against the transactional database slow down the application, usually at the worst moment because reports get run at month end.

  1. Use a replica for anything heavy.
  2. Precompute the expensive aggregates on a schedule.
  3. Keep the operational dashboards light and targeted.
  4. Move genuinely analytical work to a separate store if it grows.
  5. Monitor query time so a slow report is noticed before users are.

Export is not a failure

People will want the data in a spreadsheet. Fighting that produces workarounds; supporting it properly means the export is accurate and traceable rather than a screen scrape.

A good export with clear column definitions is often more valuable than another dashboard, and considerably cheaper to build.

FAQ

Frequently asked questions

The questions readers ask us after this guide.

Still have a question?

Ask us directly — a senior engineer will get back to you.

Ask about your project

When should we design reporting?

Alongside the data model, not after. Some questions become impossible to answer if history is not kept from the start.

Should we build reports or use a BI tool?

A BI tool over a well-structured replica is often better value than building reports by hand, particularly if the questions will change.

Why do our numbers not match finance?

Usually a definition difference rather than a bug. Get the definitions agreed and written down before blaming the system.

Can users build their own reports?

Some can, with training and a well-modelled dataset. Expect a small number of people to do this and the rest to want fixed reports.

Keep reading

More on Custom Software

Custom Software

When Off-the-Shelf Software Stops Fitting

Every platform is bent to fit eventually. The signals that you have passed the point where configuration is cheaper than a custom build.

Custom Software

Turning a Critical Spreadsheet Into Software

Most businesses have one. Why it survived, what it encodes that nobody wrote down, and how to replace it without losing the knowledge inside it.

Start here

Weighing up a custom build?

Tell us what you are trying to fix and what you already run. We will give you an honest view on whether custom software is the right answer, what it would involve and a realistic range. If configuring what you have would do the job, we will say so.

  1. You tell us what you needTwo minutes on the form, or a message on WhatsApp.
  2. A senior engineer reviews itAnd comes back with questions, a realistic range and an honest view on fit.
  3. Free 30-minute scoping callWe talk through scope, options and a realistic estimate — with no obligation.
Free estimateNo obligation

Talk to someone who builds this

Send a short brief and we will come back with an honest view and a realistic range.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →