Four of 8 KPIs missed target in December 2025. Two of them have missed for 3 months running: days sales outstanding and on-time delivery. The scorecard matches the P&L for revenue, gross margin percent and opex percent.

| KPI | Actual | Target | Variance | Status | Months off |
| :-- | --: | --: | --: | :-- | --: |
| Revenue | $827K | $824K | $3K | on target | 0 |
| Gross margin percent | 26.1% | 26.0% | 0.1 pts | on target | 0 |
| **Days sales outstanding** | 51.2 | 45.0 | (6.2) | off target | **3** |
| **On-time delivery percent** | 93.3% | 95.0% | (1.7) pts | off target | **3** |
| Order fill rate percent | 97.6% | 97.0% | 0.6 pts | on target | 0 |
| Active customers | 40 | 42 | (2) | off target | 2 |
| Inventory turns | 5.33 | 6.50 | (1.17) | off target | 1 |
| Opex percent of revenue | 25.1% | 25.3% | 0.1 pts | on target | 0 |

Source: kpis_fy2025.csv, pnl_fy2025.csv

**Note**
- **Days sales outstanding** was 51.2 days against a target of 45.0 days; months off target: 3. It went from 48.6 in November to 51.2 in December. For the credit owner: which customers' overdue balances are holding receivables up, and when will they be collected?
- **On-time delivery** was 93.3% against a target of 95.0%; months off target: 3. It slipped (0.4) pts from November. For the operations owner: which carriers, sites or product lines account for the late orders, and what is the recovery plan?
- **Active customers** have been off target for 2 months, at 40 against 42. **Inventory turns** missed for the first time, at 5.33 against 6.50. One miss is not yet a trend.
- **Rounding:** each figure is rounded separately. Opex percent of revenue shows a 0.1 pts variance even though the rounded actual and target are 0.2 pts apart.

Files are in `output/`:
- scorecard-note.md
- scorecard.json