Install

How to keep a cost history in Shopify

Shopify does not keep a history of cost per item. The field holds the current value and nothing else, so a record of past costs has to be kept somewhere else, and started before you need it.

Updated

MarAprMayJunJulAugSepOct

Supplier A

In use

$19.80
$21.40

Supplier B

On record

$20.90
Shopify
$21.40

Shopify holds only the last box: the current cost, with nothing before it.

The unit cost of one variant over eight months. Supplier A's price rise on 1 July starts a new row; Supplier B's quote from the same day sits beside it without replacing anything.

What Shopify keeps

Shopify’s help center calls cost per item a single static field. In the API, the inventory item has one cost value, the current one. No screen in the admin is documented as showing previous costs for a variant.

The one place earlier costs appear is on purchase orders: when you add a product to a new purchase order, you can choose a cost from a previous one.

Why you want one anyway

  • Explaining a margin change. A product’s margin fell in July. Was it the supplier, the freight or the price?
  • Checking a supplier. How many increases in two years, and how large?
  • Restating a period. Your accountant asks what the stock was worth at cost on 30 June.
  • Undoing a mistake. A bulk import replaced 300 costs. What were they?

Three ways to keep it

1. Scheduled exports

Export your products on the first of each month and keep the files. Each one is a snapshot of every cost on that day.

It costs nothing and it is better than no record. It also only shows that a cost changed some time during a month, and comparing two files is a manual job.

2. A cost log in a spreadsheet

One row per change: SKU, new cost, the date it applies from, the supplier, and a note. Change Shopify only after adding the row.

This holds the right information. It depends on everyone who can edit costs following the rule, and a change made directly in the admin never reaches it.

3. An app that records changes

Cogsy keeps a history per variant in which every cost is a dated row with a source. Costs you import or enter are added as rows. A cost changed in the Shopify admin is picked up as it happens and recorded as coming from Shopify, so the log does not depend on anyone remembering.

What a useful history holds

Field Why
Date it applies from A price list often takes effect on a date other than the day you typed it in
Amount
Source Supplier, import or admin edit: where the figure came from
Kind of cost So a freight change is not mistaken for a supplier increase
Corrections kept visible A voided row, with its reason, is part of the record

Start now

A history cannot be recovered later. If you do nothing else, export your products today and keep the file. It is the earliest record of your costs you will ever have.

Questions

Can I see who changed a cost and when in Shopify?
Shopify's documentation describes no change log for cost per item on the product.
Can an app recover my old costs?
No. Shopify's API exposes only the current unit cost, so there is nothing earlier for an app to read from the product. A history starts on the day you begin keeping one, plus whatever you enter from your own records.
Do purchase orders show old costs?
A purchase order line in Shopify lets you pick a cost used on an earlier purchase order for that product. That is a list of what you paid on past orders, not a history of the product's cost per item.

Sources

Related

  • Feature

    Dated cost history

    Every cost has a date it applies from. A change is a new row, never an overwrite.

  • Guide

    What happens to past orders when you change a cost in Shopify

    Shopify records cost at the time of sale. What that means for old orders when you change cost per item, for orders sold with no cost, and what you can do about it.

  • Guide

    Do Shopify purchase orders update cost per item?

    No. Receiving a purchase order in Shopify does not change a variant's cost per item. What purchase orders do with cost, and how to carry a new price through.

  • Glossary

    Cost per item

    Cost per item is the field where Shopify stores what a variant costs you. What Shopify means by it, what uses it, and what the single field cannot hold.

Start with the costs Shopify already has.

Install the app, sync your catalog and see which variants are missing a cost.