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

John Woodlock updated FINERACT-1573:
------------------------------------
    Description: 
This transaction records an overpaid amount that has been returned to the 
customer.

If any accounting option is chosen at loan product level then:

Debit: Loans Receivable

Credit: Over Payments

Reversal/Adjustment is required (using existing api 
loans/\{loanId}/transactions/\{transactionId})

 

*Main Rules*

The loan must be in Overpaid status and the refund Amount must be >0 and <= the 
loan total_overpaid_derived amount

If the refund is partial the loan will remain in Overpaid status and the loan 
total_overpaid_derived reduced accordingly.

For a full refund (amount = loan total_overpaid_derived) the loan status will 
be changed to Closed Obligation Met.

 

*Other Rules*

The intention is to record the refund transaction with the least validation 
possible.  Holiday/Working Days restrictions are not considered.  Nor is the 
active/inactive status of the client/group.

However, the Refund Date being After the Last Repayment is enforced.

 

*API Definition* is:

{{POST /loans/\{loanID}/transactions?command=creditBalanceRefund{color:#7a869a} 
 {color}}}
{\{{}}
{{    "transactionAmount": "1394.06",}}
{{    "transactionDate": "09 March 2022",}}
{{    "locale": "en",}}
{{    "dateFormat": "dd MMMM yyyy",}}
{{    }}
{{    "externalId": "ext43434343"   #optional}}
{{    }}
{{    #payment details not supported}}
{{}}}
{{ }}

 

The template (for UI convenience) is

GET /loans/\{loanId}/transactions/template?command=creditBalanceRefund

{\{{}}
{{    "type": {}}
{{        "id": 20,}}
{{        "code": "loanTransactionType.creditBalanceRefund",}}
{{        "value": "Credit Balance Refund",}}
{{        "disbursement": false,}}
{{        "repaymentAtDisbursement": false,}}
{{        "repayment": false,}}
{{        "contra": false,}}
{{        "waiveInterest": false,}}
{{        "waiveCharges": false,}}
{{        "accrual": false,}}
{{        "writeOff": false,}}
{{        "recoveryRepayment": false,}}
{{        "initiateTransfer": false,}}
{{        "approveTransfer": false,}}
{{        "withdrawTransfer": false,}}
{{        "rejectTransfer": false,}}
{{        "chargePayment": false,}}
{{        "refund": false,}}
{{        "refundForActiveLoans": false,}}
{{        "creditBalanceRefund": true}}
{{    },}}
{{    "date": [}}
{{        2022,}}
{{        4,}}
{{        12}}
{{    ],}}
{{    "currency": {}}
{{        "code": "USD",}}
{{        "name": "US Dollar",}}
{{        "decimalPlaces": 2,}}
{{        "inMultiplesOf": 0,}}
{{        "displaySymbol": "$",}}
{{        "nameCode": "currency.USD",}}
{{        "displayLabel": "US Dollar ($)"}}
{{    },}}
{{    "amount": 5000.000000,}}
{{    "manuallyReversed": false,}}
{{    "numberOfRepayments": 0}}
{{}}}

 

 

  was:
This transaction records an overpaid amount that has been returned to the 
customer.

If Periodic Accruals is chosen as the accounting option at loan product level 
then 

Debit: Loans Receivable

Credit: Over Payments

Reversal/Adjustment is required (using existing api 
loans/\{loanId}/transactions/\{transactionId})

 

*Main Rules*

The loan must be in Overpaid status and the refund Amount must be >0 and <= the 
loan total_overpaid_derived amount

If the refund is partial the loan will remain in Overpaid status and the loan 
total_overpaid_derived reduced accordingly.

For a full refund (amount = loan total_overpaid_derived) the loan status will 
be changed to Closed Obligation Met.

 

*Other Rules*

The intention is to record the refund transaction with the least validation 
possible.  Holiday/Working Days restrictions are not considered.  Nor is the 
active/inactive status of the client/group.

However, the Refund Date being After the Last Repayment is enforced.

 

*API Definition* is:

{{POST /loans/\{loanID}/transactions?command=creditBalanceRefund{color:#7a869a} 
 {color}}}
{\{{}}
{{    "transactionAmount": "1394.06",}}
{{    "transactionDate": "09 March 2022",}}
{{    "locale": "en",}}
{{    "dateFormat": "dd MMMM yyyy",}}
{{    }}
{{    "externalId": "ext43434343"   #optional}}
{{    }}
{{    #payment details not supported}}
{{}}}
{{ }}

 

The template (for UI convenience) is

GET /loans/\{loanId}/transactions/template?command=creditBalanceRefund

{\{{}}
{{    "type": {}}
{{        "id": 20,}}
{{        "code": "loanTransactionType.creditBalanceRefund",}}
{{        "value": "Credit Balance Refund",}}
{{        "disbursement": false,}}
{{        "repaymentAtDisbursement": false,}}
{{        "repayment": false,}}
{{        "contra": false,}}
{{        "waiveInterest": false,}}
{{        "waiveCharges": false,}}
{{        "accrual": false,}}
{{        "writeOff": false,}}
{{        "recoveryRepayment": false,}}
{{        "initiateTransfer": false,}}
{{        "approveTransfer": false,}}
{{        "withdrawTransfer": false,}}
{{        "rejectTransfer": false,}}
{{        "chargePayment": false,}}
{{        "refund": false,}}
{{        "refundForActiveLoans": false,}}
{{        "creditBalanceRefund": true}}
{{    },}}
{{    "date": [}}
{{        2022,}}
{{        4,}}
{{        12}}
{{    ],}}
{{    "currency": {}}
{{        "code": "USD",}}
{{        "name": "US Dollar",}}
{{        "decimalPlaces": 2,}}
{{        "inMultiplesOf": 0,}}
{{        "displaySymbol": "$",}}
{{        "nameCode": "currency.USD",}}
{{        "displayLabel": "US Dollar ($)"}}
{{    },}}
{{    "amount": 5000.000000,}}
{{    "manuallyReversed": false,}}
{{    "numberOfRepayments": 0}}
{{}}}

 

 


> Credit Balance Refund loan transaction
> --------------------------------------
>
>                 Key: FINERACT-1573
>                 URL: https://issues.apache.org/jira/browse/FINERACT-1573
>             Project: Apache Fineract
>          Issue Type: New Feature
>          Components: Loan
>    Affects Versions: 1.7.0
>            Reporter: John Woodlock
>            Assignee: John Woodlock
>            Priority: Major
>
> This transaction records an overpaid amount that has been returned to the 
> customer.
> If any accounting option is chosen at loan product level then:
> Debit: Loans Receivable
> Credit: Over Payments
> Reversal/Adjustment is required (using existing api 
> loans/\{loanId}/transactions/\{transactionId})
>  
> *Main Rules*
> The loan must be in Overpaid status and the refund Amount must be >0 and <= 
> the loan total_overpaid_derived amount
> If the refund is partial the loan will remain in Overpaid status and the loan 
> total_overpaid_derived reduced accordingly.
> For a full refund (amount = loan total_overpaid_derived) the loan status will 
> be changed to Closed Obligation Met.
>  
> *Other Rules*
> The intention is to record the refund transaction with the least validation 
> possible.  Holiday/Working Days restrictions are not considered.  Nor is the 
> active/inactive status of the client/group.
> However, the Refund Date being After the Last Repayment is enforced.
>  
> *API Definition* is:
> {{POST 
> /loans/\{loanID}/transactions?command=creditBalanceRefund{color:#7a869a}  
> {color}}}
> {\{{}}
> {{    "transactionAmount": "1394.06",}}
> {{    "transactionDate": "09 March 2022",}}
> {{    "locale": "en",}}
> {{    "dateFormat": "dd MMMM yyyy",}}
> {{    }}
> {{    "externalId": "ext43434343"   #optional}}
> {{    }}
> {{    #payment details not supported}}
> {{}}}
> {{ }}
>  
> The template (for UI convenience) is
> GET /loans/\{loanId}/transactions/template?command=creditBalanceRefund
> {\{{}}
> {{    "type": {}}
> {{        "id": 20,}}
> {{        "code": "loanTransactionType.creditBalanceRefund",}}
> {{        "value": "Credit Balance Refund",}}
> {{        "disbursement": false,}}
> {{        "repaymentAtDisbursement": false,}}
> {{        "repayment": false,}}
> {{        "contra": false,}}
> {{        "waiveInterest": false,}}
> {{        "waiveCharges": false,}}
> {{        "accrual": false,}}
> {{        "writeOff": false,}}
> {{        "recoveryRepayment": false,}}
> {{        "initiateTransfer": false,}}
> {{        "approveTransfer": false,}}
> {{        "withdrawTransfer": false,}}
> {{        "rejectTransfer": false,}}
> {{        "chargePayment": false,}}
> {{        "refund": false,}}
> {{        "refundForActiveLoans": false,}}
> {{        "creditBalanceRefund": true}}
> {{    },}}
> {{    "date": [}}
> {{        2022,}}
> {{        4,}}
> {{        12}}
> {{    ],}}
> {{    "currency": {}}
> {{        "code": "USD",}}
> {{        "name": "US Dollar",}}
> {{        "decimalPlaces": 2,}}
> {{        "inMultiplesOf": 0,}}
> {{        "displaySymbol": "$",}}
> {{        "nameCode": "currency.USD",}}
> {{        "displayLabel": "US Dollar ($)"}}
> {{    },}}
> {{    "amount": 5000.000000,}}
> {{    "manuallyReversed": false,}}
> {{    "numberOfRepayments": 0}}
> {{}}}
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to