Target release16.03.RELEASE
EpicMifosX-2182
Document status
Document ownerIppez Robert
DesignerLead designer
DevelopersLead developer
QASubramanya


Feature Name

Account to Journal Entries Posting and Vice versa

Overview

There are times when a client will need to make payments to MFI/SACCO or MFI/SACCO needs to make payments to a client/group account. Mifos X at the moment doesn't support GL to Client account entry and vice versa.

Feature Summary

This feature will extend the possibility to have two way account entries between GL Accounts and Client/Group Accounts. It will cover Share , Loans, Savings, Fixed Deposit and Recurring Deposit Accounts and will extend to both Individual Client Account and Group Accounts. All Customer Accounts must be affected by these changes .ie should be able to post to and from any customer account.


Generic Parameter for any batch

Batch Name. You can use any name that is relevant to the nature of the batch transaction e.g Staff Payroll.

There will be six (5) types of batch transactions that the system can accommodate:

Batch Type: 001 Mixed Account Batch.  In this batch type, you can post (a) transfer transactions between customer accounts and (b) transactions between customer and GL accounts and (c) transactions between GL account. This advantage of using this batch type is its great flexibility, the disadvantage is that data entry is rather cumbersome.

Batch Type: 002 Customer Account Debit List. In this batch type, you can post the multiple debit transactions to customer accounts, such as loan disbursements in the field against one single GL account. Although the flexibility is limited, data entry is fast and simply.

Batch Type: 003 Customer Account Credit List. In this batch type, you can post multiple credit transactions of customer accounts, against one GL account. It can be used for example for loan collection in the field, savings deposits collected in the field, or a series of salary credits to savings accounts (also called "payroll servicing").

Batch Type: 004 GL Journal Batch. In this batch type, you can post only transactions between GL accounts. Transactions to customer accounts are not possible.

Batch Type: 005 Customer Account Transfer. In this batch type, you can post only transactions that are transfers between customer accounts. If one of the two sides of the transaction cannot be passed, then both sides (the debit as well as the credit) will be cancelled.

 

Default Value Date. Type the date that will serve as default display for each of the transactions of the batch. (NOTE: The date can be back-dated. Forward-dating is not allowed by the system.)

Currency Type. Select current currency type.

Total Amount. Type the total debit or credit amount of all the transactions in the batch.

Default Description. Type an appropriate description for the batch. This will be displayed while you are posting the transactions.

Background and strategic fit

Strategic vision of The Mifos Initiative to support two-way account entries


Business Need

Batch Transactions - Post Transaction (GL)

This provides the facility to post multiple customer accounts and/or general ledger (GL) accounts transactions in just one batch. Note that a user require different rights to (i) create (ii) approve (iii) process the batches. These rights can be held by different persons, which gives greater control and accountability or by one person (in which cases mistakes my go undetected). The other two operations are "Approve Batch" and "Update Batch".

When you access this menu, you can (a) create a new batch to post your transactions or (b) access an existing batch that has been created but not used yet to update accounts. When you access an existing batch, you can proceed to continue posting additional transactions.

To create a new batch:

  1. Batch Name. You can use any name that is relevant to the nature of the batch transaction.

  2. Batch Type. From the pop-up list, select the type of batch.

  3. Default Value Date. Type the date that will serve as default display for each of the transactions of the batch. (NOTE: The date can be back-dated. Forward-dating is not allowed by the system.)

  4. Currency Type. Type the currency involved in the transactions.

  5. Total Amount. Type the total debit or credit amount of all the transactions in the batch.

  6. Default Description. Type an appropriate description for the batch. This will be displayed while you are posting the transactions.

To post the batch transactions:

Select the batch to be approved from the batch number selection form. To approve a batch, the batch must be balanced (debits and credits must be equal) and you must have the teller rights to approve the batch

Batch Transactions - Approve Batch (GL)

To approve the batch transactions:

Batch Transactions - Update Batch (GL)

Select the batch to be updated (or processed) from the batch number selection form. To update a batch, the batch must be balanced (debits and credits must be equal), approved, and you must have the user rights to update the batch

To update the batch transactions:

Batch Transactions - Reusable Batches (GL)

Reusable batches are meant for posting the repeated transactions such as salary list.  Using reusable batch you can just create it once and then every time you need to post salaries you can just reuse the same batch and just edit the value date, and do some minor changes in the list.  

You can create new batch by clicking New button then a small screen will show up. You have to fill the entire form, then click OK and you will receive new batch in the list.

Feature Requirements

For detailed functional specs refer to this document

Requirements/User Stories


#TitleUser StoryImportanceNotes
1Create Savings Account to GL EntryAs an accountant, i would like to be able to make a transfer from a Savings Account  to a General Ledger Account and vice versa
Must Have

Create Loan Account to GL Entry

As an accountant, i would like to be able to make a transfer from a Loan Account  to a General Ledger Account and vice versa

Must Have

Create Share Account to GL Entry

As an accountant, i would like to be able to make transfer from a General Ledger Account (e.g Cash at Hand) to Client's  Share Account  and Vice versa

Must Have

Create Recurring Deposit Account to GL EntryAs an accountant, i would like to be able to make transfer from a General Ledger Account (e.g Cash at Hand) to Client's  RD Account and Vice versaMust Have

Some Use Cases


Attributes


AttributeDescriptionNotes
Batch NumberAuto generated by system
Batch NameSee above description for this
Batch Typedrop-down with list of the 5 batch types as above


Default Value DateSee above description for this
Total AmountSee above description for this
Default DescriptionSee above description for this
Currency TypeSee above description for this

Security and Permissions

Permissions include:- Create Batch, Approve Batch, Update Batch

Once a batch is opened by a user, it's should not be visible to other users who try to get batch list. and when the user close the batch window, its visible to all users again.

Before next line in a batch is processed, the current line has to be validated and if errors occur, high the batch line and show error description e.g account not found, debit amount is greater or less that credit amount etch

Mifos Functionality Enhancements

New Screens

Changes to Existing Screens

List of existing screens that need any kind of changes

Changes/Enhancements to Batch Jobs

For batches which are many to be entered through the screen manually, there should be possibility to import it either from Excel or .txt file. However the batch type should be put at the back of the mind when handling the logic here.

Examples of batches which need import include those of:-

Changes/Enhancements to Accounting Entries

With sample accounting entries with dates

User interaction and design

Include any mockups, diagrams or visual designs relating to these requirements.

Exception Handling

List of error scenarios and the action - if message is to be displayed, then text of the message.

Reporting

Each batch report should be printable and can be displayed after successfully update for a user to decide if to print of not. This should be a Pentaho report and can 

APIs

From a functional perspective, list of new APIs needed.

From a functional perspective, list of existing APIs that need changes.

Notes

Points to be handled during upgrades

Any reference data that needs to be prepopulated or defaulted for clients/users

Questions

Below is a list of questions to be addressed as a result of this requirements document:

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

Out of Scope