E-commerce

WooCommerce Square Sync: Keep Stock, Prices and Counter Sales in Step

WooCommerce Square sync done properly: stock, prices and counter sales stay in step, wholesale and member prices show to the right people, and promotions go out from one place.

Boostable··~12 min read
Boostable

By Boostable · 17 October 2026

Websites and SEO for Australian businesses · ~12 min read

WooCommerce Square Sync: Keep Stock, Prices and Counter Sales in Step

A WooCommerce Square sync earns its keep on the busiest afternoon of the week. Somebody buys the last pair at the counter, somebody else has the same pair in their online cart, and the store has to know which of them gets it. When the sync is done properly, nobody has to retype a stock count, and nobody sells the same item twice.

This post covers what we keep in step between a WooCommerce store and Square, how the store shows different prices to different customers, and how a promotion goes from your inbox to your customers' phones. The examples come from a WooCommerce store we run, connected to a Square account that also runs the counter.

Why the connection exists at all

Square is the point of sale WooCommerce itself backs. In May 2025 WooCommerce named Square its preferred POS integration for merchants in eight markets, Australia among them[1]. WooCommerce's own listing describes the job as keeping your product names, prices and stock levels in step across both[2].

That is the baseline. A store that sells in person and online also needs answers to the questions the baseline leaves open. Which side is the boss for stock? What happens when a counter sale lands while a website order is in progress? Who sees which price? We answer each of those on purpose, for each store.

What travels, which way, and how fast

One shop, two places to sell it
WhatWhich wayHow quickly
Stock countsSquare to the websitePulled about every hour; the website holds back what's in open orders in between
Retail pricesSquare to the websiteWith the regular product update
Wholesale pricesSet on the website onlySquare never sees them
A counter saleSquare creates the order in the storeWithin moments, with a regular check for anything missed
A card order onlineRecorded in SquareAt payment

Square is the source of truth for stock. Your team never types a stock count into the website, so there's only one number to get right, and it's the one your counter already uses.

Counter sales that become store orders

Boostable exclusive When someone pays at the counter, the store creates a matching order for that sale. The mechanism is a Square webhook, a notification Square sends to a connected system when an event such as a payment happens[3]. The order appears in the store within moments, dated when the sale happened. A regular check runs every five minutes and brings in anything that didn't arrive the first time.

The staff email that says "new order" doesn't go out for in-store sales. Your team already knows about them, because they rang them up. The store simply records the order, so your reports, your stock and your customer history include the sale.

A counter sale, followed through
01

The sale is rung up

A customer pays at the counter and Square records it as it always does.

02

Square tells the store

A notification goes to the store the moment the payment completes[3].

03

The store records the order

Items, totals, discounts and the date of the sale, matched to the Square order.

04

A check catches the rest

Every five minutes the store looks for any sale it hasn't recorded and brings it in.

Infographic: a counter sale in Square and an order on the website both land in one stock list, so a counter sale becomes a store order, stock stays in step, nobody sells the last one twice and prices carry across

Stock that doesn't get promised twice

Square's count reaches the website about every hour. A shop that sells quickly needs more than that, so the website keeps its own calculated "available" figure for each item. Stock held by open orders on the website is subtracted from what the website offers, and Square's own count is left untouched. The shopper sees what is genuinely available, and your till still shows what's physically on the shelf.

An online card order is recorded in Square at payment, and the stock comes off there too. So a paid website order and a counter sale draw from the same count.

For a shop with a long catalogue, this is the difference between a website you trust and one you have to second-guess. If you'd like to see the underlying idea, WooCommerce's own listing says the same thing in one line: stock levels kept in step across both[2].

A busy Saturday, followed through

Take a shop with a long catalogue and a full counter. At the counter, a customer buys a rug and the sale is rung up in Square as usual. Square's count drops, and within moments the store has a matching order, dated for the sale, with the same items and the same discount.

Online, another customer puts the last rug in a different size into their cart and pays by card. That payment is recorded in Square and the stock comes off there too. A third customer on a trade account chooses pay by invoice, and the invoice is created in Square, the way we described in the pay by invoice post.

Three customers, three ways of paying, one stock count. At the end of the day your reports agree with the till, and nobody had to reconcile two spreadsheets to find out why.

One store, the right price for each customer

Retail prices come from Square. Wholesale prices don't, and that's deliberate. They're set on the website, on every product and every variation, so a wholesale customer sees the right price whichever size or colour they open.

WordPress sorts customers into roles. A role is a group, and each group has its own set of capabilities, so what a customer sees and can do changes with the group they belong to[4]. We use that to give each type of customer the store that suits them:

Who sees what

✓ Wholesale customers

  • Their own wholesale price on every product
  • Payment options that suit trade, such as bank transfer
  • No public coupons or deals page

✓ Retail customers and members

  • Retail prices, with member specials applied at the cart
  • The deals page, with a countdown on each deal
  • Cards, wallets and instalment options at checkout

Tying the price to the login has a practical benefit. A discount code can be forwarded, posted in a group chat or typed in by a customer who was never meant to have it. A role belongs to an account, so the wholesale price shows only to the people you've approved. Your trade customers don't have to remember anything, and your retail customers never see a price that isn't theirs.

Boostable exclusive The store also stops two discounts landing on one item. A clearance item carries a sale price for everyone, with no coupon. A special is a coupon. The two never stack, so a promotion can't quietly cut your margin twice.

"Great service, no stress, gave him my requirements and he listened and returned a sample very quickly, made some tweaks and was up and running in no time, replies to questions quickly. He knows his stuff, I highly recommend Tamhas to take care of your website & IT needs."

Luigi Bonacci ★★★★★ Verified Google review
Infographic: one product shown at the retail price to everyone, the member special to members and the wholesale price to wholesale customers, with no double discounts

Shop as Customer, for your own team

A trade customer rings and wants to order. Your team could take the details, then work out their price by hand. Or they can switch into that customer's account and place the order the way the customer would, at the customer's own prices.

Boostable exclusive We took that further. From inside a customer's account, your team can send a request to pay, so the customer receives a link and settles it themselves. They can also add the courier and the postage at checkout, which suits wholesale freight orders where the postage is quoted by hand. There is a guest option too, for someone who isn't in the system yet.

The same switch is the quickest way to answer "why can't I see that price?" Your team opens the store as that customer and looks.

Membership from a simple pop-up

A simple pop-up invites a visitor to become a member. When they join, the store creates their account and logs them in at once. They land straight on the deals page and see member prices the moment they arrive.

Boostable exclusive There is no email to wait for before they can shop. They're added to your email list only after they confirm their email address, so your list holds people who meant to be on it. Sign-ups are rate-limited and checked for bots, so the form doesn't fill with rubbish.

Members get the live specials automatically at the cart, with no code to type. Signed-in members also see an invitation to switch on push notifications. A push message appears on a customer's phone even when they aren't on your website[5], and the shopper has to say yes first[5].

Before the store, the customers. Our free review system puts a QR card in every parcel and gets your Google reviews moving.

Get the free review system

A deals page that runs itself

Boostable exclusive Deals live on a single page, newest first, each with a countdown. When a deal ends it shows as just ended for a while, then drops off. Items that are out of stock are hidden, so nobody clicks a deal they can't buy. Wholesale customers don't see the page.

Deal types
01

Percentage off

A set percentage off chosen products, with a start, an end and a countdown.

02

Dollars off

A fixed amount off each chosen product, applied automatically for members at the cart.

03

A fixed sale price

Clearance items carry a sale price for everyone, with no code to enter.

Tell us the offer you want to run and we'll tell you whether it fits one of these three, or what it would take to set it up for your store.

Promotions from your inbox

Writing a promotion usually means opening three tools: the email software, the push service, and a landing page. We turned it into an email.

Boostable exclusive You email us what you want to promote. We draft the email, the push message and a landing page from your live products and prices, then send you the draft. Nothing goes out until you reply to approve it. You keep the final say without learning any of the software.

From a one-line request to a customer's phone
01

You email the idea

"Twenty per cent off winter rugs until Sunday." That is the whole brief.

02

We draft it from live data

The email, the push message and the landing page use your real products and prices.

03

You approve by replying

Change what you like. Reply when you're happy.

04

It goes out

Your members get the email, and anyone who's said yes gets the push message.

Each piece does its own job. The push message is short by nature, so it carries one line and a reason to tap. The email carries the detail. The landing page carries the deal itself, with the countdown running, so the customer arrives at the offer and not at a list of products to hunt through. Because all three are drafted together from the same live data, the price in the email is the price on the page.

"Tamhas has been amazing. He not only built my website but helped me create a successful business online. He is dedicated and always willing to help. Tamhas has been doing work for us since 2014 and we could not be where we are without him and his wizard like website skills. Thanks mate your not only great at your job but a top quality guy. Perth Fence ;)"

Perth Fence ★★★★★ Verified Google review

Who this suits

This setup earns its keep for a business with a physical counter and a catalogue big enough that nobody can hold every price in their head. Horse gear, hardware, pet supplies, bikes, boutique retail and rural suppliers all fit. It suits a shop that sells to both the public and the trade, and it suits one that wants a members' list without running a loyalty program by hand.

It's less of a fit for a business with a handful of products and no wholesale customers. In that case Square Online on its own does the job, from our Square setup, and you can move up to WooCommerce later without starting over.

Three ways a connected store goes wrong

  1. Two places to type a stock count. If anyone can edit stock in the website and in Square, sooner or later the two disagree. Pick one source of truth and keep it that way.
  2. One price list for everyone. A store with trade and public customers that shows one price is either overcharging a wholesaler or underpricing the public. Roles solve it[4].
  3. Stacked discounts. A sale price plus a coupon plus a member special can drop a margin below zero. Decide which one wins before the promotion starts.

What it takes to set up

The connection runs on your Square account and a WooCommerce store, either the one you have or one we build. We start by reading your Square catalogue and agreeing the rules: which side owns stock, which prices live where, which customers see what.

How a build runs
01

We read your Square account

Products, variations, how you price and where the stock sits.

02

We agree the rules

Who owns stock, which prices live where, who sees what.

03

We connect and test

A real counter sale and a real website order, to see both land.

04

You get the keys

A walkthrough, and the promotion workflow ready to use.

Getting new customers to the store is a separate job from keeping it in step, and it's the one Boostable SEO does. We quote the build for your business after a free call, so you know the price before you spend anything.

What to do this week
  1. Make a counter sale and watch the website. Does the order appear? Does the stock change?
  2. Look at one product on the website and in Square. Do the price and the stock agree?
  3. List your customer types. Public, members, trade. Does each one see the price you intend?
  4. Write down your next promotion in one sentence. If you had to open three tools to send it, that is the job to take off your plate.

If you'd like us to do it with you, see how WooCommerce and Square work together, or book a free call and we'll look at your Square account with you.

The short version

A WooCommerce Square sync should keep three things in step: stock, retail prices and counter sales. Square owns the stock, a counter sale becomes an order in the store within moments, and the website holds back what's in open orders so the last item isn't sold twice. Wholesale, retail and member customers each see their own prices, and a deal can't stack on a sale price. Your team can shop as a customer, members join with a pop-up, and a promotion starts as an email from you and ends as a message on your customers' phones, after you approve it.

Read next

How you get found

Getting found doesn't have to be complicated.

At Boostable we help you understand exactly what Google needs to see from your business, and then we build it. No jargon, no pushy sales. We have a friendly conversation, show you where you sit today, and explain the options. You move at your own pace.

We'll show you what your competitors are doing that you aren't, what it would take to get in front of them, and roughly what it would cost. Our goal is straightforward: we want you to have a website and a Google presence that brings in work while you're busy doing the work.

How we work with you

01

We talk and answer your questions

A friendly call. We explain who we are, what we do, and what we'd do for you specifically.

02

We show you where you stand

We look at your site and your Google profile against the businesses beating you, and show you the gaps.

03

You decide what works best

We lay out the options and what each one would do. The choice is yours. No contracts, no lock-in.

04

We stay with you

We keep building, keep measuring, and send you the numbers every month. If we're not delivering, you stop.

Free to set up

Get started on the path to being the number one business in your area

Our proven double-step review system is free to set up. It is the single fastest thing you can do to get found by more local customers.

No contracts · No lock-in · Melbourne based

Frequently asked questions

Before you ask.

What does a WooCommerce and Square sync actually keep in step?

Stock, retail prices, and the sales made at your counter. Stock and retail prices flow from Square to the website. A counter sale in Square creates the matching order in the store, so your website records and your till records agree.

How quickly does stock change on the website after a counter sale?

The sale itself reaches the store within moments, and a regular check catches anything that was missed. Square's full stock count is pulled into the website about every hour, and in between, the website holds back what's in open orders so the same last item isn't promised twice.

Can wholesale customers see different prices from the public?

Yes. Wholesale customers log in and see their own prices on every product and variation. The public sees retail prices, and logged-in members see member specials. Wholesale prices live on the website, and Square never sees them.

What is Shop as Customer?

It lets your team switch into a customer's account, so they can place an order for that customer at the customer's own prices, send them a request to pay, or add the postage at checkout. It's useful for phone orders and for checking what a customer sees.

What kinds of deals can the deals page show?

Percentage-off deals and dollars-off deals on chosen products, each with a countdown. A clearance item can carry a fixed sale price for everyone. Tell us the deal you want to run and we'll tell you how it's set up.

Can I send a promotion without learning the software?

Yes. You email us what you want to promote. We draft the email and the push message from your live products and prices, send you the draft, and nothing goes out until you reply to approve it.

Do I need Square for this?

Yes, the sync is between your WooCommerce store and your Square account. If you don't use Square, the stock and counter-sale parts don't apply, though the wholesale pricing, membership and deals do.

Boostable

About the author

Boostable

We're a Melbourne digital marketing agency that builds websites and SEO for small businesses right across Australia: tradies, clinics, shops, cafes and professional services. Everything we publish here comes from the work we do for clients every week, and the numbers we see in their Google accounts.

0481 608 888 · service@boostable.com.au · Melbourne, servicing all of Australia

Sources

  1. WooCommerce, Square named preferred POS partner: 13 May 2025: "The Square preferred POS integration is available to WooCommerce merchants in eight markets, including the United States, Canada, Australia, Japan, the United Kingdom, France, Spain, and Ireland." The partnership "enables seamless synchronization of inventory, orders, and customer data across both digital and physical retail environments."
  2. WooCommerce Marketplace, Square for WooCommerce: "Sync your catalog, inventory, orders, and customer data automatically" and "Keep your product names, prices, and stock levels synced across WooCommerce and Square." Available in the U.S., Canada, Australia, Japan, Ireland, France, Spain and the UK.
  3. Square Developer Documentation, Webhooks overview: "A webhook is a subscription that registers a notification URL and a list of event types to be notified about." When an event occurs, "Square sends a POST request to your notification URL with the event details in JSON format."
  4. WordPress Developer Resources, User Roles and Capabilities: "User roles is just a fancy way of saying which group the user belongs to. Each group has a specific set of predefined capabilities." Depending on a role's capabilities, "menus, functionality, and other aspects of the WordPress experience may be added or removed."
  5. web.dev, Push notifications overview: "Push messages enable you to bring information to the attention of your users even when they're not using your website." The site must first get "the user's permission to send push notifications", triggered by a user gesture.

Google changes how search and Maps work often, and the pages we link to may change or move. Every business is different. Contact us for advice on your own situation before you act on anything here.

Talk to us

Tell us what your business does and what you want more of.

We reply to everything, usually the same day. No call centre, no sales script. Or call us on 0481 608 888.