Skip to content

Finance OPD Batch Bills

Dr M H B Ariyaratne edited this page May 22, 2026 · 1 revision

OPD Batch Bills — Pre-Bill and Cashier Scan

Introduction

The pre-bill workflow separates bill creation from payment collection. A pre-bill is generated at the service point (reception, ward, or clinic desk) listing the services ordered. The patient then proceeds to the cashier, who scans or searches the pre-bill and collects payment. This is the standard workflow in high-volume OPD settings.

Navigation

  • Scan Bills (Cashier): Main Menu → OPD Cashier → Scan Bills (privilege: ScanBillsFromCashier)
  • Accept Payments for OPD Batch Bills: Main Menu → OPD Cashier → Accept Payments for OPD Batch Bills (privilege: AcceptPaymentForOpdBatchBills)
  • Accept Payments for Pharmacy Bills: Main Menu → OPD Cashier → Accept Payments for Pharmacy Bills (privilege: AcceptPaymentForPharmacyBills)

Scan Bills Workflow

  1. Navigate to Scan Bills — opens the pre-bill scan page (opdPreSettleController.navigateToScanBills()).
  2. Scan the barcode on the pre-bill slip (barcode scanner or manual entry of bill number).
  3. The system retrieves the pre-bill and displays the services and total.
  4. Cashier verifies the services with the patient.
  5. Select the payment method and enter payment details.
  6. Click Settle — the pre-bill is converted to a paid bill and a payment record is created.
  7. Receipt is printed.

Accept Payments for OPD Batch Bills

This mode presents a list of pre-bills ready for payment rather than scanning one at a time:

  1. Navigate to Accept Payments for OPD Batch BillsopdPreSettleController.navigateToSettleOpdPreBills().
  2. A list of pending pre-bills is shown, filterable by patient, date, or department.
  3. Select one or more pre-bills.
  4. Confirm payment method and amount.
  5. Process payment — creates settled bills and payment records for all selected.

Settling Pre-Bills — Pages

Page Purpose
opd/opd_search_pre_bill.xhtml Search and list pre-bills
opd/opd_pre_settle.xhtml Pre-bill settlement entry
opd/opd_bill_pre_settle.xhtml Bill-level pre-settlement view

Pharmacy Pre-Bills

Pharmacy bills follow the same pre-bill pattern:

  • Accept Payments for Pharmacy Bills (AcceptPaymentForPharmacyBills) → pharmacy/pharmacy_search_pre_bill
  • Pharmacist creates a dispensing record (pre-bill); cashier collects payment.

Technical Reference

Item Detail
Controller OpdPreBillController
Scan bills method navigateToScanBills()
Batch settle method navigateToSettleOpdPreBills()
BillType OpdPreBill → settled to OpdBill
Privileges ScanBillsFromCashier, AcceptPaymentForOpdBatchBills, AcceptPaymentForPharmacyBills

Clone this wiki locally