Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

8 points

Tests

Developer Notes

  • web page count: 2
  • related classes: _ CustomFieldDefinitionEntity, CustomFieldType, CustomFieldView _ AccountCustomFieldEntity(used for AccountBO, LoanBO, SavingsBO) * CustomerCustomFieldEntity (used for CenterBO, ClientBO, GroupBO)

...

Accepted Payment Types UI

Description

Implement UI according to mockup.

Estimate

Estimate 3: 10 points (+3 to account for implementing additional backend functionality)Estimate 2: 7 pointsEstimate 1: 5 points

Tests

Developer Notes

  • PaymentTypeEntity -> PaymentTypes enum conversion

...

Move General Ledger code definitions to a separate config file

Description

Move general ledger code definitions to an external file using a format that makes the structure clear.

Estimate

5 points

Tests

Developer Notes

  • Implementation Candidate * XML for config file\
    No Format
    <ChartOfAccounts>
       <GeneralLedgerAccount code="10000" name="ASSETS">
          <GeneralLedgerAccount code="11000" name="Cash and Bank Balances">
             <GeneralLedgerAccount code="11100" name="Petty Cash Accounts"/>
          </GeneralLedgerAccount>
       </GeneralLedgerAccount>
       <GeneralLedgerAccount code="20000" name="LIABILITIES">
          <GeneralLedgerAccount code="22000" name="Interest Payable"/>
       </GeneralLedgerAccount>
    </ChartOfAccounts>
    
  • Apache Commons Configuration for reading the config file _ FinancialRules.java has hardcoded dependencies on the current chart of accounts _ the getCategoryAssociatedToAction implements a mapping from Financial action (FinancialActionConstants, financial_action table) and credit/debit to GL Account. * we need to include this mapping if a custom chart of accounts will be defined
    No Format
    <FinancialActionToGLAccountMapping>
       <Debits>
          <FinancialActionMapping>
             <FinancialAction>InterestPosting</FinancialAction>
             <GLAccount>BankAccountOne</GLAccount>
          </FinancialActionMapping>
       </Debits>
       <Credits>
          <FinancialActionMapping>
             <FinancialAction>InterestPosting</FinancialAction>
             <GLAccount>InterestIncomeLoans</GLAccount>
          </FinancialActionMapping>
       </Credits>
    </FinancialActionToGLAccountMapping>
    OR
    <FinancialActionToGLAccountMapping>
       <Debits>
          <FinancialActionMapping action="InterestPosting" glAccount="BankAccountOne"/>
          <FinancialActionMapping action="FeePosting" glCode="11000"/>
       </Debits>
       <Credits>
          <FinancialActionMapping action="InterestPosting" glAccount="InterestIncomeLoans"/>
          <FinancialActionMapping action="FeePosting" glCode="21000"/>
       </Credits>
    </FinancialActionToGLAccountMapping>
    
  • TODO _ settle on XML file format _ consider issues of updates to default data, and adding new codes _ implement XML dump of general ledger data _ implement tests for load, dump roundtrip * implement XML load

...

Initial Investigation of Work Required for Localization

Description

Begin looking at what modifications will need to be made Mifos in order to fully support localization.

Estimate

2 points

Move Accounting Rules to a separate config file

Description

  • Accounting rules are:
  • Number of digits after decimal and whether to round up or round down will be specified for each currency in the database.
  • Amount to be rounded to. Default- 0.01
  • Rounding rule- The rounding rules supported by the system will be "Round up" and "Round- down". Default- Round up.
  • Number of interest days in a year- Can be 360 or 365. This is used only for interest calculation and should not be modified once set. _ Note: This is not applicable for meetings, as meeting calendar always has 365 days in a year. _ Also, this is not applicable for fees and penalties calculation and repayment schedule generation.

Estimate

5 points

Tests

Developer Notes

  • To Do
  • create AccountingRules config object?
  • do we need a MifosCurrency class? Why not use the java Currency class + rules?
  • noOfInterestDays defined in ConfigEntity.hbm.xml for ConfigEntity. noOfInterestDays appears to be defined per office, but there is only a single office defined in the SYSTEM_CONFIGURATION table. The only values allowed are 360 or 365. There doesn't seem to be a check to enforce this right now.

...

Move Localization data to a separate config file

Description

Provide the following 3 properties to determine the default localization for a given installation of Mifos:

These will be defined in the standard "default" configuration file and can be overridden in the "custom" configuration file. Country and Language will together specify the Locale. Date format will be implied by the Locale.

Estimate

4 points

Tests

Developer Notes

  • country * eliminate CountryEntity and use ISO 3166 codes instead
  • currency * consider adding an ISO_4217_CODE to MifosCurrency (or change the usage of the currency name to be the currency code?)
  • time zone??? does anything need to be done with this or is it just taken from the System?
  • language * can we eliminate LanguageEntity and use ISO 639 codes instead?
  • date format ???
  • org.mifos.framework.components.configuration.business.Configuration is currently the main repository for configuration data.

...

Move Fiscal Year (Calendar?) Configuration data to a separate config file

Description -----------

  • data consists of: _ Start of week: Monday _ Default working days: 5 _ Working days: Monday Tuesday, Wednesday _ Meeting in case of a holiday - ??? Specifies when a meeting will take place if a holiday falls on the meeting day. * Allow calendar definition for next year - ??? The number of days after which the calendar definition for the next year can be specified.

Estimate

4 points

Tests

Developer Notes

  • To Do _ create a FiscalCalendarRules object _ move config from WeekDaysEntity to new object for use with WeekDay enum * add localized text retrieval for WeekDay and eliminate WeekDaysEntity

...

Client Rules

Description

  • Whether "Center" hierarchy is present in the system. By default- center hierarchy should exist.
  • Whether Groups are allowed to apply for loans- If this value is set to NO, groups will not be allowed to open loan accounts. Once the value is set to Yes, it should not be changed to NO as there could be group loans existing in the system. By default- group loans should be allowed.
  • Whether Clients can exist outside group. By default, this should be set to yes. Once the value is set to YES, it cannot be changed to NO, as there could be clients outside a group existing in the system.

Estimate

3 points

Tests

Developer Notes

  • To Do
  • some info defined by CustomerConfig

...

Process Flow/Optional States

Description

Clients and accounts have some optional states, which can be hidden and excluded from the state flows. If omitted, these optional states will not be visible in the UI. Once an optional state is included, it should not be removed as some records could be in that state.

  • The optional states are: _ Pending Approval (Clients) _ Pending Approval (Groups) _ Pending Approval (Loan accounts) _ Disbursed to Loan Officer (Loan accounts) * Pending Approval (Savings Accounts)

Estimate

3 points

Tests

Developer Notes

  • To Do
  • AccountConfig has isPendingApprovalStateDefinedForLoan and related metzods
  • CustomerConfig has isPendingApprovalStateDefinedForClient and related methods
  • Config data seems spread out in various places and it takes some effort to find where a give value is stored-- think about how to consolidate and centralize configuration.

...

Collection Sheet Data configuration

Description

Move collection sheet configuration data to an external configuration file.

Estimate

.5 points

Tests

Developer Notes

Misc Config

Description

Move the following configuration items to an external configuration file:

  • Sequence of Names
  • Session time out rule
  • Allow back dated payments

Estimate

1.5 points

Tests

Developer Notes

  • confirmed office hierarchy is handled separately

...

Lateness/Dormancy

Description

Move the following configuration items to an external configuration file:

  • Specify the number of days of non-payment after which status of loan account is changed to "Active in bad standing" by the system. Default- 30 days. This field should not be left blank.

Estimate

2.5 points

Tests

Developer Notes

  • verify that this is the only item included
  • is this the same or different from "grace period for penalty" on the loan definition web page-- answer: it is supposed to be different
  • LoanPrdPersistence.retrieveLatenessForPrd() * mifos/src/org/mifos/application/productdefinition/business/ProductTypeEntity.hbm.xml defines latenessDays and query productdefinition.GetLatenessDaysForLoans that is used to get the value
  • ProductTypeEntity is where this data lives and it is set in latest-data.sql in table PRD_TYPE
  • ProductType is the enum replacement for ProductTypeEntity

...

View Organizational Settings UI

Description

Implement UI according to mockup.

Estimate

3 points

Tests

Developer Notes