Why ERA payments don’t match claim charges

Feb 11, 2026

Guide

In most industries, billing is a straightforward process. You invoice for a specific amount. The payer pays that amount and sends you a receipt.

Healthcare works differently. Claims are essentially invoices. Providers or their billing partners submit claims to insurers – called payers – to request payment for patient care.

But payers rarely pay the amount listed on a claim. The payment amount on the Electronic Remittance Advice (ERA) – the claim’s receipt – is often much lower.

That gap is expected. But if you’re trying to match claims to payments – a process called reconciliation – it can be confusing.

This guide explains why payer-to-provider payments often don’t match claim charges. It also tells you where to find the information needed to reconcile them.

Terms at a glance

Matching a claim’s charges to its payment requires understanding several healthcare-specific payment terms.

The following table outlines the terms at a high level. They’re explained in more depth in the sections below.

Term

What is it?

Where to find it

Billed amount

The amount the provider charges for a service on a claim.

The claim submission

Allowed amount

The maximum amount the payer will pay the provider for a service.

For commercial payers, the payer’s contract with the provider.

For government payers, like Medicare, allowed amounts are published publicly as fee schedules.

Adjustment amount

Changes applied to the billed amount by the payer during adjudication.

ERA

Patient responsibility

The amount the patient must pay for a service.

ERA

Can often be estimated using an eligibility check

Claim payment amount

What the payer paid for a specific claim.

Also called the claim remittance amount.

ERA

Remittance payment amount

The total payment amount for all claims listed in an ERA or Explanation of Benefits (EOB). This can include multiple claim payments.

This is the amount sent to the provider by the payer, minus any banking fees.

ERA

Coding

Coding – also called medical coding – is the process of translating healthcare services into standardized codes. They’re a key input into how a claim is priced and paid.

Example
A provider, such as a doctor, might bill a medical office visit using a CPT procedure code of 99213 (Mid-level established patient visit).

That code, along with others on the claim, helps determine:

  • How the service appears on the claim

  • How the provider prices the service

  • The actual amount the payer will pay for the service

Why coding matters for payment

Coding affects how a claim is adjudicated – processed and paid – by the payer. Small coding differences can significantly change how much a payer will pay for a service.

This guide doesn’t cover coding in depth. What matters for reconciliation is that coding determines what appears on a claim’s service lines, where each service is described and charged by the provider.

Allowed amounts

An allowed amount is the maximum amount a payer will pay the provider for a service.

For commercial payers, this is a negotiated price. It’s set in the payer’s contract – called the provider agreement or payer contract –  with the provider. The prices in those contracts are called fee schedules.

For government payers, like Medicare, fee schedules are set unilaterally by the payer (the government). The provider can take the price or leave it. There’s no negotiation.

The allowed amount is a ceiling. Payers generally pay the lesser of the allowed amount or what’s billed by the provider. To get maximum payment, providers typically bill at or above the allowed amount.

Where to find allowed amounts

Allowed amounts aren’t returned by payers in ERAs, claim acknowledgments, or other HIPAA-adopted electronic transactions.

For government payers – like Medicare or state Medicaid payers – allowed amounts are published publicly in their fee schedules.

For commercial payers, allowed amounts are typically only available in the payer contract. Some payers may return allowed amounts in Explanation of Benefits (EOBs) or disclose allowed amounts in electronic price transparency files. However, it’s inconsistent across payers and often not reliable enough for reconciliation.

Instead, provider or RCM teams often try to deduce allowed amounts for commercial payers from adjustments and payments in related ERAs.

Billed amounts

The billed amount – also called the charged amount – is the amount the provider charges for a service. This is the amount submitted on the claim.

Billed amounts are not typically what providers expect to be paid by a payer. Actual payment is driven by the allowed amount.

How providers calculated billed amounts

Providers have a lot of leeway in setting billed amounts. There’s no single standard. Providers can largely choose how charges are set.

Common approaches

  • Using Medicare rates and applying a multiplier, such as the Medicare rate x2

  • Reusing fee schedules from older payer contracts with a yearly percentage increase

  • Setting high list prices and relying on the payer’s allowed amounts to cap payment

Because they don’t often reflect what the provider is paid, billed amounts aren’t updated often. Most providers update billed amounts once a year at most.

Where to find billed amounts

Providers specify billed amounts as charges on a claim. Each service line has a charge, which is added up to calculate the claim-level charge.

JSON API
If you’re using Stedi’s JSON Claim Submission APIs, you specify charges in the following fields:


JSON Professional Claims API field

JSON Dental Claims API field

JSON Institutional Claims API field

Claim-level charge

claimChargeAmount

claimChargeAmount

claimChargeAmount

Service line charge

lineItemChargeAmount

lineItemChargeAmount

lineItemChargeAmount

For example, in the JSON Professional Claim Submission API endpoint’s request body:

{
  "claimInformation": {
    "claimChargeAmount": "109.20",            // Claim-level charge
    ...
    "serviceLines": [
      {
        "professionalService": {
          "lineItemChargeAmount": "109.20",   // Service line charge
          "procedureCode": "90837",
          ...
        },
        ...
      }
    ],
    ...
  },
  ...
}

X12
If you’re using X12, you specify charges in the following elements.


837P Professional Claim X12 element

837D Dental Claim X12 element

837I Institutional Claim X12 element

Claim-level charge

CLM02 (Total Claim Charge Amount) of Loop 2300 (Claim Information)

CLM02 (Total Claim Charge Amount) of Loop 2300 (Claim Information)

CLM02 (Total Claim Charge Amount) of Loop 2300 (Claim Information)

Service line charge

SV102 (Line Item Charge Amount) of Loop 2400 (Service Line Number)

SV102 (Line Item Charge Amount) of Loop 2400 (Service Line Number)

SV102 (Line Item Charge Amount) of Loop 2400 (Service Line Number)

For example, in an 837P Professional Claim:

CLM*26463774*109.20***11>B>1*Y*A*Y*I~  // Claim-level charge
...
SV1*HC>90837*109.20*UN*1***1~          // Service line charge

Adjustments

Adjustments represent the difference – usually reductions – between the provider’s billed amount and the payer’s allowed amount.

Adjustments are applied during adjudication, when the payer formally reviews the claim and decides how much to pay.

Payers return adjustment and payment information in ERAs.

Repricing

The process of reducing a claim’s billed amount – using adjustments – down to the allowed amount is called repricing. Smaller regional payers often outsource claim repricing to specialized vendors.

Claim adjustment codes

In an ERA, the payer explains why an adjustment was made using two related codes:

The Claim Adjustment Group Code tells you who is financially responsible for the adjustment amount, such as the patient or provider. The CARC tells you why the adjustment was applied.

Some payers may also include optional Remittance Advice Remark Codes (RARCs) that provide additional details about why an adjustment was made or next steps.

Contractual write-offs

The most common type of adjustment is a contractual write-off. Payers typically use contractual write-offs to reduce the provider’s billed amount to the payer’s allowed amount.

In an ERA, contractual write-offs have a Claim Adjustment Group Code of CO (Contractual Obligation) with a CARC of 45, indicating the claim’s billed amount exceeds the allowed amount.

Patient responsibility

Another common type of adjustment is patient responsibility, the portion of the claim the patient must pay. Patient responsibility covers things like deductibles, copays, and coinsurance.

Like other adjustments, patient responsibility is returned in the ERA for a claim.

In many cases, providers can also estimate patient responsibility before care using an eligibility check. This lets the provider collect the patient’s portion upfront and avoid billing the patient.

For more details on estimating patient responsibility using eligibility checks, see our Patient responsibility docs.

Where to find adjustments

In ERAs, adjustments are provided at both the claim and service-line level.

Important: ERAs are tied to a payment, not an individual claim. An ERA may contain information for multiple claims (or no claims). You can match claims in an ERA to a claim submission using the claim’s patient control number (PCN). See Correlate claims to ERAs in the Stedi docs.

JSON API
If you’re using Stedi’s ERA Report API endpoint, you can find adjustment amounts in the following fields.

Adjustment level

ERA Report API field

Claim level

claimAdjustments.adjustmentAmount<N>

Service line level

serviceAdjustments[].adjustmentAmount<N>

For example, in the ERA Report API response:

{
  "transactions": [
    {
      "detailInfo": [
        {
          "paymentInfo": [
            {
              "claimAdjustments": [
                {
                  "adjustmentAmount1": "30",        // $30 deductible
                  "adjustmentReasonCode": "1",      // Deductible Amount
                  "claimAdjustmentGroupCode": "PR"  // Patient Responsibility
                }
              ],
              ...
              "serviceLines": [
                {
                  "serviceAdjustments": [
                    {
                      "adjustmentAmount1": "600",         // $600 reduction
                      "adjustmentReasonCode1": "45",      // Charge exceeds allowed amount
                      "claimAdjustmentGroupCode": "CO",   // Contractual Obligation
                    }
                  ],
                  ...
                }
              ]
            },
            ...
          ]
        }
      ],
      ...
    }
  ],
  ...
}

X12
If you’re using X12, you can find adjustment amounts in the following elements.

Adjustment level

835 ERA X12 element

Claim level

CAS03, CAS06, CAS09, CAS12, CAS15, and CAS18 (Adjustment Amounts) of Loop 2100 (Claim Payment Information)

Service line level

CAS03, CAS06, CAS09, CAS12, CAS15, and CAS18 (Adjustment Amounts) of Loop 2110 (Service Payment Information)

For example:

CAS*PR*1*30.00~    // Claim-level adjustment
...
CAS*CO*45*600.00~  // Service line adjustment

Payment amounts

Claims have several different payment amounts. These terms are commonly used to keep them straight:

  • Remittance payment amount – The total payment amount for all claims in an ERA. Can include multiple claim payments.

  • Claim payment amount – The amount the payer paid for a single claim, which can cover multiple service lines. Also called the claim remittance amount.

  • Service line payment amount – The amount paid for a specific service line in a claim.

Where to find payment amounts

Payers return remittance, claim, and service-line payment amounts in the ERA.

JSON API
If you’re using Stedi’s ERA Report API endpoint, you can find payment amounts in the following fields.

Payment level

ERA Report API field

Remittance

totalActualProviderPaymentAmount

Claim

claimPaymentAmount

Service line

lineItemProviderPaymentAmount

For example, in the ERA Report API response:

{
  "transactions": [
    {
      "financialInformation": {
        "totalActualProviderPaymentAmount": "1100",  // Remittance payment amount
        ...
      },
      "detailInfo": [
        {
          "paymentInfo": [
            {
              "claimPaymentInfo": {
                "claimPaymentAmount": "600",  // Claim payment amount
                ...
              },
              "serviceLines": [
                {
                  "servicePaymentInformation": {
                    "lineItemProviderPaymentAmount": "600",  // Service line payment amount
                    ...
                  },
                  ...
                }
              ],
              ...
            }
          ],
          ...
        }
      ],
      ...
    }
  ],
  ...
}

X12
If you’re using X12, you can find payment amounts in the following elements.

Payment level

835 ERA X12 element

Remit

BPR02 (Total Payment Amount) of Header Loop

Claim

CLP04 (Claim Payment Amount) of Loop 2100 (Claim Payment Information)

Service line

SVC03 (Line Item Payment Amount) of Loop 2110 (Service Payment Information)

For example:

BPR*C*1100.00*C*CHK************20260210~                  // Remittance payment amount
...
CLP*26463774*1*1200.00*600.00*30.00*12*PAYERCLM0001*11~   // Claim payment amount
...
SVC*HC:90837*1200.00*600.00**1~                           // Service line payment amount

How payment amounts are calculated

In addition to remittance payment and claim payment amounts, ERAs include payments and adjustments for each service line.

Remittance payments
To calculate the remittance payment amount for an ERA, sum all the claim payments in the ERA, accounting for any provider-level adjustments:

Remittance payment amount = sum of all claim payment amounts ± provider-level adjustments

Claim payments
To calculate the claim payment, sum all the service-line payments for the claim:

Claim payment amount = sum of all service-line payment amounts

Service-line payments
Service-line payments are calculated as follows:

Service-line payment amount = billed amount adjustments

Provider-level adjustments

ERAs can include provider-level adjustments that aren’t related to any specific claim or service. They don’t change what was paid for individual service lines.

These adjustments are a common reason why an ERA’s remittance payment amount doesn’t equal the sum of all claim payments.

Provider-level adjustments typically represent things like interest for late payment, tax withholding, advance payments, or money the payer is taking back from earlier payments.

Provider Adjustment Reason Codes

Provider Adjustment Reason Codes explain why a payer made a provider-level adjustment. For example, a Provider Adjustment Reason Code of BN (Bonus) indicates a payer bonus to the provider. A Provider Adjustment Reason Code of AH (Origination Fee) is used to bill for claim transmission fees.

Where to find provider-level adjustments

Provider-level adjustments are listed separately from claims in the ERA

JSON API

If you’re using Stedi’s ERA Report API endpoint, provider-level adjustments are in the response’s providerAdjustments field.

X12

If you’re receiving ERAs as raw X12, you can find provider-level adjustments in the PLB (Provider Adjustment) segment.

Sales tax

Many payers include sales tax information for service lines in ERAs

If you’re using Stedi’s ERA Report API endpoint, tax amounts for service lines are in the response’s serviceSupplementalAmounts.tax fields.

If you’re receiving ERAs as raw X12, you can find tax amounts for service lines in the AMT (Amount) segment of Loop 2110 (Service Payment Information), using the T (Tax) qualifier.

These tax amounts are informational. They reflect the provider’s tax liability, but they don’t affect actual payment amounts. The way they’re reported can vary by payer.

Standalone tax amount (most common)

Most payers include tax amounts as a standalone informational value.

Example

An ERA shows: 

  • Tax amount: $10  

  • Service-line payment amount: $100 

In this case, the provider is paid $100 for the service line. The $10 just identifies the taxable portion of the $100 payment.

Tax-inclusive breakdown (less common, easy to misread)

Some ERAs show a pre-tax amount and a tax amount that sum to the total payment amount.

Example

An ERA shows:

  • A pre-tax payment amount: $90

  • Tax amount: $10  

  • Service-line payment amount: $100

In this case, the provider is paid $100 for the service line: the $90 pre-tax payment amount + the $10 tax amount.

Where to find pre-tax payment amounts

If you’re using Stedi’s ERA Report API endpoint, the pre-tax amount is reported in the service line’s totalClaimBeforeTaxes field.

However, if you’re receiving ERAs as raw X12, pre-tax payment amounts may appear in the AMT (Amount) segment of Loop 2110 (Service Payment Information), using the T2 (Pre-tax) qualifier.

Rule of thumb: Tax and pre-tax values never increase the service-line payment amount.

Underpayments

An underpayment is when the final claim payment amount is lower than the allowed amount. Underpayment can happen for several reasons:

  • Incorrect coding

  • Missing or incorrect modifiers

  • Patient benefits that haven’t yet been met

  • Repricing

  • Payer errors

One of the main reasons providers perform reconciliation is to catch underpayments. When they do, the provider can appeal the claim or request a corrected payment.

Process claims and ERAs with Stedi

Stedi lets you submit claims and retrieve ERAs through easy-to-use, JSON-based APIs.

We also handle transaction enrollment – including ERA enrollment – for you. It can eliminate up to 90% of your team’s enrollment paperwork.

If you’re not a Stedi customer yet, you can start on our free Basic plan. It includes 100 free claim submissions and free ERAs for the first 100 paid claims each month.

Signup takes less than two minutes. No credit card required.

In most industries, billing is a straightforward process. You invoice for a specific amount. The payer pays that amount and sends you a receipt.

Healthcare works differently. Claims are essentially invoices. Providers or their billing partners submit claims to insurers – called payers – to request payment for patient care.

But payers rarely pay the amount listed on a claim. The payment amount on the Electronic Remittance Advice (ERA) – the claim’s receipt – is often much lower.

That gap is expected. But if you’re trying to match claims to payments – a process called reconciliation – it can be confusing.

This guide explains why payer-to-provider payments often don’t match claim charges. It also tells you where to find the information needed to reconcile them.

Terms at a glance

Matching a claim’s charges to its payment requires understanding several healthcare-specific payment terms.

The following table outlines the terms at a high level. They’re explained in more depth in the sections below.

Term

What is it?

Where to find it

Billed amount

The amount the provider charges for a service on a claim.

The claim submission

Allowed amount

The maximum amount the payer will pay the provider for a service.

For commercial payers, the payer’s contract with the provider.

For government payers, like Medicare, allowed amounts are published publicly as fee schedules.

Adjustment amount

Changes applied to the billed amount by the payer during adjudication.

ERA

Patient responsibility

The amount the patient must pay for a service.

ERA

Can often be estimated using an eligibility check

Claim payment amount

What the payer paid for a specific claim.

Also called the claim remittance amount.

ERA

Remittance payment amount

The total payment amount for all claims listed in an ERA or Explanation of Benefits (EOB). This can include multiple claim payments.

This is the amount sent to the provider by the payer, minus any banking fees.

ERA

Coding

Coding – also called medical coding – is the process of translating healthcare services into standardized codes. They’re a key input into how a claim is priced and paid.

Example
A provider, such as a doctor, might bill a medical office visit using a CPT procedure code of 99213 (Mid-level established patient visit).

That code, along with others on the claim, helps determine:

  • How the service appears on the claim

  • How the provider prices the service

  • The actual amount the payer will pay for the service

Why coding matters for payment

Coding affects how a claim is adjudicated – processed and paid – by the payer. Small coding differences can significantly change how much a payer will pay for a service.

This guide doesn’t cover coding in depth. What matters for reconciliation is that coding determines what appears on a claim’s service lines, where each service is described and charged by the provider.

Allowed amounts

An allowed amount is the maximum amount a payer will pay the provider for a service.

For commercial payers, this is a negotiated price. It’s set in the payer’s contract – called the provider agreement or payer contract –  with the provider. The prices in those contracts are called fee schedules.

For government payers, like Medicare, fee schedules are set unilaterally by the payer (the government). The provider can take the price or leave it. There’s no negotiation.

The allowed amount is a ceiling. Payers generally pay the lesser of the allowed amount or what’s billed by the provider. To get maximum payment, providers typically bill at or above the allowed amount.

Where to find allowed amounts

Allowed amounts aren’t returned by payers in ERAs, claim acknowledgments, or other HIPAA-adopted electronic transactions.

For government payers – like Medicare or state Medicaid payers – allowed amounts are published publicly in their fee schedules.

For commercial payers, allowed amounts are typically only available in the payer contract. Some payers may return allowed amounts in Explanation of Benefits (EOBs) or disclose allowed amounts in electronic price transparency files. However, it’s inconsistent across payers and often not reliable enough for reconciliation.

Instead, provider or RCM teams often try to deduce allowed amounts for commercial payers from adjustments and payments in related ERAs.

Billed amounts

The billed amount – also called the charged amount – is the amount the provider charges for a service. This is the amount submitted on the claim.

Billed amounts are not typically what providers expect to be paid by a payer. Actual payment is driven by the allowed amount.

How providers calculated billed amounts

Providers have a lot of leeway in setting billed amounts. There’s no single standard. Providers can largely choose how charges are set.

Common approaches

  • Using Medicare rates and applying a multiplier, such as the Medicare rate x2

  • Reusing fee schedules from older payer contracts with a yearly percentage increase

  • Setting high list prices and relying on the payer’s allowed amounts to cap payment

Because they don’t often reflect what the provider is paid, billed amounts aren’t updated often. Most providers update billed amounts once a year at most.

Where to find billed amounts

Providers specify billed amounts as charges on a claim. Each service line has a charge, which is added up to calculate the claim-level charge.

JSON API
If you’re using Stedi’s JSON Claim Submission APIs, you specify charges in the following fields:


JSON Professional Claims API field

JSON Dental Claims API field

JSON Institutional Claims API field

Claim-level charge

claimChargeAmount

claimChargeAmount

claimChargeAmount

Service line charge

lineItemChargeAmount

lineItemChargeAmount

lineItemChargeAmount

For example, in the JSON Professional Claim Submission API endpoint’s request body:

{
  "claimInformation": {
    "claimChargeAmount": "109.20",            // Claim-level charge
    ...
    "serviceLines": [
      {
        "professionalService": {
          "lineItemChargeAmount": "109.20",   // Service line charge
          "procedureCode": "90837",
          ...
        },
        ...
      }
    ],
    ...
  },
  ...
}

X12
If you’re using X12, you specify charges in the following elements.


837P Professional Claim X12 element

837D Dental Claim X12 element

837I Institutional Claim X12 element

Claim-level charge

CLM02 (Total Claim Charge Amount) of Loop 2300 (Claim Information)

CLM02 (Total Claim Charge Amount) of Loop 2300 (Claim Information)

CLM02 (Total Claim Charge Amount) of Loop 2300 (Claim Information)

Service line charge

SV102 (Line Item Charge Amount) of Loop 2400 (Service Line Number)

SV102 (Line Item Charge Amount) of Loop 2400 (Service Line Number)

SV102 (Line Item Charge Amount) of Loop 2400 (Service Line Number)

For example, in an 837P Professional Claim:

CLM*26463774*109.20***11>B>1*Y*A*Y*I~  // Claim-level charge
...
SV1*HC>90837*109.20*UN*1***1~          // Service line charge

Adjustments

Adjustments represent the difference – usually reductions – between the provider’s billed amount and the payer’s allowed amount.

Adjustments are applied during adjudication, when the payer formally reviews the claim and decides how much to pay.

Payers return adjustment and payment information in ERAs.

Repricing

The process of reducing a claim’s billed amount – using adjustments – down to the allowed amount is called repricing. Smaller regional payers often outsource claim repricing to specialized vendors.

Claim adjustment codes

In an ERA, the payer explains why an adjustment was made using two related codes:

The Claim Adjustment Group Code tells you who is financially responsible for the adjustment amount, such as the patient or provider. The CARC tells you why the adjustment was applied.

Some payers may also include optional Remittance Advice Remark Codes (RARCs) that provide additional details about why an adjustment was made or next steps.

Contractual write-offs

The most common type of adjustment is a contractual write-off. Payers typically use contractual write-offs to reduce the provider’s billed amount to the payer’s allowed amount.

In an ERA, contractual write-offs have a Claim Adjustment Group Code of CO (Contractual Obligation) with a CARC of 45, indicating the claim’s billed amount exceeds the allowed amount.

Patient responsibility

Another common type of adjustment is patient responsibility, the portion of the claim the patient must pay. Patient responsibility covers things like deductibles, copays, and coinsurance.

Like other adjustments, patient responsibility is returned in the ERA for a claim.

In many cases, providers can also estimate patient responsibility before care using an eligibility check. This lets the provider collect the patient’s portion upfront and avoid billing the patient.

For more details on estimating patient responsibility using eligibility checks, see our Patient responsibility docs.

Where to find adjustments

In ERAs, adjustments are provided at both the claim and service-line level.

Important: ERAs are tied to a payment, not an individual claim. An ERA may contain information for multiple claims (or no claims). You can match claims in an ERA to a claim submission using the claim’s patient control number (PCN). See Correlate claims to ERAs in the Stedi docs.

JSON API
If you’re using Stedi’s ERA Report API endpoint, you can find adjustment amounts in the following fields.

Adjustment level

ERA Report API field

Claim level

claimAdjustments.adjustmentAmount<N>

Service line level

serviceAdjustments[].adjustmentAmount<N>

For example, in the ERA Report API response:

{
  "transactions": [
    {
      "detailInfo": [
        {
          "paymentInfo": [
            {
              "claimAdjustments": [
                {
                  "adjustmentAmount1": "30",        // $30 deductible
                  "adjustmentReasonCode": "1",      // Deductible Amount
                  "claimAdjustmentGroupCode": "PR"  // Patient Responsibility
                }
              ],
              ...
              "serviceLines": [
                {
                  "serviceAdjustments": [
                    {
                      "adjustmentAmount1": "600",         // $600 reduction
                      "adjustmentReasonCode1": "45",      // Charge exceeds allowed amount
                      "claimAdjustmentGroupCode": "CO",   // Contractual Obligation
                    }
                  ],
                  ...
                }
              ]
            },
            ...
          ]
        }
      ],
      ...
    }
  ],
  ...
}

X12
If you’re using X12, you can find adjustment amounts in the following elements.

Adjustment level

835 ERA X12 element

Claim level

CAS03, CAS06, CAS09, CAS12, CAS15, and CAS18 (Adjustment Amounts) of Loop 2100 (Claim Payment Information)

Service line level

CAS03, CAS06, CAS09, CAS12, CAS15, and CAS18 (Adjustment Amounts) of Loop 2110 (Service Payment Information)

For example:

CAS*PR*1*30.00~    // Claim-level adjustment
...
CAS*CO*45*600.00~  // Service line adjustment

Payment amounts

Claims have several different payment amounts. These terms are commonly used to keep them straight:

  • Remittance payment amount – The total payment amount for all claims in an ERA. Can include multiple claim payments.

  • Claim payment amount – The amount the payer paid for a single claim, which can cover multiple service lines. Also called the claim remittance amount.

  • Service line payment amount – The amount paid for a specific service line in a claim.

Where to find payment amounts

Payers return remittance, claim, and service-line payment amounts in the ERA.

JSON API
If you’re using Stedi’s ERA Report API endpoint, you can find payment amounts in the following fields.

Payment level

ERA Report API field

Remittance

totalActualProviderPaymentAmount

Claim

claimPaymentAmount

Service line

lineItemProviderPaymentAmount

For example, in the ERA Report API response:

{
  "transactions": [
    {
      "financialInformation": {
        "totalActualProviderPaymentAmount": "1100",  // Remittance payment amount
        ...
      },
      "detailInfo": [
        {
          "paymentInfo": [
            {
              "claimPaymentInfo": {
                "claimPaymentAmount": "600",  // Claim payment amount
                ...
              },
              "serviceLines": [
                {
                  "servicePaymentInformation": {
                    "lineItemProviderPaymentAmount": "600",  // Service line payment amount
                    ...
                  },
                  ...
                }
              ],
              ...
            }
          ],
          ...
        }
      ],
      ...
    }
  ],
  ...
}

X12
If you’re using X12, you can find payment amounts in the following elements.

Payment level

835 ERA X12 element

Remit

BPR02 (Total Payment Amount) of Header Loop

Claim

CLP04 (Claim Payment Amount) of Loop 2100 (Claim Payment Information)

Service line

SVC03 (Line Item Payment Amount) of Loop 2110 (Service Payment Information)

For example:

BPR*C*1100.00*C*CHK************20260210~                  // Remittance payment amount
...
CLP*26463774*1*1200.00*600.00*30.00*12*PAYERCLM0001*11~   // Claim payment amount
...
SVC*HC:90837*1200.00*600.00**1~                           // Service line payment amount

How payment amounts are calculated

In addition to remittance payment and claim payment amounts, ERAs include payments and adjustments for each service line.

Remittance payments
To calculate the remittance payment amount for an ERA, sum all the claim payments in the ERA, accounting for any provider-level adjustments:

Remittance payment amount = sum of all claim payment amounts ± provider-level adjustments

Claim payments
To calculate the claim payment, sum all the service-line payments for the claim:

Claim payment amount = sum of all service-line payment amounts

Service-line payments
Service-line payments are calculated as follows:

Service-line payment amount = billed amount adjustments

Provider-level adjustments

ERAs can include provider-level adjustments that aren’t related to any specific claim or service. They don’t change what was paid for individual service lines.

These adjustments are a common reason why an ERA’s remittance payment amount doesn’t equal the sum of all claim payments.

Provider-level adjustments typically represent things like interest for late payment, tax withholding, advance payments, or money the payer is taking back from earlier payments.

Provider Adjustment Reason Codes

Provider Adjustment Reason Codes explain why a payer made a provider-level adjustment. For example, a Provider Adjustment Reason Code of BN (Bonus) indicates a payer bonus to the provider. A Provider Adjustment Reason Code of AH (Origination Fee) is used to bill for claim transmission fees.

Where to find provider-level adjustments

Provider-level adjustments are listed separately from claims in the ERA

JSON API

If you’re using Stedi’s ERA Report API endpoint, provider-level adjustments are in the response’s providerAdjustments field.

X12

If you’re receiving ERAs as raw X12, you can find provider-level adjustments in the PLB (Provider Adjustment) segment.

Sales tax

Many payers include sales tax information for service lines in ERAs

If you’re using Stedi’s ERA Report API endpoint, tax amounts for service lines are in the response’s serviceSupplementalAmounts.tax fields.

If you’re receiving ERAs as raw X12, you can find tax amounts for service lines in the AMT (Amount) segment of Loop 2110 (Service Payment Information), using the T (Tax) qualifier.

These tax amounts are informational. They reflect the provider’s tax liability, but they don’t affect actual payment amounts. The way they’re reported can vary by payer.

Standalone tax amount (most common)

Most payers include tax amounts as a standalone informational value.

Example

An ERA shows: 

  • Tax amount: $10  

  • Service-line payment amount: $100 

In this case, the provider is paid $100 for the service line. The $10 just identifies the taxable portion of the $100 payment.

Tax-inclusive breakdown (less common, easy to misread)

Some ERAs show a pre-tax amount and a tax amount that sum to the total payment amount.

Example

An ERA shows:

  • A pre-tax payment amount: $90

  • Tax amount: $10  

  • Service-line payment amount: $100

In this case, the provider is paid $100 for the service line: the $90 pre-tax payment amount + the $10 tax amount.

Where to find pre-tax payment amounts

If you’re using Stedi’s ERA Report API endpoint, the pre-tax amount is reported in the service line’s totalClaimBeforeTaxes field.

However, if you’re receiving ERAs as raw X12, pre-tax payment amounts may appear in the AMT (Amount) segment of Loop 2110 (Service Payment Information), using the T2 (Pre-tax) qualifier.

Rule of thumb: Tax and pre-tax values never increase the service-line payment amount.

Underpayments

An underpayment is when the final claim payment amount is lower than the allowed amount. Underpayment can happen for several reasons:

  • Incorrect coding

  • Missing or incorrect modifiers

  • Patient benefits that haven’t yet been met

  • Repricing

  • Payer errors

One of the main reasons providers perform reconciliation is to catch underpayments. When they do, the provider can appeal the claim or request a corrected payment.

Process claims and ERAs with Stedi

Stedi lets you submit claims and retrieve ERAs through easy-to-use, JSON-based APIs.

We also handle transaction enrollment – including ERA enrollment – for you. It can eliminate up to 90% of your team’s enrollment paperwork.

If you’re not a Stedi customer yet, you can start on our free Basic plan. It includes 100 free claim submissions and free ERAs for the first 100 paid claims each month.

Signup takes less than two minutes. No credit card required.

In most industries, billing is a straightforward process. You invoice for a specific amount. The payer pays that amount and sends you a receipt.

Healthcare works differently. Claims are essentially invoices. Providers or their billing partners submit claims to insurers – called payers – to request payment for patient care.

But payers rarely pay the amount listed on a claim. The payment amount on the Electronic Remittance Advice (ERA) – the claim’s receipt – is often much lower.

That gap is expected. But if you’re trying to match claims to payments – a process called reconciliation – it can be confusing.

This guide explains why payer-to-provider payments often don’t match claim charges. It also tells you where to find the information needed to reconcile them.

Terms at a glance

Matching a claim’s charges to its payment requires understanding several healthcare-specific payment terms.

The following table outlines the terms at a high level. They’re explained in more depth in the sections below.

Term

What is it?

Where to find it

Billed amount

The amount the provider charges for a service on a claim.

The claim submission

Allowed amount

The maximum amount the payer will pay the provider for a service.

For commercial payers, the payer’s contract with the provider.

For government payers, like Medicare, allowed amounts are published publicly as fee schedules.

Adjustment amount

Changes applied to the billed amount by the payer during adjudication.

ERA

Patient responsibility

The amount the patient must pay for a service.

ERA

Can often be estimated using an eligibility check

Claim payment amount

What the payer paid for a specific claim.

Also called the claim remittance amount.

ERA

Remittance payment amount

The total payment amount for all claims listed in an ERA or Explanation of Benefits (EOB). This can include multiple claim payments.

This is the amount sent to the provider by the payer, minus any banking fees.

ERA

Coding

Coding – also called medical coding – is the process of translating healthcare services into standardized codes. They’re a key input into how a claim is priced and paid.

Example
A provider, such as a doctor, might bill a medical office visit using a CPT procedure code of 99213 (Mid-level established patient visit).

That code, along with others on the claim, helps determine:

  • How the service appears on the claim

  • How the provider prices the service

  • The actual amount the payer will pay for the service

Why coding matters for payment

Coding affects how a claim is adjudicated – processed and paid – by the payer. Small coding differences can significantly change how much a payer will pay for a service.

This guide doesn’t cover coding in depth. What matters for reconciliation is that coding determines what appears on a claim’s service lines, where each service is described and charged by the provider.

Allowed amounts

An allowed amount is the maximum amount a payer will pay the provider for a service.

For commercial payers, this is a negotiated price. It’s set in the payer’s contract – called the provider agreement or payer contract –  with the provider. The prices in those contracts are called fee schedules.

For government payers, like Medicare, fee schedules are set unilaterally by the payer (the government). The provider can take the price or leave it. There’s no negotiation.

The allowed amount is a ceiling. Payers generally pay the lesser of the allowed amount or what’s billed by the provider. To get maximum payment, providers typically bill at or above the allowed amount.

Where to find allowed amounts

Allowed amounts aren’t returned by payers in ERAs, claim acknowledgments, or other HIPAA-adopted electronic transactions.

For government payers – like Medicare or state Medicaid payers – allowed amounts are published publicly in their fee schedules.

For commercial payers, allowed amounts are typically only available in the payer contract. Some payers may return allowed amounts in Explanation of Benefits (EOBs) or disclose allowed amounts in electronic price transparency files. However, it’s inconsistent across payers and often not reliable enough for reconciliation.

Instead, provider or RCM teams often try to deduce allowed amounts for commercial payers from adjustments and payments in related ERAs.

Billed amounts

The billed amount – also called the charged amount – is the amount the provider charges for a service. This is the amount submitted on the claim.

Billed amounts are not typically what providers expect to be paid by a payer. Actual payment is driven by the allowed amount.

How providers calculated billed amounts

Providers have a lot of leeway in setting billed amounts. There’s no single standard. Providers can largely choose how charges are set.

Common approaches

  • Using Medicare rates and applying a multiplier, such as the Medicare rate x2

  • Reusing fee schedules from older payer contracts with a yearly percentage increase

  • Setting high list prices and relying on the payer’s allowed amounts to cap payment

Because they don’t often reflect what the provider is paid, billed amounts aren’t updated often. Most providers update billed amounts once a year at most.

Where to find billed amounts

Providers specify billed amounts as charges on a claim. Each service line has a charge, which is added up to calculate the claim-level charge.

JSON API
If you’re using Stedi’s JSON Claim Submission APIs, you specify charges in the following fields:


JSON Professional Claims API field

JSON Dental Claims API field

JSON Institutional Claims API field

Claim-level charge

claimChargeAmount

claimChargeAmount

claimChargeAmount

Service line charge

lineItemChargeAmount

lineItemChargeAmount

lineItemChargeAmount

For example, in the JSON Professional Claim Submission API endpoint’s request body:

{
  "claimInformation": {
    "claimChargeAmount": "109.20",            // Claim-level charge
    ...
    "serviceLines": [
      {
        "professionalService": {
          "lineItemChargeAmount": "109.20",   // Service line charge
          "procedureCode": "90837",
          ...
        },
        ...
      }
    ],
    ...
  },
  ...
}

X12
If you’re using X12, you specify charges in the following elements.


837P Professional Claim X12 element

837D Dental Claim X12 element

837I Institutional Claim X12 element

Claim-level charge

CLM02 (Total Claim Charge Amount) of Loop 2300 (Claim Information)

CLM02 (Total Claim Charge Amount) of Loop 2300 (Claim Information)

CLM02 (Total Claim Charge Amount) of Loop 2300 (Claim Information)

Service line charge

SV102 (Line Item Charge Amount) of Loop 2400 (Service Line Number)

SV102 (Line Item Charge Amount) of Loop 2400 (Service Line Number)

SV102 (Line Item Charge Amount) of Loop 2400 (Service Line Number)

For example, in an 837P Professional Claim:

CLM*26463774*109.20***11>B>1*Y*A*Y*I~  // Claim-level charge
...
SV1*HC>90837*109.20*UN*1***1~          // Service line charge

Adjustments

Adjustments represent the difference – usually reductions – between the provider’s billed amount and the payer’s allowed amount.

Adjustments are applied during adjudication, when the payer formally reviews the claim and decides how much to pay.

Payers return adjustment and payment information in ERAs.

Repricing

The process of reducing a claim’s billed amount – using adjustments – down to the allowed amount is called repricing. Smaller regional payers often outsource claim repricing to specialized vendors.

Claim adjustment codes

In an ERA, the payer explains why an adjustment was made using two related codes:

The Claim Adjustment Group Code tells you who is financially responsible for the adjustment amount, such as the patient or provider. The CARC tells you why the adjustment was applied.

Some payers may also include optional Remittance Advice Remark Codes (RARCs) that provide additional details about why an adjustment was made or next steps.

Contractual write-offs

The most common type of adjustment is a contractual write-off. Payers typically use contractual write-offs to reduce the provider’s billed amount to the payer’s allowed amount.

In an ERA, contractual write-offs have a Claim Adjustment Group Code of CO (Contractual Obligation) with a CARC of 45, indicating the claim’s billed amount exceeds the allowed amount.

Patient responsibility

Another common type of adjustment is patient responsibility, the portion of the claim the patient must pay. Patient responsibility covers things like deductibles, copays, and coinsurance.

Like other adjustments, patient responsibility is returned in the ERA for a claim.

In many cases, providers can also estimate patient responsibility before care using an eligibility check. This lets the provider collect the patient’s portion upfront and avoid billing the patient.

For more details on estimating patient responsibility using eligibility checks, see our Patient responsibility docs.

Where to find adjustments

In ERAs, adjustments are provided at both the claim and service-line level.

Important: ERAs are tied to a payment, not an individual claim. An ERA may contain information for multiple claims (or no claims). You can match claims in an ERA to a claim submission using the claim’s patient control number (PCN). See Correlate claims to ERAs in the Stedi docs.

JSON API
If you’re using Stedi’s ERA Report API endpoint, you can find adjustment amounts in the following fields.

Adjustment level

ERA Report API field

Claim level

claimAdjustments.adjustmentAmount<N>

Service line level

serviceAdjustments[].adjustmentAmount<N>

For example, in the ERA Report API response:

{
  "transactions": [
    {
      "detailInfo": [
        {
          "paymentInfo": [
            {
              "claimAdjustments": [
                {
                  "adjustmentAmount1": "30",        // $30 deductible
                  "adjustmentReasonCode": "1",      // Deductible Amount
                  "claimAdjustmentGroupCode": "PR"  // Patient Responsibility
                }
              ],
              ...
              "serviceLines": [
                {
                  "serviceAdjustments": [
                    {
                      "adjustmentAmount1": "600",         // $600 reduction
                      "adjustmentReasonCode1": "45",      // Charge exceeds allowed amount
                      "claimAdjustmentGroupCode": "CO",   // Contractual Obligation
                    }
                  ],
                  ...
                }
              ]
            },
            ...
          ]
        }
      ],
      ...
    }
  ],
  ...
}

X12
If you’re using X12, you can find adjustment amounts in the following elements.

Adjustment level

835 ERA X12 element

Claim level

CAS03, CAS06, CAS09, CAS12, CAS15, and CAS18 (Adjustment Amounts) of Loop 2100 (Claim Payment Information)

Service line level

CAS03, CAS06, CAS09, CAS12, CAS15, and CAS18 (Adjustment Amounts) of Loop 2110 (Service Payment Information)

For example:

CAS*PR*1*30.00~    // Claim-level adjustment
...
CAS*CO*45*600.00~  // Service line adjustment

Payment amounts

Claims have several different payment amounts. These terms are commonly used to keep them straight:

  • Remittance payment amount – The total payment amount for all claims in an ERA. Can include multiple claim payments.

  • Claim payment amount – The amount the payer paid for a single claim, which can cover multiple service lines. Also called the claim remittance amount.

  • Service line payment amount – The amount paid for a specific service line in a claim.

Where to find payment amounts

Payers return remittance, claim, and service-line payment amounts in the ERA.

JSON API
If you’re using Stedi’s ERA Report API endpoint, you can find payment amounts in the following fields.

Payment level

ERA Report API field

Remittance

totalActualProviderPaymentAmount

Claim

claimPaymentAmount

Service line

lineItemProviderPaymentAmount

For example, in the ERA Report API response:

{
  "transactions": [
    {
      "financialInformation": {
        "totalActualProviderPaymentAmount": "1100",  // Remittance payment amount
        ...
      },
      "detailInfo": [
        {
          "paymentInfo": [
            {
              "claimPaymentInfo": {
                "claimPaymentAmount": "600",  // Claim payment amount
                ...
              },
              "serviceLines": [
                {
                  "servicePaymentInformation": {
                    "lineItemProviderPaymentAmount": "600",  // Service line payment amount
                    ...
                  },
                  ...
                }
              ],
              ...
            }
          ],
          ...
        }
      ],
      ...
    }
  ],
  ...
}

X12
If you’re using X12, you can find payment amounts in the following elements.

Payment level

835 ERA X12 element

Remit

BPR02 (Total Payment Amount) of Header Loop

Claim

CLP04 (Claim Payment Amount) of Loop 2100 (Claim Payment Information)

Service line

SVC03 (Line Item Payment Amount) of Loop 2110 (Service Payment Information)

For example:

BPR*C*1100.00*C*CHK************20260210~                  // Remittance payment amount
...
CLP*26463774*1*1200.00*600.00*30.00*12*PAYERCLM0001*11~   // Claim payment amount
...
SVC*HC:90837*1200.00*600.00**1~                           // Service line payment amount

How payment amounts are calculated

In addition to remittance payment and claim payment amounts, ERAs include payments and adjustments for each service line.

Remittance payments
To calculate the remittance payment amount for an ERA, sum all the claim payments in the ERA, accounting for any provider-level adjustments:

Remittance payment amount = sum of all claim payment amounts ± provider-level adjustments

Claim payments
To calculate the claim payment, sum all the service-line payments for the claim:

Claim payment amount = sum of all service-line payment amounts

Service-line payments
Service-line payments are calculated as follows:

Service-line payment amount = billed amount adjustments

Provider-level adjustments

ERAs can include provider-level adjustments that aren’t related to any specific claim or service. They don’t change what was paid for individual service lines.

These adjustments are a common reason why an ERA’s remittance payment amount doesn’t equal the sum of all claim payments.

Provider-level adjustments typically represent things like interest for late payment, tax withholding, advance payments, or money the payer is taking back from earlier payments.

Provider Adjustment Reason Codes

Provider Adjustment Reason Codes explain why a payer made a provider-level adjustment. For example, a Provider Adjustment Reason Code of BN (Bonus) indicates a payer bonus to the provider. A Provider Adjustment Reason Code of AH (Origination Fee) is used to bill for claim transmission fees.

Where to find provider-level adjustments

Provider-level adjustments are listed separately from claims in the ERA

JSON API

If you’re using Stedi’s ERA Report API endpoint, provider-level adjustments are in the response’s providerAdjustments field.

X12

If you’re receiving ERAs as raw X12, you can find provider-level adjustments in the PLB (Provider Adjustment) segment.

Sales tax

Many payers include sales tax information for service lines in ERAs

If you’re using Stedi’s ERA Report API endpoint, tax amounts for service lines are in the response’s serviceSupplementalAmounts.tax fields.

If you’re receiving ERAs as raw X12, you can find tax amounts for service lines in the AMT (Amount) segment of Loop 2110 (Service Payment Information), using the T (Tax) qualifier.

These tax amounts are informational. They reflect the provider’s tax liability, but they don’t affect actual payment amounts. The way they’re reported can vary by payer.

Standalone tax amount (most common)

Most payers include tax amounts as a standalone informational value.

Example

An ERA shows: 

  • Tax amount: $10  

  • Service-line payment amount: $100 

In this case, the provider is paid $100 for the service line. The $10 just identifies the taxable portion of the $100 payment.

Tax-inclusive breakdown (less common, easy to misread)

Some ERAs show a pre-tax amount and a tax amount that sum to the total payment amount.

Example

An ERA shows:

  • A pre-tax payment amount: $90

  • Tax amount: $10  

  • Service-line payment amount: $100

In this case, the provider is paid $100 for the service line: the $90 pre-tax payment amount + the $10 tax amount.

Where to find pre-tax payment amounts

If you’re using Stedi’s ERA Report API endpoint, the pre-tax amount is reported in the service line’s totalClaimBeforeTaxes field.

However, if you’re receiving ERAs as raw X12, pre-tax payment amounts may appear in the AMT (Amount) segment of Loop 2110 (Service Payment Information), using the T2 (Pre-tax) qualifier.

Rule of thumb: Tax and pre-tax values never increase the service-line payment amount.

Underpayments

An underpayment is when the final claim payment amount is lower than the allowed amount. Underpayment can happen for several reasons:

  • Incorrect coding

  • Missing or incorrect modifiers

  • Patient benefits that haven’t yet been met

  • Repricing

  • Payer errors

One of the main reasons providers perform reconciliation is to catch underpayments. When they do, the provider can appeal the claim or request a corrected payment.

Process claims and ERAs with Stedi

Stedi lets you submit claims and retrieve ERAs through easy-to-use, JSON-based APIs.

We also handle transaction enrollment – including ERA enrollment – for you. It can eliminate up to 90% of your team’s enrollment paperwork.

If you’re not a Stedi customer yet, you can start on our free Basic plan. It includes 100 free claim submissions and free ERAs for the first 100 paid claims each month.

Signup takes less than two minutes. No credit card required.

Share

Twitter
LinkedIn

Get started with Stedi

Get started with Stedi

Automate healthcare transactions with developer-friendly APIs that support thousands of payers. Contact us to learn more and speak to the team.

Get updates on what’s new at Stedi

Get updates on what’s new at Stedi

Get updates on what’s new at Stedi

Get updates on what’s new at Stedi

Backed by

Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.

Get updates on what’s new at Stedi

Backed by

Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.

Get updates on what’s new at Stedi

Backed by

Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.