Integrating WooCommerce with Square has long been tops on the wish-list of artists and makers who sell both online and at urban markets, craft fairs, and art shows. Today there are many solutions available, including the free and official Square for WooCommerce plugin, and the paid WooSquare Pro plugin. With both, you can use Square as a payment method on your WooCommerce site, and keep your inventory, prices, and products synchronized between your physical Square POS (Point of Sale) and your online WooCommerce store. How well do they work? I spent three weeks testing them to find out.

What does Square for WooCommerce Integration Do?

Square for WooCommerce is a free extension developed and supported by WooCommerce themselves. As of the current version, the Square for WooCommerce allows you to sync the following items between your WooCommerce store and your Square register:

  • Products
  • Product Categories
  • Product Prices
  • Inventory Numbers
  • Product Images

You can sync your entire inventory, or disable syncing on a per-product basis if you need to.

It will also automatically sync your Square and WooCommerce stores every hour, so you don’t have to do that manually once you have it set up.

Finally, it allows you to use Square as your payment method on your WooCommerce site so that all of your purchases go through the same payment gateway.

If you sell your items online and in a physical location this integration has the potential to save you a ton of work.

If you sell your items online and in a physical location (be it a store, craft fair, urban market, art show, or whatever), the Square for WooCommerce integration has the potential to save you a ton of work by keeping your product inventory and prices synchronized automatically, and allowing you to use the same payment method online and off. No more tracking inventory by hand or trying to reconcile data from two different payment gateways. Sounds amazing, right? So what’s the catch?

What are the Limitations of the Square for WooCommerce Plugin?

There are a few limitations to the integration. Some are limitations of Square, and some are features that WooCommerce plans to add in future versions:

  • First and foremost, Square isn’t available everywhere. On top of this this integration is only available to a subset of those countries; WooCommerce says that they plan to add countries so that eventually the integration is supported anywhere Square works.
  • The Square for WooCommerce plugin does not synchronize order data.
  • The integration can only sync with one Square location. If you have multiple locations with different product mixes set up, you’ll have to either consolidate or choose which one to sync. Support for multiple locations may be added in future versions.
  • WooCommerce allows you to assign multiple categories to a product, and to have nested sub-categories within main categories. Square only allows one category per product, and doesn’t support nested sub-categories at all.
  • There is no support for recurring payments yet so you can’t use the Square payment gateway to process subscriptions. WooCommerce is looking in to adding this in a future version.
  • Square does not support product bundles where the inventory numbers of the individual pieces of the bundle get updated when a bundle is sold. A workaround for this when using the Square POS is to ring up each product in the bundle individually (to update their inventory numbers) and then use a Square discount to apply any savings that the customer would receive by purchasing the bundle instead of separate products.
  • Square only supports single-attribute variable products (i.e. color or size, but not color and size). If you want to sync variable products with more than one attribute you’ll have to split them up in WooCommerce so that each variable product only has a single attribute—or use the WooSquare Pro plugin.
  • Square doesn’t support dynamic pricing (2-for-one deals, BOGO, etc.) so those would also have to be set up as discounts in the Square register to be applied manually.
  • Finally, tokenized payments (where Square stores as customer’s payment information for easy re-use) are not supported in this version of the Square payment gateway for WooCommerce. It will continue to work as expected using the Square POS. WooCommerce says that they looking at adding this feature in a future release.

WooCommerce hopes to update the integration so that it supports everything that Square is capable of.

That looks like a long list, but the good news is that WooCommerce hopes to update the integration so that it supports everything the Square is capable of. As for features that WooCommerce has but Square lacks, we’ll have to hope that Square’s product roadmap includes adding support for those in the future.

Syncing Variable Products and Orders between WooCommerce and Square

WooSquare Pro does everything that the official Square for WooCommerce plugin, but adds two significant features: it can sync variable products with multiple attributes, and it can sync order data.

As mentioned above, Square only supports products with one variable attribute. WooSquare Pro works around that by doing some slick behind-the-scenes work. When synching multi-attribute products from WooCommerce to Square, it creates a variable product in Square using the first attribute in the WooCommerce product. Then it creates variations for each combination of additional attributes.

Let’s use our t-shirt product as an example. In WooCommerce, it is a variable product with two attributes: color and size. When WooSquare Pro syncs this product to Square, it creates a variable t-shirt product with one attribute: color. Then it creates variations for each size and color combination. So in Square, instead of choosing a Shirt and then selecting the color (Red or Blue) and size (S, M, L), the customer has the following choices under the Shirt product: Red Small, Red Medium, Red Large; or Blue Small, Blue Medium, or Blue Large.

The real magic is that WooSquare Pro does this automatically, and keeps the variations in WooCommerce connected to their variations in Square.

If you use Square as your payment gateway in WooCommerce, WooSquare Pro will also sync order data. With the WooCommerce Square plugin you only see transaction values of WooCommerce sales in your Square Dashboard, but with WooSquare Pro you see customer and item information as well (and vice-versa in WooCommerce). This lets you manage all of your orders in one place, which can save you a lot of time.

WooSquare Pro is $79, including six months of support and lifetime updates.

How to Set Up Square and WooCommerce Integration

Both WooCommerce and WooSquare Pro have comprehensive getting-started guides for the integration that make getting things set up quick and easy. In addition, here are some tips I discovered during my own testing of the plugins:

  • Your product SKUs in WooCommerce must absolutely, positively, exactly match the product SKUs in Square. Make sure that you aren’t missing any leading zeroes or have any other discrepancies between the two.
  • Turn off Category syncing if you have nested categories or multiple categories assigned to individual products in WooCommerce. Otherwise those settings will get wiped out and replaced with single-category assignments from Square during the next full sync.
  • Keep debug logging enabled until everything is working exactly the way you want it to. WooCommerce support will need that info to troubleshoot any issues you need their help with.
  • If you Initiate a Manual Sync, don’t close your web browser window, put your computer to sleep, turn it off, or disconnect it from the internet until the sync has completed. Unlike the automatic inventory sync, manual syncs do not continue in the background.
  • Be patient the first time you run a Manual Sync. My test store had about 40 products and the first sync took almost fifteen minutes. Also, the WooCommerce to Square syncs tend to take longer than the Square to WooCommerce syncs in my experience.

As you can see most of these items are related to features that WooCommerce supports (either natively or through plugins) but Square currently does not. You’ll have to decide if your business can deal with or work around these limitations.

However, if you can work within Square’s constraints, the cost of using Square as a physical POS is much, much lower than more capable POS alternatives that also integrate with WooCommerce (such as QuickBooks POS, Lightspeed, or Modern Retail) or dedicated cross-channel inventory management systems like Stitch or Veeqo.

Now You can Sell Anywhere

With the Square for WooCommerce Integration, it’s finally possible to combine the most powerful and flexible eCommerce platform with the simplest and most affordable Point-of-Sale solution into a package that’s perfect for artists, makers, and other small retail businesses. If you’re a Square user looking for a more powerful and robust eCommerce platform than what Square provides, or if you’ve got a WooCommerce store you want to expand to include a physical point-of-sale system, I’m here to help. Contact me so we can get to work today.

Links to the WooCommerce website are affiliate links.