2026 Money · Sources and method
Financial analysis methodology
How filings were selected and reconciled, how records are linked, and what the figures do and do not include.
Data as of 2026-10-17. Figures cover campaign statements for periods through that date; coverage differs by committee.
Data coverage: the 2025 e-filed export was generated 2026-09-25; the 2026 e-filed export was generated 2026-10-27; the paper-filed statements were retrieved from the City's NetFile portal on 2026-09-30. Export generation times are the workbooks' own timestamps (portal side).
Statements cover periods through 2026-10-17. Later reported receipts come from Form 497 reports filed through 2026-10-23. The paper-filed Form 460 statements used here are filing 217038488 (received 2026-07-08) and filing 217534118 (received 2026-09-28) for committee 1482360, and filing 217503619 (received 2026-09-23) for committee NF-217503420; see Paper-filed statements below.
Filing selection
Filing selection — the highest amendment per filing, and the Form 497 post-period rule — is performed once, in an earlier processing step. These pages are computed only from that step's output and never re-read the raw NetFile exports.
A "filing" is one committee, one form type and one exact reporting period (committee ID, period start date and period end date) for Form 460, keyed across all schedule sheets and the Summary sheet together; a Form 497 report is keyed on the committee ID and the report number. Only the highest-amendment version of each filing is kept; every row of every superseded version is dropped. A Form 497 Part 1 row counts as a contribution only when its contribution date is strictly after the end date of the committee's latest kept Form 460; Part 2 rows are kept as outgoing information, never as incoming contributions.
Selection and accounting
Each selected filing is reconciled against its own Summary Page: monetary contributions are Summary/F460 line 1, reconciled to Schedule A itemized transactions plus its unitemized summary line. This reported measure can include loan forgiveness and is not necessarily entirely new cash. New loans and in-kind support remain separate. Payments use Summary/F460 line 6, reconciled to Schedule E itemized, unitemized and interest components. Ending cash comes directly from the latest summary. Current-year totals of e-filed committees also reconcile to the latest reported year-to-date amounts (see the year-to-date check under Standing rules).
Schedule G subvendor and Schedule D support detail are informational and never added again to payments. A Schedule D record is not assumed to be an independent expenditure merely because of its schedule. Loan balances and unpaid bills are amounts owed at a point in time, not sums across periods. The historical Protect Salinas accrued-expense mismatch remains withheld from affected balance analysis (see Standing rules below).
Form 497 receipts count separately only when dated after the committee's latest retained full statement. Reports without a full-statement cutoff cannot establish additional receipts.
Independent expenditures reported on Form 496 are a separate measure, attributed to the candidate named on the report and never added to that candidate's committee figures or to the spending committee's payments. Every row of the kept version of each Form 496 report counts once, memo rows excluded; the named candidate is matched to the roster by first and last name; the spending committee's Schedule D entries for the same expenditures are not added again, and each of them must match a Form 496 row. Contributions listed on Form 496 are not used. The position, support or oppose, is as reported, and the office shown is the roster office.
Each profile states the coverage dates of the exports overall and of the committees it covers. The export generation times are given under Data coverage above; download dates are not recorded, and no assertion is made that the City's NetFile exports used here include every filing currently available online. Missing candidate matches mean unavailable, not zero.
Paper-filed statements
Some committees file Form 460 on paper. A paper filing is not in the City's e-filed transaction export, so it is not part of the export-based processing. For Barrera for City Council 2026 (1482360) and Brenton Bagley for City Council 2026 (NF-217503420), the site adds supplemental summary data read from their paper-filed statements: filing 217038488 (Form 460, semi-annual statement, 2026-01-01 to 2026-06-30, received 2026-07-08); filing 217534118 (Form 460, pre-election statement, 2026-07-01 to 2026-09-19, received 2026-09-28); filing 217503619 (Form 460, pre-election statement, 2026-07-01 to 2026-09-19, received 2026-09-23).
- How they were read. The PDF copies from the City's NetFile portal are scanned images with no text layer. Two transcribers read each statement's Summary Page independently, and a third reading was compared with both. Only values on which every reading agrees are used; a value any reading disagrees with, or that a reading does not cover, is not used. The agreed values are kept in integer cents, with the page each value was read from. The one Schedule F page subtotal used here is not covered by the third reading; it rests on the two transcriptions plus a separate check reading.
- Provenance. For each filing the audit records the committee, the ID number printed on the form (if any), the reporting period, the City Clerk's received date, the portal address and the retrieval date, plus a SHA-256 checksum of each PDF copy that is checked on every run. A committee's ID here is the FPPC ID printed on its statements. Where a statement carries no ID number, the ID is the City's NetFile record number prefixed NF-, so it cannot be read as an FPPC ID. A name-only match in another system is not used as an ID.
- Same rules. The agreed values are turned into rows shaped like the export's Summary sheet and marked as paper-filed. The same measures then apply as for e-filed committees: monetary contributions are Summary line 1, column A, summed over the 2026 statements. In-kind support is line 4 and loans (net) are line 2, summed the same way. Payments are line 6. Ending cash is line 16 and outstanding debt is line 19, both from the latest statement. Itemized unpaid bills come from the Schedule F page subtotal (column d) when the form includes Schedule F; otherwise they are not established. A dash or blank on the form is never read as zero, except where the form's own column A arithmetic, with every other term a number, makes that line zero. Each such derivation is recorded. The form's own Summary Page arithmetic is checked. A column A failure would mark the statement as not reconciled and stop publication; column B (calendar year to date) and beginning-cash differences are filed-document observations, listed as INFO, and the affected profile says so without figures.
- Limits. Only Summary Page totals are used. No itemized contributor, payee, lender or treasurer name or amount is transcribed from a paper filing. The $500 naming threshold could not be applied without reading names, so the audit leaves them out. Figures that depend on itemized records (itemized and unitemized splits, gross loans, geography, top contributors, shared contributors) are not established for these committees, never zero. Later reported receipts are not established for them either: a late contribution report (Form 497) filed on paper would not appear in the City's e-filed export, so the e-filed Form 497 data cannot show that none was filed. Every page and table that shows one of these figures states that it was read from the committee's paper-filed Form 460 (filing ID and received date), not from the City's e-filed data.
Connections and privacy
People are linked only using the same normalized full name plus reported city and postal code, or substantive employer and occupation. Generic employment descriptions are insufficient. Organizations use mechanical spelling normalization and explicit committee IDs. Committee-to-committee links require an explicit ID or a unique mechanically normalized committee name. No fuzzy merges, ownership, family relationships, coordination, or donor motives are inferred. Sender and recipient reports are not added together as new money.
Individual donors are named only when their aggregate contributions meet this site's disclosure threshold for that recipient and year. Smaller donors are pooled; their identifying details are excluded from public transaction rows. Street addresses, email addresses and phone numbers are excluded. No private donors were researched online. Different spellings without sufficient identity evidence remain separate. In the downloadable data, the identity-evidence column lists the bases on which a person's records were linked anywhere in the exports, not only the records at the recipient shown.
In the downloadable data, transaction references list the committee, filing and version, transaction ID, and source workbook, sheet and row. Candidate associations use explicit committee candidate/election names and the official candidate roster; cover-statement verification remains pending. Profiles cover all discovered committees, including historical committees and committees without a current full statement.
Official interpretation sources
- State of California CAL format ↗: parent forms, schedule fields, amendment and transaction identifiers.
- FPPC Form 460 ↗: summary lines and schedule accounting.
- City candidate roster ↗: candidate names and offices.
Export completeness, unmatched filings and the historical accrued-expense reconciliation remain incomplete.
Presentation
Amounts on these pages and in the explorer are rounded to whole dollars (half-up); the downloadable data keeps exact integer cents. Ranking records include both beginning and ending coverage dates and reported Summary line 19 outstanding debt. Itemized Schedule F ending balances are labeled itemized unpaid bills, because unitemized obligations need not appear in transaction rows. Line 19 includes loans and accrued expenses and must not be added to those balances.
Missing schedule-summary components remain explicitly unavailable. For committee 1475742, absent A/C/E components have no corresponding schedule rows and the relevant F460 summary explicitly reports zero. Those parent-summary zeroes establish the headline figures; the derivation is recorded once per unavailable component, rather than treating absent records as reported zeroes. For e-filed statements, missing required values without this evidence stop processing; for paper-filed statements a value the form does not establish is shown as not established (see Paper-filed statements).
A separate review checks summary availability and Schedule F row identities. One historical Protect Salinas Schedule F transaction, on the 2025-01-01 to 2025-06-30 statement, reports a beginning balance of $3,000, $0 incurred, -$1,000 paid and a $0 ending balance, which leaves a row-balance discrepancy of about $4,000. This matches the existing net-change discrepancy; no correction is assumed. Affected historical balance conclusions remain withheld.
Standing rules
- Contributor and payee names are shown as reported; beyond the mechanical normalization described above, no name is altered, merged or dropped.
- Committee 1470558, statement 2025-01-01 to 2025-06-30, one Schedule F row: its unpaid-bill and line 19 balances stay withheld; the unresolved-check note appears only on committee 1470558's page.
- Candidates without a matched committee (Hezekiah Gonzalez, Jose Guerra) are shown as unavailable, never zero. Their profiles give the committee status found on the City's NetFile portal and Cal-Access on 2026-09-30, without figures. Since the 2026-09-30 refresh, Tony Barrera and Brenton Bagley are matched to the committees named on their paper-filed statements (see Paper-filed statements above).
- Individual naming: an individual contributor is named only if their total to one committee in one calendar year (monetary + in-kind + eligible later Form 497 receipts) is $500 or more; otherwise pooled, and pooled amounts stay in every total. A record naming several individuals jointly is split equally among them, so each named person must reach $500 on that equal share. Individual payees are named. The joint $500 Schedule A line to committee 1490549 stays withheld (pooled, names withheld).
- The as-of date is the latest statement end date across kept filings, computed from the data (currently 2026-10-17), and stated on every page.
- Year-to-date check: where a committee's latest 2026 statement reports a calendar-year-to-date amount (column B) that differs from the sum of its 2026 period amounts (column A), the period amounts are shown. The difference is listed in the verification record, and the committee's profile carries a note without figures. The same rule applies to e-filed and paper-filed statements.
Verification
Every figure was recomputed independently from the filings and checked before publication.
Download the data
The tables behind these pages, as CSV files (UTF-8, comma-separated, one header row). Each file keeps the exact values of the verified analysis.
- committees-2026.csv: one row per committee with a 2026 full statement: the figures in the results table and the funding breakdown.
- candidates-2026.csv: one row per candidate with a matched committee: the figures in the candidate table.
- statements.csv: one row per retained full statement (Form 460) of every committee: period totals, balances and the reconciliation result.
- donors-and-payees.csv: one row per reported party, committee, year and role: contributors, payees, lenders, in-kind support, later receipts, subvendors and other increases to cash, with pooled rows where names are withheld.
- shared-contributors.csv: one row per contributor reported by more than one committee in the same year, with each recipient.
How to read the files
- Columns ending in "_cents" hold amounts in cents: divide by 100 to get dollars. The pages round to whole dollars; the files keep exact cents.
- Dates use the ISO format, year-month-day.
- In statements.csv, "withheld" marks the unpaid-bill, accrued-expense and outstanding-debt balances of committee 1470558 for 2025-01-01 to 2025-06-30, because that statement did not reconcile. They are withheld, not zero.
- A pooled row ("AGGREGATED_PRIVATE_INDIVIDUALS" in party_id) combines individual contributors or lenders below the disclosure threshold for one committee and year. Their names are withheld; their amounts stay in every total.
- On pooled “names withheld” rows, the source_refs, first_date and last_date columns read withheld.
- Measures stay separate in the files too: contributions, later receipts, loans, in-kind support, payments, cash, unpaid bills and debt are never added together.
- On "paper_filing" rows, a blank amount cell means the paper-filed statement does not establish that figure; it is not zero.
Columns
| Column | File | Meaning |
|---|---|---|
| name, office | candidates-2026.csv | Candidate name and office as listed on the City candidate roster. |
| Filer_ID | committees-2026.csv, candidates-2026.csv, statements.csv, donors-and-payees.csv | Committee ID, as assigned in the City records. |
| names, latest_name | committees-2026.csv, candidates-2026.csv | Every committee name reported under the ID (a JSON list), and the name on its latest statement. A name is not a position statement. |
| from_date, thru_date | committees-2026.csv, candidates-2026.csv, statements.csv | Start and end of the statement coverage. |
| source | committees-2026.csv, candidates-2026.csv, statements.csv | Where the figures come from: "efile" (the City's e-filed export) or "paper_filing" (summary totals read from a paper-filed Form 460 statement). |
| paper_filing_ids | committees-2026.csv, candidates-2026.csv | On "paper_filing" rows, the City filing IDs of the paper-filed statements in the row, separated by semicolons; blank otherwise. |
| paper_filing_id | statements.csv | On "paper_filing" rows, the City filing ID of the paper-filed statement; blank otherwise. |
| filing_id | statements.csv | Committee ID, form, period start and period end, joined by vertical bars. |
| version, filed_date | statements.csv | Amendment number of the retained version (000 is the original) and the date it was filed. |
| monetary_cents | committees-2026.csv, candidates-2026.csv, statements.csv | Monetary contributions (line 1), including unitemized amounts. |
| itemized_cents, unitemized_cents | committees-2026.csv, candidates-2026.csv, statements.csv | Itemized and unitemized monetary contributions. |
| reported_monetary_ytd_cents, reported_payments_ytd_cents | statements.csv | Calendar-year-to-date contributions and payments as reported on the statement. |
| reported_total_contributions_cents, total_expenditures_cents | statements.csv | Total contributions and total expenditures as reported on the statement. |
| in_kind_cents | committees-2026.csv, candidates-2026.csv, statements.csv | In-kind (non-monetary) contributions, kept separate from monetary contributions. |
| loans_received_cents | committees-2026.csv, candidates-2026.csv, statements.csv | New loans received (Schedule B1), gross. |
| loans_net_change_cents | committees-2026.csv, candidates-2026.csv, statements.csv | Loans received net of repayments and forgiveness (line 2). |
| payments_cents | committees-2026.csv, candidates-2026.csv, statements.csv | Payments made (Schedule E summary), including unitemized payments and loan interest. |
| itemized_payments_cents | committees-2026.csv, candidates-2026.csv, statements.csv | Itemized payments. |
| unitemized_payments_cents, loan_interest_paid_cents | statements.csv | Unitemized payments and loan interest paid. |
| cash_cents | committees-2026.csv, candidates-2026.csv, statements.csv | Ending cash (line 16) at the end of the coverage. |
| unpaid_bills_cents | committees-2026.csv, candidates-2026.csv, statements.csv | Itemized unpaid bills (Schedule F ending balances) at the end of the coverage. |
| net_accrued_cents | statements.csv | Accrued expenses (unpaid bills) reported on line 9 for the period. |
| outstanding_debts_cents | committees-2026.csv, candidates-2026.csv, statements.csv | Total outstanding debt (line 19), which includes loans and unpaid bills. |
| missing_component_basis | statements.csv | Schedules with no rows whose zero is established by the Summary Page (blank when none). |
| status, failed_checks | statements.csv | Reconciliation result: "RECONCILED", or "CHECK_FAILED" with the check that did not reconcile; "PAPER_SUMMARY_CHECKED" for a paper-filed statement whose own Summary Page arithmetic was checked. |
| monetary_ytd_match, payments_ytd_match | committees-2026.csv, candidates-2026.csv | "True" when the 2026 totals match the latest reported year-to-date amounts. |
| late_post_period_cents | committees-2026.csv, candidates-2026.csv | Later receipts: eligible Form 497 contributions dated after the latest full statement, kept separate. Blank (not established) on "paper_filing" rows. |
| individual_itemized_cents, organization_itemized_cents | committees-2026.csv, candidates-2026.csv | Itemized monetary contributions from individuals, and from organizations and committees. |
| salinas_itemized_cents, outside_itemized_cents, unknown_itemized_cents | committees-2026.csv, candidates-2026.csv | Itemized monetary contributions by reported postal code: Salinas, other, and unknown. |
| itemized_contributor_groups | committees-2026.csv, candidates-2026.csv | Number of matched contributor groups among itemized contributions. |
| top5_itemized_cents, top5_share_basis_points | committees-2026.csv, candidates-2026.csv | Itemized contributions from the five largest matched contributor groups, and their share of itemized contributions in hundredths of a percent (divide by 100 for a percentage). |
| year | donors-and-payees.csv, shared-contributors.csv | Calendar year of the records. |
| role | donors-and-payees.csv | What the row records: "monetary_contribution", "payment", "loan_received", "in_kind", "late_receipt", "subvendor_detail", "misc_cash_increase", "unpaid_balance", "support_detail" or "late_outgoing_report". |
| party_id, party_name | donors-and-payees.csv, shared-contributors.csv | The matched party and its name as reported; "AGGREGATED_PRIVATE_INDIVIDUALS" marks a pooled row. |
| reported_entity_codes | donors-and-payees.csv | Entity codes reported on the filings, such as "IND" for an individual. |
| amount_cents, record_count | donors-and-payees.csv | Amount for the row and the number of filing records in it. |
| first_date, last_date | donors-and-payees.csv | Earliest and latest transaction dates in the row; they read "withheld" on pooled rows. |
| identity_evidence | donors-and-payees.csv | How records were matched to one party: "person_city_zip" (same full name, city and postal code), "person_employer_occupation" (same full name, employer and occupation), "organization_mechanical" (same organization name after spelling normalization), "committee_id" (same committee ID), "NO_MERGE_RECORD_SPECIFIC" (records not merged) or "PRIVACY_AGGREGATE" (pooled row). |
| reported_committee_ids | donors-and-payees.csv | Committee IDs reported for the party, when it is a committee. |
| source_refs | donors-and-payees.csv, shared-contributors.csv | Where each record comes from: committee, filing, version, transaction ID and the row in the export workbook. |
| recipient_count, total_cents, recipients | shared-contributors.csv | Number of recipient committees, the sum of the listed amounts, and each recipient committee ID with its amount (a JSON list). |
About these numbers
- Each 2026 figure is its own measure. The 2026 figures are not added together, within a committee or across committees.
- Unavailable (not zero): Shown when a figure could not be established from the filings used here, such as when no committee was matched to a candidate or a committee has no 2026 full statement. It does not mean zero dollars.
- Names withheld: individual contributors below the disclosure threshold are pooled into one row. Pooled amounts remain in funding totals.
- Loans, in-kind support and contributions reported after a committee’s last full statement are shown separately from monetary contributions.
- Reports filed after the export date may be missing. Check the City’s NetFile portal for newer filings.
- Positions of ballot-measure committees are as their filings or the City’s portal state them. They are not endorsements by Transparent Salinas.
Sources and method
Figures come from campaign statements that committees filed with the City of Salinas, as exported from its NetFile portal. Each measure is kept separate, and amounts are rounded to whole dollars.