Every finance lead who has reconciled online giving has had the same experience: the gift report says one number, the bank says another, and the difference is not a round figure. The instinct is to look for a mistake. Usually there is not one.
The gap is structural. Understanding its five components turns a monthly investigation into a five-minute review.
1. Fees come off before the money arrives
A $250 gift is a $250 receipt and a $242.45 deposit. If your system stores only the gross, the fee becomes a plug figure someone reconstructs. Store gross, fee and net as three values on the transaction and the arithmetic explains itself.
2. Deposits are batches, not gifts
Processors group transactions into payouts on their own schedule. One deposit can span two days of giving, and a gift given on the 31st can land in next month's deposit. Without a payout object between the gift and the deposit, there is nothing to hold that relationship.
3. Refunds and disputes settle late
A refund issued in March may reduce an April payout. If refunds are modelled as negative gifts rather than as events with their own settlement timing, the period totals will never agree.
4. Fee adjustments arrive separately
Chargeback fees, ACH return fees and monthly platform fees often appear as their own deductions. They belong to the payout, not to any single gift.
5. Someone recorded an offline gift with an online date
The most common human cause. A cheque entered with today's date lands in a period whose deposits cannot contain it.
“The goal is not a system where the two numbers are equal. It is a system that can say, in one sentence, why they are not.”
What to do about it
- Store gross, fee and net separately on every transaction.
- Introduce a payout object between transactions and deposits.
- Model refunds and disputes as events with settlement dates.
- Attach fee adjustments to the payout rather than to gifts.
- Require an explicit gift date and a separate received date for offline gifts.