This is an automated email from the ASF dual-hosted git repository.

adamsaghy pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git

commit cb4c66302ae8e0203c251f8f989b519d0a4ffa90
Author: Rustam Zeinalov <[email protected]>
AuthorDate: Thu Jul 31 15:11:56 2025 +0200

    FINERACT-1968: added e2e test cases for progressive Loan schedule handling 
- interest handling (FLAT interest, Daily, Equal installments)
---
 .../test/resources/features/EMICalculation.feature | 124 +++++++++++++++++++++
 1 file changed, 124 insertions(+)

diff --git 
a/fineract-e2e-tests-runner/src/test/resources/features/EMICalculation.feature 
b/fineract-e2e-tests-runner/src/test/resources/features/EMICalculation.feature
index 94f9652c2f..61828b35ad 100644
--- 
a/fineract-e2e-tests-runner/src/test/resources/features/EMICalculation.feature
+++ 
b/fineract-e2e-tests-runner/src/test/resources/features/EMICalculation.feature
@@ -9632,3 +9632,127 @@ Feature: EMI calculation and repayment schedule checks 
for interest bearing loan
       | ASSET     | 112601       | Loans Receivable          |        | 906.25 
|
       | ASSET     | 112603       | Interest/Fee Receivable   |        | 16.87  
|
       | LIABILITY | 145023       | Suspense/Clearing account | 923.12 |        
|
+
+  @TestRailId:С3893
+  Scenario: Progressive loan - flat interest DAILY, multi-disbursement, 
actual/actual, second disbursement in the middle of installment period
+    When Admin sets the business date to "01 June 2024"
+    And Admin creates a client with random data
+    When Admin creates a fully customized loan with the following data:
+      | LoanProduct                                   | submitted on date | 
with Principal | ANNUAL interest rate % | interest type | interest calculation 
period | amortization type  | loanTermFrequency | loanTermFrequencyType | 
repaymentEvery | repaymentFrequencyType | numberOfRepayments | 
graceOnPrincipalPayment | graceOnInterestPayment | interest free period | 
Payment strategy            |
+      | LP2_INTEREST_FLAT_ADV_PMT_ALLOC_MULTIDISBURSE | 01 January 2024   | 
3000           | 12                     | FLAT          | DAILY                 
      | EQUAL_INSTALLMENTS | 3                 | MONTHS                | 1      
        | MONTHS                 | 3                  | 0                       
| 0                      | 0                    | ADVANCED_PAYMENT_ALLOCATION |
+    And Admin successfully approves the loan on "01 June 2024" with "3000" 
amount and expected disbursement date on "01 June 2024"
+    And Admin successfully disburse the loan on "01 June 2024" with "1000" EUR 
transaction amount
+    Then Loan Repayment schedule has 3 periods, with the following data for 
periods:
+      | Nr | Days | Date              | Paid date | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due    | Paid | In advance | Late 
| Outstanding |
+      |    |      | 01 June 2024      |           | 1000.0          |          
     |          | 0.0  |           | 0.0    | 0.0  |            |      |        
     |
+      | 1  | 30   | 01 July 2024      |           | 666.45          | 333.55   
     | 9.84     | 0.0  | 0.0       | 343.39 | 0.0  | 0.0        | 0.0  | 343.39 
     |
+      | 2  | 31   | 01 August 2024    |           | 333.22          | 333.23   
     | 10.16    | 0.0  | 0.0       | 343.39 | 0.0  | 0.0        | 0.0  | 343.39 
     |
+      | 3  | 31   | 01 September 2024 |           | 0.0             | 333.22   
     | 10.16    | 0.0  | 0.0       | 343.38 | 0.0  | 0.0        | 0.0  | 343.38 
     |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due     | Paid | In 
advance | Late | Outstanding |
+      | 1000          | 30.16    | 0.0  | 0.0       | 1030.16 | 0.0  | 0.0     
   | 0.0  | 1030.16     |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance |
+      | 01 June 2024     | Disbursement     | 1000.0 | 0.0       | 0.0      | 
0.0  | 0.0       | 1000.0       |
+    When Admin sets the business date to "15 July 2024"
+    When Admin successfully disburse the loan on "15 July 2024" with "250" EUR 
transaction amount
+    Then Loan Repayment schedule has 3 periods, with the following data for 
periods:
+      | Nr | Days | Date              | Paid date | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due    | Paid | In advance | Late 
| Outstanding |
+      |    |      | 01 June 2024      |           | 1000.0          |          
     |          | 0.0  |           | 0.0    | 0.0  |            |      |        
     |
+      | 1  | 30   | 01 July 2024      |           | 666.45          | 333.55   
     | 9.84     | 0.0  | 0.0       | 343.39 | 0.0  | 0.0        | 0.0  | 343.39 
     |
+      |    |      | 15 July 2024      |           | 250.0           |          
     |          | 0.0  |           | 0.0    | 0.0  |            |      |        
     |
+      | 2  | 31   | 01 August 2024    |           | 457.65          | 458.8    
     | 11.56    | 0.0  | 0.0       | 470.36 | 0.0  | 0.0        | 0.0  | 470.36 
     |
+      | 3  | 31   | 01 September 2024 |           | 0.0             | 457.65   
     | 12.7     | 0.0  | 0.0       | 470.35 | 0.0  | 0.0        | 0.0  | 470.35 
     |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due    | Paid | In 
advance | Late | Outstanding |
+      | 1250          | 34.1     | 0.0  | 0.0       | 1284.1 | 0.0  | 0.0      
  | 0.0  | 1284.1      |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance |
+      | 01 June 2024     | Disbursement     | 1000.0 | 0.0       | 0.0      | 
0.0  | 0.0       | 1000.0       |
+      | 15 July 2024     | Disbursement     | 250.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 1250.0       |
+
+  @TestRailId:С3894
+  Scenario: Progressive loan - flat interest DAILY, down-payment, 
multi-disbursement, actual/actual, second disbursement on the due date of 
installment period
+    When Admin sets the business date to "01 June 2024"
+    And Admin creates a client with random data
+    When Admin creates a fully customized loan with the following data:
+      | LoanProduct                                               | submitted 
on date | with Principal | ANNUAL interest rate % | interest type | interest 
calculation period | amortization type  | loanTermFrequency | 
loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | 
numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | 
interest free period | Payment strategy            |
+      | LP2_DOWNPAYMENT_INTEREST_FLAT_ADV_PMT_ALLOC_MULTIDISBURSE | 01 January 
2024   | 3000           | 12                     | FLAT          | DAILY        
              | EQUAL_INSTALLMENTS | 3                 | MONTHS                
| 1              | MONTHS                 | 3                  | 0              
         | 0                      | 0                    | 
ADVANCED_PAYMENT_ALLOCATION |
+    And Admin successfully approves the loan on "01 June 2024" with "3000" 
amount and expected disbursement date on "01 June 2024"
+    And Admin successfully disburse the loan on "01 June 2024" with "1000" EUR 
transaction amount
+    Then Loan Repayment schedule has 4 periods, with the following data for 
periods:
+      | Nr | Days | Date              | Paid date | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due    | Paid | In advance | Late 
| Outstanding |
+      |    |      | 01 June 2024      |           | 1000.0          |          
     |          | 0.0  |           | 0.0    | 0.0  |            |      |        
     |
+      | 1  | 0    | 01 June 2024      |           | 750.0           | 250.0    
     | 0.0      | 0.0  | 0.0       | 250.0  | 0.0  | 0.0        | 0.0  | 250.0  
     |
+      | 2  | 30   | 01 July 2024      |           | 499.84          | 250.16   
     | 7.38     | 0.0  | 0.0       | 257.54 | 0.0  | 0.0        | 0.0  | 257.54 
     |
+      | 3  | 31   | 01 August 2024    |           | 249.92          | 249.92   
     | 7.62     | 0.0  | 0.0       | 257.54 | 0.0  | 0.0        | 0.0  | 257.54 
     |
+      | 4  | 31   | 01 September 2024 |           | 0.0             | 249.92   
     | 7.62     | 0.0  | 0.0       | 257.54 | 0.0  | 0.0        | 0.0  | 257.54 
     |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due     | Paid | In 
advance | Late | Outstanding |
+      | 1000          | 22.62    | 0.0  | 0.0       | 1022.62 | 0.0  | 0.0     
   | 0.0  | 1022.62     |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance |
+      | 01 June 2024     | Disbursement     | 1000.0 | 0.0       | 0.0      | 
0.0  | 0.0       | 1000.0       |
+    When Admin sets the business date to "01 August 2024"
+    When Admin successfully disburse the loan on "01 August 2024" with "250" 
EUR transaction amount
+    Then Loan Repayment schedule has 5 periods, with the following data for 
periods:
+      | Nr | Days | Date              | Paid date | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due    | Paid | In advance | Late 
| Outstanding |
+      |    |      | 01 June 2024      |           | 1000.0          |          
     |          | 0.0  |           | 0.0    | 0.0  |            |      |        
     |
+      | 1  | 0    | 01 June 2024      |           | 750.0           | 250.0    
     | 0.0      | 0.0  | 0.0       | 250.0  | 0.0  | 0.0        | 0.0  | 250.0  
     |
+      | 2  | 30   | 01 July 2024      |           | 499.84          | 250.16   
     | 7.38     | 0.0  | 0.0       | 257.54 | 0.0  | 0.0        | 0.0  | 257.54 
     |
+      | 3  | 31   | 01 August 2024    |           | 249.92          | 249.92   
     | 7.62     | 0.0  | 0.0       | 257.54 | 0.0  | 0.0        | 0.0  | 257.54 
     |
+      |    |      | 01 August 2024    |           | 250.0           |          
     |          | 0.0  |           | 0.0    | 0.0  |            |      |        
     |
+      | 4  | 0    | 01 August 2024    |           | 437.42          | 62.5     
     | 0.0      | 0.0  | 0.0       | 62.5   | 0.0  | 0.0        | 0.0  | 62.5   
     |
+      | 5  | 31   | 01 September 2024 |           | 0.0             | 437.42   
     | 9.53     | 0.0  | 0.0       | 446.95 | 0.0  | 0.0        | 0.0  | 446.95 
     |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due     | Paid | In 
advance | Late | Outstanding |
+      | 1250          | 24.53    | 0.0  | 0.0       | 1274.53 | 0.0  | 0.0     
   | 0.0  | 1274.53     |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance |
+      | 01 June 2024     | Disbursement     | 1000.0 | 0.0       | 0.0      | 
0.0  | 0.0       | 1000.0       |
+      | 01 August 2024   | Disbursement     | 250.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 1250.0       |
+
+  @TestRailId:C3897
+  Scenario: Progressive loan - flat interest DAILY, actual/actual, 4% interest 
rate
+    When Admin sets the business date to "01 January 2024"
+    And Admin creates a client with random data
+    When Admin creates a fully customized loan with the following data:
+      | LoanProduct                                    | submitted on date | 
with Principal | ANNUAL interest rate % | interest type | interest calculation 
period | amortization type  | loanTermFrequency | loanTermFrequencyType | 
repaymentEvery | repaymentFrequencyType | numberOfRepayments | 
graceOnPrincipalPayment | graceOnInterestPayment | interest free period | 
Payment strategy            |
+      | LP2_INTEREST_FLAT_ADV_PMT_ALLOC_MULTIDISBURSE  | 01 January 2024   | 
100            | 4                      | FLAT          | DAILY                 
     | EQUAL_INSTALLMENTS | 3                 | MONTHS                | 1       
       | MONTHS                 | 3                  | 0                       
| 0                      | 0                    | ADVANCED_PAYMENT_ALLOCATION |
+    And Admin successfully approves the loan on "01 January 2024" with "100" 
amount and expected disbursement date on "01 January 2024"
+    And Admin successfully disburse the loan on "01 January 2024" with "100" 
EUR transaction amount
+    Then Loan Repayment schedule has 3 periods, with the following data for 
periods:
+      | Nr | Days | Date            | Paid date | Balance of loan | Principal 
due | Interest | Fees | Penalties | Due   | Paid | In advance | Late | 
Outstanding |
+      |    |      | 01 January 2024 |           | 100.0           |            
   |          | 0.0  |           | 0.0   | 0.0  |            |      |           
  |
+      | 1  | 31   | 01 February 2024|           | 66.67           | 33.33      
   | 0.34     | 0.0  | 0.0       | 33.67 | 0.0  | 0.0        | 0.0  | 33.67     
  |
+      | 2  | 29   | 01 March 2024   |           | 33.32           | 33.35      
   | 0.32     | 0.0  | 0.0       | 33.67 | 0.0  | 0.0        | 0.0  | 33.67     
  |
+      | 3  | 31   | 01 April 2024   |           | 0.0             | 33.32      
   | 0.34     | 0.0  | 0.0       | 33.66 | 0.0  | 0.0        | 0.0  | 33.66     
  |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due   | Paid | In 
advance | Late | Outstanding |
+      | 100           | 1.0      | 0.0  | 0.0       | 101.0 | 0.0  | 0.0       
 | 0.0  | 101.0       |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance |
+      | 01 January 2024  | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        |
+
+  @TestRailId:C3898
+  Scenario: Progressive loan with downpayment - flat interest DAILY, 
actual/actual, 4% interest rate
+    When Admin sets the business date to "01 January 2024"
+    And Admin creates a client with random data
+    When Admin creates a fully customized loan with the following data:
+      | LoanProduct                                               | submitted 
on date | with Principal | ANNUAL interest rate % | interest type | interest 
calculation period | amortization type  | loanTermFrequency | 
loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | 
numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | 
interest free period | Payment strategy            |
+      | LP2_DOWNPAYMENT_INTEREST_FLAT_ADV_PMT_ALLOC_MULTIDISBURSE | 01 January 
2024   | 1000           | 4                      | FLAT          | DAILY        
              | EQUAL_INSTALLMENTS | 3                 | MONTHS                
| 1              | MONTHS                 | 3                  | 0              
         | 0                      | 0                    | 
ADVANCED_PAYMENT_ALLOCATION |
+    And Admin successfully approves the loan on "01 January 2024" with "1000" 
amount and expected disbursement date on "01 January 2024"
+    And Admin successfully disburse the loan on "01 January 2024" with "1000" 
EUR transaction amount
+    Then Loan Repayment schedule has 4 periods, with the following data for 
periods:
+      | Nr | Days | Date            | Paid date | Balance of loan | Principal 
due | Interest | Fees | Penalties | Due    | Paid | In advance | Late | 
Outstanding |
+      |    |      | 01 January 2024 |           | 1000.0          |            
   |          | 0.0  |           | 0.0    | 0.0  |            |      |          
   |
+      | 1  | 0    | 01 January 2024 |           | 750.0           | 250.0      
   | 0.0      | 0.0  | 0.0       | 250.0  | 0.0  | 0.0        | 0.0  | 250.0    
   |
+      | 2  | 31   | 01 February 2024|           | 500.05          | 249.95     
   | 2.54     | 0.0  | 0.0       | 252.49 | 0.0  | 0.0        | 0.0  | 252.49   
   |
+      | 3  | 29   | 01 March 2024   |           | 249.94          | 250.11     
   | 2.38     | 0.0  | 0.0       | 252.49 | 0.0  | 0.0        | 0.0  | 252.49   
   |
+      | 4  | 31   | 01 April 2024   |           | 0.0             | 249.94     
   | 2.54     | 0.0  | 0.0       | 252.48 | 0.0  | 0.0        | 0.0  | 252.48   
   |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due    | Paid | In 
advance | Late | Outstanding |
+      | 1000          | 7.46     | 0.0  | 0.0       | 1007.46| 0.0  | 0.0      
  | 0.0  | 1007.46     |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance |
+      | 01 January 2024  | Disbursement     | 1000.0 | 0.0       | 0.0      | 
0.0  | 0.0       | 1000.0       |

Reply via email to