Payment Posting in Medical Billing: The Denial Control Point
By MedPrecision Operations Team · Published
Payment posting is the revenue cycle step where every payer and patient payment, contractual adjustment, and denial is recorded against the corresponding claim and line item — the moment your billing system learns whether a claim was paid in full, paid short, adjusted, or denied. It sounds clerical, but it is the single highest-leverage control point in the revenue cycle: posting is where denials are first detected, where underpayments surface, and where the data that drives every downstream KPI (net collection rate, days in A/R, denial rate) is created. Post it wrong and the denial worklist is wrong, the A/R is wrong, and the dollars walk. This guide explains exactly what payment posting is, how electronic ERA (835) posting differs from manual EOB posting, the reconciliation steps that catch errors before they compound, the posting-accuracy KPI band to hold your team to, and the named denial codes posting should be routing into the right queue.
What Is Payment Posting in Medical Billing?
Payment posting in medical billing is the process of recording every payment, contractual adjustment, write-off, and denial against the specific claim and line it applies to — using the payer's electronic remittance (the X12 835 ERA) or a paper EOB. It is the control point where denials and underpayments are first detected and routed for recovery.
- ERA (835) auto-posting handles 80-95% of lines; manual EOB posting covers the rest
- Posting accuracy should sit at 99%+ — errors corrupt the denial worklist and A/R
- Every denied line must carry its CARC/RARC into a worklist, not just a write-off
- Reconciliation ties posted dollars to the deposit (835/EFT match) before close
- Mis-posting a CO adjustment as a PR balance illegally bills the patient
What Payment Posting Actually Records
Updated June 2026. Payment posting (also called cash posting or remittance posting) is the act of taking what the payer or patient actually paid and recording it line by line against the open claim — so the system reflects reality, not what you expected.
Every posted line resolves a claim's charge into four buckets:
- Payment — the dollars the payer actually allowed and paid (or the patient paid).
- Contractual adjustment (write-off) — the difference between your charge and the contracted allowed amount, taken under the CO (Contractual Obligation) group code. This is a write-off you agreed to in the contract; it is not a loss to chase.
- Patient responsibility — deductible, coinsurance, or copay, taken under the PR (Patient Responsibility) group code. This is what gets billed to the patient.
- Denial / non-payment — a line the payer refused, carrying a CARC (Claim Adjustment Reason Code) such as CARC 97 or CARC 50 and often a RARC remark for detail.
The posting equation for any line is: Charge = Payment + Contractual Adjustment + Patient Responsibility + Denied/Other. If those do not balance to the charge, the line is mis-posted, and every report built on top of it inherits the error.
The reason posting is the denial control point: a denial is not a separate event you discover later — it is a posted line. The denial enters your revenue cycle at the moment of posting, carried on the remittance as a CARC. If posting silently writes that line off instead of routing it to a denial worklist, the denial is invisible, the appeal window runs out, and the money is gone. Strong posting is the difference between catching a denial in 24 hours and finding it in a 120-day A/R audit. See our payment posting glossary entry for the term definition.
Posting-Accuracy KPI Band: What Good Looks Like
Posting is judged on two numbers: accuracy (are lines posted correctly?) and timeliness (are payments posted within a day or two of receipt?). Slow posting inflates days in A/R artificially — the cash is in the bank but the claim still looks open. Inaccurate posting corrupts the denial worklist and the net collection rate.
The band below reflects what high-performing revenue cycle teams target. There is no single national-authority published benchmark for "posting accuracy" the way HFMA publishes A/R days, so treat these as operational targets and verify against your own audit sample:
| KPI | Best in class | Acceptable | Problem zone |
|---|---|---|---|
| Posting accuracy (audited sample) | 99.5%+ | 98-99.4% | Below 98% |
| Payment posting lag (receipt to posted) | < 24 hrs | 24-48 hrs | > 48 hrs |
| ERA auto-post rate (lines auto-posted) | 90-95% | 75-89% | < 75% |
| Unapplied / unidentified cash | < 1% of posted | 1-3% | > 3% aging |
| Denials routed to worklist (vs written off) | 100% | 95-99% | < 95% |
How to measure posting accuracy. Pull a random sample of 30-50 posted remittance lines per poster per month and re-adjudicate them against the source 835/EOB: was the payment, adjustment, group code, and CARC posted to the right line? Accuracy is correct lines / sampled lines. In our payment-posting audits we typically find the most common error is not a wrong dollar amount — it is a mis-classified group code, where a CO contractual write-off is posted as PR patient responsibility (or vice versa), which either illegally bills the patient or eats a write-off that should have been a balance bill.
Why unapplied cash matters. Money received but not yet matched to a claim ("unidentified" or "unapplied" cash) is a silent leak. It sits in a suspense account, never reduces A/R, and if it ages past the payer's refund/escheatment rules can become a compliance problem. Best-in-class teams keep unapplied cash under 1% of posted dollars and work it to zero weekly.
ERA (835) vs Manual EOB vs Manual Posting
There are two source documents for posting and two ways to do it. The ERA — Electronic Remittance Advice, technically the X12 835 transaction — is the machine-readable file a payer sends back to tell you how a claim adjudicated. The EOB (Explanation of Benefits) is the human-readable paper or PDF version of the same information. (For the full distinction, see ERA vs EOB and the ERA glossary entry.)
The 835 is the file you auto-post from. The EOB is what you post manually when no 835 exists (small or out-of-state payers, patient checks, paper-only plans). Here is how the three approaches compare:
| Dimension | ERA / 835 (auto-post) | EOB (manual post) | Manual keying (no remit) |
|---|---|---|---|
| Source format | X12 835 electronic file | Paper / PDF from payer | Check stub, portal screen |
| Speed | Seconds to post a full file | Minutes per claim | Slowest, line by line |
| Error rate | Lowest (rules-driven) | Human transcription risk | Highest error risk |
| CARC/RARC capture | Automatic, structured | Manual lookup | Often missed |
| Best for | High-volume electronic payers | Payers with no 835, patient pay | Exceptions only |
| Reconciliation | EFT/835 trace number match | Manual deposit match | Hardest to reconcile |
| Posting accuracy | 99%+ when rules are clean | Depends on poster | Lowest |
Auto-posting (ERA) — how it works. Your clearinghouse or PM system ingests the 835, matches each line to the open claim by claim number and service line, and applies the payment, adjustment (by group code), and CARC automatically. A clean ERA setup auto-posts 90-95% of lines and drops only the exceptions — unmatched claims, denials needing review, underpayments below the contracted rate — into a manual worklist. Auto-posting is faster and more accurate, but only as good as its posting rules. Bad rules silently write off denials or mis-route adjustments at scale.
Manual posting — when it is unavoidable. Some payers never send an 835. Patient payments (card, check, portal) often post manually. Paper EOBs from secondary or tertiary payers require a human to read the form and key the splits. Manual posting is where most accuracy errors enter, which is why the audit sample matters most for manual posters.
The hybrid reality. Nearly every practice runs a hybrid: auto-post the 835s, manually post the EOBs and patient payments, and manually review every auto-post exception. The goal is not 100% automation — it is maximizing the auto-post rate while making sure no denial slips through as a silent write-off.
The Payment Posting Process, Step by Step
A disciplined posting workflow runs the same loop every day, whether the source is an 835 or a paper EOB.
- Retrieve the remittance and the deposit. Pull the day's 835 files (or paper EOBs) and the matching bank deposit / EFT report. You cannot reconcile what you have not gathered. Note the EFT trace / 835 reassociation number that ties the remittance to the deposit (per X12 005010X221A1, the 835 carries a trace number that should match the EFT).
- Match each remittance to a claim. Auto-post matches by claim and line. For manual posting, locate the open claim by patient, DOS, and claim number. Unmatched remittances go to an exception queue, not into the void.
- Post payment, adjustment, and patient responsibility by group code. For each line, record the payment, the CO contractual adjustment, the PR patient responsibility, and any other adjustment exactly as the remittance reports them. Never reclassify a CO as PR to "recover" a write-off — that bills the patient illegally.
- Route every denial to the denial worklist with its CARC/RARC. A denied line is not a write-off — it is a task. Post the CARC (and RARC) and send it to denial management so the appeal clock starts immediately. This is the step that makes posting the denial control point.
- Flag underpayments against the contracted rate. If the payment is below your contracted allowed amount, the line is an underpayment even though it "paid." Auto-post rules should compare the paid amount to the expected contract rate and flag the variance for A/R follow-up.
- Move the patient balance. Once payer adjudication is posted, the PR balance transfers to patient responsibility (or to the secondary payer if COB applies). This is what triggers the patient statement or the secondary claim.
- Reconcile and close the batch. Total posted payments must equal the deposit. Reconcile the batch before closing the day (covered next). Any variance is investigated before close, not after.
Reconciliation: Tying Posted Dollars to the Deposit
Reconciliation is the control that proves what you posted equals what you actually received. Skip it and posting errors accumulate silently until a month-end close blows up.
Daily batch reconciliation. At the end of each posting batch, the total of all payments posted must equal the total of the bank deposit and EFT receipts for that batch. The 835 reassociation/trace number is the link: the trace number on the 835 should match the EFT addenda from the bank, so a posted 835 maps to a specific deposit. If posted dollars and deposited dollars do not match, you have one of: an unposted remittance, a double-posted line, an unidentified payment, or a keying error. None of these should survive to the next day.
The reconciliation checklist:
- Total posted payments = total deposits for the batch.
- Every 835 retrieved is posted (none stuck in the clearinghouse).
- No payment is double-posted (a common cause of a phantom credit balance).
- Unidentified / unapplied cash is logged to suspense and worked, not ignored.
- Adjustments tie out: contractual write-offs equal charge minus allowed for every line.
- Credit balances are flagged for refund review (overpayments must be refunded, not kept — Medicare requires refund within 60 days of identification under the ACA 60-day rule).
Month-end reconciliation rolls the daily batches up: posted cash for the month should reconcile to the bank statement and to the cash line in the practice's financials. A clean daily process makes month-end a formality; a sloppy one makes it a forensic investigation.
Why credit balances are a posting problem, not just an accounting one. A credit balance usually means an overpayment, a double-post, or a COB error — the patient or a secondary paid on top of a primary that already paid in full. Overpayments to federal payers carry a 60-day refund obligation; unrefunded credit balances are an audit and False Claims Act exposure. Posting is where most credit balances are created, so posting is where they should be caught.
Common Denials Payment Posting Should Be Routing
Because posting is where denials first appear, the posting team is effectively the first line of denial triage. Every denied line should be posted with its CARC and routed to the right queue — not silently written off. These are the denials posting sees most, with where each should go.
| CARC | Group | Meaning (X12) | Where posting should route it |
|---|---|---|---|
| CARC 97 | CO | Payment included in allowance for another service (bundling/NCCI) | Denial worklist — check NCCI modifier indicator, may need modifier 59/X |
| CARC 50 | CO/PR | Non-covered — not deemed medically necessary | Denial worklist — verify dx/LCD, appeal with documentation |
| CARC 45 | CO | Charge exceeds fee schedule / contracted amount | Contractual write-off (correct) — flag only if below contract rate |
| CARC 16 | CO | Claim/service lacks information needed for adjudication | Correction queue — resubmit with the missing data, not an appeal |
| CARC 27 | CO/PR | Expenses incurred after coverage terminated | Eligibility / patient queue — see CARC 27 |
| PR 1 | PR | Deductible amount | Patient responsibility — transfer to patient balance |
| PR 2 | PR | Coinsurance amount | Patient responsibility — transfer to patient balance |
| PR 3 | PR | Copayment amount | Patient responsibility — transfer to patient balance |
The pattern that matters: CO codes are payer/provider adjustments; PR codes are billable to the patient; denial CARCs (97, 50, 16) are tasks, not write-offs. The single most expensive posting mistake is treating a CO denial line as a final write-off when the CARC indicator says it is appealable, or — worse — reclassifying a CO line as PR and balance-billing a patient for an amount your contract says is your write-off.
A related trap: posting a contractual adjustment (CARC 45) as if it were the full expected payment, when the paid amount is actually below your contracted rate. That is an underpayment hiding inside a normal-looking adjustment, and only a posting rule that compares paid-vs-contract catches it. For the broader denial taxonomy, see our CARC denial codes list and denial management explained.
Why Mis-Posting Quietly Destroys Revenue
Posting errors do not announce themselves. They corrupt downstream data and surface weeks later as A/R that will not collect. The four that cost the most:
1. Silent denial write-offs. A denial posted as a write-off never reaches the denial worklist, so it is never appealed and the appeal window closes. In our posting audits this is the most expensive single error because it is invisible — the claim looks resolved. Routing every CARC to a worklist (step 4 above) is the fix.
2. Group-code misclassification. Posting a CO contractual obligation as PR patient responsibility bills the patient for an amount your contract says you must write off — a contract and often regulatory violation. The reverse (PR posted as CO) writes off money you were entitled to collect from the patient. Both corrupt net collection rate.
3. Unidentified cash left in suspense. Payments received but not matched to a claim never reduce A/R, so A/R looks worse than it is, and the cash can age into refund/escheatment territory. Working unapplied cash to under 1% weekly prevents this.
4. Underpayments posted as full payment. When the paid amount is below the contracted rate but posting accepts it as final, the variance is lost. Contract-rate comparison at posting is the only reliable catch.
The through-line: posting feeds net collection rate, days in A/R, the denial rate, and the first-pass resolution rate. Garbage in at posting means every KPI lies, and decisions made on those KPIs are wrong. Posting accuracy is not a clerical nicety — it is the integrity layer the entire revenue cycle stands on.
Auto-Posting vs Manual Posting: Which to Use When
Auto-posting is not always better in every situation, and manual posting is not always worse. The decision is about volume, payer mix, and exception handling.
Auto-post (ERA/835) when:
- The payer sends a reliable 835 (most Medicare, Medicaid, and major commercial payers do).
- Volume is high enough that manual keying is the bottleneck.
- Your posting rules are clean and audited — auto-post amplifies whatever rules you give it, good or bad.
Manual-post when:
- The payer does not send an 835 (small, out-of-state, or paper-only plans).
- The remittance is a patient payment (card, check, portal) with no 835.
- An auto-post exception (unmatched claim, denial, underpayment) needs a human decision.
The exception worklist is where auto-posting earns or loses its value. A good auto-post setup posts 90-95% of lines and drops the remaining 5-10% — the denials, the unmatched claims, the underpayments — into a worklist a human works the same day. A bad setup either fails to auto-post enough (defeating the purpose) or auto-posts too aggressively and silently writes off denials that should have been worked. The metric to watch is not just auto-post rate but auto-post rate without denial leakage: how many lines posted automatically without a denial slipping through as a write-off.
When to outsource posting. Posting is high-volume, detail-intensive, and unforgiving of error — which makes it a common outsourcing candidate. The case for outsourcing is strongest when in-house posting lag exceeds 48 hours, when unapplied cash is aging, or when the denial worklist is missing denials that show up later in A/R. Whether in-house or outsourced, the controls are the same: a measured accuracy sample, a sub-24-hour posting lag, daily reconciliation, and zero silent denial write-offs.
Free Billing Audit · No obligation
Turn Payment Posting Into a Denial-Recovery Engine
We will audit a sample of your posted remittances for accuracy, group-code classification, and silent denial write-offs — then quantify the recoverable revenue posting is currently leaking, at no cost.
Common Questions
Common questions about payment posting in medical billing: era, reconciliation & kpis (2026).
Get a Free Billing Audit
Our billing specialists can walk you through this and more.
Get a Free Billing Audit arrow_forwardWhat is payment posting in medical billing?
Payment posting is the revenue cycle step where every payer and patient payment, contractual adjustment, write-off, and denial is recorded against the specific claim and line item it applies to. The source is either the payer's electronic remittance — the X12 835 ERA — or a paper EOB. For each line, posting records the payment, the CO contractual adjustment, the PR patient responsibility, and any denial (with its CARC). It is the control point where denials and underpayments are first detected, and where the data that drives net collection rate and days in A/R is created. Mis-posting corrupts every downstream KPI, so posting accuracy is an integrity layer for the whole revenue cycle, not a clerical afterthought.
What is the difference between ERA and EOB in payment posting?
The ERA (Electronic Remittance Advice) is the machine-readable X12 835 file a payer sends so your system can auto-post how a claim adjudicated. The EOB (Explanation of Benefits) is the human-readable paper or PDF version of the same information. You auto-post from the 835; you post manually from an EOB when no 835 exists (small payers, out-of-state plans, patient checks, paper-only plans). Auto-posting from the 835 is faster and more accurate because it is rules-driven and captures CARC/RARC codes automatically, while manual EOB posting depends on a human reading the form and is where most transcription errors enter.
What is auto-posting and how is it different from manual posting?
Auto-posting (or auto-cash posting) uses the X12 835 ERA file to automatically match each remittance line to the open claim and apply the payment, adjustment, and denial code with no manual keying. A clean setup auto-posts 90-95% of lines and drops only the exceptions — unmatched claims, denials, and underpayments — into a manual worklist. Manual posting is a human keying payments line by line from a paper EOB, check stub, or portal screen. Auto-posting is faster and more accurate, but it amplifies whatever posting rules you give it: bad rules silently write off denials or mis-route adjustments at scale, so the rules must be audited.
What is a good posting accuracy rate in medical billing?
High-performing teams target 99.5%+ posting accuracy on an audited sample, with 98-99.4% acceptable and anything below 98% a problem zone. Accuracy is measured by pulling a random sample of 30-50 posted lines per poster per month and re-adjudicating each against the source 835 or EOB: was the payment, adjustment, group code, and CARC posted to the correct line? Note there is no single national-authority published benchmark for posting accuracy the way HFMA publishes A/R days, so treat these as operational targets and verify against your own audit. Alongside accuracy, hold posting lag under 24 hours and keep unapplied cash under 1% of posted dollars.
Why is payment posting called the denial control point?
Because a denial is not a separate event you discover later — it is a posted line. When a payer refuses a line, that denial enters your revenue cycle at the exact moment of posting, carried on the remittance as a CARC (such as 97 or 50). If the posting team routes that line to a denial worklist with its CARC, the appeal clock starts immediately. If posting instead writes the line off silently, the denial is invisible, the appeal window runs out, and the money is lost. So posting is where denials are first detected and either captured for recovery or lost forever — making it the single highest-leverage control point for denial management.
Can you bill the patient for a CO denial that shows up at posting?
No. The CO group code means Contractual Obligation — the adjustment is a provider write-off under your payer contract and cannot be balance-billed to the patient. Reclassifying a CO line as PR (Patient Responsibility) at posting to "recover" the amount bills the patient illegally and is a contract and, in most states, a regulatory violation. Only amounts adjudicated under the PR group code — deductible (PR 1), coinsurance (PR 2), and copay (PR 3) — can be transferred to the patient balance. When a CO line carries a denial CARC like 97 or 16, the correct move is to route it to the denial or correction worklist for appeal or resubmission, not to write it off or bill the patient.
What is reconciliation in payment posting?
Reconciliation is the control that proves the dollars you posted equal the dollars you actually received. At the end of each posting batch, total posted payments must equal the total bank deposit and EFT receipts, linked by the 835 reassociation/trace number that ties a remittance to its deposit. The checklist: posted payments equal deposits, every retrieved 835 is posted, no line is double-posted, unidentified cash is logged to suspense and worked, contractual adjustments tie out to charge-minus-allowed, and credit balances are flagged for refund review. Daily reconciliation makes month-end a formality; skipping it lets posting errors accumulate silently until a close blows up.
What happens if a payment is posted to the wrong claim or as the wrong group code?
Both errors corrupt downstream data. Posting to the wrong claim leaves the correct claim showing an open balance (overstating A/R) and the wrong claim showing a credit (a phantom overpayment that may trigger an erroneous refund). Posting the wrong group code is worse: a CO contractual write-off mis-posted as PR bills the patient for an amount you contractually owe as a write-off, while a PR amount mis-posted as CO writes off money the patient owed you. Both distort net collection rate and the denial worklist. The fix is a measured accuracy audit (30-50 lines per poster monthly) that re-checks the payment, adjustment, group code, and CARC on each line against the source remittance.
Related Reading on This Topic
Related Services
Related Specialties
Turn Payment Posting Into a Denial-Recovery Engine
We will audit a sample of your posted remittances for accuracy, group-code classification, and silent denial write-offs — then quantify the recoverable revenue posting is currently leaking, at no cost.
- check_circleNo contract
- check_circleNo setup fees
- check_circleReply within 1 business day