Skip to main content
Card class: Card
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 countsTwo 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 treatmentn/a, this is a categorical breakdown.
Shippingn/a.
Discountsn/a.
Refundsn/a.
Cancelled / voided ordersExcluded from the dollar-weighted view.
CurrencyPer-customer dollars in transaction currency, summed in base / consolidation.
Channels / sourcesAll B2B sources blended; DTC consumers excluded by category filter.
Term namesNetSuite 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 termsCOD (cash on delivery), Prepay (PO before shipment), Cash on Receipt, 2/10 Net 30 (early-pay discount) all surface separately.
Time window30D (term mix per period); customer-list view is point-in-time.
Alert triggerNone directly; mix shifts surfaced via Working-Capital trends.
Rolesowner, 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:
TermsCustomer count% of B2B base
Prepay14212.4%
COD867.5%
Net-15383.3%
Net-3072062.9%
Net-45928.0%
Net-60484.2%
Net-90141.2%
2/10 Net-3040.3%
Total B2B1,144100%
Dollar-weighted view (revenue 30D):
TermsRevenue% of B2B revenueImplied DSO contribution
Prepay$480,0004.4%0 days
COD$620,0005.7%0 days
Net-15$310,0002.8%15 days
Net-30$5,820,00053.4%30 days
Net-45$1,420,00013.0%45 days
Net-60$2,140,00019.6%60 days
Net-90$108,0001.0%90 days
2/10 Net-30$4,0000.0%30 days
Total$10,902,000100%39 days weighted-avg
What VP Finance reads:
  1. 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.
  2. 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.
  3. 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).
  4. 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.
  5. 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.
  6. 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 500kto500k to 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

CardWhy pair it with B2B Payment Terms Mix
DSOThe downstream consequence of the term mix. Weighted-avg term = floor on DSO.
A/R Aging BucketsAging-by-term split: Net-60 customers in 90+ bucket = serious delinquency.
Top B2B AccountsTop accounts skew long-terms; concentration of WC exposure.
Customer Credit UtilisationLong-terms + high utilisation = revenue at risk.
Cash Application RateCustomers on early-pay discount terms (2/10 Net-30) typically apply faster.
Cash CollectedCash velocity directly tied to terms mix.

Reconciling against the vendor’s own dashboard

Where to look in NetSuite’s own dashboard:
Saved Search > Customer, criteria Category IN B2B,Wholesale,Distributor, columns Terms, Internal ID, group by Terms. Count = customer-count view.
For dollar-weighted: Saved Search > Transaction, criteria Type = SO, Date within period, Customer.category IN B2B, group by Customer.terms, sum Amount. Why our number may legitimately differ:
ReasonDirectionWhy
Term-name normalisationMaterialMerchants 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 overrideEitherIndividual 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 termsEitherSub-customers can inherit or override parent terms; verify the consolidation rule.
Cross-connector reconciliation: This card is NetSuite-specific. Commerce platforms generally do not store payment terms on the customer record (terms are typically per-checkout-session and not persisted as a customer attribute on Shopify, BigCommerce, Adobe).
CardExpected relationshipNotes
shopify.b2b_company_terms (when present, Plus B2B only)Subset of NS terms for the Shopify-fronted B2B accountsShopify 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 the Net 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.

Tracked live in Vortex IQ Nerve Centre

B2B Payment Terms Mix is one of hundreds of KPI pulses Vortex IQ tracks across NetSuite and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.