Invoice numbers, void, the invoice PDF, and two new webhooks
For platform accounts billed monthly, invoices now carry everything you need to reconcile them.
The Invoice object
number:RDS-2026-000123(TEST-2026-000123in test mode), numbered per mode and year with no gaps.discountsandadjustments(credit notes, debit notes, credit carried from an earlier invoice), sodelivery_fees + vat + service_charges - discounts + adjustments = total.amount_paid,amount_creditedandamount_due: what is still owed after payments and credits.voided_at, and a new status,void: Reeds cancelled the invoice and it owes nothing. A corrected one is issued in its place with a new number.GET /invoices?status=voidlists them.
VAT is still on the delivery fee only; the service charge carries none.
The PDF
GET /invoices/{id}/pdf returns the invoice as an A4 PDF, with every line. It answers 304 to a matching If-None-Match.
New webhooks
invoice.paid: an invoice was paid in full, by a payment, a transfer Reeds recorded, or a credit that settled it.invoice.overdue: an invoice passed its due date unpaid. The account is on hold until it is paid: new bookings get403 ACCOUNT_ON_HOLD.
Both carry data.invoice, like invoice.issued.
Nothing is removed or renamed. Clients that ignore unknown fields and unknown event types need no change.