Available KPIs
The SAFE Billing Platform provides comprehensive KPIs across seven categories. Each category offers multiple KPI types to analyse different aspects of your billing operations.
Quick Reference
Section titled “Quick Reference”| Category | KPI Types | Use Case |
|---|---|---|
| Customers | Summary, byStatus, byDealer, createdByPeriod, droppedByPeriod | Monitor customer base growth and distribution |
| Numbers | Summary, byStatus, byDealer, byType, createdByPeriod, droppedByPeriod | Track telephone number allocation and usage |
| Features | Summary, charges, byStatus, byDealer, byType, createdByPeriod, droppedByPeriod | Analyse feature adoption and revenue |
| Invoices | Summary, byDealer, byMonth, breakdowns | Review billing performance and trends |
| Payments | Summary, byMethod, byDealer, byMonth | Report amounts actually received |
Collections (directDebitCollections, cardCollections) | Summary, byStatus, byDealer, byMonth | Measure Direct Debit and card collection performance |
Debt Ageing (arAgeing) | Summary, byDealer | Bucket outstanding balances by days overdue |
URL Structure
Section titled “URL Structure”KPI endpoints follow a RESTful URL pattern:
GET /backend/kpi/{category}/GET /backend/kpi/{category}/{type}/Where:
- {category}: The KPI object (
customers,numbers,features,invoices,payments,directDebitCollections,cardCollections,arAgeing) - {type}: Specific KPI type (optional, defaults to summary)
Instead of a named {type}, you can group any category by its own dimensions:
GET /backend/kpi/{category}/?groupBy={dimensions}&interval={interval}For example, /backend/kpi/payments/?groupBy=period,method&interval=quarter returns payment totals by quarter and payment method. See Flexible Grouping and Intervals for details.
Query Parameters
Section titled “Query Parameters”- outputMode (optional): Response format (
json,csv, orhtml) - key (optional): KPI key if not using Bearer authentication
- groupBy (optional): Comma-separated dimensions, as an alternative to a named
{type} - interval (optional): Period bucket size (
day,week,month,quarter,year) - measures (optional): Named measure set (defaults to
default) - Additional filters specific to each KPI category
Note: Output format is auto-detected based on authentication method - Bearer token defaults to JSON, key parameter defaults to HTML.
Response Patterns
Section titled “Response Patterns”KPI responses return arrays of objects with field names prefixed by the KPI type:
Single-row KPIs
Section titled “Single-row KPIs”Summary KPIs typically return a single row:
[ { "customer_count": 1250 }]Multi-row KPIs
Section titled “Multi-row KPIs”Grouped KPIs return multiple rows:
[ { "customer_status": "Active", "customer_count": 1100 }, { "customer_status": "Suspended", "customer_count": 50 }, { "customer_status": "Dropped", "customer_count": 100 }]Financial KPIs
Section titled “Financial KPIs”Multi-currency results include a currency field:
[ { "invoice_currency": "GBP", "invoice_count": 450, "invoice_amount": 12500.000, "invoice_outstanding": 2500.000 }, { "invoice_currency": "EUR", "invoice_count": 50, "invoice_amount": 3500.000, "invoice_outstanding": 500.000 }]Explore each category for detailed endpoint documentation and examples.