AgentInvoiceAgentInvoice
API ReferenceGetting Started

Invoice Lifecycle

Invoices progress through a defined set of statuses. Understanding this lifecycle is important when building integrations.

Invoices progress through a defined set of statuses. Understanding this lifecycle is important when building integrations.

Status flow

draft → finalized → sent → paid

                     overdue  (set automatically when past due date)

Any status → void

Statuses

StatusDescription
draftEditable. Not yet issued. Line items can be added, changed, or removed.
finalizedLocked for editing. Amounts are fixed. Ready to send to the client.
sentIssued to the client. Payment reminder schedule begins.
paidPayment has been recorded (manually or via Stripe).
overdueWas sent but the due date has passed without payment. Set automatically.
voidCancelled. No further state changes are permitted.

Key transitions

ActionEndpointRequirement
Lock amountsPOST /invoices/{id}/finalizeMust be draft
Issue to clientPOST /invoices/{id}/sendMust be finalized
Record paymentPOST /invoices/{id}/mark-paidMust be sent or overdue
CancelPOST /invoices/{id}/voidAny status

Editing restrictions

Only draft invoices can be updated (PATCH /invoices/{id}) or deleted. Attempting to edit a non-draft invoice returns 422 Unprocessable.

On this page