Skip to main content
Card class: Card
Pending Approval / Pending Fulfilment / Pending Billing / Closed mix.

At a glance

Decomposes the open Sales Order pipeline into NetSuite’s lifecycle states. Where Open Sales Orders is one number, this card is a pie / stacked bar showing how many SOs are at each step of the journey. The value is diagnostic: when the headline count rises, this card tells the operator which lifecycle gate is congested (sales approval, warehouse fulfilment, AR billing).
What it countsCOUNT(transactions WHERE type='SalesOrd') GROUP BY status. Shows the distribution across NetSuite’s Standard Sales Order workflow states: Pending Approval, Pending Fulfillment, Partially Fulfilled, Pending Billing, Pending Billing/Partially Fulfilled, Billed, Closed, Cancelled. Vortex IQ surfaces the open states (first five) by default and lets the merchant include/exclude Billed and Closed from the chart.
VAT / tax treatmentn/a, this is a count-by-state breakdown.
Shippingn/a.
Discountsn/a.
Refundsn/a, refunds are separate transaction types and do not appear in SO state.
Cancelled / voided ordersCancelled is its own state and is shown in the chart by default. Vortex IQ surfaces it because cancellation rate-of-rise is a leading indicator of customer dissatisfaction or supply-failure.
CurrencyCurrency-agnostic at the count level. Companion value card uses base / consolidation currency.
Channels / sourcesAll sources blended (Web, B2B portal, manual, EDI, commerce-connector). The merchant can filter by source field to see per-channel state mix; particularly useful for distinguishing manual-keyed SOs (which often dwell longer in Pending Approval) from web SOs (which auto-approve).
Time windowRT (real-time snapshot).
Alert triggerNone directly; specific state-stuck alerts live on SO to Invoice Lead Time.
Rolesowner, operations

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 UK omnichannel apparel brand on NetSuite OneWorld (UK Ltd parent, US LLC, EU BV), Shopify Plus on the front-end with NetSuite as system-of-record. Snapshot Tuesday 05 May 26, 14:30 GMT. Headline: 720 open SOs across the consolidation. State distribution:
StateCount% of openAvg dwell timeWhat it tells the operator
Pending Approval81.1%2.1hHealthy. Web orders auto-approve; the 8 are manually-entered B2B wholesale SOs awaiting credit sign-off.
Pending Fulfillment41257.2%0.8 daysThe warehouse pick queue. Sized for 1.2 days of typical demand at this brand. Slightly above norm, in line with a small Saturday backlog still flushing through.
Partially Fulfilled8611.9%4.2 daysBackorder dwell. Long; investigate.
Pending Billing19827.5%1.4 daysShipped but not yet invoiced. Within the AR clerk’s normal 1 to 2 day window.
Pending Billing/Partially Fulfilled162.2%5.1 daysSlow. These are typically B2B accounts where part of the SO shipped, was invoiced, and the remainder is on long backorder.
The diagnostic story:
  1. Pending Fulfillment 57% is the “right” pie shape. A healthy distribution warehouse usually has 50 to 65% of pipeline at this gate. Below 40% suggests either over-staffed picking or under-stocked product (orders are blocked elsewhere); above 70% means the warehouse is the bottleneck.
  2. The 86 in Partially Fulfilled with 4.2-day dwell is the operational red flag. These are SOs where the warehouse shipped what was in stock and the customer is waiting on backorder. The longer the dwell, the more likely the customer cancels the remainder. Cross-reference Low Stock Alerts to find the SKUs gating the partials, and OOS with Open SO Demand to size the cumulative customer-impact. Many merchants find that resolving 5 to 10 backorder SKUs unsticks 30 to 50 of these partials.
  3. Pending Billing 27% is high but explainable. Apparel brands running daily batch billing (rather than per-shipment auto-billing) typically see 20 to 35% in this state during the Tuesday morning window after the Monday shipping flush; the AR team will clear it during Tuesday and Wednesday. If the share holds above 30% on Friday, billing is genuinely behind.
  4. Pending Approval 1% is healthy. B2B-light brands rarely see this above 2 to 3%. Above 5% means the credit team is bottlenecking new orders, often a knock-on of expanded credit-policy review post-fraud event.
  5. Partially Fulfilled + Pending Billing/Partially Fulfilled is the “stuck SO” bucket. Combined: 102 SOs (14% of open). The brand’s 90-day median is 7%, today’s 14% is 2x. Action: pull the SO list, identify the gating SKUs, decide whether to back-order-cancel the unfulfilled lines and close the SOs out (clearing the count) or wait for inbound stock.
Comparison view: subsidiary breakdown of the state mix:
SubsidiaryPend ApprovalPend FulfillmentPartial FulfilledPend BillingPend Bill/Part Fulfilled
UK Ltd (DTC + B2B)52906214211
US LLC (DTC only)18814383
EU BV (B2B mostly)23410182
The UK subsidiary is carrying most of the partial-fulfilled risk: 62 of 86. Investigation traces it to a single inbound delay on a navy-blazer line that drops 2 weeks late. Once the inbound posts, 35 to 40 of those SOs will flip in 24 hours. Cross-channel sanity check: the same 720 open SOs in NetSuite should approximately match Shopify orders in unfulfilled + partially_fulfilled. If Shopify shows 750 and NetSuite shows 720, the 30-order gap is the Commerce Orders Without NetSuite SO population, the kill-shot card.

Sibling cards merchants should reference together

CardWhy pair it with SO State Breakdown
Open Sales OrdersThe headline count this card decomposes. State Breakdown is the diagnostic layer beneath the count.
Open SO ValueSame decomposition but in dollars. The state mix is similar but a single $200,000 B2B SO sitting in Pending Billing skews the value chart very differently from the count.
SO to Invoice Lead TimeThe throughput companion. State Breakdown shows where SOs sit; lead time shows how long they sit.
SOs Blocked on Inventory or CreditThe subset of Pending Fulfillment + Partially Fulfilled that are mechanically blocked.
Low Stock AlertsThe cause of stuck Partially Fulfilled. Resolving low-stock SKUs frequently unsticks the partial-fulfilled bucket.
Customer Credit UtilisationWhen Pending Approval is rising, this card explains whether the credit team is responding or whether accounts are hitting their credit ceiling.
Unpaid Invoice CountDownstream view: SOs that flipped to Billed and are now waiting for cash.

Reconciling against the vendor’s own dashboard

Where to look in NetSuite’s own dashboard:
Reports > Sales > Open Sales Orders > Detail, with the result grouped by Status. The summary block at the top of the report shows count by state. The directly-comparable view.
For the saved-search version: Lists > Search > Saved Searches > New > Sales Order, criteria Status = (Pending Approval, Pending Fulfillment, Partially Fulfilled, Pending Billing, Pending Billing/Partially Fulfilled), results grouped by Status. Most NetSuite consultants ship a “Open SO by State” saved search out of the box; check Saved Searches for an existing one before building. The closest dashboard portlet is Customise Dashboard > KPI Meter > Sales Orders, which can be configured to show count grouped by status as separate meters, useful for at-a-glance. Why our number may legitimately differ from NetSuite’s:
ReasonDirectionWhy
SuiteAnalytics refresh lagOurs lower for last 5 to 30 minutesSuiteQL via SuiteAnalytics Connect; freshness depends on tenant cadence.
Custom status fieldsOurs may show fewer statesSome merchants extend the SO workflow with custom status (e.g. Pending Manager Approval, Pending QA Hold). Vortex IQ buckets unknown status into an Other slice unless the manifest is extended.
Closed vs BilledEither depending on view choiceVortex IQ surfaces open states by default and excludes Billed. Some NetSuite reports include Billed within last 30 days, padding the chart. Compare like for like.
Subsidiary scopeEitherOneWorld merchants must align the subsidiary filter; Vortex IQ shows consolidation by default.
Cross-connector reconciliation:
CardExpected relationshipNotes
shopify.fulfillment_statusPending Fulfillment + Partially Fulfilled in NS approximates unfulfilled + partially_fulfilled in ShopifyAuto-fulfilled-in-Shopify orders may have already cleared in Shopify but not yet in NS due to sync direction.
bigcommerce.order_statusPending Fulfillment ≈ Awaiting Fulfillment; Pending Billing ≈ Shipped (unbilled in NS)BigCommerce status semantics are similar but not identical; expect 5 to 15% bucket mismatch.

Known limitations / merchant FAQs

What is the right shape for a healthy distribution business? For a typical mid-market distributor with 1 to 3 day pick-pack cycles: Pending Approval 1 to 5%, Pending Fulfillment 50 to 65%, Partially Fulfilled 5 to 10%, Pending Billing 20 to 30%, Pending Billing/Partially Fulfilled 1 to 3%. For a manufacturer with longer build-to-order cycles, Pending Fulfillment runs higher (70 to 85%) because dwell time is longer. For a SaaS-style services business, Pending Billing dominates (40 to 60%) because billing cycles are scheduled. How is Pending Approval triggered? Two ways. (1) The standard Approval Routing setting at Setup > Sales > Sales Preferences > Sales Order Approval Required, which routes new SOs to the assigned approver based on dollar threshold or customer attributes. (2) Customer-level credit hold (the customer’s creditstatus is set to On Credit Hold), which forces every SO from that customer into Pending Approval until released. The two cases call for different actions: the first is sales-team workflow, the second is AR-team workflow. Partially Fulfilled keeps growing. What do I do? Three plays in order: (1) Find the gating SKUs via Low Stock Alerts or OOS with Open SO Demand. Most partial-fulfilled queues are 5 to 15 SKUs deep, not 200. (2) For each gating SKU, decide: wait for inbound (cheap, customer waits longer), drop-ship from supplier (medium cost, customer fulfilled), or back-order-cancel and refund (clears the queue, hurts CSAT). (3) Move forward stocks to higher safety levels for the SKUs where the third option came up. Why is Pending Billing even a state? Why doesn’t NetSuite auto-bill on shipment? Because some industries (B2B distribution, contract manufacturing) intentionally delay invoicing until the customer-confirmed POD, or until end-of-month for batched billing, or until project milestone. NetSuite preserves the merchant’s billing-cadence flexibility by separating Item Fulfilment (warehouse event) from Invoice (AR event). Merchants that want auto-bill enable Setup > Accounting > Auto-Generate Statements (which posts an Invoice on each Item Fulfilment); the option is off by default. Can I see this card per Customer Segment? Yes via Ask Viq: “show me SO state breakdown for my top 20 B2B accounts”. Vortex IQ will join the SO list to the customer record and slice the chart by the customer’s category or companyname. Useful for spotting whether one large account is driving the partial-fulfilled buildup. Does this include drop-ship orders? Yes by default. Drop-ship SOs (where NetSuite forwards the order to a third-party supplier rather than fulfilling internally) progress through the same lifecycle: Pending Fulfillment > Partially Fulfilled (when the drop-ship PO posts) > Billed. They appear in the chart alongside warehouse-fulfilled orders. Filter via the dropshipso field if you want to exclude. My OneWorld account: should I see this card per subsidiary or consolidated? Both views matter. Consolidated tells the CFO the total pipeline shape; per-subsidiary tells the regional GM what their team is dealing with. Vortex IQ supports both; the default is consolidated, the toggle on the card lets the merchant flip. The state mix often differs materially across subsidiaries (US LLC running mostly DTC vs UK Ltd running mixed B2B has very different Pending Approval and Pending Billing share). A sudden spike in Cancelled last week. What happened? Three usual causes: (1) A shipping carrier issue (one carrier going down, customers cancelling rather than waiting). (2) A pricing-error mass-cancel (the merchant accidentally posted wholesale prices to retail customers and rolled back the SOs). (3) A fraud-team batch action (the fraud team cancelled a batch of SOs flagged on a new fraud-rule). Open the SO list filtered to Cancelled and look at System Notes for the actor; usually one user did the bulk action.

Tracked live in Vortex IQ Nerve Centre

SO State Breakdown 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.