[ 
https://issues.apache.org/jira/browse/FINERACT-1289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17985061#comment-17985061
 ] 

Kapil Panchal commented on FINERACT-1289:
-----------------------------------------

I recreated this bug FINERACT-1289 following steps as mentioned in the above 
Jira ticket. As I understand it there is no tax component that is calculated 
when the EMI for the loan is calculated.

1) This feature needs to be added for it to calculate the tax.

2) I need the formula for tax calculation e.g. GST?

 

I am attaching herewith a small helloworld program to elicit this.
{color:#7f0055}public{color}{color:#000000} 
{color}{color:#7f0055}class{color}{color:#000000} EMITaxCalculator {{color}

 

{color:#7f0055}public{color}{color:#000000} 
{color}{color:#7f0055}static{color}{color:#000000} 
{color}{color:#7f0055}void{color}{color:#000000} main(String[] 
{color}{color:#6a3e3e}args{color}{color:#000000}) {{color}

{color:#7f0055}double{color}{color:#000000} 
{color}{color:#6a3e3e}principal{color}{color:#000000} = 1000; 
{color}{color:#3f7f5f}// Loan amount{color}

{color:#7f0055}double{color}{color:#000000} 
{color}{color:#6a3e3e}annualInterestRate{color}{color:#000000} = 3; 
{color}{color:#3f7f5f}// Annual interest rate (%){color}

{color:#7f0055}int{color}{color:#000000} 
{color}{color:#6a3e3e}tenureMonths{color}{color:#000000} = 12; 
{color}{color:#3f7f5f}// Loan duration in months{color}

{color:#7f0055}double{color}{color:#000000} 
{color}{color:#6a3e3e}gstRate{color}{color:#000000} = 10; 
{color}{color:#3f7f5f}// GST rate on interest (%){color}

 

{color:#7f0055}double{color}{color:#000000} 
{color}{color:#6a3e3e}monthlyInterestRate{color}{color:#000000} = 
{color}{color:#6a3e3e}annualInterestRate{color}{color:#000000} / 
{color}{color:#6a3e3e}tenureMonths{color}{color:#000000} / 100;{color}

 

{color:#3f7f5f}// EMI formula{color}

{color:#7f0055}double{color}{color:#000000} 
{color}{color:#6a3e3e}emi{color}{color:#000000} = 
({color}{color:#6a3e3e}principal{color}{color:#000000} * 
{color}{color:#6a3e3e}monthlyInterestRate{color}{color:#000000} * 
Math.{color}{color:#000000}pow{color}{color:#000000}(1 + 
{color}{color:#6a3e3e}monthlyInterestRate{color}{color:#000000}, 
{color}{color:#6a3e3e}tenureMonths{color}{color:#000000})){color}

{color:#000000} / (Math.{color}{color:#000000}pow{color}{color:#000000}(1 + 
{color}{color:#6a3e3e}monthlyInterestRate{color}{color:#000000}, 
{color}{color:#6a3e3e}tenureMonths{color}{color:#000000}) - 1);{color}

 

{color:#000000} 
System.{color}{color:#0000c0}out{color}{color:#000000}.printf({color}{color:#2a00ff}"Fixed
 EMI (before GST): $%.2f%n"{color}{color:#000000}, 
{color}{color:#6a3e3e}emi{color}{color:#000000});{color}

{color:#000000} 
System.{color}{color:#0000c0}out{color}{color:#000000}.println({color}{color:#2a00ff}"-----------------------------------------------------------"{color}{color:#000000});{color}

{color:#000000} 
System.{color}{color:#0000c0}out{color}{color:#000000}.printf({color}{color:#2a00ff}"%-6s
 %-12s %-12s %-10s %-12s%n"{color}{color:#000000}, 
{color}{color:#2a00ff}"Month"{color}{color:#000000}, 
{color}{color:#2a00ff}"Principal"{color}{color:#000000}, 
{color}{color:#2a00ff}"Interest"{color}{color:#000000}, 
{color}{color:#2a00ff}"GST"{color}{color:#000000}, {color}{color:#2a00ff}"Total 
EMI"{color}{color:#000000});{color}

{color:#000000} 
System.{color}{color:#0000c0}out{color}{color:#000000}.println({color}{color:#2a00ff}"-----------------------------------------------------------"{color}{color:#000000});{color}

 

{color:#7f0055}double{color}{color:#000000} 
{color}{color:#6a3e3e}balance{color}{color:#000000} = 
{color}{color:#6a3e3e}principal{color}{color:#000000};{color}

 

{color:#7f0055}for{color}{color:#000000} 
({color}{color:#7f0055}int{color}{color:#000000} 
{color}{color:#6a3e3e}month{color}{color:#000000} = 1; 
{color}{color:#6a3e3e}month{color}{color:#000000} <= 
{color}{color:#6a3e3e}tenureMonths{color}{color:#000000}; 
{color}{color:#6a3e3e}month{color}{color:#000000}++) {{color}

{color:#7f0055}double{color}{color:#000000} 
{color}{color:#6a3e3e}interest{color}{color:#000000} = 
{color}{color:#6a3e3e}balance{color}{color:#000000} * 
{color}{color:#6a3e3e}monthlyInterestRate{color}{color:#000000};{color}

{color:#7f0055}double{color}{color:#000000} 
{color}{color:#6a3e3e}principalPart{color}{color:#000000} = 
{color}{color:#6a3e3e}emi{color}{color:#000000} - 
{color}{color:#6a3e3e}interest{color}{color:#000000};{color}

{color:#7f0055}double{color}{color:#000000} 
{color}{color:#6a3e3e}gst{color}{color:#000000} = 
{color}{color:#6a3e3e}interest{color}{color:#000000} * 
{color}{color:#6a3e3e}gstRate{color}{color:#000000} / 100;{color}

{color:#7f0055}double{color}{color:#000000} 
{color}{color:#6a3e3e}totalMonthlyOutflow{color}{color:#000000} = 
{color}{color:#6a3e3e}emi{color}{color:#000000} + 
{color}{color:#6a3e3e}gst{color}{color:#000000};{color}

 

{color:#000000} 
System.{color}{color:#0000c0}out{color}{color:#000000}.printf({color}{color:#2a00ff}"%-6d
 $%-11.2f $%-11.2f $%-9.2f $%-11.2f%n"{color}{color:#000000},{color}

{color:#6a3e3e}month{color}{color:#000000}, 
{color}{color:#6a3e3e}principalPart{color}{color:#000000}, 
{color}{color:#6a3e3e}interest{color}{color:#000000}, 
{color}{color:#6a3e3e}gst{color}{color:#000000}, 
{color}{color:#6a3e3e}totalMonthlyOutflow{color}{color:#000000});{color}

 

{color:#6a3e3e}balance{color}{color:#000000} -= 
{color}{color:#6a3e3e}principalPart{color}{color:#000000};{color}

{color:#000000} }{color}

{color:#000000} }{color}

{color:#000000}}{color}

{color:#000000}this will print output as below: {color}
{color:#000000}Fixed EMI (before GST): $84.69{color}

{color:#000000}-----------------------------------------------------------{color}

{color:#000000}Month Principal Interest GST Total EMI {color}

{color:#000000}-----------------------------------------------------------{color}

{color:#000000}1 $82.19 $2.50 $0.25 $84.94 {color}

{color:#000000}2 $82.40 $2.29 $0.23 $84.92 {color}

{color:#000000}3 $82.61 $2.09 $0.21 $84.90 {color}

{color:#000000}4 $82.81 $1.88 $0.19 $84.88 {color}

{color:#000000}5 $83.02 $1.67 $0.17 $84.86 {color}

{color:#000000}6 $83.23 $1.47 $0.15 $84.84 {color}

{color:#000000}7 $83.43 $1.26 $0.13 $84.82 {color}

{color:#000000}8 $83.64 $1.05 $0.11 $84.80 {color}

{color:#000000}9 $83.85 $0.84 $0.08 $84.78 {color}

{color:#000000}10 $84.06 $0.63 $0.06 $84.76 {color}

{color:#000000}11 $84.27 $0.42 $0.04 $84.74 {color}

{color:#000000}12 $84.48 $0.21 $0.02 $84.71 {color}

 

Also, see below reference API's in postman to reproduce this:

 

 

> Tax component not working as expected
> -------------------------------------
>
>                 Key: FINERACT-1289
>                 URL: https://issues.apache.org/jira/browse/FINERACT-1289
>             Project: Apache Fineract
>          Issue Type: Bug
>          Components: Accounting, Charges
>    Affects Versions: 1.4.0
>            Reporter: Bharath Gowda
>            Assignee: Kapil Panchal
>            Priority: Major
>         Attachments: loan charge config.png, loan charge split not 
> happening.png, loan product config -1.png, loan product config -2.png, tax 
> component config.jpeg, tax group config.png
>
>
> tax attached to the loan charge is not getting affected at the 
> loan/accounting level
> To reproduce
> 1. Create a tax component-> create a tax group with the component created.
> 2. Create loan charge(any parameter, refer to the attachment for the 
> parameters I used) and map the tax group created.
> 3. Add the charge to the loan product (with periodic accrual accounting) 
> enabled
> 4. create/approve/disburse a loan from that loan product.
> 5. Ideally the charge with the tax attached should have JE splits for charge 
> amount and tax amount separated.
> But the tax bifurcation is not happening
>  
> Have attached 
> product config screenshot, charge config screenshot, tax config screenshot, 
> and loan issue screenshot for more understanding
> Please add a comment if you need any help
>  



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

Reply via email to