Invoice.overdue
An open Invoice passed its due date unpaid, or a retry on the Startup’s retry schedule failed.
| Property | Value |
|---|---|
| Raised by | No Verb: a clock raises it |
| Noun | Invoice |
| Moves | Invoice open to uncollectible when every retry on the Startup’s retry schedule has failed; Subscription active to pastDue when the Invoice bills this Subscription; Subscription pastDue to canceled when every retry on the Startup’s retry schedule has failed |
| Wakes | None. |
Payload
Each delivery is an Event record. data holds the Invoice as it stands.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | required | Invoice.overdue. |
at | datetime | required | When it happened. |
seq | integer | Its position in the namespace, one more than the Event before; any seq is a cursor into the history. | |
data | json | required | The Thing as the Action left it. |
data.invoice | Invoice | required | The Invoice as the change left it. |
data.invoice.total | money | required | The amount due. |
data.invoice.due | date | required | When payment is due. |
data.invoice.paidAt | datetime | When it was paid. | |
data.invoice.status | string | One of draft, open, paid, void, or uncollectible. | |
data.invoice.collection | string | charge charges the saved payment method; send sends the Invoice and waits for a transfer. charge by default. | |
data.invoice.terms | integer | Days from issue until a send Invoice is due, such as 30; sets due. | |
data.invoice.purchaseOrder | string | The Customer’s purchase order number, printed on the Invoice. | |
data.invoice.refunded | money | The total returned to the Customer, from zero up to the amount paid. | |
data.invoice.number | string | The Invoice number, sequential per Startup and never reused, voided Invoices included. | |
data.invoice.lines | json | Each Offer billed: its quantity, Period and amount, with any Coupon or Credit Grant applied. | |
data.invoice.pdf | url | The Invoice, or its receipt once paid, as a PDF on the Startup’s Domain that names the seller of record. | |
data.invoice.payUrl | url | The page on the Startup’s Domain where the Customer pays it by card or bank transfer. | |
data.attempt | integer | required | Which retry failed; 0 when the due date passed. |
data.nextRetryAt | datetime | When the next retry runs; empty after the last one. |
Example
{
"$id": "https: //api.sb/ leaseline.app/ events/ evt_mzIP2xFQZY",
"$type": "Event",
"name": "Invoice.overdue",
"at": "2026-10-14T08: 00: 00Z",
"data": {
"invoice": {
"$id": "https: //api.sb/ leaseline.app/ invoices/ inv_FXANyzQojc",
"$type": "Invoice",
"total": {
"amount": 29,
"currency": "USD"
},
"due": "2026-10-13",
"status": "open",
"collection": "charge",
"terms": 0,
"refunded": {
"amount": 0,
"currency": "USD"
},
"number": "LEAS-0018",
"lines": [
{
"offer": "offer_2hzYe1ERo0",
"quantity": 1,
"period": "2026-10",
"amount": {
"amount": 29,
"currency": "USD"
}
}
],
"pdf": "https: //leaseline.app/ invoices/ LEAS-0018.pdf",
"payUrl": "https: //leaseline.app/ pay/ LEAS-0018"
},
"attempt": 1,
"nextRetryAt": "2026-10-22T12: 00: 00Z"
},
"seq": 82
}