Why deposits never match invoices
A card payment and the deposit it produces are different events on different days for different amounts. Six things sit between them:
| Cause | What happens | Example |
|---|---|---|
| Batching | Every payment authorized before the daily cutoff settles together as one deposit | Three invoices paid on Tuesday arrive as one deposit on Thursday |
| Cutoff timing | A payment after the cutoff lands in the next day's batch | A 7 p.m. payment on the 31st appears in next month's first deposit |
| Fees netted from deposits (daily discount) | The processor deducts its fees from each deposit instead of billing monthly | $1,240.00 in payments becomes a $1,207.59 deposit |
| Separate settlement by card brand | American Express, and sometimes Discover, settle on their own schedule as their own deposits | One batch produces a Visa/Mastercard deposit on Thursday and an Amex deposit on Friday |
| Different rails | ACH debits settle on their own timeline and are held longer | A card and an ACH payment on the same invoice arrive four days apart |
| Debits back out | Refunds, chargebacks, ACH returns and monthly fees appear as withdrawals or reduce a later deposit | A $300 chargeback shrinks Friday's deposit to $907.59 |
None of these is an error. They are how the rails work, and a bookkeeping method that assumes a payment equals a deposit will never balance. The fix is to record the two events separately and connect them with an intermediate account.
The clearing-account method
QuickBooks already has the intermediate account built in: Undeposited Funds, called Payments to Deposit in newer versions of QuickBooks Online. The method uses it, or a dedicated clearing account per processor, as a holding place between "the customer paid" and "the money reached the bank".
- Record each customer payment against its invoice on the date it was paid, into Undeposited Funds. The invoice is now paid, the receivable is closed, and the money is sitting in the holding account. For sales without an invoice, a sales receipt does the same thing.
- When the processor deposit arrives, create a Bank Deposit that selects exactly the payments in that batch. Their total is the gross batch amount.
- On the same deposit, add a negative line for the fees the processor withheld, posted to a Merchant Fees expense account. The deposit total now equals what hit the bank.
- Match the deposit to the bank feed transaction. It matches to the cent because you built it to.
Worked example: one batch
| Line | Account | Amount |
|---|---|---|
| Payment, invoice 1042, Jordan Reyes | Undeposited Funds → Bank | $640.00 |
| Payment, invoice 1043, Acme Roofing | Undeposited Funds → Bank | $450.00 |
| Payment, invoice 1045, M. Chen | Undeposited Funds → Bank | $150.00 |
| Processing fees withheld | Merchant Fees (expense) | -$32.41 |
| Deposit total | Checking | $1,207.59 |
The result is that revenue is recorded at the gross amount on the invoice date, fees are an expense you can see, receivables are accurate, and the bank reconciles. The alternative that many businesses fall into, recording the $1,207.59 deposit directly as income when it appears in the bank feed, overstates cash, understates revenue, hides fees, and leaves every invoice showing as unpaid.
Monthly-billed fees
If your processor bills fees once a month (monthly discount) rather than netting them from deposits, deposits equal gross batches and the negative fee line is not needed. The monthly fee withdrawal is recorded as an expense when it appears. Monthly discount is easier to reconcile and easier to audit; ask for it.
One clearing account per processor
Undeposited Funds works well for a single processor. With two or more (a card gateway, a separate Amex settlement, an ACH provider, a second gateway for a second location), it becomes hard to tell whose money is waiting. The cleaner setup is a bank-type clearing account per processor in the chart of accounts: "Gateway A clearing", "Amex clearing", "ACH clearing".
- Customer payments are deposited to the clearing account for the processor that took them, on the payment date.
- When the processor's deposit arrives in the real bank account, record a transfer from the clearing account to checking for the gross batch, and an expense from the clearing account for the fees (or, with monthly discount, just the transfer).
- The clearing account's balance at any moment is money the processor holds but has not paid out. It should equal the processor's "pending" or "unsettled" figure, which is the check in the month-end section.
The same structure handles a processor that pays out on a delay, or a platform that holds a reserve: the clearing balance simply stays higher, and it is visible rather than lost.
Refunds, chargebacks, ACH returns and fees
Money going the other way has to be recorded with the same discipline, or the clearing account drifts.
| Event | How to record it | Notes |
|---|---|---|
| Refund to a customer | A Refund Receipt (or a credit memo plus a refund) from the clearing account, on the refund date, against the original item or income account | The processor deducts the refund from a later deposit or debits the bank; the transfer on that day is smaller or negative by the refund amount, and the clearing account nets to zero. |
| Chargeback debited by the processor | A Refund Receipt to the customer for the disputed amount, from the clearing account, plus an expense for the chargeback fee to a "Chargeback fees" account | If you later win the dispute and the money is returned, record a payment from the customer into the clearing account referencing the original invoice, or reverse the refund receipt. |
| ACH return (R01 and others) | Reverse the customer payment: a Refund Receipt or a journal entry re-opening the invoice, from the ACH clearing account, plus the return fee as an expense | The invoice is unpaid again and should show as such so collections follow up. When the retry succeeds, record a new payment. |
| Monthly processor fee withdrawal | An expense from checking to Merchant Fees when it appears in the bank feed | Attach the statement. Reconcile the amount against it: this is where padded fees are caught; see reading your merchant statement. |
| Reserve held by the processor | Leave it in the clearing account; it is money owed to you | When released, it arrives as a larger transfer. |
| Sales tax collected in a payment | Handled by the invoice or sales receipt, not the deposit | The gross payment includes tax; the tax liability is already booked by the sale. |
| Tips or gratuities | A separate line on the sales receipt to a tips liability account | They pass through the same deposit and must not be recorded as revenue. |
Bank feed matching, and the two habits that keep it clean
QuickBooks matches bank-feed transactions to recorded deposits when the amount and approximate date line up. Two habits make that reliable:
- Record deposits in batches exactly as the processor pays them. Use the processor's settlement or batch report, which lists the payments and fees in each deposit, rather than guessing which invoices go together. A deposit built from the batch report matches first time; a deposit built from memory generates a "possible match" that someone has to investigate.
- Never "add" a processor deposit from the bank feed as new income. Always "match" it to the deposit you recorded. If there is nothing to match, the missing step is recording the customer payments, not creating income.
Bank rules can automate the monthly fee withdrawal (payee contains the processor's name, amount under a threshold, categorize to Merchant Fees) and the recurring transfers. They should not be used to categorize deposits; deposits must match recorded payments.
A month-end checklist
- Every clearing account balance equals the processor's unsettled amount on the last day of the month. If it is higher, a deposit was not recorded or a refund was missed; if lower, income was booked twice.
- Undeposited Funds is empty apart from payments taken in the last two or three days. A large or growing balance means deposits are being added from the bank feed instead of matched.
- Merchant Fees expense for the month equals the statement total (netted fees plus monthly billed fees). A difference is a missed fee line or a padded statement.
- Gross card and ACH revenue in QuickBooks equals the processor's gross volume for the month. This will also match the 1099-K the processor files, which reports gross, not net.
- No invoice is marked paid without a payment sitting in a clearing account or the bank. Run the open-invoice report and the payments report side by side.
- Chargebacks and returns are all recorded, with the dispute or return report from the processor as the source.
- Bank reconciliation completes with no unexplained differences. If it does not, the difference is almost always a deposit split across two days or an Amex deposit recorded with the Visa batch.
Automating it
Everything above can be done by hand from the processor's reports, and for a business with a few deposits a week it is an hour a month. It stops being an hour a month when there are several gateways, daily batches, ACH alongside cards, or a payment platform sitting in front of the processors. The mechanical parts, which are most of it, are what integration software does:
- Import each settled batch from every gateway, with its payments, fees, refunds and chargebacks.
- Record customer payments against the matching QuickBooks invoices (or create sales receipts for payments without one), into the right clearing account, on the payment date.
- Create the deposit or transfer for each batch with the fee line, so the bank feed matches automatically.
- Post refunds, chargebacks and ACH returns as they settle, re-opening invoices where needed.
- Keep customers, items and tax rates in sync so the postings land on the right accounts.
The questions to ask of any integration: does it post gross revenue and fees separately, or net; does it handle refunds and chargebacks or only successful payments; does it support multiple gateways into separate clearing accounts; and does it run on settlement (what actually reached the bank) or on authorization (what was approved, which is not the same thing)? Integrations that post on authorization are the source of a whole class of month-end differences.
Where FloPay fits
FloPay's reconciliation runs a nightly import that pulls settled and unsettled transactions from every connected gateway into one ledger, normalizes refunds, voids, chargebacks and ACH settlement timing, and syncs to QuickBooks Online: customers, invoices and payments in, payments and deposits back. Because the platform already sits in front of each gateway for invoicing, ACH and multi-provider processing, it knows which invoice each settled payment belongs to and which batch it settled in, which is the information the clearing-account method depends on.
One ledger for every gateway, synced nightly
FloPay imports settled batches from every processor, matches payments to invoices, posts fees, refunds and chargebacks, and syncs to QuickBooks Online. Ask us how your current deposits would map.
See Reconciliation