When we audit a practice, one of the first reports we ask for is adjustments by code for the past twelve months. In a five-provider orthopedic group last year, that report had two lines. "Contractual adjustment" accounted for 94 percent of all adjustments, about $2.9 million. "Other adjustment" was the rest, about $180,000. That was the entire explanation for every dollar the practice had billed and not collected. When we rebuilt the detail from the 835 remittance files, roughly $210,000 of what had been posted as contractual was actually denials that were never worked, underpayments that were accepted, and timely filing losses. The practice had written off more than it knew, and it had no way to know.
A medical practice write-off policy is the document that prevents that. It says which adjustment codes exist, what each one means, who is allowed to use it, how much they can write off without a second signature, and what report the owners see every month. It sounds like bookkeeping. It is the closest thing a practice has to a leak detector, because every dollar that fails to arrive leaves through an adjustment code, and if the codes are vague the leaks are invisible.
This article describes how we set one up: the difference between a contractual adjustment and a loss, the code list we insist on, approval thresholds that fit a small practice, the monthly report, and the patterns in that report that tell you where to look.
Key takeaways
- A contractual adjustment is the difference between your charge and the contracted allowable; everything else written off is a loss and needs its own code.
- Most practices post denials, underpayments and timely filing losses to the contractual code, which hides them from every report.
- A working code list has twelve to twenty codes, each tied to a specific cause, and staff may use only the codes the policy assigns to them.
- Approval thresholds, such as a second signature above $250 per claim and physician approval above $1,000, stop the quiet write-off of appealable claims.
- The monthly adjustments-by-code report, read next to collections, is the single best revenue leakage report a practice can run.
Contractual adjustments versus everything else
When you bill $210 for a 99214 and the payer's contract allows $126.40, the $83.60 difference is a contractual adjustment. You were never entitled to it. Writing it off is correct and carries no information except that your charge master is above the fee schedule, which it should be. On the 835 remittance it arrives as CO-45, and it should post automatically to a contractual adjustment code specific to that payer or payer class.
Everything else is different. A claim denied CO-197 for a missing authorization was money you were entitled to and did not collect. A claim paid at $118 when the contract says $126.40 is an $8.40 underpayment. A balance the patient never paid is bad debt. A claim that missed timely filing is a process failure. A small balance the practice chose not to pursue is a policy decision. Each of these is a loss, each has a different cause and a different fix, and posting any of them to the contractual code erases the distinction. The orthopedic group's billers were not hiding anything. The system defaulted to contractual, and nobody had told them otherwise.
The adjustment code list
The list below is the structure we build in most practice management systems. The exact names vary; the categories do not. Every code has a definition, an owner (who may use it) and a rule for when it applies.
| Code | Definition | Who may post it | Approval |
|---|---|---|---|
| Contractual, by payer class (Medicare, Medicaid, commercial, MA) | Charge minus contracted allowable, from CO-45 on the remit | Auto-post from ERA; poster | None; variance report reviews it |
| Underpayment accepted | Allowed amount below contract, appeal declined or exhausted | Biller | Manager above $100 per claim |
| Denial, authorization | CO-197 or similar, appeal exhausted or not possible | Biller | Manager above $250; physician above $1,000 |
| Denial, medical necessity | CO-50 and related, appeal exhausted | Biller | Manager above $250; physician above $1,000 |
| Denial, coding or bundling | CO-97, CO-4, NCCI edits, appeal exhausted | Biller | Manager above $250 |
| Denial, eligibility or registration | Coverage inactive, wrong payer, no other payer found | Biller | Manager above $250 |
| Timely filing | CO-29 with no provable exception | Biller | Manager on every claim |
| Provider enrollment | CO-B7 and related, provider not loaded, retro billing refused | Manager | Physician above $1,000 |
| Small balance | Patient or payer balance under the policy threshold (for example $10) | Auto or biller | None within threshold |
| Bad debt | Patient balance after the full statement cycle and collection step | Manager | Physician above $500 |
| Financial hardship | Documented hardship under the written policy | Manager | Physician on every account |
| Professional courtesy | Per written policy only | Manager | Physician on every account |
| Administrative error | Charge entry or duplicate corrections | Biller | Manager above $250 |
| Refund or credit resolution | Adjustment tied to a processed refund | Poster | Manager |
Two rules make the list work. First, no generic "other" or "miscellaneous" code. If a situation does not fit, the biller asks the manager and a code is added, with a definition. Second, the contractual code is reserved for CO-45 and its equivalents. A biller who posts a denial to contractual has miscategorized it, and the monthly report will show a contractual percentage that is too high for the payer mix, which is the first thing we check.
Approval thresholds that fit a small practice
The thresholds in the table are starting points, not rules. The principle is that the person writing off the money should not be the only person who knows. A biller can close small denials alone because the cost of a second review exceeds the amount. Above a few hundred dollars, a manager looks at it and asks one question: was this appealed, and if not, why not? Above a thousand, a physician sees it, because at that level the write-off is a clinical service somebody performed for free. Timely filing gets manager review on every claim regardless of size, because timely filing is never the payer's fault and the practice should feel each one.
Hardship and courtesy adjustments need a written policy and physician sign-off every time, and not only for revenue reasons. Routine waivers of Medicare cost sharing raise compliance issues under the beneficiary inducement rules, and professional courtesy for referral sources has its own legal exposure. Ask counsel to review both policies before they are used, and document each application.
The monthly report and how to read it
Once the codes exist, the monthly report is adjustments by code, by payer, for the month and the trailing twelve months, with each code as a percentage of gross charges. Read it next to net collections. In a practice with a normal payer mix, contractual adjustments run somewhere between 40 and 65 percent of charges depending on how the charge master is set, and that number should be stable month to month. The loss codes together should be small: in the practices we consider well run, denials written off, underpayments accepted and timely filing combined stay under 2 to 3 percent of charges, and bad debt depends heavily on specialty and patient mix.
The patterns to look for. Contractual percentage rising in January without a fee schedule change means the payer's new schedule differs from yours, or denials are being posted as contractual. Authorization write-offs rising for one payer means that payer changed its authorization list and nobody caught it. Timely filing write-offs at all mean a workflow gap: an unbilled encounters report is not being run, or a rejection queue is not being worked. Provider enrollment write-offs mean someone started seeing patients before enrollment was confirmed. Underpayments accepted rising means billers are giving up on appeals, often because the appeal queue is too large for the staff.
In the orthopedic group, the rebuilt report showed that $84,000 of the misposted amount was authorization denials concentrated in two payers and one procedure family, and that the practice's authorization workflow for that procedure had never been updated after the payers moved it onto their lists in 2023. That is the sort of finding the two-line report could never have produced. A practice that wants the rebuild done from its own 835 files is describing our RCM audit, and the first deliverable is usually this report.
Small balances and bad debt: the policy decisions
Some write-offs are deliberate and appropriate. A small balance policy says that balances under a threshold, commonly $5 to $15, are adjusted off rather than pursued, because a statement costs more than the balance. Set the threshold in writing, apply it to payer and patient balances alike, and review the total quarterly; a $10 threshold across 4,000 accounts is a meaningful sum. Bad debt is a patient balance that has gone through the full statement cycle (usually three statements over 90 to 120 days), a phone call and either a collection agency placement or a decision not to place. It should never be written off before the cycle completes, and the report should show the bad debt total against patient charges so the practice can see whether front desk collections are keeping up.
Questions we hear
Our system auto-posts everything from the ERA. Can it assign these codes automatically?
Partly. CO-45 should auto-post to contractual by payer class, and PR codes should transfer to patient balance automatically. Denial codes should not auto-adjust at all; they should route to a work queue and only be written off by a person choosing the loss code after the appeal is exhausted. If your system auto-adjusts denials, turn that off. It is the single largest source of hidden write-offs we see.
How far back should we go to fix miscategorized adjustments?
Do not repost history; it will confuse every prior month's reports. Rebuild the past twelve months from the 835 files as a one-time analysis to learn where the losses were, then start the new code structure on a clean month. The historical analysis is worth doing because it may surface appealable claims still inside the payer's appeal window.
Is a higher contractual adjustment percentage a problem?
Not by itself. It reflects the gap between your charges and your contracts, and a charge master set well above the highest contracted rate produces a high contractual percentage on purpose. The problem is a percentage that changes without a reason, or one that is higher than the charge master and payer mix can explain, because that gap is losses posted to the wrong code.
What to do this week
- Run adjustments by code for the past twelve months and count how many codes carry 90 percent of the total.
- Check whether your practice management system auto-adjusts any denial reason codes, and turn that off for every CO code except CO-45.
- Draft the adjustment code list from the table above, with definitions, owners and thresholds, and review it with the billing team.
- Pull ten of last month's largest "contractual" adjustments and check each against the 835 to see whether it was really a CO-45.
- Schedule the adjustments-by-code report for the monthly close and put it on the same page as net collections.
