Install

A dated cost history for every Shopify variant

Shopify holds one current cost per variant. Cogsy keeps every cost you have ever recorded for it, each with the date it applies from, where it came from and who it was for.

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 it records

Each row in a variant’s history holds five things:

  • The kind of cost: the unit cost, or one of the costs you add on top such as packaging.
  • The amount, or a percentage of the price for costs like payment fees.
  • The date it applies from.
  • The source: Shopify, a CSV import, a manual entry, or a supplier’s name.
  • A note, if you added one.

Rows are only ever added. A supplier’s new price list is a new row with a later date. A typo is voided with a reason. Nothing is edited in place.

One variant, five rows

This is the history of a linen throw, SKU LT-OAT.

Applies from Cost Source Amount Note
1 Mar 2026 Unit cost Supplier A $19.80
1 Jul 2026 Unit cost Supplier A $21.40 New price list
1 Jul 2026 Unit cost Supplier B $20.90 Quote
14 Aug 2026 Packaging CSV $12.00 Voided: entered by mistake
14 Aug 2026 Packaging Manual $1.20

From this you can answer questions that Shopify’s single cost field cannot: what the throw cost in May ($19.80), when the price went up (1 July), and what the other supplier quoted on the same day.

Which row counts

For each kind of cost, the newest row in effect wins: the latest “applies from” date, and for two rows on the same date, the one recorded last. A row dated in the future waits until its date.

For the unit cost you can override that rule and choose a source, so Supplier A’s $21.40 stays in use even after Supplier B’s quote is recorded.

Where the history comes from

  • Shopify. A sync reads the cost per item Shopify holds, and between syncs Shopify tells Cogsy when a cost changes. A cost that differs from the last one Shopify gave is added to the history with the source “shopify”. A cost you change in the Shopify admin is therefore recorded, not lost.
  • CSV. Import costs by SKU with an optional start date per row.
  • By hand. Add a cost on the variant’s page, for the variant, its product or the whole shop.

What it does not do

The history starts when you install Cogsy or from the dates you enter yourself. Shopify’s API exposes only the current cost per item, so there is no earlier history for any app to read from the product. Cogsy also does not rewrite the cost on orders you have already taken.

Questions

Can I enter a cost that started in the past?
Yes. The "Applies from" date can be any past date, so you can backfill a supplier's old price list. Leave it empty and the cost applies from today.
What happens when I enter a cost for a date that already has one?
Both rows stay in the history. The one recorded later is the one that counts, which is how you correct a figure without deleting the first entry.
Can I delete a cost entered by mistake?
You void it and give a reason. A voided row stops counting and stays visible in the history, struck through, so the record of what happened is complete.
Does Cogsy change the cost on my past Shopify orders?
No. Cogsy writes one figure to the variant's cost per item in Shopify. It does not edit orders.

Related

  • Feature

    More than one supplier

    Keep a cost from each supplier, from Shopify and from your imports side by side, and choose which one is active.

  • Feature

    CSV import with a preview

    Upload costs by SKU, with a source and a start date if you have them. You see every change before anything is saved.

  • Guide

    How to keep a cost history in Shopify

    Shopify keeps only the current cost per item. Three ways to keep a history of cost changes (exports, a spreadsheet or an app) and what a useful history records.

  • 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.