> ## 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.

# Square Online audit profile, Vortex IQ

> What the Vortex IQ Square Online health audit checks: Square Online: keep POS and online in parity, catalogue clean, revenue intact

**[Nerve Centre KPIs](/nerve-centre/kpi-cards/square-online) · [Audit Profile](/nerve-centre/kpi-cards/square-online/audit) · [Sentiment Settings](/nerve-centre/kpi-cards/square-online/sentiment)**

Square-specific health audit for unified-commerce merchants. Answers six questions: (1) is the OAuth token healthy and are required read scopes granted; (2) is the unified Catalog clean and inventory accurate across POS and Square Online; (3) are orders flowing to completion and fulfilment keeping pace; (4) is the Customer Directory unified and retention holding; (5) are payments landing and refunds bounded; (6) where is cross-channel revenue at risk when Square inventory, marketplace listings, and email attribution disagree. The defining Square signal is in-store to online parity: a POS sale not reflected in Square Online inventory is oversell risk.

## What this audit checks

### Authentication & access

* Access token present and not within 7 days of its 30-day expiry
* Refresh-token rotation succeeding; no refresh failure in the last 24h
* Required read scopes granted: MERCHANT\_PROFILE\_READ, ITEMS\_READ, ORDERS\_READ, CUSTOMERS\_READ, INVENTORY\_READ
* Default location\_id resolved; multi-location merchants have a rollup or fan-out strategy set
* Production base URL in use (connect.squareup.com, not the sandbox host) for live integrations

### Catalogue & inventory health

* Items missing a SKU below threshold (SKU-less items break inventory and cross-channel parity)
* POS-sellable items not visible online (ecom\_visibility in HIDDEN, UNINDEXED, UNAVAILABLE) flagged as underused online channel
* Out-of-stock variations still ecom\_visibility VISIBLE on Square Online
* Negative or implausible on-hand counts in the Inventory API
* POS to Online inventory drift: variation on-hand differs between channels (root oversell risk)
* Zero-priced visible items (price\_money.amount of 0 with ecom\_visibility VISIBLE)

### Order & fulfilment health

* Order completion rate at or above 95% (COMPLETED over OPEN plus COMPLETED plus CANCELED)
* Cancellation rate within expected band; no spike vs prior period
* Open orders not piling up beyond 2x the 30-day average (fulfilment backlog)
* Canceled orders in the last 24h below threshold
* Fulfilment state progressing; no orders stuck in PROPOSED or RESERVED beyond SLA

### Customer & retention

* Repeat customer rate at or above 25% on a 30-day window
* Customer Directory fragmentation: same email\_address across creation\_source TERMINAL (POS) and ONLINE\_STORE not unified into one profile
* Email-opted-in share of the Directory healthy and not eroding (preferences\_email\_unsubscribed trend)
* New-customer capture by source (POS vs online) tracked for channel-of-first-touch attribution

### Payments & refunds

* Refund rate below baseline; no refund spike signalling a quality or fulfilment regression
* Refund amount reconciles against originating order total\_money (no orphan refunds)
* Payment success rate healthy; declines and failures within expected band
* Net revenue after refunds reconciles against gross order revenue for the window

### Cross-channel revenue at risk

* POS vs Online inventory parity: SKUs with a POS-to-online on-hand mismatch sized as oversell exposure
* Square inventory vs marketplace listings: SKUs out of stock on Square but still active on Amazon / eBay / Walmart
* Square online orders unattributed despite an active email-marketing sibling (Mailchimp / Klaviyo)
* High-value Square customers (spend above P90) unengaged on email (last\_open\_at older than 90 days)

## Severity thresholds

| Signal               | Warn | Critical |
| -------------------- | ---- | -------- |
| `refund_rate`        | 2    | 5        |
| `cancellation_rate`  | 5    | 10       |
| `conversion_rate`    | 1.5  | -        |
| `out_of_stock_count` | 3    | 10       |
| `fulfillment_rate`   | 95   | -        |

## Data sources

* `GET https://connect.squareup.com/v2/locations` - Active locations, capabilities, POS-only vs online-enabled classification
* `GET https://connect.squareup.com/v2/catalog/list` - Unified Catalog items, ecom\_visibility, sku, price\_money, present\_at\_all\_locations
* `POST https://connect.squareup.com/v2/orders/search` - Orders by location with state, source\_name (channel), total\_money, customer\_id
* `POST https://connect.squareup.com/v2/inventory/counts/batch-retrieve` - On-hand counts per variation per location for POS-to-online drift detection
* `GET https://connect.squareup.com/v2/customers` - Customer Directory, email\_address, creation\_source for fragmentation diagnostic
* `GET https://connect.squareup.com/v2/payments` - Payment outcomes for success rate and net-revenue reconciliation
* `GET https://connect.squareup.com/v2/refunds` - Refund objects for refund rate and order reconciliation
* `POST https://connect.squareup.com/oauth2/token` - Refresh-token rotation health (30-day token lifetime)
