WooCommerce Products Import & Export with Excel

WooCommerce Plugin
4.6
30 Reviews
v7.0.5
Updated 5 months ago
2,200+
Stores Live
your spreadsheet, your catalog ↓

The fastest way to move products in and out of WooCommerce.

Import, update, and export products straight from Excel (.xlsx) or Google Sheets. Drag-and-drop column mapping, single-row variable products, scheduled cron syncs, ACF and Yoast SEO support, bulk delete by ID or SKU. $49.99/yr or $149 once.

14-day refund
Native .xlsx, no CSV conversion
HPOS-ready
three things native import can't do ↓

Your catalog is in a spreadsheet. WooCommerce won't read it.

Stock changes daily. Suppliers send Excel files, not CSV. Variable products explode into hundreds of rows. The built-in importer chokes on all three. So you either spend a day cleaning data or you hire a developer.

problem · 1

"Save as CSV, then break the formatting."

products.xlsxsave as CSV✕ commas in descriptions
suppliers.xlsxsave as CSV✕ Excel formulas lost
prices.xlsxsave as CSV✕ UTF-8 BOM mangled

The native WooCommerce importer is CSV-only. Every Excel file gets a clean-up pass first, every clean-up pass introduces a new bug.

problem · 2

One variable product, 47 rows in your sheet.

native import expects:
Row 1 · Linen Shirt (parent)
Rows 2-9 · S/M/L × red/blue
+ separate attributes file
→ one typo = silent skip

A 50-product catalog with sizes and colors becomes 400+ rows. One bad SKU breaks the parent, every variation orphans, you re-import twice.

problem · 3

Supplier updates stock daily. You sync weekly.

Mon · supplier sheet412 SKUs→ 89 stock changes
Tue · still last week's412 SKUs→ 3 oversold orders
Wed · still last week's412 SKUs→ 6 oversold orders
no cron, no Google Sheets URL, no one syncing

The native importer is one-shot, in-browser, manual. By Wednesday your "in stock" column is a fiction and the refunds queue is growing.

eight controls you'll use ↓

Native Excel. Real mapping. Scheduled syncs.

The plugin does four jobs: read Excel and Google Sheets natively, map columns to WooCommerce fields with reusable templates, create or update any product type (including a full variable product from one row), and schedule the whole thing via cron so suppliers keep your catalog fresh.

native · .xlsx

Reads Excel directly. No CSV conversion step.

Multi-byte characters, commas, line breaks, formulas - all preserved. Upload the file your supplier sent, not a re-saved copy.

map · drag & drop

Drag your Excel columns onto WooCommerce fields.

Save a mapping as a template, reuse it next month. No code, no docs lookup, no remembering which column is which.

variable · one row

Whole variable product from a single Excel row.

Pipe-delimited attribute values. The plugin builds the parent, every variation, and the attribute taxonomy in one pass.

cron · scheduled

Set it once. Catalog updates on its own.

Point the schedule at a public Excel URL or Google Sheets share link. The plugin pulls, maps, and updates without a human in the loop.

source · google sheets

Paste a Google Sheets URL. That's the source.

Suppliers, warehouses, agencies usually maintain catalogs in Sheets already. Skip the export-import dance, point at the source.

fields · ACF + yoast + tax

Not just SKU and price. Every field maps.

delete · bulk by sku

Delete a whole sheet of products at once.

Match by ID, SKU, or title. Works on products and categories. Discontinued line? Drop the SKU list, click Delete.

access · per role

Shop manager imports without admin keys.

Grant the wpeieWoo capability per role. Agencies hand the importer to clients without exposing the rest of wp-admin.

setup

Four steps. First import in 10 minutes.

i · install

Activate the plugin

Upload the .zip from Plugins → Add New, then activate.

Products Import Export with Excel Active
ii · upload

Drop your .xlsx (or paste a Sheets URL)

Products → Import Export Excel → Upload. Excel, Google Sheets, or any public URL works.

source products.xlsx
iii · map

Drag columns onto WooCommerce fields

The plugin reads the header row and offers every WC field. Save the mapping as a reusable template.

SKUsku ✓
Priceregular_price ✓
Stockstock_quantity ✓
iv · run or schedule

Import now, or set a cron

Click Import for a one-shot. Or pick an interval (hourly, daily, custom) and the plugin re-pulls the sheet on its own.

how we stack up

More formats. More fields. Lifetime tier.

WooCommerce
native · CSV only
WP All Import Pro
from $299/yr · $1,299 lifetime
WebToffee
from $69/yr · no lifetime
WPFactory
$49.99/yr · $149 once
core: file formats
Native Excel (.xlsx) import✕via paid add-on✓
CSV import✓✓✓
Google Sheets URL as source✕✕✓
Drag-and-drop column mapping✕✓✓
Reusable mapping templates✕✓✓
product types & fields
Variable productspartial✓✓
Single-row variable products✕✕✕
External / affiliate products✕✓✓
Subscription products✕✓✓
Downloadable file URL + expiry + limitlimited✓✓
ACF + ACF Pro fields✕✓✓
Yoast SEO title + meta description✕✓✓
Custom taxonomies with hierarchy✕✓✓
Featured image + gallery from URLsURL only✓✓
operations
Update existing by ID, SKU, or TitleID only✓✓
Bulk delete products / categories✕✕products only
Scheduled cron imports✕✓✓
AJAX batch processing✓✓✓
Per-role access (wpeieWoo capability)✕✕✕
pricing & ownership
Free version on .org-✓✓
Lifetime tier-✓ $1,299 unlimited✕
Unlimited sites on entry tier-✓✕ 1 site
10-year cost$0$1,299~$2,490
50+ plugins (All Access)-✕✕
Ready to import a real catalog? ↓ Jump to pricing
scroll →
three real stores ↓

Three catalogs. Three import strategies.

migration · 8,400 products

Shopify migration · "Move 8,400 SKUs in one weekend."

An apparel brand exports its Shopify catalog as Excel, drags four columns onto the WooCommerce mapping, and runs the import in AJAX batches of 200. Variable products with size and color expand from one row each. Featured images and galleries pull from Shopify's CDN URLs.

SourceShopify export .xlsx · 8,400 rows
MappingSKU · Title · Price · Image URL · attrs (pipe-delimited)
Variations2,140 variable products · 6,800 variations

Two AJAX runs, 4 hours total. Zero rows lost. Mapping saved as a template for the next supplier feed.

multilingual · ACF + Yoast

WPML store · "Catalog in 3 languages, ACF spec sheets."

A B2B parts store maintains the catalog in a master Excel with ACF specification fields (voltage, weight, certification) and Yoast SEO titles. The plugin imports all three language versions in one run via WPML's language column.

Sourceproducts-master.xlsx · 3 language tabs
FieldsACF (12) · Yoast meta · custom taxonomy (industry)
Update modeby SKU · only changed cells overwrite

Spec-sheet updates that used to take half a day per language now run in 18 minutes total. Yoast meta no longer drifts between languages.

verified reviews

From stores running this right now.

Using the plugin? Leave a review on WordPress.org.

"Finally a Woo importer that just reads my .xlsx. Saved me a full day on a 5,000-SKU catalog migration."
M
Marco
verified buyer
see review →
"Cron + Google Sheets is the killer feature. Supplier maintains the sheet, my catalog updates itself overnight."
L
Lena
verified buyer
see review →
"Single-row variable products. Other plugins make you flatten the parent + children sheet. This one just works."
R
Ravi
verified buyer
see review →
tested with

Works with the WooCommerce stack you already run.

Platform

WP 5.0+WP 6.9WC 4.0+WC 10.8PHP 8.1+HPOS-ready

File sources

.xlsx.xls.csvGoogle Sheets URLPublic URLUpload

Product types

SimpleVariableExternalGroupedDownloadableSubscriptions

Fields & plugins

ACF ProYoast SEOWPMLPolylangCustom taxonomiesPost meta
why this plugin

Built for stores where the catalog lives in a spreadsheet.

Every WPFactory plugin ships with the same eight guarantees. Here's what running this one looks like in practice.

Clean code, reviewed

AJAX batches keep PHP memory and timeout headroom. The PhpSpreadsheet engine reads .xlsx natively, no shelling out. Mapping templates and cron schedules live in their own option keys, not in postmeta sprawl.

Docs & specs, written

Every supported field is listed in the docs with the exact column key. Sample .xlsx templates ship with the plugin. Filters exposed for column transforms and pre-save validation.

Support that ships

Email-only support, no SLA promises, but bug reports turn into releases within days. The plugin shipped 12 minor versions in the past 12 months.

14-day money-back

14-day refund on yearly and lifetime, 30 days on All Access, no questions asked. If your sheet shape isn't supported, support helps; if it still isn't a fit, you walk away whole.

Bundle savings, real

All Access is $499 once for all 50+ plugins, lifetime, unlimited sites, and it includes every plugin we release later. Three lifetime licenses at $199 already cost $597, so the bundle usually wins by your third plugin.

Updates, regularly

v12.1.5 shipped this month. Tested against WooCommerce 10.8 within days of release. HPOS-ready, PHP 8.3 compatible.

Plays well with others

ACF, ACF Pro, Yoast SEO, WPML, Polylang, WooCommerce Subscriptions all hook in cleanly. Custom post types and taxonomies map like first-class fields.

Designed for shop managers

You don't need to be a developer to point at a sheet and run an import. The wpeieWoo capability lets you hand the importer to non-admin staff safely.

11 stores joined this week·4 in the last 24h
if you're going to keep this plugin a while ↓

Three tiers. Pick once.

14-day refund on yearly and lifetime, 30 days on All Access. Lifetime pays for itself by year 3. All Access pays for itself with any 2nd plugin you'd ever use. Yearly auto-renew can be turned off in your account.

PRODUCTS IMPORT EXPORT PRO
$149 once

Buy once. Owns itself by year 3. Use on every site you own.

  • Unlimited sites
  • Lifetime updates
  • Priority email support
  • 14-day refund
  • GPL-licensed · use on client sites
Buy Lifetime - $149 once
★ SMART MOVE ALL ACCESS · LIFETIME
$999$499oncesave 50%

This plugin + 49 others, lifetime updates, unlimited sites - for $350 more than Lifetime alone.

! Buying any 4 single lifetimes?
$596 → $499 / 50+
  • 50+ plugins, lifetime updates
  • Unlimited sites - every plugin
  • Future plugins included free, forever
  • Lifetime priority support
  • Pays back at 4th plugin you'd use
Explore All Access
How do I import products to WooCommerce using Excel?
Upload an .xlsx file from Products → Import-Export Excel, drag your Excel columns onto WooCommerce fields, save the mapping as a template, then run the import. AJAX batches handle large catalogs without timing out.
Can I update existing products using Excel?
Yes. Match rows by ID, SKU, or Title and the plugin updates only the cells you provide. Existing data on untouched columns is preserved so you can do a price-only update without losing descriptions or images.
Does it support variable products?
Yes. The Pro version creates an entire variable product, including every variation, from a single Excel row using pipe-delimited attribute values. No separate variation sheet needed.
Can I schedule automatic imports?
Yes. Point the plugin at a public Excel URL or a Google Sheets share link, then set a WordPress cron interval (hourly, daily, weekly, or custom). The plugin pulls the latest sheet and updates products automatically.
Does it work with Google Sheets?
Yes. Paste a Google Sheets share URL and the plugin treats it like any other source: live mapping preview, scheduled syncs, manual runs from wp-admin.
Can I import images, galleries, and downloadable files?
Yes. Featured images and gallery images import from URLs, category images too. Downloadable products accept file URLs, expiry time, and download limits in the same row.
Does it support ACF, custom taxonomies, and Yoast SEO?
Yes. ACF and ACF Pro fields (including multi-value fields), any custom taxonomy term hierarchy, and Yoast SEO meta-title plus meta-description all map like native fields.
Can I delete products in bulk from Excel?
Yes. Match a sheet of IDs or SKUs and choose Delete instead of Import. Categories can be bulk-deleted the same way, with hierarchy preserved.
Can I restrict who can use the importer?
Yes. The plugin adds a wpeieWoo capability you can assign to any role, so shop managers can import without granting full administrator access.
How big a catalog can it handle?
Tested with 50,000-product imports. AJAX batch processing splits the job into chunks so PHP timeouts and memory limits do not break the run. Large jobs continue from the last batch if the browser tab is closed.
Is the plugin HPOS and block-checkout compatible?
Yes. HPOS-declared compatible. Tested against WooCommerce 10.8. Works alongside the block-based product editor.
What is the refund policy?
14 days on the yearly and lifetime plans; 30 days on All Access. No questions asked. Lifetime never renews. Yearly auto-renew can be turned off in your account.
if you've scrolled this far ↓

Stop wrestling CSV exports. Import the spreadsheet your supplier sent.

Native .xlsx and Google Sheets. Drag-and-drop column mapping. Single-row variable products. Scheduled cron syncs. ACF, Yoast, custom taxonomies. Bulk delete. Per-role access. 2,200+ stores already running it. 14-day refund if it's not for you.

2,200+ stores · 4.6★ across 30 reviews · WordPress.org plugin · 14-day refund