Skip to main content
Card class: Non-HeroCategory: Ecommerce Platform
Average days from Sales Order creation to Invoice issued. Reflects fulfilment + billing-cycle health.

At a glance

Average elapsed time from Sales Order creation to Invoice posting, measured across SOs that completed the lifecycle within the period. The throughput X-ray of the order-to-cash machine: a rising lead time precedes rising DSO by 7 to 14 days, which is why VP Finance watches this card on Mondays before AR aging deteriorates.
What it countsAVG(invoice.tranDate - salesorder.tranDate) DAYS over SOs that flipped to Billed within the reporting window. The SO must have a corresponding Invoice record linked via createdfrom. SOs cancelled or closed-without-invoice are excluded.
VAT / tax treatmentn/a, this is a duration metric.
Shippingn/a.
Discountsn/a.
Refundsn/a, refunds run on a separate timeline (Credit Memo).
Cancelled / voided ordersExcluded; the SO must complete to be eligible. Voided invoices that originally posted from the SO are excluded.
Currencyn/a, the metric is in days. Per-subsidiary view is recommended.
Channels / sourcesAll sources blended by default. Web SO lead time is typically very short (auto-bill on fulfilment, 0.0 to 0.5 days) while B2B / EDI lead time is longer (1 to 30 days, depending on billing cadence). Filtering by source separates the two stories.
Time window30D vsP (rolling 30-day average vs prior 30-day period).
Alert trigger>7 days OR up >2 vsP, driven by sentiment_key: so_to_invoice.
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

A US wholesale distributor of industrial fasteners on NetSuite OneWorld. Reporting period 04 Apr 26 to 03 May 26 (rolling 30D). 8,420 SOs flipped to Billed in the period.
MetricThis periodPrior 30DDelta
Avg SO to Invoice lead time3.8 days1.9 days+1.9 days
Median lead time1.4 days1.2 days+0.2 days
90th percentile12.1 days7.4 days+4.7 days
SOs flipped to Billed8,4208,260+1.9%
The signal: the average doubled but the median barely moved. That tells the operator: a small number of SOs are taking dramatically longer than usual, dragging the average up while typical orders flow normally. This is a “long-tail” issue, not a structural slowdown. Decomposition by source:
SourceMean lead time (this period)Mean (prior)SO count
Web (SCA)0.3 days0.2 days5,420
B2B portal2.1 days1.8 days1,840
EDI inbound4.6 days3.9 days920
Manual SO entry18.2 days6.4 days240
The story is the manual SO line. 240 manually-entered SOs are now taking an average 18.2 days from creation to Invoice (up from 6.4). Two hundred and forty SOs is 2.8% of volume but they are dragging the blended average from 1.9 to 3.8 days. Investigation:
  1. Pull the 90th-percentile SO list. Vortex IQ shows the top 24 longest-dwelling SOs. All 24 are from a single sales rep (Rep_K) who took over a vacated territory 6 weeks ago and is not yet trained on the SO-to-Invoice workflow. The SOs sit in Pending Billing because Rep_K doesn’t know to escalate to AR for invoicing.
  2. Cross-reference SO State Breakdown: Pending Billing share crept from 27% to 34% over the same 6 weeks, lining up with the rep transition.
  3. Action: train Rep_K + ensure the AR clerk runs the daily “Bill Sales Orders” batch covering Rep_K’s territory. Estimated DSO impact when fixed: 1.4 to 2.0 days reduction in DSO over the next 30 days, worth roughly $480,000 of working capital freed.
  4. Why DSO follows this lead time card: every additional day from SO to Invoice is one more day before the customer’s Net 30 clock starts. If lead time goes from 2 to 4 days, DSO rises by approximately 2 days holding all else constant.
Cross-channel sanity check (Shopify Plus on the front-end): the web (SCA) lead time of 0.3 days reconciles against shopify.fulfilled_to_invoice average. If Shopify shows orders fulfilled in 0.6 days but the NetSuite SO-to-Invoice is 0.3 days, the gap is the sync-lag (Shopify orders take 0.3 days to mirror as NetSuite SOs after fulfilment). Healthy.

Sibling cards merchants should reference together

SO to Invoice lead time is a leading indicator; it earns its keep when paired with the downstream cards.
CardWhy pair it with SO to Invoice Lead Time
Days Sales OutstandingThe downstream consequence. Lead time + customer payment terms = DSO. A 2-day lead-time rise drives a 2-day DSO rise within 14 days.
SO State BreakdownThe where-it-is-stuck companion. Lead time tells you it is slow; State Breakdown tells you which gate.
Open Sales OrdersThe pipeline-size companion. Rising lead time + rising open count = the warehouse or AR is the constraint.
Invoiced RevenueThe throughput dollars. The sum of what flipped through this lead time.
Cash Application RateThe post-invoice equivalent. SO to Invoice + Invoice to Cash = full O2C cycle time.
DSO Increase AlertFires when lead time pushes DSO past threshold.
SOs Blocked on Inventory or CreditThe deepest cause: SOs blocked on stock or credit dwell longer and inflate this average.

Reconciling against the vendor’s own dashboard

Where to look in NetSuite’s own dashboard: NetSuite does not expose this metric natively as a single tile. Three ways to triangulate:
  1. Saved search: build a Sales Order saved search with Status = Billed, Date created within last 30 days, and a custom formula column {createdfrominvoice.tranDate} - {trandate}. Average the formula column. The result equals this card.
  2. SuiteAnalytics workbook (if the merchant is on SuiteAnalytics Premium): use the Order-to-Cash Cycle Analysis dataset, filter to SO-to-Invoice step, average the days column. Vortex IQ pulls this same dataset.
  3. Reports > Sales > Order-to-Cash Cycle Time (Adobe Analytics module, if installed; not standard).
Why our number may legitimately differ:
ReasonDirectionWhy
Eligible-population definitionEitherVortex IQ measures completed SOs (those that reached Billed); some NetSuite reports include open SOs as “in-flight” with current dwell, biasing the answer differently.
Time zoneNegligibleLead time is in days; sub-daily timezone shifts wash out at the average.
Auto-bill settingMaterialStores with Auto-Generate Statements ON show 0.0 to 0.5 days lead time on web SOs; stores without show 1 to 3 days. The setting is per-tenant.
Period boundaryEitherVortex IQ uses Invoice posting date for inclusion; some NS reports use SO creation date. The two views differ at the period edge.
Multi-line SO with split fulfilmentOurs can be longerVortex IQ measures from SO creation to FINAL invoice; if the SO produced two invoices (partial billing), only the second invoice’s date is used. Some NS views use the first invoice.
Cross-connector reconciliation:
CardExpected relationshipNotes
shopify.fulfilled_to_invoice (when present)Web-source SOs only; NetSuite figure should approximately equal Shopify fulfilment-to-billing if billing is auto-generated.Stores using Shopify-as-billing skip the NS step; not applicable.
adobe_commerce.order_to_invoice_daysWeb-source SOs only; same logic as Shopify.Adobe Commerce billing flow is different; reconcile per merchant.
The cross-connector pattern that matters most: when the commerce platform reports orders fulfilled but NetSuite SOs are still open, you have a sync-direction issue. Surface those gaps via Commerce Orders Without NetSuite SO.

Known limitations / merchant FAQs

What is a healthy lead time? Depends on industry. DTC ecommerce (web SO + auto-bill): 0.0 to 1.0 days. B2B distribution (manual + daily batch billing): 1 to 3 days. EDI / contract manufacturing: 3 to 7 days. Project services (milestone billing): 14 to 60 days. The number to watch is rate of change, not absolute level: a 30 to 50% rise vs a stable 60-day baseline is the alert signal regardless of starting point. Why is the average so different from the median? Lead time is heavy-tailed. A few SOs that get stuck for 30 to 60 days drag the average up while most flow normally in 1 to 2 days. Always compare both. The average is sensitive to outliers; the median is the operator’s “normal” experience. When the gap between mean and median widens, the long tail is growing. My average jumped from 2 to 4 days but my DSO is stable. Will DSO move? Yes, with a 7 to 14 day lag. SOs that took 2 extra days to invoice will hit AR aging 2 days later than they would have, which adds to next month’s DSO. Watch the DSO card on a 30D rolling window; you should see it tick up by a similar magnitude within 2 weeks. Why does web SO lead time show 0.3 days when SuiteCommerce orders auto-bill on fulfilment? Because the Item Fulfilment posts when the warehouse pick/pack completes, which itself takes 0.1 to 0.5 days from SO creation. Auto-bill is instantaneous on Item Fulfilment posting, but Item Fulfilment is not instantaneous. The 0.3 days is the warehouse cycle time, masquerading as billing lead time. A spike in lead time on EDI orders: what causes it? Three usual causes: (1) the EDI 810 (Invoice) batch run failed or skipped a day; (2) the EDI customer is on Net-Day-of-Month-Start billing rather than per-shipment, so invoices wait until the cycle date; (3) the EDI provider had an outage. Open the EDI inbox / 856 acknowledgements for the period; correlate. Should I split this metric by customer payment terms? Yes if you have the time. Net-30 customers’ lead time pushes Net-30 DSO; Net-60’s pushes Net-60. The average lead time blends these, masking which segment is the actual cause. Vortex IQ exposes the per-terms split via Ask Viq: “show SO to Invoice lead time grouped by customer payment terms”. Why does a SO that was Closed (not Billed) drop out of the average? Because the metric measures completion of the order-to-cash cycle. A Closed SO never reached Invoice, so there is no end-time to measure against. These SOs are tracked separately as cancellation/abandonment metrics (look for Returns Count and the Cancelled-rate alert). My multi-line SOs with partial shipment: how does the metric handle them? Vortex IQ uses the date of the FINAL Invoice posting (not the first). So an SO that ships 80% in week 1, invoiced day 2, and the remaining 20% ships in week 6 with a second invoice posting day 42, contributes 42 days to the average. Some merchants prefer the first-invoice date; configurable in the manifest. Is this the same as DSO? No, but related. DSO = (AR Outstanding / Daily Sales) × Days, measured at a point in time on the AR balance. SO to Invoice Lead Time is a flow metric: how long the SO took to flip to Invoice. SO to Invoice Lead Time + Invoice to Cash = full Order to Cash Cycle, of which DSO is one piece. My lead time dropped sharply, what does that mean? Two cases: (1) Genuine improvement (warehouse is faster, AR clerk caught up, auto-bill turned on). Confirm by looking at SO state breakdown; if Pending Billing share dropped, it is real. (2) Reporting artefact: if a backlog of long-dwell SOs got mass-closed (rather than billed), they drop out of the eligible population, flattering the metric. Cross-check by counting SOs that flipped to Closed in the same period.

Tracked live in Vortex IQ Nerve Centre

SO to Invoice Lead Time 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.