The December 2025 write-up is ready in `output/mbr-narrative.md`. The figures behind it are in `output/mbr.json`. The script's reconciliation checks passed, and every figure is copied from its output.

**December 2025**
- **Revenue slightly beat budget:** $827K against $824K, up $3K.
- **Operating income missed:** $8K against $13K, down $5K.
- **Gross margin caused the miss.** It was 26.1% against 26.8% budgeted, which made gross profit $5K short. Operating expenses were on budget.
- **Line drivers:** Cost of goods sold was $6K over budget. Other operating was also $6K over, but Technology came in $4K under, which offset most of it.

**Year to date**
- **The full year has the same margin problem:** 25.9% against 26.8%.
- **Revenue is the bigger gap:** $11,238K against $11,600K budget, $362K short.
- **Operating income** is $388K against $583K, down $195K.
- **Partial offset:** Cost of goods sold was $196K under budget.
- **Operating expenses** were on budget, $1K over.

**KPIs:** 4 of 8 are off target:
- Days sales outstanding: 51.2 against 45.0 target, off for 3 months.
- On-time delivery: 93.3% against 95.0%, off for 3 months.
- Active customers: 40 against 42, off for 2 months.
- Inventory turns: 5.33 against 6.50, off for 1 month.

Things to know before you send it:
- **Revenue fell $72K from November 2025** ($899K to $827K). That's the one month-on-month figure the script gives, but the narrative's fixed format has no section for it. Mention it out loud if leadership asks.
- **Cost of goods sold is $611K in the month table but $584K in the Drivers bullet.** The table total covers every cost-of-sales line, while the bullet is the single line called "Cost of goods sold." Someone comparing the two will probably ask about it.
- **The data doesn't show causes.** It doesn't explain why margin slipped or why DSO and on-time delivery have been off for three months. Answering that needs a breakdown of cost of sales by product or customer and receivables ageing. I haven't guessed at causes in the write-up.
- **Some rows don't add exactly as shown** because each amount is rounded separately. The data notes say so.