Skip to content

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.

CategoryKPI TypesUse Case
CustomersSummary, byStatus, byDealer, createdByPeriod, droppedByPeriodMonitor customer base growth and distribution
NumbersSummary, byStatus, byDealer, byType, createdByPeriod, droppedByPeriodTrack telephone number allocation and usage
FeaturesSummary, charges, byStatus, byDealer, byType, createdByPeriod, droppedByPeriodAnalyse feature adoption and revenue
InvoicesSummary, byDealer, byMonth, breakdownsReview billing performance and trends
PaymentsSummary, byMethod, byDealer, byMonthReport amounts actually received
Collections (directDebitCollections, cardCollections)Summary, byStatus, byDealer, byMonthMeasure Direct Debit and card collection performance
Debt Ageing (arAgeing)Summary, byDealerBucket outstanding balances by days overdue

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.

  • outputMode (optional): Response format (json, csv, or html)
  • 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.

KPI responses return arrays of objects with field names prefixed by the KPI type:

Summary KPIs typically return a single row:

[
{
"customer_count": 1250
}
]

Grouped KPIs return multiple rows:

[
{
"customer_status": "Active",
"customer_count": 1100
},
{
"customer_status": "Suspended",
"customer_count": 50
},
{
"customer_status": "Dropped",
"customer_count": 100
}
]

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.