River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Payer Underpayment Recovery Process Template

Four documents and three sheets, where a variance with no contract clause behind it never leaves the building.

Free download  ·  No account needed

Underpayment Register

One row per paid line, with the reason it closed at the wrong number

The register is per line rather than per claim, because a payer underpays a line and pays the rest of the claim correctly. The two right-hand columns are what a payer can act on.

ClaimLineCodeUnitsPlace of serviceSchedule versionSchedule amountContract %Expected allowablePaidVarianceBasisClause
             
             

How the two derived columns work

Expected allowable is the contracted percentage times the schedule amount the contract names, times units. Variance is expected allowable minus what the payer actually allowed. Both are arithmetic. Neither is a claim yet.

Basis, and why the cell cannot be empty

Basis takes one of five values, each tied to a clause in the contract: contracted multiple never applied, priced off the prior year schedule, facility differential on an office service, unit or bilateral denied as duplicate, separate service bundled. A row with a variance and no basis is not sendable. It is a number nobody at the payer can do anything with.

Two columns that catch the practice's own errors first

Schedule version and place of service. Reading last year's schedule, or reading the facility amount for a service performed in the office, produces a variance that is entirely yours. Recording both on the row is what stops a recovery letter from being wrong.

A denied claim announces itself. An underpaid claim does not: it adjudicates, it pays, the remittance looks ordinary, and no appeal window ever opens. The only way to see it is to compute what the contract said the line was worth and compare. For a contract written as a percentage of a published schedule that number is derived rather than guessed, because the schedule amount is the product of the relative value units, the geographic adjustment factor and the conversion factor by regulation.

Deriving the variance is the easy half. The half practices skip is the next column: basis. A variance is a number, and a payer receiving a spreadsheet of numbers closes the enquiry. A basis is a reason with a clause behind it, and the register in this pack will not accept a row without one. Five values are permitted, each mapped to a contract provision, so every claimed dollar arrives attached to the specific thing the payer did and the specific term it contradicts.

Then the basis column does a second job nobody expects. Group a quarter by basis instead of by claim and 1,262 underpaid Ridgeline Health lines at Halstead Orthopaedic Associates collapse into five letters worth 39,852.40. Two of those bases are invisible per claim: 903 lines short by 11.20 each look paid. That is also why a stale schedule version on your own side has to be ruled out first, which is what payer contract and fee schedule review is for.

One claim short by 527.22, and a quarter that became five letters

The register at line level, the same quarter collapsed by basis, and what each of the five letters got back.

Underpayment Register

Illustrative rows for a fictional practice, Halstead Orthopaedic Associates. One claim, six lines, contracted at 138 percent of the schedule the contract names. Five lines carry a variance and every one of them carries a basis.

LineCodeUnitsPOSSched. ver.ScheduleExpectedPaidVarianceBasisClause
1298811Office2026620.00855.60620.00235.60Contracted multiple never applied4.2
2206102Office202668.00187.6893.8493.84Unit or bilateral denied as duplicate4.4
3992041Office2026168.00231.84231.840.00None 
4737211Office2026214.00295.32236.2659.06Facility differential on an office service4.2
5644831Office2025302.00416.76405.0011.76Priced off the prior year schedule4.2
6992131Office202692.00126.960.00126.96Separate service bundled4.6
TotalClaim 88412    2,114.161,586.94527.22Five bases 

The claim adjudicated. Nothing was denied, no appeal window opened, and the remittance looked like a paid claim. It was short by 527.22 across five lines, and the largest single miss is line 1, where the contracted 138 percent was simply never applied and the payer paid its own schedule amount instead. Line 5 is the practice's own error surfacing in the same register: the schedule version column says 2025, so the 11.76 belongs to whoever loaded the fee file, not to the payer.

Payer Pattern Analysis

One quarter of Ridgeline Health lines, collapsed by basis rather than by claim. This is the sheet that makes recovery tractable for a two-person billing office: 1,262 underpaid lines become five letters.

BasisClauseLinesAvg varianceQuarter totalRank by avgRank by totalThe payer-side fix
Facility differential on an office service4.221452.1011,149.4041Read place of service from the claim
Priced off the prior year schedule4.290311.2010,113.6052Load the current year fee schedule
Contracted multiple never applied4.238214.908,166.2014Apply the contracted percentage to these provider ids
Modifier-distinct service bundled4.646121.305,579.8023Stop applying bundling edits the contract does not incorporate
Unit or bilateral denied as duplicate4.46179.404,843.4035Honour the bilateral provision
Total 1,262 39,852.40  Five letters
Lines paid correctly 1500.000.00  Nothing to do

Read the two rank columns against each other. The basis that hurts most per line is the contracted multiple never being applied, at 214.90 a line, and it is fourth by total because it only hit 38 lines. The basis that costs the most money is the facility differential, at 52.10 a line across 214 lines, and it is fourth by average. Chasing the worst average recovers 8,166.20 and chasing the largest total recovers 11,149.40, and neither of those is the biggest line count: 903 lines priced off a stale schedule at 11.20 each. No claim-level review finds any of these, because at 11.20 a line the individual claim looks paid.

Recovery Tracking

The five letters and what came back. One row per basis, per payer, per period, because that is the unit the letter was written in.

BasisLines claimedClaimedSentResponseLines acceptedRecoveredLines refusedStatus
Priced off the prior year schedule90310,113.602026-04-142026-05-0690310,113.600Recovered in full
Unit or bilateral denied as duplicate614,843.402026-04-142026-05-21614,843.400Recovered in full
Contracted multiple never applied388,166.202026-04-142026-06-02388,166.200Recovered in full
Facility differential on an office service21411,149.402026-04-142026-05-211085,626.80106Partially recovered
Modifier-distinct service bundled465,579.802026-04-142026-06-18192,304.7027Partially recovered
Total1,26239,852.40  1,12931,054.7013377.9 percent recovered

The refusal column is the one to read

BasisRefusal, recorded verbatimWhat it actually means
Facility differentialPlace of service submitted as 22 on the claims in questionThe practice's error on 106 of 214 lines. A coding fix, and the 108 accepted lines prove the other half was the payer.
Modifier-distinct service bundledEditing applied per payer clinical policy referenced in exhibit CA contract dispute rather than a processing error. It needs the contract read against the exhibit, which is the escalation path rather than a second letter.

Three bases came back in full and two came back split, and the split ones are split for opposite reasons. Recording the refusal in the payer's own words is what lets you tell those two apart six months later, when the same quarter's pattern repeats and somebody asks whether it is worth writing again.

What's in the pack

01

How the Basis Column Works

The method before the sheets: the expected-allowable formula, the five permitted basis values with the clause each one cites, and the non-nullable rule that stops a spreadsheet of numbers going out as a claim.

02

Contract Reading Note

What to establish before computing anything: which schedule the contract incorporates, which year of it, whether facility and office amounts are distinguished, and which external edit policies the contract does and does not adopt.

03

Underpayment Register

One row per paid line carrying schedule version, place of service, expected allowable, variance, basis and clause, plus a sendable flag that is No until the basis cell is filled.

04

Payer Pattern Analysis

The quarter collapsed by basis, with rank by average variance and rank by total in adjacent columns because they disagree, and the payer-side fix named for each row.

05

Recovery Letter by Payer

One letter per basis rather than per claim, quoting the clause, stating the derivation, and attaching the line schedule. The letter asks for a reprocessing run, not a review.

06

Recovery Tracking

Lines claimed against lines accepted, with the refusal recorded in the payer's own words, which is what separates a coding error on your side from a contract dispute on theirs.

07

Escalation Procedure

What to do with a refusal or a silence, in order, ending at the contract's own dispute clause and the regulator that actually has jurisdiction over that plan type.

08

Handoffs that keep this register honest

A claim the payer never paid at all is a receivable with a clock on it, so it belongs in the AR and collections pack. A denied line needs an argument, which is the denial appeal pack.

How to use it

  1. 1

    Open in River, or download it

    Open the pack in River and let the agent derive expected allowable across your remittance file, or download the blank Word and CSV files instantly and work one payer by hand.

  2. 2

    Read the contract before the remittance

    Which schedule, which year, which percentage, and whether facility and office amounts are separated. Get this wrong and every variance you compute is your own arithmetic error.

  3. 3

    Derive, then assign a basis to every variance

    Expected allowable minus allowed, per line. Then the basis, or the row stays unsendable. Rows whose basis is your own stale schedule get fixed rather than claimed.

  4. 4

    Group by basis and send one letter each

    Five letters beat 1,262 line items. Log what came back verbatim, because the refusal wording is what tells you whether to escalate or to fix something on your side.

Frequently asked questions

Is this template free?

Yes. The four documents and three sheets download as Word and CSV files with no signup and no card. "Edit with AI" is the optional path for practices that want expected allowable derived across a whole remittance file. The rest of the library is at the template library.

What format are the downloaded files?

Word documents for the method note, the contract reading note, the recovery letter and the escalation procedure, plus CSV for the three registers, zipped into one file. They open in Word, Pages, Google Docs, Excel, Numbers and Sheets with nothing to convert first.

How is expected allowable derived rather than assumed?

The contracted percentage times the schedule amount the contract names, times units. Where that schedule is the physician fee schedule, its components are set in regulation rather than by the payer. CMS establishes relative value units for work, practice expense and malpractice insurance. The fee schedule amount is those units times the geographic adjustment factor times the conversion factor, so the expected number is reproducible.

Why can the basis cell not be left empty?

Because a variance with no reason is unactionable at the other end. The register marks such a row unsendable, which sounds bureaucratic until you watch the alternative: a list of numbers goes out, the payer closes it as an enquiry, and the practice records that the payer refused. The payer was never told what to fix.

Why group by basis rather than working claim by claim?

Because the arithmetic favours it heavily and the small variances are the ones claim review cannot see. In the worked quarter, 903 lines were each short by 11.20, which looks like a paid claim every single time and adds up to 10,113.60. Five letters replaced 1,262 line items.

Does this decide whether the payer owes the money?

No. It states what the contract says, what was paid, the difference, and the clause the two disagree on, so a practice manager or a healthcare attorney can decide what to pursue. The register's own refusal column exists precisely because some variances turn out to be the practice's coding rather than the payer's pricing.

Does this handle denials or unpaid claims?

Neither. An underpayment adjudicated and paid, which is why nobody catches it. A whole remittance gets sorted first by remittance and denial triage, and a line denied outright needs an argument written against its reason code rather than a rate comparison.

Find out what your paid claims were actually worth

Send a remittance file and the contracted percentage and schedule your contract names. The first thing back is the quarter grouped by basis, with the practice's own errors separated out.

Edit with AI