Payout Breakdown + Bank Remittance clarity

Can you share (or describe) a real Shopify Payments payout breakdown example that shows how gross sales, refunds, disputes/chargebacks, and each fee type roll up to the net payout—and which export/report is the ‘source of truth’ for bank reconciliation (payout-level vs transaction-level vs balance transactions)? (Bigger Context: Team and I are wanting to reconcile between Shopify/SAP.)

When you receive a Shopify Payments payout, the payout amount is a net figure that accounts for various components including gross sales, refunds, disputes/chargebacks, and fees.

Here’s how these elements typically roll up to the net payout:

  • Gross Sales: The total amount of sales processed through Shopify Payments before any deductions.

  • Refunds: Amounts refunded to customers since the last payout are deducted from the payout.

  • Disputes/Chargebacks: If customers initiate disputes or chargebacks, the payment amount and any associated fees are deducted.

  • Fees: These include Shopify Payments processing fees, chargeback fees, chargeback protection fees, and any applicable taxes on fees.

  • Adjustments: Other adjustments such as tax adjustments or collective debits/credits may also affect the payout.

  • Reserves: Temporary holds or reserves may reduce the payout amount to protect against potential losses.

The net payout is the amount transferred to your bank account after all these deductions.

Source of Truth for Bank Reconciliation:

  • The payout level report

    (accessible via the Shopify admin under Finance > Payouts) is the primary source of truth for bank reconciliation. It shows the total payout amount, payout status, bank account details, and a breakdown of charges, refunds, adjustments, and reserves.

  • The transaction level report

    provides detailed information on each transaction included in the payout, such as individual sales, refunds, and fees.

  • The balance transactions export

    (CSV export of transactions) includes columns for Amount, Fee, and Net, allowing detailed reconciliation of each transaction.

For reconciliation with systems like SAP, it’s recommended to use the payout-level report for the overall payout amount and the transaction-level export for detailed matching of individual transactions and fees.

How to Access These Reports:

  • In the merchant’s Shopify admin, navigate to Finance > Payouts to view payout summaries and statuses.

  • Click on a specific payout date to see detailed breakdowns.

  • Use the View Transactions option to see all transactions included in payouts.

  • Export transactions as CSV for detailed analysis and reconciliation.

Additional Notes:

  • Payout statuses include Scheduled, Paid (or Deposited), Failed, and Withdrawn, which help track the payout progress.

  • If a payout is marked as Paid but funds are not yet in the bank, it may take 1-3 business days for the bank to process.

  • Currency conversion, negative balances, and payout holds can also affect payout amounts.

Thanks, @keithdell Since our store (q55840-0i)is not live yet and we haven’t yet enabled the Shopify Payment in LIVE mode, three reports mentioned above are empty for us. Would you be able to share a sample reports with dummy data? This can help us map out and plan reconciliation activities.

I shared a sample data set to the account owner’s email address for the store mentioned. You can find the data as well via this graphQL mutation.

Few questions for you regarding the report you shared with our team.

  1. What is the Settlement date in the excel file? We have the transaction date, payout date and available on date fields in the file. Which one is the settlement submitted date?

  2. As the order number being provided is within Shopify, is the Shopify order number captured and sent to SAP?

  3. What is the time zone Shopify uses for posting the transactions?

  4. Based on this report, how would the daily settlement amount in SAP get reconciled with the settlement amount in Shopify?

@keithdell - Kindly following up.

What is the Settlement date in the excel file? We have the transaction date, payout date and available on date fields in the file. Which one is the settlement submitted date?

Today we do not provide a settlement date. The payout date is when the funds have officially settled to you.

As the order number being provided is within Shopify, is the Shopify order number captured and sent to SAP?

This is your Shopify order number that can be pulled into SAP

What is the time zone Shopify uses for posting the transactions?

UTC

Based on this report, how would the daily settlement amount in SAP get reconciled with the settlement amount in Shopify?

You’d have to work with SAP on this.

The recommendation generally is to open up a test/dev shop and run a few live transactions through to validate your ERP setup

@S.T,Based on how Shopify models the data, the cleanest way to think about reconciliation is: the payout is the bank-facing settlement record, and the balance transactions are the accounting detail behind it.

A simplified payout example would look something like this:
Charges gross: 10,000.00
Less charges fees: 320.00
Less refunds gross: 800.00
Less refunds fees: 0.00 or whatever applies in that market/account setup
Less disputes/chargebacks and related adjustments: 250.00
Less dispute/adjustment fees: 15.00
Net payout to bank: 8,615.00
That is essentially the rollup Shopify is exposing at the payout-summary level: charges, refunds, adjustments/disputes, reserved funds, etc.

For bank reconciliation, I would treat the payout-level record as the source of truth for the exact deposit amount that should match the bank statement. For SAP reconciliation / journal support, I would use the Shopify Payments balance transactions export (or API equivalent) as the source of truth for the transaction-level breakdown, because that is where you get the individual amount / fee / net rows tied back to the payout.

In other words:

  • Payout-level: confirms what hit the bank

  • Balance transactions: explains why the payout equals that amount

  • Order / transaction detail: adds business context like order reference, payment method, and fee attributes if SAP needs more dimensional posting

So if your team is reconciling Shopify to SAP, the usual pattern is:

  1. reconcile the bank deposit to the payout record,

  2. reconcile the payout record to the sum of balance transactions,

  3. optionally enrich with order transaction details where SAP needs order number, card metadata, or fee classification.

The source of truth is the payout itself, not the sales report. Go to Finance, then Payouts, click a specific payout, then View transactions, then Export to CSV. That file lists every transaction folded into that payout: gross sale amount, the Shopify Payments fee, any refund, any chargeback or dispute, and any other adjustment, each as its own line.

The math is simple once you see it: gross sales for the batch, minus fees, minus refunds, minus chargebacks, minus adjustments, equals the payout amount. That total is the number that should match one bank deposit, same amount, typically shortly after the payout date shown in Shopify.

One thing that trips people up doing a general-ledger reconciliation: a payout batch doesn’t respect calendar days. Orders from more than one day can land in a single payout, and one day’s orders can split across two payouts. Reconcile at the payout level, not the daily-sales level, and the numbers tie out.

For SAP/bank reconciliation, I would separate the question into two layers: what proves the bank deposit, and what explains the difference from gross sales.

The payout-level record is the bank-facing anchor. If Shopify says a payout of $9,742.18 was paid, that is the amount you should match to the bank remittance. Do not try to match the bank line directly to individual orders, because a payout is a batch, not a sale.

The transaction/balance export is the explanation layer. A simple roll-forward usually looks like:

gross captured sales in the payout batch

minus processing fees, usually somewhere around 1.5–3.4% plus a fixed per-transaction amount depending on card/country/plan

minus refunds and partial refunds included in that payout

minus chargebacks/dispute debits and dispute fees

plus or minus adjustments, currency conversion, and FX fees

minus any rolling reserve/hold that was kept back

equals the net payout sent to the bank

The common trap is timing. The order date, capture date, available-on date, payout date, and bank arrival date can all be different. A refund from last week can reduce this week’s payout; a chargeback can debit a later period; a reserve release can increase a payout that has no matching sale. For SAP, I would post orders/refunds/fees into a Shopify Payments clearing account, then clear that account only when the payout hits the bank. Anything left in clearing should be explainable as in-transit funds, reserves, disputes, FX, or cutoff timing.

So: payout report for the remittance total, balance transactions CSV for the audit trail, and a clearing account for timing differences. That tends to make “sales are higher than payouts” much less mysterious.

Disclosure: PayoutFix AI is independent and not affiliated with Stripe. This is operational finance assistance, not tax or legal advice.

If you want to see exactly where your own gap went, we built a free diagnostic that breaks it down: Free Stripe Payout Reconciliation Diagnostic | PayoutFix AI (no charge, no signup wall).