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 counts | COUNT(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 treatment | n/a, this is a count-by-state breakdown. |
| Shipping | n/a. |
| Discounts | n/a. |
| Refunds | n/a, refunds are separate transaction types and do not appear in SO state. |
| Cancelled / voided orders | Cancelled 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. |
| Currency | Currency-agnostic at the count level. Companion value card uses base / consolidation currency. |
| Channels / sources | All 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 window | RT (real-time snapshot). |
| Alert trigger | None directly; specific state-stuck alerts live on SO to Invoice Lead Time. |
| Roles | owner, 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:| State | Count | % of open | Avg dwell time | What it tells the operator |
|---|---|---|---|---|
| Pending Approval | 8 | 1.1% | 2.1h | Healthy. Web orders auto-approve; the 8 are manually-entered B2B wholesale SOs awaiting credit sign-off. |
| Pending Fulfillment | 412 | 57.2% | 0.8 days | The 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 Fulfilled | 86 | 11.9% | 4.2 days | Backorder dwell. Long; investigate. |
| Pending Billing | 198 | 27.5% | 1.4 days | Shipped but not yet invoiced. Within the AR clerk’s normal 1 to 2 day window. |
| Pending Billing/Partially Fulfilled | 16 | 2.2% | 5.1 days | Slow. These are typically B2B accounts where part of the SO shipped, was invoiced, and the remainder is on long backorder. |
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.- The 86 in
Partially Fulfilledwith 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. 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.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.Partially Fulfilled + Pending Billing/Partially Fulfilledis 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.
| Subsidiary | Pend Approval | Pend Fulfillment | Partial Fulfilled | Pend Billing | Pend Bill/Part Fulfilled |
|---|---|---|---|---|---|
| UK Ltd (DTC + B2B) | 5 | 290 | 62 | 142 | 11 |
| US LLC (DTC only) | 1 | 88 | 14 | 38 | 3 |
| EU BV (B2B mostly) | 2 | 34 | 10 | 18 | 2 |
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
| Card | Why pair it with SO State Breakdown |
|---|---|
| Open Sales Orders | The headline count this card decomposes. State Breakdown is the diagnostic layer beneath the count. |
| Open SO Value | Same 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 Time | The throughput companion. State Breakdown shows where SOs sit; lead time shows how long they sit. |
| SOs Blocked on Inventory or Credit | The subset of Pending Fulfillment + Partially Fulfilled that are mechanically blocked. |
| Low Stock Alerts | The cause of stuck Partially Fulfilled. Resolving low-stock SKUs frequently unsticks the partial-fulfilled bucket. |
| Customer Credit Utilisation | When Pending Approval is rising, this card explains whether the credit team is responding or whether accounts are hitting their credit ceiling. |
| Unpaid Invoice Count | Downstream 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:
| Reason | Direction | Why |
|---|---|---|
| SuiteAnalytics refresh lag | Ours lower for last 5 to 30 minutes | SuiteQL via SuiteAnalytics Connect; freshness depends on tenant cadence. |
| Custom status fields | Ours may show fewer states | Some 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 Billed | Either depending on view choice | Vortex 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 scope | Either | OneWorld merchants must align the subsidiary filter; Vortex IQ shows consolidation by default. |
| Card | Expected relationship | Notes |
|---|---|---|
shopify.fulfillment_status | Pending Fulfillment + Partially Fulfilled in NS approximates unfulfilled + partially_fulfilled in Shopify | Auto-fulfilled-in-Shopify orders may have already cleared in Shopify but not yet in NS due to sync direction. |
bigcommerce.order_status | Pending 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 isPending 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.