Shopify reconciliation, explained

Are you losing money on shipping? Check charged vs paid in Shopify

Published
Short answer

Shipping you charged customers is in Shopify's sales reports, and what you paid for labels bought in Shopify is on the Shipping section of your Shopify bill. Subtract the second from the first for the same dates: a negative number is what shipping costs you, and divided by your orders it is the cost per order.

Where shipping charged lives, and where label cost lives

Our reasoning on the catch: the two use different dates. Sales reports date shipping charged by the order; a bill dates a label by when it was bought or adjusted. Pull a full month of each, and expect a few labels at the edges to belong to the month before or after.

Sources: Shopify Help Center: Types of charges on your bill · Shopify Help Center: Analytics data points (fields) reference · Shopify Help Center: Buying shipping labels

What the label lines miss

Source: Shopify Help Center: Buying return labels

Join the two by order number

For a cost per order, export your orders (each row carries the order number and its shipping charged) and match each label to its order. Orders with a label and no shipping charged are your free-shipping orders; orders with shipping charged below their label are the ones losing money on shipping. Which columns the orders export carries is on the orders export, column by column.

A worked example (SAMPLE NUMBERS)

LineOrdersAmount
Shipping charged to customers2,400$9,800
Label cost on the Shopify bill2,400-$21,600
Shipping, charged minus paid-$11,800
Per order-$4.92

SAMPLE NUMBERS, not a real store. 1,500 of the 2,400 orders shipped free.

What the free-shipping threshold costs

In the sample, labels average $9.00 ($21,600 over 2,400 orders). At that average, the 1,500 free orders cost -$13,500 in labels with nothing charged, while the 900 paid orders net $1,700. The two add up to the -$11,800 above. Our reasoning: the threshold pays only if it lifts order value, across the orders that qualify, by more than $13,500 of margin. Your own export gives the real split, label by label.

Fixes, ranked by dollars

  1. Price the threshold against the label cost it gives away (in the sample, $13,500).
  2. Fix the orders where shipping charged sits below the label: rates by weight or zone that undercharge.
  3. Check voids and adjustments on the bill: labels bought and never used, and weight corrections.
  4. Add labels bought outside Shopify, so the comparison covers every package.

Why your Net Sales can read differently in a profit app over shipping is on the shipping cause. Where Shopify's other fees sit is on where to find your Shopify fees, and how a missing cost changes a profit report is on profit reports missing costs. How ProfitRoot handles it is on how it's different.

Common questions

Where do I find shipping label costs in Shopify?

On your Shopify bill. Shopify says the Shipping section of a bill displays charges for any shipping labels you purchase and any label adjustments made during your billing cycle, and that per-use charges such as shipping labels display on a separate bill. Open them from Settings, then Billing.

Where do I find the shipping I charged customers?

In Shopify's sales reports, as shipping charges. Shopify keeps shipping out of net sales and counts it in total sales, so it is a separate line you can pull for any date range.

When is a Shopify return label charged?

Shopify says return labels are pay-on-scan: you are not charged when you create the label, only after the carrier scans the package, and the charge might not appear immediately. A return label in one month can be billed in the next.

How do I find my shipping cost per order?

Take shipping charged minus label cost for the same dates and divide by the orders shipped. In the sample on this page, $9,800 charged minus $21,600 of labels is -$11,800 over 2,400 orders, or -$4.92 an order.

Does free shipping always lose money?

Every free-shipping order costs its label with nothing charged against it. Whether that pays depends on whether the threshold raises order value by more than the labels cost, which the walk on this page lets you check with your own numbers.

What this does not tell you

This compares shipping charged with label cost only. It leaves out packaging, pick-and-pack labour and any third-party fulfilment fees, which belong in the same question but are not on the Shopify bill.

The lines marked as our reasoning are not Shopify statements. The worked example uses SAMPLE NUMBERS, not a real store, and assumes every label cost the period's average.

Want shipping charged and paid on every order, side by side?

Install ProfitRoot and see these steps on your own orders.

Install free from the Shopify App Store

Orders synced from a connected Shopify store are transmitted to and stored on our servers so they can be recomputed on later visits.

Related
Where to find your Shopify feesShopify profit report missing cost per itemHow to make a Shopify number defensibleAll Shopify reconciliation guides

Sources last checked 2026-11-13.