How the funding receipt works.
Every candidate on PublicReceipt gets a funding receipt: the money their campaign actually raised, read straight from public campaign-finance filings and itemized like a store receipt. We don't score candidates, rank them, or predict who wins. We show you who paid for the campaign — and let you read it.
For the June 2, 2026 primary that means California state races (Governor, State Senate, State Assembly) and Los Angeles City committees. Every number on a receipt traces to a filed report.
Raised for this race.
The headline number is the money raised into the committee clearly named for this office in this cycle — e.g. "Jane Doe for Assembly 2026". It counts itemized contributions to that primary campaign committee, deduplicated to each filing's latest amendment so a re-filed report never double-counts.
Many candidates also control other committees — ballot-measure leadership PACs, officeholder accounts, future-office exploratory committees. We show that wider fundraising footprint as its own section, because large sums flowing into non-electoral vehicles still reveal where the institutional attention is. The two surfaces answer different questions and we never silently merge them.
Small, medium, and large money.
Every itemized contribution is sorted into one of three tiers by gift size. The mix is descriptive, not a grade: a campaign funded mostly by small gifts looks different from one funded by maxed-out donors, and the receipt shows you which without telling you which is better.
| Tier | Gift size | What it signals |
|---|---|---|
| Small donors (under $500) | < $500 | Many individual citizens — the hardest money to coordinate or trade on. |
| Medium donors ($500–$999) | $500–$999 | Still mostly individuals, giving at a level that takes intent. |
| Large donors ($1,000+) | $1,000+ | Maxed-out individuals, PACs, unions, and firms — the concentrated end. |
Tier shares are computed against the primary committee's itemized total. California only requires public itemization for contributions of $100 or more, so money raised entirely below that threshold isn't in the filings — and isn't in the mix. That's a property of the disclosure law, not a judgment about the candidate; we flag it wherever it matters.
How donor interests are classified.
On each CA-2026 primary candidate's receipt and in the "by interest" view of the primary field, we report which named interests fund the campaign — building trades, real estate, healthcare, tribal governments, and so on. The headline number is "X% from named interests, excluding self-funding". It's narrower than total dollars raised. Here's exactly what it counts and what it doesn't.
What "named interests" means.
Money from PACs, unions, trade associations, tribal governments, and firms whose industry is identifiable from the public record. Almost every large contribution to a California campaign comes from an entity whose name encodes its interest — "California Teamsters Public Affairs Council", "Consumer Attorneys of California PAC", "Sheet Metal Workers Local Union 104", "Pechanga Band of Luiseno Indians". Those classify cleanly into 19 sector categories using a published keyword ruleset.
What it doesn't capture, by design.
Individual donors — people writing personal checks — would in principle be classifiable by industry through their disclosed employer and occupation. In practice we see those records fail in two distinct ways, and we merge both into a single "unattributable individuals" row on the candidate receipt:
- Not disclosed. Roughly 85% of individual gifts in Cal-Access carry no employer or occupation. State law requires it for gifts above the itemization threshold, but in practice the field is left blank, marked "N/A", or filled with non-information like "Retired" or "Homemaker" that gives no industry signal.
- Disclosed but unmatched. The remaining ~15% do provide an employer or occupation, but it's a small business or job title with no recognizable sector — "Self-employed", "Consultant", a one-off LLC. The classifier won't guess.
Both cases sit in the same merged row on the receipt; the underlying derived JSON preserves the split for anyone who wants to audit it. Either way they're excluded from the "% from named interests" headline. This is the most important caveat: for a grassroots candidate whose money is mostly small individual gifts, the headline will be relatively low not because no interests are involved, but because the individual-donor industry data simply isn't there to attribute.
Self-funding is also excluded from the headline. When a candidate loans or donates millions to their own campaign, that money tells you about the candidate's wealth, not about which outside interests have a stake. We show self-funded dollars as their own row but compute the named-interest share as a percentage of non-self-funded money.
How the classification actually works.
Two passes over the donor name, employer, and occupation strings: first an ordered keyword ruleset (specific sub-sectors like "building trades" are checked before generic union keywords; teachers/nurses are their own buckets), then a curated override map for closely-held LLCs and individual "affiliated entities" we've classified by hand. The rules + overrides currently classify about 94% of identifiable organizational dollars across the 122 candidates. The residual is small businesses and shell entities where attribution would require per-name research.
Every dollar in the bar is real — the computed totals reconcile to
each committee's filed total_raised at 100% across all
122 candidates. We restrict to primary candidate committees and apply
the same cycle-attribution rules the underlying Cal-Access pipeline
uses: 2026-cycle receipts for state-legislature committees, which
persist across cycles; all receipts for "for Governor 2026"
committees, which are cycle-locked by name.
Scope and what's next.
Coverage is currently the 122 California 2026 primary candidate committees (Governor + State Senate + State Assembly), built from the California Secretary of State's Cal-Access bulk export. The same classifier extends to federal FEC data and to outside / independent expenditure spending — those are the natural follow-ups. Outside spending is the bigger transparency gap: it often dwarfs direct contributions and isn't shown in this view yet.
Pipeline: docs/working/gov-interest-prototype/ ·
classifier classify_gov_donors.py + curated overrides.json · derived JSON data/california/derived/ca_2026_donor_interests.json.
What the receipt isn't.
- It's not a score or a prediction. There is no rating, no probability, no ranking of "good" vs. "bad" candidates. The receipt is the candidate's own money, grouped. Any judgment about what the mix means is yours to make.
- Outside spending isn't shown yet. Independent expenditures by super PACs and other groups — money a candidate can't legally control — often dwarf direct contributions. It isn't folded into these receipts. We'd rather surface it explicitly than fold it in silently, and that's a follow-up, not a part of the launch view.
- Sub-$100 money is invisible. California itemizes only contributions of $100 or more. Candidates funded entirely by smaller gifts can show $0 in our data and fall into the "Also on the ballot" list — present on the ballot, absent from the filings. That's a disclosure-law gap, not a measure of viability.
- It measures funding, not ideology. The receipt tells you who funded a campaign, not what the candidate believes or how they'd vote. Two candidates with similar funding mixes may hold opposite positions.
Where every number comes from.
-
California Secretary of State · Cal-Access campaign finance →
sos.ca.gov · Cal-Access raw data export
Every itemized contribution to every California state committee is a public filing. We read the official bulk export directly — no third-party aggregator.
-
California Secretary of State · Certified List of Candidates →
sos.ca.gov · June 2, 2026 primary
The official roster of who is actually on the ballot. It scopes every receipt to certified candidates and backs the "Also on the ballot" list for those with no itemized filings.
-
Los Angeles City Ethics Commission · contributions →
ethics.lacity.org · campaign finance data
Monetary contributions to LA City committees (2019+), read from the City's open-data portal and grouped the same way as the state receipts.
Civic transactions deserve receipts.
PublicReceipt makes civic transactions readable. The electoral receipt is the first; more will follow over time.