OpenEMR 6.x Billing - Process Payments

From OpenEMR Project Wiki


In the first page OpenEMR_6.x_Billing_-_Claims_Workflows we looked at claims creation. Now we move on to processing payments.

  • Manual Payments
    • Search for Payments
    • Patient payments or EOBs
  • EDI: Claims Response Files
  • EDI: Apply ERAs

Manual Payments

Payments may be manually entered into OpenEMR's billing system either by EOBs received from a clearing house or insurance company, or by check or cash from an individual. Payments are entered at 'Fees/ Batch Payments' as shown below, but interestingly, one may search for payments, from a different tab.

Search for payments

OpenEMR has a simple tool to search for payments and EOBs; compare to the more feature- rich 'Search Payment' tab described below.

1. From the main menu, go to main menu: Fees/ Posting Payments


2. In the top section, 'Post Item' enter the search criteria.


This can be any one or combination of the following

  • the payer - This can be either the patient or one of the insurance companies which have been configured in (from main menu:)'Administration/ Practice/ Practice settings/ Insurance Companies'
  • Source - a check or claim number to identify the source
  • Pay Date - pick date of payment or enter as yyyy-mm-dd
  • Deposit Date - pick date of bank deposit or enter as yyyy-mm-dd
  • Amount - paid amount that you will allocate
  • Pt Debt- was the posting applied to patient debt

Let's search on all payments by Payer 'Test Insurance Company'

3. Click 'Search' button at lower left


This is all the EOBs from the selected insurance company.

Any collection of them may be selected for action
1. Select checkboxes in 'Sel' column (oval)
2. Click appropriate button at bottom of screen (rectangle)

  • Select 'Without Update' if you do not want this processing to increment the claims' payer ('Prv' column) status

Or an individual invoice may be selected for editing; click invoice number in 'Inv column'


Apply Payments from Patients or Insurance EOBs

1. From main menu: 'Fees/ Batch Payments'


Alternatively, to accept patient payments on account one may use the main menu item, 'Fees/ Payments'.

Default tab: 'New Payment'


2. Fill in payment identifiers

  • Date - date of entry
  • Post To Date - date the payment is going to be posted to
  • Payment Method - select the method

  • Check Number - reference number for the payment method
  • Payment Amount - enter amount
  • Paying Entity - dropdown to select 'Patient' or 'Insurance'
  • Payment Category - select from multiple categories

  • Payment From - this dropdown displays insurance companies registered in 'Administration/ Practice/ Practice Settings/ Insurance Companies' based on the initial few keystrokes.

Or accepts a freetext payor's name if not an insurance company


  • Payor ID - automatically entered from Insurance Company information
  • Deposit Date - get from EOB
  • Description - automatically entered from Ins co information
  • Distributed to Global - See this page's Conclusion for forum link
  • Undistributed - any remainder after EOB allocations

3. Click 'Allocate' when done with entry of partial EOB

4. Click 'Save' when completely finished with the EOB or patient payment

Tab: 'Search Payment'


This tab is functionally similar to the EOB search previously described but with more search fields.

  • Payment date - select from dropdown:
    • Date
    • Post To Date
    • Deposit Date
  • Select the payment date range:
    • From
    • To
  • Payment Method - select
  • Check Number - what it says
  • Payment Amount - amount
  • Paying Entity - Insurance or Patient
  • Payment Category - select

  • Pay Status - select 'Fully Paid' or 'Unapplied'
  • Payment From - enter patient name or insurance company name
  • Payor ID - derived from insurance company information
  • Sort Result by - select

Click 'Search' and see the results.


Tab: ERA Posting


Curiously OpenEMR has two (2) places to enter ERA payments. Documentation for the legacy ERA payment module is shown in the section below 'EDI: Apply ERA Payments'. However, the new functionality accessed through this tab behaves similarly, the only differences are that here one may enter more criteria in the text areas.

EDI: Claims Response Files

The steps above apply strictly to paper payments; now we look at the steps for inputting electronic payments. When electronic claim files are uploaded to a clearinghouse or payor, they generally generate some sort of response files which report the processing status of the claims. This section is about working with electronic claim files.

Downloading Response/ Payment Files

Again, clearinghouses all have their own methods for handling response files. But here are a few basic points to know about the process.

  • OpenEMR's SFTP functionality (OpenEMR v6.1+) is for SENDING claims to X12 partners rather than for receiving them. Generally, the practice's billing person may download claim response files from a clearinghouse either via an SFTP client or with a web browser through the clearinghouse's web portal. They can be placed in a local directory
  • For security and accountability purposes it may be helpful to create a special location on the local computer to keep billing files separate from other user files.

Resubmit Claims

After a batch of claims is uploaded all clearinghouses will return some sort of response files which have the purpose of telling the status of the claims in the uploaded batch. But since their methods are so different from each other we won't get into any particular one of them here; your billing or IT consultant will need to learn the idiosyncrasies of the clearinghouse you use.* Generally, claim files will be rejected by the clearinghouse for incompatibility reasons, e.g., malformed x12 claim files due to claim data placed in the wrong fields. If the EMR has successfully submitted claims of this type in the past, look for incorrect patient demographics or encounter information. Otherwise it's possible the EMR needs customization to format the x12 file properly.

  • When or if the claim file is correctly generated it may be rejected by the payer for claim data issues, e.g., a patient's policy was not in effect on the Date Of Service.
  • In either case you may correct the error and resubmit the claim.
    • a. Go back to first section above, (previous wiki page, 'Claims Creation') and search on the claim that needs to be corrected.
    • b. select it from the results (arrow at right below), click 'Re-open' (oval)


    • c. include it in a future outgoing batch file
  • Once the claim is accepted by the payer they will eventually send an ERA file with the payment

EDI: Apply ERA Payments.

Eventually the clearinghouse or payor will send back a, electronic payment file, AKA 'ERA'. This is how to get it into your EMR billing system.

1. From Main Menu: Fees/ Post Payments


2. Click 'ERA Upload' (oval)


3. Browse local filesystem to locate and select the ERA file (highlighted)


4. Click blue 'Upload' button


  • If you post an ERA that has claims that are not in your OpenEMR those claims will simply be ignored without touching the uploading system's accounting data. This sample ERA contained 5 claims that were not in my demo system.
  • If the ERA file has already been uploaded it will be noted and the upload prevented!


NOW- since I do not have a customer's United Healthcare account identifiers I can't simply add UHC to my demo OpenEMR, upload the ERA and take a screenshot of what that looks like.

However, the uploaded payments will be revealed in a search for payments (see section above, 'Search for Payments'; found from main menu, 'Fees/ Posting Payments'.

AND one interesting report that should come in handy:

From main menu: Reports/ Financial/ Pmt Method


Enter a date range, select 'report by payer' and see all payments, either electronic or by paper.


Here are some useful links to resources mentioned in this tutorial.

The forum post about 'Distributed to Global' referenced above:

Good information about making X12 SFTP work from the OpenEMR community forum

Data Requirements for Billing

Tutorial for billing workflows on the older OpenEMR v4.x

Applying an adjustment to an account. The pictures are from OpenEMR v4.x but the workflow remains the same.