Hello Team,
I’d like to propose significant improvements to the Teller module in alignment with FINERACT-204.
While global financial services are increasingly shifting toward cashless transactions — with account-to-account transfers becoming the norm — the reality remains that branch banking is still widely practiced, especially in emerging markets. As such, cash handling and teller operations continue to be critical components of day-to-day banking.
Most mature core banking platforms offer robust teller modules that support cash management, reconciliation, and audit trails. By strengthening Fineract’s teller capabilities, we can:
- Better support institutions operating in cash-heavy environments
- Improve adoption rates by offering parity with commercial systems
- Increase conversion from legacy platforms to Fineract
I believe this enhancement aligns with the broader goal of making Fineract more versatile and enterprise-ready. If the community supports this direction, I’m committed to contributing the necessary improvements to deliver a more mature and feature-complete Teller module.
The following outlines the backend enhancement plan for the Teller Module
- We maintain the m_tellers entity in the code base and christen it as branch vaults, then modify it to have attached to it a dedicated GL cash account - users can set it up as a multi-branch GL like all other GLs or a dedicated Vault Cash GL per branch
- We Maintain the m_cashiers entity and christen it as Teller Tills, then modify it to have attached to it dedicated GL cash account - this means that each teller can have a dedicated GL account
- At the moment, there's a setup in the accounting module to link Teller and Cashier to GL accounts but the associated transactions in the journal entries entity cannot be directly linked to cash allocation and settlement transactions performed by cashiers making tracking of branch cash balances and overages/shortages impossible
- The platform also doesn't even provide for other cash transactions other than movement and settlement of cash between cashier and teller.
- We will include the transaction types to enable us to perform cash deposit and cash withdrawal at the branches.
- The m_cashier_transaction entity will be modified to include debit_account and credit_account to capture a cash deposit or withdrawal transaction
- For cash deposit, accounting entry will be - CREDIT the customer account and DEBIT the GL associated with the Till performing the transaction
- For cash withdrawal, the accounting entry will be - DEBIT the customer account and CREDIT the GL associated with the Till performing the transaction
- Each branch will have one vault (which means one GL for the branch vault) but multiple tills can be created and associated with this vault for the branch - this means multiple Cash GLs, one for each cashier in the branch
- A till with its associated GL account can either be for a human teller or an ATM machine
- Cash should be transferred into the tills (the associated GL account should have a positive balance) before withdrawals are performed against the tills - this will be simpler if we maintain balances for these GL accounts (more on balance maintenance in another proposal)
- Balance update for both the tills, vault, customer accounts are going to be online
- Till cash can be transferred back to the vault after the day's transactions
- At any point, the total cash in the branch will reflect the sum of balances on all cashier tills in the branch and the balance on the branch vault account - this is essential to cash position management and therefore risk management at the branches
- Branch cash position management implies we have to introduce the concept of interbranch entries - at any point in time the sum of all inter branch balances must be zero
- We can also enable denomination management to enhance cashier cash balancing procedures for those working with denominations
- There will be overage/shortage accounts in the branch that will hold cash in the branch that would have been recorded in the system but cannot be accounted for
- With this, financial institutions can ensure some controls by requiring that all cashier till balances are zero at the close of each working day
- We will also introduce mandates on accounts. Mandate is a regulatory requirement in many countries. Introduction of mandates will make it easier to support joint accounts
- At the moment, we could use the groups feature to handle joint accounts once mandates are available
Front-end Changes
- We'll rework the teller management screens within the Organization setup menu to reflect the changes
- We'll have a dedicated screen for teller transactions - precisely, cash deposit and cash withdrawal - cheques will come in later
- The dedicated screen will have a lazy list of all accounts with search criteria to enable tellers search for specific accounts
- The details displayed on the account should include the available balance on the account, the status of the account, the last few transactions on the account, and most importantly the mandate on the account
- We will also include an option to verify the identity of the originator of the transaction. In here, we can show the image of the account owner, their signature or do biometric verification if there is an integration into an external verification service or all of the above
- A withdrawal transaction without corresponding balance on the cashier till account will fail
- Each cashier can print their call over report at any point in time
- This dedicated cashier screen will only show up in the menus of users who have been designated and setup as cashiers
Please let me know what you think.regards,Jamal
Hi Barath,Time works for me. If it's okay with Ed, then we are good to go.Regards,JamalOn Wed, Aug 13, 2025, 6:44 PM Bharath Gowda <bgo...@mifos.org> wrote:Hi Jamal,EdDoes Monday 18th August 3PM GMT work for you for the discussion?Regards,BharathLead Implementation Analyst | Mifos InitiativePMC Member | Apache FineractMobile: +91.7019635592On Fri, Aug 8, 2025, 12:54 PM Jamal Inkoom <jin...@gmail.com> wrote:Many Thanks Ed,I'm available for further discussions on this. Just let me know when and I will create the time.regards,
Mifos-developer mailing listMifos-developer mailing listMifos-developer mailing listMifos-developer mailing list
mifos-d...@lists.sourceforge.net
Unsubscribe or change settings at:
https://lists.sourceforge.net/lists/listinfo/mifos-developer
mifos-d...@lists.sourceforge.net
Unsubscribe or change settings at:
https://lists.sourceforge.net/lists/listinfo/mifos-developer
mifos-d...@lists.sourceforge.net
Unsubscribe or change settings at:
https://lists.sourceforge.net/lists/listinfo/mifos-developer
mifos-d...@lists.sourceforge.net
Unsubscribe or change settings at:
https://lists.sourceforge.net/lists/listinfo/mifos-developer