Payment Terms
Payment terms tell DayZero when a payment is due and whether an early-payment discount applies. Define terms once — Net 30, Due on Receipt, or a custom discount term like 2/10 Net 30 — then attach them as defaults to customers and vendors. When an invoice or bill is created, the due date (and any discount deadline) is calculated from the term automatically, so AR and AP aging stay accurate without hand math.
Key capabilities
- Standard terms expressed as days until due — Due on Receipt (0), Net 10, Net 15, Net 30, Net 45, Net 60, Net 90
- Custom terms with any non-negative day count
- Early-payment discount terms: a discount percentage plus a discount window (e.g. 2% off if paid within 10 days)
- Auto-generated display names:
Net 30,Due on Receipt, or2/10 Net 30 - One default term per business — setting a new default automatically clears the previous one
- Per-customer and per-vendor default term, which auto-fills onto their invoices and bills
- Automatic due-date calculation: due date = issue date + days until due
- Discount deadline and discount-amount calculation for eligible terms
- Discount-eligibility check that compares a payment date against the discount window
- One-click seeding of the eight default terms for a new business
- Deactivate so historical documents keep their term while it disappears from pickers
- Every create/update/deactivate is written to the audit log
How it works
A term stores a day count and optional discount. When a document is created for a customer or vendor, DayZero reads their default term (or the document's chosen term) and derives the dates.
flowchart TD
term["Payment term (days + optional discount)"] --> assign["Set as customer / vendor default"]
assign --> doc["Invoice or bill created"]
doc --> due["Due date = issue date + days_until_due"]
doc --> disc{"Has early discount?"}
disc -->|"Yes"| deadline["Discount deadline + discount amount"]
disc -->|"No"| skip["No discount"]How to use it
- Open Payment Terms and click New Term — or Seed defaults to load the standard set in one click.
- Enter a Name (e.g.
Net 45) and Days until due (use0for Due on Receipt). - For an early-payment discount, set Discount % and Discount days (e.g.
2and10for2/10 Net 30). - Toggle Set as default to make this the business-wide default — the previous default is cleared automatically.
- Assign a default term to a customer or vendor from their record; it then auto-fills on their new invoices and bills.
- Override the term on any individual invoice or bill when a one-off arrangement applies.
- To retire a term, Deactivate it — it leaves the pickers but stays attached to existing documents.
Pro tips
- Use short terms (Net 15 or Due on Receipt) for new customers until they establish a payment pattern, then relax them.
- Early-payment discount terms pay for themselves in faster cash collection —
2/10 Net 30offers 2% off for paying 20 days early. - Deactivate, don't recreate: deactivating preserves the term on historical invoices and the audit trail; deleting would orphan that history.
- Changing a term's day count only affects documents created afterward — already-issued invoices keep the due date they were stamped with.
- Set defaults at the customer/vendor level so your team never has to remember terms per document.
In-depth guide
Display name logic
The display name is derived, not stored:
- Discount term → like
2/10 Net 30(discount percent / discount days / net days). - Zero-day term →
Due on Receipt. - Everything else → like
Net 30.
Default terms seeded
| Term | Days until due | Discount |
|---|---|---|
| Due on Receipt | 0 | — |
| Net 10 | 10 | — |
| Net 15 | 15 | — |
| Net 30 (default) | 30 | — |
| Net 45 | 45 | — |
| Net 60 | 60 | — |
| Net 90 | 90 | — |
| 2/10 Net 30 | 30 | 2% within 10 days |
Seeding is a no-op if the business already has terms, so it is safe to call repeatedly.
Date and discount math
- Due date = issue date + days until due.
- Discount deadline = issue date + discount days (only when a discount is configured).
- Discount amount = total × discount percent ÷ 100.
- Eligibility = a payment qualifies for the discount only when the payment date is on or before the discount deadline.
Default-term behavior
- A business should have a single default term.
- When you create or update a term with Set as default enabled, DayZero first clears the default flag on every other term — guaranteeing the new one is the sole default.
- Customers and vendors each carry their own default term, which takes precedence when their documents are created.
Accounting impact
Payment terms don't post journal entries themselves — they drive dates:
- Due date feeds AR/AP aging buckets, dunning and reminder timing, and cash-flow forecasting.
- Discount deadline and amount feed early-payment workflows.
Accurate terms therefore keep the aging report and collections trustworthy.
Edge cases
- A term referenced by invoices or bills is detached rather than deleted, so deleting (or deactivating) never breaks those documents.
- Net day counts must be ≥ 0; Due on Receipt is simply 0 days.
- Deactivated terms remain valid on existing documents but are hidden from new-document pickers.