Finances reports

The money behind the orders — payments, payouts, fees, taxes and liabilities — reconciled across stores and converted to one currency so the totals mean something.

17 built-in reports — every one opens in the report editor, runs across all connected stores in one currency, and can be saved, exported or scheduled. The query under each report is the whole report — readable, and yours to change.

Sales taxes over time

Tax collected per day across all jurisdictions.

FROM sales_taxes
  SHOW sales_taxes
  SINCE startOfDay(-30d) UNTIL today
  TIMESERIES day WITH TOTALS
  COMPARE TO previous_period
  ORDER BY timeseries ASC
  VISUALIZE sales_taxes TYPE line

Taxes

Sales taxes collected by channel and jurisdiction — Shopify's default Taxes report, month to date.

FROM sales_taxes
  SHOW sales_taxes
  SINCE startOfMonth(0m) UNTIL today
  GROUP BY sales_channel, tax_country, tax_region, tax_name, filed_by_channel, tax_rate WITH TOTALS
  ORDER BY sales_channel ASC, tax_country ASC, tax_region ASC, tax_name ASC
  VISUALIZE sales_taxes TYPE table

Total sales by order

Every sale line with its full money breakdown — gross sales through to total sales, per order and product.

FROM sales
  SHOW gross_sales, discounts, sales_reversals, net_sales, shipping_charges, taxes, total_sales
  SINCE startOfMonth(0m) UNTIL today
  GROUP BY day, sale_id, order_name, product_title_at_time_of_sale WITH TOTALS
  ORDER BY day ASC, order_name ASC, sale_id ASC
  LIMIT 1000
  VISUALIZE total_sales TYPE table

Gross sales by order

Gross sales per sale line — product value before discounts, reversals, taxes and shipping.

FROM sales
  SHOW gross_sales
  SINCE startOfMonth(0m) UNTIL today
  GROUP BY day, sale_id, order_name, product_title_at_time_of_sale WITH TOTALS
  ORDER BY day ASC, order_name ASC, sale_id ASC
  LIMIT 1000
  VISUALIZE gross_sales TYPE table

Net sales by order

Net sales per sale line — gross sales with discounts and sales reversals factored in.

FROM sales
  SHOW net_sales
  SINCE startOfMonth(0m) UNTIL today
  GROUP BY day, sale_id, order_name, product_title_at_time_of_sale WITH TOTALS
  ORDER BY day ASC, order_name ASC, sale_id ASC
  LIMIT 1000
  VISUALIZE net_sales TYPE table

Net sales from gift cards

Gift-card sale lines — gross sales, items sold, discounts and net sales per order and customer.

FROM sales
  SHOW gift_card_gross_sales, net_quantity, gift_card_discounts, gift_card_net_sales
  SINCE startOfMonth(0m) UNTIL today
  WHERE line_type = 'GIFT_CARD'
  GROUP BY day, sale_id, order_name, customer_display_name WITH TOTALS, PERCENT_CHANGE
  ORDER BY day ASC, order_name ASC, sale_id ASC
  LIMIT 1000
  VISUALIZE gift_card_net_sales TYPE table

Total sales breakdown

The full total-sales formula per day — gross sales through discounts, reversals, shipping and taxes to total sales.

FROM sales
  SHOW gross_sales, discounts, sales_reversals, net_sales, shipping_charges, taxes, total_sales
  SINCE startOfMonth(0m) UNTIL today
  TIMESERIES day WITH TOTALS
  ORDER BY timeseries ASC
  LIMIT 1000
  VISUALIZE gross_sales, discounts, sales_reversals, net_sales, shipping_charges, taxes, total_sales TYPE list

Shipping by order

Shipping charges per order — charges, discounts and tax, totalled per shipping line.

FROM sales
  SHOW shipping_charges, shipping_charge_discounts, shipping_charge_taxes, total_shipping_charges
  SINCE startOfMonth(0m) UNTIL today
  WHERE line_type = 'SHIPPING'
  GROUP BY day, sale_id, order_name WITH TOTALS
  ORDER BY day ASC, order_name ASC, sale_id ASC
  LIMIT 1000
  VISUALIZE total_shipping_charges TYPE table

Total sales reversals by order

Every reversal — returns, refunds, cancellations and order edits — decomposed into gross, discount, shipping and tax, per order and product.

FROM sales
  SHOW gross_sales_reversals, discount_reversals, net_sales_reversals,
    shipping_reversals, tax_reversals, total_sales_reversals
  WHERE order_or_sales_reversal = 'return'
  SINCE startOfMonth(0m) UNTIL today
  GROUP BY day, sale_id, order_name, product_title_at_time_of_sale WITH TOTALS
  ORDER BY day ASC, order_name ASC, sale_id ASC
  LIMIT 1000
  VISUALIZE total_sales_reversals TYPE table

Discounts by order

Every discounted sale line — line-level and order-level discounts, and what they left behind.

FROM sales
  SHOW gross_sales, line_item_discounts_specific, order_level_discounts, discounts, sales_reversals, net_sales
  WHERE line_item_discounts != 0 OR discount_name IS NOT NULL
  SINCE startOfMonth(0m) UNTIL today
  GROUP BY day, sale_id, order_name, product_title_at_time_of_sale WITH TOTALS, PERCENT_CHANGE
  ORDER BY day ASC, order_name ASC, sale_id ASC
  LIMIT 1000
  VISUALIZE discounts TYPE table

Net payments over time

Payments received per day, after refunds.

FROM payments
  SHOW net_payments
  SINCE startOfDay(-30d) UNTIL today
  WHERE transaction_kind IN ('SALE', 'CHANGE', 'CAPTURE', 'REFUND')
  TIMESERIES day WITH TOTALS
  ORDER BY timeseries ASC
  LIMIT 1000
  VISUALIZE net_payments TYPE line

Payments by gateway summary

Transactions, gross, refunded and net payments per payment gateway.

FROM payments
  SHOW transactions, gross_payments, refunded_payments, net_payments
  SINCE startOfMonth(0m) UNTIL today
  WHERE transaction_kind IN ('SALE', 'CHANGE', 'CAPTURE', 'REFUND')
  GROUP BY payment_gateway WITH TOTALS
  ORDER BY net_payments DESC
  LIMIT 1000
  VISUALIZE net_payments TYPE list_with_dimension_values

Net payments by method

Payments received after refunds, per payment method.

FROM payments
  SHOW net_payments
  SINCE startOfDay(-30d) UNTIL today
  WHERE transaction_kind IN ('SALE', 'CHANGE', 'CAPTURE', 'REFUND')
  GROUP BY payment_method WITH TOTALS
  ORDER BY net_payments DESC
  LIMIT 1000
  VISUALIZE net_payments TYPE donut MAX ALL

Shop payments by type

Net payments from the Shop channel, split by sale type.

FROM payments
  SHOW net_payments
  WHERE is_shop_channel_transaction = true
  GROUP BY transaction_sale_type WITH TOTALS, GROUP_TOTALS, PERCENT_CHANGE
  TIMESERIES day
  SINCE startOfDay(-30d) UNTIL today
  COMPARE TO previous_period
  ORDER BY day ASC
  LIMIT 1000
  VISUALIZE net_payments TYPE line

Shop Pay payments

Payments received through Shop Pay, and the orders behind them.

FROM payments
  SHOW net_payments, orders_with_transactions
  SINCE startOfDay(-30d) UNTIL today
  WHERE is_shop_pay_transaction = true
  TIMESERIES day WITH TOTALS, PERCENT_CHANGE
  COMPARE TO previous_period
  ORDER BY day ASC
  LIMIT 1000
  VISUALIZE net_payments TYPE line

Payouts over time

Amount deposited to your bank account by Shopify Payments per day.

FROM payouts
  SHOW payout_amount
  SINCE startOfDay(-89d) UNTIL today
  TIMESERIES day WITH TOTALS, PERCENT_CHANGE
  COMPARE TO previous_period
  ORDER BY day ASC
  LIMIT 1000
  VISUALIZE payout_amount TYPE line

Gross payments from Shopify Payments

Gross payments processed by Shopify Payments per month, before refunds.

FROM payments
  SHOW transactions, gross_payments
  SINCE startOfMonth(-12m) UNTIL endOfMonth(-1m)
  WHERE gateway_handle = 'shopify_payments'
    AND transaction_kind IN ('SALE', 'CAPTURE')
    AND payment_method != 'shop_pay_installments'
  TIMESERIES month WITH TOTALS, PERCENT_CHANGE
  COMPARE TO previous_period
  ORDER BY month ASC
  LIMIT 1000
  VISUALIZE gross_payments TYPE bar

FAQ

Do these finances reports cover all my Shopify stores? Yes — every report on this page aggregates across all connected stores and converts to one currency. Group by store inside any of them for the per-store split.

Can I change what a report shows? Yes — every report opens in the report editor, where metrics, groupings, filters, date ranges and the chart are all editable, and your version saves to your own library.

Can I get these reports automatically? Yes — any report can be downloaded as CSV or Excel, or scheduled to arrive by email or FTP on the cadence you choose.