Billing Improvements 2026

Billing Improvements 2026

Feature/Process

✅ Feature Exists ❌ Feature does not Exist

User Story

Details

Priority Per DRC

Jira Ticket

Feature/Process

✅ Feature Exists ❌ Feature does not Exist

User Story

Details

Priority Per DRC

Jira Ticket

Consultation Fee Auto-Generation ✅ ❌

As a cashier, I want the system to automatically generate consultation fees based on the patient visit

  • When a Visit is started, the system checks the patient’s visit history for the last 7 days

    • This is currently in place, but the system does not check the days

    • Can bills be waived without authorizations?

  • If the patient has NO visits within the last 7 days, automatically add a “Consultation Fee” item to a new bill associated with the encounter

    • No visit history rule is applied at the moment (needs to be done at the implementation level)

  • Bill status is set to UNPAID” when auto-generated

high

 

Payment Status Visibility in Clinical Workflow ❌

As a healthcare provider (triage nurse, clinician, lab technician, pharmacist), i want to see the patient’s payment status displayed prominently so that i can make informed decisions about care sequencing while maintaining clinical continuity

  • Payment status should NOT block access to clinical forms to prevent delays in care delivery

  • Ensure providers can view payment details status (UNPAID, PARTIALLY PAID or PAID) within the patient chart without having to navigate away

  • Need a way to display

  • Confirm that this is for individual items

high

https://openmrs.atlassian.net/browse/O3-5410

Exception Handling ~ Recent Visit Within 7 Days ❌

As a System Admin, I want the system to handle recent visits (within 7 days) without generating a new consultation bill, so that we don’t overcharge patients for follow-up care

  • System to check for previous visits within the last 7 days upon patient check-in

  • If a recent visit exists:

    • No new consultation bill is created

    • Payment status displays: PAID

  • Patient bypasses the cashier and proceeds directly to triage/consultation

  • If the clinician orders New services (lab tests or medications) during the visit:

    • The system creates a bill for these new services

    • Payment status changes to UNPAID

    • Patient must go to the cashier to pay before lab/pharmacy services

  • If NO new services are ordered:

    • Payment status remains marked as PAID

    • Patient completes visit without needing to see the cashier

  • What if the patient did not pay during the initial visit?

high

https://openmrs.atlassian.net/browse/O3-5411

Payment Bypass (Free Services) ❌

As a system Admin, I want to configure which services are free and which visit types bypass payment, so that HIV/TB programs and emergency care can proceed without cashier interaction

  • The system should support “Payment Bypass” based on

    • Patient Category = HIV/TB

      • All HIV-related consultations are free

      • HIV+TB services are free

      • HIV laboratory tests are free

    • Which specific visit type - need to be specified? What rule is being used? Is it registration with specifics

high

https://openmrs.atlassian.net/browse/O3-5412

Lab Orders Billing Integration ❌ ✅ (some config needed and testing but the functionality do exist ~ create in iniz domain)

As a Clinician, I want lab orders to automatically create billable items so that all diagnostic tests are captured for billing without manual entry

  • When a Lab Order is saved, the system should automatically create a corresponding billable item

  • A billable item should be created based on the configured test price

  • Each lab test ordered should generate a separate line item on the patient’s invoice

  • The billable item should be linked/mapped to the lab order

  • Invoice status should remain “PENDING” until payment is processed

high

https://openmrs.atlassian.net/browse/O3-5371

Medication Orders Billing Integration ❌ ✅ (Create bill, once the order is created)

As a Clinician, I want medication orders to automatically create billable items so that all drug costs are captured for billing without manual entry

  • When a Medication Order is saved, the system should automatically create a corresponding billable item

  • A billable item should be created based on the configured test price

  • Each drug ordered should generate a separate line item on the patient’s invoice

  • The billable item should be linked/mapped to the medication order

  • Invoice status should remain “PENDING” until payment is processed

high

https://openmrs.atlassian.net/browse/O3-5372

Payment Processing and Status Update ❌ ✅

As a Cashier/Receptionist, I want to process consultation or lab orders or medication fees payments quickly so that clinical care can proceed without delays

  • The payment interface should display the bill item PENDING payment

  • Support multiple payment methods ~ Cash, Mobile, Card, Insurance

  • Upon successful payment, the bill status should be updated to “PAID” immediately

  • Receipt should be generated

  • Bill status should change from PENDING to PAID

high

https://openmrs.atlassian.net/browse/O3-5389

Bill Editing ✅ ❌

As a Cashier/Receptionist, I want to edit existing bills to add or adjust charges, so that i can correct errors or add services that were ordered after initial billing

  • Authorized users (cashiers/receptionists) can edit bills

  • Bill editing should allow

    • Adding new line items (services, medications, etc)

    • Modifying quantities of existing items

    • Removing incorrect line items

  • When the bill is edited:

    • The system should recalculate the total amount

    • Update payment status (PAID, PARTIALLY PAID, or UNPAID)

    • Timestamp and the user who made the edit should be captured in the audit log

    • Bill editing reasons should be tracked (e.g Additional services ordered, Pricing correction, Service removed/cancelled) - hard to implement

    • Audit log is essential

  • If the bill was already PAID, but the amount increases

    • Option 1 is to just have separate bills ~ system creates a NEW bill, 2 separate receipts are issued

    • Option 2 is to have a single consolidated bill ~ Cashier edits the existing bill to add

high

https://openmrs.atlassian.net/browse/O3-5373

Payment Amount Display ✅

As a Cashier, I want to view the total payment amount due for a patient, so that I can inform the patient how much to pay

  • When the cashier opens the patient's billing record, the system should display:

    • The total amount due should be prominently displayed at the top of the screen

    • Itemized breakdown of charges

    • Outstanding balance (if partially paid)

    • Also, display the total amount due

    • Amount updates in real-time if services are added/removed

    • The cashier can print/display an itemized bill for patient review before payment

high

Done

Receipt Printing After Payment ✅

As a Cashier, I want to print a payment receipt immediately after receiving payment, so that the patient has proof of payment

  • The system should automatically generate a receipt after the bill is PAID

  • Receipt includes:

    • Facility name and logo

    • Date: 11-12-2025 08:35:31

    • Receipt Number (Numéro reçu): 0927-4

    • Patient ID: 10O3LRJ

    • Patient Name: Jhon Ilunga Monga

    • Gender (Genre): M (Male)

    • Date of Birth: 19-02-2022 (3 years old)

    • Billable items

    • Total Bill Amount

    • Payment Method: Cash

    • Total Paid:

    • Transaction ID: Not mandatory

high

Done

Receipt Sample ✅

 

image-20260119-142205.png
Sample Receipt

 

high

Done

Bill Voiding ❌

As an Administrator, I want to be able to void bills for abandoned visits

  • The VOID action is only for bills that have zero payments recorded

  • Users must provide a mandatory reason for voiding (e.g., patient abandoned visit, or patient refused service before paying).

    • Need to add a note to accommodate the reason for cancellation

  • Upon Successful voiding, the bill status must automatically update from “PENDING” to “CANCELLED.”

    • Cancelled and how those will be reported need to be thought about as well

    • What happens if the patient returns and completes the visit later?

 

https://openmrs.atlassian.net/browse/O3-5414

Refunds Management (Cancel Paid Bills) ❌

As an Administrator, I want a formal refund workflow so that we can accurately return funds when a paid service cannot be provided due to technical or logistical failures.

  • Used for instances where service delivery is interrupted after payment is made (e.g., broken equipment, lack of reagents)

  • System must support transitioning an invoice status from PAID → REFUND → REFUNDED.

    • Add a specific "Request Refund" button to a bill with a PAID status

    • Status for a refund requested is needed

  • All refund requests require Administrative Approval before funds can be officially released or the status updated to "Refunded."

    • From cashier to admin to cashier workflow ~

high

https://openmrs.atlassian.net/browse/O3-5413

Discount management ❌ ✅ (Waiver functionality somehow exists)

As an Administrator, I want to apply governed and traceable discounts to patient bills so that we can support facility-level financial needs while maintaining full auditability and preventing informal practices.

  • The ability to initiate or approve discounts is restricted to Admin roles only and must be configurable (enabled/disabled) at the facility level

  • Every discount must capture: (this is different from functionality in place)

    • Initiator and Approver IDs

    • Percentage or specific amount

    • Mandatory justification/motif - this is currently missing

    • Date and time stamp

  • Final invoices/receipts must clearly display the original price, the discount applied, and the final amount.

high

https://openmrs.atlassian.net/browse/O3-5417

Partial payments ❌

As a Cashier, I want to allocate payments to specific bill items rather than prorating across the total, so that there is clear visibility on which services are paid versus unpaid

  • Partial payments must be allocated to specific bill items selected at the time of payment

    • The suggestion is to have only those items that will be paid - way too complicated for partial payments

    • Currently, we don't have a way to have multiple bills on the same day - when we do automatic bills, which bills do those items belong

  • Only items explicitly paid should be marked as PAID; all other remaining items stay as UNPAID / PENDING

high

 

Outstanding Bills Tracking ❌

As a Cashier, I want to clearly identify and track unpaid services from previous visits so that patients can complete payments on subsequent days.

  • Unpaid items must remain outstanding

    • Enable clear tracking and visibility of outstanding bill items at the patient level across all historical visits

  • Cashiers must have the ability to complete payments for these outstanding items during subsequent visits

high

 

Bill Reopening ❌

As an Administrator, I want to reopen and modify previously finalized bills so that I can correct billing errors without creating new bills.

  • Used for instances where billing errors are discovered after a bill has been finalized (e.g., incorrect charges)

  • System should support transitioning a bill status from CLOSED → REOPENED → CLOSED

  • All bill reopening actions ~ requires Administrative Approval before the bill can be edited

high

 

Patient Billing Information ✅ ❌

As a cashier, I want to capture complete patient billing information so that I can generate accurate invoices.

  • Patient Identification ~ Name, Gender, ID

  • Item(s) billed

  • Quantity for each item

  • Unit price for each item

  • Discount amount ❌

  • Discount reason/justification ❌

  • Total amount due

  • Date

 

high

 

Billing Metrics

 

  1. Total number of items ordered/billed

As a billing administrator, I want to view the total number of items ordered/billed so that I can track the total number of items ordered across different time periods

  • Count all medical items that have been added to invoices, regardless of payment status

    • Total value based on the master price list

  • Users must be able to select Start Date and End Date using a date picker to generate reports for a specific period

    • The default view should show current-day metrics

  • Filter by department (Consultation, Lab, Pharmacy, etc.)

  • The report should include an Export CSV function for further auditing and external accounting

    • CSV export must include all detailed data (not just summary)

      • Item name, Quantity, Unit Price, Total Amount Billed

high

 

  1. Number of items successfully paid for

As a billing administrator, I want to view the total number of items ordered/billed so that I can track the total number of items successfully paid for across different time periods

  • Count of all medical items that have been fully paid

    • Total cash/payments actually collected for the medical items

  • Users must be able to select Start Date and End Date using a date picker to generate reports for a specific period

    • The default view should show current-day metrics

  • Filter by department (Consultation, Lab, Pharmacy, etc.)

  • The report should include an Export CSV function for further auditing and external accounting

    • CSV export must include all detailed data (not just summary)

      • Item name, Quantity, Unit Price, Total Amount Paid

high

 

  1. Number of items still awaiting payment

As a billing administrator, I want to view the total number of items ordered/billed so that I can track the total number of items awaiting payment across different time periods

  • Count of medical items with outstanding balances (partial or no payment)

    • The remaining unpaid amount for the medical items

  • Users must be able to select Start Date and End Date using a date picker to generate reports for a specific period

    • The default view should show current-day metrics

  • Filter by department (Consultation, Lab, Pharmacy, etc.)

  • The report should include an Export CSV function for further auditing and external accounting

    • CSV export must include all detailed data (not just summary)

      • Item name, Quantity, Unit Price, Total Amount Outstanding

high