Skip to main content
Card class: Non-HeroCategory: Ecommerce Platform
Share of orders that reach a COMPLETED state in the period. The health check on fulfilment and checkout flow.

At a glance

The proportion of orders in the window that finished cleanly, reaching the COMPLETED state in the Square Orders API rather than stalling in OPEN, slipping to CANCELED, or sitting unfulfilled. A high completion rate means orders flow from placement to fulfilment without friction. A dip is an early operational tell: a checkout regression, a fulfilment bottleneck, or a spike in cancellations.
What it countsCOUNT(orders WHERE state = COMPLETED) / COUNT(orders in scope) across the window. The denominator is every order Square indexed in the period except DRAFT.
Order states involvedSquare’s Order state enum is OPEN, COMPLETED, CANCELED, DRAFT. This card’s numerator is COMPLETED only; OPEN (in flight) and CANCELED (lost) both drag the rate down.
VAT / tax treatmentn/a, this is a ratio of order counts, not money.
Refundsn/a to the rate. A COMPLETED order that is later refunded stays COMPLETED, the refund lives on a separate Refund object and is tracked on Refund Rate.
Channels / sourcesPOS, web, and Invoices all contribute. Square POS sales typically complete instantly at the register, so a POS-heavy account runs a naturally high completion rate. Square Online web orders move through fulfilment (pick, pack, ship) and can sit OPEN for days. A channel mix shift toward web can lower the headline without anything being wrong. Split by source.name or location_id for a true read.
Currency / unitpercent. No currency.
Time window30D vsP (default 30D vs the prior 30D)
Alert trigger< 95%, threshold-based
Rolesowner, operations

Calculation

Calculated automatically from your Square Online 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 home goods merchant on Square: one retail showroom plus a Square Online storefront that ships nationwide, and occasional Square Invoices for trade customers. The 30-day window covers 14 Mar 26 to 12 Apr 26.
ChannelOrders in windowCOMPLETEDOPEN (in flight)CANCELEDCompletion Rate
Square POS, showroom2,4002,3940699.8%
Square Online, web1,1801,060843689.8%
Square Invoices, trade60544290.0%
Total (this card)3,6403,508884496.4%
Three things to notice:
  1. POS props the headline up. At 96.4% chain-wide the card sits above the < 95% alert line, but the web channel alone is at 89.8%, well below it. POS completes instantly at the register and dilutes the web signal. If web is a meaningful share of revenue, pin a per-channel panel filtered to source.name = Square Online Store so a web fulfilment problem cannot hide behind retail.
  2. OPEN orders are not lost, they are pending. The 88 OPEN web orders are mostly awaiting pick and pack; they will flip to COMPLETED over the next few days and the rate for this window will tick up. This is why the rolling 30-day read is more trustworthy than today: recent days always look worse because their orders have not had time to finish.
  3. CANCELED orders are the part to watch. The 44 cancelations are the genuinely lost slice. A sudden jump in CANCELED (rather than OPEN) points to oversells, payment failures, or customers abandoning after placing. Cross-reference Canceled Orders (24h) to see whether the cancelations are clustering in a recent burst.

Sibling cards merchants should reference together

CardWhy pair it with Order Completion Rate
Orders by StatusThe full breakdown behind this single ratio. Completion Rate collapses the state enum into one number; Orders by Status shows the OPEN / COMPLETED / CANCELED split that explains a move.
Open OrdersA falling completion rate driven by a rising OPEN count is a fulfilment backlog, not lost sales. This card tells you which.
Canceled Orders (24h)A falling completion rate driven by cancelations is the dangerous case. This card surfaces a recent cancelation burst before the 30-day rate reacts.
Refund RateCompletion and refund failures often share a root cause (a bad SKU, a fulfilment slip). A completion dip plus a refund spike points to one incident.
Total OrdersThe denominator context. A completion-rate move on a tiny order count is noise; on a large count it is signal.
shopify.order_completion_rateSame metric definition for agencies running clients on Shopify. Documentation cross-link, not a reconciliation.
bigcommerce.order_completion_rateSame metric definition on BigCommerce, same merchant tier as Square.

Reconciling against Square

Where to look in the Square Dashboard: Square Dashboard, Orders. Set the same date range you’ve selected here, leave the Location filter on All locations, and use the status filters to view Completed vs Open vs Canceled. Divide the completed count by the total to compute the rate manually; it should track this card closely. Other Square Dashboard views that look like the same number but aren’t:
  • Orders, Completed filter: this is the numerator of this card. The rate also needs the denominator (all non-draft orders).
  • Reports, Sales summary: counts revenue, not order states. A completed order and an open order both count once placed; Sales summary will not separate them.
  • Orders, Shipments / Fulfilments tab: tracks fulfilment sub-states, which are finer-grained than the Order state enum this card uses.
Why our number may legitimately differ from Square Dashboard:
ReasonDirection of divergence
In-flight orders. Recent-day orders sit OPEN until fulfilled. The most recent days of the window always read lower until those orders complete.Vortex IQ lower on recent days, self-corrects
Time zone. Square reports run on the location’s local time zone; Vortex IQ runs on UTC by default. Orders near midnight on boundary days fall on different sides.Boundary days off by a few orders
Draft handling. Square DRAFT orders (saved carts, unsubmitted invoices) are excluded from both numerator and denominator here. If a dashboard view includes drafts, its denominator is larger.Vortex IQ higher when dashboard counts drafts
Channel mix. POS completes instantly; web completes over days. If your dashboard view is filtered to one channel, the rate shifts accordingly.Variable by filter
Sync lag. Square’s Orders API is near-real-time but the most recent ~5 minutes may not be in our index.Self-resolves within minutes
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
google_analytics.conversion_rateGA4 measures session-to-purchase, not order-to-completionGA4 only sees Square Online web, never POS, and measures a different stage of the funnel. The two cards answer different questions; do not expect them to match.
The Square unified-orders advantage: because Square POS, Square Online, and Square Invoices all write to one Orders API with one state enum, this card gives a genuine cross-channel completion read that platforms with bolted-on POS cannot. Just remember the flip side: a single high headline can mask a struggling web channel, so split by source.name when web matters.

Known limitations / merchant FAQs

What counts as a “completed” order? An order whose Square state is COMPLETED. Square’s Order state enum runs OPEN, COMPLETED, CANCELED, DRAFT. This card divides the COMPLETED count by all non-draft orders in the window. An OPEN order (placed but not yet fulfilled) and a CANCELED order both pull the rate down, but for very different reasons: one is pending, one is lost. My rate is 96% chain-wide but my web orders feel stuck. What’s going on? Square POS completes at the register instantly, so a retail-heavy account runs a naturally high completion rate that can mask a struggling web channel. Pin a per-channel panel filtered to source.name = Square Online Store. If the web slice is below 95% while the chain-wide number is above it, the problem is real and the headline is hiding it. Why does today’s completion rate always look low? Today’s orders have not had time to be fulfilled, so a large share sit OPEN and have not yet flipped to COMPLETED. The rate for the most recent days always reads low and climbs as orders finish. Use the rolling 30-day view for a stable read, which is why the alert window is 30D vsP rather than 1D. Does a refunded order still count as completed? Yes. A refund does not change the order’s state; the order stays COMPLETED and the refund lives on a separate Refund object. Refund leakage is tracked on the Refund Rate card. A high completion rate with a high refund rate means orders are flowing but quality or fulfilment is failing after the fact. Open orders are dragging my rate down. Is that bad? Not necessarily. OPEN means pending, not lost. A backlog of OPEN orders is a fulfilment-speed signal, watch Open Orders to see whether the backlog is growing or clearing. Cancelations are the part to worry about; an OPEN order usually becomes COMPLETED in time. Can I change the 95% alert threshold? Yes. < 95% is the default trigger. The per-merchant threshold can be customised in your Vortex IQ workspace settings. A pure-POS account might comfortably sit at 99% and want a tighter trigger; a web-heavy account with multi-day fulfilment might set a lower floor to avoid noise. What’s the action playbook when this card drops? Three checks in order: (1) Orders by Status, is the drop driven by rising OPEN (fulfilment backlog) or rising CANCELED (lost orders)? (2) if cancelations, check Canceled Orders (24h) for a recent burst and look for an oversell or payment-failure cause, (3) per-channel split, is it the web channel specifically? a web-only completion drop usually points to a fulfilment or checkout regression, not a demand problem.

Tracked live in Vortex IQ Nerve Centre

Order Completion Rate is one of hundreds of KPI pulses Vortex IQ tracks across Square Online 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.