Guide · Supplier price lists
Compare an old and a new supplier price list by item number
When a supplier sends next year’s price list, the questions are always the same: which prices went up, which items are new, which were dropped, and did anything change without a price change, such as a smaller pack for the same money. CSV Compare matches the two lists on the item number and gives you one review list with those answers. This page shows how to prepare the lists and how to read the result.
Try the free demo ↗ See licenses and prices ↗
Les denne veiledningen på norsk
1. Get both lists into CSV
- Price lists usually arrive as Excel files. Open each one, keep the header row and the item rows, delete title rows and notes above the header, and save it as CSV UTF-8. The Excel guide covers the format slips to avoid.
- Remove thousands separators and currency symbols from the price column.
1 290,00 krmust become1290,00. Choose the decimal separator for each file in the app. - If the supplier changed the column names between years, that is fine. You map each column yourself, so
item_nocan be matched witharticle.
2. Choose the item number as the key
- Use the supplier’s item or article number. It must appear once per row in each list and be written the same way in both: matching is exact and case-sensitive after surrounding spaces are removed, so
A-1001anda-1001are different items. - Excel can drop leading zeros. If the old list has
00125and the new one has125, they will not match. Format the column as text before saving. - Quantity-break prices repeat the item number, one row per tier. The app reports a repeated number as a duplicate and does not pick a tier for you. Keep one tier per list, or build a key such as
A-1007-10+that includes the tier in both lists.
3. Map the columns and compare
- Map the item number as the record key and the unit price as the amount on both sides. Map the currency column too if the lists have one; the app compares the codes but never converts amounts.
- Pair the text columns that change what you get for the price, such as
pack → pack,unit → unitordescription → description. Text is compared exactly, including case and spaces. - Choose Compare exports and work through the review entries.
Example: an office supplier’s 2025 and 2026 lists
| item_no | description | pack | price | currency |
|---|---|---|---|---|
| A-1001 | Copy paper A4 | box of 5 reams | 289.00 | NOK |
| A-1002 | Stapler | 1 piece | 149.00 | NOK |
| A-1003 | Toner black | 1 cartridge | 899.00 | NOK |
| A-1004 | Sticky notes | pack of 12 | 79.00 | NOK |
| A-1005 | Desk lamp | 1 piece | 449.00 | NOK |
| item_no | description | pack | price | currency |
|---|---|---|---|---|
| A-1001 | Copy paper A4 | box of 5 reams | 309.00 | NOK |
| A-1002 | Stapler | 1 piece | 149.00 | NOK |
| A-1003 | Toner black XL | 1 cartridge | 1149.00 | NOK |
| A-1004 | Sticky notes | pack of 10 | 79.00 | NOK |
| A-1006 | Monitor arm | 1 piece | 1290.00 | NOK |
| A-1007 | Label tape 12 mm | 1 roll | 129.00 | NOK |
| A-1007 | Label tape 12 mm | 1 roll | 115.00 | NOK |
Map item_no as the record key, price as the amount and currency as the currency on both sides, and pair the text fields description → description and pack → pack.
| Item | Report status | What it means |
|---|---|---|
| A-1007 | Duplicate right key | The new list has two rows for the label tape, 129.00 and 115.00: a quantity break. The app does not choose one; A-1007 is left out of matching until each list has one row for it. |
| A-1001 | Amount differs | Copy paper went from 289.00 to 309.00. |
| A-1002 | Mapped fields match | Same price, currency, description and pack. |
| A-1003 | Multiple fields differ | The price and the description changed. Toner black became Toner black XL at 1149.00. Check whether it is the same product or a replacement. |
| A-1004 | Text differs | Same price, but the pack went from 12 to 10. A price-only check would miss this. |
| A-1005 | Only on left | The desk lamp is not in the new list. Dropped, or moved to a new item number? |
| A-1006 | Only on right | The monitor arm is new in 2026. |
That is 1 match and 6 review entries. The report shows each old and new value side by side; it does not calculate percentages or totals.
Copy the example as CSV text
Paste each block into the left and right text boxes of the demo. Choose comma and dot for both files, then map the columns as above.
item_no,description,pack,price,currency A-1001,Copy paper A4,box of 5 reams,289.00,NOK A-1002,Stapler,1 piece,149.00,NOK A-1003,Toner black,1 cartridge,899.00,NOK A-1004,Sticky notes,pack of 12,79.00,NOK A-1005,Desk lamp,1 piece,449.00,NOK
item_no,description,pack,price,currency A-1001,Copy paper A4,box of 5 reams,309.00,NOK A-1002,Stapler,1 piece,149.00,NOK A-1003,Toner black XL,1 cartridge,1149.00,NOK A-1004,Sticky notes,pack of 10,79.00,NOK A-1006,Monitor arm,1 piece,1290.00,NOK A-1007,Label tape 12 mm,1 roll,129.00,NOK A-1007,Label tape 12 mm,1 roll,115.00,NOK
4. What to check for each result
| Report status | What to check |
|---|---|
| Amount differs | Whether both prices use the same basis: excluding or including VAT, per piece or per pack, before or after your agreed discount. |
| Text differs | The report names the changed field. A smaller pack, a new unit or a new description at the same price is a change in what you buy. |
| Multiple fields differ | Whether the supplier reused the item number for a different product. |
| Only on left | A dropped item, or the same item under a new number. Search the new list by description. |
| Only on right | A new item, or a renumbered old one. |
| Currency differs | Which currency each list uses. Amounts are never converted. |
| Duplicate left key / Duplicate right key | Quantity breaks, colour or size variants sharing one number, or a row entered twice. Get to one row per item number, then compare again. |
| Invalid left row / Invalid right row | An empty item number, or a price with a thousands separator, currency symbol or text such as “on request”. Fix those rows and compare again. |
A changed price is only a difference between two files. Whether it matches your agreement, and what you do about it, is for you and the supplier to settle.
Privacy and limits
The comparison runs in your browser tab. The app makes no network requests while it compares, saves no input to browser storage and contains no analytics, so your price lists are not uploaded. The free demo handles up to 50 data rows and 2 MiB per file; the full version handles up to 10,000 data rows and 2 MiB per file, offline after you extract the ZIP. Item numbers are matched exactly. Fuzzy matching on descriptions, percentage changes, currency conversion and reading .xlsx files directly are not included.
Related: compare two CSV files · compare two Excel sheets via CSV · compare a stock count with inventory · format guide · see licenses and prices
Start with this year’s list