# Claim edit: Unrecognized or inactive NDC

> Stedi now rejects 837P professional and 837I institutional claims with an NDC that isn't in the FDA's NDC Directory or wasn't marketed on the service date.

Published Nov 9, 2026

Product: Claim edits

Stedi now rejects [837P professional](https://www.stedi.com/docs/healthcare/submit-professional-claims) and [837I institutional](https://www.stedi.com/docs/healthcare/submit-institutional-claims) claims that contain an unrecognized or inactive National Drug Code (NDC).

## NDCs and service dates

An NDC identifies a drug or biologic regulated by the U.S. Food and Drug Administration (FDA). A provider lists an NDC on a service line to get paid for a drug given during care.

**National Drug Code**

| **Claim type**     | **JSON API field**                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | **X12 element**                                                    |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| 837P professional  | **Claim Submission API:** [`claimInformation.serviceLines[].drugIdentification.nationalDrugCode`](https://www.stedi.com/docs/healthcare/api-reference/post-healthcare-claims#body.claimInformation.serviceLines.drugIdentification.nationalDrugCode)<br><br>**CMS-1500 API:** [`serviceLines[].drugIdentification.nationalDrugCode`](https://www.stedi.com/docs/healthcare/api-reference/post-create-professional-claim-json#body.serviceLines.drugIdentification.nationalDrugCode) | `LIN-03` (National Drug Code) of Loop `2410` (Drug Identification) |
| 837I institutional | [`claimInformation.serviceLines[].drugIdentification.nationalDrugCode`](https://www.stedi.com/docs/healthcare/api-reference/post-healthcare-institutional-claims#body.claimInformation.serviceLines.drugIdentification.nationalDrugCode)                                                                                                                                                                                                                                            | `LIN-03` (National Drug Code) of Loop `2410` (Drug Identification) |

The service date is the date the provider performed the service. You report it on each service line.

**Service date**

| **Claim type**     | **JSON API field**                                                                                                                                                                                                                                                                                                                                                                                    | **X12 element**                                              |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| 837P professional  | **Claim Submission API:** [`claimInformation.serviceLines[].serviceDate`](https://www.stedi.com/docs/healthcare/api-reference/post-healthcare-claims#body.claimInformation.serviceLines.serviceDate)<br><br>**CMS-1500 API:** [`serviceLines[].datesOfService.start`](https://www.stedi.com/docs/healthcare/api-reference/post-create-professional-claim-json#body.serviceLines.datesOfService.start) | `DTP-03` (Service Date) of Loop `2400` (Service Line Number) |
| 837I institutional | [`claimInformation.serviceLines[].serviceDate`](https://www.stedi.com/docs/healthcare/api-reference/post-healthcare-institutional-claims#body.claimInformation.serviceLines.serviceDate)                                                                                                                                                                                                              | `DTP-03` (Service Date) of Loop `2400` (Service Line Number) |

## How the edit works

The FDA lists NDCs in the [NDC Directory](https://www.fda.gov/drugs/drug-approvals-and-databases/national-drug-code-directory), along with the dates each drug was on the market. Stedi checks each NDC against the directory for the service line's service date.

If the NDC isn't in the directory or wasn't on the market on the service date, the payer may reject the claim.

This [edit](https://www.stedi.com/docs/healthcare/claim-edits-and-repairs#edits) catches the issue before the claim reaches the payer. It prevents payer rejections, which take longer to resolve and delay payment for the provider.

## Rejection errors

How you get the error depends on how you submit the claim.

**CMS-1500 API**

If you submit a claim using the [Create Professional Claim (CMS-1500) JSON](https://www.stedi.com/docs/healthcare/api-reference/post-create-professional-claim-json) endpoint and the claim fails the edit, you'll get back a `201` response with an `errors` array in real time.

If the NDC isn't in the directory:

```json
{
  "errors": [
    {
      "description": "Invalid NDC code. The submitted NDC 99999999999 on service line 1 is not a recognized code. Correct and resubmit."
    }
  ]
}
```

If the drug wasn't on the market yet on the service date:

```json
{
  "errors": [
    {
      "description": "Inactive NDC code. The submitted NDC 00052433001 on service line 1 was not marketed until 20130927, after the date of service. Correct and resubmit."
    }
  ]
}
```

If the drug was no longer on the market on the service date:

```json
{
  "errors": [
    {
      "description": "Expired NDC code. The submitted NDC 00052433001 on service line 1 was expired or inactive on the date of service. Correct and resubmit."
    }
  ]
}
```

**Claim Submission API**

If you submit a claim using Stedi's other [Claim Submission API endpoints](https://www.stedi.com/docs/healthcare/intro-to-claim-submission#api-claim-submission) and the claim fails the edit, you'll get back an error response in real time. The response includes details in the `errors` array.

If the NDC isn't in the directory:

```json
{
  "errors": [
    {
      "code": "33",
      "description": "Invalid NDC code. The submitted NDC 99999999999 on service line 1 is not a recognized code. Correct and resubmit.",
      "followupAction": "Please Correct and Resubmit"
    }
  ]
}
```

If the drug wasn't on the market yet on the service date:

```json
{
  "errors": [
    {
      "code": "33",
      "description": "Inactive NDC code. The submitted NDC 00052433001 on service line 1 was not marketed until 20130927, after the date of service. Correct and resubmit.",
      "followupAction": "Please Correct and Resubmit"
    }
  ]
}
```

If the drug was no longer on the market on the service date:

```json
{
  "errors": [
    {
      "code": "33",
      "description": "Expired NDC code. The submitted NDC 00052433001 on service line 1 was expired or inactive on the date of service. Correct and resubmit.",
      "followupAction": "Please Correct and Resubmit"
    }
  ]
}
```

**SFTP**

If you submit a claim using [SFTP](https://www.stedi.com/docs/healthcare/submit-claims-sftp-connection) and the claim fails the edit, Stedi will reject the claim with a [277CA claim acknowledgment](https://www.stedi.com/docs/healthcare/claim-responses-overview#277ca-claim-acknowledgment). The acknowledgment will include a related [claim status category code](https://x12.org/codes/claim-status-category-codes), [claim status code](https://x12.org/codes/claim-status-codes), and error message.

If the NDC isn't in the directory:

```text
STC*A7>218**U*********Invalid NDC code. The submitted NDC 99999999999 on service line 1 is not a recognized code. Correct and resubmit.~
```

If the drug wasn't on the market yet on the service date:

```text
STC*A7>218**U*********Inactive NDC code. The submitted NDC 00052433001 on service line 1 was not marketed until 20130927, after the date of service. Correct and resubmit.~
```

If the drug was no longer on the market on the service date:

```text
STC*A7>218**U*********Expired NDC code. The submitted NDC 00052433001 on service line 1 was expired or inactive on the date of service. Correct and resubmit.~
```

## Related claim edits

Stedi has another edit for NDCs that aren't 11 digits. See [Invalid NDC format](https://www.stedi.com/changelog/new-claim-edit-invalid-ndc-format).
