I built the FY2025 revenue bridge and wrote the commentary note. FY2025 revenue was $11,238K against $11,243K in FY2024, a change of ($5K), or (0.04%). The script's check that the bridge adds up to FY2025 passed to the cent.

| Step | Amount |
| --- | --- |
| FY2024 | $11,243K |
| Timing | $53K |
| Loss | ($1,288K) |
| Decline | ($443K) |
| Upsell | $1,211K |
| New | $463K |
| FY2025 | $11,238K |

- **Offsetting movements:** Revenue was nearly flat because upsell ($1,211K) and new customers ($463K) offset the loss of 4 customers. Fenwick Legal ($686K) and Birchway Foods ($503K) account for most of that loss.
- **Rounding:** Each figure is rounded on its own, so the rows don't add exactly to the FY2025 total. The note says so.
- **Cause of the losses:** The data shows the revenue left but not why. I didn't name a cause.

Files are in `/tmp/spb-revenue-bridge-fy25-claude-rvvvjdjk/output/`:
- `bridge-note.md`
- `bridge.json`