Skip to main content
On every billing cycle, the engine creates an invoice for the customer. The invoice captures the period, the amount owed, the payment method attempted, and the final outcome. It’s the paper trail for every billing event.

When invoices are created

  • Subscription renewal — at next_bill_at, a new invoice opens for the next period
  • Plan change proration — when a customer upgrades or downgrades mid-cycle, a proration invoice records the adjustment
  • Manual charge — if you issue a one-time charge via the API

Invoice states

Advance vs arrears

Advance billing (default): invoice is created at the start of the period. The customer pays for June on June 1st. Arrears billing: invoice is created at the end of the period. The customer uses June’s service and gets invoiced on July 1st. Set billing_mode: "arrears" when creating a subscription.

Partial payments

If a customer transfers ₦4,000 on a ₦5,000 invoice (500000 kobo total), the invoice moves to partially_paid. The remaining 100000 kobo (₦1,000) stays outstanding. When another transfer arrives from their virtual account, we apply it and close the invoice. The transfer.partial webhook fires when a transfer settles an invoice partially. The invoice.paid webhook fires when it’s fully settled.

Retrieve invoices

Response