Why Your Stripe Deposit Never Matches Your Invoice (And How to Fix It in QuickBooks)
A member pays $772.50 and your bank shows $749.80. Learn the correct QuickBooks flow for recording Stripe payments, fees, and deposits.
ChamberHive Team
This is the most common accounting question we get from chambers, and the fix is almost always the opposite of what people's first instinct tells them.
Here is the situation, with real numbers.
A member owes $750 in dues. Your chamber passes on a three percent card fee, so the member is charged $772.50 total. The invoice says $772.50. The member pays. You go to reconcile, and your bank shows a deposit of $749.80.
The invoice will not close. You are $22.70 short.
This is general bookkeeping guidance. Confirm the account names, tax treatment, and exact workflow with your accountant.
What most people do, and why it is wrong
The instinct is to edit the invoice down to $749.80, or add a discount line for the difference, so the two numbers match and the invoice clears.
Do not do this. It fixes the symptom and breaks four things underneath.
Your member payment history now says the member paid $749.80. They did not. They paid $772.50, and their card statement proves it. The first time a member disputes a charge or asks for a receipt, your records disagree with theirs.
Your gross receipts are now understated by the fee amount on every single transaction. Across a year of dues that is a real number missing from your books.
Your Stripe gross records no longer tie to your QuickBooks records, which means the annual reconciliation gets harder, not easier.
And you have recorded a discount you never gave, which misrepresents what happened.
The invoice is correct. The invoice should show what the member was actually charged. The problem is not the invoice, it is that a step is missing.
What is actually happening
Stripe payouts are generally net of processing fees. Stripe takes its processing fee out before the money reaches your bank.
So there are three distinct events, and most chambers are only recording two:
- The member is charged $772.50. This is the gross receipt.
- Stripe charges a processing fee of $22.70. This is an expense.
- $749.80 lands in your bank. This is the net deposit.
If you only record events one and three, the books cannot balance, because event two is the entire difference. It is not a discrepancy. It is a business expense you have not booked yet.
The correct QuickBooks flow
Three entries, in this order.
Record the customer payment at gross. Receive payment against the invoice for the full $772.50. The invoice closes cleanly. Member history is accurate. The gross amount received is stated correctly.
Record the processing fee as an expense. $22.70 to a merchant fees or bank charges expense account. If you do not have one, ask your bookkeeper or accountant where it belongs. Keeping processing fees separate makes the true cost of card acceptance visible at year end.
Reconcile the bank deposit against net. The $749.80 in your bank feed now matches the difference between the gross payment and the fee expense. It reconciles cleanly.
The practical mechanism is usually a clearing account, sometimes called an undeposited funds or Stripe holding account. The gross payment lands there, the fee comes out of it, and the net transfers to the bank. Your accountant will recognize this structure immediately because it is how businesses commonly handle third-party processor deposits.
The batching complication
Stripe commonly groups transactions from a period into one payout. So your bank might show a single deposit of, say, $4,318.44, which corresponds to eleven different member payments minus eleven different fees.
This is where hand reconciliation becomes genuinely painful, and it is why chambers end up doing this at eleven o'clock at night before a board meeting.
Two options. Pull the Stripe payout report, which itemizes every charge and fee in that batch, and enter them as a group. Or use a platform that creates the QuickBooks deposit automatically when the payout settles, so the batch arrives already broken out.
Either works. What does not work is trying to match a batched deposit to individual invoices by eye.
The passthrough math nobody checks
Look closely at the numbers at the top of this article. The chamber passed on three percent, which on $750 is $22.50. The actual Stripe fee was $22.70.
The chamber came up twenty cents short. On every transaction.
This happens because the fee is charged on the total amount including your surcharge, and because there is a fixed per-transaction component on top of the percentage. Three percent of the base amount does not cover a fee calculated on the grossed-up amount plus thirty cents.
If you want to calculate the amount that would recover a percentage plus a fixed fee, the gross-up formula is:
amount to charge = (amount you want to net + fixed fee) / (1 - percentage rate)
For a $750 dues invoice at 2.9% plus 30 cents:
(750 + 0.30) / (1 - 0.029) = 750.30 / 0.971 = $772.71
Charge $772.71, the fee is $22.71, and you net exactly $750.00.
Twenty-one cents different from what most chambers charge. On four hundred renewals that is eighty-four dollars a year, which is not going to change your budget. But it does mean your passthrough is not doing quite what you think it is, and if anyone ever audits the logic you want to be able to explain it.
The formula is accounting math, not permission to charge that amount. Network and state caps may prevent full recovery, especially on smaller payments. Before you implement a passthrough, check whether your chamber can pass credit card fees on to members.
Common questions
Should I just edit the invoice to match the deposit?
No. It breaks member payment history, understates gross receipts, and desynchronizes your books from your processor records. Record the fee as an expense instead.
Where do Stripe fees go in the chart of accounts?
An expense account, typically merchant fees, bank service charges, or credit card processing fees. Keep it separate from general bank charges so you can see the true cost of card acceptance at year end.
Why does my bank deposit cover multiple invoices?
Stripe batches payments into a single payout. Pull the payout report to see the itemized breakdown of charges and fees in that batch.
Is cash or accrual basis different here?
The mechanics are the same. What changes is timing. On accrual, revenue is generally recognized when the invoice is issued; on cash, when payment is received. Confirm the treatment that applies to your chamber with your accountant. The fee expense follows the payment either way.
Can this be automated?
Yes. A system can create the deposit record when the payout settles, with the gross amounts and fees itemized as line items. That removes the manual step.
Sources
- Intuit: enter a bank service fee for a third-party merchant service
- Stripe: reconcile automatic payouts and their fees
ChamberHive can automatically send eligible invoices and posted payments to QuickBooks Online. With automatic payout matching configured, supported Stripe payouts are recorded as net bank deposits with processing fees separated. Start an instant demo to explore ChamberHive in your browser.