{
    "name": "Pharmacy Stock Expiry Calculator",
    "url": "https://calculators.geekmidst.com/calculators/pharmacy-stock-expiry-calculator",
    "markdown": "https://calculators.geekmidst.com/calculators/pharmacy-stock-expiry-calculator.md",
    "category": "Healthcare operations",
    "description": "Estimate how much of a medicine’s stock will expire before it is used, its value, and the daily usage needed to clear it before the expiry date.",
    "summary": "Stock at risk is whatever you hold beyond what you will use before the expiry date: units on hand minus daily usage × days left.",
    "also_called": [
        "Short-dated stock calculator"
    ],
    "applies_to": "Worldwide",
    "last_updated": "2026-10-29",
    "computation": "Results are computed in the visitor’s browser on the HTML page. This API describes the calculator; it does not compute results.",
    "inputs": [
        {
            "name": "on_hand",
            "label": "Units on hand (this batch)",
            "type": "number",
            "default": "500",
            "unit": "units"
        },
        {
            "name": "daily_usage",
            "label": "Average daily usage",
            "type": "number",
            "default": "12",
            "unit": "units/day"
        },
        {
            "name": "days_to_expiry",
            "label": "Days until expiry",
            "type": "number",
            "default": "30",
            "unit": "days"
        },
        {
            "name": "unit_cost",
            "label": "Cost per unit",
            "type": "number",
            "default": "2.40"
        },
        {
            "name": "currency",
            "label": "Currency",
            "type": "currency",
            "default": "USD"
        }
    ],
    "outputs": [
        {
            "key": "units_at_risk",
            "label": "Units likely to expire",
            "format": "number"
        },
        {
            "key": "value_at_risk",
            "label": "Value at risk",
            "format": "currency"
        },
        {
            "key": "units_used_before_expiry",
            "label": "Units used before expiry",
            "format": "number"
        },
        {
            "key": "share_at_risk",
            "label": "Share of stock at risk",
            "format": "percent"
        },
        {
            "key": "usage_needed",
            "label": "Daily usage needed to clear the batch",
            "format": "number"
        },
        {
            "key": "days_to_use_up",
            "label": "Days to use up at current usage",
            "format": "number"
        }
    ],
    "formula": {
        "text": "Used before expiry = min(On hand, Daily usage × Days to expiry);  At risk = On hand − Used before expiry;  Value at risk = At risk × Unit cost",
        "variables": {
            "On hand": "units in the batch that expires",
            "Daily usage": "average units dispensed per day",
            "Days to expiry": "days left before the expiry date"
        }
    },
    "worked_example": {
        "inputs": {
            "on_hand": "500",
            "daily_usage": "12",
            "days_to_expiry": "30",
            "unit_cost": "2.40",
            "currency": "USD"
        },
        "steps": [
            "Usable before expiry = 12 × 30 = 360 units.",
            "At risk = 500 − 360 = 140 units (28% of the batch).",
            "Value at risk = 140 × 2.40 = 336."
        ],
        "result": "At 12 units a day, 140 of the 500 units (worth 336) are likely to expire unless usage rises to about 16.7 a day."
    },
    "interpretation": "Act on at-risk stock early: transfer it to a site that uses more, return it if the supplier allows, or make sure it is dispensed first (first-expiry, first-out). Then lower the par level for that item.",
    "assumptions": [
        "This batch is used first (first-expiry, first-out).",
        "Usage stays at the average entered until the expiry date."
    ],
    "limitations": [
        "Other batches of the same product that would be used first are not considered.",
        "Supplier return or credit policies are not included."
    ],
    "rules": null,
    "faqs": [
        {
            "question": "How do I count days until expiry?",
            "answer": "Count from today to the expiry date on the pack. If the label shows only a month, many products expire at the end of that month; check the product rules."
        }
    ],
    "sources": [],
    "related": [
        {
            "name": "Medical Inventory Reorder Calculator",
            "url": "https://calculators.geekmidst.com/calculators/medical-inventory-reorder-calculator"
        },
        {
            "name": "Medication Days Supply Calculator",
            "url": "https://calculators.geekmidst.com/calculators/medication-days-supply-calculator"
        },
        {
            "name": "Date Difference Calculator",
            "url": "https://calculators.geekmidst.com/calculators/date-difference-calculator"
        }
    ],
    "disclaimer": null,
    "publisher": "GM¹X CalcVerse"
}