Skip to main content
Card class: Card
Live value of all open Sales Orders not yet invoiced. The forward revenue book.

At a glance

Live value of all open Sales Orders not yet invoiced. The forward revenue book, the leading indicator for next-month GL revenue.
What it countsSUM(Transaction.Amount) where Transaction.Type = SalesOrd and Status IN ('Pending Approval', 'Pending Fulfilment', 'Partially Fulfilled', 'Pending Billing', 'Partially Billed'). Excludes Billed in Full, Closed, Cancelled. The remaining-to-bill amount on partially-billed SOs is netted out.
Tax treatmentNet of tax. Sales Orders carry tax on a separate line and the card sums revenue lines only. UK / EU subsidiaries: VAT-exclusive. US: sales-tax-exclusive.
ShippingIncluded if your account books shipping income to a revenue-class line on the SO. Standard NetSuite Item Records for shipping behave this way.
DiscountsAlready deducted; SO Amount is post-discount.
Refundsn/a (refunds happen post-Invoice via Credit Memos, never on a Sales Order).
Cancelled / voided ordersExcluded. Cancelled SOs have Status = Cancelled and are filtered out.
CurrencyOneWorld: consolidated to reporting currency at current FX rate (re-priced live). Single-subsidiary: native subsidiary currency.
Subsidiary scopeRespects dashboard subsidiary filter. By default sums every subsidiary the role can read.
Channels / sourcesIncludes every channel that creates SOs in NetSuite: commerce-platform integrations, B2B portals, manual SO entry, EDI, marketplaces. Filter by Class to slice.
Time windowRT (real-time snapshot, not period-based)
Alert triggerNone at the headline (this card is informational); the alert lives on SOs Blocked
Rolesowner, finance, 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

An Australian electronics manufacturer running NetSuite OneWorld with AU and SG subsidiaries. Reporting currency AUD. Snapshot taken 12 Apr 26 at 9am AEST.
Status bucketSO countTotal amount (AUD)
Pending Approval (over $50K threshold)12$1,840,000
Pending Fulfilment184$4,210,000
Partially Fulfilled (remaining)47$920,000
Pending Billing96$2,580,000
Partially Billed (remaining)28$410,000
Open SO Value (this card)367$9,960,000
Five things to notice:
  1. $1.84M in Pending Approval is the controllable lever. These are large SOs (mostly enterprise distributors) waiting on Finance sign-off because they exceed the credit-limit auto-approve threshold. The Controller can release them in 30 minutes; until then they’re not progressing toward GL.
  2. Pending Fulfilment is the biggest bucket ($4.21M) but it’s healthy; this is operations executing. Watch the flow rate to detect warehouse bottlenecks.
  3. Pending Billing ($2.58M) is the killer working-capital signal. Goods have shipped, customer is on the hook, but no Invoice means no AR clock. Every day in this bucket extends DSO. Pair with SO to Invoice Lead Time.
  4. Partially-billed SOs ($410K remaining) are typically B2B back-orders where the first shipment billed but a backordered SKU is still pending. Healthy, but track the age, anything > 60 days old is a candidate for cancellation.
  5. Last week’s snapshot was $8.2M. Open SO Value is up 21% week-on-week, driven by a new distributor onboarding (Pending Approval bucket). The card surfaces the trendline so the Controller knows revenue queue is filling, not draining. Pair with Revenue Booked into GL trend to see whether the queue translates into bookings.

Sibling cards merchants should reference together

CardWhy pair it with Open SO Value
Open SOs BlockedThe subset blocked on inventory or credit. Tells you what fraction of the queue is stuck vs flowing.
SO State BreakdownThe pie chart of buckets shown in the Worked Example. Visualises where the queue sits.
SO to Invoice Lead TimeAverage days from SO creation to Invoice posting. Health metric for the queue’s flow rate.
Average SO ValueOpen SO Value ÷ Open SO Count. Detects whether queue growth is volume or basket.
Revenue Booked into GLToday’s GL is yesterday’s open queue. The lookback to validate the leading indicator.
Credit Hold OrdersSpecifically the credit-blocked subset. Different remediation than inventory blocks.
Top B2B AccountsConcentration risk. If 5 customers own 60% of the open queue, churn risk is concentrated.
shopify.total_revenue / bigcommerce.total_revenueCommerce gross feeds the SO queue. Comparing inflow rate to queue size shows whether bookings are speeding up or slowing down.

Reconciling against the vendor’s own dashboard

Where to look in NetSuite:
Reports → Sales → Open Sales Order Register (Transactions → Sales → Sales Order, filter Status: Open) Saved search: Transaction.Type = SalesOrd AND Status NOT IN ('Closed', 'Cancelled', 'Billed in Full')
The Open Sales Order Register native report should match this card to the dollar when filtered to the same subsidiary scope. Differences usually trace to:
  • The Register defaults to all-time open SOs (some are years old and structurally stuck). This card includes them. NetSuite Admins often filter the Register to “last 90 days” out of habit, so the Register total is lower.
  • Some accounts customise the Register to exclude Pending Approval (they treat unapproved SOs as quote-stage). This card includes them by default; flip the field map filter if your accounting policy differs.
Adjacent reports that look related but aren’t:
  • Sales by Item: counts billed and shipped revenue, not the open queue.
  • Backorder by Item: the inventory-shortage subset; useful but smaller.
  • Customer Aging: AR-based, post-Invoice. Different stage of the lifecycle.
Why our number may legitimately differ from NetSuite’s reports:
ReasonDirectionWhy
Real-time vs report timingSmall driftCard refreshes every 15 minutes; native Register is on-demand. SOs created or closed between refreshes show as drift.
Subsidiary scopeEitherNative Register may run at a single subsidiary; card sums all subsidiaries the role can read by default.
FX rate cadenceSmallOneWorld translation differs between current-rate (this card) and report-saved-rate. Single-currency stores: zero gap.
Pending Approval inclusionCard may be higherSome Admins exclude unapproved SOs from forward pipeline reports. The card includes them as a more conservative pipeline view.
Drop-ship / TPL-tagged SOsEitherIf your account uses the Drop Ship checkbox, those SOs may have a different revenue-booking path. The card includes them; some Admin reports exclude.
Cross-connector reconciliation:
CardExpected relationshipWhy
shopify.total_revenue (last 7 days)Recent open SO Value should track 7-day Shopify revenue × ship-to-bill lagCommerce orders feed the SO queue; the queue size is roughly inflow × lag.
bigcommerce.total_revenue (last 30 days)B2B BC orders dominate Pending BillingNet-30 means BC orders sit in the queue 10-30 days before billing.
adobe_commerce.total_revenueAs above, B2B-skewedAdobe Commerce wholesale orders queue similarly.
This card has no native counterpart in commerce platforms because they don’t model the “shipped but unbilled” intermediate state. NetSuite is the only place to see it.

Known limitations / merchant FAQs

Is Open SO Value the same as backlog? Close, but not identical. Backlog typically refers to fulfilment-pending orders (Pending Fulfilment + Partially Fulfilled). Open SO Value also includes Pending Billing (already shipped, not yet invoiced) and Pending Approval. For a strict backlog view, filter the SO State Breakdown card to fulfilment states only. Why is the number so different from my Sales Order Register report? Most often: subsidiary scope or status filter. Open the saved search behind the Register and check whether Pending Approval is excluded. If it is, that’s the gap. Also check the date filter; the Register may default to “last 90 days” and exclude older stuck SOs. Pending Approval, what causes the bottleneck? Three usual culprits: (1) credit-limit threshold, the SO exceeds the customer’s auto-approve limit; (2) discount-approval threshold, the line discount exceeds policy; (3) custom workflow gating, e.g. legal review for new contract terms. The Controller has direct authority to release on (1) and (2); (3) usually requires a workflow inspection. Why doesn’t my commerce platform show this number? Commerce platforms don’t model the “shipped but unbilled” state. Shopify, BigCommerce, and Adobe Commerce typically auto-invoice at fulfilment for DTC. The Pending Billing concept only appears when a B2B billing schedule is in play, which is a NetSuite-side workflow. B2B credit-hold mechanics, do held SOs count? Yes. SOs on credit hold remain in Pending Approval (or sometimes Pending Fulfilment with a hold flag, depending on workflow). The card includes them so the queue stays honest. The Credit Hold Orders sibling shows just the held subset. OneWorld currency reval, does it move the headline? Yes, mildly. Open SOs carry their original transaction currency, and the card translates to reporting currency at the current spot rate at refresh time. A 2% AUD/USD swing day-on-day moves the AUD-reporting headline by a similar amount on a USD-heavy queue. The trendline smooths it; the alert ignores FX-only shifts. Sales Order vs Invoice vs Cash App, where does this fit in the lifecycle? This card is the SO stage. Once an SO bills, it leaves this card and enters Invoice Aging and DSO territory. Once cash applies, the Invoice closes and the AR balance drops to zero. Three cards, three stages. Recurring billing on subscriptions, how is that handled? NetSuite Subscription Billing creates SOs with billing schedules. The card sums the next-billing-cycle amount, not the lifetime contract value. So a 12-month 120Kcontractbilling120K contract billing 10K/month shows 10KintheopenSOatanygivensnapshot,not10K in the open SO at any given snapshot, not 120K. This avoids double-counting future revenue. ASC 606 deferred revenue impact, does it apply here? No. This card is pre-Invoice; ASC 606 deferral happens at Invoice posting. SOs queued for billing don’t trigger any deferral logic until the Invoice creates.

Tracked live in Vortex IQ Nerve Centre

Open Sales Order Value 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.