Excel to WooCommerce CSV Mapper
Turn a supplier's spreadsheet into a WooCommerce import file: names, SKUs and prices are matched automatically, then marked up and rounded.
Applied to whichever price or cost column is auto-detected below.
How the column matching works
Supplier sheets rarely use WooCommerce's own column names, so this tool looks for common variants instead of asking you to map every column by hand. For example, a price or cost column can be named “Cost”, “Wholesale Price”, “Trade Price”, “Price” or several others; a SKU column can be “SKU”, “Item Code”, “Model” or “Part Number”.
40% markup, round to .99
- Supplier cost (“Wholesale Price”)
- $6.50
- After 40% markup
- $9.10
Rounded up to $9.99 in the output file.
Using it with a supplier file
- 01
Save as CSV
If your supplier sends an .xlsx workbook, open it in Excel or Google Sheets and use File → Save As / Download → CSV first. This tool reads CSV files, not binary spreadsheets.
- 02
Upload and set your markup
Drop the CSV in, set the markup percentage and whether to round to .99.
- 03
Check the issues list
Rows with no name or no usable price are skipped and listed, with the row number, so you can fix the source file if needed.
- 04
Import
Download the output and import it at Products → All Products → Import. The columns already match WooCommerce's names, so mapping is automatic.
Pitfalls
- This doesn't parse binary .xlsx files, only CSV (or CSV saved from Excel).
- If a row has no SKU, one is generated as
SKU-<row number>. Replace these before you rely on them for reordering. - Only one markup percentage applies to the whole file. For different markups by category, split the supplier file first or run this tool once per category.
Questions people ask
Does this open .xlsx files directly?
No. Save or export the spreadsheet as CSV first (Excel and Google Sheets both do this from the File menu), then upload the CSV here.
What if my supplier uses column names it doesn't recognize?
Rename the column in your file to a common name such as “Name”, “SKU”, “Cost” or “Stock”, then re-upload. The tool tells you which columns it matched.
What happens to rows with no SKU?
They still get imported, with a generated placeholder SKU like SKU-6 (row 6). Replace it with your real SKU before the product goes live.
Can I apply a different markup to different categories?
Not in one pass. Split the supplier file by category first (see the Product CSV Splitter), then run this tool separately on each part with its own markup.
Related tools
Last reviewed 30 September 2026.
