Returns & credits
Where pharmacy expired-stock dollars go to die.
Independent and institutional pharmacies routinely write off thousands of dollars per quarter in expired medication that could have been returned for credit — if the bottles had been pulled before the wholesaler's credit window closed. The fix isn't more inventory; it's better visibility into what's expiring and tighter discipline about pulling it on time.
The credit window, in plain English
All three major U.S. pharmaceutical wholesalers — Cardinal Health, McKesson, and AmerisourceBergen (now Cencora) — accept returns of expired or short-dated medication for credit, but only within a specific time window relative to the expiration date.
The exact window varies by wholesaler, contract terms, and product category, but a common structure looks like this:
- Saleable returns (still in date, full case, etc.) — accepted within 30 days of receipt for full credit.
- Short-dated returns — accepted from ~6 months before expiration through up to ~6 months after expiration, depending on contract. Often a sliding scale: full credit if pulled before expiration, partial credit if pulled within X months after.
- Long-expired returns — written off. No credit. The bottle is essentially worth its hazardous-waste disposal cost (negative).
The trap most pharmacies fall into is expecting the 30-day-pre-expiration alert from their PMS to do this work. Most retail pharmacy systems either don't surface expiration well at all, or use thresholds tuned for retail dispensing patterns (where you sell through the bottle before expiration most of the time). For inventory you're holding rather than dispensing fast, you need much earlier warning — typically 90 to 180 days out — to give yourself time to pull, inventory, generate a return manifest, and ship before the credit window starts shrinking.
What a return-credit workflow actually involves
- Identify expiring stock. Run a report (or look at a dashboard) of every bottle expiring within your target window. Volume varies — a typical 600-inmate jail pharmacy sees 20-40 bottles per month moving into the "should-pull-soon" zone.
- Pull from shelf. Physically gather the bottles. Mark them "pulled" in the inventory system so they don't show as available stock.
- Generate a return manifest. The wholesaler wants a CSV (or sometimes paper form) listing GTIN/NDC, lot, expiration, quantity, package size, and reason. Cardinal uses one format, McKesson another, ABC/Cencora another.
- Ship and reconcile. Box up the bottles, ship to the wholesaler's reverse-distribution address (or use their on-site pickup if your contract includes it), then reconcile the credit memo against the manifest 4-8 weeks later.
The manual version of this workflow takes roughly an hour per cycle for a small pharmacy and breaks down at scale. The automation that pays for itself is the first two steps: knowing what to pull, and recording it cleanly so the manifest writes itself.
How RxRescue handles the credit-window math
RxRescue's badge thresholds are configurable. The defaults are:
- Red badge: expires within 30 days. Urgent.
- Yellow badge: expires within 90 days. Plan the return now.
- Green badge: more than 90 days out. Routine.
Pharmacies running aggressive return-credit programs commonly bump these to 90/180. The thresholds are set per pharmacy in Settings → Display → Expiration thresholds, and the dashboard re-colors immediately.
The "Mark Pulled" action moves a bottle out of active inventory but keeps a permanent record of why and when, so when the wholesaler's credit memo arrives weeks later you can match it back to the original pull. The CSV credit-roster export takes one click and gives you exactly the columns the wholesaler ingests.
What this saves a real pharmacy
For an institutional pharmacy holding ~$30,000 in active stock with a typical 5% expiration rate per year, a system that catches 80% of expirations early enough for full credit (vs the 50% that's typical with manual processes) recovers about $450/year in credit. For a contractor running 10 sites that's $4,500/year — well above the $99/month per-site subscription cost, with the margin growing as the inventory base does.
The bigger value isn't the dollar recovery — it's the time saved on monthly shelf checks (typically 2-4 hours of nurse/tech time per pharmacy per cycle, compressed to 30-60 minutes when the dashboard tells you exactly where to look) and the audit-defensibility when a contractor or county asks "what happened to those bottles?"