Executive Dashboards and Reporting
Live cross-client dashboards and downloadable PDF, CSV and Excel reports for MSPs and the organizations they serve — with every number traceable to the record it came from.
How Solidlio helps
Two surfaces, one source of truth. Executive dashboards aggregate live over every organization you work across — your own service desk included, and every client you co-manage — and separate that reach from your book of business, so workload and client count are never silently conflated. Reports are artifacts: you queue one, a worker aggregates and renders it, and you download a file that still says the same thing in six months. And where there is no data, the product says so: an unmeasured SLA reads “No data”, not a green 100%; a figure your role cannot see reads ”—”, not $0.
Capabilities
| Capability | What it does |
|---|---|
| Cross-client roll-up | One dashboard over every organization you service — tickets, SLA attainment, assets, escalations and client health. |
| Seven report types | Revenue, tickets, assets, client health, SLA compliance, profitability, and a custom report that composes any combination of them. |
| Three output formats | PDF with charts, RFC 4180 CSV with a UTF-8 byte-order mark, and multi-sheet Excel — chosen per report, rendered once. |
| Charted PDFs | Every breakdown table gets a scaled bar chart above it, with each bar carrying its own printed number. |
| Per-client scoping | Narrow any report to named client organizations. The selection can only narrow what your account can already see, never widen it. |
| Profitability with real cost | Revenue against labour costed at the rate on each time entry, with unpriced hours reported separately rather than costed at zero. |
| Role-separated financials | Technicians run the desk reports; margin, revenue and receivables need an administrator, enforced on generation and on download. |
| Streamed downloads | Report files are never a guessable URL. Every download re-checks the account and the role and streams the bytes. |
| Honest empty states | No sample means no rate. Withheld means withheld. The product will not invent a 100%, a 0% or a $0. |
Built for MSPs and their clients
An MSP dashboard is not one big pile of everyone’s data, and a client’s dashboard is not a cut-down copy of the MSP’s. Each side gets the aggregate that belongs to it.
| Organization | MSP | |
|---|---|---|
| Executive view | Its own tickets, SLA, assets, people and AR | Every organization it services, plus its own |
| Client counts | — | Clients only — the MSP is never a client of itself |
| Reports | Exports over its own organization | Exports across every client, or narrowed to named ones |
| Financial access | Its own administrators | Its own administrators; technicians see operations, not margin |
| Co-managed clients | Appears on every servicing MSP’s dashboard | A collaborator link gives the same visibility as being the primary MSP |
Two structural guarantees fall out of this. An MSP’s own service desk always counts toward its own workload — bringing on a first client does not make the in-house desk appear out of nowhere. And a second MSP brought in to co-manage a client sees that client’s work immediately, without taking over the billing relationship.
How it works
- Open the executive dashboard and pick a window — today, 7, 30 or 90 days. Tiles, SLA rings, escalation trends, client health and asset health load in one request.
- Spot the thing worth explaining — an SLA rate that moved, a client whose breach count is climbing, receivables drifting past due.
- Generate the report behind it. Pick the type, the date range, the clients and the format; add charts if it is going in a deck.
- The worker renders it out of band. Your request returns immediately with a pending row; the library polls and the row advances on its own.
- Download the artifact. The account and, for financial reports, the role are re-checked at that moment and the bytes are streamed to you.
- Attach it. The file is fixed. Re-running the same range next quarter produces a comparable document, not a differently-shaped one.
Compliance and audit
- Every report records who ran it, when, over what range, and over which client organizations — and the file’s row count, so an empty report is distinguishable from a broken one.
- Scope is resolved at generation time from the report’s own account. A report queued before a client was detached cannot widen back into that client afterwards, and a request body can never widen scope beyond the account.
- Financial reports are gated on generation and again on download. A report is account-wide and stays in the shared library, so the second check is what stops a technician retrieving an administrator’s margin analysis.
- Report files are not addressable. There is no public or signed blob URL; every download passes the account check and streams through the API.
- A failed report says why. Generation failures are recorded on the row with a readable reason. No report is left silently pending, and none is marked complete with no file behind it.
- Truncation is declared. A table capped at 5,000 rows says so inside the artifact, in every format.
Plans and access
Availability depends on your plan, role and account permissions. Capacity limits and service terms apply. Compare current plans and integration requirements, or ask us about your setup.
Numbers you can put in front of a client, because you can say where they came from.