How to bulk update cost per item in Shopify

Costs and margins · 6 min read · Updated · By the Box to Shelf team

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

  1. Go to Products and open the product.
  2. In the Price section, click Cost per item and enter the cost. For products with variants, open each variant and set its cost.
  3. 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

  1. Go to Products. Filter the list first (for example by vendor, to show one supplier's products).
  2. Tick the products you want and click Bulk edit.
  3. 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.
  4. 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.
  5. 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:

  1. 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.
  2. 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).
  3. 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.
  4. Test. Save a copy with just two or three products and import it first.
  5. Import. In Products, click Import, choose the file, tick Overwrite products with matching handles, and upload.
  6. Spot-check a few products afterwards.

The three CSV traps

TrapWhat happensAvoid it by
Blank cells in an included columnThe existing value is overwritten with blankRemoving columns you aren't changing, or keeping their exported values
Missing option columnsA new default variant is created and existing variants are deletedAlways keeping Option1 name/value (and 2/3)
Spreadsheet reformattingLeading zeros dropped from barcodes, long numbers turned into scientific notation, prices given comma decimalsImporting 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 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.