How to Read a Dental EOB (Explanation of Benefits)
On this page
A dental EOB is the statement a payer sends after processing a claim. It shows what you billed, what the plan allowed, what the plan paid, and what the patient still owes. It is not a bill, and it is not the payment itself. Once you finish this walkthrough, you will be able to identify every line on the statement, tell a contractual write-off from patient responsibility, and read the codes that explain each adjustment.
Reading the EOB correctly is the step that makes accurate posting possible. Skip it, and small errors compound across the ledger.
What is a dental EOB?
An Explanation of Benefits is a summary document. The payer produces one for each claim it processes and sends it to both the provider and the subscriber.
The American Dental Association defines the EOB as the plan's explanation of how a claim was adjudicated. It lists each procedure, the amount the plan approved, the portion the plan paid, and the reason for any reduction. The ADA also publishes a model EOB statement and guidance so offices can compare formats across payers.
Different payers lay out the page differently. The column names change, and the order of fields moves around. The underlying math is the same everywhere, so once you know the fields you can read any format.
One point of confusion is worth clearing up early. The EOB explains the decision. The actual money arrives separately as a check, a virtual card, or an electronic funds transfer paired with an 835 remittance file. You post from the payment, and you use the EOB to understand it.
Field by field: what each line means
Every dental EOB is built from the same core fields. Here is what each one represents.
Submitted or billed amount. This is the fee your office charged for the procedure. It comes straight from your fee schedule and matches what you sent on the claim.
Allowed amount. This is the maximum the plan will recognize for that procedure. For an in-network provider it equals your contracted rate. For an out-of-network claim it reflects the plan's usual, customary, and reasonable figure. Every downstream number is calculated from the allowed amount, so it is the most important field to find.
Plan paid. This is the dollar amount the payer is sending for that line. It is the allowed amount minus the deductible and the patient coinsurance.
Contractual adjustment or write-off. This is the gap between your billed amount and the allowed amount. When you are in-network, your contract requires you to remove this difference from the patient balance. You cannot bill the patient for it. This line is the most common source of posting mistakes.
Deductible applied. This is the portion of the allowed amount credited toward the patient's annual deductible. The plan does not pay this share until the deductible is met.
Coinsurance. This is the patient's percentage share of the allowed amount after the deductible. A plan that covers a basic procedure at 80 percent leaves 20 percent as coinsurance.
Patient responsibility. This is what the patient owes your office. It combines the deductible applied, the coinsurance, any copay, and any charge for a non-covered service. The ADA guidance frames patient responsibility as the amount the beneficiary owes directly to the practice.
Remark and adjustment codes. These short codes explain each reduction. They tell you why a line was written off, denied, or shifted to the patient. The next section decodes them.
A quick check keeps the math honest on every line. Allowed amount equals plan paid plus deductible plus coinsurance plus any non-covered patient charge. Billed amount equals allowed amount plus the contractual write-off. If a line does not balance, read the codes before you post.
A worked example (table)
Here is a single claim with two procedures. The patient has a 50 dollar deductible that has not been met, and the plan covers basic services at 80 percent.
| Field | D0120 periodic exam | D2391 one-surface filling |
|---|---|---|
| Submitted / billed amount | $65.00 | $210.00 |
| Allowed amount | $48.00 | $165.00 |
| Contractual write-off | $17.00 | $45.00 |
| Deductible applied | $0.00 | $50.00 |
| Plan pays (% of allowed) | 100% | 80% |
| Plan paid | $48.00 | $92.00 |
| Coinsurance (patient) | $0.00 | $23.00 |
| Patient responsibility | $0.00 | $73.00 |
| Codes | CO-45 | CO-45, PR-1, PR-2 |
Walk through the filling line to see how the numbers connect. You billed 210 dollars. The plan allowed 165, so 45 dollars is a contractual write-off you remove from the balance. The plan applies the full 50 dollar deductible first. That leaves 115 dollars, and the plan pays 80 percent of it, which is 92 dollars. The remaining 23 dollars is coinsurance. Add the deductible and the coinsurance, and patient responsibility is 73 dollars.
The exam line is simpler. The plan allowed 48 dollars and covered it at 100 percent, so the plan paid all of it. The 17 dollar write-off comes off the account, and the patient owes nothing.
What the common codes mean
Adjustment codes follow the X12 standard used across healthcare billing. Two families appear on most dental EOBs.
Claim Adjustment Reason Codes, or CARCs, state why an amount was adjusted. Remittance Advice Remark Codes, or RARCs, add supporting detail when the CARC alone is not enough. X12 maintains the CARC list, and CMS maintains the RARC list, so the same code means the same thing across payers.
Each CARC carries a two-letter group code that tells you who absorbs the amount. That prefix decides how you post the line.
| Group code | Meaning | Where it posts |
|---|---|---|
| CO | Contractual obligation | Provider write-off; remove from patient balance |
| PR | Patient responsibility | Stays on the patient's account |
| OA | Other adjustment | Usually routed elsewhere, such as coordination of benefits |
| PI | Payer initiated reduction | Payer absorbs it; not billable to the patient |
These are the individual codes you will see most often on dental claims.
| Code | Plain meaning |
|---|---|
| CO-45 | Charge exceeds the allowed amount; the difference is a write-off |
| PR-1 | Amount applied to the deductible |
| PR-2 | Coinsurance amount |
| PR-3 | Copay amount |
| CO-97 | Service is bundled into another paid procedure |
| CO-96 | Non-covered charge |
| CO-18 | Duplicate claim or service |
| CO-22 | Another plan is primary; coordination of benefits applies |
| CO-29 | Claim filed after the timely filing limit |
When you see an unfamiliar code, look it up against the X12 and CMS lists rather than guessing. A misread code is how a write-off ends up billed to a patient by mistake.
How the EOB maps to posting
Posting is the act of translating each EOB line into ledger entries. Every field has a home.
The plan paid amount posts as the insurance payment against that procedure. The contractual write-off posts as an adjustment that reduces the account balance. What remains becomes the patient portion, made up of the deductible, coinsurance, copay, and any non-covered charge.
Here is how each EOB field lands in the ledger.
| EOB field | Ledger action |
|---|---|
| Plan paid | Insurance payment applied to the procedure |
| Contractual write-off | Adjustment reducing the balance |
| Deductible applied | Assigned to patient responsibility |
| Coinsurance | Assigned to patient responsibility |
| Non-covered charge | Assigned to patient responsibility |
Two rules keep the ledger clean. First, post the write-off separately so your production and collection reports stay accurate. A payment and a write-off are different events even when they hit the same line. Second, apply each amount to the specific procedure the EOB names. Lump-sum posting hides which service was underpaid and makes later disputes harder.
When a claim has a secondary payer, do not close the balance after the primary EOB. The remaining patient portion may move to the secondary plan, and posting it as patient-owed too early creates a false balance you have to reverse.
For a full view of how these pieces fit together, see the dental EOB and payment posting guide.
What to check before you post
A short review before posting catches most errors while they are still cheap to fix. Run these checks on every EOB.
Match the check total to the EOB. Add the plan paid amounts across all claims on the remittance. The sum should equal the payment you received. A gap means a claim is missing, split, or attached to the wrong EOB.
Confirm the patient matches the claim. Verify the name, procedure, and date of service before you touch the account. Bulk EOBs make it easy to post one patient's payment to another chart.
Read every adjustment code. Confirm each CO line is a true contractual write-off and each PR line belongs to the patient. This is where a misread group code sends a write-off to a patient by mistake.
Watch for a denial hiding inside a payment. A remittance can pay several lines and deny one. A denied procedure needs a follow-up action, so flag it instead of posting a zero and moving on.
Check for coordination of benefits. A CO-22 or a secondary payer note means the balance is not final. Hold the patient portion until the other plan responds.
For the specific mistakes that slip past a rushed reviewer, see common EOB posting errors.
Most of these checks are routine and repeat the same way on every EOB. That is exactly the kind of work that automation handles well. A system can match totals, apply payments, and post write-offs against the right procedures, then route the exceptions that need judgment to a person. Ivory Automation posts the routine lines and hands your team the denials, coordination-of-benefits holds, and mismatches that a human should decide. You can see how that works on the EOB posting service page.
Key Takeaways
- A dental EOB explains how a claim was adjudicated. It is not a bill and not the payment.
- The allowed amount drives every other figure. Find it first, then read the rest of the line.
- The contractual write-off is a provider adjustment. An in-network office cannot bill it to the patient.
- Patient responsibility combines the deductible, coinsurance, copay, and any non-covered charge.
- CO codes are provider write-offs, and PR codes are patient responsibility. The group prefix decides where each line posts.
- Check the code group before posting, since a misread code can push a write-off onto a patient by mistake.
- Match the payment total, confirm the patient, and hold secondary balances before you close a claim.
Sources
Published by Ivory Automation, custom back-office automation for independent dental practices.