Payment Terms

Payment terms drive due dates and early-pay discounts on invoices and bills. Define Net 30, Due on Receipt, or 2/10 Net 30 once, assign defaults per customer or vendor, and DayZero calculates dates automatically.

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, or 2/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

  1. Open Payment Terms and click New Term — or Seed defaults to load the standard set in one click.
  2. Enter a Name (e.g. Net 45) and Days until due (use 0 for Due on Receipt).
  3. For an early-payment discount, set Discount % and Discount days (e.g. 2 and 10 for 2/10 Net 30).
  4. Toggle Set as default to make this the business-wide default — the previous default is cleared automatically.
  5. Assign a default term to a customer or vendor from their record; it then auto-fills on their new invoices and bills.
  6. Override the term on any individual invoice or bill when a one-off arrangement applies.
  7. 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 30 offers 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 termDue 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 AR/AP 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.