Shopify orders export: what each column proves
Most columns in the Shopify orders export cannot prove a sales figure. Eleven of them carry the net sales lane; the rest are identity, segmentation, or money that belongs to someone else -- tax collected for an authority, shipping charged to a customer.
The single most misread structural fact: Shopify puts additional line items on separate rows and leaves many fields blank on them. A blank is not a zero. Summing a column without grouping by order first is the most common way a reconciliation goes wrong before it starts.
The structural fact that breaks most spreadsheets
Shopify states it directly: "orders with multiple line items display their additional line items on separate lines", and "many of the fields are left blank to indicate that multiple items were purchased on the same order".
What this means in practice: a three-item order is three rows. The order-level columns -- subtotal, discount, refund, status, currency, date -- appear on the first row only. Sum the subtotal column naively and you get the right answer. Sum it after filling blanks with zero, or after sorting the file, and you do not.
Shopify Help Center: Exporting orders
Section 1: the reconciliation-relevant columns
Net sales means the column feeds the reconciled sales figure. Neither means it is useful for something -- joining costs, segmenting channels -- but cannot prove a revenue number on its own.
| Column | Lane | What it proves |
|---|---|---|
| Name | Net sales | The order identifier. Rows are grouped by it; a blank value on a continuation row belongs to the order above. |
| Financial Status | Net sales | Decides whether an order counts. Paid, refunded and partially refunded are in; voided and pending are excluded and named. |
| Subtotal | Net sales | The order's post-discount total. It is the source anchor the reconciliation ties back to. |
| Lineitem quantity | Net sales | Quantity for the line. Multiplied by the line price to build gross. |
| Lineitem price | Net sales | The gross unit price -- always gross, never net of a line discount. |
| Discount Amount | Net sales | Order-level discount, subtracted once. Line-level discount is already aggregated into it. |
| Refunded Amount | Net sales | Subtracted from gross to reach net sales for the order. |
| Currency | Net sales | The order currency. A file mixing currencies cannot be summed, and that is a hard stop rather than a warning. |
| Created at | Net sales | The order date -- what a period filter should be applied to. |
| Cancelled at | Net sales | Marks a cancelled order. Cancelled and fully refunded is a correct-and-final exclusion. |
| Tags | Net sales | A tag containing "test" marks a test order, which is excluded from revenue. |
| Lineitem sku | Neither | Identifies the product. Needed to join a cost file; proves nothing about revenue on its own. |
| Lineitem name | Neither | The product title. Used with the shipping flag to identify gift-card lines. |
| Lineitem requires shipping | Neither | False marks a non-physical line. Combined with a gift-card title it marks deferred revenue, which is excluded. |
| Taxes | Neither | Collected on behalf of a tax authority. Not revenue, and not part of net sales. |
| Shipping | Neither | Charged to the customer. Whether it is revenue is an accounting-policy question, so it is kept out of the net sales lane. |
| Total | Neither | What the customer was charged, including tax and shipping. The furthest figure from a revenue number. |
| Neither | Customer identity. Hashed into a customer key for cohort work; never needed for a sales figure. | |
| Source | Neither | The channel the order came through. Useful for segmentation, irrelevant to whether the total ties. |
| Discount Code | Neither | Which code was used. Segmentation, not arithmetic -- the amount is what moves net sales. |
The required five
These are structurally required -- a file missing any one of them cannot be reconciled at all, and the honest response is to stop rather than to estimate around it:
- Name
- Financial Status
- Subtotal
- Lineitem quantity
- Lineitem price
That list is imported directly from the parser this site runs on, so it cannot drift from what the product actually demands of your file.
Section 2: the full export reference
The columns below are the complete header row from a real Shopify orders export -- all 79 of them, in file order. Most are addressing, fulfilment and payment metadata that a sales reconciliation never touches; they are listed so you can tell at a glance which of your columns are simply not part of the calculation.
Name | Email | Financial Status | Paid at | Fulfillment Status | Fulfilled at | Accepts Marketing | Currency | Subtotal | Shipping | Taxes | Total | Discount Code | Discount Amount | Shipping Method | Created at | Lineitem quantity | Lineitem name | Lineitem price | Lineitem compare at price | Lineitem sku | Lineitem requires shipping | Lineitem taxable | Lineitem fulfillment status | Billing Name | Billing Street | Billing Address1 | Billing Address2 | Billing Company | Billing City | Billing Zip | Billing Province | Billing Country | Billing Phone | Shipping Name | Shipping Street | Shipping Address1 | Shipping Address2 | Shipping Company | Shipping City | Shipping Zip | Shipping Province | Shipping Country | Shipping Phone | Notes | Note Attributes | Cancelled at | Payment Method | Payment Reference | Refunded Amount | Vendor | Outstanding Balance | Employee | Location | Device ID | Id | Tags | Risk Level | Source | Lineitem discount | Tax 1 Name | Tax 1 Value | Tax 2 Name | Tax 2 Value | Tax 3 Name | Tax 3 Value | Tax 4 Name | Tax 4 Value | Tax 5 Name | Tax 5 Value | Phone | Receipt Number | Duties | Billing Province Name | Shipping Province Name | Payment ID | Payment Terms Name | Next Payment Due At | Payment References
Taken from a real Shopify orders export held in our test fixtures (fixtures/d2c/shopify-orders-real-dev.csv). Shopify adds and renames export columns over time, and the exact set varies by store configuration, installed apps and locale -- treat this as one real file, not a specification. Your export may have more columns, fewer, or differently named ones.
The arithmetic
Gross for a line is quantity times price. Gross for an order is the sum of its lines. Net sales for an order is gross minus the order-level discount minus the refunded amount -- which is the same thing as subtotal minus refunds, because Shopify's subtotal is already post-discount.
Then orders are included or excluded by status, and every exclusion is named. Which orders drop out, and why, is covered in the export-versus-dashboard guide.
Common questions
What columns does the orders export need?
To reconcile Net Sales, your Shopify Orders export must include these columns: Name, Financial Status, Subtotal, Lineitem quantity, Lineitem price. Export them from your Shopify admin under Orders > Export (as CSV), then upload the file on the Sources tab.
Why are so many cells blank in my export?
Shopify's documentation states that orders with multiple line items display their additional line items on separate lines, with many of the fields left blank to indicate that multiple items were purchased on the same order. The order-level values live on the first row of the order and must be carried forward, never treated as zero.
Is Lineitem price before or after discount?
It is gross. A line-level discount is also aggregated into the order-level discount amount, so subtracting both double-counts. Subtract the discount once, at the order level.
Do taxes and shipping belong in net sales?
Taxes are collected on behalf of a tax authority and are not revenue. Whether shipping charged to a customer is revenue is an accounting-policy question, so we keep it out of the net sales lane rather than deciding it for you.
What this does not tell you
Shopify's export format varies by store configuration, app installs and locale. Treat the column list here as the common case, not a guarantee about your file.
The lane assignments describe what a sales reconciliation can use a column for. They are not accounting advice -- whether shipping revenue is revenue in your books is your accountant's call.
Upload your Shopify Orders export and see which figures reconcile to it, which are excluded and why, and which layers your data cannot prove yet. Your first report is free.
Reconcile my Orders exportCSV uploads are parsed in your browser. Shopify orders you sync are stored on our servers.
Sources last checked 2026-08-04.