Ability to Enter Account to General Ledger Entry and Vice versa (Batch Transactions)
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:
Click on the New button.
You will be prompted by the system to the New Batch window where you will fill out the following batch information:
Batch Name. You can use any name that is relevant to the nature of the batch transaction.
Batch Type. From the pop-up list, select the type of batch.
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. Type the currency involved in the transactions.
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.
The system will then display numbered transaction lines where you can post the details of the transactions.
Edit Button. You can make changes in the batch information as long as it is not updated yet. If the batch is approved already, you can still edit the batch information but it will have to undergo approval again.
To post the batch transactions:
If the type of batch is a Credit List, or Debit List select the appropriate Contra Account for the transactions.
Post the details of each transaction in transaction lines.
If you are authorized to approve the batch and update the accounts in the batch, click on the Approve button and then the Update button. Otherwise, the authorized teller will have to accomplish the approval and updating. (NOTE: If you are not authorized to approve and update, the Approve button and the Update button are not highlighted and enabled.)
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:
If you are authorized to approve the batch transaction, the Approve button will be highlighted and enabled. Click on this button.
The system will ask if you want to continue approving the batch. Click the Yes button if you want to proceed.
The system will confirm that the batch is approved.
If you are authorized to update the batch transaction, you can proceed to update the batch transaction. Click on the Update button.
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:
If you are authorized to update the accounts in the approved batch transaction, the Update button will be highlighted and enabled. Click on this button.
The system will ask if you want to continue updating. Click the Yes button if you want to proceed. The system will confirm that the accounts are updated.
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
# | Title | User Story | Importance | Notes |
---|---|---|---|---|
1 | Create Savings Account to GL Entry | As an accountant, i would like to be able to make a transfer from a Savings Account to a General Ledger Account and vice versa | ||
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 | |||
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 | |||
Create Recurring Deposit 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 RD Account and Vice versa |
Some Use Cases
- Posting of Manually calculated interest on Savings e.g Some SACCO opt to calculating and posting interest on savings manually at a specific period of the year. For all clients interest is calculated and these have to be posting on their (clients savings account) with description such as "Int. on Savings 2017" IN Which case we use either Batch Type: 001 Mixed Account Batch. or Batch Type: 003 Customer Account Credit List where we post multiple credit transactions of customer accounts, against one GL account i.e Debit Customer Saving Accounts and Credit one GL Account (Contra Account) - Interest Expense on Savings (GL)
- Salary Payment to Staff - MFI/SACCO makes it compulsory for staff to open savings account where salaries are posted at the end of the month. Debit Staff Savings Account and Credit Salary Payable GL Account (Contra Account)
- Posting/Adjustment to Clients Account from a GL Account, e.g Suspense Debitors/Creditors
- Adjustment to Interest on TD - Some times the interest calculated by system is either less or more, due to difference in number of days in a month. if Interest is less than manually calculated, the difference in interest earned by the client's TD has to be posted to client's savings account DR. Interest Payable on Fixed Deposit (GL) and Credit Client's Savings Account and if more withdraw the difference from client's savings account and post it to Interest Payable on Fixed Deposit Account by DR . Client Savings A/C and DR. Interest Payable on Fixed Deposit (GL)
- Batch Loan disbursement - DR. Loan Accounts and CR. Saving Accounts
- Dividend posting - DR. Dividend Payable GL A/C (Contra Account) and CR. Saving Accounts
- Membership renewals - DR . Client Savings A/C and DR. Membership Account (GL)
- Ledger Fees payment - DR . Client Savings A/C and DR. Ledger Fees Account (GL)
- Client makes deposit through SACCO Bank Account in another bank say Bank A, when bank statements are got from the bank in which the SACCO holds its account, the money deposited by the client has to be posted to his savings account if it's for savings purpose or if its for loan servicing then it has to be taken to client's loan account DR. Cash at Bank A (GL) and CR. Clients Loan A/C or Loan A/C depending on clients interest
Attributes
Attribute | Description | Notes |
---|---|---|
Batch Number | Auto generated by system | |
Batch Name | See above description for this | |
Batch Type | drop-down with list of the 5 batch types as above | |
Default Value Date | See above description for this | |
Total Amount | See above description for this | |
Default Description | See above description for this | |
Currency Type | See 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
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:-
- Annual Membership fees payment
- Manual Interest on Savings posting
- Dividend Posting etch
Changes/Enhancements to Accounting Entries
User interaction and design
Exception Handling
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
Notes
Questions
Below is a list of questions to be addressed as a result of this requirements document:
Question | Outcome |
---|---|