← Back to 2026 Money
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-09-19. Figures cover campaign statements for periods through that date; coverage differs by committee.

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 also reconcile to the latest reported year-to-date amounts.

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.

Each profile states the coverage dates of the exports overall and of the committees it covers. Download dates are unknown; 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.

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

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. Missing required values without this evidence stop processing.

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

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.

How to read the files

Columns

Columns
ColumnFileMeaning
name, officecandidates-2026.csvCandidate name and office as listed on the City candidate roster.
Filer_IDcommittees-2026.csv, candidates-2026.csv, statements.csv, donors-and-payees.csvCommittee ID, as assigned in the City records.
names, latest_namecommittees-2026.csv, candidates-2026.csvEvery committee name reported under the ID (a JSON list), and the name on its latest statement.
from_date, thru_datecommittees-2026.csv, candidates-2026.csv, statements.csvStart and end of the statement coverage.
filing_idstatements.csvCommittee ID, form, period start and period end, joined by vertical bars.
version, filed_datestatements.csvAmendment number of the retained version (000 is the original) and the date it was filed.
monetary_centscommittees-2026.csv, candidates-2026.csv, statements.csvMonetary contributions (line 1), including unitemized amounts.
itemized_cents, unitemized_centscommittees-2026.csv, candidates-2026.csv, statements.csvItemized and unitemized monetary contributions.
reported_monetary_ytd_cents, reported_payments_ytd_centsstatements.csvCalendar-year-to-date contributions and payments as reported on the statement.
reported_total_contributions_cents, total_expenditures_centsstatements.csvTotal contributions and total expenditures as reported on the statement.
in_kind_centscommittees-2026.csv, candidates-2026.csv, statements.csvIn-kind (non-monetary) contributions, kept separate from monetary contributions.
loans_received_centscommittees-2026.csv, candidates-2026.csv, statements.csvNew loans received (Schedule B1), gross.
loans_net_change_centscommittees-2026.csv, candidates-2026.csv, statements.csvLoans received net of repayments and forgiveness (line 2).
payments_centscommittees-2026.csv, candidates-2026.csv, statements.csvPayments made (Schedule E summary), including unitemized payments and loan interest.
itemized_payments_centscommittees-2026.csv, candidates-2026.csv, statements.csvItemized payments.
unitemized_payments_cents, loan_interest_paid_centsstatements.csvUnitemized payments and loan interest paid.
cash_centscommittees-2026.csv, candidates-2026.csv, statements.csvEnding cash (line 16) at the end of the coverage.
unpaid_bills_centscommittees-2026.csv, candidates-2026.csv, statements.csvItemized unpaid bills (Schedule F ending balances) at the end of the coverage.
net_accrued_centsstatements.csvAccrued expenses (unpaid bills) reported on line 9 for the period.
outstanding_debts_centscommittees-2026.csv, candidates-2026.csv, statements.csvTotal outstanding debt (line 19), which includes loans and unpaid bills.
missing_component_basisstatements.csvSchedules with no rows whose zero is established by the Summary Page (blank when none).
status, failed_checksstatements.csvReconciliation result: "RECONCILED", or "CHECK_FAILED" with the check that did not reconcile.
monetary_ytd_match, payments_ytd_matchcommittees-2026.csv, candidates-2026.csv"True" when the 2026 totals match the latest reported year-to-date amounts.
late_post_period_centscommittees-2026.csv, candidates-2026.csvLater receipts: eligible Form 497 contributions dated after the latest full statement, kept separate.
individual_itemized_cents, organization_itemized_centscommittees-2026.csv, candidates-2026.csvItemized monetary contributions from individuals, and from organizations and committees.
salinas_itemized_cents, outside_itemized_cents, unknown_itemized_centscommittees-2026.csv, candidates-2026.csvItemized monetary contributions by reported postal code: Salinas, other, and unknown.
itemized_contributor_groupscommittees-2026.csv, candidates-2026.csvNumber of matched contributor groups among itemized contributions.
top5_itemized_cents, top5_share_basis_pointscommittees-2026.csv, candidates-2026.csvItemized 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).
yeardonors-and-payees.csv, shared-contributors.csvCalendar year of the records.
roledonors-and-payees.csvWhat 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_namedonors-and-payees.csv, shared-contributors.csvThe matched party and its name as reported; "AGGREGATED_PRIVATE_INDIVIDUALS" marks a pooled row.
reported_entity_codesdonors-and-payees.csvEntity codes reported on the filings, such as "IND" for an individual.
amount_cents, record_countdonors-and-payees.csvAmount for the row and the number of filing records in it.
first_date, last_datedonors-and-payees.csvEarliest and latest transaction dates in the row.
identity_evidencedonors-and-payees.csvHow 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_idsdonors-and-payees.csvCommittee IDs reported for the party, when it is a committee.
source_refsdonors-and-payees.csv, shared-contributors.csvWhere each record comes from: committee, filing, version, transaction ID and the row in the export workbook.
recipient_count, total_cents, recipientsshared-contributors.csvNumber of recipient committees, the sum of the listed amounts, and each recipient committee ID with its amount (a JSON list).

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.