To see why a single drug can have so many National Drug Codes, start with what an NDC actually encodes. The 11-digit billing form of the 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.
Worked illustration
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.
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.