Skip to main content
Card class: Card
Highest-revenue B2B parent companies. Consolidates sub-buyer activity into account-level revenue.

At a glance

Ranked list of the merchant’s top B2B parent-company accounts by revenue contribution in the period, with sub-buyer hierarchy shown beneath each parent. The operator’s account-portfolio snapshot: which accounts make the business, where the concentration risk sits, and which sub-buyers within each parent are the day-to-day order placers. NetSuite’s Customer-and-Sub-Customer model exposes this hierarchy natively, making this card materially richer than commerce-platform equivalents.
What it countsSUM(SO.total) GROUP BY parent_customer ORDER BY sum DESC LIMIT 20 (configurable). Filtered to Customer.category IN ('Wholesale','Distributor','B2B','Net Terms') (configurable per merchant manifest). Only B2B accounts; DTC consumers excluded. Sub-buyers are aggregated to their parent.
VAT / tax treatmentSums total which is gross (tax-inclusive) on UK / EU / AU subsidiaries and exclusive on US.
ShippingIncluded (in total).
DiscountsAlready deducted. Contract-pricing discounts are reflected.
RefundsNOT deducted by default (gross revenue). Net-of-refund view available, subtracting same-period credit memos.
Cancelled / voided ordersExcluded.
CurrencyEach customer’s revenue in their transaction currency, summed in base / consolidation currency. Per-subsidiary view available.
Channels / sourcesAll B2B sources blended: B2B portal, manual SO, EDI inbound. DTC web orders excluded by category filter.
HierarchyVortex IQ rolls Sub-Customers up to their parent customer record. The visible list is parent-level; expanding a row shows the sub-buyer breakdown (typically procurement contacts, regional buyers, location-specific accounts).
Time window90D (default; configurable to 30D, 365D, YTD).
Alert triggerNone on the list directly; concentration-risk shift surfaced via Customer Churn Signals.
Rolesowner, finance, sales

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, 90D window 02 Feb 26 to 01 May 26. Top 10 B2B parent accounts:
RankParent AccountCategoryRevenue (90D)% total# Sub-buyers active# OrdersAvg SOPayment terms
1Marsh Industrial HoldingsDistributor$1,840,2008.4%1486$21,398Net-60
2Pacific Fasteners CoDistributor$1,420,1006.5%9142$10,001Net-30
3Hartwell Hardware GroupWholesale$980,4004.5%22184$5,328Net-30
4Yates Construction SupplyWholesale$812,3003.7%1196$8,461Net-45
5Reliable Steel DistributorsDistributor$748,2003.4%638$19,690Net-60
6National Industrial SupplyWholesale$620,4002.8%18124$5,003Net-30
7Carter WholesaleWholesale$580,8002.6%988$6,600Net-30
8Western Construction HardwareWholesale$520,1002.4%14102$5,099Net-45
9Apex Procurement ServicesNet Terms B2B$462,0002.1%26240$1,925Net-30
10Bowman Building SupplyWholesale$410,2001.9%864$6,409Net-30
Top 10 total$8,394,70038.3%1371,164$7,212
What VP Finance reads here on a Monday review:
  1. Concentration risk: 38.3% of 90D revenue from 10 accounts. This is the working benchmark for “concentrated” in B2B distribution; healthy diversification target is <40%. Above 50% the business has structural single-account risk.
  2. Marsh Industrial is the #1 dependency at 8.4%. Losing or even halving Marsh would be a $920k/quarter hole. Their 14 active sub-buyers signal the relationship is broad (multiple procurement contacts placing orders), which is healthier than a single-buyer relationship; broad relationships are stickier.
  3. Pacific Fasteners has 142 orders / 9 sub-buyers vs Marsh’s 86 orders / 14 sub-buyers. Pacific runs a higher-frequency, smaller-basket pattern (16 orders per sub-buyer vs Marsh’s 6); Marsh runs larger less-frequent orders. The two account types call for different account-management cadences (Pacific needs weekly check-ins, Marsh quarterly + on-event).
  4. Apex Procurement (#9) has 26 sub-buyers, double the next-largest. Apex is a procurement-services company that buys on behalf of 26 end-customer locations; their hierarchy makes the parent revenue look smaller per-buyer ($1,925 avg) but the total is meaningful. Treat Apex as a channel partner rather than a customer.
  5. Payment terms mix: top 5 accounts are split between Net-30 (small accounts) and Net-60 (largest accounts). This is the working-capital pressure point: 4.0mofthetop10revenueisonNet60,meaning4.0m of the top-10 revenue is on Net-60, meaning 4.0m × (60/90) = $2.7m is structurally tied up in AR for the largest accounts. Cross-reference DSO and B2B Payment Terms Mix.
  6. Action playbook:
    • Quarterly business review with Marsh and Pacific (top 2). Strategic-account-management cadence.
    • Cross-reference Customer Churn Signals filtered to top-10: ensure none have a last-order-age past their typical cadence.
    • For top 5 accounts, audit Customer Credit Utilisation to confirm credit limits are sized to support continued growth.
    • Consider Net-45 instead of Net-60 on Marsh’s next contract renewal to release working capital while preserving the relationship.

Sibling cards merchants should reference together

CardWhy pair it with Top B2B Accounts
Active CustomersThe total denominator. Top accounts as % of total.
Customer Credit UtilisationTop accounts at high utilisation = revenue-at-risk.
Customer Churn SignalsApply the churn detector to top accounts; small drop in a top-10 account is a $5-figure monthly hole.
B2B Payment Terms MixTop accounts skew long-terms. Working-capital concentration.
DSOTop accounts drive DSO. A single Net-60 account paying late lifts DSO meaningfully.
A/R Aging BucketsTop accounts in the >60d bucket = priority collection calls.
Top Customers by RevenueAll-customer top-N (includes DTC); compare to B2B-only view.

Reconciling against the vendor’s own dashboard

Where to look in NetSuite’s own dashboard:
Reports > Sales > Sales by Customer > Summary, set period, sort descending by Amount. For the Sub-Customer hierarchy view, group by Parent Customer.
For the saved-search version: Saved Search > Transaction, criteria Type = Sales Order, Date within period, Customer.category IN (Wholesale, Distributor, B2B), group by Customer.parent (custom formula NVL({customer.parent}, {customer.internalid}) to roll sub-customers up). Why our number may legitimately differ:
ReasonDirectionWhy
Customer category filterEitherVortex IQ filters by category list; merchants who use non-standard category names need to update the manifest filter.
Sub-Customer rollupMaterialVortex IQ rolls sub-customers to parent. NS reports vary; some show Sub-Customers as separate rows. Verify the report grouping.
Refund treatmentVortex IQ higherDefault is gross. Net-of-refund view subtracts credit memos, lowering top-account revenue 1 to 5%.
CurrencyEitherPer-customer in transaction currency; consolidation in base. Multi-currency customers can show different ranking depending on view.
Cross-connector reconciliation: This card is NetSuite-specific. The closest commerce-platform equivalents are top-customer cards which see only DTC traffic and miss the B2B parent-sub hierarchy entirely. Use this card as the canonical view for B2B account revenue.
CardExpected relationshipNotes
shopify.top_customersDTC subset onlyIf a B2B parent buys via Shopify Plus B2B, individual Shopify customer = NS Sub-Customer. NS rolls up; Shopify does not.

Known limitations / merchant FAQs

My #1 account is at 25% of revenue. Is that dangerous? Yes, structurally. Single-account concentration above 20% is the classic distribution-business risk: losing the account is a discontinuous step-down in revenue, with associated covenant / lender / valuation impacts. Healthy concentration target is the top account at <15% and top-10 combined <40%. If concentration is already high, the management response is diversification (acquire smaller customers) rather than dependency-management (try to lock the top account harder, which rarely works). Should I exclude my own subsidiaries from this list? Yes if you have intercompany transactions in OneWorld. Subsidiary A selling to subsidiary B will appear as B in A’s customer list (and vice versa). Vortex IQ provides a toggle “exclude intercompany” which strips these. Why does my top account have 14 sub-buyers? Multi-location customers (a distributor with 14 warehouses, a hospital system with 14 hospitals, a chain retailer with 14 stores) typically maintain separate procurement contacts per location. Each becomes a Sub-Customer in NetSuite, with the parent being the holding company. The sub-buyer view tells you how broad your relationship is; 14 active sub-buyers is structurally stickier than 1. Can I see my top accounts by margin instead of revenue? Yes via Ask Viq: “show me top B2B accounts by gross margin contribution”. Vortex IQ joins SO line-item to item-level cost and computes margin per account. Sometimes the #1 revenue account is not the #1 margin account (low-margin volume customers vs high-margin specialty customers). What if I want to see top accounts by sales-rep? Vortex IQ exposes per-rep slices via Ask Viq. Particularly useful for compensation-design discussions and territory-planning. A customer dropped off the top-10 last quarter. What happened? Three usual causes: (1) seasonal cadence (their buying pattern is quarterly, this quarter was a low quarter); (2) competitor acquisition (they switched part of their volume to a competitor); (3) operational issue (they reduced order frequency due to fulfilment / pricing / quality complaint). Pull the customer’s order history; if last 30D is zero, they need a check-in call this week. Why is one of my top accounts on Net-60 when our standard is Net-30? Negotiated terms. Top accounts often have customer-specific terms negotiated as part of their original contract. NetSuite stores the terms on the customer record (override the company-default). Cross-check that the negotiated terms are documented and reviewed at contract renewal; uncontested top-account terms tend to drift longer over time. My OneWorld account: should I roll up across subsidiaries? Depends. A global B2B customer (e.g. Marriott, with separate POs from US, UK, AU subsidiaries) has separate customer records per NS-subsidiary by default. The customer’s true total revenue is the cross-subsidiary roll-up. Vortex IQ exposes a “global parent” view via the optional globalCustomer field; for merchants who don’t maintain that field, view per-subsidiary then sum manually for the strategic view. The list shows revenue but not gross margin. Can the #1 account be a loss-maker? Yes, for some businesses. Distribution accounts negotiated at low margin volumes (race-to-the-bottom commodity pricing) can be loss-makers at the operating level. Cross-reference Margin by SKU and request the per-account margin view via Ask Viq if your business has accounts that might fall into this trap. Sub-buyer detail: how do I action it? Sub-buyer-level detail is most valuable for retention. If a parent has 14 active sub-buyers and only 9 ordered this quarter, the 5 dormant sub-buyers are the targeted re-engagement list. The parent is healthy on aggregate, but the sub-buyer cohort within is shrinking; pre-empt with a sales-rep outreach.

Tracked live in Vortex IQ Nerve Centre

Top B2B Accounts by Revenue 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.