numbered
Health system or billing company
← Back to Agent Library

Underpayment Detection Agent

Checks every remittance against your contracted rate the moment it posts, and flags the gap for appeal.

Who it's for
Revenue cycle teams reconciling payer remittances against contracted rates.
What it replaces
Manual rate-versus-payment auditing, usually sampled rather than complete.
<div class="hx-demo-box" style="margin-top:40px;border:1px solid #D2D2CA;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 12px 32px -12px rgba(23,25,21,.18)"><div style="background:#F7F7F3;border-bottom:1px solid #D2D2CA;padding:10px 20px;display:flex;align-items:center;gap:10px"><span style="width:11px;height:11px;border-radius:50%;background:#E4E4DE"></span><span style="width:11px;height:11px;border-radius:50%;background:#E4E4DE"></span><span style="width:11px;height:11px;border-radius:50%;background:#E4E4DE"></span><span style="font-size:12px;color:#8B9086;margin-left:6px">remits.local/835/reconcile</span></div><table style="width:100%;border-collapse:collapse;font-size:13px"><thead><tr style="background:#FAFAF7"><th style="text-align:left;padding:10px 20px;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#8B9086;font-weight:600">CPT</th><th style="text-align:left;padding:10px;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#8B9086;font-weight:600">Contracted</th><th style="text-align:left;padding:10px;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#8B9086;font-weight:600">Paid</th><th style="text-align:left;padding:10px 20px;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#8B9086;font-weight:600">Status</th></tr></thead><tbody><tr style="animation:fadeUp .3s ease both"><td style="padding:9px 20px;border-top:1px solid #E4E4DE">99213</td><td style="padding:9px 10px;border-top:1px solid #E4E4DE">$112.00</td><td style="padding:9px 10px;border-top:1px solid #E4E4DE">$112.00</td><td style="padding:9px 20px;border-top:1px solid #E4E4DE;color:#3E4A1B">Matched</td></tr><sc-if value="{{ r2 }}"><tr style="animation:fadeUp .3s ease both"><td style="padding:9px 20px;border-top:1px solid #E4E4DE">80053</td><td style="padding:9px 10px;border-top:1px solid #E4E4DE">$38.50</td><td style="padding:9px 10px;border-top:1px solid #E4E4DE">$38.50</td><td style="padding:9px 20px;border-top:1px solid #E4E4DE;color:#3E4A1B">Matched</td></tr></sc-if><sc-if value="{{ r3 }}"><tr style="animation:fadeUp .3s ease both;background:#FCEFED"><td style="padding:9px 20px;border-top:1px solid #E4E4DE;font-weight:700">27447</td><td style="padding:9px 10px;border-top:1px solid #E4E4DE;font-weight:700">$1,840.00</td><td style="padding:9px 10px;border-top:1px solid #E4E4DE;font-weight:700">$1,290.00</td><td style="padding:9px 20px;border-top:1px solid #E4E4DE;color:#8A2E29;font-weight:700">&#9888; Underpaid $550</td></tr></sc-if></tbody></table><sc-if value="{{ isDone }}"><div style="padding:16px 20px;border-top:1px solid #E4E4DE;background:#FAFAF7;font-size:13px;color:#171915;animation:pop .4s ease both">Underpayment tied to contract section 4.2, Anthem BCBS fee schedule. Appeal packet ready.</div></sc-if></div>
window.HX_DEMOS=window.HX_DEMOS||{}; window.HX_DEMOS["und"]=function(Base){ const CYCLE_SEC=8; class Comp_und extends Base { state={t:0,name:'',email:'',org:'',formSubmitted:false}; componentDidMount(){ this._start=Date.now(); this._iv=setInterval(()=>{ if((Date.now()-this._start)/1000>=CYCLE_SEC){clearInterval(this._iv);return;} const t=((Date.now()-this._start)/1000)%CYCLE_SEC; this.setState({t}); },150); } componentWillUnmount(){clearInterval(this._iv);} onName=(e)=>this.setState({name:e.currentTarget.value}); onEmail=(e)=>this.setState({email:e.currentTarget.value}); onOrg=(e)=>this.setState({org:e.currentTarget.value}); submit=()=>this.setState({formSubmitted:true}); renderVals(){ const t=this.state.t; return {r2:t>=0.8,r3:t>=1.8,isDone:t>=3, name:this.state.name,onName:this.onName,email:this.state.email,onEmail:this.onEmail,org:this.state.org,onOrg:this.onOrg,submit:this.submit, formOpen:!this.state.formSubmitted,formSubmitted:this.state.formSubmitted,nameSuffix:this.state.name?', '+this.state.name.split(' ')[0]:''}; } } return Comp_und; };
Reconcile your own remits →
Free to start. No credit card.

How the Underpayment Detection Agent works

1
Ingests remittance data
Ingests remittance data
Pulls 835 remittance files as payer payments post.
2
Compares to contract
Compares to contract
Checks the paid amount against the contracted rate for that payer, code, and modifier combination.
3
Flags the gap
Flags the gap
Surfaces underpayments above a set threshold, with the dollar amount and the contract clause behind it.
4
Step label
Packages the appeal
Assembles the supporting documentation needed to dispute the underpayment with the payer.
5
Step label
100%
of remittances checked, not a sample
1 quarter
typical time for the agent to pay for itself
Same day
appeal packet ready after a flag

Find the money already owed to you.

Start free, we'll reconcile a batch of your real remits against contract.

Checked against your actual contracted rates, not a benchmark
Every flag includes the appeal packet, ready to send
Free for your first 90 days of remits, no credit card
Starts free
Takes about 30 seconds. No sales deck required.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.