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)