Actually Clean Data ↗

WORKED EXAMPLE · FDA NDC REFERENCE

FDA reference: enrich NDCs without inflating totals

Add product names, labelers and dosage forms to package NDCs—while keeping your inventory totals intact.

Now available · $29 one-time snapshot

This worked example is included with our FDA NDC reference. Try it below, or see the full product, fields and purchase details.

Inspect the worked example ↓
138,339source product records
256,748distinct source package codes
256,746supported 11-digit matching keys
3related source tables

What you would be paying us to prepare

The FDA source is free. We separate nested product, package and ingredient records into tables, preserve leading zeros, check keys and missing fields, and provide a join that accounts for every input row. An analyst who prefers to do that work can use the FDA source directly.

The download includes the three full CSV tables, a normalized code index, field dictionary, source and processing records, a quality report, and the local enrichment script. No measured time savings or representative buyer match rate is claimed.

A join can inflate the number you meant to analyze

Our example has 8 synthetic inventory lines totaling 124 units. The reference records are real. Some products have several ingredients; one package code has repeated source entries. Joining every package entry and then every ingredient, before summing, produces 12 rows and 174 units.

The checked enrichment returns 8 rows and 124 units. Four lines receive product attributes. Four remain visible with an explicit reason: missing input, unsupported format, or absent from this snapshot. Multiple package entries for one product allow product attributes, but require review before using package-specific details.

This deliberately chosen example demonstrates an arithmetic risk. It is not a customer match-rate estimate or a claim about the frequency of errors.

Every original line remains in the result. Download the output for all added product fields.
LineInput NDCUnitsOutcomeIngredient entries
L1000020013037matched1
L20000300501411matched2
L37204325000113matched2
L40002-0013-035matched1
L5000200130317unsupported format—
L69999999999919not in snapshot—
L747848-026-XX23unsupported format—
L8(blank)29missing input—

Try it on your computer

Download these files into one folder. Python’s standard library is sufficient; the script makes no network requests. The sample reference contains only the selected example records.

python join.py --reference . --input input.csv --output demo.csv

Keep identifiers as text. We accept supported hyphenated package codes and 11-digit codes. We do not guess the missing segment boundaries of an unhyphenated 10-digit code.

What the source audit uncovered

Inspect the complete quality counts and field missingness · Field dictionary

Source edition and our processing

FDA source edition: 2026-10-09. This preview reprocesses the same retained FDA snapshot used by the earlier prototype. It does not claim a new FDA release. ACD’s buyer-pilot recipe adds the checked join, identifier index, missingness and date audits, and this reproducible example.

Sources can be refreshed separately from our processing. The candidate pins the original source, staging tables and exact processing code. View the snapshot and candidate identities.

Where it fits—and where it does not

Use this for source-record enrichment and data preparation. Listing does not establish FDA approval or current availability. This snapshot does not answer which product matched a transaction on a past date. Routes remain source arrays; strengths remain text. There is no RxNorm, ATC, Orange Book or clinical recommendation in this candidate.

Put the prepared reference to work

The full source snapshot and checked enrichment workflow are available for $29 once. Feedback about fields and historical coverage is welcome; descriptions or synthetic examples are enough. Please do not send patient records.

Buy the FDA reference · $29 → · Give Ben feedback

Independent preparation of FDA data; no endorsement. FDA documentation · Source terms · All research candidates