A report is only as good as the reconciliation behind it
An FEC report is a summary — total raised, total spent, a list of itemized contributions. Behind that summary sits a much less visible question: does every dollar the report claims was raised actually trace back to a specific bank deposit, and does every deposit trace back to specific, identifiable donors? When that tracing is solid, a report review is routine. When it isn't, a routine review turns into a Request for Additional Information, or worse, an audit.
This page describes how bank statements and payment platform payout reports are read and matched against each other, so that reconciliation — usually the least visible, most time-consuming part of compliance work — happens as a matter of course rather than a scramble before a filing deadline.
Why campaign bank reconciliation is harder than it looks
Money arrives through several channels at once
Checks, direct bank transfers, and lump-sum payouts from online platforms all land in the same account, each needing a different reconciliation approach.
A single bank deposit can represent hundreds of contributions
A platform like ActBlue or WinRed batches many individual donations into one daily payout — the bank statement shows one line, not the donors behind it.
Compliance data and bank data are kept in different systems
The compliance database (often NGP VAN or similar) records what donors gave; the bank records what actually arrived — the two are supposed to agree, but nothing forces them to.
The reporting period and the bank statement period rarely align exactly
FEC reporting periods run on their own calendar, cutting across bank statement cycles, which makes a clean month-to-month reconciliation the exception rather than the rule.
None of these four points is unusual — it's simply how modern campaign fundraising works. But together they mean a bank statement glanced at once a month is nowhere near enough to confirm that the compliance system and the bank actually agree.
What this doesn't decide
Doesn't determine whether a contribution is legal
It reconciles the bank record against the contribution record. Whether a specific contribution is prohibited, excessive, or from an impermissible source is a legal determination for your compliance team.
Doesn't file your FEC report
It produces a reconciled, sourced dataset — the actual filing through NGP VAN, CampaignDeputy or FEC eFiling remains a separate step.
Doesn't resolve a genuinely unmatched deposit on its own
Where a bank deposit can't be tied to any known contribution batch, it's flagged for your review rather than guessed at.
Where this fits alongside NGP VAN, ActBlue and WinRed
Most campaigns already run on an established software stack: a compliance and CRM system like NGP VAN to record donors and generate the FEC report itself, and a donation-processing platform — ActBlue on the Democratic side, WinRed on the Republican side — to actually collect online contributions. Neither of these systems is built to answer one specific question well: does the money the compliance system says came in actually match, dollar for dollar, what landed in the bank account.
That gap is exactly what this fills — not a replacement for the compliance system that generates the report, and not a replacement for the platform that processes donations, but the reconciliation layer that checks the bank statement against both of them before the report goes out the door.
What gets read
| Field | Source |
|---|---|
| Deposit date and amount | Bank statement |
| Donor name, address, occupation, employer | Payout report or compliance export |
| Individual contribution amount and date | Payout report or compliance export |
| Batch/payout reference number | Bank statement and payout report, matched together |
Four categories of data, read from whatever documents a campaign already has on hand — no pre-arranged integration with any specific bank or platform required.
Batch deposits from a payment processor
A platform like ActBlue or WinRed typically deposits contributions in a batch — one bank transfer per day or per payout cycle, representing the sum of every individual donation processed in that window, minus processing fees. The bank statement shows a single line; the platform's own payout report shows the individual contributions that add up to it.
Reconciling a batch deposit means reading both documents and confirming that the sum of the itemized contributions in the payout report, less the disclosed processing fee, equals the deposit amount on the bank statement. When it doesn't — a common cause is a fee miscalculation or a contribution that was refunded after the payout report was generated — the discrepancy is surfaced specifically, not buried in a rounding assumption.
Occupation and employer, the field that triggers RFAIs
Federal law requires a committee to make a best effort to obtain and report a donor's occupation and employer for any individual whose contributions exceed $200 in aggregate for the election cycle. In practice, this is one of the single most common reasons the FEC sends a committee a Request for Additional Information — a donor field left blank, or filled with something too vague to count as compliant, on an otherwise correct contribution.
Because this gap is easy to miss inside a large itemized contribution list and expensive to fix after a report has already been filed, it's treated as its own flagged category during reconciliation — every itemized contribution above the threshold is checked for a present, usable occupation and employer field, not just for a matching dollar amount.
How it works
Upload the bank statement and payout reports
The period you want reconciled, from the bank and from any donation platforms used.
Every deposit and contribution is read
Amount, date and donor detail extracted from each document's own structure.
Deposits are matched to their underlying contributions
Batch payouts broken down and checked against the sum of individual donations.
Gaps are flagged, not filled in
Missing occupation/employer fields, unmatched deposits and amount discrepancies surfaced for review.
Exported
Excel, CSV or JSON, with every contribution traceable to its source deposit.
A month of fundraising, reconciled
A House candidate committee raises money through direct checks and a steady stream of ActBlue online contributions over a reporting month, then reconciles the full period at once.
| Category | Result |
|---|---|
| ActBlue batch payouts matched to contribution detail | 22 of 22 |
| Direct check deposits matched to compliance records | 14 of 15 |
| Itemized contributions missing occupation/employer | 6, flagged |
| Unmatched bank deposit | 1, flagged for review |
The unmatched check deposit turns out to be a contribution entered in the compliance system a day after the bank actually processed it — a timing gap resolved in minutes once flagged, rather than surfacing as an unexplained discrepancy during a report review weeks later.
Contribution limits and aggregation
Federal contribution limits apply per election, per donor, and are indexed for inflation each two-year cycle — an individual can give up to the limit for a primary and, separately, up to the limit again for a general election. Tracking a donor's aggregate giving across a full election cycle, not just within a single reporting period, is what determines whether a later contribution pushes them over the line.
Reconciliation surfaces the aggregate figure a compliance reviewer needs — every contribution from a given donor, across every reconciled period, rolled up into one running total — without making the legal determination of whether a specific total is compliant. That judgment, and any refund or redesignation it requires, stays with the campaign's treasurer or counsel.
In-kind contributions and their own reporting rules
Not every contribution arrives as cash through the bank account — a donated venue, discounted printing, or volunteer-provided professional services above a certain value are in-kind contributions, valued at fair market value and reported alongside cash contributions, but with no corresponding bank deposit to reconcile against.
Because in-kind contributions don't appear on a bank statement, they're read from whatever documentation a campaign maintains for them separately — an invoice, a donated-services acknowledgment — rather than assumed to be covered by the bank reconciliation process at all.
Keeping in-kind contributions clearly separated from the cash-based reconciliation, rather than blended into it, also makes each type of contribution easier to audit on its own terms — a cash total that ties to bank deposits, and an in-kind total that ties to its own supporting documentation, checked independently rather than forced into a single combined figure.
Manual vs. automatic
| Manual | Automatic |
|---|---|
| Payout reports and bank statements compared by eye | Every deposit matched to its contributions automatically |
| Missing occupation/employer caught only at filing review | Flagged during reconciliation, well before a report is due |
| A batch deposit accepted at face value | The batch broken down and its sum verified against the deposit |
From a local race to a federal campaign
A city council race with a handful of donors and one bank account can be reconciled in an afternoon by hand. A congressional campaign running multiple fundraising channels, hundreds of transactions a month, and a treasurer juggling reporting deadlines alongside everything else on a campaign calendar faces a fundamentally different volume problem — not a harder task in kind, just one that stops fitting into the time actually available.
Reading every deposit and contribution the same way regardless of volume keeps the reconciliation effort proportional to what actually needs a human decision — the flagged exceptions — rather than growing linearly with every additional donor and every additional bank transaction.
Who this is for
Campaign treasurers
A reconciled bank record ready for report review, without a manual line-by-line match every filing period.
Compliance consultants and firms
The same reconciliation process applied consistently across multiple campaign clients.
PAC and party committee finance staff
Bank deposits matched to contribution records regardless of committee type.
Bookkeepers supporting political clients
A structured, sourced dataset handed off to the treasurer instead of a raw bank statement.
Candidate committees, PACs, and party committees
A candidate committee, a political action committee, and a state or national party committee all file different forms with different reporting requirements — Form 3 for candidate committees, Form 3X for PACs and party committees, among others — but each one rests on the same underlying obligation: every dollar reported has to be traceable to an actual bank record.
Because the reconciliation task itself doesn't depend on which form eventually gets filed, the same process applies whether the entity is a single-candidate committee running its first race or an established PAC managing contributions across many candidates at once.
Why grounding every number in a bank record matters
A compliance system that reports what donors are supposed to have given, without independently confirming it against what the bank actually received, is trusting its own input data by definition. A data-entry error, a donation that bounced, or a contribution recorded twice can sit undetected in that system indefinitely, since nothing forces a cross-check against the bank record unless someone does it deliberately.
Reconciling against the bank statement — the one record in the whole chain that reflects what actually happened, not what was supposed to happen — is what catches these errors before an FEC reviewer does, which is a meaningfully better position for a campaign to be in.
This principle holds regardless of how sophisticated a campaign's compliance system is — even the most carefully configured system is only as accurate as the data entered into it, and no amount of software polish substitutes for an independent check against the one document that can't be argued with.
Get started with your first bank statement
Upload one real bank statement, with or without an accompanying payout report, to see how the reconciliation works — no signup required to try it.
Security and privacy
Uploads are encrypted with TLS from end to end.
Processing runs on infrastructure with SOC 2-aligned controls.
Original documents are deleted shortly after processing.
Nothing you upload is ever used to train AI models.
For a bank statement and donor records carrying sensitive financial and personal information, that matters — full details are on the security page.
This is worth taking seriously beyond the obvious — donor address and employer information is exactly the kind of personal detail campaigns have a responsibility to handle carefully, independent of any FEC reporting obligation.
