ReportsHQ
Reports inside your application
Describe the models and columns reporting may read, then define a report against your own database. Check release status before installing.
Two in-process packages
The current Stacks and Laravel source query the host application's database. Their reporting rewrites are not yet in the published package versions.
Describe once, query safely
Name your models, measures and dimensions in one config file. That description is an allowlist, so a block can only ever reach what you named.
It refuses rather than guesses
Ask for a measure at a grain it does not have and the block says why, instead of returning a number that is quietly wrong.
Honest about refusals
A block reports why it could not run instead of presenting a plausible wrong number. The current TypeScript compiler does not calculate prior-period comparison.
Laravel sharing
The current Laravel source has revocable links for one published report. The Stacks package does not yet describe a share route.
It never sees your data
Reporting queries run in process on the application's own connection, not through ORM scopes. The Laravel event forwarder is separate and optional.
Start here
| You want to | Read |
|---|---|
| Check release status and preview the current source | Quickstart |
| Understand measures, dimensions and refusals | Reporting concepts |
| Integrate the Stacks source after release | Stacks package |
| Integrate the Laravel source after release | Laravel package |
| Review every integration setting | Configuration |
| Read the JSON the charts consume | Query API |
| Build a report of your own | Report builder |
| Send a report to somebody outside | Sharing |
| Get the numbers as a file or an email | Schedules and exports |
| Know what a licence covers | Limits |
| Run it on your own machines | Self-hosting |
| Diagnose a report or deployment | Troubleshooting |