Admin Petty Cash Cancellation Approval - hmislk/hmis GitHub Wiki
Petty Cash Cancellation and Approval
Overview
Petty cash transactions (small disbursements from the cashier float) can require supervisor approval before cancellation. The Petty Cash Cancellation workflow follows the same two-step request-and-approve pattern as bill cancellations, but is specific to petty cash entries.
When to Use
- A cashier has accidentally recorded a petty cash transaction and needs it reversed
- Policy requires manager sign-off before any petty cash entry can be cancelled
Step 1: Submitting a Petty Cash Cancellation Request
- Navigate to the petty cash management area
- Find the petty cash entry to cancel
- Open the cancellation request form (Petty Cash Approval Request)
- The form shows the petty cash details
- Click Request Cancel to submit
The entry moves to PENDING status and the cashier cannot cancel it unilaterally.
Step 2: Approving or Rejecting the Request (Supervisor)
- Navigate to View Request and find the pending petty cash cancellation
- Open the Petty Cash Approval Request page
- The page shows the petty cash details and request status
- Choose an action:
- Click Approve (confirmation required: "Are you sure you want to approve this petty cash Cancel Bill?") — processes the cancellation
- Click Reject — denies the cancellation, the entry remains active
If the request is already APPROVED, REJECTED, COMPLETED, or CANCELLED, the action buttons are disabled and the form is read-only.
Cancel Approval
If a supervisor approved but then needs to reverse the approval (before completion), they can click Cancel Approval to return the request to a cancellable state.
Step 3: Requester Cancels Their Own Request
If the requester wants to withdraw their pending request:
- Navigate to Petty Cash Bill Request Cancel
- Confirm the withdrawal
- The request moves to CANCELLED status — the original petty cash entry is unaffected
Viewing All Petty Cash Requests
Use View Request (filtered by request type) to see all petty cash cancellation requests and their current status.
Technical Notes (Admin/Developer)
Petty cash requests are stored as Request entities with requestType = RequestType.PETTYCASH_CANCEL. The approval action is handled by requestController.approvePettyCashCancellationRequest(). The rejectRequest() method handles rejection. Status values: PENDING, APPROVED, REJECTED, COMPLETED, CANCELLED.