Start with two comparable snapshots
Suppose Monday’s export has SKU A-10 at price 20, B-20 at price 35 and C-30 at price 10. Tuesday’s export has A-10 at 22, C-30 at 10 and D-40 at 18. A useful audit identifies A-10 as modified, B-20 as removed and D-40 as added. Sorting either export differently should not change that answer. Before comparing, check that both exports cover the same store, warehouse filters, product statuses and currency. A filtered-out product is indistinguishable from a deleted product in the CSV alone.
Test the identity rule before trusting the report
SKU is a good key only if each SKU appears once per snapshot. A warehouse export often needs SKU plus location. Variant exports may need SKU plus variant ID. Select both as a composite key instead of concatenating them manually: naive concatenation can collide when values contain the separator. LedgerSprout compares tuples, so each component remains distinct. Empty keys and repeated keys are blocking errors. Use the source system to resolve conflicting identities, or deduplicate with a documented retention policy.
Ignore noise deliberately
Export timestamps and last-viewed fields can make every row look changed. Ignore those columns only when the audit does not require them. Prices, stock levels and active status should normally remain in scope. Matching is exact: uppercase differences and leading spaces remain changes. If a field disappears from one schema, an absent column differs from a present blank cell. The schema warning helps you separate a template change from a business change.
Reconcile counts with exported detail
The summary counts records, while the report exports each changed field separately. A product with new price and quantity contributes one modified record and two difference rows. Added and removed records carry full row JSON so you can inspect the record that exists. Unchanged records are counted but not exported. With the example above, the summary is one added, one removed, one modified and one unchanged. Keep the two source snapshots with the report for a repeatable audit.
Review safely before acting
The first 50 report rows are a preview. Download the complete report to review a larger change set. Spreadsheet formula triggers are prefixed with an apostrophe during export, including suspicious values inside imported fields. This protects a spreadsheet opening the report but may alter text when another CSV reader imports it. Do not feed a difference report directly to a live store: it is an audit format, not an inventory-update template. Validate a few known records before making any source-system changes.