=== Webshoptiger Catalog Sync for WooCommerce ===
Contributors: shopwriter
Tags: woocommerce, sync, multisite, synchronization, multi-store
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Requires Plugins: woocommerce
Stable tag: 1.2.0
WC requires at least: 7.0
WC tested up to: 9.5
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Sync products, categories & brands across multiple WooCommerce stores — automatically. Free, unlimited use. Upgrade to Pro for AI descriptions, pri...

== Description ==

Webshoptiger Catalog Sync for WooCommerce connects multiple WooCommerce stores together, so product data only has to be managed once. Update a product on your main site, and it flows automatically to every connected storefront — accurate, consistent, and always up to date.

Built for retailers, wholesalers, and franchise networks running more than one WooCommerce store, Webshoptiger Catalog Sync eliminates duplicate data entry and the errors that come with it.

The free version lets you sync unlimited products across unlimited destination sites. Upgrading to Pro unlocks AI-powered description rewriting, price adjustments per site, selective field sync, per-site schedules, statistics dashboard, and email reports — no reinstall required, your existing connections and settings carry over.

= Key features =

* **Full product synchronization** — name, description, price, sale price with scheduled dates, stock quantity and status, backorders, weight, dimensions, SKU, images, categories, brand taxonomy, custom attributes, and full variable product support with per-variation pricing and stock.
* **Automatic category & brand matching** — categories and brand terms are automatically created or matched on the destination site, including parent/child hierarchies, with built-in cache validation so nothing gets duplicated.
* **Smart image handling** — images are only re-uploaded when they actually change, and the plugin checks whether an identical image already exists on the destination site before downloading anything.
* **Built-in protection for destination stores** — products that weren't created by Webshoptiger Catalog Sync are never overwritten or deleted, even during a full sync.
* **One-click manual sync** — search any product by name, SKU, or ID and push it to one or all destination sites instantly.
* **Live sync dashboard** — watch synchronization jobs progress in real time, with automatic detection and one-click recovery if a job ever stalls.
* **Full activity log** — every create, update, and skipped action is logged with a clear message.
* **Works with or without the plugin on the destination site** — communicates over the standard WooCommerce REST API.

= Pro features (upgrade required) =

* Unlimited products and unlimited destination sites
* Automatic background synchronization on a configurable schedule (15 minutes to daily)
* AI-powered description rewriting via your own OpenAI API key, with smart caching
* Priority support

= Who is this for? =

* Multi-brand retailers running separate WooCommerce stores per brand or region
* Wholesalers and distributors who need to push their catalog to retail partner sites
* Agencies and freelancers managing product catalogs across multiple client stores
* Franchise networks keeping a master catalog consistent across local storefronts

== Installation ==

1. Upload the plugin through **Plugins → Add New → Upload Plugin**, or extract it to `/wp-content/plugins/`.
2. Activate the plugin through the **Plugins** menu in WordPress.
3. Go to **Webshoptiger Catalog Sync** in the admin menu and set the role of this installation — **Source site** (where you manage your products) or **Destination site** (which receives products).
4. On the destination site, go to **WooCommerce → Settings → Advanced → REST API** and create a key with **Read/Write** permissions.
5. On the source site, go to **Webshoptiger Catalog Sync → Websites → Add website** and enter the destination site's URL and API credentials.
6. Select which product categories should sync to that destination, test the connection, and save.
7. Optional: enter your license key under **Webshoptiger Catalog Sync → Account** to unlock unlimited products, additional destination sites, and Pro features.

== Frequently Asked Questions ==

= Do I need to install the plugin on every destination site? =

No. Webshoptiger Catalog Sync communicates over the standard WooCommerce REST API, so a destination site only needs a WooCommerce REST API key — no plugin required there. Installing it on the destination site as well unlocks a few extra refinements, like more direct brand taxonomy linking, but it's entirely optional.

= Will this overwrite products I've already created on my destination store? =

No. Every product synced by the plugin is marked internally. Anything that doesn't carry that marker is treated as the destination site's own product and is never modified or deleted, even during a full sync.

= What happens if a sync gets interrupted halfway through? =

The queue system tracks every product individually. If a batch fails to continue, the dashboard flags the job as stalled and gives you a one-click button to resume exactly where it left off — no products are synced twice or skipped.

= Can I sync only part of my catalog to a specific store? =

Yes. Category selection is per destination site, so you can send your entire catalog to one store and only a specific category to another.

= How many products can I sync in the free version? =

Unlimited products, unlimited destination sites.

= Can I upgrade later without losing my settings? =

Yes. All connected sites, categories, and sync history carry over — upgrading simply removes the product and site limits and unlocks automatic scheduling and AI rewriting.

== Screenshots ==

1. Manage destination websites and select which categories sync to each one.
2. Live sync dashboard with real-time progress and activity log.
3. Search and sync a single product on demand.

== External services ==

This plugin connects to the following external services:

= WooCommerce REST API (destination sites) =
Webshoptiger Catalog Sync sends product data (names, descriptions, prices, stock, images, categories) to the WooCommerce REST API of destination sites that you configure. Data is only sent to sites you explicitly add under Webshoptiger Catalog Sync → Websites. No data is sent without your active configuration.

* Service: WooCommerce REST API on your own destination site(s)
* When: During every synchronization you trigger manually or on a schedule
* Data sent: Product information (name, description, price, stock, images, categories, attributes, SKU, dimensions)
* Privacy policy: Determined by the destination site owner — typically your own installation

= Freemius (license management) =
Webshoptiger Catalog Sync uses the Freemius SDK for license activation, plan management, and optional usage tracking. When you activate the plugin or a license, basic site and plugin information is sent to Freemius servers.

* Service: Freemius — https://freemius.com
* When: On plugin activation, license activation, and periodic license sync
* Data sent: Site URL, WordPress version, plugin version, license key (when activating Pro)
* Privacy policy: https://freemius.com/privacy/
* Terms of service: https://freemius.com/terms/

= OpenAI API (optional, Pro only) =
If you enable AI-powered description rewriting under Settings, product descriptions are sent to the OpenAI API to be rewritten before synchronization. This feature is entirely optional and disabled by default. Your own OpenAI API key is required.

* Service: OpenAI — https://openai.com
* When: Only when AI rewriting is enabled and a sync is triggered
* Data sent: Product description text
* Privacy policy: https://openai.com/privacy/
* Terms of service: https://openai.com/terms/

== Changelog ==

= 1.2.0 =
* Added per-site sync schedule — each destination site can now use its own interval independent of the global schedule (Pro).
* Added per-site price adjustment — automatically increase or decrease prices by a percentage or fixed amount per destination site (Pro).
* Added selective field sync — choose exactly which product fields are overwritten per destination site (Pro).
* Added automated sync reports by email — daily or weekly summaries with error breakdowns (Pro).
* Added statistics dashboard — 30-day sync volume chart and per-site error rate breakdown (Pro).
* Added Reset sync state button per site — clears the plugin's internal product links so all products are re-created after manual deletion on the destination site.
* Fixed: category filtering incorrectly included sibling categories for root-level categories.
* Fixed: sync description setting was not saved correctly when unchecked.
* Fixed: products were not found on sites with large catalogs (26,000+) due to WooCommerce query interference — now uses direct SQL.
* Fixed: license auto-restore after plugin reinstall.

= 1.1.0 =
* Combined the free and Pro experience into a single plugin, with licensing handled via Freemius.
* Added one-click manual product sync by name, SKU, or ID.
* Added automatic recovery for stalled synchronization jobs.
* Improved category and brand cache validation to prevent duplicates.

= 1.0.1 =
* Fixed an issue where the per-site "Sync now" button did not trigger.
* Improved asset loading reliability on the plugin's admin page.

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.1.0 =
This version introduces license-based activation. Existing installations continue to work; enter a license key under Webshoptiger Catalog Sync → Account to unlock Pro features.
