Square for WooCommerce: Syncing Online and In-Store Sales Right
Square for WooCommerce can sync your counter and online store. Learn how inventory sync works, where it breaks, and how it compares to WooPayments.

Photo: Pixabay
On this page 8 sections
- Who Should Use Square for WooCommerce
- How the Square Plugin Syncs Products, Stock and Payments
- Square vs. WooPayments: Fees, Readers and Payout Timing
- Choosing the System of Record: WooCommerce or Square
- Common Sync Problems With Variations, SKUs and Overselling
- Setup Steps and a Testing Checklist Before Going Live
- When a Merchant Account With Your Own POS Fits Better
- Next Steps
Key takeaways
- Square for WooCommerce fits best when you already run, or need, a full Square POS at a counter, pop-up or market booth.
- The plugin matches products by SKU and runs from one system of record. Decide which side owns your catalog before you sync anything.
- Most sync failures come from missing or duplicate SKUs, complex product types, edits made on the wrong side and stock that moves faster than the sync.
- Compare Square and WooPayments on current published fees, card reader options and payout timing, and confirm those terms directly before you switch.
If you sell online with WooCommerce and also take payments at a counter, pop-up or weekend market, Square for WooCommerce is one way to run both channels from a shared catalog. The official plugin connects your WordPress store to a Square account so payments, products and stock can move between the two. This guide covers when the plugin makes more sense than WooPayments, how the sync behaves day to day, where it tends to break, and how to test it before customers find the problems for you.
Who Should Use Square for WooCommerce
The plugin solves one specific problem: you have two places where products sell and one pool of inventory. It tends to fit stores like these:
- Shops with a physical counter that want a full-featured point of sale, with an item grid, receipts, tipping and cash handling, that also feeds the website.
- Makers and market sellers who sell at weekend markets, craft fairs or pop-ups and need a portable reader that knows what is in stock.
- Businesses already on Square in person that are adding or rebuilding a WooCommerce site and don't want to re-enter their catalog.
- Stores with a modest, well-organized catalog, where every product and variation already has a unique SKU.
It is usually a weaker fit when your catalog relies on product types the plugin doesn't fully support, such as bundles, composite products, subscriptions or heavily customized variable products. It can also be a poor fit when you run several retail locations that each need separate stock counts. If in-person sales are rare, say an occasional phone order, you may not need a second platform at all. Our guide to selling in person with WooCommerce using card readers and POS options covers lighter-weight alternatives.
How the Square Plugin Syncs Products, Stock and Payments
The WooCommerce Square integration does two separate jobs. Treat them separately when you troubleshoot.
Payments
The plugin adds Square as a payment gateway at your WooCommerce checkout. Online card payments, and digital wallets where supported, are processed by Square and deposited to the bank account linked to your Square account. Your in-person sales run through Square's own POS app and hardware. Funds from both channels land in the same Square account.
Products and Stock
Product sync is configured in the plugin settings. As of this writing, it works roughly like this:
- You connect one Square business location. Sync runs against that location's catalog and stock.
- You choose a system of record: WooCommerce, Square or no product sync. The system of record is the side whose data wins.
- Products are matched by SKU. A WooCommerce product and a Square item are treated as the same product when their SKUs match. No SKU means no reliable match.
- Inventory sync is a separate setting. You can sync product details without syncing stock counts.
- Sync runs in the background. It depends on scheduled tasks inside WordPress and on Square's API. Updates are not always instant in both directions.
Which fields sync (name, price, stock, images, categories) depends on the system of record and the plugin version. Check the plugin's current documentation before relying on any one field.
The key point: Square for WooCommerce keeps two catalogs aligned. It does not merge them into one. Anything that makes the two catalogs disagree will eventually show up as a wrong price or a wrong stock count.
Square vs. WooPayments: Fees, Readers and Payout Timing
The basic difference between the two is architectural. With WooPayments, in-person sales taken through the WooCommerce mobile app are created as WooCommerce orders, so there is only one catalog and nothing to sync. With Square, in-person sales happen in Square's POS, and the plugin reconciles them with WooCommerce afterward.
| Factor | Square for WooCommerce | WooPayments |
|---|---|---|
| Where in-person sales live | Square POS, synced to WooCommerce | WooCommerce orders via the Woo mobile app |
| Inventory sync needed | Yes, between two catalogs | No, one catalog |
| In-person tools | Full Square POS app and Square hardware | Card readers and tap-to-pay options paired with the Woo mobile app (confirm current availability) |
| Best for | Busy counters, market booths, existing Square users | Online-first stores with occasional in-person sales |
| Pricing model | Published flat-rate pricing that varies by channel | Published flat-rate pricing that varies by channel and card origin |
| Payouts | Standard deposits, with faster options that may cost extra | Standard deposits, with faster options that may cost extra |
WooCommerce Square Fees in Practice
Both providers publish flat-rate pricing, and both charge different rates for in-person, online and manually keyed transactions. Rates, chargeback fees, fees on faster payouts and international card charges change over time. Check each provider's current pricing page instead of relying on numbers in older blog posts.
A useful exercise is to split last quarter's sales into card-present and online. Then apply each provider's current rates to each bucket. For a store that does most of its volume at a market booth, the in-person rate matters more than the online one. Our breakdown of what WooCommerce stores actually pay per sale walks through this math.
Readers and Counter Workflow
If your counter is busy, test the in-person experience itself. Look at how fast you can search items, whether the app works offline, how tipping and split tenders are handled, and whether it supports cash drawers and receipt printers. Square's POS is a full retail app. The Woo mobile app is built around order management, so check whether its in-person checkout covers your needs.
Payout Timing and Account Holds
Both providers pay out on a standard schedule and may hold or delay funds when a payment pattern looks unusual. A sudden spike after a big market weekend is one example. Read each provider's current payout terms. If you have dealt with a frozen balance before, our guide to a WooPayments account under review explains why payouts stop.
Choosing the System of Record: WooCommerce or Square
This is the most important setting in the plugin. It is also the one most often picked casually.
Choose WooCommerce as the system of record when:
- Your website has the richer catalog, with long descriptions, SEO content and many images.
- Most of your sales and product changes happen online.
- You add new products on the website first and want them pushed to the POS.
Choose Square as the system of record when:
- The counter or booth is your main channel.
- Staff update prices and stock on the POS or the Square dashboard.
- You built your catalog in Square first and are adding WooCommerce afterward.
Whichever side you choose, make product edits only on that side. If WooCommerce is the system of record and someone changes a price in the Square dashboard, the next sync can overwrite that change, or the two systems can disagree until it does. Write the rule down and tell everyone who touches the catalog.
Illustrative example: A candle maker sells online all week and at a Saturday market. She makes WooCommerce the system of record because her product pages carry scent notes and photos. On market morning, a helper drops a price in the Square app to clear old stock. The website keeps the old price, and the next sync can revert the market price. The fix is procedural: the helper applies a discount at checkout and leaves the catalog price alone.
Common Sync Problems With Variations, SKUs and Overselling
Most Square WooCommerce inventory sync complaints trace back to a small set of causes.
Missing, Duplicate or Changed SKUs
- Variations without their own SKU can't be matched reliably. Every size, color or scent needs a unique SKU, not only the parent product.
- Duplicate SKUs across products cause the wrong item to update.
- Renaming a SKU after the first sync can break the link, which leaves orphaned or duplicated items.
Unsupported or Complex Product Types
Square's item model is simpler than WooCommerce's. Bundles, grouped products, add-ons, custom fields and products with many attributes may not sync or may sync only partly. Before turning sync on for everything, test one product of each type you sell.
Overselling During Busy Periods
Sync is not instantaneous. If your last unit sells at the booth and online within a short window, both sales can go through. The risk is highest when:
- Square POS is working offline at a venue with weak signal, and sales queue until connectivity returns.
- Stock is very low on a popular item.
- The WordPress site has low traffic and scheduled background tasks fire infrequently. WordPress's built-in scheduler is triggered by site visits unless you set up a real server cron job.
Practical mitigations: hold back a small buffer of stock from the website for market days, mark scarce items as booth-only, and run a manual sync before and after events.
Refunds, Returns and Restocking
A refund issued in one system doesn't always restock the item in the other in the way you expect. Decide where refunds are processed, and check stock counts afterward until you trust the behavior.
Pricing and Tax Differences
Sale prices, scheduled discounts and tax settings may not map one to one between platforms. Confirm how each platform calculates tax for your jurisdiction. Sales tax rules are general information here, so confirm them with a qualified tax professional.
Setup Steps and a Testing Checklist Before Going Live
Setup Steps
- Back up your site and, ideally, work on a staging copy first.
- Audit SKUs in both systems. Give every product and variation a unique SKU and make them match exactly.
- Install the official plugin and connect your Square account. Use Square's sandbox or test environment if the plugin version offers it.
- Select the Square location that should sync.
- Choose the system of record and decide whether to sync inventory.
- Enable sync on a small test set of products before syncing the whole catalog.
- Turn on the plugin's logging so you can see what synced and what failed.
Testing Checklist
- [ ] A product edited on the system-of-record side updates on the other side
- [ ] A WooCommerce order reduces stock in Square
- [ ] A Square POS sale reduces stock in WooCommerce
- [ ] Each variation syncs to the correct Square item
- [ ] An out-of-stock item shows as unavailable online
- [ ] A refund restocks, or doesn't, the way you expect
- [ ] An offline POS sale reconciles once you reconnect
- [ ] Card and digital wallet payments complete at checkout and post as paid orders
- [ ] Deposits arrive in the correct bank account
Security is part of going live too. Any WordPress store that takes payments needs to understand its PCI obligations. Our guide to WooCommerce PCI compliance when you host the store explains which questionnaire usually applies.
When a Merchant Account With Your Own POS Fits Better
Square and WooPayments are both all-in-one, flat-rate options. As volume grows, some stores prefer a dedicated merchant account. That route can bring pricing structured for their mix of sales, a choice of POS hardware, or cost programs such as dual pricing for card and cash customers. If you add a fee for card payments, card network rules and state laws apply. Read up on what's legal when adding a card fee in WooCommerce first.
MannyPay provides merchant accounts with a WooCommerce payment integration, along with POS systems for in-store sales such as Clover and mobile terminals for markets and pop-ups. If you separate your online processor from your POS, plan how inventory will stay aligned. Ask any provider, MannyPay included, exactly how catalog and stock sync would work for your setup before you commit.
Next Steps
- Count how much of your volume is in-person versus online.
- Decide which system should own your catalog.
- Clean up your SKUs before connecting anything.
- Test on staging with the checklist above.
- Compare current published pricing for each option.
For a broader comparison, see our store owner's checklist for choosing a WooCommerce payment gateway. If you'd like to see how a merchant account would price out for your sales mix, request a free quote, and a MannyPay specialist will respond within one business day.
This article is for general educational purposes and is not legal, tax or financial advice. Card network rules and state laws change; confirm current requirements for your business.


