What's in it, what isn't, and how we check
Every number on this site comes from a government document you can open. This page says exactly how it gets from that document to here, and where the document itself falls short.
1 · What's in
Taxpayer-funded spending by Senate member offices, committees, leadership and officers, from the Report of the Secretary of the Senate (semiannual, 30 reports since April 2011), and by House offices from the Statement of Disbursements (quarterly CSVs since [placeholder]). Campaign and leadership-PAC spending, foreign delegation travel, privately sponsored travel and personal financial disclosures are separate records and come later.
Each parsed row keeps the PDF page index, the printed page label (B-661) and the bounding box of the text it was read from. Money is stored as integer cents with the sign as printed.
2 · What the Senate doesn't itemize Total only
The Senate prints line items for exactly three categories: travel, other contractual services and acquisition of assets. Payroll is printed as an abstract (name, title, dates, amount). Rent, supplies, printing, communications and utilities appear as a single total per office, with nothing beneath it.
So on this site a category stamped Total only has no rows to show, and a blank list under it means not visible, never zero. In the latest report, [placeholder] of Senate-wide spending sits in those three categories with no rows beneath it. The House CSVs itemize everything, which is one reason the two chambers are not directly comparable.
3 · How we check Inspected
No report is published until it reconciles to the totals it prints. For every office block, seven hard checks run:
| Check | What must hold | Blocks |
|---|---|---|
| funds_available | Authorization + supplementals + transfers − withdrawals = funds available | [placeholder] |
| category_sum | Category period amounts sum to the organization total | [placeholder] |
| items_vs_subtotal | Line items sum to their printed category subtotal | [placeholder] |
| subtotal_vs_summary | Printed subtotal equals the summary table's period amount | [placeholder] |
| itemized_without_subtotal | An itemized category in the summary has detail beneath it | [placeholder] |
| net_payroll_vs_classes | Payroll class subtotals sum to net payroll | [placeholder] |
| entries_vs_fulltime | Payroll entries sum to the full-time permanent subtotal | [placeholder] |
Two soft checks are recorded and never fail a block: the printed net-payroll line vs. the summary (adjustment timing, per the report's own notes), and a summary showing payroll with no abstract printed (interns, child-care contributions, reserves). Whole-report counts (blocks, lines, items, entries) are also compared to an independent survey of the PDF.
4 · Status by report
| Report | Blocks | Pass | Discrepancies | Status |
|---|---|---|---|---|
| Senate · Oct 2025 – Mar 2026 119sdoc6 | 1,161 | 1,156 | pair 2; unpaired 1; summary-only 1; payroll-abstract 1 | Published |
| Senate · Apr 2025 – Sep 2025 119sdoc5 | 1,105 | 1,094 | pair 2; summary-only 1; payroll-abstract 8 | Published |
| Senate · Oct 2024 – Mar 2025 119sdoc3 | 1,100 | 1,088 | summary-only 1; payroll-abstract 11 | Published |
| Senate · Apr 2024 – Sep 2024 118sdoc13 | 1,048 | 1,034 | pair 2; summary-only 3; payroll-abstract 9 | Published |
| Senate · Oct 2023 – Mar 2024 118sdoc11 | 1,036 | 1,007 | pair 2; within-office 2; unpaired 16; summary-only 1; payroll-abstract 8 | Published |
| Senate · Apr 2023 – Sep 2023 118sdoc8 | 1,075 | 1,045 | pair 2; within-office 2; unpaired 18; summary-only 3; payroll-abstract 4 | Published |
| Senate · Oct 2022 – Mar 2023 118sdoc2 | 1,072 | 1,066 | within-office 2; unpaired 2; payroll-abstract 2 | Published |
| Senate · Apr 2022 – Sep 2022 117sdoc14 | 1,038 | 1,030 | unpaired 4; summary-only 2; payroll-abstract 2 | Published |
| Senate · Oct 2021 – Mar 2022 117sdoc10 | 1,034 | 998 | unpaired 7; summary-only 1; payroll-abstract 28 | Published |
| Senate · Apr 2021 – Sep 2021 117sdoc8 | 1,066 | 1,050 | unpaired 13; summary-only 1; payroll-abstract 2 | Published |
| Senate · Oct 2020 – Mar 2021 117sdoc5 | 1,110 | 1,071 | unpaired 2; payroll-abstract 37 | Published |
| Senate · Apr 2020 – Sep 2020 116sdoc19 | 971 | 956 | within-office 2; unpaired 1; payroll-abstract 12 | Published |
| Senate · Oct 2019 – Mar 2020 116sdoc14 | 966 | 871 | unpaired 79; summary-only 1; payroll-abstract 15 | Published |
| Senate · Apr 2019 – Sep 2019 116sdoc10 | 899 | 875 | unpaired 1; payroll-abstract 23 | Published |
| Senate · Oct 2018 – Mar 2019 116sdoc2 | 897 | 863 | unpaired 1; payroll-abstract 33 | Published |
| Senate · Apr 2018 – Sep 2018 115sdoc9 | 754 | 723 | payroll-abstract 31 | Published |
| Senate · Oct 2017 – Mar 2018 115sdoc6 | 750 | 721 | payroll-abstract 29 | Published |
| Senate · Apr 2017 – Sep 2017 115sdoc5 | 784 | 750 | unpaired 1; payroll-abstract 33 | Published |
| Senate · Oct 2016 – Mar 2017 115sdoc2 | 782 | 746 | unpaired 1; payroll-abstract 35 | Published |
| Senate · Apr 2016 – Sep 2016 114sdoc17 | 760 | 738 | unpaired 1; payroll-abstract 21 | Published |
| Senate · Oct 2015 – Mar 2016 114sdoc13 | 760 | 730 | unpaired 2; payroll-abstract 28 | Published |
| Senate · Apr 2015 – Sep 2015 114sdoc7 | 768 | 724 | payroll-abstract 44 | Published |
| Senate · Oct 2014 – Mar 2015 114sdoc4 | 763 | 737 | payroll-abstract 26 | Published |
| Senate · Apr 2014 – Sep 2014 113sdoc25 | 701 | 669 | payroll-abstract 32 | Published |
| Senate · Oct 2013 – Mar 2014 113sdoc22 | 697 | 671 | payroll-abstract 26 | Published |
| Senate · Apr 2013 – Sep 2013 113sdoc17 | 735 | 702 | payroll-abstract 33 | Published |
| Senate · Oct 2012 – Mar 2013 113sdoc2 | 729 | 687 | payroll-abstract 42 | Published |
| Senate · Apr 2012 – Sep 2012 112sdoc10 | 702 | 671 | payroll-abstract 31 | Published |
| Senate · Oct 2011 – Mar 2012 112sdoc7 | 699 | 666 | payroll-abstract 33 | Published |
| Senate · Apr 2011 – Sep 2011 112sdoc4 | 742 | 699 | payroll-abstract 43 | Published |
| House · [placeholder] ([placeholder] quarters) | — | — | — | Loading |
A report is published when every failing check has a verdict: a discrepancy printed in the source, a parser defect (fixed before publishing), or unclassified (which blocks publication). The bar is zero unexplained blocks.
5 · Printed discrepancies, latest report
5 of 1,161 blocks have printed discrepancies.
In every case the PDF prints the numbers we read, confirmed by a second script that does not use the parser; these are discrepancies in the report, not in the parse.
6 · Staff names Name withheld
The Senate prints every staffer's name beside their title and pay. We publish titles, service dates and office totals. Names are kept internally for analysis (turnover, moves between offices, later lobbying registrations) and appear only where a confirmed lead depends on one, after the office has been asked for comment. Travel reimbursements to staff show as "Staff" for the same reason. The names are one click away in the original PDF; we don't pretend otherwise, we just don't index them.
7 · Where a model is involved Model · 0.97
Never for a dollar amount. Models suggest finer subcategories for free-text descriptions ("STAFF TRANSPORTATION SEATTLE TO WASHINGTON DC" → airfare), cluster vendor spellings, and propose office-to-member matches. Every such label is stored with the model, prompt version and confidence, shown beside the original text, and never used in a total. Fuzzy vendor merges and name matches stay suggestions until a person reviews them.
Detectors (peer outliers, reversals, trip reconstruction, calendar patterns) run across all offices and report base rates, so no one is singled out by how the search was aimed. A lead is a reason to look, not a finding; only confirmed leads are published, with their rows.
8 · Known issues
| Letter-spaced text | [placeholder] records in the latest report were printed with spaces between letters (G U IDEPOINT). They are flagged, repaired for display, and the raw spelling is kept. |
| Layout drift | Column positions and section labels change between years. Parser rules cover the 30 reports; every change re-runs against all of them. |
| Funding years overlap | An office appears once per funding year in each report, and amounts can adjust earlier years. Period totals on member pages add funding years together and say so. |
| House allowances | Share-of-allowance is available for the Senate (printed in each summary) but not yet for the House, whose allowances are published separately. |
9 · Changelog
| 2026-10-14 | Latest report, Oct 2025 – Mar 2026: 1,161 blocks, 32,618 line items, 8,990 payroll entries; 99.57% of blocks pass every hard check. |
| [date] | Senate backfill, 30 reports, zero unexplained blocks per report. |
| [date] | Site v1 launch. |