How to find dental insurance underpayments
To find dental insurance underpayments, compare the allowed amount on every ERA or EOB line with the contracted fee for that CDT code and payer. When the plan allowed less and no code on the remittance explains it, the plan underpaid. Group the gaps by code and payer, then dispute them in batches before each window closes.
Book a demoBy Dr. Maya Arnaout, DDS, VP of RevenuePublished 7 min read
Key takeaways
- An underpayment is an allowed amount below your contracted fee that nothing on the remittance explains.
- Deductibles, coinsurance, maximums, frequency limits and alternate benefits lower the payment without being underpayments.
- CO-45 is the normal contractual write-off, and also where underpayments hide: if the allowed amount is short, the write-off is too big.
- Look by code and by payer. One wrong fee schedule short-pays the same code on every claim until someone notices.
- Dispute in batches, with the contract and the claim list, inside the window each payer contract sets.
What counts as a dental insurance underpayment
In network, the PPO fee schedule sets the most the practice can collect for each CDT code, from the plan and the patient together. On the remittance, that figure is the allowed amount. An underpayment is a line where the allowed amount is below the contracted fee and nothing on the remittance explains why.
Most lower payments are not underpayments. The patient’s deductible and coinsurance, a used-up annual maximum or a frequency limit all lower what the plan pays without changing the allowed amount. The work is separating the two, line by line.
Paid less: underpayment or not?
The codes on each line say why it was paid less. Read the group code first: CO is the practice’s to absorb, PR is the patient’s. The CARC and RARC guide has the full list.
| Why it was paid less | Code you may see | Underpayment? |
|---|---|---|
| Deductible | PR-1 | No. The patient owes it. |
| Coinsurance or copay | PR-2, PR-3 | No. The patient owes it. |
| Annual maximum reached | PR-119 | No. Bill the patient under the plan. |
| Frequency limit or plan exclusion | Varies; read the remark code | Usually no, if the plan says so. Check the plan before appealing. |
| Alternate benefit, such as a back-tooth composite paid at the amalgam rate | A remark code; varies by payer | Usually no. It is a plan provision. |
| Allowed amount equals your contracted fee | CO-45 | No. A normal contractual write-off. |
| Allowed amount below your contracted fee | CO-45 | Yes. The write-off is hiding a short pay. |
| Bundled into another procedure | CO-97 | Maybe. Appeal if the procedures are separately billable. |
| Processed out of network | Varies | Maybe. Check the treating provider’s credentialing, then ask for reprocessing. |
| You billed less than the contracted fee | None | No, but fix your fee: the plan allows only what you bill. |
CO-45: contractual write-off or hidden underpayment?
CO-45 means the charge is more than the fee schedule allows. It is the code on almost every in-network line, and it is correct when the allowed amount equals your contracted fee: the gap between your full fee and the contract is written off.
It is also where underpayments hide. When the payer allows less than the contract, the CO-45 adjustment is simply bigger, and an office that posts the write-off from the remittance without checking it writes off money the payer still owes. An illustrative example, with sample data:
| Crown, one line (sample data) | Amount |
|---|---|
| Office fee billed | $1,200 |
| Contracted fee for this code and plan | $850 |
| Allowed amount on the remittance | $790 |
| CO-45 adjustment on the remittance | $410 |
| Correct contractual write-off | $350 |
| Underpayment hidden in the write-off | $60 |
The rule
How to find underpayments, step by step
Load the current fee schedule for every payer
Keep each payer’s schedule in your practice system, by plan, network and location where they differ.
Schedules change at renewal and renegotiation. An old copy in the practice system makes every comparison wrong, in both directions. Ask each payer for the current schedule if you are not sure.
Compare allowed with contracted on every line
For each procedure on each ERA or EOB, compare the allowed amount with the contracted fee for that CDT code and plan.
The allowed amount is the figure to check, not the paid amount. The paid amount is lowered by the patient’s share; the allowed amount is what the plan says the procedure is worth under your contract.
Set aside the gaps the remittance explains
Deductibles, coinsurance, maximums, frequency limits and alternate benefits each come with a code. Those lines are not underpayments.
What is left, an allowed amount below contract with no code that explains it, is the underpayment list.
Group the gaps by code and by payer
Sort the list by payer and CDT code, and look for the same short amount repeating.
A pattern usually means the payer has an old or wrong schedule loaded for your office, or the claims went in under a provider who is not credentialed. One fix at the payer recovers every claim in the group.
Dispute in batches, before the window closes
Send the payer the contract, the fee schedule and the list of claims together, and ask for reprocessing.
Appeal and reprocessing windows differ by payer and contract: check each payer contract, and put the deadline on every item. See timely filing in the glossary.
Track what comes back
Post the corrected payments against the original claims, and keep the dispute open until the money arrives.
Then fix the cause: update the schedule in your practice system, finish the credentialing, or correct your own fee if you were billing below contract.
The underpayment report: by code and by payer
Single short lines are easy to miss and slow to chase one at a time. A monthly report grouped by payer and code turns them into a few disputes worth sending. Build it with these columns:
| Column | What it shows |
|---|---|
| Payer and plan | Who underpaid, at the level the contract is written |
| CDT code | Which procedure the gap is on |
| Claims | How many claims show the gap in the period |
| Contracted fee | What the contract says the code is worth |
| Allowed amount | What the payer allowed, most often |
| Gap per claim and in total | What to ask for back |
| Oldest date of service | How close the oldest claim is to the deadline |
Sort by total gap. The top rows are usually one payer with a wrong schedule, and one dispute fixes every claim in the row.
How to dispute an underpayment
Send each payer one dispute per pattern, not one per claim. Include:
- The section of the contract and the fee schedule that sets the fee.
- The list of claims: patient, date of service, CDT code, allowed amount and contracted fee.
- The total asked for, per claim and overall.
- A request to reprocess the claims and to correct the schedule going forward.
- The date sent, the reference the payer gives you, and a follow-up date.
Windows for appeals and reprocessing requests differ by payer and contract, so check each payer contract and record the deadline on every item. The timely filing entry explains how those clocks run.
How ScoutIQ handles it
ScoutIQ checks each line of every ERA and paper EOB against your contract as it posts, on 59 practice management systems. Short pays and denials go to their own queue with the payer’s reason and the days left to appeal, instead of disappearing into a write-off. 95% of insurance payments match their EOB with no human review, so the team’s time goes to the exceptions.
Atlas, ScoutIQ’s AI assistant, ranks payer underpayments in the team’s daily work and drafts dispute letters for a person to approve. Your team sends the dispute. Every payment, including the corrected ones, is matched to the bank and booked to QuickBooks or Xero: see reconciliation. Most practices are live in 48 hours.
ScoutIQ product
Insurance Billing Automation
Insurance Billing Automation
ERAs and EOBs read; EFT, check and card payments reconciled.
See Insurance Billing Automation