ZuloOne
English
Sign in
Menu

⏰ Payment due date

Updated

The payment due date tells the collector when an invoice or purchase order should be paid. It is calculated from a document date and a payment term; it does not post accounting movements.

← Business process wiki

User facet: payment due date. Developer detail: payment due internals.

How the process works#

IPaymentDueService returns Document date + Days. The days come from the selected PaymentTerm record. Zero days means the due date is the document date.

Documents that use it in this contour:

Document Field Source of days
SalesRealization Due date invoice Payment term, then Sales default days
PurchaseOrder Due date purchase order Payment term, then Purchasing default term
SalesOrder none sales orders use Delivery date, not due date

Settings#

Payment term#

Where: dictionary Payment terms (PaymentTerm).

Field Meaning
Name The label users select on contracts and documents.
Days Number of calendar days added to the document date. Empty or 0 means payment is due on the document date.

Sales default payment term#

Where: Sales → Settings → Sales settings, field Default payment term. Empty means the invoice falls back to the hidden numeric default, which is normally 0 days.

The default is used only when the invoice has no payment term from the contract or customer. It changes Due date only; it does not change receivable amount, tax, or GL.

Example with numbers#

Document date Payment term Days Due date
2026-09-01 Net 14 14 2026-09-15
2026-09-01 Cash 0 2026-09-01
2026-09-01 empty invoice term, Sales default Net 7 7 2026-09-08

Overdue debt block#

Where: Sales → Settings → Sales settings, fields Block orders with overdue debt and Overdue grace days.

Setting Values Effect
Block orders with overdue debt off (default) / on On: approving a sales order is refused while the customer's overdue debt on the order date is above the order's Released overdue debt.
Overdue grace days 0 (default) or more Days added to every due date before a debt counts as overdue.

A debt is an open ReceivableByBasis slice of the customer. Its due date:

Basis Due date
Sales realization its Due date
Sales order, pre-cut-over basis (LegacyBasis) its date + days of the contract's payment term, else the customer's
none (an advance or a debt without a basis) never overdue

Release overdue block on a draft or submitted order stores the overdue debt of that moment in Released overdue debt. The order then approves while the overdue debt is not larger. Who may press it is the command's Execute right in the role; until any role has that row, everyone can press it.

Example, grace 0:

Invoice Date Term Due Unpaid on 2 Nov Overdue on 2 Nov
R-101 5 Jan 0 days 5 Jan 80 80
R-140 25 Oct 14 days 8 Nov 300 0

An order of 2 Nov is refused: overdue 80, released 0. After Release overdue block, released 80: the order approves. If another 50 becomes overdue before approval, it is refused again (130 > 80). With grace 30, R-101 is overdue from 5 Feb.

Boundaries and edge cases#

  • The due date is recalculated while the document is editable. Once the sales invoice is Released, the card is read-only.
  • It is not an expected receipt date. Available-to-promise uses purchase order Expected receipt, not payment due date.
  • There is no exchange-rate or calendar exception logic.

What is posted#

Nothing. Due date is a document field used for collection and display; receivable is posted by SalesRealization on Released.

What's not there yet#

  • There is no ageing report by due date. Open debt is the receivable layout.
  • The overdue block reads today's open debt, not the debt as it stood on an earlier order date.
  • There is no holiday calendar. The due date is calendar days from the terms.
  • There is no reminder or dunning document.

Same topic for other readers: User · Developer

Where next#

Was this page helpful?