Finance Shift Handover - hmislk/hmis GitHub Wiki

Shift Handover

Introduction

A shift handover is the formal process by which a cashier transfers their shift's collections to the next cashier or supervisor at the end of their shift. The handover creates a documented record of everything transferred and requires explicit acceptance from the receiving party.

Navigation

Main Menu → Financial Transaction Manager → Handover tab

Creating a Handover

  1. In the Shift tab, click Handover Current Shift.
  2. The handover page opens showing your current shift details: your name, Shift Start date and bill number, Total Collected Value, and Total Handed over Value.
  3. Your shift's money is grouped by Payment Method with three columns — To Handover, Handing Over, and Difference.
  4. Review each row and verify the totals.
  5. Enter the denomination breakdown for cash in the quantity boxes on the right. Negative quantities are not allowed.
  6. Review the float transactions for the shift. Each float you sent or received during the shift is listed with its From User, To User, and amount.
  7. In the Hand over to field, search for and select the cashier who will receive the shift.
  8. Click Handover.
  9. Confirm the dialog "Are you sure you want to handover this shift?". The handover summary print opens.

Shift Handover page showing the shift summary, payment-method rows, denomination entry, and the Hand over to selector

Note: You cannot hand over a shift to yourself. If you select your own name and click Handover, the system rejects it with "Cannot handover to yourself. Please select a different user." and no handover is created.

Print Options

From the handover summary print, click View Details to open the detailed receipt.

Print Purpose
Handover Summary Print One-line-per-payment-method summary
Handover Details Print (View Details) Full detailed receipt, including the Float Transactions table

The Handover Details Print lists every float transaction for the shift under Float Transactions, showing the Direction (Float Sent / Float Received), From User, To User, and Amount. Each Float Sent and Float Received row shows the correct recipient name in the To User column, so you can confirm exactly who each float went to or came from.

Handover Details Print showing the Float Transactions table with From User and To User populated for both Float Sent and Float Received rows

Accepting a Handover

  1. In the Handover tab, click Shift Handovers to Accept.
  2. A list of handovers waiting for you appears, showing the handover Number, sender Username and Staff Name, Created At, and Value.
  3. For the handover you want to process, click To Accept to review and accept it, or Reject to return it to the sender for correction.
  4. On accepting, review the totals, float detail, and denomination breakdown, then confirm. Your drawer is credited with the handed-over amount.
  5. Print the acceptance receipt when prompted.

Important: A handover made up only of float transfers (for example, when the sending cashier's whole shift was sending or receiving floats, with no billed cash collection) currently cannot be accepted — clicking To Accept has no effect. In that situation the sending cashier should ensure the shift includes a normal collection, or contact an administrator. This limitation is being tracked for improvement.

Viewing My Handovers

In the Handover tab, click My Handovers to open the list of handovers you have created. Click any handover to view details (cashier/handover_view.xhtml), print summary or details, or reprint from cashier/handover_reprint.xhtml.

Settling Missing Proof

If a handover has a missing payment proof (e.g. a card slip not yet received), navigate to Settle Handover Proof Missing:

  • Page: cashier/settle_handover_proof_missing.xhtml
  • Print: cashier/settle_handover_proof_missing_print.xhtml

Legacy Handover

When "Legacy Handover is enabled" is true, additional options appear:

  • Handover (OLD)navigateToHandoverCreateBill()
  • Handover By Period (if "Period Handover is enabled") — navigateToHandoverCreateBillForSelectedPeriod()

Technical Reference

Item Detail
Controller FinancialTransactionController
Create current shift navigateToHandoverCreateBillForCurrentShift()
Receive list navigateToReceiveHandoverBillsForMe()
Accept navigateToReceiveNewHandoverBill()
Reject navigateToRejectNewHandoverBill()
My handovers navigateToMyHandovers()
Reprint navigateToHandoverReprint()
Config keys "Current Shift Handover is enabled", "Legacy Handover is enabled", "Period Handover is enabled"
PR references #20808, #20798, #20797, #20813, #20815