Connect Your Square POS and WooCommerce Store

Online shopping is growing! Every year we hear about how the internet is eclipsing bricks and mortar stores, and how shopping districts are getting less and less visits.

But that doesn’t mean the physical store is dead. And there are plenty of businesses still running a physical store in addition to their online presence.

If you’re one of those retailers doing just that, you may find it tricky reconciling online and offline sales and inventory. You may find yourself spending hours tallying one against the other, working with spreadsheets or inventory management systems.

The good news is that if you use Square to take payments in your store, you can also integrate it with your WooCommerce store and sync not only payments, but inventory too.

In this article, I’ll show you how to install and configure Square on your WooCommerce site. I’ll also show you how to manage sales and inventory to make sure that syncing works. That way, your Point of Sale (POS) will work both online and offline without you having to do any extra work.

What You’ll Need

To follow this tutorial, you’ll need a few things already set up:

  • A Square account.
  • A WordPress installation with WooCommerce installed and activated.

Got those? Cool. Let’s get started.

Linking WooCommerce and Square

The first step is to hook up your WooCommerce site and your Square account. For this, you’ll need to install the free Square for WooCommerce plugin.

In the plugins page, you’ll be prompted to start setting Square up. Click this link or go to WooCommerce > Settings > Integration and click the Connect to Square button.

Sign in to Square and complete the steps to enable WooCommerce. You’ll be asked for a verification code and then you’ll have to agree to give WooCommerce the necessary permissions:

granting permissions to WooCommerce in the Square dashboard

Now return to WooCommerce and make sure that Square is enabled as the payment method. You do this by going to WooCommerce > Settings > Payments:

Payment settings screen with Square enabled

Syncing Square and WooCommerce

Getting the two platforms to sync correctly is the issue that’s had the most negative feedback on the plugin’s page on WordPress.org. But it will work as long as you add all of the required data.

You may already have products added to WooCommerce or to Square. And you may have inventory set up in one or the other. It will sync both ways.

Once the syncing is up and running, Square and WooCommerce will sync automatically, every hour. But to get things started you have to run one manual sync. Do this before you add any data to the platform you weren’t using first. So if you’re adding WooCommerce to a physical store, sync from Square to WooCommerce, and if you’re setting up physical sales for the first time, sync WooCommerce to Square.

I’ll demonstrate syncing in both directions.

Syncing Products from Square to WooCommerce

If you already have a physical store and are using Square to take payments, you’ll have already created products in Square. You don’t need to manually add these to WooCommerce.

Note: You must add SKUs to all of your products in Square first or they won’t sync. This is the most common reason for syncing not working.

Here are my products (referred to as items) in Square. You can see that there’s only one category right now, because my store is new.

items in square - list of four items

Now go to WooCommerce > Settings > Integrations. In the Square section, scroll down and click the Square -> WC button.

The system will now sync for you and notify you when it’s done. Depending on how many products you have set up, this could take just moments or a while longer.

I’ve now synced my site, and my items from Square are all showing as products in the Products screen:

products screen in WooCommerce

Now people can buy these products from your online or offline stores.

Syncing Products from WooCommerce to Square

If you’ve already got products set up in your WooCommerce store but not in Square, you need to do the opposite.

Note: Before doing this, ensure every product has a SKU, or it won’t work. The SKU is the unique identifier used by WooCommerce and Square to share data.

Go to WooCommerce > Settings > Integrations. At the bottom of the Square screen, click the WC -> Square button:

WooCommerce and Square will sync and you’ll find all of your products from WooCommerce in your Square dashboard.

Syncing Inventory Between Square and WooCommerce

Inventory will sync at the same time as your products when you do a manual sync. Once you’ve done that, its best to let inventory figures sync automatically. You can specify what you want to sync in the Integrations screen:

By default, the Square Inventory Sync option isn’t checked. If you want inventory to sync automatically, you’ll need to check this box. If you only want inventory to sync when you do a manual sync, you can just check the Include Inventory option, which applies to manual syncs but not automatic ones.

In my case, I haven’t added any stock levels to either WooCommerce or Square yet, so I’ll add them to WooCommerce. Then I can either wait for that to sync automatically with Square or I can run a manual sync from WooCommerce to Square. 

Here are my products in WooCommerce with stock levels added. I’ve also added one more product that wasn’t set up in Square.

products with inventory in WooCommerce products screen

To sync this with Square, I either wait till the sync happens automatically or I go to WooCommerce > Settings > Integrations and click the WC > Square button. (Note: to sync the new product, I need to do a manual sync).

Now when I go to my Square dashboard, I can see my stock levels and my new product:

square items list with stock levels

In future, this inventory sync will happen automatically. If I make a sale using my Square card reader or someone buys from my WooCommerce site, the stock level will go down on both sites.

WooCommerce and Square Make Point of Sale Integration Possible

If you follow the steps above, you’ll have an online and offline store that are perfectly synced. You won’t need to input products into both systems, and your stock control will be done for you.

The Square for WooCommerce plugin has its detractors; most of the complaints it gets on WordPress.com say the syncing doesn’t work. But as long as you give every product a SKU, the syncing will work just fine, and save you a lot of work. Happy selling!


If you want to add more functionality to payments in your WooCommerce store, there are plenty of plugins on Code Canyon that will help. Here’s a selection:

  • Table Rate Shipping for WooCommerce
  • WooCommerce Advanced Shipping
  • WooCommerce Shipping Tracking
  • WooCommerce Cart Based Shipping
  • WooCommerce Pricing & Discounts
  • WooCommerce Volume Discount Coupons
  • WooCommerce Social Reward / Coupon
  • WooCommerce Currency Switcher
  • WooCommerce Extra Product Options Plugin
  • WooCommerce MultiStep Checkout Wizard
  • WooCommerce Product Filter
  • WooCommerce
    12 Best WooCommerce Plugins for Your Online Store
    Jane Baker
  • WooCommerce
    20 Best Shipping & Pricing WooCommerce Plugins
    Nona Blackman

Leave a Comment

Scroll to Top