Pxel Migration Toolkit for FluentCart
This plugin moves your store data from WooCommerce into FluentCart, one entity at a time, in small AJAX batches so large catalogs don’t hit PHP timeouts.
What gets migrated
- Customers — deduplicated by email, from orders and registered users, with billing/shipping addresses.
- Products — simple and variable, with variations, pricing, stock, and featured image.
- Orders — line items, billing/shipping addresses, transactions, refunds, applied coupon codes.
- Coupons — code, type, amount, usage limits, expiry, product restrictions.
- Subscriptions — only if WooCommerce Subscriptions is active. Renewal orders are linked back to the subscription’s parent order.
- Recount & Verify — rebuilds customer lifetime value / purchase counts and coupon use counts from the orders actually migrated.
What does NOT get migrated (do these manually afterward)
- Product categories and tags — FluentCart’s category model differs structurally.
- Downloadable file attachments — re-attach under each product’s Downloadable Asset(s). The Pre-flight Check tab has a “Downloadable Files” report listing every downloadable product/variation with its file name and Media Library URL, so you’re not hunting through the catalog product-by-product.
- Payment gateway credentials — reconnect Stripe/PayPal/etc. in FluentCart using the same accounts.
- Email templates — FluentCart has its own notification system.
- Order status history / WooCommerce order notes.
- Tax rate configuration — set up FluentCart’s tax classes and rates directly.
- WooCommerce Subscriptions “requires manual renewal” fine print beyond collection_method, and any bill-times cap (WooCommerce subscriptions normally run until cancelled, so
bill_timesis imported as 0/unlimited).
How it works
Each step (Customers, Products, Orders, Coupons, Subscriptions, Recount) runs as a series of small AJAX batches. A mapping table ({prefix}pxwfcm_id_map) records which WooCommerce ID became which FluentCart ID, so re-running a step skips records already migrated instead of duplicating them. A log table ({prefix}pxwfcm_log) records anything skipped or errored for review.
Run the steps in order: Customers, Products, Orders, Coupons, Subscriptions, Recount. Orders depend on Customers and Products already being migrated; Subscriptions depend on Orders; Recount depends on everything else.
This plugin does not modify WooCommerce data. It only reads from WooCommerce and writes into FluentCart.
Maintenance Tools tab
Repair tools for data already migrated, without re-running the full migration:
- Fix Prices — corrects product/variation prices stored as a plain decimal instead of cents.
- Fix Stock — corrects out-of-stock or unlimited-stock records, including the parent-product manage_stock rollup that FluentCart’s purchase check depends on.
- Fix Fulfillment Type — re-applies the Settings tab’s fulfillment type to products already migrated.
- Fix External/Affiliate Products — re-checks External/Affiliate products for the inactive/out-of-stock state that keeps them from being accidentally purchased.
- Clear Product Mapping (danger zone) — use after deleting products directly from FluentCart, so re-running Products recreates them instead of skipping them, since the mapping table doesn’t otherwise know they were removed.
Rehearse first
The Migration tab has a Dry Run toggle — turn it on and every step simulates a full run, writing nothing to FluentCart, so you can see exactly what would be created, skipped, or warned on. Still test on a staging copy of your site before running for real against production, and take a database backup first regardless — dry run tells you what would happen, it isn’t a substitute for a backup.
Requirements
- WooCommerce active on the site.
- FluentCart installed and active.
- WordPress 6.0 or newer.
- PHP 7.4 or newer.
