Check a supplier CSV before importing it
When a supplier sends a fresh catalog, a row-by-row text diff can bury useful changes under sorting differences. Match the two files by a stable identifier instead.
1. Choose the right key
Use a SKU when it identifies exactly one record in each file. If a SKU appears for multiple warehouses, select both SKU and warehouse. Never use a mutable price or description as the key: changing it would look like a removed and added record.
sku,warehouse,price,stock MUG-01,SYD,18.00,42 MUG-01,MEL,18.00,20
2. Keep the comparison strict first
Open the baseline and latest exports, select the key columns, and compare. Record and column order do not matter. Prices are text: 18, 18.0, and 18.00 differ. Only enable whitespace or case normalization when that matches your data contract; normalization applies to keys too and can reveal duplicates.
3. Review column changes separately
A renamed column is reported as a removed column and a new column. An absent column differs from an empty cell. Ignore a volatile export timestamp for value comparison if appropriate, but still inspect column-change notices.
4. Export the review
Download CSV for a spreadsheet review, JSON for exact programmatic values, or HTML for an offline report. The CSV protects against formula execution by prefixing risky cells with an apostrophe. Reports contain source values, so share them with the same care as the original exports.
Repeat the check every week
The automation pack uses the same comparison behavior and adds reusable JSON profiles, named batch jobs, and predictable exit codes for local scripts or CI. It creates reports without modifying your source data. It requires Node.js 22 or newer.
node cli/exportdelta.mjs compare \ --before exports/last-week.csv \ --after exports/this-week.csv \ --profile cli/examples/catalog-profile.json \ --out reports/week-41
Exit 0 means no changes, 1 means records or columns changed, and 2 means invalid input or a configuration error. The pack is available as a one-time purchase through Gumroad.
View the automation pack · Read the supported formats and limits