PayoutPair, home

Why Your Stripe Deposit Doesn't Match Your Sales

Stripe payouts are net of fees, refunds, disputes and adjustments, and can span several days. Learn how to trace a payout back to sales, with a worked example.

You sold $5,000 last week. Stripe deposited $4,206.05. Your accounting software shows one deposit, and you're trying to work out where the other $800 went. This is one of the most common questions on bookkeeping forums. The answer is almost always some mix of the six reasons below.

Reason 1: Payouts are net, not gross

Stripe takes its processing fee out of each charge before the money reaches your balance. Your bank sees net, but your revenue is gross. The fee is a business expense, so record it as one rather than letting it vanish.

Reason 2: Refunds come out of the same balance

When you refund a customer, Stripe deducts the refund from your balance, which usually means from your next payout. By default Stripe keeps the original processing fee on a refunded charge. So a fully refunded $100 sale can still cost you the fee.

Reason 3: Disputes (chargebacks) and dispute fees

When a customer disputes a charge, Stripe withdraws the disputed amount plus a dispute fee. If you win, the funds come back later as a separate balance transaction, possibly in a different payout. In the payout reconciliation report these show up under the dispute reporting category.

Reason 4: Timing — a payout isn't "last week's sales"

Stripe pays out on a rolling schedule. A payout contains the transactions that became available in that window (look at the available_on column), and that depends on your payout schedule and account. So Monday's deposit might include Wednesday-to-Friday charges from the week before. Comparing a calendar week of sales to a calendar week of deposits will almost never match.

Time zones matter too. Stripe reports default to UTC unless you choose your time zone when you run them.

Reason 5: Adjustments and other balance activity

Some balance activity isn't sales at all: Stripe billing for other Stripe products, reserve holds and releases, currency conversions, and miscellaneous adjustments. These show up under categories like fee, other_adjustment, or reserve-related categories in Stripe's reporting categories documentation.

Reason 6: Sales tax or VAT included in gross

If your checkout collects tax, part of the gross isn't your revenue. It's a liability you owe. This doesn't change the deposit, but it changes how you split the deposit in your books.

How to trace a payout back to its parts

Step 1: Get the itemized report

In the Stripe Dashboard, go to Reports → Payout reconciliation, choose a date range around the payout, and download the Itemized CSV. Each row is one balance transaction, tagged with the payout it went into (automatic_payout_id) and a reporting_category.

Step 2: Filter to the payout

Filter automatic_payout_id to the deposit you're investigating. Now you're only looking at what Stripe actually bundled into that payment.

Step 3: Total by category

Worked example (illustrative numbers only)

reporting_categorygrossfeenet
charge4,850.00158.954,691.05
refund-320.000.00-320.00
dispute-150.0015.00-165.00
Total4,380.00173.954,206.05

That's the deposit. The "missing" $643.95 between $4,850 of sales and the $4,206.05 deposit is $173.95 in fees, $320 in refunds and $150 in disputed funds.

If the totals still don't match the deposit:

Step 4: Record it properly

Once you have the breakdown, record the payout as one balanced journal entry:

AccountDebitCredit
Bank4,206.05
Stripe Fees173.95
Refunds320.00
Chargebacks150.00
Sales4,850.00

Now your books show the real revenue, the real costs, and a deposit that matches the bank to the cent. For step-by-step entry and import instructions, see:

A quick mental model

Think of Stripe as a mini bank account that sits between your customers and your real bank:

Your books should show each of those flows. The bank deposit is only the last one.

Where PayoutPair helps

The tracing above takes about 15 minutes per payout in a spreadsheet the first time. It gets faster with practice, but it's still repetitive. PayoutPair does steps 2–4 for you. Upload the Stripe payout reconciliation CSV and you get the breakdown (gross sales, fees, refunds, disputes, adjustments, net to bank) as one balanced journal entry. You can map it to your QuickBooks Online accounts by name or your Xero account codes and tax rates, then export it for import.

It doesn't connect to Stripe. It only reads the CSV you upload. The free calculator is a quick way to see why a specific deposit came out the way it did, and you can try a full CSV without an account.

FAQ

Why is my Stripe payout less than my sales?

Payouts are net of Stripe processing fees, refunds, dispute amounts and fees, and other adjustments. They also cover a rolling window of transactions, not a calendar period.

Does Stripe deduct refunds from payouts?

Yes. Refunds come out of your Stripe balance, usually reducing the next payout. By default the original processing fee isn't returned.

How do I see which transactions are in a Stripe payout?

Download the itemized Payout reconciliation report (Reports → Payout reconciliation → Download → Itemized) and filter by automatic_payout_id. You can also open the payout in Balances → Payouts in the Dashboard.

Should I book Stripe sales at the payout amount?

No. Book gross sales as income and fees, refunds and disputes separately, so your revenue and expenses are accurate.

Why do my dates not line up with Stripe?

Payouts include funds as they become available, which can be several days after the charge, and Stripe reports use UTC unless you set a time zone.

What if I win a dispute?

The funds (and sometimes the fee, depending on the case) come back as a separate balance transaction, often in a later payout. Record it in the payout it lands in.

Stripe is a trademark of Stripe, Inc. QuickBooks is a trademark of Intuit Inc. Xero is a trademark of Xero Limited. PayoutPair is not affiliated with, endorsed by, or sponsored by Stripe, Intuit, or Xero.