Target releaseRelease name or number
Epic Link to related JIRA epic or feature
Document status
Document owner 
DesignerLead designer
DevelopersLead developer
QALead tester


Background and strategic fit

Many financial institutions give additional credits to customer's deposit accounts. Examples:

Currently there are only 2 ways in which an amount can be credited to a customer's deposit account:

a) As a deposit

b) As an interest amount applied to the account

Requirements/User Stories

#TitleUser StoryImportanceNotes
1Transaction BonusesAs an Operations Manager, I wish to set up a bonus that will be credited to the account whenever a customer does certain types of transactions using one or more channels or payment typesMust Have
  • Additional considerations or noteworthy references (links, issues)
2Account Balance based BonusesAs an Operations Manager, I wish to set up a bonus that will be credited to the account at certain periods based on the balance (minimum balance or average balance etc.) available for a certain periodMust Have 
3Set up Accounting for BonusesAs an accountant, I wish to associate the bonuses to various expense accounts (or asset accounts, if they are receivables) to bonuses definedMust Have 
4Manual crediting of  bonus to a customer accountAs a back office user, I wish to credit an ad-hoc amount as bonus to a customer's accountMust Have 

Business Rules




A new entity called Bonus will be captured. Bonus will have the following inte.

Bonus / Reward NameName given to this bonusMandatory. Text (75)
Applies ToWhich type of deposit accounts this is applicable forMandatory. Dropdown of Savings, Current Accounts, Term Deposits and Recurring Deposits
ActiveIf this Bonus is Active or InactiveOptional. Checkbox. Defaulted to active for new bonuses.
Allow Manual Entry?If this checkbox is enabled, then system will allow a manual bonus to be applied (for example: an "Apply Bonus/Reward" button will be present - similar to Deposit button. This button will allow user to apply an amount as bonus or reward manually)Optional. Checkbox.
Bonus / Reward Based OnWhether the bonus is applicable for bonuses or whether it is computed on account balances

Optional. Dropdown with "Transaction Amount", "Account Balance".

"Account Balance" - can be treated as a lower priority requirement.

Transaction Types(displayed and set only when "Bonus / Reward Based On" is set to "Transaction Amount") List of transaction types for which this bonus is applicable

Optional. List of checkboxes or multi-select listbox.

With various transaction types: Account Opening, Deposits, Withdrawals, Interest Posting, Transfers, Standing Instruction etc.

Payment Types(displayed and set only when "Bonus / Reward Based On" is set to "Transaction Amount") List of payment types/channels for which this bonus is applicable.Optional.
Posted When(displayed and set only when "Bonus / Reward Based On" is set to "Account Balance") Specifies when the bonus is to be postedOptional.
Bonus / Reward CalculationWhether it is flat or a percentage of transaction or account balance.


If percentage is selected, then "Bonus / Reward Based On" cannot be null.

Amount / PercentageAmount or percentage applicable for this bonusMandatory

If "Bonus / Reward Based On" is set to "Account Balance" then dropdown will have

"Average Account Balance" and "Minimum Account Balance"

If "Bonus / Reward Based On" is set to "Transaction Amount" then dropdown will have

"Transaction Amount" - which will be defaulted

Optional. Dropdown.
CurrencySelect a currency for this bonusMandatory. Dropdown.

Security and Permissions

Following permissions needed:

Add, Update, View, Delete functionality for Bonus

Apply Bonus Manually

Apply Bonus Batch job

Mifos Functionality Enhancements

New Screens

Changes to Existing Screenst

Changes/Enhancements to Batch Jobs

Changes/Enhancements to Accounting Entries

With sample accounting entries with dates

User interaction and design

Exception Handling

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:

(e.g. How we make users more aware of this feature?)Communicate the decision reached

Out of Scope