Skip to content

Payment KPIs

Report the money actually received, rather than the amounts invoiced. Payment KPIs group received payments by method, dealer and time period, giving you the collection side of your cash flow picture.

Reversed payments are excluded by default. Use the includeReversed or reversed filters to bring them in.

Returns overall payment totals.

Endpoint

GET /backend/kpi/payments/

Example Request

Terminal window
curl -X GET "https://companyname.callstats.net/backend/kpi/payments/" \
-H "Authorization: Bearer YOUR_KPI_KEY"

Example Response

[
{
"payment_customer_count": 2350,
"payment_count": 3105,
"payment_amount": 84250.000
}
]

Groups payments by how they were made: Direct Debit, card, cheque, bank transfer and so on.

Endpoint

GET /backend/kpi/payments/byMethod/

Example Request

Terminal window
curl -X GET "https://companyname.callstats.net/backend/kpi/payments/byMethod/" \
-H "Authorization: Bearer YOUR_KPI_KEY"

Example Response

[
{
"payment_method": "Direct Debit",
"payment_customer_count": 1850,
"payment_count": 2250,
"payment_amount": 61500.000
},
{
"payment_method": "Credit Card",
"payment_customer_count": 420,
"payment_count": 650,
"payment_amount": 17250.000
},
{
"payment_method": "Cheque",
"payment_customer_count": 80,
"payment_count": 205,
"payment_amount": 5500.000
}
]

Groups payments by dealer for segmentation and comparison.

Endpoint

GET /backend/kpi/payments/byDealer/

Example Request

Terminal window
curl -X GET "https://companyname.callstats.net/backend/kpi/payments/byDealer/" \
-H "Authorization: Bearer YOUR_KPI_KEY"

Tracks amounts received over time.

Endpoint

GET /backend/kpi/payments/byMonth/

Example Request

Terminal window
curl -X GET "https://companyname.callstats.net/backend/kpi/payments/byMonth/?minDate=2026-01-01" \
-H "Authorization: Bearer YOUR_KPI_KEY"

Example Response

[
{
"payment_month": "2026-01",
"payment_customer_count": 2280,
"payment_count": 2960,
"payment_amount": 81300.000
},
{
"payment_month": "2026-02",
"payment_customer_count": 2350,
"payment_count": 3105,
"payment_amount": 84250.000
}
]

Combine the payment dimensions (period, method, dealer, currency) with groupBy and pick an interval:

Terminal window
# Amounts received by quarter and payment method
curl -X GET "https://companyname.callstats.net/backend/kpi/payments/?groupBy=period,method&interval=quarter" \
-H "Authorization: Bearer YOUR_KPI_KEY"

The currency dimension is only available on platforms with the multi-currency module active. With groupBy, the period column is named payment_period rather than payment_month.

Refine your results using these filter parameters:

ParameterTypeDescriptionExample
minDatedatePayments dated on or afterminDate=2026-01-01
maxDatedatePayments dated on or beforemaxDate=2026-01-31
reversedbooleanInclude only reversed paymentsreversed=true
includeReversedbooleanInclude reversed payments as well (excluded by default)includeReversed=true
minReversedDatedatePayments reversed on or afterminReversedDate=2026-01-01
maxReversedDatedatePayments reversed on or beforemaxReversedDate=2026-01-31
paymentMethodstringFilter by payment method namepaymentMethod=Direct Debit
paymentMethodIDinteger listFilter by one or more payment method IDspaymentMethodID=2,3
dealerstringFilter by dealer namedealer=Direct
dealerCodestringFilter by specific dealer codedealerCode=DEALER01
currencyIDinteger listFilter by currencycurrencyID=1

Reversed payments are excluded unless you ask for them. Supplying minReversedDate or maxReversedDate without reversed or includeReversed filters to reversed payments automatically, since that is the only thing a reversal date can usefully narrow.

This Month’s Receipts

Terminal window
curl -X GET "https://companyname.callstats.net/backend/kpi/payments/byMethod/?minDate=2026-07-01&maxDate=2026-07-31" \
-H "Authorization: Bearer YOUR_KPI_KEY"

Recent Reversals

Terminal window
curl -X GET "https://companyname.callstats.net/backend/kpi/payments/?reversed=true&minReversedDate=2026-06-01" \
-H "Authorization: Bearer YOUR_KPI_KEY"

Compare invoiced against received amounts:

Terminal window
# Amounts received by month
curl -X GET "https://companyname.callstats.net/backend/kpi/payments/byMonth/" \
-H "Authorization: Bearer YOUR_KPI_KEY"
# Amounts invoiced by month, for comparison
curl -X GET "https://companyname.callstats.net/backend/kpi/invoices/byMonth/" \
-H "Authorization: Bearer YOUR_KPI_KEY"

Watch how customers pay, and spot shifts away from Direct Debit:

Terminal window
curl -X GET "https://companyname.callstats.net/backend/kpi/payments/?groupBy=period,method&interval=quarter" \
-H "Authorization: Bearer YOUR_KPI_KEY"

Track reversed payments as an early warning of disputes or failures:

Terminal window
curl -X GET "https://companyname.callstats.net/backend/kpi/payments/byMonth/?reversed=true" \
-H "Authorization: Bearer YOUR_KPI_KEY"
  1. Pair with invoice KPIs - Received versus invoiced amounts together show your true collection rate
  2. Watch the method mix - A drift from Direct Debit towards manual methods usually means more chasing later
  3. Keep an eye on reversals - A rising reversal count is worth investigating before it becomes a debt problem
  4. Use date filters - Bound your queries to the periods you are reporting on