Schema Care

EOB Payment Posting, Step by Step

By Schema CarePublished Updated

EOB payment posting means recording what a payer's explanation of benefits says about each service line: the payment, the adjustments and the patient's share. Open a batch for the check or EFT, post each line in turn, move the patient share to the patient balance, and close the batch only when the posted payments equal the deposit.

What has to match before EOB payment posting starts?

Before EOB payment posting starts, three totals must agree: the amount on the check or EFT, the payment total printed on the EOB, and the batch total you open in your practice management system. If any of the three differ, stop and find out why before you post a single line, because every later step inherits the error.

An explanation of benefits (EOB) is the payer's statement of how it decided one or more claims. A provider EOB usually covers one payment and many claims. The payment number, either a check number or an EFT trace number, is the key that ties the paper to the money. The guide to how to read an EOB walks through where each of these numbers sits on the page.

Set up the batch with four facts before you start:

  1. The payer name, exactly as your system lists it.
  2. The check or EFT number.
  3. The deposit date.
  4. The payment total, which becomes the batch control amount.

Then check the EOB itself. Count the pages and confirm none are missing. Add the claim subtotals and compare them with the EOB total. A provider-level amount, such as a deduction for an earlier overpayment or an interest payment, can make the EOB total differ from the sum of its claims. The CMS MLN booklet Remittance Advice Resources and FAQs lists both as examples of provider-level adjustments. Note any such amount now, so it does not surprise you at the end.

Matching the deposit to the EOB is its own job when the money arrives by EFT. The guide to how to reconcile EFT payments with EOBs covers trace numbers and variances. This post assumes that match is already done.

EOB posting in medical billing, line by line: payment, adjustment, transfer

EOB posting in medical billing records three kinds of entry for each service line: the payment the plan made, the adjustments that reduce the charge, and the transfer of any remaining balance to the next responsible party. Each entry carries the code printed on the line, so the account shows why the balance changed.

The payment is the plan's paid amount for the line. Post it against the specific charge, not the claim as a whole, so each line keeps its own history.

The adjustment entries follow the group and reason codes on the line. Group code CO marks an amount the provider generally absorbs and PR an amount that may be billed to the patient, as the guide to what the CO, PR, OI and PI group codes mean explains.

So a CO amount becomes a contractual adjustment that reduces the charge. A PR amount is not written off. It stays on the account as the patient's share, ready to transfer.

The transfer moves what is left after the payment and adjustments. It goes to the patient, or to a secondary payer when the patient has one.

The posting procedure, worked on one EOB

The EOB below is fictional. The patient, member ID, claim number, check number and amounts are examples only.

The example EOB is check 00045821 from Example Health Plan for $1,240.00. It covers four claims. One belongs to the example patient Maria Example, member ID XEM55501234, payer claim number EX2026091201, with three service lines dated September 3, 2026:

LineCodeBilledAdjustmentPatient sharePaid
199213$180.00CO-45 $70.00PR-3 $25.00$85.00
293000$90.00CO-45 $50.00PR-1 $40.00$0.00
336415$25.00CO-97 $25.00$0.00$0.00
Total$295.00$145.00$65.00$85.00

The X12 Claim Adjustment Reason Codes list defines 45 as a charge that exceeds the fee schedule or contracted arrangement, 1 as a deductible amount, 3 as a co-payment amount, and 97 as a benefit included in the payment for another service. Post the claim in this order:

  1. Find the claim in your system by patient control number, or by patient name, member ID and date of service together.
  2. Record the payer claim number EX2026091201 against the claim.
  3. Line 1: post a payment of $85.00, a contractual adjustment of $70.00 coded CO-45, and leave $25.00 coded PR-3 as patient responsibility.
  4. Line 2: post a payment of $0.00, a contractual adjustment of $50.00 coded CO-45, and leave $40.00 coded PR-1 as patient responsibility. This line is unpaid because of the deductible, not denied.
  5. Line 3: post a payment of $0.00 and an adjustment of $25.00 coded CO-97. Check that line 1's visit is the service it was bundled into before you accept it.
  6. Confirm each line now has a balance equal to its patient share: $25.00, $40.00 and $0.00.
  7. Transfer the $65.00 total to the patient account, as the next section explains.
  8. Repeat for the other three claims on the EOB.
  9. Run the batch balance check in the last section of this post.

How the patient share is split between deductible, coinsurance and copay comes from the allowed amount. That calculation has its own walkthrough in the guide to how patient responsibility on an EOB is calculated from the allowed amount.

Lines with a zero payment for a reason other than the deductible need different handling. The section on how to post a zero pay EOB with several denied lines covers whole-claim denials.

Transferring EOB patient responsibility to the patient account

Transferring EOB patient responsibility to the patient account moves the PR-coded amounts from the insurance balance to the balance the patient owes. Make the transfer only after the payment and adjustments are posted, and only for amounts the EOB codes as patient responsibility. The line-level detail should travel with the transfer, so the statement can say why.

The rule that limits transfers is the group code. The MLN booklet states that providers may bill Medicare beneficiaries for an unpaid portion only when an adjustment shows group code PR. For commercial plans, your payer contract is the document that decides what may be billed to the patient. A CO amount moved to a patient is a billing error, not a transfer.

Three checks keep the transfer clean.

Check for a secondary payer first

If the patient has secondary coverage on file, the PR amount may go to that payer instead of the patient. Transfer it to the secondary insurance balance and send the claim with the primary EOB attached or its data included. Only what the secondary leaves goes to the patient.

Subtract what the front desk already collected

A copay taken at check-in is already on the patient ledger as a payment. In the worked example, if the clinic collected the $25.00 copay on September 3, the patient's remaining balance after the transfer is $40.00, not $65.00. Apply the existing payment to the transferred charge so the statement does not ask for money twice.

Keep the codes on the transferred amount

Carry the deductible and copay labels across. A statement that says "Deductible, $40.00" answers the patient's first question before they call.

Manual EOB posting errors that unbalance a batch

Manual EOB posting errors that unbalance a batch fall into a small number of patterns: a number keyed wrong, an entry posted to the wrong place, or an amount posted twice or not at all. Each one leaves a gap between the batch total and the deposit, and each has a quick check that finds it.

These are the common manual payment posting errors and how to catch them:

ErrorWhat it looks likeHow to catch it
Transposed digits$85.00 keyed as $58.00The batch is off by a multiple of 9
Payment on the wrong lineLine 1's payment posted to line 2Line balances do not equal each line's patient share
Wrong patientPayment posted to a family member with the same subscriber IDMember ID suffix or date of birth does not match
Adjustment coded as payment$70.00 CO-45 posted as a paymentPosted payments exceed the check
Patient share written offPR amount entered as a contractual adjustmentPatient balance is zero when the EOB shows a PR amount
Claim skippedA claim on page 3 never postedPosted claim count is lower than the EOB claim count
Claim posted twiceSame claim posted in two batchesCredit balance on the account
Provider-level amount on a patientAn offset applied to a random claimThe adjustment has no code from that claim's lines

The transposed-digit test is worth learning. When a batch is off by an amount that divides evenly by 9, such as $27.00, two digits are probably swapped somewhere.

Two errors cost more than they appear to. Writing off a patient share as a contractual adjustment loses money the practice was owed, and it does not unbalance the batch, because the total entries still match. Writing off a denied line by mistake is the same kind of silent loss. Both are caught only by reviewing line balances against the EOB codes, not by the batch total.

Keying errors are where tools can help. Schema Care reads EOB service lines, allowed amounts, plan payments and remark codes into fields with a confidence score each, and a person checks any field below the threshold the practice sets. The fictional EOB in the threshold demo shows which fields stop for review at each setting.

What does a balanced EOB payment batch look like?

A balanced EOB payment batch has posted payments equal to the check or EFT amount, after allowing for any provider-level adjustment. It also has every claim on the EOB posted, every line balance equal to its patient share or transferred, and nothing left unapplied. Only then should the batch be closed.

Run the closing check in four steps. The numbers continue the fictional example.

  1. Payments equal the deposit. Add the payments posted in the batch. Maria Example's claim contributed $85.00 and the other three claims $1,155.00, for $1,240.00. That equals the check amount of $1,240.00.
  2. Claim count matches. The EOB lists four claims, and the batch shows four claims posted.
  3. Line balances are explained. Every line is at zero insurance balance. Patient shares, here $65.00 for Maria Example, are transferred to the patient or a secondary payer.
  4. Unapplied is zero. No money sits in an unapplied or suspense bucket.

If the EOB carried a provider-level adjustment, the first step changes. The MLN booklet states that the check amount is the sum of all claim-level payments, less any provider-level adjustments. A $30.00 overpayment deduction would make the check $1,210.00 while claim payments still total $1,240.00. Post the deduction to the account your practice uses for provider-level items, and the batch balances.

After closing, file the EOB image with the batch so anyone can trace a posting back to the page. Teams that measure posting speed and accuracy can use the list of payment posting KPIs to track before and after automation. The wider picture of how posting fits with claims, denials and follow-up sits in the revenue cycle automation category.

All posts in EOBs and Remittances