Mix of Net-30 / Net-60 / Net-90 / COD / Prepay across B2B customers. Drives DSO planning.
At a glance
Pie / stacked-bar showing the distribution of payment terms across B2B customers in the period. Each customer carries a terms field on the NS Customer record (Net-15 / Net-30 / Net-45 / Net-60 / Net-90 / COD / Prepay / 2/10 Net 30, etc); the card shows what proportion of revenue and customer count sits at each term. The mix is the single biggest driver of DSO and working-capital cycle in B2B businesses; a Net-60-heavy mix structurally requires 30+ days more working capital than a Net-30-heavy mix.
| What it counts | Two views: (1) COUNT(B2B customers) GROUP BY terms; (2) SUM(SO.total) GROUP BY customer.terms for the period. The dollar-weighted view is more operationally meaningful (a single Net-60 customer doing $500k matters more than 50 small Net-30 customers). |
| VAT / tax treatment | n/a, this is a categorical breakdown. |
| Shipping | n/a. |
| Discounts | n/a. |
| Refunds | n/a. |
| Cancelled / voided orders | Excluded from the dollar-weighted view. |
| Currency | Per-customer dollars in transaction currency, summed in base / consolidation. |
| Channels / sources | All B2B sources blended; DTC consumers excluded by category filter. |
| Term names | NetSuite stores terms by name (custom configurable). The standard list ships as Net-30, Net-60, etc. Merchants who use custom labels (e.g. “Strategic-Net-45”) need manifest mapping. |
| Special terms | COD (cash on delivery), Prepay (PO before shipment), Cash on Receipt, 2/10 Net 30 (early-pay discount) all surface separately. |
| Time window | 30D (term mix per period); customer-list view is point-in-time. |
| Alert trigger | None directly; mix shifts surfaced via Working-Capital trends. |
| Roles | owner, finance |
Calculation
Calculated automatically from your NetSuite data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A US wholesale distributor on NetSuite OneWorld, 30D window 02 Apr 26 to 01 May 26. Customer-count view:| Terms | Customer count | % of B2B base |
|---|---|---|
| Prepay | 142 | 12.4% |
| COD | 86 | 7.5% |
| Net-15 | 38 | 3.3% |
| Net-30 | 720 | 62.9% |
| Net-45 | 92 | 8.0% |
| Net-60 | 48 | 4.2% |
| Net-90 | 14 | 1.2% |
| 2/10 Net-30 | 4 | 0.3% |
| Total B2B | 1,144 | 100% |
| Terms | Revenue | % of B2B revenue | Implied DSO contribution |
|---|---|---|---|
| Prepay | $480,000 | 4.4% | 0 days |
| COD | $620,000 | 5.7% | 0 days |
| Net-15 | $310,000 | 2.8% | 15 days |
| Net-30 | $5,820,000 | 53.4% | 30 days |
| Net-45 | $1,420,000 | 13.0% | 45 days |
| Net-60 | $2,140,000 | 19.6% | 60 days |
| Net-90 | $108,000 | 1.0% | 90 days |
| 2/10 Net-30 | $4,000 | 0.0% | 30 days |
| Total | $10,902,000 | 100% | 39 days weighted-avg |
- The dollar-weighted DSO-floor is 39 days. This is the structural minimum DSO if every customer paid exactly on terms. Today’s actual DSO is 47 days (from DSO), so 8 days of DSO is “delinquency drag” beyond the structural floor. Closing those 8 days is the AR clerk’s mandate.
- Net-60 is 19.6% of revenue but only 4.2% of customers. A small number of large customers carry the long-terms exposure. Cross-reference Top B2B Accounts: 5 of the top 10 accounts are Net-60. Those 5 accounts ARE the working-capital pressure point.
- The 142 Prepay + 86 COD customers are 19.9% of customer count but only 10.1% of revenue. Prepay/COD are typically smaller, less-trusted accounts; the merchant should review whether any Prepay customers have earned the right to graduate to Net-30 (revenue lift opportunity).
- The 4 customers on 2/10 Net-30 (2% discount if paid in 10 days) are barely used. The early-pay discount is theoretically attractive (the merchant gets cash 20 days earlier) but most B2B customers ignore the early-pay option. If the merchant is short on working capital, expanding 2/10 Net-30 adoption is a lever.
- Mix shift over time: prior 90D, Net-60 was 16% of revenue; now 19.6%. The shift is driven by 2 large new customers signed at Net-60 terms. Each new Net-60 contract adds 30 days of working-capital exposure relative to the same revenue at Net-30. Cross-reference DSO trend.
- Action playbook:
- Review the top 5 Net-60 accounts at next contract renewal: can any move to Net-45?
- Pilot 2/10 Net-30 expansion to the top 50 Net-30 customers (typical adoption is 10 to 20%, freeing 1m of working capital).
- Audit Prepay-to-Net-30 graduation list: customers with 2+ years of clean payment history who should be on terms.
Sibling cards merchants should reference together
| Card | Why pair it with B2B Payment Terms Mix |
|---|---|
| DSO | The downstream consequence of the term mix. Weighted-avg term = floor on DSO. |
| A/R Aging Buckets | Aging-by-term split: Net-60 customers in 90+ bucket = serious delinquency. |
| Top B2B Accounts | Top accounts skew long-terms; concentration of WC exposure. |
| Customer Credit Utilisation | Long-terms + high utilisation = revenue at risk. |
| Cash Application Rate | Customers on early-pay discount terms (2/10 Net-30) typically apply faster. |
| Cash Collected | Cash velocity directly tied to terms mix. |
Reconciling against the vendor’s own dashboard
Where to look in NetSuite’s own dashboard:Saved Search > Customer, criteriaFor dollar-weighted: Saved Search > Transaction, criteriaCategory IN B2B,Wholesale,Distributor, columnsTerms, Internal ID, group by Terms. Count = customer-count view.
Type = SO, Date within period, Customer.category IN B2B, group by Customer.terms, sum Amount.
Why our number may legitimately differ:
| Reason | Direction | Why |
|---|---|---|
| Term-name normalisation | Material | Merchants often have multiple “Net-30” entries (e.g. “Net-30”, “NET 30”, “Net 30 Days”). Vortex IQ normalises by default; some NS reports leave them separate. |
| Per-transaction term override | Either | Individual SOs can override the customer’s default terms (one-off COD on a normally Net-30 customer, for instance). Vortex IQ uses the SO’s effective terms, not the customer’s default. |
| Sub-customer terms | Either | Sub-customers can inherit or override parent terms; verify the consolidation rule. |
| Card | Expected relationship | Notes |
|---|---|---|
shopify.b2b_company_terms (when present, Plus B2B only) | Subset of NS terms for the Shopify-fronted B2B accounts | Shopify Plus B2B stores company-level payment terms; should reconcile to the NS customer terms 1:1. |
Known limitations / merchant FAQs
Why is the dollar-weighted view more useful than the count view? Because dollars drive cash flow; one Net-60 customer doing $500k matters more than 50 small Net-30 customers. The count view is useful for HR-style “what does my account portfolio look like”; the dollar-weighted view is useful for “what does my cash cycle look like”. My weighted-average term is 39 days but my DSO is 47 days. Where are the 8 days? Delinquency. Customers paying late beyond their terms. The 8-day gap is what good AR collection effort can recover. Cross-reference A/R Aging Buckets: the dollars in the 60+d bucket on Net-30 accounts is exactly the recoverable delinquency. What is 2/10 Net-30 and should I offer it? “2% discount if paid within 10 days, otherwise full balance due in 30 days”. The economics: you give up 2% of the invoice in exchange for cash 20 days earlier. The annualised cost is 36% (2% × 360/20) which sounds expensive but is cheaper than most working-capital lines and competitive with invoice factoring. Worth offering if your cost of capital exceeds 12%. Most of my customers are Net-30 but I have one large customer on Net-90. Why was that signed? Usually one of three reasons: (1) the customer is a major retailer (Walmart, Target, Costco) with non-negotiable terms; (2) the customer was a desperate-acquisition deal (you offered the long terms to win the contract); (3) the contract was signed years ago when working-capital was cheaper. Annual contract reviews + selective renegotiation. Should I unify all my customers to Net-30? No. Larger customers (especially major retailers and government accounts) will not accept short terms; trying to enforce uniformity loses contracts. The realistic playbook is: Net-30 default, Net-45 or Net-60 negotiated case-by-case for top accounts, COD/Prepay for new or troubled accounts, with periodic graduation reviews. My OneWorld account: do terms differ across subsidiaries? Often yes. UK + EU customers tend to expect Net-30 (regional commercial norm); US customers expect Net-30 with some Net-60 for larger accounts; AU customers often run Net-30 on EOM (end-of-month following invoice). Per-subsidiary view captures the regional norms. How do I track the customers using the early-pay discount vs not? Vortex IQ exposes ”% of 2/10 Net-30 customers paying within 10 days” via Ask Viq. Typical adoption is 10 to 20% of those eligible; the other 80%+ ignore the discount and pay on Day 30. My new contract terms include “Net-30 EOM” (end-of-month). How is that treated? NetSuite supports EOM terms via theNet X Days from EOM configuration. Vortex IQ treats it as the equivalent of Net-30+15 days on average (since invoices land mid-cycle). For the headline mix, EOM appears as its own slice; the implied DSO is calculated correctly per slice.
A customer dropped from Net-60 to Net-30, what does it mean?
Usually one of three: (1) you negotiated tighter terms at contract renewal (good); (2) the customer’s credit profile worsened and you tightened to reduce exposure (cautionary); (3) the customer churned to a competitor and you re-acquired them at less favourable terms (mixed signal). Cross-reference the customer’s history.
What is COD as a “term” exactly?
Cash on delivery. The carrier collects payment when delivering the goods; the merchant doesn’t ship without payment confirmation. Effectively zero-days-AR. Vortex IQ treats COD as 0 days for the DSO calculation. NetSuite’s COD term integrates with Cash Sale workflow rather than Invoice workflow.