· Updated  · margin

Acquisition Cost: Wholesaler Invoices vs NADAC

Invoice cost, NADAC and manual overrides produce three different qualities of answer. What each one is worth, and how the cost basis reaches the platform.

Every margin figure is a subtraction. Reimbursement minus cost. Reimbursement arrives on the claim and nobody disputes it. Cost is where the number becomes either usable or decorative.

Take a margin figure into a conversation with a wholesaler, a PBM or your accountant and the first question will be what cost you compared against. Here is where that number comes from.

Three sources, three different qualities of answer

Attergo recognizes three cost bases and shows which one produced every number on screen.

BasisWhat it isAccurate for your store
InvoiceWhat you actually paid your wholesalerYes, this is the real number
NADACNational Average Drug Acquisition Cost, a survey based national averageApproximate, sometimes badly so
OverrideA cost you set manuallyAs good as your entry, and dated

They are never blended into a single unlabeled figure. A dashboard that reports margin without naming its basis is asking you to treat a national average as your invoice.

Invoice cost is the only cost that is yours

It reflects your contract, your volume tier, your generic sourcing, your primary and secondary purchasing split, and whatever rebate structure applies.

Two pharmacies buying the same NDC in the same week can pay meaningfully different amounts. That difference is the thing you are trying to manage, and a national average deletes it by construction. Margin that informs stocking decisions and contract challenges has to be computed against what you actually paid.

What NADAC is genuinely good for

NADAC is published through Medicaid.gov and built from a survey conducted by Myers and Stauffer under contract to CMS. Participation is voluntary. The survey goes to a random sample of retail community pharmacies each month, files are posted weekly, and a monthly file is produced on the first Monday on or after the fifteenth. We cover the methodology in detail in what NADAC is and when to trust it.

Two virtues carry real weight. It is available for a broad set of drugs without you lifting a finger, and it is a published reference with an examinable methodology rather than a vendor’s private estimate.

The limits carry equal weight. It is an average built from other pharmacies’ invoices, so it is wrong for you by however much your buying differs from the national middle. It follows price movement rather than leading it. Coverage is uneven. Treat it as a floor, and any vendor presenting it as equivalent to your invoice is overselling.

How the cost gets in

The cost model. Per fill margin computed against acquisition cost, with the basis recorded and displayed alongside every number. NADAC serves as the fallback when no invoice cost exists for a fill. Manual overrides are dated, so a margin from a period before an override is never silently rewritten.

Invoice cost intake. A structured cost file, loaded during onboarding and refreshed on your cadence, or wholesaler EDI where your trading partner agreement provides it. The established mechanisms in this supply chain are EDI transaction sets, principally the 810 invoice, which bills for goods supplied, and the 832 price and sales catalog, which carries product and pricing information to trading partners. The 832 is also the transaction the industry revised to carry product attributes to dispensers for Drug Supply Chain Security Act purposes, which is why some pharmacies already receive one without thinking of it as a cost feed. Availability, format and entitlement depend on your wholesaler, so the intake path is scoped per wholesaler during onboarding.

Where the cost data flows. Every product on the platform reads the same cost model. Margin prices fills against it. Inventory weighs purchasing against it. Audit produces the purchase evidence from it. One cost table, one basis discipline, eight products.

Your invoice cost is as current as your last refresh. If your file updates quarterly, a fill in month three is compared against a price from month zero. The basis and the override date are on screen, so staleness is visible rather than inferred.

Every number shows its basis

No exceptions. No aggregate that quietly mixes them.

The same rule applies to summaries. When a total spans fills with different bases, the composition stays visible. “Gross margin of X, of which most of the volume was priced against invoice cost” is a claim you can defend. “Gross margin of X” is not.

A sensible sequence for a new store

Perfect cost data on day one is rare, and waiting for it means running blind for a quarter.

  1. Connect and start on NADAC. Every fill gets a margin immediately, labeled as NADAC based. Enough to see shape: which categories are thin, which are clearly negative.
  2. Load your cost file. Coverage shifts to invoice for the items it includes. The numbers usually move, sometimes considerably.
  3. Override the exceptions. For items with a special contract, a direct purchase or a 340B arrangement that neither of the first two sources captures correctly, set an override. It is dated, so history stays honest.
  4. Refresh on a schedule you will keep. A quarterly refresh you actually do beats a monthly one you abandon in March.

Where cost data goes wrong

Four failure modes come up repeatedly. None are exotic.

Unit of measure mismatches. A cost per package compared against a claim priced per unit produces a margin wrong by the package size, which is to say wrong by a lot. When a margin looks implausible, check this first.

NDC changes. Manufacturers change NDCs. A cost file keyed to an NDC that is no longer dispensed stops matching, and the fills fall back to NADAC. Basis labeling makes that visible.

Stale files nobody refreshed. The most common problem and the least interesting.

Overrides that were right once. An override set for a contract that has since expired keeps applying. Dating them helps. Reviewing them occasionally helps more.

Questions to ask any margin vendor

  1. What is your default cost basis, and is it visible on every number?
  2. If invoice cost is missing for a fill, what do you use, and do you say so?
  3. How does invoice cost get in today, and is any wholesaler connector actually live?
  4. How do you handle unit of measure conversions between cost and claim?
  5. When I set an override, is it dated, and does it rewrite historical margin?
  6. Can I export the underlying cost basis per fill, not just a summary?

A vendor who cannot tell you where a number’s cost came from is offering you a suggestion.

Invoice cost is yours. NADAC keeps coverage complete while you get there. Overrides handle the arrangements neither one models. Attergo Margin runs all three with the basis on every figure, and a demo will show you the labeling on live data rather than on a slide.

Run this on your own claims.

Attergo prices every fill against the contract that governs it and shows you the gap before the fill leaves the counter.