Stripe QuickBooks Month End Close: A Step-by-Step Checklist

A bookkeeper's checklist for closing a Stripe month in QuickBooks Online: the three numbers that must tie out, the reports that prove them, and the five...

Acodei Content Team · 7/25/2026 · 11 min read

The Stripe QuickBooks month end close breaks in the same few places every time: a payout that landed on the 2nd but belongs to last month, a clearing account that refuses to zero, fees that were never split out of net deposits, and a refund booked into the wrong period.

None of those are hard problems. They are just easy to miss when you are closing eleven other accounts in the same afternoon.

This is the checklist we hand to bookkeepers who run Stripe revenue through QuickBooks Online. Work it in order. Every step ends with a number you can prove, and the last two steps cover what to do when one of those numbers refuses to tie. If you would rather not do this by hand every month, Acodei posts Stripe activity into QuickBooks Online with the reconciliation already built in.

The three numbers that have to tie out

A Stripe month is closed when three numbers agree: gross charge volume in Stripe matches gross revenue posted in QuickBooks, total Stripe fees match the balance in your processing fee expense account, and net payouts match the deposits that cleared your bank. Everything else in this checklist exists to prove one of those three.

The reason this takes work is that Stripe pays you net and QuickBooks wants gross. Say you processed 300 charges averaging $33.33 in July, so $10,000 in gross volume. At Stripe's published US card rate of 2.9% plus 30 cents per successful charge, that is $290 in percentage fees plus $90 in per-charge fees, so $380 total. Stripe deposits $9,620.

Book that $9,620 deposit as revenue and you have understated revenue by $380 and recorded no processing expense at all. The P&L is wrong in two places, your gross margin looks better than it is, and in January the gross figure on your Stripe 1099-K will not match your books either.

Step 1: Pull the Stripe reports that make your close provable

Open the Stripe Dashboard and go to Reports. Two reports do almost all of the work.

Balance summary gives you starting balance, activity for the period, and ending balance. The ending balance is the number you will compare your clearing account against in Step 3.

Payout reconciliation breaks each automatic payout into the transactions that settled inside it, grouped by reporting category. This is the report that tells you which specific charges, refunds, and fees make up a single deposit line in your bank feed. Stripe's payout reconciliation report documentation covers the column definitions and both download formats.

Three things about this report catch people out:

  1. It only exists for accounts with automatic payouts enabled. If you run manual payouts, you will be reconciling from the Balance report and the Payouts list instead.
  2. It is computed daily starting at 12:00 AM UTC and is normally available within about 12 hours, so do not close on the morning of the 1st and expect the final day to be there.
  3. Download the itemized format, not the summary, if you need to chase an individual charge. The summary version aggregates by category and will not let you find the one $412 payment your client is asking about.

Before you export anything, check your reporting time zone in Stripe's settings. Stripe reports default to UTC. If your books close on local time and your reports run on UTC, charges near midnight on the last day of the month land on the wrong side of your cutoff, and you will spend an hour hunting a variance that is really just a time zone.

Step 2: Match every Stripe payout to a QuickBooks bank deposit

In QuickBooks Online, go to Transactions, then Bank transactions, and select the bank account Stripe deposits into.

The test here is a count, not a total. Take the payout list from Step 1 and count every payout Stripe initiated during your close period. Then count the Stripe deposit lines that actually cleared the bank account in that same period. The difference between those two counts is your in transit population: payouts initiated before the cutoff that had not landed by it. Step 5 tells you what to do with them.

If Stripe shows 21 payouts and the bank shows 19 deposits, you have two to explain. Usually it is one in transit and one that failed. Failed payouts get their own section in the payout reconciliation report, and they matter: a failed payout returns the money to your Stripe balance, so the cash is still there, just not where you expected it.

Match each deposit to its payout by amount and date rather than accepting whatever the bank feed suggests. Our complete walkthrough of Stripe payout reconciliation in QuickBooks covers the matching mechanics in detail, including what to do when one bank line covers two payouts.

Step 3: Reconcile the Stripe clearing account against the Stripe balance

This is the step where the standard advice is wrong, so it is worth being precise.

Charges debit your Stripe clearing account. Payouts credit it. The usual instruction is that the clearing account should be zero at month end. On the last day of the month it should almost never be zero.

The correct target is this: your Stripe clearing account balance at the cutoff should equal your Stripe balance at the cutoff. Both represent the same thing, which is money Stripe is holding that has not reached your bank yet. The account only returns to zero after the final payout of the period settles, which is usually a few days into the next month.

So the check is a comparison, not a zero test. Go to Accounting, then Chart of accounts, find your Stripe clearing account, and run its account history for the period. Compare the closing balance to the ending balance on the Stripe Balance summary report from Step 1.

When those two disagree, the cause is almost always one of three things: a charge posted to revenue directly instead of through clearing, a payout matched to the wrong month, or a balance transaction type nobody mapped, such as a Stripe Capital repayment or a Connect transfer. Our guide to setting up a Stripe clearing account in QuickBooks walks through diagnosing each of those.

Step 4: Book fees, refunds, disputes, and the tax Stripe collected

Four categories, four different failure modes.

Fees. Your processing fee expense account should equal total fees from the Balance summary. If it is short, the usual cause is a deposit booked at net. If it is over, you may be double counting by booking fees both per charge and again from the payout. The step by step guide to reconciling Stripe fees in QuickBooks Online covers both directions.

Refunds. Stripe does not return the original processing fee when you refund a charge. Refund a $100 charge in full and the customer gets $100 back while the roughly $3.20 in fees stays gone. That means a fully refunded charge is not a wash: revenue reverses, but the fee expense remains. Book the refund against revenue or a contra revenue account and leave the original fee alone. Partial refunds work the same way. See how to record Stripe refunds in QuickBooks Online for the full and partial cases.

Disputes. This one has more moving parts than most guides admit. When a customer disputes a charge, Stripe withdraws the disputed amount and charges a dispute received fee, which is $15 on US pricing and is not returned no matter how the dispute ends. If you decide to fight it, Stripe charges a separate dispute countered fee, also $15 on US pricing, and returns that one if you win. Win, and the disputed amount comes back as well. So a single won dispute produces several separate balance transactions and still leaves you $15 down on the received fee. Each movement lands in your payout detail on its own line, which is why disputes are the line item people most often book once and then cannot tie out. The accounting side of Stripe disputes and chargebacks covers how to book the withdrawal and the reversal.

Sales tax. If you use Stripe Tax, the tax Stripe collects arrives inside your payouts along with everything else. It is not revenue. It generally belongs in a sales tax liability account until you remit it. Treatment varies significantly by jurisdiction, registration status, and whether you are on cash or accrual basis, so confirm the specific handling with your accountant rather than copying another company's chart of accounts.

Step 5: Accrue the payout still in transit at your cutoff

Stripe's typical rolling payout schedule means charges from the last day or two of the month settle in the first days of the next month. What you do about that depends on when you post revenue.

If you post revenue at charge date, you are already fine. Those late charges hit revenue and debit clearing in the close month, the clearing balance carries the in transit cash, and no extra entry is needed. This is the approach that makes Step 3 work cleanly.

If you post revenue only when a payout lands, the last two days of the month fall into next month and you need a cutoff entry. Say $5,000 in gross charges from July 30 and 31 had not paid out by the cutoff, across 75 charges. Fees are $145.00 in percentage plus $22.50 per charge, so $167.50, leaving $4,832.50 net.

AccountDebitCredit
Stripe clearing$4,832.50
Stripe processing fees$167.50
Sales revenue$5,000.00

Reverse it on the first of the next month and let the actual payout post normally, so the revenue is not counted twice.

Whether you should accrue at all depends on your basis of accounting. A cash basis filer generally does not, and an accrual basis filer generally does. Our explainer on cash versus accrual accounting covers how the choice affects month end.

Where the Stripe QuickBooks month end close usually breaks

Six recurring causes, roughly in order of how often they show up:

  1. A bank rule that auto categorizes Stripe deposits to revenue. This is the single most common one. It books net as gross, buries the fees, and often creates a second copy of income you already recorded from charges. See preventing duplicate Stripe transactions in QuickBooks for cleanup steps.
  2. UTC versus local time zone on the cutoff date. Covered in Step 1, and worth re-checking any month the variance is small and stubborn.
  3. Multicurrency conversion differences. When you charge in one currency and settle in another, the rate Stripe used and the rate QuickBooks applies will not match to the cent. The difference belongs in a realized gain or loss account, not in revenue.
  4. Stripe Connect activity treated as revenue. On a platform account, transfers to connected accounts and application fees are separate balance transactions with different meanings. Gross volume flowing through the platform is not platform revenue.
  5. Negative payouts. On a day when refunds exceed sales, Stripe debits your bank account instead of depositing. The bank line is a withdrawal, and matching it to a deposit will not work.
  6. Instant Payouts. These carry their own fee and appear as separate balance transactions, so a month with instant payouts has fee totals that will not match a percentage-of-volume estimate.

FAQ: month end close questions bookkeepers actually ask

Should my Stripe clearing account be zero at month end?

Usually not. It should equal your Stripe balance at the cutoff, because both represent money Stripe holds that has not reached your bank. It returns to zero only after the last payout of the period settles, typically a few days into the next month. A forced zero usually means a real balance was written off to another account.

Do I need to record every Stripe transaction individually in QuickBooks?

No. Daily or payout level summaries are common practice and keep the file fast. Transaction level detail matters when you need per customer invoices in QuickBooks, per product revenue reporting, or class tracking by line. Choose based on what you need to report on, not on what feels more thorough.

Why doesn't my Stripe 1099-K match my QuickBooks revenue?

The 1099-K reports gross processing volume before fees and before refunds. Your books show net revenue after refunds, with fees as a separate expense. The two are supposed to differ. Reconcile by starting from the 1099-K gross figure and subtracting refunds and fees to arrive at what your P&L shows.

How long should a Stripe month end close take?

For a business with clean mapping and a working clearing account, the checklist above is a 20 to 40 minute job. When it stretches into hours, the cause is almost always structural rather than volume related, most often a bank rule booking deposits at net or a balance transaction type that was never mapped to an account.

What if I find an error in a month I already closed?

Correct it in the current open period rather than reopening a closed month, unless the amount is material to a filed return or a statement someone relied on. Document what you found and why the correction sits where it does, so next month's variance has an explanation attached to it.

Closing a Stripe month without doing this by hand

Every step above is mechanical. Match payouts, compare a clearing balance to a Stripe balance, split fees out of net, book refunds and disputes to the right accounts, respect the cutoff. That is exactly the kind of work that is better handled by mapping rules than by a person with a spreadsheet on the third of the month.

Acodei syncs Stripe into QuickBooks Online with the clearing account pattern already in place, so payouts arrive matched, fees post as fees, and balance transaction types like disputes and Capital repayments are mapped once and then handled every month without another decision. See how Acodei handles Stripe to QuickBooks reconciliation.

Share

Automate your Stripe to QuickBooks sync

Save hours every month. Acodei automatically syncs your Stripe transactions, invoices, and payouts to QuickBooks Online.

How Acodei handles this in your stack

Get more operational finance guides like this one

We will only send high-value product and finance content.