Invoice payment status

Invoices track collection state separately from their lifecycle status. This page covers the payment_status field, and the deprecated paid boolean it replaces.

Payment status

Every invoice exposes a payment_status field, giving a more precise view of collection state than a simple paid/unpaid flag:

StatusDescription
UNPAIDNo payment has been received for the invoice.
PARTIALLY_PAIDSome, but not all, of the invoiced amount has been paid.
PAIDThe full invoiced amount has been received.
OVERPAIDMore than the invoiced amount has been received.

Desk shows this status on the invoice screen. It updates automatically once the customer pays through the invoice’s payment link, or it can be set manually as shown below.

Deprecated: the paid boolean

Invoices also still expose a paid boolean, which only distinguishes paid from unpaid. It continues to work for backwards compatibility, but it can’t represent a partial or over-payment. Use payment_status instead.