The sync model.
How Crossdock syncs — and why.
Different data moves in different directions, on purpose. Here is the reasoning behind each choice, so nothing about your catalog surprises you later.
Catalog: one way, Square to Shopify
Your products, variants, options, SKUs, and modifier structures originate in Square and flow to Shopify. There is no catalog sync in the other direction. That is a deliberate design choice, not a missing feature.
Two-way catalog sync sounds strictly better until you run it. The moment both platforms can author the same field, something has to decide which side wins when they disagree — and that decision happens automatically, silently, in the seconds after you edit. That is where the horror stories come from: a product description rewritten overnight, a photo replaced by an older one, a price reverted after you changed it on purpose.
Crossdock removes the ambiguity instead of trying to arbitrate it. One system holds the pen for catalog structure — Square, because that is where your register, your item library, and your modifiers already live. Shopify is the storefront that renders it.
We never silently overwrite your Shopify edits
One direction of authority does not mean your Shopify work gets bulldozed without warning. When Crossdock notices that a field it manages was changed by hand in Shopify, it stops and tells you. You get a notification naming the exact product, with two choices:
- Keep your change. For a price edit, Crossdock records it as a saved per-variant override that future syncs respect.
- Let the next sync restore the Square value. Square is the source of truth for catalog fields, so this is what happens if you take no action.
The rule is simple: a change is never applied to your store in a way you were not told about. If you dismiss the notification without confirming, the next sync restores the synced value — but you were asked first.
Inventory: both ways, within seconds
Stock is the one thing that genuinely has to move in both directions, because both channels sell from the same shelf. A sale at your Square register drops the Shopify count; a Shopify sale drops the Square count. Crossdock is webhook-driven, so this happens within seconds of the sale — there is no polling schedule and no minutes-long window in which an online buyer can pay for something you just handed across the counter.
One exception: items that use Square modifiers. Square tracks stock on the base item while your online store sells per-combination variants, and there is no single correct way to split one Square count across them. Two-way inventory sync therefore covers non-modifier items; for modifier-bearing 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.
Prices: computed, not copied
Online costs are not in-store costs. Card rates, packaging, pick-and-pack time, and shipping subsidies all land on the online side, so a straight price copy quietly eats your online margin.
Crossdock never copies the Square price across. It computes the Shopify price from a rule you set — the Square price plus a percentage, a fixed amount, or both — and then rounds the result up to a clean ending you choose: no rounding, nearest $0.05, or .99 endings. Rounding is always upward, so the formula can never undercharge you. Any single variant can carry its own override when one product needs different treatment.
Because the price is computed rather than mirrored, raising a price in Square raises the marked-up Shopify price automatically, and your online margin holds without a second edit.
Orders: pushed from Shopify to Square
On paid plans, an order placed in your Shopify store creates a matching order in Square, so your POS reporting covers online sales instead of showing only what happened at the counter. The direction is one way: Shopify to Square.
The money on the Square order is the money Shopify actually charged. Crossdock writes the charged line amount onto the Square order rather than recomputing it from the catalog, so discounts and marked-up online prices land in Square exactly as the customer paid them, and your totals reconcile.
Order sync switches on once Shopify approves Crossdock's access to order data (protected customer data); it is not active at first install.
What Crossdock does not do
Worth knowing before you install, not after. None of the following is available today:
- Authoring your catalog in Shopify. Product structure is created and edited in Square. Shopify-side structural edits are detected and reported, not pushed back.
- Importing Square POS sales into Shopify as orders. Orders move Shopify to Square only.
- Syncing customer records between the two platforms. Crossdock does not store your customers' names, emails, addresses, or payment details in its own database at all.
For the field-by-field reference table, see How sync direction works (per field). For what each plan unlocks, see Plans & limits at a glance.
Run your store from Square.
Keep ringing sales on Square while Shopify stays in sync — catalog, inventory, and orders. See the plans, then install from the Shopify App Store.
App Store listing link goes live at launch.
Want a heads-up when we're live on the App Store?
Drop your email and we'll send one note the day the listing goes live.