The December 2025 review deck is built in the standard template: **`output/IS_MBR_2025-12.pptx`**.

Build script output:
> December 2025 deck: 6 slides, 74 figures, every one from a source. Wrote output/IS_MBR_2025-12.pptx and output/deck.json

I wrote the slide content in `output/slide-map.json`, and the script laid it out using the house colours, fonts and footer. The six slides are:

1. **Title:** December 2025 Monthly Business Review.
2. **Headline:** operating income was $8K against a $13K budget, a variance of ($5K), though revenue beat budget at $827K. Year to date, operating income is ($195K) against budget. 4 of 8 KPIs are off target.
3. **P&L vs budget:** five rows, with the rounding note underneath.
4. **KPI scorecard:** all 8 KPIs in the scorecard's order.
5. **Drivers:** Other operating ($6K), Cost of goods sold ($6K), Technology $4K for the month, and Revenue ($362K) for the year to date.
6. **Watch list:** Days sales outstanding and On-time delivery percent have each been off target for 3 months, Active customers for 2 and Inventory turns for 1.

Some figures look inconsistent across slides. They come straight from the source files and I haven't changed them, but you may want to check them before this goes out:

- **Gross margin:** the P&L slide shows 26.1% against a 26.8% budget, (0.7) pts. The KPI slide marks the same 26.1% "on target" against a 26.0% target. The scorecard target clearly isn't the budget figure.
- **Cost of goods sold:** the P&L cost subtotal shows a ($8K) variance for the month, but the "Cost of goods sold" line on the Drivers slide shows ($6K). For the year to date the two are $167K and $196K. The subtotal probably includes another cost line, but the files don't say which.
- **Opex percent of revenue:** 25.1% against 25.3% shows a variance of 0.1 pts. The scorecard says this is because each figure is rounded separately.