CharityStack
Menu
← Blog

How to reconcile online donations to bank deposits

Match each online gift to its processor transaction, payout, and bank deposit, then resolve the first broken handoff.

C

CharityStack

·4 min read

Editorial card reading 'Reconcile donations to bank deposits' over an Aurelia painting of figures traveling in a white boat beneath green columns.

To understand how to reconcile donations, follow each gift through four records: the donation record, processor transaction, payout, and bank deposit. Match one payout at a time, then investigate the first handoff where the identifiers, status, or amount stop agreeing.

This method keeps a timing difference, refund, or fee from looking like a missing gift. It also gives a lean team a short exception queue instead of another month-end spreadsheet that only one person understands.

Start with four records

A bank deposit is usually the end of a chain, not a copy of one donation. Keep these records distinct:

  1. Donation record: donor, gross gift amount, designation, gift status, and the fundraising system's identifier.
  2. Processor transaction: payment status, gross amount, processor identifier, and any related refund or dispute.
  3. Payout: the batch of processor activity sent to the bank, with its own identifier, amount, and expected arrival date.
  4. Bank deposit: the amount, posted date, and statement reference that prove cash reached the account.

Stripe's current payout reconciliation documentation describes automatic payouts as settlement batches containing payments and other transactions. PayPal's Disbursement Reconciliation Report similarly connects a payout with contributing payments, refunds, fees, and other activity through transfer identifiers.

That is why adding donations for a calendar day and comparing the result with a bank deposit often fails. The payout may use a different cutoff, include activity from several days, or contain a refund or fee alongside new payments.

Reconcile one payout at a time

Choose one bank deposit and work backward. Do not begin with every donation received that month.

  1. Find the processor payout whose identifier, amount, and arrival date correspond to the bank deposit.
  2. Download or open the payout's itemized transactions.
  3. Match each successful payment to one donation record using a stable processor or fundraising-system identifier.
  4. Separate refunds, disputes, fees, adjustments, and still-pending transactions from successful gifts.
  5. Record who reviewed the payout and whether every item matched or entered the exception queue.

Stripe's bank reconciliation guide shows this same separation across account activity, payouts, and cash received in the bank. Its balance activity can include charges, refunds, disputes, adjustments, and fees. The exact report names and availability depend on your processor, so use its current documentation rather than assuming every dashboard works alike.

Consider a hypothetical payout built from three $100 gifts. One gift is later refunded for $20, and the batch includes $8 in fees. The bank receives $272. A comparison of $300 in gifts with a $272 deposit looks like a $28 shortage. The four-record chain explains the difference without erasing the original gifts: $300 of payments, less $20 of refund activity and $8 of fees, equals the $272 payout and deposit.

Your accountant should decide how those items are recorded in the ledger. The operator's job here is to preserve the source records and make the handoffs explainable.

Fix the first broken handoff

When the chain fails, start at the earliest mismatch. Later totals cannot repair an earlier record problem.

  • Donation to transaction: If a paid processor transaction has no donation record, inspect the checkout integration, import, or webhook before editing the payout worksheet.
  • Transaction to payout: If a transaction is absent from the expected payout, check its availability status, payout schedule, refund, dispute, or processor account.
  • Payout to bank: If the payout says paid but no matching deposit appears, verify the destination account, arrival date, bank reference, and payout status.

Do not change a correct gift amount to make a net bank deposit agree. That hides the exception and weakens the donor record. Preserve the gross gift, attach the processor activity, and resolve the difference where it occurred.

Keep a small exception queue

The reconciliation worksheet should store exceptions, not duplicate every clean record. Give each unresolved item:

  • payout, processor transaction, and donation identifiers;
  • expected amount or status and the observed result;
  • exception type, owner, next check date, and final resolution.

Use a short set of exception types such as missing gift record, pending payment, refund, dispute, fee, wrong payout, or missing bank deposit. Free-text notes alone make it hard to see which handoff repeatedly fails.

Close a payout only when its bank deposit matches and every underlying item either matches a gift or has a named exception. A monthly total that happens to agree is not enough; two mistakes can offset each other.

Reconcile on the payout cadence

Review payouts as they arrive, then use month-end to clear remaining exceptions. A weekly or per-payout review keeps the source reports available and the owner close to the event. It also turns the monthly close into confirmation instead of reconstruction.

CharityStack's current site describes contacts, subscriptions, receipts, outreach, and payouts as records tied to each gift. When evaluating fundraising operations, test whether your team can move from a bank deposit to its payout, from the payout to each transaction, and from each transaction to the donor record. Then compare that path with the platform's broader connected donor workflows.