If a claim comes back from a payer with no check attached, there is a code sitting on the Explanation of Benefits (EOB) next to it. Dental denial codes are how the payer tells your office, in a few numbers and a short phrase, exactly what it did not like about the claim. Some are easy fixes, like a missing x-ray. Others, like a frequency limit already used, mean the patient owes the balance. Either way, someone at the front desk or in billing has to read the code, understand it, and act on it before the filing window closes.
What Are Dental Denial Codes?
Dental denial codes are the short codes a payer puts on an Explanation of Benefits to say why it did not pay a claim, or paid less than the office billed. Most dental plans use the ANSI Claim Adjustment Reason Codes (CARC), the same code set used across medical and dental insurance, sometimes paired with a Remark Code (RARC) that adds more detail. A denial code points to one specific problem: a missing attachment, a frequency limit already used this benefit year, a tooth already listed as missing on a prior claim, or a service a plan does not cover under the patient's plan.
The code itself does not fix anything. Someone at the practice has to read it, pull the chart note, x-ray, or narrative it is asking for, and resubmit or appeal inside the payer's filing window, often somewhere between 90 days and 365 days depending on the state and the plan. A front desk that sees the same two or three codes every week usually has a pattern worth fixing upstream, often at verification or at the claim form itself, rather than at the appeal stage.
Common Denial Codes You'll See in Dental Claims
Here are the codes that show up most often on dental EOBs. Your payer's list may use slightly different wording, but these are standardized ANSI reason codes, so the number means the same thing everywhere.
- CO-16: Claim or service lacks information needed to process it. Usually a missing form, narrative, or x-ray.
- CO-18: Duplicate claim or service. The payer already has one on file for that date and procedure.
- CO-22: This care may be covered by another payer under coordination of benefits. Check which plan is primary.
- CO-27: Expenses incurred after coverage ended. The patient's plan was not active on the date of service.
- CO-29: The time limit for filing this claim has expired.
- CO-96: Non-covered charge. The plan does not pay for that procedure under this patient's plan at all.
- CO-109: Claim or service not covered by this payer or contractor. It needs to go to a different payer.
- CO-119: Benefit maximum for this time period has been reached, often an annual maximum or a frequency limit.
- CO-197: Precertification or authorization was required and is missing from the claim.
- PR-1, PR-2, PR-3: These shift cost to the patient as deductible, coinsurance, or copay. They are not denials. They are a bill.
Each payer layers its own remark codes on top of these, so the same CO-16 can point to five different missing pieces depending on the plan. We tell offices to keep a running list of the codes a given payer uses most, next to that payer's phone number and portal login.
Dental Billing Codes vs. Denial Codes
Dental billing codes and dental denial codes are not the same thing, and mixing them up is the fastest way to get lost reading an EOB.
Dental billing codes, the CDT codes published by the American Dental Association, describe the procedure performed. D1110 for an adult cleaning. D2140 for an amalgam filling. D0120 for a periodic exam. The office picks these codes to describe what was actually done in the chair. Our guide to common dental billing codes covers the ones that show up on a typical claim.
Dental denial codes, the CARC and RARC codes, describe what the payer did with the claim after it arrived: paid it, cut it, or denied it, and why. The CDT code says what happened in the mouth. The denial code says what happened at the payer. A claim gets read correctly only when you check both.
How to Read a Denial Code on an EOB
Every EOB has a line for each procedure billed, usually with columns for the billed amount, the allowed amount, what the plan paid, and what is left over. The denial or adjustment code sits next to that line, sometimes under a column labeled Reason Code, sometimes printed right after the dollar amount in parentheses.
Start with the reason code, the one with CO or PR in front of a number. That tells you the category: a contractual write off, a patient responsibility, or a flat denial. Then look for a remark code underneath it, usually starting with N or M. That second code adds the specific detail, like which tooth, which date, or which document is missing. If the EOB does not spell out the full description, the payer's provider portal usually has a lookup list. Our walkthrough on how to read a dental EOB goes through a real one line by line.
How to Stop Denials Before They Start
Most of the codes on this list trace back to something that could have been caught before the claim went out: a lapsed plan, a frequency limit already used, a missing authorization. That is where insurance verification earns its keep.
At Valian, the office signs in and runs a check on a patient in one click, in seconds, pulling eligibility and benefit details before the visit instead of finding out after the claim bounces. Either way, a person at the practice still reviews what comes back and decides what to do with it. You can see how the checks work on our insurance verification page.
Valian works alongside the practice management system the office already runs, so the team keeps entering chart notes where they always have. A direct connection between Valian and the practice management system is in development, not live today.
The American Dental Association's Health Policy Institute found that 43.3% of dentists already use AI for at least one task in the practice, and insurance verification is the number two planned use, with 32.6% of dentists planning to add it compared with 13.6% doing it today. That gap, between planning to verify every patient and actually doing it before every visit, is where a lot of these denial codes start.
What Happens After a Claim Is Denied
Reading the code is step one. Appealing or correcting the claim is the work that actually gets it paid.
For a timely filing denial, check the date stamp against the payer's filing window. Some states set their own limits on top of the payer's rules, and our state by state filing limit guide has the list. For a missing information denial, pull the specific attachment the remark code names and resubmit as a corrected claim, not a brand new one. For a coordination of benefits denial, confirm which plan is primary before you resubmit, since sending it to the wrong payer twice burns two filing windows instead of one.
Claims and collections is the part of Valian now in development. We are taking on our first offices to build it around real denial codes and real payers, not a lab. The office always picks the procedure code, start to finish. Valian does not pick codes, and we are not going to promise a dollar figure we expect to recover, because that part of the system has not shipped yet.
What is live today is verification that runs in one click, so the claims that do go out are tied to a patient record that is actually right. Our page on dental revenue cycle management covers what is live now and what we are building next. If you want to see a check run in one click, you can book a time to see Valian.
FAQ
What are the common denial codes?
The ones dental offices run into most are CO-16 (missing information), CO-18 (duplicate claim), CO-22 (another payer is primary), CO-27 (coverage ended before the date of service), CO-29 (filing deadline passed), CO-96 (non-covered charge), CO-109 (wrong payer), and CO-119 (benefit maximum reached). Payers often attach their own remark code on top of these for more detail.
What codes are used for dental billing?
Dental offices use two code sets on the same claim. CDT codes, like D1110 or D2140, describe the procedure performed. CARC and RARC codes describe what the payer did with the claim, paid, adjusted, or denied, and why.
What is CO 27 denial?
CO-27 means the payer's records show the patient's coverage had already ended on the date of service. It usually means the plan lapsed, the patient changed jobs, or the front desk checked an old insurance card instead of running a current check.
How to find EOB denial code?
Look at the line for the procedure on the EOB. The reason code sits next to the paid amount, often labeled Reason Code. A remark code underneath it adds the specific detail. If the EOB does not print the full description, the payer's provider portal usually has a lookup list.
Get these guides in your Google results
Add Valian as a preferred source. Our guides then show up more often in your Top Stories, AI Mode, and AI Overviews. Takes one click, and you can undo it any time.