CSV exports · Worked example
Compare CSV exports by ID.
Two exports can contain the same number of rows while describing different items. Start with a stable ID, then separate changed values from rows that appear in only one file. This small example gives you a result you can check by hand.
CSV Compare is made by VImplement, the publisher of this site. It is our own product, not an affiliate link. The method below also works for a manual spreadsheet review. All rows on this page are synthetic inventory data.
Try a sample in two clicks
Open the free demo, choose Load synthetic sample, then Compare exports. No account or upload is needed. The built-in sample is separate from the inventory example below.
The demo accepts 50 rows per source; the downloadable edition accepts 10,000 rows per source. Every edition has a 2 MiB limit per source. See the current prices and licenses in the shop.
1. Choose a stable, unique ID
Use item_id for these samples. Match AX-102 to AX-102, even if its quantity changes or its row moves. Row position is a poor identifier: a sort or a new row can shift everything below it.
This worked example matches IDs exactly as written. Before using another export, check how your comparison tool handles case, surrounding spaces, blank keys and leading zeros. An ID such as 0012 should not silently become 12 during spreadsheet preparation.
2. Copy two tiny synthetic exports
Save each block as a separate UTF-8 CSV file with its header line. Treat before.csv as the earlier export and after.csv as the later export. Both contain four data rows.
before.csv
item_id,item,quantity,status
AX-101,Cable kit,4,ready
AX-102,Desk stand,2,ready
AX-103,Label pack,6,ready
AX-104,Tray insert,3,hold
after.csv
item_id,item,quantity,status
AX-101,Cable kit,4,ready
AX-102,Desk stand,5,ready
AX-104,Tray insert,3,hold
AX-105,Clamp pad,1,ready
The row count alone would miss both the quantity change and the replacement of AX-103 by AX-105.
3. Check the expected result
Using exact item_id matches, three IDs appear in both files. Two are unchanged and one has a changed value. One ID appears only in the earlier export, and one only in the later export.
| ID | What changed | What to review |
|---|---|---|
| AX-101 | Unchanged | All non-ID values are the same. |
| AX-102 | Quantity: 2 → 5 | Same ID; compare the quantity cell, not the row number. |
| AX-103 | Earlier export only | Check export filters and scope before calling this a deletion. |
| AX-104 | Unchanged | It moved up one row; its values did not change. |
| AX-105 | Later export only | Check export filters and scope before calling this a new record. |
A missing row is a finding, not an explanation. A different date range, filter or export failure can remove a row without the source record being deleted.
4. Review the match before acting on it
- Same scope: confirm the source, export filters and selected columns match. Record which file is earlier and which is later.
- Exact IDs: inspect empty keys, case, whitespace and leading zeros. Preserve the original exports and document any cleanup.
- Duplicate IDs: if
AX-102appears twice in either file, stop treating it as a unique key. Review those rows, find a genuinely unique key or documented combination of columns, and compare again. Do not assume duplicates can be paired automatically. - Changed values: inspect the old and new cell values. Formatting differences such as
2and2.0may need a different interpretation from a change to5. - Missing rows: check one-sided IDs against the original export and its filters. Avoid inferring a deletion or addition from presence alone.
- Manual spot check: trace one unchanged ID, one changed ID and every duplicate or one-sided ID back to the source files.
Try the synthetic example in CSV Compare
- Load before.csv and after.csv in the free demo. Select
item_idas the record key for both files. - Use Add field pair to pair the left
quantitycolumn with the rightquantitycolumn as a text field. Leave amount and currency set to Do not compare. - Run the comparison and check the output against the manual result here. The sample changes only quantity on a shared ID; only mapped fields are compared, so include other relevant columns when preparing another example.
With this mapping, expect 2 matched rows and 3 review rows: AX-102 is Text differs, AX-103 is Only on left, and AX-105 is Only on right.
Check the sample result before trying your own non-sensitive test exports.
Open the free demo See current plans in the shop
The shop is the place to check current prices, license terms and purchase details.
Product references
- CSV Compare product guide — check the current controls and file requirements.
- CSV Compare example — a separate example on the product site.