The bank deposit from Blackbaud Merchant Services lands, finance pulls the Altru revenue report for the same day, and the two numbers don’t match. Usually nothing is missing. The two systems are counting the same money on different days and, sometimes, at different amounts. Once you know which differences are expected, reconciliation turns into matching instead of hunting.
Four dates for one card payment
A single credit card sale passes through several dates, and each report you look at may use a different one:
- Transaction date in Altru. When the sale was entered at the desk or submitted on a web form. This is what most Altru revenue reports and queries use.
- Authorization or approval date in BBMS. When the card was approved. Usually the same moment, but not always the same calendar day once time zones and cutoffs come into play.
- Settlement or batch date. When the approved transactions were settled with the card networks. Sales made late in the evening can fall into the next day’s settlement.
- Deposit or disbursement date. When the money actually reaches your bank account, typically a business day or more after settlement, and weekends and bank holidays push it further.
So a Saturday evening membership sale can show up in Altru on Saturday, settle in BBMS on Sunday, and arrive at the bank on Tuesday, grouped with Sunday and Monday sales. Comparing “Saturday in Altru” to “Saturday’s deposit” will never work. Ask Blackbaud support (or check your BBMS account documentation) for your exact settlement cutoff time and the time zone it’s based on, then write it down where your finance team can see it.
Why the amounts differ, not just the dates
Even with dates lined up, totals can still be off for reasons that aren’t errors:
- Processing fees. Depending on how your merchant account is set up, fees may be taken out of each deposit (so deposits arrive net) or billed separately. Check your BBMS agreement or a recent statement so you know which you’re dealing with.
- Refunds. A refund processed in Altru today reduces a future deposit, not the deposit for the original sale.
- Chargebacks and reversals. These come out of deposits on the processor’s schedule, often weeks after the original sale, and Altru may not reflect them until someone records them.
- Non-card payments. Cash, checks, and other payment methods are in Altru revenue but never touch BBMS. Filter Altru down to card payments before you compare anything.
- Payments that never reached BBMS. A card payment keyed into Altru without actually being processed through the merchant account (for example, run on a separate terminal) will show in Altru with no BBMS match.
A reconciliation routine that holds up
1. Reconcile by settlement batch, not by calendar day
Start from the deposit and work backward. Each bank deposit should correspond to one or more BBMS settlements, and each settlement to a set of transactions. The BBMS reporting portal lets you see transactions behind a disbursement; export that list rather than eyeballing totals.
2. Build an Altru query that matches the BBMS export
Create a revenue or payment query in Altru limited to credit card payments, with the transaction date, amount, payment method, and constituent name, plus any card or transaction reference fields available in your query views. If you aren’t sure which field carries the processor’s transaction ID in your database, test with a handful of known payments and see which field lines up with the BBMS record. Run the query for a date range one or two days wider than the settlement window on each side, so cutoff stragglers are included.
3. Match line by line in a spreadsheet
Put both exports side by side and match on transaction reference where you have one, or on amount plus date plus name where you don’t. What’s left over usually falls into a short list: refunds, fees, chargebacks, a sale on the other side of the cutoff, or a payment recorded in only one system.
4. Tie it to your Altru batches and GL
If your organization commits revenue through batches or posts to the general ledger, decide which date drives the posting. Many finance teams post revenue by Altru transaction date and treat the timing gap to the bank as cash in transit. Others post on deposit date. Either can work; mixing the two month to month is what creates permanent differences.
5. Keep a running variance log
For every unmatched item, note the amount, the reason, and the date it cleared. Month-end becomes far easier when the open items from last month are already explained and you can see them drop off.
Month-end and cutoff headaches
The last day of the month is where the date gap hurts most. Sales from the final evening, or the final weekend, will settle and deposit in the next month. Agree with finance in advance on how those are handled, and use the variance log to show them as timing differences rather than discrepancies.
Web sales deserve a separate look. Online orders arrive around the clock, so a larger share of them land near the settlement cutoff than desk sales do. If your web volume is high, reconcile web and onsite card payments as two groups; it makes stragglers easier to spot.
When the gap won’t close
If you’ve accounted for dates, fees, refunds, chargebacks, and non-card payments and a difference remains, look for a payment that appears in BBMS with no Altru record (an incomplete web transaction is a common suspect) or a duplicate entry in Altru. If neither explains it, open a case with Blackbaud support and give them the specific transaction amounts and dates; they can see processor-side detail you can’t.
Quick answers
Why doesn’t my daily BBMS total match the daily Altru total?
Usually because Altru reports by transaction date and BBMS deposits follow settlement and disbursement dates, which can be one or more days later and may be net of fees.
Should we reconcile daily or monthly?
Match deposits to transactions at least weekly. Waiting until month-end means chasing a month of cutoff and refund items at once.



