Overview
Reusable payment terms for invoices and bills.
A payment term describes when a document falls due. Define a term once, then apply it to an invoice or bill with payment_term_id, or set it as the default on a customer or vendor.
Term shapes
net_days counts calendar days from the invoice date or bill date, from 0 to 365.
Instalments
Each instalment has a type, a value and a net_days.
- A term has either no instalments or at least two.
- No two instalments can share the same
net_days. They are stored in order ofnet_days, and the term’s ownnet_daysbecomes that of the last instalment. - Instalments that are all percentages must add up to 100.
- When percentages and flat amounts are mixed, the percentages cannot exceed 100 and the last instalment takes whatever remains of the document total.
Early-payment discount
discount gives a percentage or flat amount off when the balance is settled early. Its net_days is the last day the discount can be taken and must be earlier than the term’s final due date. A percentage discount must be below 100.
The discount is only given when the document is settled in full inside the window. See the payments and receipts overviews for how it is recorded.
Which term a document gets
The workspace default term, the one with is_default set, applies to invoices only. Only one term is the default at a time, so making another term the default unsets the previous one.
Payment schedule on documents
When a term is applied, the invoice or bill returns a payment_schedule holding the term as it stood at that moment, with every due date and amount worked out.
due_dateon the document is the final due date, the last instalment’s date for a split term.instalmentsis empty for a single due date.- Percentage amounts are rounded to two decimal places and the last instalment absorbs the rounding difference.
- Payments are applied to instalments in order, earliest first. An invoice’s
is_overdueis true once any instalment is past its due date and not fully covered bytotal_paid. payment_scheduleis null on documents with a plain due date.
The schedule is a snapshot. Editing or deactivating a term later does not change documents that already use it. When the document’s date or total changes, the schedule is recalculated from the term captured on the document.
Retiring a term
There is no delete endpoint. Set is_active to false to retire a term: it can no longer be applied to new documents, it stops being the workspace default, and a customer or vendor that still points to it falls back to the next rule in the precedence order.

