# 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 1. In the Shift tab, click **Record Shift Shortage**. 2. The system opens `cashier/record_shift_shortage.xhtml`. 3. Enter the **shortage amount** and **reason**. 4. Click **Save**. A shift shortage bill is created. 5. Print from `cashier/record_shift_shortage_print.xhtml`. ### Settling a Shortage If the cashier is required to make good the shortage: 1. Click **Shift Shortage Bill Search** → `cashier/cashier_shift_bill_search.xhtml`. 2. Find the shortage bill. 3. Click **Settle** → `cashier/settle_shift_shortage_bill.xhtml`. 4. Enter the settlement amount and payment method. 5. 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): 1. Find the bill via Shift Shortage Bill Search. 2. Click **Cancel**. Confirm cancellation. 3. Print cancellation from `cashier/shift_shortage_bill_cancellation_print.xhtml`. 4. 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. 1. In the Shift tab, click **Record Shift Excess**. 2. The system opens `cashier/record_shift_excess.xhtml`. 3. Enter the **excess amount** and **reason**. 4. Click **Save**. A shift excess bill is created. 5. 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) |