Appearance
Invoices
The invoices page (/invoices) is the hub for patient billing, payment tracking, sample status, and report delivery. Nearly every lab workflow starts or returns here.
First-time setup
Configure Invoice settings and Patient fields before high-volume billing. See also Create your first invoice.
List filters
Open the Filters card at the top of the page.
| Filter | Control | Behavior |
|---|---|---|
| Date range | Date range picker | Default: last 15 days; filters invoice date |
| Search | Text input | Matches invoice number, patient name, phone, access code, etc. Press Enter or click Apply |
| Test | Searchable select | Show invoices containing a specific lab test |
| Collection center | Searchable select | Filter by branch; clearable (all centers) |
| Referral | Searchable select | Filter by referring doctor/agent |
| Due only | Checkbox | Only invoices with outstanding balance |
| Button | Action |
|---|---|
| Apply | Runs search with current filter values |
| Clear filters | Resets date range, search, due-only, center, referral, and test |
Results are paginated (50 per page) with server-side sort.
Invoice table columns
Default visible columns (toggle via column picker / export menu):
| Column | Sortable | Description |
|---|---|---|
| Invoice details | Yes (invoicenumber) | Invoice # and online access code; offline sync badges if applicable |
| Reference number | — | External reference |
| Name / phone | Yes (patientname) | Patient identity |
| Father / husband name | — | |
| Age / gender | — | |
| Invoice date | Yes (invoicedate) | Date and time |
| Refer by | — | Referral or free-text referrer |
| Sample status | — | Collection/processing state |
| Sub total / Total / Received | Yes | Amounts in Rs |
| Marital status, DOB, blood group, city, CNIC, email, etc. | — | Optional demographic columns |
| Printing detail | — | Last report print timestamp |
| Dues | — | Highlighted red when > 0 |
| Report | — | Status icon (printed vs pending) |
| Sample | — | Pipette icon → patient samples dialog |
| Tests | — | Color chips: green = results entered, red = pending |
| Actions | — | Actions dropdown menu |
Export: Use the table export menu to download CSV/Excel with visible columns.
Create and edit invoice
Open via New invoice button, toolbar pen icon, or Actions → Edit invoice.
Health card section
| Field | Description |
|---|---|
| Patient has health card | Checkbox — enables card number and linked-patient lookup |
| Card # | Health card number; searches existing patients on card |
| Patients on this card | Quick-select chips to load a family member |
Patient section
| Field | Required | Notes |
|---|---|---|
| Phone | — | Auto-searches existing patients by phone (400 ms debounce) |
| Name | Yes | |
| Father / husband name | — | |
| Date of birth | — | Auto-calculates age |
| Age | — | Editable; recalculates from DOB |
| Age unit | — | Years, Months, Days |
| Gender | Yes | |
| Marital status | — | |
| Collection center | — | Default “Self” if empty |
| Country / province / city | — | Location picker |
Invoice detail section
| Field | Description |
|---|---|
| Date | Invoice date/time; changing it recalculates line result times |
| Referred by | Referral dropdown from admin catalog |
| Sample collection | Taken in lab · Home collection |
| Referred by name | Free-text when referral not in list |
Test lines table
Each row:
| Column | Editable | Notes |
|---|---|---|
| Test | Search select | Selecting a test loads price, sample type, processing days, suggested result time, health-card discount |
| Price | Yes | |
| Sample | Yes | Sample type label |
| Processing | Yes | Days until result; updates result time |
| Result time | Date/time picker | |
| Discount | Value + % or Rs | Per-line discount |
- Add test — appends a row and focuses test search on the new line.
- At least one test line is required to save.
| Field | Options |
|---|---|
| Priority | Regular · Urgent |
Totals and payment
| Field | Description |
|---|---|
| Discount on invoice | Amount with % or Rs type |
| Less | Additional deduction |
| Received payment | Amount collected at save time |
| Payment method | Cash · Credit card · Online |
| Payment via | JazzCash · EasyPaisa · Bank transfer (when not cash) |
| Transaction / reference # | Optional reference for digital payments |
| Notes | Rich-text optional notes |
Live totals panel: Sub-total, Discount, Grand total, Due.
Footer buttons
| Button | Action |
|---|---|
| Cancel | Close without saving |
| Save & Print | Save then open invoice print preview |
| Save | Save only |
Home sampling
Invoices created from Home sampling open in preview mode with patient and tests prefilled. Saving marks the request Invoiced.
Record payment (list page)
Actions → Dues / payments or the dedicated payment flow opens a dialog:
| Field | Behavior |
|---|---|
| Amount | Pre-filled with current dues; numeric input |
| Record payment | Posts payment; refreshes list and dashboard |
Actions menu
Every invoice row has an Actions dropdown:
| Action | Read-only blocked? | Description |
|---|---|---|
| Enter result | No | Opens result entry for this invoice — see Result entry |
| Print report | No | Print preview for pathology report |
| Send report | No | SMS/WhatsApp/email delivery dialog |
| Send notification | No | Quick patient notification |
| Print invoice | No | Print preview for invoice receipt |
| Dues / payments | Yes | Record additional payment |
| Edit invoice | Yes | Reopen form dialog |
| Delete invoice | Yes | Confirm dialog; soft-delete (recoverable in Deleted invoices) |
| History | No | Audit log of changes |
| Lab order | No | Printable lab order / worklist |
| View patient | No | Patient detail card |
Patient samples
Click the pipette icon in the Sample column to open Patient samples — lists samples linked to the invoice with export options.
Keyboard shortcuts
| Key | Context | Action |
|---|---|---|
| Enter | Search filter input | Apply filters |
There are no global hotkeys for create/save in the invoice dialog; use toolbar Create invoice or New invoice button.
Offline behavior
When offline, invoices may queue locally with Pending sync or Sync failed badges. Queued saves show a success toast and sync when connectivity returns.
Related documentation
- Patients — registry behind invoice patient lookup
- Collection centers — branch filter and assignment
- Settings / Invoice — print layout and auto-SMS
- Send report to patient
- Lab Administration / Referrals