=== Zealot Bulk Product Import for WooCommerce ===
Contributors: wpzealot
Tags: woocommerce, import, products, csv, bulk
Requires at least: 6.2
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 0.1.8
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Cloud-powered bulk product import for WooCommerce. Map any spreadsheet, start the import, close the tab.

== Description ==

Zealot Bulk Product Import for WooCommerce connects your WooCommerce store to the WPZealot cloud, where the heavy
lifting of bulk imports happens: parsing large files, transforming columns, scheduling, retrying,
and tracking progress. Your store only receives short, bounded write batches, so imports of
hundreds of thousands of products don't time out, don't crash your site, and keep running after
you close the browser.

* One-click connection with no REST API keys to copy around
* Create or update products by SKU, including variable products and variations
* All product fields: prices, stock, categories, tags, images, and unlimited attributes
* True undo: roll back a completed import
* Idempotent writes: retried batches never create duplicates

== External services ==

This plugin connects to the WPZealot Easy Import cloud service (https://woocommerce-easy-import.wpzealot.com),
operated by WPZealot. When you connect your store and run imports:

* Your site URL, WordPress/WooCommerce/PHP versions, and product counts are sent to the service
  for connection health and batch sizing.
* The product data you upload for import (your spreadsheet contents) is processed by the service
  and written to your store.
* No customer or order data is ever read or transmitted.

The service's terms of service (https://wpzealot.com/terms) and privacy policy
(https://wpzealot.com/privacy) govern your use of the cloud service. A paired site secret is
stored in your WordPress options and used to authenticate every request from the cloud
(HMAC-signed with replay protection).

== Installation ==

1. Install and activate the plugin (WooCommerce must be active).
2. Go to WPZealot → Bulk Product Import and click "Connect to WPZealot".
3. Upload a file in the wizard, map your columns, and import.

== Frequently Asked Questions ==

= Do I need to copy REST API keys? =

No. Click "Connect to WPZealot" and the connection is set up in one step, with a signed
site secret exchanged automatically. There are no keys to copy or store by hand.

= Is there a free version? =

Yes. The free tier imports up to 500 products per job from a manually uploaded spreadsheet,
including a dry-run preview and an error report. Larger imports, scheduled feeds, fetching from
a URL or SFTP, one-click undo, and import history are part of Pro.

= What happens if I close the browser during an import? =

The import keeps running. Parsing, transforming, scheduling, and retrying all happen in the
cloud; your store only receives short, bounded write batches, so nothing depends on your tab
staying open.

= Is my customer or order data sent anywhere? =

No. The plugin only reads and writes products. No customer, order, or payment data is ever read
or transmitted to the service. See the "External services" section for exactly what is sent.

= Can I undo an import? =

Yes. A completed import can be rolled back in one click (Pro). Writes are idempotent, so retried
batches never create duplicates.

== Screenshots ==

1. One-click connection to the WPZealot cloud from WPZealot → Bulk Product Import.
2. Mapping your spreadsheet columns to WooCommerce product fields.
3. Import history with one-click undo for any completed import.

== Changelog ==

= 0.1.8 =
* Fixed: Bulk Product Import had a place in the WPZealot menu but never appeared on the WPZealot page itself, which listed the other apps and not this one.
* The WPZealot page is now a set of cards covering the apps you have and the ones you do not, rather than a plain list.
* Internal: two functions moved onto the classes that own them. No change to how the plugin behaves.

= 0.1.7 =
* Renamed to "Zealot Bulk Product Import for WooCommerce" for the WordPress.org directory.
* Hardening: escape values in exception messages; document the custom-table queries.

= 0.1.6 =
* Fix: variations no longer inherit a "Published = -1/0" draft status from the file. A variation
  must stay published to be active, so files that mark rows as draft were importing variable
  products whose variations were hidden (parent showed none). Verified end-to-end with a real
  variable-product feed.

= 0.1.5 =
* Fix: variable products now show their imported variations automatically. Each variable parent is
  re-synced (child list, price range, stock) after its variations are written, so no manual
  "Generate variations" step is needed. Rollback re-syncs affected parents too.

= 0.1.4 =
* Full attribute-column support: "Attribute N visible", "Attribute N global" (custom vs global
  taxonomy attributes), and "Attribute N default" are now honored, matching the WooCommerce importer.

= 0.1.3 =
* Recognize the full set of official WooCommerce product columns — Brands, Cost of goods,
  Is featured?, Visibility, Tax status/class, Low stock amount, Backorders, Sold individually,
  Dimensions, Shipping class, Purchase note, Allow reviews, Position — all written (and rolled
  back) as their real product fields instead of generic attributes.

= 0.1.2 =
* Add support for the "In stock?" column (sets WooCommerce stock status), including rollback.

= 0.1.1 =
* Fix: "Connect to WPZealot" no longer bounces back to the dashboard — the pairing
  redirect to the cloud host is now allowed.

= 0.1.0 =
* Initial release: signed batch writes, finalize, health, rollback, one-click pairing.
