Skip to content

Finance Denomination Management

Dr M H B Ariyaratne edited this page May 22, 2026 · 1 revision

Denomination Management in Cash Transactions

Introduction

Denomination management allows cashiers to record physical cash breakdowns — the number of each note and coin denomination — rather than just a total amount. This enables physical cash audits, reduces count errors during handover, and provides detailed trail for safe/bank reconciliation.

Where Denominations Are Used

Operation Purpose
Start Shift (Opening Float) Record denomination breakdown of opening cash
End Shift (Shift End Summary) Record physical cash in drawer at shift end
Record Shift End Cash in Hand Explicit cash count for handover
Handover Creation Break down cash bundle being handed over
Float Transfer Specify denominations in float transfer
Float Transfer Request Request specific denominations
Deposit to Safe/Bank Record denominations deposited

Entering Denominations

On any page with denomination entry:

  1. A denomination table shows each note/coin value (e.g. Rs 5000, Rs 1000, Rs 500, Rs 100, Rs 50, Rs 20, Rs 10, Rs 5, Rs 2, Rs 1).
  2. Enter the quantity of each denomination.
  3. The system calculates subtotals per denomination and the grand total automatically.
  4. The grand total must match the declared amount.

Validation Rules

  • Negative quantities are blocked — client-side (f:validateLongRange) and server-side validation prevent negative values (PR #20808).
  • Grand total must equal the entered cash amount before the form can be saved.

Denomination Prefill

When issuing a float transfer, denomination fields are pre-filled based on your current drawer composition (PR #20664). You can override the pre-filled values before submitting.

Technical Reference

Item Detail
Controllers DenominationController, DenominationTransactionController
Entities Denomination (note/coin types), DenominationTransaction (per-transaction breakdown)
Validation f:validateLongRange (min=0) on quantity inputs
PR references #20808 (negative validation), #20664 (prefill in float transfer)

Clone this wiki locally