Blog / MarkupRx
NADAC vs. PBM Reimbursement: Why Pharmacies Lose Money on Generic Fills
TL;DR
NADAC and MAC are two different prices from two different sources. NADAC (National Average Drug Acquisition Cost) is the federal benchmark for what a generic costs you to buy — survey-based, public, refreshed weekly by CMS. MAC (Maximum Allowable Cost) is the ceiling your PBM will reimburse — set from its own proprietary list, on its own schedule. When a PBM’s MAC falls below NADAC, every fill is a loss — and the first step to recovering it is measuring the gap.
Two numbers that determine your margin on generics
Every time you dispense a generic drug, two numbers determine whether you make money or lose it:
- Your acquisition cost — what you paid your wholesaler per unit
- Your reimbursement rate — what your PBM's MAC pays per unit
When the reimbursement rate falls below the acquisition cost, every fill on that NDC is a loss. The pharmacy absorbs the difference out of pocket.
The federal government publishes a weekly benchmark for acquisition costs: the National Average Drug Acquisition Cost (NADAC). It tracks what pharmacies across the country actually pay wholesalers, surveyed weekly by CMS. It is your most authoritative, publicly verifiable reference for what a drug should cost to dispense.
NADAC vs. MAC: at a glance
NADAC is an estimate of what a drug costs a pharmacy to buy — survey-based, published openly by CMS, and refreshed weekly. MAC(Maximum Allowable Cost) is the ceiling a PBM will reimburse you for a multi-source generic — set from the PBM’s own proprietary list, rarely disclosed in full, and updated on the PBM’s schedule. They are produced by different parties for different purposes, which is exactly why they drift apart.
| NADAC | MAC | |
|---|---|---|
| What it represents | Estimated national average acquisition cost | Maximum a PBM will pay for a generic |
| Who sets it | CMS (federal) | Each PBM (private) |
| Source | Survey of pharmacy invoice prices | PBM’s proprietary methodology |
| Public? | Yes — published openly | No — disclosed only in limited ways, often on appeal |
| Update cadence | Refreshed weekly | Set by the PBM (state law often requires every 7 days) |
| Anchored to your cost? | A national-average proxy for cost | No — it’s a payer-set ceiling |
This isn’t a fringe problem. In December 2025, CVS Caremark agreed to pay about $5.08 million to resolve Oklahoma Attorney General allegations that it reimbursed pharmacies below the actual acquisition cost of certain drugs — covering roughly 68,000 prescriptions. The gap between these two numbers is real money.
How MAC rates work — and why they lag acquisition costs
MAC (Maximum Allowable Cost) rates are set by each PBM independently using their own internal benchmarks. Unlike NADAC, which is updated weekly from actual pharmacy invoices, MAC rates can remain static for extended periods — sometimes months.
When a generic drug's market price increases (due to supply constraints, manufacturer exits, or ingredient cost increases), the acquisition cost rises immediately. The NADAC benchmark picks this up within a week. But if the PBM's MAC rate was set before the price spike and hasn't been updated, pharmacies start filling prescriptions for less than they paid.
The chart below illustrates the relationship between acquisition cost (NADAC) and reimbursement (MAC) over time, showing how the gap can persist:
This pattern — stable or rising acquisition cost meeting a stale MAC rate — is the primary mechanism behind underwater generic fills. It is not typically the result of one party acting in bad faith; it is a structural consequence of asynchronous pricing systems.
What NADAC actually measures
NADAC is a survey-based dataset, not a price list. CMS contracts with an independent survey firm to collect actual invoiced prices from a nationwide sample of pharmacies. The result is a weekly per-unit price per NDC that reflects what pharmacies actually pay at wholesale.
Key properties of NADAC that matter for MAC appeals:
| Property | What it means |
|---|---|
| Weekly cadence | Published every Wednesday; reflects the current market price within one week |
| Invoice-based | Derived from actual pharmacy invoices, not published list prices (AWP/WAC) |
| Per-NDC, per-unit | Priced by the 11-digit NDC so you can match it directly to your dispense records |
| Publicly available | Free at data.cms.gov — no subscription, no proprietary feed required |
How to measure the gap in your own dispenses
The underwater detection formula MarkupRx uses is derived directly from NADAC and CMS State Drug Utilization Data (SDUD):
When margin is negative, the pharmacy lost money on that NDC in that period. The magnitude of the negative number is your per-unit loss. Multiply by your dispense volume to get the total dollar impact.
Because SDUD data reports at the NDC × state × quarter level, and NADAC is weekly, the comparison uses the closest NADAC benchmark date to the SDUD reporting period. This matches the methodology used in MarkupRx's underwater detection engine, which carries the Phase-79 unit-reconciliation guard to exclude NDCs where the pricing unit is ambiguous across NADAC history.
What to do when you find a gap
Once you have identified that a specific NDC is underwater, you have two levers:
- File a MAC appeal — your contractual mechanism to request a rate adjustment from the PBM. See our guide on how to file a MAC appeal.
- Source differently — if your wholesaler's price has increased but alternatives exist, compare purchasing options for that NDC. Acquisition cost is the variable you control; reimbursement is not.
Appeals are worth filing — but they’re won on documentation, not volume. Washington State’s transparency data showed pharmacies filing roughly 145 appeals per day from 2018–2020, with about 99.3% denied by PBMs. The ones that win pair the NDC and claim data with a dated acquisition-cost invoice — see what documentation wins a MAC appeal.
The public data explorer shows which generic NDCs are most commonly underwater nationally and by state — a useful starting point for prioritizing which contracts to appeal first:
Explore underwater NDC rankings →
To identify underwater fills in your own dispensing data and generate appeal letters:
Related reading
Frequently Asked Questions
NADAC (National Average Drug Acquisition Cost) is a weekly dataset published by CMS that tracks what pharmacies across the country actually pay wholesalers per drug unit, based on invoice surveys. It is the federal government's benchmark for pharmacy acquisition costs.
Identify underwater fills in your own dispense data
MarkupRx joins your NDCs against weekly NADAC data and generates ready-to-submit MAC appeal letters. Free 15-day trial.
Start your free trial →