Skip to main content
The report endpoints return the same numbers as your Streamlined dashboard and customer pages, from the same calculations. Use them to put your receivables, collections, and customer habits into your own tools.

Before you start

Every request needs your X-App-Id and X-Api-Key headers. See Authentication.
These rules hold for every report:

Errors

See Errors for 401 and 429.

Receivables aging

Get receivables aging shows what your customers owe now, by how far past due. The buckets use the same names as an invoice’s aging_status, described in Invoice status and aging.
  • total_receivables is the sum of the buckets. Unapplied credit doesn’t reduce it. It’s reported on its own as credits.
  • An invoice paid in milestones can have one milestone in each of two buckets, so the bucket invoice counts can add up to more than invoice_count.

Monthly sales and payments

Get monthly sales and payments gives one row per month.
  • sales_amount is the invoices issued that month. Voided invoices are left out.
  • payment_amount is the payments received that month.
  • With no dates, you get the last six months, including this one. With start_date and end_date, you get every month they touch, up to 24.

Average payment period

Get average payment period gives, for each month, the average days to pay (average_days_to_pay) across the invoices paid off that month.
  • Days to pay runs from an invoice’s issue date to the payment that paid it off.
  • median_days_to_pay is the median of the same days. A few very old invoices can pull the average far up, so the median is the better guide to how long most invoices take.
  • A month with nothing paid off is null. 0 means invoices were paid on the day they were issued.
  • It takes the same dates as monthly sales and payments.

Weekly collections

Get weekly collections compares each week’s payments with what was owed when the week started.
  • A week runs Monday to Sunday in your time zone. Only complete weeks are rows: the current week is the estimate.
  • payments counts every payment received that week, applied to an invoice or not. Refunds, chargebacks, and credit notes are left out. by_method splits it, adding up to payments.
  • rate is payments over opening_receivables. It can be above 1, because a week can collect invoices issued during it.
  • usual_rate is the total payments over the total opening receivables of up to the last 52 weeks.
  • estimate.expected is what’s owed now times the same rate over up to the last 13 weeks. low and high use the 25th and 75th percentile weekly rate of up to the last 52 weeks. It’s a projection from past weeks, not a guarantee.
  • The estimate needs 8 complete weeks since your first payment. Until then, estimate is null and estimate_unavailable_reason says why.
  • With nothing owed, or nothing paid in the last 13 weeks, estimate is null rather than 0, and estimate_unavailable_reason is no_open_receivables or no_recent_payments.
  • The estimate and usual_rate don’t change with weeks, start_date, or end_date.
  • With compare=true, each week gets prior_year_rate, the rate of the same week a year earlier.
The first time your weekly figures are worked out, the response has status: "preparing" and no rows. Ask again in a few minutes. Every later response has status: "ready".

Top customers

List top customers ranks customers by basis.
  • sales ranks by invoices issued in the range. cash ranks by payments received in it.
  • total covers every customer, so it matches monthly sales and payments for the same months.
  • With no dates, the range is the last six months, including this one. It can be at most 24 months.

Customers to follow up

List customers to follow up lists customers with something more than 60 days past due, largest first. total_receivables and over_60_total cover every customer.

Quiet customers

List quiet customers finds regular customers you haven’t invoiced in a while.
  • A customer’s usual gap is the median days between their invoices. It needs 3 invoices on at least two different days, and it’s updated overnight.
  • A customer is quiet after at least twice their usual gap with no invoice.
  • A customer is left out once their last invoice is more than 18 months old, or more than three times their usual gap old if that’s longer.
  • Customers are ordered by what they bought over the last 12 months.

Customer insights

Get customer insights, and the customer group version, summarize how a customer pays and buys.
  • net_terms is the customer’s or group’s own net terms, or your default when they have none. days_past_terms is how far average_days_to_pay runs past it.
  • payments_by_method gives shares of the last 12 months’ payments. Each method matches the transaction_type filter of the same name on List transactions.
  • failed_payment_count counts failed attempts in the last 12 months. One declined charge across several invoices counts once.
  • spend_prior_12 is null until the first invoice is at least 24 months old, so a new customer isn’t compared with an empty year.

Reminders

List customer reminders, and the customer group version, list reminder emails sent for the customer’s invoices.
  • Copies sent to CC addresses are left out, so each reminder appears once.
  • open_count is approximate. Some mail apps load the tracking image without anyone reading the email. It’s 0 when the email bounced.