Uploaded image for project: 'Apache Fineract'
  1. Apache Fineract
  2. FINERACT-1783

Customizeable LoanRepaymentScheduleTransactionProcessor

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.9.0
    • None
    • None

    Description

      Currently Fineract supports 6 loan transaction processing strategies:

      • standard
      • heavens family
      • early payment
      • creocore
      • Indian RBI
      • principal/interest/penalty/fees order (default)

      The strategy is loaded/instantiated via a factory class "LoanRepaymentScheduleTransactionProcessor" and it's only method "determineProcessor" by passing a "LoanTransactionProcessingStrategy" object. "LoanTransactionProcessingStrategy" is effectively treated like an enum (only its "code" attribute is used). The other attributes "LoanTransactionProcessingStrategy" seem to be only for display purposes in a UI.

      Proposed improvements:

      • remove hardcoded instantiations of processors
      • remove "LoanTransactionProcessingStrategy" and avoid storing this information in the database (table "ref_loan_transaction_processing_strategy") in the first place. This would also remove some unnecessary constraints/joins to this table.
      • use dependency injection to make loan transaction processing customizable
      • provide possibility to list all available processors for display in a UI

      Attachments

        Issue Links

          Activity

            People

              aleks Aleksandar Vidakovic
              aleks Aleksandar Vidakovic
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: