[ 
https://issues.apache.org/jira/browse/FINERACT-2358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adam Saghy updated FINERACT-2358:
---------------------------------
    Description: 
*Background and Details*

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

This need to be extended 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

  was:
*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


> 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
>            Priority: Major
>             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 extended 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