Tool · E-commerce and marketplace CSVs
QA Shopify order CSVs before finance and ERP systems ingest them
Walk through a practical QA checklist for Shopify order CSV exports before ERP or accounting ingests them: grain, discounts, refunds, and duplicate line keys, using Table locally.
Shopify order exports are naturally line-grain: one row per line item with order-level fields repeated. That shape is correct for warehouses and tax engines, yet easy to misread if someone expects one row per order.
Before you transform the file in Python or load it into NetSuite, a quick human scan in a local grid catches structural mistakes that would otherwise become expensive reconciliation projects.
Document which export profile you used—column names drift between apps, and QA is much faster when everyone references the same field map.
Confirm grain and keys
Identify the stable identifiers Shopify includes in your export profile, usually order name and line-level SKU or variant id. Count distinct orders versus rows to verify you are not accidentally deduplicating line items away.
Watch for partial refunds and exchanges that produce negative quantities or secondary rows tied to the same order name. Your ERP mapping needs explicit rules for those cases, not silent drops.
Taxes, discounts, and presentment currency
Compare tax columns against what you see in the admin for a sampled set of orders. Rounding differences between presentment currency and shop currency can look like errors when they are actually expected conversions.
Discount rows may appear as separate lines or as embedded columns depending on the export app. Align with finance on which representation is authoritative before you automate.
Use Table for the first pass
Filter to a single day or payment gateway, sort by total, and search for edge-case tags like gift or draft. Export a smaller CSV once QA notes are captured for your integration partner.
Keeping that pass local reduces how many copies of full order history float through email, while still giving operations a familiar spreadsheet-like interface.
Frequently asked questions
- Should I use the default Shopify export or a reporting app?
- Default exports are predictable. Reporting apps add columns but also introduce versioning. Pick one path per pipeline and document the profile so QA steps stay stable.
- How do I catch duplicate line keys?
- Sort by SKU within order name and scan visually, or load into your database staging layer with uniqueness constraints. Table helps for the first human sanity check before SQL.
- Why might my CSV row count differ from the Shopify admin totals?
- Timezone windows, cancelled or test orders, and archived sales often explain gaps before you assume the export is wrong. Confirm which order states your profile includes, then rerun the export with the same filters the business team expects.