All posts
Billing & RCM8 min readBy The Velano Team

EOB Posting Errors: How to Catch Adjustment Errors

The costliest EOB posting mistakes rarely look like mistakes. A contractual adjustment posted a little high, a CO code dropped where a PR code belongs, one CDT line…

The costliest EOB posting mistakes rarely look like mistakes. A contractual adjustment posted a little high, a CO code dropped where a PR code belongs, one CDT line skipped on a multi-procedure claim — each looks routine in the moment and only shows up later as a distorted AR balance, a wrong patient bill, or an appeal window that already closed. Dental billing audits keep landing on adjustment errors as one of the biggest sources of unexplained AR.

This guide is for office managers, billing coordinators, and DSO operations teams who want a repeatable way to catch adjustment errors before they age out. We will cover the five most common types, a daily audit you can actually run, and where cleaner front-desk intake quietly removes a major upstream cause. Velano does not post EOBs or do billing — but the section at the end explains the part of this problem that starts on the booking call.

Key takeaways

  • CO-45 contractual adjustments are the most-missed error type because a large write-off looks normal at posting time. Verify it against your current contracted rate, not last year's fee schedule.
  • CO (Contractual Obligation) and PR (Patient Responsibility) codes get swapped constantly. A CO amount posted to the patient ledger is improper patient billing, not just an accounting slip.
  • A daily three-way match — ERA/EOB, PMS, and bank deposit — is the single most reliable control. When two of the three diverge, you have an error to chase.
  • Elevated AR days (often 45–60+) usually signal a posting problem, not a collections problem. The root cause is frequently upstream intake data.
  • Auditing adjustments above a small threshold (many teams use $5–$10) each week recovers underpayments that would otherwise disappear.

What an adjustment error actually is

An adjustment error happens when a payment posts with the wrong adjustment amount, the wrong adjustment code, or an adjustment applied to the wrong party. The most common form is a contractual adjustment recorded incorrectly: the gap between your billed fee and the carrier's contracted rate gets written off at the wrong number, or charged to the patient instead of absorbed by the practice.

Both directions cost you. Write off too much and you give away revenue you were owed. Push a contractual amount onto the patient and you have billed someone for money they don't owe under your payer contract — a compliance exposure that can trigger a state dental board complaint. These errors hide in AR aging and write-off reports until a systematic audit surfaces them.

The five most common adjustment errors

Error typeCodes involvedWho absorbs itHow you catch it
CO-45 mispostingCO-45Provider or patientCO-45 exception report
CO/PR code mix-upCO-45, PR-1, PR-2, PR-204Varies by codePatient balance audit
Partial/missed postingAll codesProviderOpen claim line review
Decimal/transpositionAnyProvider or patientDaily reconciliation
Fee schedule mismatchCO-45 primarilyProviderCDT fee schedule audit

CO-45 means "charge exceeds fee schedule / contracted fee arrangement" — the difference between your billed fee and your contracted rate. It should post as a contractual write-off the practice absorbs; it can never be billed to the patient. A $500 CO-45 on a procedure with a $400 contracted rate is a red flag, usually a stale fee schedule, the wrong plan applied, or a payer processing error.

CO vs. PR comes down to who owes the money. CO is the provider's obligation and may never be billed to the patient. PR is the patient's — deductibles, coinsurance, non-covered services. Swap them and you send the wrong balance to the wrong party. Partial postings leave phantom balances when a CDT line is skipped or an EOB page missed. Decimal and transposition errors ($123.45 keyed as $1,234.50) come from high-volume manual entry. Fee schedule mismatches appear when a payer renews rates and your PMS still carries the old ones, so every claim on those codes posts a wrong adjustment.

A daily audit that catches most of it

Step 1: Run the three-way match

Each morning, compare three numbers for the prior day's postings: the ERA 835 or paper EOB (what the payer says it paid), the PMS claim record (what you posted), and the bank deposit (what actually cleared). When all three agree, posting was accurate. When any two diverge, you have an adjustment error, a timing gap, or a payment that didn't post correctly. For most practice volumes this takes 10–15 minutes and catches errors while they're still inside the payer's response window.

CheckWhen to runAction if it doesn't tie
EOB total vs. bank depositEach morningFlag unmatched payments same day
PMS posted vs. ERA totalDuring postingReview each claim line for a missed post
CO-45 vs. contracted rateDuring postingVerify fee schedule; dispute payer math
Patient balance = PR onlyBefore statementsReverse and repost any CO in the patient column
Payment less than contracted allowedDuring postingOpen a 48-hour follow-up for a payer dispute

Step 2: Verify CO-45 against your fee schedule

For every CO-45, pull the current payer fee schedule and check the specific CDT code. Does the adjustment equal billed fee minus contracted allowed amount? If it's larger than expected, confirm the right plan was applied and that coverage was verified before the visit. If smaller, make sure it's a real higher allowed amount and not a data-entry slip. Small discrepancies at scale are real revenue leakage. Recurring CO-45 overages on the same code usually point to a stale schedule — closely related to the bundling reductions you should be reviewing line by line.

Step 3: Confirm CO vs. PR accuracy

After posting, the patient balance should include only PR-coded amounts — deductible (PR-1), coinsurance (PR-2), non-covered (PR-204). It should never include a CO amount. Sort the last 30 days of patient balances, filter for any that reference a CO code, and correct them before statements run. This is the same discipline that prevents the write-off errors that silently drain revenue.

Step 4: Catch underpayments before the deadline

An underpayment — the carrier paying less than your contracted allowed amount — is different from a contractual adjustment, and you're owed the difference. Compare the ERA payment to the allowed amount, and when it's short, open a 48-hour task to file a corrected claim or dispute. Appeal windows vary widely, so catching shortfalls at posting is the only reliable way to stay inside them. For the full method, see how to catch underpayments at posting.

CarrierTypical appeal windowWindow starts
Delta Dental12 monthsDate of service
Cigna Dental180 daysERA/EOP date
Aetna Dental180 daysDate of payment
MetLife Dental90–180 daysClaim payment date
United Concordia12 monthsDate of service

Always confirm windows against your specific contracts — these are a starting reference, not gospel.

Step 5: Log every discrepancy

Keep a running log: date identified, claim number and payer, error type, dollar amount, and action taken. It shows which payers and error types recur (where to focus training) and documents your compliance effort if a billing audit happens.

Common mistakes to avoid

  • Posting the total and moving on without reviewing each adjustment line. Build a posting checklist — amount, code, adjustment, patient balance — and require it before a claim is marked posted.
  • Accepting every CO-45 unverified. Audit against current contracts quarterly and on every renewal notice.
  • Letting fee schedules go stale. Make a fee schedule update the first action triggered by any contract renewal.
  • Skipping the three-way match on busy days — exactly when most errors happen.

For DSOs, the highest-leverage controls are a centralized adjustment code library (every location maps codes to the same buckets) and a weekly CO-45 exception report sorted by CDT code and payer. If your error rate concerns you, comparing manual versus automated EOB processing error rates helps you decide where automation actually pays off.

How Velano helps upstream

Velano does not post EOBs, calculate adjustments, reconcile deposits, or do any billing or revenue-cycle work. It is an AI receptionist for dental practices. Its value lands before the claim is ever submitted — which is exactly where a surprising share of adjustment errors begin.

Many CO-45 mismatches and fee-schedule errors trace back to incomplete insurance details captured at scheduling: a wrong group number, the wrong plan code, a missing subscriber ID. When that data is wrong, the claim goes out against the wrong contract and the adjustment math is off from the start. Velano answers every call and text 24/7, books directly into your PMS, and collects the plan, group number, and subscriber ID on the booking call, so fewer claim-data mismatches reach billing. It also protects focus — when billers are pulled to the phone all day, the daily three-way match is the first thing to slip, so covering the phones keeps the uninterrupted time this audit work needs. Velano won't read a CARC or dispute an underpayment for you, but it keeps intake clean and the desk staffed.

See how Velano keeps your front desk covered.

Stop losing patients to voicemail.

See how Velano answers every call, books into your PMS, and follows up — so patients show up.