Finance Shift Shortage and Excess - hmislk/hmis GitHub Wiki
Recording Shift Shortage and Excess
Introduction
A shift shortage occurs when the cash in a cashier's drawer is less than the expected balance. A shift excess occurs when there is more cash than expected. Both must be formally recorded so the discrepancy is documented and can be investigated or settled.
Navigation
Main Menu → Financial Transaction Manager → Shift tab
Recording a Shift Shortage
- In the Shift tab, click Record Shift Shortage.
- The system opens
cashier/record_shift_shortage.xhtml. - Enter the shortage amount and reason.
- Click Save. A shift shortage bill is created.
- Print from
cashier/record_shift_shortage_print.xhtml.
Settling a Shortage
If the cashier is required to make good the shortage:
- Click Shift Shortage Bill Search →
cashier/cashier_shift_bill_search.xhtml. - Find the shortage bill.
- Click Settle →
cashier/settle_shift_shortage_bill.xhtml. - Enter the settlement amount and payment method.
- Save and print from
cashier/settle_shift_shortage_print.xhtml.
Cancelling a Shortage Bill
Shortage bills can be cancelled if recorded in error (PR #20698):
- Find the bill via Shift Shortage Bill Search.
- Click Cancel. Confirm cancellation.
- Print cancellation from
cashier/shift_shortage_bill_cancellation_print.xhtml. - Reprint original from
cashier/shift_shortage_bill_reprint.xhtml.
Recording a Shift Excess
Configuration required: The configuration key "Shift Excess Bills are enabled" must be true.
- In the Shift tab, click Record Shift Excess.
- The system opens
cashier/record_shift_excess.xhtml. - Enter the excess amount and reason.
- Click Save. A shift excess bill is created.
- Print from
cashier/record_shift_excess_print.xhtml.
Shortage and Excess in Handover
Recorded shortages appear as labelled rows in the handover summary ("Shift Shortage" label — PR #20813), ensuring the receiving supervisor is aware of discrepancies before accepting.
Technical Reference
| Item | Detail |
|---|---|
| Controller | FinancialTransactionController |
| Record shortage | navigateToRecordShiftShortage() |
| Record excess | navigateToRecordShiftExcess() |
| Shortage search | navigateToCashierShiftBillSearch() |
| Settle shortage | navigateToSettleShiftShortageBill() |
| Config key (excess) | "Shift Excess Bills are enabled" |
| PR references | #20698 (cancellation), #20725 (remove config gate), #20813 (handover label) |