Perfect. The full-year budget vs actual commentary for the operating review is ready:

## Headline

YTD 2025 revenue was $11.2M against a $11.6M budget, unfavourable by ($362K), or (3.1%); operating income $388K against $583K, unfavourable by ($195K), or (33.5%).

## Results

| Measure | Actual | Budget | Variance |
| --- | --- | --- | --- |
| Revenue | $11.2M | $11.6M | ($362K) |
| COGS | $8.3M | $8.5M | $167K |
| Gross profit | $2.9M | $3.1M | ($194K) |
| Gross margin | 25.9% | 26.8% | (0.9) pts |
| Operating expenses | $2.5M | $2.5M | ($649) |
| Operating income | $388K | $583K | ($195K) |

## Month

December 2025 revenue was $827K against a budget of $824K, a favourable $3K. Operating income was $8K against $13K, an unfavourable ($5K).

## Drivers

- Revenue shortfall concentrated in Q3: July ($132K), August ($105K), and March ($123K) account for $360K of the full-year $362K miss.
- Salaries and wages exceeded budget by ($38K) or 2.5% across the year, outpacing revenue decline.
- Freight out climbed ($29K) or 8.3% above plan despite lower volumes, suggesting increased per-unit logistics costs.
- Cost of goods sold came in $196K favourable despite revenue miss, indicating favourable mix or procurement gains offset the top-line shortfall.

## Data notes

pnl_fy2025.csv, 120 rows, sha256 `eaa52ac89e97`