Adam Saghy created FINERACT-2358:
------------------------------------

             Summary: Allow to configure advanced accounting rules based on 
write-off reason
                 Key: FINERACT-2358
                 URL: https://issues.apache.org/jira/browse/FINERACT-2358
             Project: Apache Fineract
          Issue Type: New Feature
    Affects Versions: 1.12.1
            Reporter: Adam Saghy
            Assignee: Adam Saghy
             Fix For: 1.13.0


*Background and Details*

Currently, the ‘{*}Losses Written-off{*}' Accounting GL mapping is debited in 
case a loan got written-off .

This need to be changed now based on the Write-off reasons (if configured)
*Acceptance Criteria*
 # New Advance Accounting rule to be added to map write-off reason code with 
accounting mapping

 # User should be able to map reasons to any expense GL (General Ledger) account

 ## dropdown

 ## Can be configure multiple rules, but no duplication (cannot configured 
twice the same reason code)

 # When advance accounting is mapped- the default mapping for fraud flag will 
be *overridden* 
*DEV Notes*
 * Introduce new field into the Loan product request (for creating loan product 
/ updating loan product)


{{"writeOffReasonsToExpenseMappings": [ //List, can have multiple mappings
    \{
        "writeOffReasonCodeValueId": "1", //Code value Id of the write off 
reason
        "expenseGLAccountId": "12" //GLAccount Id of the expense account
    }
  ]}}
The same field and containing mapping must be returned in the loan product 
fetch details response as well!

The Loan product template API call, and (specific) loan product details with 
template details API call should return all the available write-off reason code 
values:
 * List<CodeValueData> writeOffReasonOptions

 * CodeValueReadPlatformService.retrieveCodeValuesByCode("WriteOffReasons") 
service can be used to collect them

 ** Collection type can be change to be List !

 * LoanProductData object is returned as part of Loan Product template API and 
Loan product details with / without template details API

 ** GET /v1/loanproducts/template → Returns all the available configuration 
options that needed to create and configure a new Loan product on UI

 ** GET /v1/loanproducts/\{loanProductId}?template=false-> Return the loan 
product details of a specific loan (no template details are returned)

 ** GET /v1/loanproducts/\{loanProductId}?template=true-> Return the loan 
product details of a specific loan and also returns all the available 
configuration options that needed to update a loan product

*Validation requirements*
 * writeOffReasonCodeValueId must be a valid, existing id of a write-off reason 
code value

 * expenseGLAccountId must be a valid, existing *Expense* GL account id

 * For 1 write off reason code, only 1 GL account can be configured!

 * Same GL account can be configured for multiple write off reason



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to