Step-by-Step Guide: Setting Up OpenEMR Billing for Maximum Efficiency

Step-by-Step Guide: Setting Up OpenEMR Billing for Maximum Efficiency

Setting up OpenEMR’s billing module correctly is crucial for smooth claims processing and revenue cycle management. This guide provides clinic administrators, IT staff, and medical billers with a step-by-step approach to activating billing features and running reports using the current OpenEMR interface. 

The instructions are general and applicable to modern OpenEMR 5.x–7.x and focus on best practices. Each section includes practical tips and pointers to avoid common pitfalls.

Billing Module Activation and Initial Setup

1. Log in as Administrator

Billing configuration requires an admin account (or equivalent Accountant role). Go to Administration → Globals → Features to verify billing settings. For example, older versions required setting the CMS-1500 Paper Form Format to “02/12” for ICD-10 compatibility.

Ensure any billing widgets or panels are enabled (for example, disable “Fees in Left Menu” and enable the modern Fee Sheet interface under Administration → Globals (Billing section) if needed.

2. Configure Global Billing Options

In Administration → Globals, review the Billing and Statement tabs. Common settings include enabling UB-04 (837I) support, setting default print margins for claim forms, and customizing patient statement formats. For example, enable Custom Statement if you want to print CPT codes on invoices.

3. Set Access Controls

Under Administration → ACL, ensure the relevant user roles (Administrator, Supervisor, Accountant/Biller) have access to billing functions like Fees, Payments, and Financial Reports. This ensures billers can enter charges, process payments, and run collections reports.

4. Verify Practice and Facility Information

The billing module relies on accurate clinic data. In Administration → Facility, fill in your clinic’s name, address, NPI, and tax ID. In Practice, add any clinic phone/email and digital signature for claim forms. These details populate claim forms and electronic submissions.

5. Enter Provider IDs

Each provider should have their identifiers set for billing. In Administration → Users, edit each provider account and enter the provider’s UPIN/NPI and Taxonomy. 

Also, use Administration → Practice → Insurance Numbers to add payer-specific provider IDs (some insurers require your ID under their plan). These IDs will appear on claims.

Configuring the Fee Sheet

The Fee Sheet panel is where billers add services to an encounter. Before using it, set up service categories and fee entries.

1. Edit Fee Sheet Categories

By default, OpenEMR’s Fee Sheet has categories like “New Patient” and “Established Patient.” You can customize and add new categories by editing lists. 

Go to Administration → Lists → List Editor, choose Services, and adjust categories. For example, clinics often create headings like “Office Visit”, “Lab Tests”, “Imaging”, “Procedures”, “Supplies”, etc. Categorizing helps billers find codes quickly on the fee sheet.

2. Define Price Levels

In Administration → Lists, find the Price Level list. You can add levels such as Standard, Discount, Medicare, if you bill at different rates. These will appear as columns when adding fees to codes.

3. Link Codes to Categories

When adding billing codes, you can assign each code to a category. This groups them under that heading on the Fee Sheet. Alternatively, you can add codes “on the fly” directly in the fee sheet interface. However, pre-defining common procedures in categories sometimes called a “Superbill” speeds data entry.

Related: OpenEMR Billing Module: How to Simplify Claims Processing and Reduce Denials

Loading CPT/ICD Codes

1. Import Standard ICD Codes 

Go to Administration → Other → External Data Loads. Here you can install ICD-9 or ICD-10 code sets. Click ICD9 or ICD10 and follow the prompts (If the web installer fails, the wiki provides SQL import files.) After importing, activate the codes via Administration → Lists → Code Types: find the row for ICD9 or ICD10, toggle Active, and set External to “ICD9 Diagnosis” or “ICD10 Diagnosis” respectively. This makes all ICD codes searchable in the Fee Sheet and elsewhere.

2. Import Other Standard Tables 

If you use SNOMED, RxNorm, or other code sets, you can similarly import them under External Data Loads. The wiki has instructions for SNOMED imports if needed.

3. Add CPT/HCPCS Codes Manually

Unlike ICD, CPT4 (Procedure) and HCPCS code sets are proprietary. OpenEMR expects you to enter only the codes your practice uses. 

To do this, go to Administration → Coding → Codes (called Codes in v4.1+, or Services in very old versions). Here you can “Add New” codes as follows:

  • Click the Type dropdown and select CPT4 (or HCPCS).
  • Enter the Code (e.g., “99213”) and any Modifier if applicable.
  • Mark the code Active (checked) so it’s available.
  • Give a descriptive Description (it helps to start with the code, e.g., “99213 – Office Visit, Established Patient”).
  • Leave Category blank here (you’ll group it later if desired).
  • Under Diagnosis/Service Reporting, check if it’s a service code (usually yes).
  • Enter the Fees for each price level you set up (e.g., Standard fee, Discount fee) in the text boxes.s
  • Omit the dollar sign.
  • Click Add as New to save. Repeat for each code.

4. Edit Existing Codes

To update or correct a code, use the search in the same Codes screen. Select the code type on the left, search by code or text, and click Edit next to the entry. Modify fields and click Update.

5. Create Custom Service Categories  

If you want to automate adding multiple codes at once, consider using “Multi-Code Fee Sheet List” categories. This allows a dropdown where selecting a procedure automatically enters several codes. For most clinics, individual codes and simple categories suffice.

Insurance Company Setup and Verification

Proper insurer setup ensures claims go to the right place and eligibility is checked.

1. Add Insurance Plans

In Administration → Practice Settings → Insurance Companies, click Add a Company. Enter each insurance plan as a separate entry (even if several plans belong to the same insurer) with the correct name, address, payer ID, and billing contact. As the wiki notes, many insurers require each plan to be a separate company record. Save when done.

2. Enter Payer IDs

For each insurance company, make sure the Payer ID field matches what the insurer expects on electronic claims. This usually comes from your clearinghouse or the insurer’s EDI setup.

3. Assign Insurance to Patients

In the patient’s chart, fill out the Insurance section. Input subscriber name/ID, group number, relationship, and policy dates. This data feeds into claims.

4. Verify Eligibility

If you have a clearinghouse integration (see next section), use it to check patient coverage. Otherwise, do a Coverage Check before visits. Some clinics also use reports: e.g., run an “Eligibility Report” for upcoming appointments.

Related: 10 Ways OpenEMR Billing Tools Help to Streamline Healthcare Practice Cash Flow

Clearinghouse Integration and Claims Services

Integrating with external billing services speeds up claims transmission and payment. Always verify the setup with a test claim. Most clearinghouses offer a test/pilot environment. 

Send a few sample claims and confirm they arrive correctly. Check that 999 (ack) and 277 (rejection/acceptance) reports are captured by OpenEMR (via the X12 Tracker or ClaimRev module) so you know the status of each batch.

Automated Reminders and Follow-Ups

OpenEMR has features to remind staff of aging claims and to notify patients of balances.

1. Patient Statements and Dunning Messages

Under Administration → Globals → Statement, enable Custom Dunning Messages. Then set how many days overdue triggers each message (e.g., 30, 60, 90 days) and enter the text for each reminder. 

When billing runs statements for patients (after EOBs are posted), these messages will print on the statements automatically. For example, you might configure a “60-day reminder” template, and it will appear on statements for accounts over 60 days past due. This automates patient billing notices.

2. Billing Manager Follow-up

In Fees → Billing Manager, you can filter claims by status (e.g., “Unsent”, “In Process”). Periodically revisit unsent or rejected claims to resubmit or correct them. Keep track of denials here; when payments (EOBs) are entered and a claim is denied or unpaid, the Billing Manager moves it back into the queue.

3. Reporting for AR

Use the financial reports for actionable follow-up:

  • Open Item Listing: This report (Reports → Financial) lists unpaid claims and balances by date range. It’s a handy way to see outstanding insurance claims and related invoices. You can click through to the original encounter from this report.
  • Collections: The Collections Summary report shows payments and adjustments over time. However, note it’s more for reporting than active follow-up; many users prefer the Open Item Listing for chasing overdue accounts.
  • End-of-Day/Deposit Reports: These confirm daily totals of payments and insurance deposits, helping with reconciliation.

4. Tasks/Calendar

Use the OpenEMR Calendar or an external task manager to schedule follow-ups. Though not built-in, some clinics use the Calendar tasks for reminders.

Reporting and Reconciliation

Review Electronic Remittances (ERAs)

When clearinghouses send electronic EOBs (835s), import them via Fees → Posting Payments (some modules auto-import ERAs). This will automatically post payments and adjustments to patient accounts. Verify that payments match claims; any mismatches indicate errors.

Patient Ledger

For each patient, the Ledger (patient summary billing tab) shows charges, payments, insurance adjustments, and current balance. Train front-desk or billing staff to consult this when questions arise.

Profit and Loss and A/R Aging

If you use OpenEMR’s practice financial reports, run P&L and Aging reports monthly. These summarize income vs. expenses and aging of accounts receivable. Compare ERA totals to your bank deposits to reconcile.

Custom Reports

OpenEMR’s Report Editor (Administration → Lists) allows building custom financial reports. For example, you could create a report showing claims submitted vs. paid by the insurer.

Regular Reconciliations

On a weekly or monthly basis, reconcile the number and amounts of 837 claims sent with the remittance reports. Confirm no claims are “lost” in the system.

Related: 8 Ways OpenEMR Streamlines Your Medical Billing Operations

CapMinds OpenEMR Customization and Integration Service

CapMinds OpenEMR equips clinicians with the best features and ways to integrate. It makes their workflows more efficient and filtered. 

The integrated features will allow them to combine the ability of patient record management with conceptual and concurrent reminders. 

This enhances the process of decision-making and improves patient care and quality.

  • At CapMinds, OpenEMR custom solutions are developed with much care and accuracy to match the special practice needs.
  • It will be low-cost and the perfect budget solution for your practice’s long-term future.
  • CapMinds OpenEMR prioritizes secure data management & ensures compliance with industry regulations, offering healthcare providers peace of mind.

Get the best technologies and HIPAA-compliant and efficient OpenEMR from CapMinds that can be tailored to fit your practice. 

Our OpenEMR services facilitate a Modern User Interface (UI), customization, production support & training. It also facilitates billing, reporting, specialty enhancements, clearing house integrations, e-prescribing, cloud, and more.

“Get the most experienced, proven, and perfect professional support for your OpenEMR.”

Contact Us

Leave a Reply

Your email address will not be published. Required fields are marked *