How to prepare a Shopify CSV price update
Prepare, review, then test
- Export your Shopify products and keep an untouched backup. Choose the CSV in the price tool; XLSX is outside this Beta.
- Set a signed percentage and the decimal places your currency needs. Review the detected base price column, original and new values. Correct blocked rows in the source file; confirm zero prices separately.
- Generate the reviewed copy and download the change report. Open Compare on the same page: both files are already selected. Choose the overwrite assumption you plan to use and run the local comparison.
- Review the complete copy, including retained columns. Follow Shopify’s official import steps and test a small subset first. This tool does not import into a store.
Check the arithmetic
The official public Shopify sample includes a base price of 19.99. At +10% and two decimal places the exact calculation is 21.989, rounded to 21.99. At -10% it is 17.991, rounded to 17.99. These are reproducible calculations, not proof of a store import.
This download is the unchanged Shopify public template retrieved on 28 September 2026: 3 products and 16 variant price rows. It contains demonstration products; use it to learn the workflow, not to update your store. Shopify’s current sample may differ.
- Select the downloaded example in the price tool. Leave the percentage at 10 and decimal places at 2, then preview. Expect 3 products, 16 price rows and no blocked rows.
- Check the first row against the table below. Generate the reviewed copy and download the change report. For the decrease example, change the percentage to -10 and preview again.
- Open Compare from the generated result on the same page and run the comparison. Expect 16 matched variants and price changes only. Refreshing or navigating away clears the files; select them again if needed.
First sample price, rounded half up to two decimal places
| Original price | Percentage | New price |
|---|---|---|
| 19.99 | 10 | 21.99 |
| 19.99 | -10 | 17.99 |
Review the whole import
Only the selected base Price values change in the copy. Image-only continuation rows keep their blank prices. Market prices, compare-at prices and cost remain as exported: review any resulting relationship between them and the new base price. Blank cells and included columns can affect an overwrite, so this is a full-copy preparation tool, not a minimal-column updater.
Before importing your own updated copy
- Use a recent export and keep a backup. Test a small set of complete products, including their variant rows, rather than cutting arbitrary lines from the CSV.
- Match your overwrite choice in Compare to Shopify’s import option. Matching handles are ignored without overwrite; included blank cells can clear values, while omitted optional columns generally leave existing values unchanged. Dependent columns still matter.
- Review base prices together with retained market prices, compare-at prices and costs. Keep product handles and option identities stable, and resolve blocked rows before generating a copy.
- Review Shopify’s import preview, then check the tested products and variants in the store. A local comparison cannot confirm the store’s current data or a successful import.
Supported Beta scope
Up to 100 products, 15 MiB per CSV and 10,000 price rows; current or legacy Shopify headers with explicit product and option identity. Prices use plain non-negative decimals with up to 18 integer and six fractional digits. Unknown columns, ambiguous identities and invalid or missing prices prevent output. CSV syntax is re-encoded while other cell values are preserved. Compare may still surface remaining risks. Files are held only in this page session.