{"id":365818,"date":"2026-09-08T07:58:47","date_gmt":"2026-09-08T07:58:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/webkoding-stock-sync-for-square\/"},"modified":"2026-09-08T08:19:14","modified_gmt":"2026-09-08T08:19:14","slug":"webkoding-stock-sync-for-square","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/webkoding-stock-sync-for-square\/","author":23513870,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Webkoding Stock Sync for Square","header_author":"WebKoding","header_description":"Applies Square stock to WooCommerce, matched by permanent Square id rather than by product name \u2014 so running the sync twice updates the same items instead of duplicating your catalogue.","assets_banners_color":"131d2b","last_updated":"2026-09-08 08:19:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/webkodingtheme.com\/plugins\/synclane","header_author_uri":"https:\/\/webkodingtheme.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":41,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"webkoding","date":"2026-09-08 07:58:20","revision":3686168},"1.0.1":{"tag":"1.0.1","author":"webkoding","date":"2026-09-08 08:19:14","revision":3686192}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3686168,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3686168,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3686168,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3686168,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3686168,"resolution":"1","location":"assets","locale":"","width":1507,"height":779},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3686168,"resolution":"2","location":"assets","locale":"","width":1507,"height":779},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3686168,"resolution":"3","location":"assets","locale":"","width":1507,"height":779}},"screenshots":{"1":"The dashboard: how many products and variations are mapped, and when the last sync ran.","2":"Settings: the connected Square account and location, and the one option this plugin has \u2014 whether Square stock is applied to WooCommerce.","3":"The activity log \u2014 every run, with what it changed."}},"plugin_section":[],"plugin_tags":[6601,10229,2672,12448,286],"plugin_category":[45],"plugin_contributors":[277071],"plugin_business_model":[],"class_list":["post-365818","plugin","type-plugin","status-publish","hentry","plugin_tags-inventory","plugin_tags-pos","plugin_tags-square","plugin_tags-stock","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-webkoding","plugin_committers-webkoding"],"banners":{"banner":"https:\/\/ps.w.org\/webkoding-stock-sync-for-square\/assets\/banner-772x250.png?rev=3686168","banner_2x":"https:\/\/ps.w.org\/webkoding-stock-sync-for-square\/assets\/banner-1544x500.png?rev=3686168","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/webkoding-stock-sync-for-square\/assets\/icon-128x128.png?rev=3686168","icon_2x":"https:\/\/ps.w.org\/webkoding-stock-sync-for-square\/assets\/icon-256x256.png?rev=3686168","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/webkoding-stock-sync-for-square\/assets\/screenshot-1.png?rev=3686168","caption":"The dashboard: how many products and variations are mapped, and when the last sync ran."},{"src":"https:\/\/ps.w.org\/webkoding-stock-sync-for-square\/assets\/screenshot-2.png?rev=3686168","caption":"Settings: the connected Square account and location, and the one option this plugin has \u2014 whether Square stock is applied to WooCommerce."},{"src":"https:\/\/ps.w.org\/webkoding-stock-sync-for-square\/assets\/screenshot-3.png?rev=3686168","caption":"The activity log \u2014 every run, with what it changed."}],"raw_content":"<!--section=description-->\n<p>You sell over the counter with Square and online with WooCommerce, and the website goes on\noffering something that walked out of the shop an hour ago. This plugin fixes that one\nthing: it reads stock from Square and applies it to WooCommerce.<\/p>\n\n<h4>Matched by id, not by name<\/h4>\n\n<p>Most Square connectors match products by title. Rename something, run the sync from a\nsecond machine, or let two runs overlap, and you get a second copy of your catalogue. If\nyou have watched that happen, you already know why this plugin keeps its own mapping\ntable: one row per product and variation, holding the WooCommerce id, the permanent Square\nid, the object version and the SKU. Every write goes through the stored id, so running the\nsync twice updates the same items rather than creating new ones.<\/p>\n\n<h4>What it does<\/h4>\n\n<ul>\n<li>Reads your Square catalogue and matches it to WooCommerce products, adopting ones that\nalready exist on both sides by SKU rather than creating duplicates of them<\/li>\n<li>Applies Square stock levels to WooCommerce, including variations<\/li>\n<li>Turns on WooCommerce stock management for a product when Square has a count for it,\nbecause a quantity written to a product that ignores quantities is a quantity nobody\never sees<\/li>\n<li>Reconciles on a schedule, so a run that failed halfway heals on the next one instead of\ndrifting further<\/li>\n<li>An activity log of what changed and when, so a stock number that looks wrong can be\ntraced to the run that set it<\/li>\n<li>HPOS-compatible<\/li>\n<\/ul>\n\n<h4>What it does not do<\/h4>\n\n<p>It does not write to Square. Nothing here is stubbed, time-limited or waiting for a key \u2014\nreading Square and applying it to WooCommerce is the whole job this plugin does, and it\ndoes all of it. Writing the other way is a genuinely different problem: it has to decide\nwhat happens when both sides changed since the last run, and a mistake puts a wrong price\non a real till.<\/p>\n\n<p>If you need that direction as well, a separate paid add-on handles it. It is not required\nhere and nothing in this plugin advertises it:\nhttps:\/\/webkodingtheme.com\/plugins\/synclane<\/p>\n\n<h4>No account with us, no third party<\/h4>\n\n<p>The plugin talks to Square and to your own site. It does not call any server of ours, and\nit collects nothing.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Go to <strong>Stock Sync<\/strong> in the admin menu and connect your Square account.<\/li>\n<li>Choose your Square location, then run the first sync.<\/li>\n<\/ol>\n\n<p>The first run adopts products that already exist on both sides by SKU. Nothing is deleted.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20create%20duplicates%20of%20my%20products%3F\"><h3>Will this create duplicates of my products?<\/h3><\/dt>\n<dd><p>That is the specific thing it is built not to do. Matching is by the permanent Square\nobject id held in a mapping table, never by the product name, so renaming a product or\nrunning the sync twice updates the same record.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20variations%3F\"><h3>Does it work with variations?<\/h3><\/dt>\n<dd><p>Yes. Variations are mapped individually, because on the Square side the variation is the\nrecord that carries the stock.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20woocommerce%20square%20payment%20gateway%3F\"><h3>Do I need a WooCommerce Square payment gateway?<\/h3><\/dt>\n<dd><p>No, and this plugin does not provide one. It is only concerned with stock.<\/p><\/dd>\n<dt id=\"can%20i%20sync%20from%20woocommerce%20to%20square%20instead%3F\"><h3>Can I sync from WooCommerce to Square instead?<\/h3><\/dt>\n<dd><p>Not with this plugin \u2014 see \"What it does not do\" above.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>The plugin's own screens now say what the paid add-on does, once, instead of leaving it only in this readme.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release on WordPress.org.<\/li>\n<\/ul>","raw_excerpt":"Applies Square stock to WooCommerce, matched by permanent Square id rather than by product name \u2014 so a second sync updates instead of duplicating.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/365818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=365818"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/webkoding"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=365818"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=365818"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=365818"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=365818"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=365818"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=365818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}