Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Target release
Epic
Document statusDRAFT
Document ownerDayna Harp
Designer
Developers
QA

Overview

NOTE: THIS FUNCTIONAL SPEC IS IN PROGRESS AND IS NOT COMPLETE

Reference Materials:

 http://www.ifrs.org/documents/ias21.pdf

 https://openexchangerates.org/


We have clients who work in multiple currencies and need exchange capabilities within the Mifos X platform.

Teddhy Bamba of VIrtual-Reflex.com provided the following to handle currency exchange provision on Mifos X:

  1. Define base Currency. (this will help the system for currency exchange reference). 
    1. Ex : Roupi, dollars and Euro. If Roupi is define a base currency, Exchange will be done accordingly. So all Exchange transactions will done from a particular currency to base currency. EX: 1$ = 20R or 1Euro = 30R. 
  2. Set Exchange Rate.  Set Base rate; Selling rate and Purchase rate. - 
    1. Important :

      When setting Exchange rate for each currency (apart from base currency), we should input 3 rate values : Selling rate, Buying rate, intermediate rate. This because, when a Client wants Dollars instead of Roupi (selling  Rate(S.R) will be applied : most of time higher rate), But when client has dollars and needs Roupi (buying rate (B.R)will be applied : most of time lower rate) and for Accounting calculation the system will use Intermediate rate. (I.R)

      So for each currency we need to have those 3 values.  Ex : Dollars :   S.R = 25 R , B.R = 20 and I.R = 15. This means : client having 100 R and need Dollars will have 4 Dollars (100/S.R=100/25=4), Client having 10 dollars and need Roupi will have 200R (10*B.R=10*20=200).

  3. Accounting Process: 
    1. When making Exchange transaction here is the accounting schemas :

      As example above.

      Client needs to withdraw 10 Dollars in his Roupi Account. (so we are selling Dollars to the client)

      Debit : Client account in roupi (withdrawal to be done by the cashier) = 250

      Credit : Exchange Account in roupi (to be posted by the system) = 250

      Debit : Exchange Account (to be posted by the system) = 250

      Credit : Calculated Exchange Account (to be posted by system) = 10

      Debit : Calculated Exchange Account (to be posted by system) = 10

      Credit : Client account in dollars (Deposit to be done by cashier) =10 (but Cashier should not type this amount manually system has to provide this calculated amount according to rate applied)

      In parallel, We will need to set the Exchange Gain Account in the Product Accounting Panel. Because the Exchange Gain should be posted this account (like fees are posted in appropriate account in current system). Exchange Gain is calculated by the system has defined in Point 2.

      Note : As you can see Cash is not impacted in the exchange processes. 

 

Background and strategic fit

Many clients work in different currencies, as the Mifos X platform evolves, more currencies will be exchanged per transaction.  

 

Requirements/User Stories

#TitleUser StoryImportanceNotes
1
     

Business Rules

Attributes

AttributeDescriptionNotes
   
   
   

Security and Permissions

Mifos Functionality Enhancements

New Screens

Changes to Existing Screens

Changes/Enhancements to Batch Jobs

Changes/Enhancements to Accounting Entries

User interaction and design

Exception Handling

Reporting

APIs

Notes

Questions

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

QuestionOutcome

Out of Scope

  • No labels