Consider a high-volume generic like metformin 500mg extended-release. Across manufacturers such as Amneal, Aurobindo, Mylan, Teva, and Sun - each with its own labeler code, and each offering multiple package sizes - a pharmacy can see several different NDCs for the same drug in a single month, depending on what the wholesaler shipped. None of that is an error. But every shift between those NDCs is a potential NDC swap in your reconciliation.
How One Drug Can Have 20 Different NDC Codes
It surprises most people outside pharmacy: a single common medication can carry dozens of National Drug Codes. Understanding why is the key to understanding NDC swaps - and why they are so hard to catch by hand.
To see why a single drug can have so many National Drug Codes, start with what an NDC actually encodes. The 11-digit code is built from three segments in a 5-4-2 pattern, and each segment varies independently.
The three segments of an NDC
- Labeler code (5 digits). Identifies the manufacturer, repackager, or distributor. Assigned by the FDA. Every company gets its own.
- Product code (4 digits). Identifies the specific drug, strength, and dosage form. Each strength is a different product code.
- Package code (2 digits). Identifies the package size and type - a bottle of 30 versus a bottle of 1000 versus a unit-dose pack.
Why generic competition multiplies NDCs
When a brand drug loses exclusivity, multiple manufacturers begin making the generic. Each manufacturer has a different labeler code, so each produces an NDC that differs in the first segment alone. Now layer on the other segments:
- Each manufacturer: a distinct labeler code
- Each strength: a distinct product code
- Each package size: a distinct package code
A common generic with eight manufacturers, two strengths in active use, and a couple of package sizes each can easily produce 20 or more NDCs - all for what a patient and pharmacist think of as a single drug.
Why this makes manual reconciliation fail
Matching billing against purchasing on the exact NDC string assumes the NDC you billed is the NDC you bought. With 20+ NDCs per drug and a wholesaler that substitutes freely, that assumption breaks constantly. Each break produces a phantom shortage on one NDC and a phantom overage on another. To catch these by hand, you would have to maintain a perfectly current map of every drug family across every manufacturer - a task that is impractical at any real volume.
How software solves it
NDC swap detection software normalizes every code to a consistent format, then maps each NDC into its drug family. Reconciliation runs at the family level, so two NDCs that are the same drug from different manufacturers pair cleanly. The 20-NDC generic becomes one product in your report, and only genuine discrepancies remain.
Understanding that one drug can wear many NDCs is the foundation. The next question is how to tell a phantom shortage caused by a swap from a real one - which is exactly what the next article covers.
Frequently Asked Questions
Why does one drug have so many NDC codes?
The NDC's first segment is the labeler code, which is unique to each manufacturer, repackager, or distributor. When a drug goes generic, many manufacturers produce it - each with its own labeler code. Add separate product codes for each strength and form, and separate package codes for each bottle size, and a single common generic can easily carry 20 or more distinct NDC codes.
Does a different NDC mean a different drug?
Not necessarily. Two NDCs can represent the exact same drug, strength, and form from two different manufacturers. They are therapeutically equivalent products with different labeler codes. This is precisely what makes NDC swaps look like discrepancies in a naive reconciliation when they are not.
How does having many NDCs per drug cause reconciliation problems?
If you bill one manufacturer's NDC but your wholesaler shipped another's, an exact-match reconciliation reports a shortage for the billed NDC and an overage for the purchased one - even though the same drug was bought and dispensed. The more NDCs a drug has, the more often these phantom mismatches occur.
How does software handle many NDCs for one drug?
NDC swap detection software normalizes every code and maps it into a drug family, so all manufacturer and package variants of the same product are treated as equivalent. Reconciling at the family level means a swap between two NDCs in the same family resolves cleanly, and only true discrepancies are flagged.
Related reading
Reconcile Across Every NDC, Automatically
RxDelta maps every NDC to its drug family so a 20-NDC generic reconciles as one product. Plans from $200/month.