Skip to content
Stockroom

Integrations

Two integrations, entirely separate

Run either, both, or neither. Square keeps your counter and your card reader exactly as they are. Shopify sells online out of the same stock. Neither one needs the other, and connecting either never gates anything.

Square

starter and up

Keep the till, the reader and the rates you already have, and let Stockroom own everything behind them.

  • Migrate off Square entirely, or stay on it. Both are supported end to end, and you can change your mind later.
  • Two-way and per area: catalog, customers, inventory and sales each have their own direction, so you decide what Square is allowed to change.
  • Genuinely per location. Square counts are per location on both sides, so many Square stores map onto your locations and each one's stock stays its own.
  • Card-present checkout: ring a sale up in Stockroom, send it to a paired reader, and the payment reconciles itself back onto the order.
  • The money side comes with it: refunds, payouts, fees, disputes and gift-card balances all land in your books.

Shopify

starter and up

Sell online out of the same stock you sell at the counter, without either side overselling the other.

  • You choose what sells online, product by product, and how many units to hold back for walk-in customers.
  • Counts move on the sale that moved them. A sale at 5pm reaches the storefront at 5pm: there is no overnight batch and no scheduled job to wait for.
  • Already on Shopify? Import your catalog once, matched by SKU, so products line up instead of duplicating. Re-running it is safe.
  • Web orders arrive as real orders here, confirmed and unfulfilled, so they reserve stock the moment they land and you pick, pack and ship them like anything else.
  • Fulfil here and Shopify emails your customer. Add a carrier and tracking number, before or after fulfilling, and it goes in that email.

Side by side

What each one actually does

They are not two versions of the same thing. Square is a till you keep; Shopify is a storefront you stock.

CapabilitySquareShopify
One-time import of what you already haveCatalog, customers & sales historyCatalog
Live connection over OAuthYesYes
Catalog directionEither way, your choiceStockroom to Shopify
Stock directionEither way (push by default)Stockroom to Shopify only
Per-location stock countsShopify receives one pooled figure, not a count per storefront.YesNo
How orders reach youAlready paid & completedConfirmed, waiting to be picked
Card payments on your hardwarePaired Square readersNo
RefundsItemised, and the stock comes backMoney only
Payouts, fees & disputesYesNo
Suppliers & gift-card balancesYesNo
Available fromStarterStarter

No surprises

What each one deliberately doesn't do

Every one of these is a design decision, not a gap we're hoping you won't notice. Better to know now than after you've migrated.

Square

  • Doesn't process or re-bill payments. Square keeps handling checkout at your existing Square rates, and Stockroom never sits in the middle of the money.
  • Doesn't pull Square's stock counts by default. Inventory starts in push, because Square holds one count per item and you hold one per location. Pulling is an explicit opt-in.
  • Doesn't earn you a discount for connecting. Square exposes no way to tell a paid Square plan from a free one, so we don't pretend to price off it.

Shopify

  • Doesn't sync stock per Shopify location. Stockroom sends one pooled availability figure, built from the locations you map and net of anything reserved, to a single Shopify location and holds the others at zero. The total Shopify can sell is always your real availability, but it is not split across storefronts. Square does do this; Shopify deliberately does not.
  • Doesn't pull stock from Shopify, in any mode. Stockroom is the source of truth. A storefront only knows what you told it, so letting it write back would be letting it guess.
  • Doesn't move stock on a refund. A Shopify refund is money only. When the goods actually come back you record a return here, which is what restocks them.
  • Doesn't hold backorders below Growth. On Starter a short order simply fulfils in full. Partial fulfilment and the backorder it records start on Growth.

Both at once

Something has to own the stock. It's Stockroom.

That is the one place the two integrations meet. Turn the Shopify mirror on and Stockroom becomes the system of record for counts, so Square's inventory sync switches to push and stays there while the mirror is running. Otherwise a web sale would decrement here and be quietly undone the next time Square's counts came in.

app.stockroom.com/settings/integrations
Settings · Integrations
ConnectedSquare · synced 2 min agoSync now
AreaDirection
Catalog← Pull
Customers← Pull
InventoryPush →
Sales← Pull
Locations
Downtown (Square)Main Store
Airport kiosk (Square)Main Store
Warehouse (Square)Warehouse
Square syncs per area, in the direction you pick. Inventory starts in push, so your per-location counts flow out rather than Square's single count flowing in.
app.stockroom.com/settings/integrations
Sales channels · Shopify
Mirroring stockPushed as it happens
ProductHold backOnline
Ridgeline Jacket · M / Navy444
Stainless Bottle 24oz0124
Trail Runner · 10210
Merino Beanie · Gray0
Web order#1287 · 2 × Ridgeline Jacket · reserved, waiting to be pickedOnline now 42
Shopify sells what you list, minus what you hold back for the counter. Delist something and it goes to zero online rather than going stale.

FAQ

Common questions about connecting

Do I have to use Square?
No. Square is entirely optional and additive. Stockroom is a complete system on its own; connecting Square just lets you keep selling on Square hardware while Stockroom owns your inventory truth.
Will connecting Square change my data?
Only in the direction you choose. Each area (catalog, customers, inventory) has its own pull/push setting. Inventory defaults to push. Stockroom owns your multi-location counts and mirrors them to Square, so Square's single-location counts never overwrite your truth unless you explicitly opt in.
Can I take card payments on my Square reader?
Yes. Pair your Square card readers in Settings → Integrations, then ring up a sale in Stockroom and send it to a reader. The customer taps, inserts or swipes, and Square processes the payment at your usual Square rates. We never resell or re-bill payments. The card payment reconciles back to the order automatically, and when it covers the full balance the order is fulfilled. It's optional: with no reader paired, you record payment and fulfill manually as usual.
Can I move off Square entirely?
Absolutely. That's a core use case. Migrate your catalog, customers and sales history, and run Stockroom standalone. You can disconnect Square at any time.
Can I run Square and Shopify at the same time?
Yes. They are entirely separate integrations and neither one needs the other: run both, one, or neither. The only place they meet is stock. If you mirror stock to Shopify, Stockroom has to be the system that owns your counts, so turning the mirror on switches Square's inventory sync to push (Stockroom to Square) and won't let you switch it back while the mirror is running. Otherwise a web sale would be undone the next time Square's counts were pulled in.
Which system owns my stock?
Stockroom. Both integrations are built around that: Square's inventory area defaults to push, so your multi-location counts flow out to Square rather than Square's single-location counts flowing in, and Shopify has no pull-inventory mode at all by design. A storefront only knows what you tell it, so letting it write back to your ledger would be a guess.
Does Shopify stock sync per location?
Stockroom pushes a single availability figure built from the locations you map, minus anything reserved and minus your hold-back. That figure lives at one Shopify location and the others are set to zero, so the total Shopify sells against always equals your real availability. Square is different: it genuinely syncs per location, because Square counts are per location on both sides.
Do I have to re-enter my Shopify catalog?
No. If you already sell on Shopify, import your existing catalog once and Stockroom matches the products up rather than creating duplicates: first by the link it stores, then by SKU. Running the import again is safe. From then on Stockroom is the source of truth and pushes changes out to the storefront.
What happens when a web order arrives?
It lands in Stockroom as a real, confirmed but unfulfilled sales order, so it reserves stock immediately and the storefront stops selling those units. You pick, pack and fulfil it exactly like a counter sale, and Shopify emails your customer. Add a carrier and tracking number, before or after fulfilling, and that goes into the email too. On Growth and above, an order you're short on ships what you have and the rest becomes a tracked backorder.
What about barcode scanners and label printers?
Any plug-and-play USB barcode scanner works out of the box. Print label sheets to any standard printer. Barcodes are generated in-app, no extra software.

Start running your back office in minutes

Free to start, no credit card. Import your catalog (or migrate from Square) and you're live today.