SyncLane documentation

Square and WooCommerce, matched by permanent id instead of by name.

Before you start

  • WordPress 6.0 or newer, WooCommerce 7.0 or newer, PHP 7.4 or newer
  • A Square merchant account, and an application in the Square developer dashboard for the API credentials
  • A publicly reachable site URL if you want the webhook for near-real-time updates
  • SKUs on your products, if you want the first sync to adopt items that already exist on both sides

Runs on your own WordPress and talks to your own Square account. Nothing routes through us.

What it does not do

  • It syncs products, variations, prices and stock. Customers, orders and order history are not synced.
  • It does not support Square Appointments, Square Loyalty or Square Marketing. The catalogue and inventory are the scope.
  • It does not give you a Square account. You bring your own merchant account and your own application credentials.
  • The webhook needs a publicly reachable site. On a local or firewalled install the scheduled sync still runs; near-real-time does not.

What is in the download

A WordPress plugin ZIP containing the sync engine, the mapping table, the webhook receiver and the admin screens. It talks directly from your server to Square — nothing is proxied through us.

GPL source, HPOS-compatible.

Installing and connecting

WooCommerce first. Then Plugins → Add New → Upload Plugin, activate, and paste the licence key from your purchase email.

Create an application in the Square developer dashboard and paste its credentials in. Use the sandbox first if you have a catalogue worth protecting — a catalogue is much easier to duplicate than to un-duplicate.

Add SKUs before the first sync if your products have none. SKU is what adoption matches on; without it, items that exist on both sides look like two different items.

Running it day to day

Take a database backup before the first production sync. This is advice about any catalogue-wide write, not a lack of confidence in the mapping table.

Set the direction deliberately and leave it. Flipping direction mid-life makes the question ‘which side is authoritative’ ambiguous, and every conflict after that is decided by whichever ran last.

Turn on the webhook once the scheduled sync is behaving. Near-real-time is a comfort, not a substitute for a sync that is correct when it runs.

Licence, updates and support

  • One licence covers 1 WordPress site.
  • 1 year of updates, from the date of purchase.
  • 1 year of email support.
  • Instant download + licence key by email
  • 30-day money-back guarantee

Questions this page does not answer go to support@webkoding.com. If you bought from us and cannot find your licence key, look it up here.

Common questions

Why do other Square connectors duplicate my catalogue?

Because they match by product title. Rename something, run a sync from a second machine, or let two runs overlap, and the connector cannot tell an existing product from a new one. SyncLane keeps its own mapping table keyed by the permanent Square id, so a second run updates rather than duplicates.

What happens on the very first sync?

It adopts. Products that already exist on both sides are matched by SKU and written into the mapping table instead of being created again — which is the moment most connectors do their damage.

Which direction does stock move?

You choose the direction for the catalogue. Stock is kept correct on both sides after a sale on either, which is the case that actually matters at a till and a website at the same time.

Do I need a Square account of my own?

Yes, along with an application in the Square developer dashboard for the credentials. There is no shared account and we never see your data.

Does it hammer the Square API?

No. Records are content-hashed, so anything that has not actually changed is skipped, and a webhook handles near-real-time updates instead of constant polling.