Technology

  • PHP 8
  • MySQL
  • Scheduled generation
  • Data definitions layer

The challenge

Reporting to a board and to funders happens quarterly and takes days. Numbers are copied between systems and spreadsheets, definitions differ slightly between reports, and an error found late means redoing the chain.

The solution

Definitions are captured once, data is read from the systems that own it, and each report is generated in the format its recipient needs. The manual work moves from assembling numbers to reviewing and commenting on them.

Outcome

A concept example. No time or cost savings are claimed here — the point is that a definition should exist in one place, and a report should be a view of data rather than a document assembled by hand.

More examples