# finance.payment-terms-due-date
The date an invoice falls due under its credit terms. Terms are a small record
rather than a string such as "30 EOM", because the same words mean different
things in different ledgers; the four kinds below are the ones accounting
packages offer, and each says exactly what it counts from.
| kind | n means | example |
|---|---|---|
| `net` | days after the invoice date | net 30: 15 Jan is due 14 Feb |
| `end-of-month` | months after the invoice month; 0 is the invoice month's own end | "end of month following" is n = 1: 10 Jan is due 28 Feb |
| `days-after-month-end` | days after the last day of the invoice month | "30 days EOM": 15 Jan is due 2 Mar (28 days in Feb 2026) |
| `day-of-next-month` | the day of the following month, 1 to 31 | "20th of next month": 5 Dec is due 20 Jan |
Net 30 is thirty calendar days, not "one month": 31 January net 30 is 2 March
in 2026 and 1 March in 2024, where adding a month would say 28 or 29 February.
A day of the month that the next month lacks is clamped to its last day, so
"31st of next month" in January is 28 February.
"2/10 net 30" is `{ kind: net, n: 30, discountBasisPoints: 200, discountDays: 10 }`.
The discount fields do not change the due date; they are validated here, so
terms whose discount window outlasts the due date are refused wherever they are
used, and finance.early-payment-discount reads them.
The due date is not moved off a weekend or bank holiday. Whether it moves, and
which way, is a term of the contract; use dates.add-business-days when it does.
The date is the last day payment is on time: under the UK Late Payment Act,
statutory interest starts the day after it (finance.late-payment-interest).