How to Reconcile Matching-Gift Submissions in 2026
A matching gift is money your organization has already earned. A donor gave $250, told their employer to match it, and somewhere in a corporate CSR portal a second $250 sits in a queue waiting to be paid to you. The problem is almost never whether the match exists. It is connecting the employer's eventual payment — which arrives weeks or months later, in a batch, under a name like "Benevity Disbursement" or "YourCause ACH" — back to the donor and pledge that triggered it. That reconciliation gap is where matching-gift revenue quietly dies.
This guide is about closing that gap. Not the donor ask (that is acquisition, a different problem), but the back-office step that comes after: an employer or matching-gift platform sends you a lump payment, and you have to break it apart, match each line to a donor record, post it to the right fund, and confirm nothing was promised but never paid. Done by hand it is one of the most error-prone tasks in a development shop. Done as a rules-driven workflow it becomes a same-week close with a clean audit trail. Below is how to build it — the data, the matching logic, a worked example, the benchmarks, and an honest section on when not to automate at all.
Key Takeaways
The hard part of matching gifts is not the ask — it is reconciling a delayed, batched employer payment back to the donor and pledge that earned it.
A reconciliation workflow ingests the platform disbursement file, matches each line by donor identity and amount, posts to the correct fund, and flags exceptions for a human.
Unmatched matching-gift payments most often fail on donor-identity mismatches (work email vs. personal email) and timing gaps between pledge and payout.
Expect to recover real revenue: organizations that reconcile promptly capture matches that otherwise age out and get written off.
Automation earns its place when monthly match volume crosses roughly 30–50 transactions; below that, a disciplined spreadsheet still wins.
TL;DR: Pull the matching-gift platform's disbursement report, match each payment line to a donor and pledge using identity plus amount plus date-window rules, auto-post clean matches to the right fund, and route only the genuine exceptions to a human. The win is moving from a months-long, error-prone manual chase to a same-week reconciliation that captures revenue you already earned.
Matching gift reconciliation, in one sentence: the process of connecting an employer's matching payment back to the specific donor gift that triggered it, so the funds post accurately and no earned match is lost.
Why matching-gift money goes uncollected
The matching-gift opportunity is enormous and the realization rate is poor — and that gap is mostly an operations problem, not a generosity problem. The scale is striking: according to Double the Donation (2024), an estimated $4–7 billion in matching-gift funds goes unclaimed each year. An estimated $4–7 billion in matching gifts goes unclaimed yearly. Those dollars are pledged by employers and never collected, largely because the back-office mechanics break down.
The mechanics break down in a predictable place. A donor's gift and the employer's match are two separate transactions on two timelines through two channels. The donor gift hits your processor today. The match arrives 30 to 120 days later, bundled with dozens of other matches, in a single ACH from a platform like Benevity, YourCause/Blackbaud, or Millie. By the time that batch lands, the staff member who logged the original gift may not even remember it. And the volume is real: according to America's Charities (2023), corporate matching programs pay out roughly $2–3 billion annually. Corporate matching gifts pay out roughly $2–3 billion annually. A meaningful share of what reaches your bank account never gets matched to a donor record at all — it sits in an "unidentified deposits" suspense account.
Here is the part that compounds the loss. The eligible base is huge — according to a 360MatchPro program study (2024), roughly 65% of Fortune 500 companies offer a matching-gift program. Roughly 65% of Fortune 500 firms offer matching gifts. That means the eligible base is huge, but each program has its own portal, payment cadence, and remittance format. There is no universal standard for how a match is reported back to you. One platform sends a CSV with donor email; another sends a PDF with only employer name and total. Without a reconciliation process that normalizes these inputs, every employer becomes a separate manual project, and the smallest matches — the ones not worth a 40-minute investigation — get abandoned.
| Where matching-gift revenue leaks | Typical cause | Recoverable with reconciliation? |
|---|---|---|
| Match pledged, never paid | Employer's deadline lapsed before submission completed | Partially — flag and follow up before deadline |
| Match paid, never matched to donor | Disbursement line couldn't be tied to a donor record | Yes — identity + amount matching |
| Match posted to wrong fund | Restricted vs. unrestricted mis-coded at intake | Yes — fund-routing rules |
| Match double-counted | Manual entry duplicated the platform's report | Yes — dedup on transaction ID |
| Match aged into suspense | No one reconciled within the fiscal close window | Yes — scheduled reconciliation cadence |
Who this is for
This workflow fits a development or finance operation that has crossed from "occasional matches" into "steady, batched matching-gift income." Concretely: a nonprofit with annual revenue above roughly $1.5M, an active workplace-giving channel, a donor database like Salesforce Nonprofit Cloud, Bloomerang, Virtuous, or Raiser's Edge NXT, and at least one matching-gift platform (Benevity, YourCause, Millie, Groundswell) feeding disbursements. The pain that sends people looking is a growing "unidentified deposits" line and a finance team that dreads month-end because matching gifts never tie out cleanly.
If that is you, a reconciliation workflow built in US Tech Automations ingests each platform's disbursement file, normalizes the columns, and matches every payment line to a donor and pledge before it reaches a human — turning a multi-day chase into a review queue. The same pattern generalizes across donor operations on the agentic workflow platform.
Who this is NOT for — Red flags: Skip this if you process fewer than ~30 matching-gift transactions a month, if your stack is paper checks and a single shared spreadsheet, or if annual revenue is under $500K and one person already handles every gift by hand. At that scale the automation overhead costs more than the matches you would recover.
When NOT to use US Tech Automations: If your entire matching-gift flow runs through one platform that already auto-syncs disbursements into your CRM with reliable donor matching — a tightly integrated Benevity-to-Salesforce connector your team trusts — adding a reconciliation layer is redundant; use the native integration. Likewise, if you only need to send the matching-gift ask after donors give, a dedicated tool like Double the Donation's plugin does that one job well and cheaply. Reconciliation automation earns its keep specifically when payments arrive from multiple sources in inconsistent formats and must be tied back manually.
The five-step reconciliation workflow
Reconciliation is not one action; it is a short pipeline with a clear input, rule, and hand-off at each step. The goal is to let the machine handle the 80–90% of lines that match cleanly and route only the genuine ambiguities to a person.
| Step | What happens | Decision rule | Output |
|---|---|---|---|
| 1. Ingest | Pull the disbursement report from each platform | New file detected or scheduled date reached | Normalized payment line items |
| 2. Identify | Resolve each payment line to a donor | Email, name + employer, or platform donor ID | Donor record match (or "unidentified") |
| 3. Match | Tie the payment to a specific pledge/gift | Amount within tolerance + date window | Linked match transaction |
| 4. Post | Record the match to the correct fund | Original gift's fund designation | Posted GL/CRM entry |
| 5. Resolve | Route exceptions to a human | Any line that failed steps 2–4 | Exception queue with context |
Step 1 — Ingest the disbursement report. Every platform produces a periodic remittance — Benevity's "Causes Portal" detail, YourCause's transaction export — as CSV, XLSX, or PDF. The ingestion step watches for the new file (inbox rule, API call, or scheduled pull) and parses it into normalized line items: payer, amount, transaction ID, donor identifier, remittance date. Platform disbursement files commonly arrive in 6 or more distinct column formats across the major providers, so normalization is the first real work.
Step 2 — Identify the donor. This is where most reconciliation fails. The match arrives under the donor's work email or just name plus employer, while your CRM keyed them on their personal email. The identity step runs a cascade — exact platform donor ID, then exact email, then fuzzy name-plus-employer, then a confidence score — and marks anything below threshold "unidentified" rather than guessing.
Step 3 — Match to the pledge or gift. A donor can have multiple gifts. The match step ties the payment to the specific original gift using amount (within a small tolerance for partial matches and rounding) and a date window — the match should post-date the gift, usually within 30–120 days. There is an accounting reason to be exact: according to AICPA guidance on contribution accounting (2023), conditional contributions should be recognized only once 100% of the gift's barriers are met — making gift-to-match linkage a recognition issue, not just data hygiene.
Step 4 — Post to the correct fund. If the original gift was restricted to a scholarship fund, the match inherits that restriction. The posting step reads the source gift's fund designation and writes the match to the same fund in your CRM and GL, preventing the common error of dumping matches into unrestricted revenue.
Step 5 — Resolve exceptions. Whatever did not match cleanly — unidentified payers, amount mismatches, matches with no source gift — lands in a review queue with full context, so a human spends time only on the ambiguous 10–20%.
A worked example
Consider a mid-sized arts nonprofit running its monthly close. In June it receives a single Benevity ACH disbursement of $18,420 covering 47 matched donations, plus a YourCause file with 12 more. By hand, a development associate would spend most of two days breaking these apart. Instead, the workflow ingests both files on a schedule, and when the Benevity webhook fires its donation.disbursed event, the automation pulls the line-level detail and begins matching. Of the 47 Benevity lines, 41 match cleanly: donor email resolves to a CRM record, the amount sits within the $0.01 rounding tolerance of a gift logged 38 days earlier, and the source gift's fund routes each match correctly. The remaining 6 land in the exception queue — 4 used a work email not on file, 1 was a partial match (the employer caps at $5,000), and 1 had no findable source gift. The associate clears all 6 in under 20 minutes, recovering a $1,000 match that would otherwise have aged into suspense and been written off. Net result: a two-day close becomes a 90-minute review, and $18,420 posts to the correct funds the same week it arrives.
How automation compares to the manual close
The honest comparison is not "automation is faster." It is where the time goes and which errors each approach catches. A spreadsheet is viable at low volume; it just does not scale and has no memory of what failed last month.
| Dimension | Manual spreadsheet | Native CRM connector | Reconciliation workflow |
|---|---|---|---|
| Setup time | ~0 hours | 4–8 hours (1 platform) | 1–3 days (all platforms) |
| Cost to run | Staff time only | Often included in CRM | Platform fee + setup |
| Platforms supported | 1 at a time, manual | Usually 1 | 3–5+ normalized |
| Match rate (clean lines) | ~70–85% | ~85–95% (1 source) | ~85–90% across sources |
| Exception visibility | Buried in tabs | Limited | 100% in 1 queue |
| Days to reconcile | 14–30 | 5–10 (1 source) | 2–5 |
| Recovers aged matches | Rarely | Sometimes | Flags before write-off |
The columns are not a verdict; they are a fit guide. A single-platform shop with a strong native connector may never need a separate reconciliation layer. The workflow earns its cost when payments arrive from several platforms in inconsistent formats and the native connectors cover only one. The finance and accounting automation overview covers the same posting-and-exception pattern applied to invoices and payments.
Benchmarks: what good reconciliation looks like
Hold your process to numbers, not vibes. The targets below reflect published nonprofit-operations research and the realistic ceiling of a rules-plus-review workflow.
| Metric | Manual baseline | Reconciliation target | Why it matters |
|---|---|---|---|
| Days to reconcile a disbursement | 14–30 days | 2–5 days | Aged matches get written off |
| Clean auto-match rate | 70–85% | 85–90% | Less human time per batch |
| Unidentified deposits aging >90 days | Common | Near zero | Direct revenue recovery |
| Match captured vs. pledged | 60–75% | 90%+ | The whole point |
| Staff hours per 100 matches | 8–12 hrs | 1–2 hrs | Frees development capacity |
The payoff is measurable: according to industry operations benchmarks (2024), prompt reconciliation lifts match capture from roughly 60–75% to 90% or more. Prompt reconciliation lifts match capture to 90%+. The single biggest lever inside that number is timing — matches have employer-set deadlines, and a match not reconciled before its deadline simply expires. And the constraint is well documented: according to the National Council of Nonprofits (2023), limited back-office capacity is the primary revenue-operations constraint for at least 50% of small and mid-sized organizations — exactly the capacity a reconciliation workflow returns.
Common mistakes that cost matches
Keying donors only on personal email. Employer matches almost always carry the donor's work email. If your identity logic doesn't cascade to name-plus-employer, those lines go unidentified.
Posting all matches to unrestricted. A match inherits the restriction of the gift that earned it. Dumping matches into general revenue misstates your restricted funds and can create audit findings.
No tolerance on amount matching. Rounding, partial caps, and processor fees mean the match rarely equals the gift to the penny. A zero-tolerance exact match sends clean lines to the exception queue and wastes review time.
Reconciling only at fiscal year-end. Matches have deadlines that fall mid-year, so an annual cadence guarantees some expire before you ever look at them. Reconcile every disbursement cycle.
Trusting the platform total without line detail. A summary deposit can be right while individual lines are wrong. Reconcile at the line level or you will double-count and mis-fund.
Decision checklist: are you ready to automate this?
Run down this list before you build anything. If you check most of the left column, automate. If you check most of the right, stay manual a while longer.
| Automate when... | Stay manual when... |
|---|---|
| 30+ matching transactions per month | Fewer than ~15 per month |
| Payments from 2+ platforms/formats | Single platform, single format |
| A growing unidentified-deposits balance | Suspense account stays near zero |
| CRM + GL you can write to via API | Records live only in spreadsheets |
| Restricted funds that matches must respect | All revenue is unrestricted |
| Staff time is the binding constraint | A volunteer handles it in an afternoon |
When the left column wins, the build itself is straightforward: a routed workflow in US Tech Automations connects to each disbursement source, applies the identity-and-amount matching rules above, posts clean lines automatically, and surfaces only exceptions — and you can scope the pricing to your monthly match volume rather than a flat enterprise tier. Teams that also run donor reactivation and pledge-fulfillment flows tend to wire those alongside reconciliation; see the related recipes on pledge-fulfillment reminders by donor and lapsed-donor reactivation appeals, and the parallel pattern in restricted-fund disbursement reconciliation.
Glossary
| Term | Plain definition |
|---|---|
| Matching gift | A second donation an employer makes to match an employee's gift to your nonprofit. |
| Disbursement | A batched payment from a matching-gift platform covering many donors' matches at once. |
| Reconciliation | Tying each payment line back to the donor and gift that earned it, then posting accurately. |
| Unidentified deposit | Money received that hasn't yet been matched to a donor record; sits in a suspense account. |
| Remittance detail | The line-level report that accompanies a disbursement, listing each donor and amount. |
| Fund designation | The restricted or unrestricted bucket a gift — and its match — must be posted to. |
| Match tolerance | The small dollar range within which an amount still counts as a match (rounding, caps, fees). |
| Exception queue | The review list of payment lines that failed automated matching and need a human. |
Frequently asked questions
How long should matching-gift reconciliation take?
A single disbursement should reconcile within 2–5 business days of arrival, versus the 14–30 days a manual process often takes. Speed matters because employer matches carry deadlines, and a match not reconciled before its window closes is typically lost. The workflow clears the clean 85–90% of lines automatically so staff review only the genuine exceptions, which compresses the timeline.
Why do so many matching-gift payments go unidentified?
Most unidentified payments fail on donor identity, not on missing data. The employer match arrives under the donor's work email or just their name and company, while your CRM keyed them on a personal email — so an exact-email match misses. The fix is a cascading identity rule: try the platform donor ID, then exact email, then fuzzy name-plus-employer, and only mark a line "unidentified" when confidence stays below threshold. Timing gaps between gift and payout compound this when staff can no longer recall the original donation.
Can I just use my CRM's native matching-gift connector instead?
Often yes, if all your matches come through one platform that your CRM integrates with reliably. A native Benevity-to-Salesforce or YourCause-to-Blackbaud connector can handle single-source reconciliation well. The case for a separate reconciliation workflow is multi-source: when payments arrive from several platforms in inconsistent formats and your native connector only covers one of them, you need a normalization-and-matching layer above the connectors. Don't add complexity you don't need.
How do I avoid posting matches to the wrong fund?
Make the match inherit the source gift's fund designation automatically. The reconciliation step reads the original gift's restriction — scholarship fund, capital campaign, unrestricted — and posts the match to that same fund rather than defaulting everything to general revenue. Mis-funding matches is a common audit finding because it overstates unrestricted income and understates restricted balances, so this should be a rule, never a manual judgment call.
What's the realistic recovery from reconciling matches promptly?
Organizations that reconcile every disbursement cycle commonly move match capture from roughly 60–75% of pledged matches to 90% or more, because they catch matches before employer deadlines and stop letting payments age into suspense and get written off. The exact dollar figure depends on your volume, but for any nonprofit with steady workplace-giving income the recovered revenue typically dwarfs the cost of the workflow — this is money already earned, not new fundraising.
Do small nonprofits need this, or is a spreadsheet fine?
A disciplined spreadsheet is genuinely fine below roughly 15–30 matching transactions a month. The break-even is when per-batch matching time plus revenue lost to aged matches exceeds the cost of automating. A growing unidentified-deposits balance and matches from multiple platforms in different formats is the signal to build the workflow.
Putting it together
Matching-gift revenue is unusual: you don't have to raise it, you have to not lose it. The losing happens in one specific, fixable place — the reconciliation step where a delayed, batched employer payment has to be tied back to the donor and gift that earned it. Build that step as a real workflow — ingest, identify, match, post, resolve — and the clean 80–90% of lines clear themselves while your team handles only the exceptions that need judgment.
Start small. Normalize one disbursement file from your highest-volume platform and prove the matching on a single batch. Once the clean-match rate holds above 85%, add the next platform. The endpoint is a same-week close where every match posts to the right fund and the unidentified-deposits line trends to zero. To scope it against your monthly match volume, start on the pricing page.
About the Author

Helping businesses leverage automation for operational efficiency.
Related Articles
From our research desk: sealed building-permit data across 8 metros, updated monthly.