Add support to flag, lock, block, or hold accounts.
This a useful feature that is needed for general client management, monitoring risk, preventing fraud, and for compliance with regulations for accounting, KYC/AML, etc. Other software systems provide the capability and we need to do the same.
Possible scenarios for when an account could need to be flagged or put on hold include:
Flagging of the account could have different intended results:
|1||Define||Describe the user and what they are trying to achieve (I.e. As a <type of user>, I want <some goal> so that <some reason>||Must Have|
Define Savings Account Flags
|As an operations manager or system administrator I want to be able to create a new status of On Hold or Flagged for Savings Accounts|
|Define Loan Account Flags||As an operations manager or system administrator I want to be able to create a new status of On Hold or Flagged for Loan Accounts|
|Define Reason for Account Flag|
As an operations manager, I want to specify the reasons for why an account is On Hold or Flagged
|Flag Account or Move into On Hold||As a field officer/employee I want to move an account into On Hold or Flagged Status|
|Types of Account Flags||As an operations manager I want to define different types of account flags|
Some account flags could be for expected and regularly-occurring reasons (i.e. compulsory savings/guarantee) and some could be for unexpected events (fraud, loss, death, etc.)
This could be handled by the reason or you could have flag type dictate if it's for notification only, blocking a whole account, blocking a portion of funds, etc.
|Restrict Savings Transactions||As an operations manager, I want to restrict transactions from being made to a savings account that is On Hold or Flagged|
Need to specify what transactions are permitted if any (i.e no withdrawals but fees, etc.)
|Restrict Loan Transactions||As an operations manager, I want to restrict transactions from being made to a loan account that is On Hold or Flagged||Need to specify what transactions are permitted if any (interest, penalties posting, etc.) Are repayments allowed, transfers from other accounts)|
|Automatically Remove Account Flag||As an operations manager I want the account to automatically be moved out of On Hold status for certain transactions||Should this be allowed to automatically remove an account flag or is it manual?|
|Blacklist Client Account||As an operations manager I want to blacklist a client account so transactions can't be made and staff are notified.|
|Restrict Closing Flagged Accounts||As an operations manager, I want to limit an On Hold or Flagged account from being closed|
|Remove Account Flag||As an operations manager I want to move an On Hold or Flagged Account to a Specific Status||Need to define what permitted state changes are - active, closed/blacklisted/etc.|
|Client Notification||As an operations manager, I want to notify a client when their account has been flagged||This might become more common with self-service channels. Also have to be sensitive in not notifying them and providing too much information (i.e. if someone is trying compromise an account by responding and notifying them and providing account #)|
|Staff Notification||As an operations manager, I want myself and other staff notified when their account has been flagged|
|View Flag History||As an operations manager I want to see a historical view of when and why an account has been flagged.|
|See Flagged Accounts||As an operations manager I want to generate a report showing all flagged accounts by reason|
|Flag Inactive/Dormant Accounts||As an operations manager I want to flag inactive/dormant accounts||Inactive Savings Accounts (aka Dormant Savings)|
|Compulsory Savings||As an operations manager I want to put a percentage of funds on hold as compulsory savings||Should this be separate as the account as a whole isn't flagged but just part of the balance|
|Define Different General Ledger Accounts for Interest for Locked/Unlocked Accounts.||As an accountant I want to define which general ledger accounts interest or fees get accrued to because central bank requirements for non-performing assets/etc.|
Any preconditions before a client can use the new functionality
Any rules to be applied for a client or user when using this functionality
List of attributes to be captured for the new functionality
List of security areas to be considered and permissions to be added/considered for a user/role to have access to this functionality
List of new screens required
List of existing screens that need any kind of changes
Functional changes to Batch jobs that may be needed - along with suggested frequency at which it should be run for various scenarios
With sample accounting entries with dates
Include any mockups, diagrams or visual designs relating to these requirements.
List of error scenarios and the action - if message is to be displayed, then text of the message.
List of changes/enhancements/new reports to support this functionality
From a functional perspective, list of new APIs needed.
From a functional perspective, list of existing APIs that need changes.
Points to be handled during upgrades
Any reference data that needs to be prepopulated or defaulted for clients/users
Below is a list of questions to be addressed as a result of this requirements document:
|How should this relate to the functionality being built out for inactive/dormant savings accounts?||Ed: My initial thinking is that as we design the inactive/dormant accounts, we should think about account flags as over-arching umbrella that a dormant/inactive account flag falls under.|
|How should this relate to functionality in place for blocking portions of accounts as guarantee||Ed: My initial thinking is that this might be separate.|