How sync direction works (per field)
Crossdock — Square↔Shopify integration help. Last updated 2026-07-22.
Crossdock is not a simple two-way mirror. Different data types sync in different directions, and knowing the rules prevents surprises.
Catalog structure — Square→Shopify (one-way)
Square is the source of truth for your catalog. The following data originates in Square and is pushed to Shopify by Crossdock:
- Products and product names
- Variants and variant options (size, color, etc.)
- Modifier lists and modifier items (add-ons)
- SKUs and barcodes
If you edit any of these fields in Shopify — for example, renaming a product or changing a variant option name — Crossdock will detect the change and raise a notification in the app. The next time a catalog sync runs, Crossdock will overwrite the Shopify field with the Square value (Square wins). If you need the Shopify and Square names to differ, manage that in Square; Shopify is the downstream display.
There is no catalog sync in the reverse direction (Shopify→Square). Changes made in Shopify to catalog structure are not pushed back to Square.
Inventory — both ways
Inventory levels sync bidirectionally. When a sale happens in Square at your POS, the Shopify inventory count for that variant is decremented. When a sale happens in Shopify, the Square inventory count is decremented. Crossdock reconciles the two counts so your stock stays consistent across both platforms.
Manual inventory adjustments made in either platform are also propagated. If you adjust stock directly in the Square Dashboard, Crossdock pushes the new count to Shopify. Adjustments made in the Shopify Admin inventory view are pushed back to Square.
One exception: items with modifiers. Square inventory counts are not synced for items that use Square modifiers. Square tracks stock on the base item, while your online store sells per-combination variants, so there is no single correct way to split one Square count across them. For these items, manage online stock in Shopify — Crossdock shows a one-time notice in the app the first time this applies to one of your items.
Product prices — markup formula
Prices are a special case. Crossdock does not copy the Square price directly into Shopify. Instead, it computes the Shopify price using your markup formula:
Shopify price = Square price + markup (rounded up using your chosen rounding mode)
The markup can be a percentage (e.g. +20%) or a fixed amount (e.g. +$1.50). Rounding ensures Shopify prices land on a clean number — choose from no rounding, round to the nearest $0.05, or round to .99. All rounding is monotonically upward so you are never undercharged.
You set the markup and rounding mode on the Pricing page inside the Crossdock admin app. You can also set a per-variant price override if a single variant needs a different markup than the shop default.
If you manually change the price of a Shopify variant that Crossdock manages, Crossdock detects the change and raises a notification banner (see below). It does not silently overwrite your manual price, but it will ask whether you want to keep the override or let the next sync restore the formula price.
Manual edits to synced fields — detection, not overwrite
When Crossdock detects that a field it manages has been manually changed in Shopify — for example, a product title or a variant price — it raises a notification banner in the Crossdock admin app. The banner tells you exactly which product was edited and gives you two choices:
- Confirm the override — for price edits, Crossdock records your manual price as a per-variant price override and preserves it on future syncs.
- Ignore / let sync restore it — the next catalog sync will overwrite the Shopify field with the Square value (or the formula price for prices).
Crossdock will never silently overwrite a manual edit without first surfacing a notification. However, if you dismiss the notification without confirming the override, the next sync will restore the synced value.
Orders — Shopify→Square (Pro, Premium, and Scale)
On the Pro, Premium, and Scale plans, orders placed in your Shopify store are pushed to Square as corresponding Square orders. The order direction is one-way: Shopify→Square. The Shopify-charged amount is written to the Square order line items so your POS totals and reports reflect what the customer actually paid on Shopify.
Square→Shopify order direction (creating Shopify orders from Square POS sales) is planned for a future version and is not available at v1.
Quick reference
| Data type | Direction | Notes |
|---|---|---|
| Catalog structure (products, variants, SKU) | Square → Shopify | Square wins; Shopify edits detected + notified |
| Modifiers / add-ons (paid plans) | Square → Shopify | Priced in cart via Cart Transform Function; 3 sets on Pro, unlimited above |
| Variant prices | Square → Shopify (formula) | Markup + rounding applied; manual override via banner |
| Inventory levels | Both ways | Bidirectional; near-real-time via webhooks (items with modifiers excluded — see above) |
| Orders (paid plans) | Shopify → Square | Shopify-charged amount written to Square order |
| Orders (Square → Shopify) | Not available at v1 | Planned for a future release |