Full-year revenue finished $362K (3.1%) under plan, and operating income finished $195K under plan. December was close to plan. The script reconciled the variances. The note is saved at `output/bva-note.md` and the figures at `output/bva.json`. Positive variances are favourable and bracketed ones are unfavourable.

**Full year**

| Line | Actual | Budget | Variance | % |
| --- | --- | --- | --- | --- |
| Revenue | $11,238K | $11,600K | ($362K) | (3.1%) |
| Cost of goods sold | $7,947K | $8,143K | $196K | 2.4% |
| Freight out | $377K | $348K | ($29K) | (8.3%) |
| **COGS total** | $8,324K | $8,491K | $167K | 2.0% |
| **Gross profit** | $2,914K | $3,109K | ($194K) | (6.3%) |
| Salaries and wages | $1,562K | $1,524K | ($38K) | (2.5%) |
| Rent and occupancy | $431K | $408K | ($23K) | (5.6%) |
| Marketing | $94K | $132K | $38K | 28.5% |
| Technology | $143K | $168K | $25K | 15.0% |
| Professional fees | $97K | $96K | ($1K) | (1.4%) |
| Depreciation | $79K | $78K | ($1K) | (1.5%) |
| Other operating | $120K | $120K | $0.1K | 0.10% |
| **Operating expenses** | $2,527K | $2,526K | ($1K) | (0.03%) |
| **Operating income** | $388K | $583K | ($195K) | (33.5%) |

Gross margin was 25.9% against a 26.8% budget, a variance of (0.9) pts.

**December**

| Line | Actual | Budget | Variance | % |
| --- | --- | --- | --- | --- |
| Revenue | $827K | $824K | $3K | 0.38% |
| Cost of goods sold | $584K | $578K | ($6K) | (1.0%) |
| Freight out | $27K | $25K | ($3K) | (10.8%) |
| **COGS total** | $611K | $603K | ($8K) | (1.4%) |
| **Gross profit** | $215K | $221K | ($5K) | (2.4%) |
| Salaries and wages | $128K | $128K | ($0.3K) | (0.25%) |
| Rent and occupancy | $34K | $34K | $0.2K | 0.50% |
| Marketing | $7K | $10K | $3K | 34.2% |
| Technology | $10K | $14K | $4K | 25.2% |
| Professional fees | $6K | $6K | ($0.3K) | (5.6%) |
| Depreciation | $7K | $7K | ($0.1K) | (1.5%) |
| Other operating | $16K | $10K | ($6K) | (59.5%) |
| **Operating expenses** | $208K | $208K | $0.4K | 0.21% |
| **Operating income** | $8K | $13K | ($5K) | (38.0%) |

December gross margin was 26.1% against 26.8%, a variance of (0.7) pts.

**Draft commentary**

- **Headline:** Revenue was $11,238K against a $11,600K budget, unfavourable by ($362K), or (3.1%). Operating income was $388K against $583K, unfavourable by ($195K), or (33.5%).
- **Revenue:** The miss came from three months: March at ($123K), July at ($132K) and August at ($105K). Every other month was within $7K of budget. The data doesn't show why, so the sales owner needs to explain those three months and say whether any of it was timing.
- **Cost lines:** Cost of goods sold was favourable by $196K, or 2.4%. Freight out was unfavourable by ($29K), or (8.3%), and reached its full-year variance in December. Logistics should confirm the cause.
- **Operating expenses:** Salaries and wages (($38K)) and Rent and occupancy (($23K)) ran over. Marketing ($38K favourable) and Technology ($25K favourable) offset them, which left Operating expenses on budget.
- **Reversal:** Professional fees peaked at ($31K) in March and ended the year at ($1K).
- **December:** Revenue was $3K favourable, but Operating income was ($5K) short. Other operating was ($59.5%) over, at ($6K), and is worth a question to its owner.

Two things to know before Thursday:
- **Rounding:** Each figure is rounded on its own, so the Gross profit and Operating income rows don't add exactly.
- **Source:** The input was `pnl_fy2025.csv`, 120 rows, sha256 `eaa52ac89e97`.