# Bellingham Phase 2 — Money Flow & Entity Graph

*August 28, 2026. Layers 1 (money) and 3 (connected orgs) of the full-organization view, plus the first visualization. Follows phase1-ingestion-report.md.*

## New datasets (bellingham/data/)

| File | Contents |
|---|---|
| `fund_lines.csv` | All 43 funds × line item (FY2025 prelim / FY2026 adopted): revenues by category, expenditures by category, reserves — operating and capital sections separately |
| `fund_dept_matrix.csv` | General Fund expenditures by department (5-year columns) |
| `fund_responsibility.csv` | Fund → managing department mapping (from Budget Overview) |
| `department_narratives.jsonl` | Full narrative text for all 17 department sections (missions, goals, accomplishments) — the raw material for the service catalog |
| `capital_summary.csv` | 2026 capital + 2027–2031 plan, by department and by fund |
| `entity_graph.json` | 14 nodes, 15 edges: every government Bellingham is wired to, dollar-weighted where documented |

**Validation:** fund parse reconciles to the budget's own citywide totals within $20K on $544.3M (0.004%) for both revenues and expenditures; General Fund matches exactly ($128,958,506 operating / $0 capital); capital summary matches the printed total to the dollar ($155,858,743) *and* independently cross-checks the fund parse's citywide capital figure. New parsers: `tools/parse_bellingham_funds.py`, `parse_bellingham_departments.py`, `build_bellingham_entity_graph.py`.

## The visualization

**`bellingham/city-overview.html`** — self-contained (no external dependencies), light/dark theme-aware, hover tooltips, table fallbacks. Four views:
1. All 43 funds by 2026 expenditure, colored by fund type
2. 1,120 FTEs by department, stacked by bargaining unit
3. 2026 capital by department (hover: 2027–31 plan)
4. The entity graph — edge width ∝ dollars

View locally: `python3 -m http.server --directory "City Comparison" 8741` → `/bellingham/city-overview.html` (a launch config exists in the Quicken folder's .claude/launch.json as `city-comparison-static`).

## What the money layer shows

- **2026 all-funds budget: $544.3M** ($388.4M operating, $155.9M capital) against $505.2M revenue — a planned $39M reserve drawdown from $194.6M beginning reserves.
- **The General Fund is only 24% of the city.** Enterprise funds (wastewater $58.6M, water $34.0M, storm $26.4M, Medic One $15.2M, watershed, parking, golf, cemetery, development services) plus internal service funds carry most of the spend — same utilities-dominance pattern as Blaine.
- Personnel = $174.1M citywide (salaries $126.9M + benefits $47.1M incl. capital-charged labor) — about 45% of operating spend.
- Capital is dominated by Public Works: transportation $35.3M, water/sewer $33.8M, remediation $27.2M — plus the $10.5M What-Comm dispatch building and $8.2M library renovation.

## What the entity graph shows

Bellingham is a **net regional service seller**, not just a consumer of county services — the reverse of the typical suburb (and the mirror image of Spokane Valley):
- **Medic One:** the city runs county-wide ambulance service; ~$14.1M/yr flows in (county EMS sales tax + transport fees, fund 470).
- **Dispatch:** the city operates both county 911 centers (What-Comm police + Prospect fire/EMS); member agencies pay ~$10.9M/yr (fund 160), and a new $10.5M dispatch building is under construction.
- **Fire District 8** pays the city for fire/EMS service (ILA 2016-0336; $1.2M in 2021) — the relationship the proposed 2027 Regional Fire Authority would formalize into a new entity.
- Money in from higher governments: ~$48.8M state+federal via street/remediation/storm grants, $5.8M HUD entitlements, $5.2M General Fund shared revenues.
- **PFD** (Bellingham-Whatcom Public Facilities District) is the city's one discrete component unit, budgeted as fund 965 (~$3.6M).
- Joint programs without direct budget lines: Port waterfront redevelopment ILA (2013), Lake Whatcom Management Program with the county and LWWSD ($60.1M 2020–24 workplan).
- Overlapping-but-separate: school district, WTA (transit), PUD 1, county library system.

This quantifies the "seams" thesis: roughly **$30M/yr of the city's revenue is other governments paying it to run shared services**, with the cost-allocation, billing, and governance overhead that implies — and the RFA vote would be a live entity-graph mutation moving ~182 fire FTEs out of the city.

## Known gaps / next steps

- ACFR on cob.org stops at 2021 — newer entity-graph dollars (esp. FD8 payments) need the SAO filing or a newer ACFR.
- Interlocal agreement texts themselves not yet collected (RCW 39.34 makes them public); would put precise current dollars and governance terms on each edge.
- Department narratives are extracted but not yet mined — they're the input for the Layer-2 service catalog (next phase).
- Revenue detail by individual source (property tax levy, each utility tax) lives in narrative pages 25–51; only fund-level categories parsed so far.
