> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Order Completion Rate, Square Online

> Order Completion Rate: share of orders that reach a COMPLETED state in the period. The health check on fulfilment and checkout flow. How to read it, why it matters, and how to act on it.

**Card class:** [Non-Hero](/nerve-centre/overview#card-classes-explained)  •  **Category:** [Ecommerce Platform](/nerve-centre/connectors#connectors-by-type)

> 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 counts**        | `COUNT(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 involved** | Square'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 treatment**   | n/a, this is a ratio of order counts, not money.                                                                                                                                                                                                                                                                                                                                                                      |
| **Refunds**               | n/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](/nerve-centre/kpi-cards/square-online/refund-rate).                                                                                                                                                                                                     |
| **Channels / sources**    | **POS, 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 / unit**       | percent. No currency.                                                                                                                                                                                                                                                                                                                                                                                                 |
| **Time window**           | `30D vsP` (default 30D vs the prior 30D)                                                                                                                                                                                                                                                                                                                                                                              |
| **Alert trigger**         | `< 95%`, threshold-based                                                                                                                                                                                                                                                                                                                                                                                              |
| **Roles**                 | owner, 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.

| Channel                | Orders in window | COMPLETED | OPEN (in flight) | CANCELED | Completion Rate |
| ---------------------- | ---------------- | --------- | ---------------- | -------- | --------------- |
| Square POS, showroom   | 2,400            | 2,394     | 0                | 6        | 99.8%           |
| Square Online, web     | 1,180            | 1,060     | 84               | 36       | 89.8%           |
| Square Invoices, trade | 60               | 54        | 4                | 2        | 90.0%           |
| **Total (this card)**  | **3,640**        | **3,508** | **88**           | **44**   | **96.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)](/nerve-centre/kpi-cards/square-online/canceled-orders-24h) to see whether the cancelations are clustering in a recent burst.

## Sibling cards merchants should reference together

| Card                                                                                             | Why pair it with Order Completion Rate                                                                                                                                                            |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Orders by Status](/nerve-centre/kpi-cards/square-online/orders-by-status)                       | The 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 Orders](/nerve-centre/kpi-cards/square-online/open-orders)                                 | A falling completion rate driven by a rising `OPEN` count is a fulfilment backlog, not lost sales. This card tells you which.                                                                     |
| [Canceled Orders (24h)](/nerve-centre/kpi-cards/square-online/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 Rate](/nerve-centre/kpi-cards/square-online/refund-rate)                                 | Completion 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 Orders](/nerve-centre/kpi-cards/square-online/total-orders)                               | The denominator context. A completion-rate move on a tiny order count is noise; on a large count it is signal.                                                                                    |
| [`shopify.order_completion_rate`](/nerve-centre/kpi-cards/shopify/order-completion-rate)         | Same metric definition for agencies running clients on Shopify. Documentation cross-link, not a reconciliation.                                                                                   |
| [`bigcommerce.order_completion_rate`](/nerve-centre/kpi-cards/bigcommerce/order-completion-rate) | Same metric definition on BigCommerce, same merchant tier as Square.                                                                                                                              |

## Reconciling against Square

**Where to look in the Square Dashboard:**

[Square Dashboard, Orders](https://squareup.com/dashboard/orders/overview). 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:**

| Reason                                                                                                                                                                                               | Direction 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:**

| Card                                                                                           | Expected relationship                                     | What causes legitimate divergence                                                                                                                                |
| ---------------------------------------------------------------------------------------------- | --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`google_analytics.conversion_rate`](/nerve-centre/kpi-cards/google-analytics/conversion-rate) | GA4 measures session-to-purchase, not order-to-completion | GA4 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.

***

<details>
  <summary><em>Same-metric documentation cross-reference (for agencies running multiple platforms)</em></summary>

  The same definition of Order Completion Rate lives on other commerce platforms. This is **not a reconciliation**, your Square Online store doesn't have a parallel store on Shopify or BigCommerce to compare numbers against. These cross-links exist so agencies running multi-platform client books can navigate between identical metrics across the docs.

  * [`shopify.order_completion_rate`](/nerve-centre/kpi-cards/shopify/order-completion-rate)
  * [`bigcommerce.order_completion_rate`](/nerve-centre/kpi-cards/bigcommerce/order-completion-rate)
  * [`adobe_commerce.order_completion_rate`](/nerve-centre/kpi-cards/adobe-commerce/order-completion-rate)
</details>

## 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](/nerve-centre/kpi-cards/square-online/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](/nerve-centre/kpi-cards/square-online/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](/nerve-centre/kpi-cards/square-online/orders-by-status), is the drop driven by rising `OPEN` (fulfilment backlog) or rising `CANCELED` (lost orders)? (2) if cancelations, check [Canceled Orders (24h)](/nerve-centre/kpi-cards/square-online/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](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
