July 25, 2026 · CostSentry

Reading a Supplier Price List Without Getting Burned

Every supplier invents their own spreadsheet. Some of the traps inside cost you an afternoon; a few will happily write wrong costs into your entire catalog. Here's what to check, in the order it bites.

First: which price is the price?

Open almost any distributor file and you'll find several money columns. Guessing wrong here poisons every downstream number, so identify them before anything else:

Some files skip the money entirely and give you a discount off list ("40/10" meaning 40% then a further 10%). That's list × 0.60 × 0.90, not list × 0.50 — chained discounts multiply, they don't add. Get this wrong and you're 4% out on every line in the file.

Confirm the tier in writing once. "Column D is our net" is worth an email to your rep. Account tiers change after a volume review, and files rarely announce it — sometimes the column that used to be yours quietly becomes the one above.

Second: the price of what, exactly?

This is the single most expensive trap in supplier files: unit of measure. The row says $18.00 and you sell the item for $12.00, so you panic — until you notice the file prices a box of 12 and your true unit cost is $1.50.

Look for columns named UOM, pack, pack qty, case qty, inner/master, or a note buried in the header rows. Then normalise:

unit cost = line price ÷ pack quantity

The same problem runs the other way with items priced per 100 (fasteners, terminals, clips, o-rings) or per metre. And it changes between files: a supplier that moves a line from "each" to "box of 10" without changing the SKU will make that product look like a 900% price increase. If a cost change looks absurd, check the pack column before you check the supplier.

Third: is the number comparable?

Before you compare new against old, make sure both are on the same basis:

Fourth: matching their codes to your SKUs

Matching is where most of the manual work goes. In descending order of reliability:

  1. Their part number = your SKU. The clean case, if you set your SKUs up from their catalog.
  2. Barcode / EAN / UPC. Excellent fallback — but watch for the same physical item carrying different barcodes across suppliers.
  3. Brand + manufacturer part number (MPN). The auto-parts standard. Requires normalising the brand name, because Bosch, BOSCH and Robert Bosch GmbH are three strings and one company.
  4. Fuzzy title matching. A last resort. Useful for building a mapping once, dangerous to trust on a recurring basis.

The normalisation checklist

Before comparing any two codes, strip the noise on both sides:

Never open a price file by double-clicking it. Excel will convert 0034205 to 34205, turn 5E3 into 5000, and read 1-2-2026 as a date. Your matching then fails on exactly the rows you'd least expect. Import via Data → From Text/CSV with identifier columns set to Text, or work in Google Sheets with automatic conversion disabled.

Fifth: the rows that aren't there

A price file tells you about changes in two ways, and the second one is silent:

Neither shows up if you only compare the prices of items present in both files. Compare the key sets too — it's one extra step and it's where the operational surprises live.

Sixth: the shape of the file itself

Real-world files rarely arrive as clean tables. Expect and handle:

And, of course, the columns get renamed and reordered without notice. Any process you build should map columns explicitly per supplier rather than trusting position or exact header text.

A repeatable process

  1. Archive the file on arrival, named supplier_YYYY-MM-DD. Your file archive is your cost history — Shopify won't keep one.
  2. Normalise to a flat table: code, unit cost, pack qty, currency, tax basis.
  3. Diff against the previous normalised version: increases, decreases, new, gone.
  4. Match to your catalog by SKU, then barcode, then brand+MPN. Keep the unmatched list — it only grows if you ignore it.
  5. Compute margin at your current retail and flag everything below your floor.
  6. Sanity-check the extremes. Anything above +100% or below −50% is a data problem until proven otherwise.
  7. Decide, reprice, then update Shopify (safely).

Steps 2 through 6 are identical every month for every supplier. That's the part worth automating — not because it's hard, but because doing it by hand is exactly how a $3 increase on a 300-unit line goes unnoticed for a quarter.

Skip straight to step 5

The free Supplier Price Margin Checker takes your Shopify export and any supplier CSV, lets you map their columns to yours, matches by SKU, and shows the margin impact per product — including the price you'd need to hold your target margin.

Open the free checker ↗
Everything is computed in your browser. Nothing is uploaded.