Skip to content
Stockroom
Documentation menu

Square integration

Stockroom integrates with Square three ways: a one-time CSV migration, an ongoing live API sync, and card readers for charging Stockroom sales on your Square hardware. Connecting (and pairing a reader) is entirely additive; nothing is gated behind it.

Connecting

Go to Settings → Integrations and authorize Square via OAuth. Each organization connects its own Square account; your access token is encrypted at rest and can be disconnected any time.

Direction per area

You choose the direction of truth for each area:

  • Catalog and customers default to pull (Square is the source of truth).
  • 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. Flipping inventory to pull is an explicit opt-in.
  • Sales are always pulled: Square-device sales land as completed orders. A stock movement is posted only when inventory is set to push (otherwise stock is reconciled from Square's counts, no double decrement).

Multi-location mapping

Map each Square location to one of your locations (many Square locations can map to one of yours) on the Integrations tab. Sales post their movement at the mapped location, and pushes mirror each mapped location's on hand to its Square location. With no mapping, the integration falls back to single/default-location behavior.

Keeping in sync

Two triggers keep both systems aligned:

  • Webhooks: real time, signature-verified updates from Square.
  • Sync now: an on-demand button on the Integrations tab.

Both are direction-aware and reuse the same loaders as the initial import.

If Square ever disconnects (you revoke Stockroom's access from Square, or a sign-in lapses), Stockroom shows a clear banner and pauses sync rather than failing silently, so you know to reconnect instead of discovering stale numbers days later.

Refunds, payouts, disputes & deposit health

When Square is connected, the money-out side reconciles back too, automatically and in real time:

  • Refunds taken on a Square device flow back on their own: the returned items restock and the sale is reversed in your books, so revenue and inventory stay honest without a manual return.
  • Payouts (Square's batch deposits) and their processing fees pull in for tax and accounting reconciliation, alongside the sales they settle.
  • Chargebacks / disputes raise an alert with the amount and the evidence-due date so you can respond in your Square Dashboard in time; the list exports to CSV for your records.
  • Deposit-account health: if Square marks your linked bank account disabled or unverified, Stockroom shows a banner so you know payouts may stall, rather than wondering why deposits stopped.

If you connected before dispute or deposit-health alerts were added, reconnect once to grant the permissions.

Suppliers & gift cards

  • Suppliers sync from Square's vendors, so your purchasing supplier list stays aligned without re-keying, matched to any suppliers you already have.
  • Gift cards mirror in with their current balance. The outstanding total surfaces as a liability in your income and tax summaries, so deferred gift-card revenue isn't mistaken for income.

If you connected before these were added, reconnect once to grant the permissions.

Card readers (Terminal)

Keep your Square hardware and ring up sales in Stockroom. Pair your Square card readers on the Integrations tab (give each a name and a location), then charge any sale to one:

  • From a sales order, choose a reader and send the balance to it. The customer taps, inserts or swipes, and Square processes the card at your usual Square rates. Stockroom never touches or re-bills the payment.
  • Or use Create & charge on reader when building a new sale to ring up and send in one step.
  • The result flows back automatically (real time, signature-verified): Stockroom records a card payment on the order, and when the tap covers the full balance the order is fulfilled. Stock and COGS post in the same step.

Card readers are completely optional. With no reader paired, nothing changes. You record payment and fulfill the order manually, exactly as before. (Connecting Square uses OAuth; if you connected before card-reader support, reconnect once to grant the reader permissions.)

Running Square and Shopify together

The two integrations are independent and can run at once. The only place they meet is stock: because online and counter sales draw on the same pool, turning the Shopify stock mirror on makes Stockroom the record of truth, which switches inventory here to push and holds it there while the mirror is running. Catalog and customer directions are unaffected.

See the Shopify integration for the full picture.

Migrating off Square

Prefer to leave Square entirely? Use the CSV migration wizard (see Importing data) to bring in customers, catalog and sales history, then run Stockroom standalone.