Review overdue invoices

An invoice counts as overdue when a balance is still due, its due date has passed, and its status is sent, viewed or partial. list_invoices returns is_overdue per row, and revenue_summary reports the overdue total as a subset of outstanding.

Written and reviewed by the Billr team. Published , last reviewed .

Who this is for
People doing a weekly or month-end pass over what clients have not paid.
Billr capabilities used
list_invoicesrevenue_summaryget_invoice_link

What you need first

  • Invoices that were sent, with due dates that come from the business payment terms unless you set them.
  • A key with the read scope.
  • A decision about whether a partial payment makes an invoice late enough to chase.

Step by step

  1. 01List what is unpaid

    list_invoices with status: "unpaid" covers sent, viewed, partial and overdue in one call. Each row carries balance_due, due_date and is_overdue.

    Example
    list_invoices  {
      "status": "unpaid",
      "limit": 100
    }
  2. 02Filter to the overdue ones when the list is long

    status: "overdue" narrows to invoices the server already considers past due. Read is_overdue on the row rather than recomputing dates yourself.

  3. 03Total what is behind

    revenue_summary returns invoiced, paid, outstanding and overdue totals for a period, with overdue as a subset of outstanding rather than an extra amount.

    Example
    revenue_summary  {
      "period": "this_year"
    }
  4. 04Get the link for each chase

    get_invoice_link returns the public page and PDF so a reminder can include the payable link instead of an attachment.

Worked example

Fictional account, field names as returned by the server

You say

Which invoices are overdue right now, and how much is behind?

Your agent calls

  • list_invoices { "status": "overdue", "limit": 50 }
  • revenue_summary { "period": "this_year" }

Expected response from list_invoices, abridged. revenue_summary reports the same money as a period total.

Example
{
  "summary": "2 invoices found.",
  "invoices": [
    {
      "invoice_number": "INV-1123",
      "status": "sent",
      "balance_due": 640,
      "due_date": "2026-08-14",
      "is_overdue": true
    }
  ]
}

Limits and gotchas

  • Overdue is a reporting state derived from the due date; nothing changes the client-facing document.
  • Draft invoices are never overdue, and cancelled invoices are excluded from money totals.
  • An invoice with a partial payment stays overdue for the remaining balance.
  • Billr does not send reminders by itself. Any message an agent drafts is text for you to approve and send.

Troubleshooting

An invoice you expected is missing
It may be a draft, or already paid. Run list_invoices with no status filter and look at the row before assuming it vanished.
The overdue total looks smaller than the sum of the rows
Overdue is a subset of outstanding, and totals exclude drafts and cancelled invoices. Compare like with like.
A due date is later than expected
Due dates default from the business payment terms at creation time. Read the row, and correct a draft with update_draft_invoice if it has not been sent.

Sources

Reviewed 2026-09-20 against Billr's own tool implementations and the client documentation linked above.

The reminder recipe drafts messages for you to send; Billr never chases a client on its own.

Read the reminder recipe