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.