Payment Terms
Payment terms define when invoices and bills are due (e.g., Net 30, Due on Receipt) and any early-payment discount (e.g., 2/10 Net 30). Assign them as defaults on customers and vendors via default_payment_term_id, or per document.
Create a Payment Term
curl -X POST "https://api.ondayzero.com/api/v1/payment-terms" \
-H "Authorization: Bearer dz_your_token_here" \
-H "x-business-id: YOUR_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"name": "Net 45",
"days_until_due": 45
}'With an early-payment discount:
curl -X POST "https://api.ondayzero.com/api/v1/payment-terms" \
-H "Authorization: Bearer dz_your_token_here" \
-H "x-business-id: YOUR_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"name": "2/10 Net 30",
"days_until_due": 30,
"discount_percent": 2.0,
"discount_days": 10,
"is_default": false
}'| Field | Type | Description |
|---|---|---|
name |
string | Display name (required) |
days_until_due |
integer | Days after the issue date until payment is due (required; 0 = due on receipt) |
discount_percent |
number | Early-payment discount, e.g. 2.0 for 2% |
discount_days |
integer | Days within which the discount applies |
is_default |
boolean | Make this the business default (unsets the previous default) |
List Payment Terms
curl "https://api.ondayzero.com/api/v1/payment-terms?active_only=true" \
-H "Authorization: Bearer dz_your_token_here" \
-H "x-business-id: YOUR_BUSINESS_ID"Each term in the response carries is_active and is_default. Standard pagination parameters apply.
Get Default Term
curl "https://api.ondayzero.com/api/v1/payment-terms/default" \
-H "Authorization: Bearer dz_your_token_here" \
-H "x-business-id: YOUR_BUSINESS_ID"Seed Defaults
Populate the standard set — Due on Receipt, Net 10, Net 15, Net 30 (set as default), Net 45, Net 60, Net 90 and 2/10 Net 30:
curl -X POST "https://api.ondayzero.com/api/v1/payment-terms/seed-defaults" \
-H "Authorization: Bearer dz_your_token_here" \
-H "x-business-id: YOUR_BUSINESS_ID"Update a Payment Term
All fields are optional; send only what changes:
curl -X PUT "https://api.ondayzero.com/api/v1/payment-terms/{term_id}" \
-H "Authorization: Bearer dz_your_token_here" \
-H "x-business-id: YOUR_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{"name": "Net 45 (Updated)", "days_until_due": 45, "is_default": true}'Set "is_active": false to retire a term without deleting it, or true to reactivate one.
Delete a Payment Term
curl -X DELETE "https://api.ondayzero.com/api/v1/payment-terms/{term_id}" \
-H "Authorization: Bearer dz_your_token_here" \
-H "x-business-id: YOUR_BUSINESS_ID"This deactivates the term (is_active: false) rather than removing it. Existing customers, vendors and documents referencing it are unaffected, and it disappears from active_only=true listings.