v0.1.19 — near-expiry batch report
near-expiry report
GET /api/v1/reports/near-expiry?days=N (default 30) — per-batch list of stock expiring soon or already expired, sorted by expiry ascending (most urgent first). Tenant-scoped; active batches with stock>0. Each row: product_id, product_name, batch_id, batch_code, expiry_date, stock, days_to_expiry (signed; negative = expired), expired.
Operationally critical for CL pharmacies — expiring stock is money lost. Closes BACKLOG #9 partial (margins/rotation/ABC remain).
Additive, no migration. Reuses the proven sales-daily report pattern.
MSI
pharma-server-0.1.19-x86_64.msi — 12,177,408 bytes
sha256: a00a40c66da826adffa256fc8458f958a0800cb3ba1a48d998a9d709309c7166
Smoke-verified on Windows: MajorUpgrade over v0.1.18, service Running, / reports {"version":"0.1.19"}, /health/ready 200 db:ok.
🤖 Generated with Claude Code