How to bulk update cost per item in Shopify
Short version: To change cost per item for many products at once, use the bulk editor for up to a few dozen products, or a product CSV export and overwrite import for hundreds. The CSV route is powerful but unforgiving: export first, change only the Cost per item column, keep the option columns, and test on a few rows.
Cost per item is the field Shopify uses to calculate your profit and margin. It's set per variant, it holds one value at a time, and it doesn't update itself when your supplier changes prices. Here are the ways to update it in bulk, and the traps in each.
Why it matters
Shopify records each variant's cost when an order is placed, and uses it in profit reports. Products without a cost are left out of those reports altogether, and stale costs make every margin figure wrong. Changing a cost doesn't rewrite past orders, so the sooner costs are updated after a supplier price change, the more accurate your reports are. More in profit reports and cost per item.
Method 1: One product at a time
- Go to Products and open the product.
- In the Price section, click Cost per item and enter the cost. For products with variants, open each variant and set its cost.
- Click Save. Shopify shows the projected profit and margin next to the cost.
Fine for a handful of changes. Beyond that, use one of the bulk methods.
Method 2: The bulk editor
- Go to Products. Filter the list first (for example by vendor, to show one supplier's products).
- Tick the products you want and click Bulk edit.
- Click Columns and add the cost column (it appears as Cost per item or Cost depending on your admin version). Remove columns you don't need so you can't change them by accident.
- Type the new costs. You can paste a column of values copied from a spreadsheet if the rows are in the same order, so sort both by SKU first.
- Click Save. If any fields show errors, fix them and save again.
Shopify notes that the more you change at once, the longer saving takes, and recommends CSV for larger numbers of products.
Method 3: Product CSV export and import
The product CSV has a Cost per item column for every variant row. The safe way to use it:
- Export. In Products, click Export and export the products you want to change (current page, selected, or filtered results). Keep an untouched copy of this file as a backup.
- Edit only Cost per item. Open the file, change the cost values, and don't touch anything else. Keep Handle, Option1 name and Option1 value (and Option2/3 if you have them).
- Delete columns you aren't changing, but carefully. Columns that aren't in the file are left unchanged on import, which is safer than leaving a column with blanks. But never remove the option name/value columns: if they're missing, Shopify creates a new default variant and deletes existing ones.
- Test. Save a copy with just two or three products and import it first.
- Import. In Products, click Import, choose the file, tick Overwrite products with matching handles, and upload.
- Spot-check a few products afterwards.
The three CSV traps
| Trap | What happens | Avoid it by |
|---|---|---|
| Blank cells in an included column | The existing value is overwritten with blank | Removing columns you aren't changing, or keeping their exported values |
| Missing option columns | A new default variant is created and existing variants are deleted | Always keeping Option1 name/value (and 2/3) |
| Spreadsheet reformatting | Leading zeros dropped from barcodes, long numbers turned into scientific notation, prices given comma decimals | Importing the CSV with columns as text, and checking your locale's decimal separator |
Method 4: Apps
Bulk-editing and import apps can update costs by SKU or barcode without the full product CSV, which avoids the variant trap. Supplier-focused apps go further and take the costs straight from a supplier's price list or invoice. Note that Shopify's Zapier integration has been reported not to support updating cost per item, so check before building an automation around it.
Which costs to use
- Net of VAT if you reclaim VAT (most VAT-registered businesses in the UK and EU).
- In your store currency. Convert foreign-currency prices first (see currency guide).
- Per selling unit. Divide case prices by the case quantity (see pack pricing).
- Landed, if you want true margins. Add a share of freight and duty (see landed cost).
Where Box to Shelf helps
Box to Shelf updates Cost per item straight from the supplier's invoice or price list, with no CSV editing. It matches each line to the right variant by SKU, barcode or name, converts case prices to unit costs, shows the old and new cost and margin side by side, and only writes the costs you approve. If an invoice is in a different currency from your store, cost updates stay off until you confirm converted costs. You can undo the last apply.
Questions
Is there a Cost per item column in the Shopify product CSV?
Yes. The product CSV has a Cost per item column for each variant.
Does changing cost per item change past orders?
No. Shopify records the cost when an order is created, so new costs only affect orders placed after the change.
Sources
- Shopify Help Center: Cost per item
- Shopify Help Center: Bulk editing
- Shopify Help Center: Using CSV files (Cost per item column, overwrite rules)
- Shopify Help Center: Profit reports
- Zapier Community: Updating cost per item in Shopify
Shopify changes its admin often. Steps were checked against the Shopify Help Center in November 2026; if a menu has moved, the help center links above have the current version.