RxTrueCost

Brand and generic classifications in the CMS file

What B and G mean

The CMS NADAC file tags every listed drug with a classification code: B for brand or G for generic. This isn't a judgment about quality. It's a market status label based on how the drug is marketed and priced at the time CMS pulls survey data.

A B classification means the product is sold as a brand name drug, usually still under some form of market exclusivity or simply priced and marketed as the originator product.

A G classification means the product is sold as a generic, meaning multiple manufacturers can produce the same active ingredient in the same strength and form, and it's priced accordingly.

The letter tells you which pricing pool a specific package belongs to. It does not tell you the ingredient is different. A brand and a generic version of the same drug typically share the same active ingredient, strength, and dosage form. What differs is the manufacturer, the packaging, and the acquisition cost pharmacies pay.

The corresponding generic price field

NADAC includes a field that shows a "corresponding generic" price alongside certain brand listings. This is CMS pointing to the average acquisition cost of the generic equivalent, so you can see both numbers side by side without cross-referencing separate files.

This field exists because pharmacies often stock both a brand and a generic version of the same ingredient, and the acquisition cost can differ significantly between the two. The corresponding generic price is not a recommendation. It's a reference point CMS provides so the brand and generic acquisition costs sit in the same row of data.

If a brand listing has no corresponding generic price populated, that usually means no generic equivalent was active in the survey data for that period, not that one doesn't exist at all.

Why one ingredient has many NDCs

A single active ingredient can appear under dozens of National Drug Code (NDC) entries in the same NADAC file. This happens for a few structural reasons:

  • Multiple manufacturers. Once a drug goes generic, several companies can make it. Each manufacturer gets its own NDC for the same ingredient and strength.
  • Package size variants. The same manufacturer often has separate NDCs for a bottle of 30 versus a bottle of 90, even though the drug inside is identical.
  • Repackagers and private labels. Some NDCs belong to companies that repackage another manufacturer's product under a different label, which generates a new NDC without changing the ingredient.
  • Formulation nuances. Minor differences in inactive ingredients, coatings, or release mechanisms can also justify a separate NDC even when the active ingredient and classification (B or G) match.

Each of these NDCs can carry a different NADAC price, because acquisition cost is tied to the specific package and manufacturer, not the ingredient in the abstract. This is why searching by drug name alone often returns a range of numbers rather than one figure. The range reflects real differences in what pharmacies pay for different NDC packages of the same medication, not noise in the data.

Reading B, G, and NDC together

When you're scanning a NADAC entry, treat these three fields as layered context:

  • The B or G code tells you the market category.
  • The corresponding generic price, when present, gives you a same-row comparison point.
  • The NDC tells you exactly which package and manufacturer the price applies to.

None of these fields say anything about how a drug should be used or which version is right for a given prescription. That's a conversation for a pharmacist or prescriber. This page is about reading the acquisition cost data as it's structured, nothing more.

Source: Editorial by Das Creative Data Desk, the editorial persona of Das Creative LLC, a small US data operation that builds pipelines on public data, retrieved 2026-07-10.