diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/WorkingCapitalAmortizationScheduleStepDef.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/WorkingCapitalAmortizationScheduleStepDef.java index b6cd0a50a10..1dece88a719 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/WorkingCapitalAmortizationScheduleStepDef.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/WorkingCapitalAmortizationScheduleStepDef.java @@ -127,7 +127,8 @@ private void verifyPaymentDetails(final DataTable dataTable) { expected.get("expectedPaymentAmount")); assertOptionalDecimal(assertions, p + "discountFactor", actual.getDiscountFactor(), expected.get("discountFactor")); assertNullableDecimal(assertions, p + "npvValue", actual.getNpvValue(), expected.get("npvValue")); - assertNullableDecimal(assertions, p + "balance", actual.getBalance(), expected.get("balance")); + assertNullableDecimal(assertions, p + "expectedBalance", actual.getExpectedBalance(), expected.get("expectedBalance")); + assertNullableDecimal(assertions, p + "actualBalance", actual.getActualBalance(), expected.get("actualBalance")); assertNullableDecimal(assertions, p + "expectedAmortizationAmount", actual.getExpectedAmortizationAmount(), expected.get("expectedAmortizationAmount")); assertNullableDecimal(assertions, p + "actualPaymentAmount", actual.getActualPaymentAmount(), @@ -135,7 +136,10 @@ private void verifyPaymentDetails(final DataTable dataTable) { assertNullableDecimal(assertions, p + "actualAmortizationAmount", actual.getActualAmortizationAmount(), expected.get("actualAmortizationAmount")); assertNullableDecimal(assertions, p + "incomeModification", actual.getIncomeModification(), expected.get("incomeModification")); - assertNullableDecimal(assertions, p + "deferredBalance", actual.getDeferredBalance(), expected.get("deferredBalance")); + assertNullableDecimal(assertions, p + "expectedDiscountFeeBalance", actual.getExpectedDiscountFeeBalance(), + expected.get("expectedDiscountFeeBalance")); + assertNullableDecimal(assertions, p + "actualDiscountFeeBalance", actual.getActualDiscountFeeBalance(), + expected.get("actualDiscountFeeBalance")); } assertions.assertAll(); diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/WorkingCapitalLoanAccountStepDef.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/WorkingCapitalLoanAccountStepDef.java index 4c3f22557e0..abf67601ed8 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/WorkingCapitalLoanAccountStepDef.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/WorkingCapitalLoanAccountStepDef.java @@ -2278,12 +2278,14 @@ private String extractWcScheduleCellValue(final String headerName, final Project case "expectedPaymentAmount" -> asText(period.getExpectedPaymentAmount()); case "discountFactor" -> asText(period.getDiscountFactor()); case "npvValue" -> asText(period.getNpvValue()); - case "balance" -> asText(period.getBalance()); + case "expectedBalance" -> asText(period.getExpectedBalance()); + case "actualBalance" -> asText(period.getActualBalance()); case "expectedAmortizationAmount" -> asText(period.getExpectedAmortizationAmount()); case "actualPaymentAmount" -> asText(period.getActualPaymentAmount()); case "actualAmortizationAmount" -> asText(period.getActualAmortizationAmount()); case "incomeModification" -> asText(period.getIncomeModification()); - case "deferredBalance" -> asText(period.getDeferredBalance()); + case "expectedDiscountFeeBalance" -> asText(period.getExpectedDiscountFeeBalance()); + case "actualDiscountFeeBalance" -> asText(period.getActualDiscountFeeBalance()); default -> throw new IllegalStateException(String.format("Header name %s cannot be found", headerName)); }; } diff --git a/fineract-e2e-tests-runner/src/test/resources/features/WorkingCapitalAmortizationSchedule.feature b/fineract-e2e-tests-runner/src/test/resources/features/WorkingCapitalAmortizationSchedule.feature index f36b92692ea..d905d176f2f 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/WorkingCapitalAmortizationSchedule.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/WorkingCapitalAmortizationSchedule.feature @@ -8,214 +8,214 @@ Feature: WorkingCapitalAmortizationSchedule And Admin creates a working capital loan with the following data: | LoanProduct | submittedOnDate | expectedDisbursementDate | principalAmount | totalPayment | periodPaymentRate | discount | | WCLP | 01 January 2026 | 01 January 2026 | 100 | 100 | 1 | 0 | - When Admin generates a projected amortization schedule with discountFeeAmount 1000.0, netDisbursementAmount 9000.0, totalPaymentValue 100000.0, periodPaymentRate 0.18, npvDayCount 360, expectedDisbursementDate "2019-01-01" + When Admin generates a projected amortization schedule with discountFeeAmount 1000.0, netDisbursementAmount 9000.0, totalPaymentValue 100000.0, periodPaymentRate 18, npvDayCount 360, expectedDisbursementDate "2019-01-01" And Admin retrieves the projected amortization schedule Then The retrieved amortization schedule has the following summary fields: | discountFeeAmount | netDisbursementAmount | totalPaymentValue | periodPaymentRate | npvDayCount | expectedPaymentAmount | originalPaymentNumber | - | 1000.00 | 9000.00 | 100000.00 | 0.18 | 360 | 50.00 | 200 | + | 1000.00 | 9000.00 | 100000.00 | 18 | 360 | 50.00 | 200 | And The retrieved amortization schedule has payments with the following details: - | paymentNo | date | expectedPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualPaymentAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 2019-01-01 | -9000.00 | 1 | -9000.00 | 9000.00 | | | | | 1000.00 | - | 1 | 2019-01-02 | 50.00 | | 49.95 | 8959.61 | 9.61 | | | | 1000.00 | - | 2 | 2019-01-03 | 50.00 | | 49.89 | 8919.18 | 9.57 | | | | 1000.00 | - | 3 | 2019-01-04 | 50.00 | | 49.84 | 8878.70 | 9.52 | | | | 1000.00 | - | 4 | 2019-01-05 | 50.00 | | 49.79 | 8838.18 | 9.48 | | | | 1000.00 | - | 5 | 2019-01-06 | 50.00 | | 49.73 | 8797.62 | 9.44 | | | | 1000.00 | - | 6 | 2019-01-07 | 50.00 | | 49.68 | 8757.01 | 9.39 | | | | 1000.00 | - | 7 | 2019-01-08 | 50.00 | | 49.63 | 8716.36 | 9.35 | | | | 1000.00 | - | 8 | 2019-01-09 | 50.00 | | 49.57 | 8675.67 | 9.31 | | | | 1000.00 | - | 9 | 2019-01-10 | 50.00 | | 49.52 | 8634.94 | 9.26 | | | | 1000.00 | - | 10 | 2019-01-11 | 50.00 | | 49.47 | 8594.16 | 9.22 | | | | 1000.00 | - | 11 | 2019-01-12 | 50.00 | | 49.42 | 8553.33 | 9.18 | | | | 1000.00 | - | 12 | 2019-01-13 | 50.00 | | 49.36 | 8512.47 | 9.13 | | | | 1000.00 | - | 13 | 2019-01-14 | 50.00 | | 49.31 | 8471.56 | 9.09 | | | | 1000.00 | - | 14 | 2019-01-15 | 50.00 | | 49.26 | 8430.60 | 9.05 | | | | 1000.00 | - | 15 | 2019-01-16 | 50.00 | | 49.21 | 8389.61 | 9.00 | | | | 1000.00 | - | 16 | 2019-01-17 | 50.00 | | 49.15 | 8348.56 | 8.96 | | | | 1000.00 | - | 17 | 2019-01-18 | 50.00 | | 49.10 | 8307.48 | 8.91 | | | | 1000.00 | - | 18 | 2019-01-19 | 50.00 | | 49.05 | 8266.35 | 8.87 | | | | 1000.00 | - | 19 | 2019-01-20 | 50.00 | | 49.00 | 8225.18 | 8.83 | | | | 1000.00 | - | 20 | 2019-01-21 | 50.00 | | 48.94 | 8183.96 | 8.78 | | | | 1000.00 | - | 21 | 2019-01-22 | 50.00 | | 48.89 | 8142.70 | 8.74 | | | | 1000.00 | - | 22 | 2019-01-23 | 50.00 | | 48.84 | 8101.39 | 8.69 | | | | 1000.00 | - | 23 | 2019-01-24 | 50.00 | | 48.79 | 8060.04 | 8.65 | | | | 1000.00 | - | 24 | 2019-01-25 | 50.00 | | 48.74 | 8018.65 | 8.61 | | | | 1000.00 | - | 25 | 2019-01-26 | 50.00 | | 48.68 | 7977.21 | 8.56 | | | | 1000.00 | - | 26 | 2019-01-27 | 50.00 | | 48.63 | 7935.73 | 8.52 | | | | 1000.00 | - | 27 | 2019-01-28 | 50.00 | | 48.58 | 7894.21 | 8.47 | | | | 1000.00 | - | 28 | 2019-01-29 | 50.00 | | 48.53 | 7852.63 | 8.43 | | | | 1000.00 | - | 29 | 2019-01-30 | 50.00 | | 48.48 | 7811.02 | 8.39 | | | | 1000.00 | - | 30 | 2019-01-31 | 50.00 | | 48.42 | 7769.36 | 8.34 | | | | 1000.00 | - | 31 | 2019-02-01 | 50.00 | | 48.37 | 7727.66 | 8.30 | | | | 1000.00 | - | 32 | 2019-02-02 | 50.00 | | 48.32 | 7685.91 | 8.25 | | | | 1000.00 | - | 33 | 2019-02-03 | 50.00 | | 48.27 | 7644.12 | 8.21 | | | | 1000.00 | - | 34 | 2019-02-04 | 50.00 | | 48.22 | 7602.28 | 8.16 | | | | 1000.00 | - | 35 | 2019-02-05 | 50.00 | | 48.17 | 7560.40 | 8.12 | | | | 1000.00 | - | 36 | 2019-02-06 | 50.00 | | 48.12 | 7518.47 | 8.07 | | | | 1000.00 | - | 37 | 2019-02-07 | 50.00 | | 48.06 | 7476.50 | 8.03 | | | | 1000.00 | - | 38 | 2019-02-08 | 50.00 | | 48.01 | 7434.48 | 7.98 | | | | 1000.00 | - | 39 | 2019-02-09 | 50.00 | | 47.96 | 7392.42 | 7.94 | | | | 1000.00 | - | 40 | 2019-02-10 | 50.00 | | 47.91 | 7350.31 | 7.89 | | | | 1000.00 | - | 41 | 2019-02-11 | 50.00 | | 47.86 | 7308.16 | 7.85 | | | | 1000.00 | - | 42 | 2019-02-12 | 50.00 | | 47.81 | 7265.97 | 7.80 | | | | 1000.00 | - | 43 | 2019-02-13 | 50.00 | | 47.76 | 7223.72 | 7.76 | | | | 1000.00 | - | 44 | 2019-02-14 | 50.00 | | 47.71 | 7181.44 | 7.71 | | | | 1000.00 | - | 45 | 2019-02-15 | 50.00 | | 47.66 | 7139.11 | 7.67 | | | | 1000.00 | - | 46 | 2019-02-16 | 50.00 | | 47.60 | 7096.73 | 7.62 | | | | 1000.00 | - | 47 | 2019-02-17 | 50.00 | | 47.55 | 7054.31 | 7.58 | | | | 1000.00 | - | 48 | 2019-02-18 | 50.00 | | 47.50 | 7011.84 | 7.53 | | | | 1000.00 | - | 49 | 2019-02-19 | 50.00 | | 47.45 | 6969.33 | 7.49 | | | | 1000.00 | - | 50 | 2019-02-20 | 50.00 | | 47.40 | 6926.77 | 7.44 | | | | 1000.00 | - | 51 | 2019-02-21 | 50.00 | | 47.35 | 6884.17 | 7.40 | | | | 1000.00 | - | 52 | 2019-02-22 | 50.00 | | 47.30 | 6841.52 | 7.35 | | | | 1000.00 | - | 53 | 2019-02-23 | 50.00 | | 47.25 | 6798.82 | 7.31 | | | | 1000.00 | - | 54 | 2019-02-24 | 50.00 | | 47.20 | 6756.08 | 7.26 | | | | 1000.00 | - | 55 | 2019-02-25 | 50.00 | | 47.15 | 6713.30 | 7.21 | | | | 1000.00 | - | 56 | 2019-02-26 | 50.00 | | 47.10 | 6670.47 | 7.17 | | | | 1000.00 | - | 57 | 2019-02-27 | 50.00 | | 47.05 | 6627.59 | 7.12 | | | | 1000.00 | - | 58 | 2019-02-28 | 50.00 | | 47.00 | 6584.67 | 7.08 | | | | 1000.00 | - | 59 | 2019-03-01 | 50.00 | | 46.95 | 6541.70 | 7.03 | | | | 1000.00 | - | 60 | 2019-03-02 | 50.00 | | 46.90 | 6498.68 | 6.99 | | | | 1000.00 | - | 61 | 2019-03-03 | 50.00 | | 46.85 | 6455.62 | 6.94 | | | | 1000.00 | - | 62 | 2019-03-04 | 50.00 | | 46.80 | 6412.51 | 6.89 | | | | 1000.00 | - | 63 | 2019-03-05 | 50.00 | | 46.75 | 6369.36 | 6.85 | | | | 1000.00 | - | 64 | 2019-03-06 | 50.00 | | 46.70 | 6326.16 | 6.80 | | | | 1000.00 | - | 65 | 2019-03-07 | 50.00 | | 46.65 | 6282.92 | 6.76 | | | | 1000.00 | - | 66 | 2019-03-08 | 50.00 | | 46.60 | 6239.63 | 6.71 | | | | 1000.00 | - | 67 | 2019-03-09 | 50.00 | | 46.55 | 6196.29 | 6.66 | | | | 1000.00 | - | 68 | 2019-03-10 | 50.00 | | 46.50 | 6152.91 | 6.62 | | | | 1000.00 | - | 69 | 2019-03-11 | 50.00 | | 46.45 | 6109.48 | 6.57 | | | | 1000.00 | - | 70 | 2019-03-12 | 50.00 | | 46.40 | 6066.00 | 6.52 | | | | 1000.00 | - | 71 | 2019-03-13 | 50.00 | | 46.35 | 6022.48 | 6.48 | | | | 1000.00 | - | 72 | 2019-03-14 | 50.00 | | 46.30 | 5978.91 | 6.43 | | | | 1000.00 | - | 73 | 2019-03-15 | 50.00 | | 46.25 | 5935.29 | 6.38 | | | | 1000.00 | - | 74 | 2019-03-16 | 50.00 | | 46.20 | 5891.63 | 6.34 | | | | 1000.00 | - | 75 | 2019-03-17 | 50.00 | | 46.15 | 5847.92 | 6.29 | | | | 1000.00 | - | 76 | 2019-03-18 | 50.00 | | 46.10 | 5804.17 | 6.24 | | | | 1000.00 | - | 77 | 2019-03-19 | 50.00 | | 46.06 | 5760.36 | 6.20 | | | | 1000.00 | - | 78 | 2019-03-20 | 50.00 | | 46.01 | 5716.52 | 6.15 | | | | 1000.00 | - | 79 | 2019-03-21 | 50.00 | | 45.96 | 5672.62 | 6.10 | | | | 1000.00 | - | 80 | 2019-03-22 | 50.00 | | 45.91 | 5628.68 | 6.06 | | | | 1000.00 | - | 81 | 2019-03-23 | 50.00 | | 45.86 | 5584.69 | 6.01 | | | | 1000.00 | - | 82 | 2019-03-24 | 50.00 | | 45.81 | 5540.65 | 5.96 | | | | 1000.00 | - | 83 | 2019-03-25 | 50.00 | | 45.76 | 5496.57 | 5.92 | | | | 1000.00 | - | 84 | 2019-03-26 | 50.00 | | 45.71 | 5452.44 | 5.87 | | | | 1000.00 | - | 85 | 2019-03-27 | 50.00 | | 45.66 | 5408.26 | 5.82 | | | | 1000.00 | - | 86 | 2019-03-28 | 50.00 | | 45.62 | 5364.03 | 5.78 | | | | 1000.00 | - | 87 | 2019-03-29 | 50.00 | | 45.57 | 5319.76 | 5.73 | | | | 1000.00 | - | 88 | 2019-03-30 | 50.00 | | 45.52 | 5275.44 | 5.68 | | | | 1000.00 | - | 89 | 2019-03-31 | 50.00 | | 45.47 | 5231.08 | 5.63 | | | | 1000.00 | - | 90 | 2019-04-01 | 50.00 | | 45.42 | 5186.66 | 5.59 | | | | 1000.00 | - | 91 | 2019-04-02 | 50.00 | | 45.37 | 5142.20 | 5.54 | | | | 1000.00 | - | 92 | 2019-04-03 | 50.00 | | 45.32 | 5097.69 | 5.49 | | | | 1000.00 | - | 93 | 2019-04-04 | 50.00 | | 45.28 | 5053.13 | 5.44 | | | | 1000.00 | - | 94 | 2019-04-05 | 50.00 | | 45.23 | 5008.53 | 5.40 | | | | 1000.00 | - | 95 | 2019-04-06 | 50.00 | | 45.18 | 4963.88 | 5.35 | | | | 1000.00 | - | 96 | 2019-04-07 | 50.00 | | 45.13 | 4919.18 | 5.30 | | | | 1000.00 | - | 97 | 2019-04-08 | 50.00 | | 45.08 | 4874.43 | 5.25 | | | | 1000.00 | - | 98 | 2019-04-09 | 50.00 | | 45.03 | 4829.64 | 5.20 | | | | 1000.00 | - | 99 | 2019-04-10 | 50.00 | | 44.99 | 4784.79 | 5.16 | | | | 1000.00 | - | 100 | 2019-04-11 | 50.00 | | 44.94 | 4739.90 | 5.11 | | | | 1000.00 | - | 101 | 2019-04-12 | 50.00 | | 44.89 | 4694.96 | 5.06 | | | | 1000.00 | - | 102 | 2019-04-13 | 50.00 | | 44.84 | 4649.98 | 5.01 | | | | 1000.00 | - | 103 | 2019-04-14 | 50.00 | | 44.80 | 4604.94 | 4.97 | | | | 1000.00 | - | 104 | 2019-04-15 | 50.00 | | 44.75 | 4559.86 | 4.92 | | | | 1000.00 | - | 105 | 2019-04-16 | 50.00 | | 44.70 | 4514.73 | 4.87 | | | | 1000.00 | - | 106 | 2019-04-17 | 50.00 | | 44.65 | 4469.55 | 4.82 | | | | 1000.00 | - | 107 | 2019-04-18 | 50.00 | | 44.60 | 4424.32 | 4.77 | | | | 1000.00 | - | 108 | 2019-04-19 | 50.00 | | 44.56 | 4379.05 | 4.72 | | | | 1000.00 | - | 109 | 2019-04-20 | 50.00 | | 44.51 | 4333.72 | 4.68 | | | | 1000.00 | - | 110 | 2019-04-21 | 50.00 | | 44.46 | 4288.35 | 4.63 | | | | 1000.00 | - | 111 | 2019-04-22 | 50.00 | | 44.41 | 4242.93 | 4.58 | | | | 1000.00 | - | 112 | 2019-04-23 | 50.00 | | 44.37 | 4197.46 | 4.53 | | | | 1000.00 | - | 113 | 2019-04-24 | 50.00 | | 44.32 | 4151.94 | 4.48 | | | | 1000.00 | - | 114 | 2019-04-25 | 50.00 | | 44.27 | 4106.38 | 4.43 | | | | 1000.00 | - | 115 | 2019-04-26 | 50.00 | | 44.22 | 4060.76 | 4.38 | | | | 1000.00 | - | 116 | 2019-04-27 | 50.00 | | 44.18 | 4015.10 | 4.34 | | | | 1000.00 | - | 117 | 2019-04-28 | 50.00 | | 44.13 | 3969.38 | 4.29 | | | | 1000.00 | - | 118 | 2019-04-29 | 50.00 | | 44.08 | 3923.62 | 4.24 | | | | 1000.00 | - | 119 | 2019-04-30 | 50.00 | | 44.04 | 3877.81 | 4.19 | | | | 1000.00 | - | 120 | 2019-05-01 | 50.00 | | 43.99 | 3831.95 | 4.14 | | | | 1000.00 | - | 121 | 2019-05-02 | 50.00 | | 43.94 | 3786.04 | 4.09 | | | | 1000.00 | - | 122 | 2019-05-03 | 50.00 | | 43.90 | 3740.09 | 4.04 | | | | 1000.00 | - | 123 | 2019-05-04 | 50.00 | | 43.85 | 3694.08 | 3.99 | | | | 1000.00 | - | 124 | 2019-05-05 | 50.00 | | 43.80 | 3648.03 | 3.94 | | | | 1000.00 | - | 125 | 2019-05-06 | 50.00 | | 43.76 | 3601.92 | 3.90 | | | | 1000.00 | - | 126 | 2019-05-07 | 50.00 | | 43.71 | 3555.77 | 3.85 | | | | 1000.00 | - | 127 | 2019-05-08 | 50.00 | | 43.66 | 3509.56 | 3.80 | | | | 1000.00 | - | 128 | 2019-05-09 | 50.00 | | 43.62 | 3463.31 | 3.75 | | | | 1000.00 | - | 129 | 2019-05-10 | 50.00 | | 43.57 | 3417.01 | 3.70 | | | | 1000.00 | - | 130 | 2019-05-11 | 50.00 | | 43.52 | 3370.66 | 3.65 | | | | 1000.00 | - | 131 | 2019-05-12 | 50.00 | | 43.48 | 3324.26 | 3.60 | | | | 1000.00 | - | 132 | 2019-05-13 | 50.00 | | 43.43 | 3277.81 | 3.55 | | | | 1000.00 | - | 133 | 2019-05-14 | 50.00 | | 43.38 | 3231.31 | 3.50 | | | | 1000.00 | - | 134 | 2019-05-15 | 50.00 | | 43.34 | 3184.76 | 3.45 | | | | 1000.00 | - | 135 | 2019-05-16 | 50.00 | | 43.29 | 3138.16 | 3.40 | | | | 1000.00 | - | 136 | 2019-05-17 | 50.00 | | 43.24 | 3091.51 | 3.35 | | | | 1000.00 | - | 137 | 2019-05-18 | 50.00 | | 43.20 | 3044.81 | 3.30 | | | | 1000.00 | - | 138 | 2019-05-19 | 50.00 | | 43.15 | 2998.06 | 3.25 | | | | 1000.00 | - | 139 | 2019-05-20 | 50.00 | | 43.11 | 2951.26 | 3.20 | | | | 1000.00 | - | 140 | 2019-05-21 | 50.00 | | 43.06 | 2904.42 | 3.15 | | | | 1000.00 | - | 141 | 2019-05-22 | 50.00 | | 43.01 | 2857.52 | 3.10 | | | | 1000.00 | - | 142 | 2019-05-23 | 50.00 | | 42.97 | 2810.57 | 3.05 | | | | 1000.00 | - | 143 | 2019-05-24 | 50.00 | | 42.92 | 2763.57 | 3.00 | | | | 1000.00 | - | 144 | 2019-05-25 | 50.00 | | 42.88 | 2716.52 | 2.95 | | | | 1000.00 | - | 145 | 2019-05-26 | 50.00 | | 42.83 | 2669.42 | 2.90 | | | | 1000.00 | - | 146 | 2019-05-27 | 50.00 | | 42.79 | 2622.27 | 2.85 | | | | 1000.00 | - | 147 | 2019-05-28 | 50.00 | | 42.74 | 2575.07 | 2.80 | | | | 1000.00 | - | 148 | 2019-05-29 | 50.00 | | 42.69 | 2527.82 | 2.75 | | | | 1000.00 | - | 149 | 2019-05-30 | 50.00 | | 42.65 | 2480.52 | 2.70 | | | | 1000.00 | - | 150 | 2019-05-31 | 50.00 | | 42.60 | 2433.17 | 2.65 | | | | 1000.00 | - | 151 | 2019-06-01 | 50.00 | | 42.56 | 2385.77 | 2.60 | | | | 1000.00 | - | 152 | 2019-06-02 | 50.00 | | 42.51 | 2338.31 | 2.55 | | | | 1000.00 | - | 153 | 2019-06-03 | 50.00 | | 42.47 | 2290.81 | 2.50 | | | | 1000.00 | - | 154 | 2019-06-04 | 50.00 | | 42.42 | 2243.26 | 2.45 | | | | 1000.00 | - | 155 | 2019-06-05 | 50.00 | | 42.38 | 2195.65 | 2.40 | | | | 1000.00 | - | 156 | 2019-06-06 | 50.00 | | 42.33 | 2148.00 | 2.34 | | | | 1000.00 | - | 157 | 2019-06-07 | 50.00 | | 42.29 | 2100.29 | 2.29 | | | | 1000.00 | - | 158 | 2019-06-08 | 50.00 | | 42.24 | 2052.53 | 2.24 | | | | 1000.00 | - | 159 | 2019-06-09 | 50.00 | | 42.20 | 2004.73 | 2.19 | | | | 1000.00 | - | 160 | 2019-06-10 | 50.00 | | 42.15 | 1956.87 | 2.14 | | | | 1000.00 | - | 161 | 2019-06-11 | 50.00 | | 42.11 | 1908.96 | 2.09 | | | | 1000.00 | - | 162 | 2019-06-12 | 50.00 | | 42.06 | 1860.99 | 2.04 | | | | 1000.00 | - | 163 | 2019-06-13 | 50.00 | | 42.02 | 1812.98 | 1.99 | | | | 1000.00 | - | 164 | 2019-06-14 | 50.00 | | 41.97 | 1764.92 | 1.94 | | | | 1000.00 | - | 165 | 2019-06-15 | 50.00 | | 41.93 | 1716.80 | 1.88 | | | | 1000.00 | - | 166 | 2019-06-16 | 50.00 | | 41.88 | 1668.64 | 1.83 | | | | 1000.00 | - | 167 | 2019-06-17 | 50.00 | | 41.84 | 1620.42 | 1.78 | | | | 1000.00 | - | 168 | 2019-06-18 | 50.00 | | 41.79 | 1572.15 | 1.73 | | | | 1000.00 | - | 169 | 2019-06-19 | 50.00 | | 41.75 | 1523.83 | 1.68 | | | | 1000.00 | - | 170 | 2019-06-20 | 50.00 | | 41.70 | 1475.45 | 1.63 | | | | 1000.00 | - | 171 | 2019-06-21 | 50.00 | | 41.66 | 1427.03 | 1.58 | | | | 1000.00 | - | 172 | 2019-06-22 | 50.00 | | 41.61 | 1378.55 | 1.52 | | | | 1000.00 | - | 173 | 2019-06-23 | 50.00 | | 41.57 | 1330.02 | 1.47 | | | | 1000.00 | - | 174 | 2019-06-24 | 50.00 | | 41.53 | 1281.45 | 1.42 | | | | 1000.00 | - | 175 | 2019-06-25 | 50.00 | | 41.48 | 1232.81 | 1.37 | | | | 1000.00 | - | 176 | 2019-06-26 | 50.00 | | 41.44 | 1184.13 | 1.32 | | | | 1000.00 | - | 177 | 2019-06-27 | 50.00 | | 41.39 | 1135.39 | 1.26 | | | | 1000.00 | - | 178 | 2019-06-28 | 50.00 | | 41.35 | 1086.61 | 1.21 | | | | 1000.00 | - | 179 | 2019-06-29 | 50.00 | | 41.31 | 1037.77 | 1.16 | | | | 1000.00 | - | 180 | 2019-06-30 | 50.00 | | 41.26 | 988.88 | 1.11 | | | | 1000.00 | - | 181 | 2019-07-01 | 50.00 | | 41.22 | 939.93 | 1.06 | | | | 1000.00 | - | 182 | 2019-07-02 | 50.00 | | 41.17 | 890.93 | 1.00 | | | | 1000.00 | - | 183 | 2019-07-03 | 50.00 | | 41.13 | 841.89 | 0.95 | | | | 1000.00 | - | 184 | 2019-07-04 | 50.00 | | 41.09 | 792.79 | 0.90 | | | | 1000.00 | - | 185 | 2019-07-05 | 50.00 | | 41.04 | 743.63 | 0.85 | | | | 1000.00 | - | 186 | 2019-07-06 | 50.00 | | 41.00 | 694.43 | 0.79 | | | | 1000.00 | - | 187 | 2019-07-07 | 50.00 | | 40.95 | 645.17 | 0.74 | | | | 1000.00 | - | 188 | 2019-07-08 | 50.00 | | 40.91 | 595.86 | 0.69 | | | | 1000.00 | - | 189 | 2019-07-09 | 50.00 | | 40.87 | 546.49 | 0.64 | | | | 1000.00 | - | 190 | 2019-07-10 | 50.00 | | 40.82 | 497.08 | 0.58 | | | | 1000.00 | - | 191 | 2019-07-11 | 50.00 | | 40.78 | 447.61 | 0.53 | | | | 1000.00 | - | 192 | 2019-07-12 | 50.00 | | 40.74 | 398.08 | 0.48 | | | | 1000.00 | - | 193 | 2019-07-13 | 50.00 | | 40.69 | 348.51 | 0.43 | | | | 1000.00 | - | 194 | 2019-07-14 | 50.00 | | 40.65 | 298.88 | 0.37 | | | | 1000.00 | - | 195 | 2019-07-15 | 50.00 | | 40.61 | 249.20 | 0.32 | | | | 1000.00 | - | 196 | 2019-07-16 | 50.00 | | 40.56 | 199.47 | 0.27 | | | | 1000.00 | - | 197 | 2019-07-17 | 50.00 | | 40.52 | 149.68 | 0.21 | | | | 1000.00 | - | 198 | 2019-07-18 | 50.00 | | 40.48 | 99.84 | 0.16 | | | | 1000.00 | - | 199 | 2019-07-19 | 50.00 | | 40.43 | 49.95 | 0.11 | | | | 1000.00 | - | 200 | 2019-07-20 | 50.00 | | 40.39 | 0.00 | 0.05 | | | | 1000.00 | + | paymentNo | date | expectedPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualPaymentAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | actualBalance | actualDiscountFeeBalance | + | 0 | 2019-01-01 | -9000.00 | 1 | -9000.00 | 9000.00 | | | | | 1000.00 | 9000.00 | 1000.00 | + | 1 | 2019-01-02 | 50.00 | | 49.95 | 8959.61 | 9.61 | | | | 990.39 | | 1000.00 | + | 2 | 2019-01-03 | 50.00 | | 49.89 | 8919.18 | 9.57 | | | | 980.82 | | 1000.00 | + | 3 | 2019-01-04 | 50.00 | | 49.84 | 8878.70 | 9.52 | | | | 971.30 | | 1000.00 | + | 4 | 2019-01-05 | 50.00 | | 49.79 | 8838.18 | 9.48 | | | | 961.82 | | 1000.00 | + | 5 | 2019-01-06 | 50.00 | | 49.73 | 8797.62 | 9.44 | | | | 952.38 | | 1000.00 | + | 6 | 2019-01-07 | 50.00 | | 49.68 | 8757.01 | 9.39 | | | | 942.99 | | 1000.00 | + | 7 | 2019-01-08 | 50.00 | | 49.63 | 8716.36 | 9.35 | | | | 933.64 | | 1000.00 | + | 8 | 2019-01-09 | 50.00 | | 49.57 | 8675.67 | 9.31 | | | | 924.33 | | 1000.00 | + | 9 | 2019-01-10 | 50.00 | | 49.52 | 8634.94 | 9.26 | | | | 915.07 | | 1000.00 | + | 10 | 2019-01-11 | 50.00 | | 49.47 | 8594.16 | 9.22 | | | | 905.85 | | 1000.00 | + | 11 | 2019-01-12 | 50.00 | | 49.42 | 8553.33 | 9.18 | | | | 896.67 | | 1000.00 | + | 12 | 2019-01-13 | 50.00 | | 49.36 | 8512.47 | 9.13 | | | | 887.54 | | 1000.00 | + | 13 | 2019-01-14 | 50.00 | | 49.31 | 8471.56 | 9.09 | | | | 878.45 | | 1000.00 | + | 14 | 2019-01-15 | 50.00 | | 49.26 | 8430.60 | 9.05 | | | | 869.40 | | 1000.00 | + | 15 | 2019-01-16 | 50.00 | | 49.21 | 8389.61 | 9.00 | | | | 860.40 | | 1000.00 | + | 16 | 2019-01-17 | 50.00 | | 49.15 | 8348.56 | 8.96 | | | | 851.44 | | 1000.00 | + | 17 | 2019-01-18 | 50.00 | | 49.10 | 8307.48 | 8.91 | | | | 842.53 | | 1000.00 | + | 18 | 2019-01-19 | 50.00 | | 49.05 | 8266.35 | 8.87 | | | | 833.66 | | 1000.00 | + | 19 | 2019-01-20 | 50.00 | | 49.00 | 8225.18 | 8.83 | | | | 824.83 | | 1000.00 | + | 20 | 2019-01-21 | 50.00 | | 48.94 | 8183.96 | 8.78 | | | | 816.05 | | 1000.00 | + | 21 | 2019-01-22 | 50.00 | | 48.89 | 8142.70 | 8.74 | | | | 807.31 | | 1000.00 | + | 22 | 2019-01-23 | 50.00 | | 48.84 | 8101.39 | 8.69 | | | | 798.62 | | 1000.00 | + | 23 | 2019-01-24 | 50.00 | | 48.79 | 8060.04 | 8.65 | | | | 789.97 | | 1000.00 | + | 24 | 2019-01-25 | 50.00 | | 48.74 | 8018.65 | 8.61 | | | | 781.36 | | 1000.00 | + | 25 | 2019-01-26 | 50.00 | | 48.68 | 7977.21 | 8.56 | | | | 772.80 | | 1000.00 | + | 26 | 2019-01-27 | 50.00 | | 48.63 | 7935.73 | 8.52 | | | | 764.28 | | 1000.00 | + | 27 | 2019-01-28 | 50.00 | | 48.58 | 7894.21 | 8.47 | | | | 755.81 | | 1000.00 | + | 28 | 2019-01-29 | 50.00 | | 48.53 | 7852.63 | 8.43 | | | | 747.38 | | 1000.00 | + | 29 | 2019-01-30 | 50.00 | | 48.48 | 7811.02 | 8.39 | | | | 738.99 | | 1000.00 | + | 30 | 2019-01-31 | 50.00 | | 48.42 | 7769.36 | 8.34 | | | | 730.65 | | 1000.00 | + | 31 | 2019-02-01 | 50.00 | | 48.37 | 7727.66 | 8.30 | | | | 722.35 | | 1000.00 | + | 32 | 2019-02-02 | 50.00 | | 48.32 | 7685.91 | 8.25 | | | | 714.10 | | 1000.00 | + | 33 | 2019-02-03 | 50.00 | | 48.27 | 7644.12 | 8.21 | | | | 705.89 | | 1000.00 | + | 34 | 2019-02-04 | 50.00 | | 48.22 | 7602.28 | 8.16 | | | | 697.73 | | 1000.00 | + | 35 | 2019-02-05 | 50.00 | | 48.17 | 7560.40 | 8.12 | | | | 689.61 | | 1000.00 | + | 36 | 2019-02-06 | 50.00 | | 48.12 | 7518.47 | 8.07 | | | | 681.54 | | 1000.00 | + | 37 | 2019-02-07 | 50.00 | | 48.06 | 7476.50 | 8.03 | | | | 673.51 | | 1000.00 | + | 38 | 2019-02-08 | 50.00 | | 48.01 | 7434.48 | 7.98 | | | | 665.53 | | 1000.00 | + | 39 | 2019-02-09 | 50.00 | | 47.96 | 7392.42 | 7.94 | | | | 657.59 | | 1000.00 | + | 40 | 2019-02-10 | 50.00 | | 47.91 | 7350.31 | 7.89 | | | | 649.70 | | 1000.00 | + | 41 | 2019-02-11 | 50.00 | | 47.86 | 7308.16 | 7.85 | | | | 641.85 | | 1000.00 | + | 42 | 2019-02-12 | 50.00 | | 47.81 | 7265.97 | 7.80 | | | | 634.05 | | 1000.00 | + | 43 | 2019-02-13 | 50.00 | | 47.76 | 7223.72 | 7.76 | | | | 626.29 | | 1000.00 | + | 44 | 2019-02-14 | 50.00 | | 47.71 | 7181.44 | 7.71 | | | | 618.58 | | 1000.00 | + | 45 | 2019-02-15 | 50.00 | | 47.66 | 7139.11 | 7.67 | | | | 610.91 | | 1000.00 | + | 46 | 2019-02-16 | 50.00 | | 47.60 | 7096.73 | 7.62 | | | | 603.29 | | 1000.00 | + | 47 | 2019-02-17 | 50.00 | | 47.55 | 7054.31 | 7.58 | | | | 595.71 | | 1000.00 | + | 48 | 2019-02-18 | 50.00 | | 47.50 | 7011.84 | 7.53 | | | | 588.18 | | 1000.00 | + | 49 | 2019-02-19 | 50.00 | | 47.45 | 6969.33 | 7.49 | | | | 580.69 | | 1000.00 | + | 50 | 2019-02-20 | 50.00 | | 47.40 | 6926.77 | 7.44 | | | | 573.25 | | 1000.00 | + | 51 | 2019-02-21 | 50.00 | | 47.35 | 6884.17 | 7.40 | | | | 565.85 | | 1000.00 | + | 52 | 2019-02-22 | 50.00 | | 47.30 | 6841.52 | 7.35 | | | | 558.50 | | 1000.00 | + | 53 | 2019-02-23 | 50.00 | | 47.25 | 6798.82 | 7.31 | | | | 551.19 | | 1000.00 | + | 54 | 2019-02-24 | 50.00 | | 47.20 | 6756.08 | 7.26 | | | | 543.93 | | 1000.00 | + | 55 | 2019-02-25 | 50.00 | | 47.15 | 6713.30 | 7.21 | | | | 536.72 | | 1000.00 | + | 56 | 2019-02-26 | 50.00 | | 47.10 | 6670.47 | 7.17 | | | | 529.55 | | 1000.00 | + | 57 | 2019-02-27 | 50.00 | | 47.05 | 6627.59 | 7.12 | | | | 522.43 | | 1000.00 | + | 58 | 2019-02-28 | 50.00 | | 47.00 | 6584.67 | 7.08 | | | | 515.35 | | 1000.00 | + | 59 | 2019-03-01 | 50.00 | | 46.95 | 6541.70 | 7.03 | | | | 508.32 | | 1000.00 | + | 60 | 2019-03-02 | 50.00 | | 46.90 | 6498.68 | 6.99 | | | | 501.33 | | 1000.00 | + | 61 | 2019-03-03 | 50.00 | | 46.85 | 6455.62 | 6.94 | | | | 494.39 | | 1000.00 | + | 62 | 2019-03-04 | 50.00 | | 46.80 | 6412.51 | 6.89 | | | | 487.50 | | 1000.00 | + | 63 | 2019-03-05 | 50.00 | | 46.75 | 6369.36 | 6.85 | | | | 480.65 | | 1000.00 | + | 64 | 2019-03-06 | 50.00 | | 46.70 | 6326.16 | 6.80 | | | | 473.85 | | 1000.00 | + | 65 | 2019-03-07 | 50.00 | | 46.65 | 6282.92 | 6.76 | | | | 467.09 | | 1000.00 | + | 66 | 2019-03-08 | 50.00 | | 46.60 | 6239.63 | 6.71 | | | | 460.38 | | 1000.00 | + | 67 | 2019-03-09 | 50.00 | | 46.55 | 6196.29 | 6.66 | | | | 453.72 | | 1000.00 | + | 68 | 2019-03-10 | 50.00 | | 46.50 | 6152.91 | 6.62 | | | | 447.10 | | 1000.00 | + | 69 | 2019-03-11 | 50.00 | | 46.45 | 6109.48 | 6.57 | | | | 440.53 | | 1000.00 | + | 70 | 2019-03-12 | 50.00 | | 46.40 | 6066.00 | 6.52 | | | | 434.01 | | 1000.00 | + | 71 | 2019-03-13 | 50.00 | | 46.35 | 6022.48 | 6.48 | | | | 427.53 | | 1000.00 | + | 72 | 2019-03-14 | 50.00 | | 46.30 | 5978.91 | 6.43 | | | | 421.10 | | 1000.00 | + | 73 | 2019-03-15 | 50.00 | | 46.25 | 5935.29 | 6.38 | | | | 414.72 | | 1000.00 | + | 74 | 2019-03-16 | 50.00 | | 46.20 | 5891.63 | 6.34 | | | | 408.38 | | 1000.00 | + | 75 | 2019-03-17 | 50.00 | | 46.15 | 5847.92 | 6.29 | | | | 402.09 | | 1000.00 | + | 76 | 2019-03-18 | 50.00 | | 46.10 | 5804.17 | 6.24 | | | | 395.85 | | 1000.00 | + | 77 | 2019-03-19 | 50.00 | | 46.06 | 5760.36 | 6.20 | | | | 389.65 | | 1000.00 | + | 78 | 2019-03-20 | 50.00 | | 46.01 | 5716.52 | 6.15 | | | | 383.50 | | 1000.00 | + | 79 | 2019-03-21 | 50.00 | | 45.96 | 5672.62 | 6.10 | | | | 377.40 | | 1000.00 | + | 80 | 2019-03-22 | 50.00 | | 45.91 | 5628.68 | 6.06 | | | | 371.34 | | 1000.00 | + | 81 | 2019-03-23 | 50.00 | | 45.86 | 5584.69 | 6.01 | | | | 365.33 | | 1000.00 | + | 82 | 2019-03-24 | 50.00 | | 45.81 | 5540.65 | 5.96 | | | | 359.37 | | 1000.00 | + | 83 | 2019-03-25 | 50.00 | | 45.76 | 5496.57 | 5.92 | | | | 353.45 | | 1000.00 | + | 84 | 2019-03-26 | 50.00 | | 45.71 | 5452.44 | 5.87 | | | | 347.58 | | 1000.00 | + | 85 | 2019-03-27 | 50.00 | | 45.66 | 5408.26 | 5.82 | | | | 341.76 | | 1000.00 | + | 86 | 2019-03-28 | 50.00 | | 45.62 | 5364.03 | 5.78 | | | | 335.98 | | 1000.00 | + | 87 | 2019-03-29 | 50.00 | | 45.57 | 5319.76 | 5.73 | | | | 330.25 | | 1000.00 | + | 88 | 2019-03-30 | 50.00 | | 45.52 | 5275.44 | 5.68 | | | | 324.57 | | 1000.00 | + | 89 | 2019-03-31 | 50.00 | | 45.47 | 5231.08 | 5.63 | | | | 318.94 | | 1000.00 | + | 90 | 2019-04-01 | 50.00 | | 45.42 | 5186.66 | 5.59 | | | | 313.35 | | 1000.00 | + | 91 | 2019-04-02 | 50.00 | | 45.37 | 5142.20 | 5.54 | | | | 307.81 | | 1000.00 | + | 92 | 2019-04-03 | 50.00 | | 45.32 | 5097.69 | 5.49 | | | | 302.32 | | 1000.00 | + | 93 | 2019-04-04 | 50.00 | | 45.28 | 5053.13 | 5.44 | | | | 296.88 | | 1000.00 | + | 94 | 2019-04-05 | 50.00 | | 45.23 | 5008.53 | 5.40 | | | | 291.48 | | 1000.00 | + | 95 | 2019-04-06 | 50.00 | | 45.18 | 4963.88 | 5.35 | | | | 286.13 | | 1000.00 | + | 96 | 2019-04-07 | 50.00 | | 45.13 | 4919.18 | 5.30 | | | | 280.83 | | 1000.00 | + | 97 | 2019-04-08 | 50.00 | | 45.08 | 4874.43 | 5.25 | | | | 275.58 | | 1000.00 | + | 98 | 2019-04-09 | 50.00 | | 45.03 | 4829.64 | 5.20 | | | | 270.38 | | 1000.00 | + | 99 | 2019-04-10 | 50.00 | | 44.99 | 4784.79 | 5.16 | | | | 265.22 | | 1000.00 | + | 100 | 2019-04-11 | 50.00 | | 44.94 | 4739.90 | 5.11 | | | | 260.11 | | 1000.00 | + | 101 | 2019-04-12 | 50.00 | | 44.89 | 4694.96 | 5.06 | | | | 255.05 | | 1000.00 | + | 102 | 2019-04-13 | 50.00 | | 44.84 | 4649.98 | 5.01 | | | | 250.04 | | 1000.00 | + | 103 | 2019-04-14 | 50.00 | | 44.80 | 4604.94 | 4.97 | | | | 245.07 | | 1000.00 | + | 104 | 2019-04-15 | 50.00 | | 44.75 | 4559.86 | 4.92 | | | | 240.15 | | 1000.00 | + | 105 | 2019-04-16 | 50.00 | | 44.70 | 4514.73 | 4.87 | | | | 235.28 | | 1000.00 | + | 106 | 2019-04-17 | 50.00 | | 44.65 | 4469.55 | 4.82 | | | | 230.46 | | 1000.00 | + | 107 | 2019-04-18 | 50.00 | | 44.60 | 4424.32 | 4.77 | | | | 225.69 | | 1000.00 | + | 108 | 2019-04-19 | 50.00 | | 44.56 | 4379.05 | 4.72 | | | | 220.97 | | 1000.00 | + | 109 | 2019-04-20 | 50.00 | | 44.51 | 4333.72 | 4.68 | | | | 216.29 | | 1000.00 | + | 110 | 2019-04-21 | 50.00 | | 44.46 | 4288.35 | 4.63 | | | | 211.66 | | 1000.00 | + | 111 | 2019-04-22 | 50.00 | | 44.41 | 4242.93 | 4.58 | | | | 207.08 | | 1000.00 | + | 112 | 2019-04-23 | 50.00 | | 44.37 | 4197.46 | 4.53 | | | | 202.55 | | 1000.00 | + | 113 | 2019-04-24 | 50.00 | | 44.32 | 4151.94 | 4.48 | | | | 198.07 | | 1000.00 | + | 114 | 2019-04-25 | 50.00 | | 44.27 | 4106.38 | 4.43 | | | | 193.64 | | 1000.00 | + | 115 | 2019-04-26 | 50.00 | | 44.22 | 4060.76 | 4.38 | | | | 189.26 | | 1000.00 | + | 116 | 2019-04-27 | 50.00 | | 44.18 | 4015.10 | 4.34 | | | | 184.92 | | 1000.00 | + | 117 | 2019-04-28 | 50.00 | | 44.13 | 3969.38 | 4.29 | | | | 180.63 | | 1000.00 | + | 118 | 2019-04-29 | 50.00 | | 44.08 | 3923.62 | 4.24 | | | | 176.39 | | 1000.00 | + | 119 | 2019-04-30 | 50.00 | | 44.04 | 3877.81 | 4.19 | | | | 172.20 | | 1000.00 | + | 120 | 2019-05-01 | 50.00 | | 43.99 | 3831.95 | 4.14 | | | | 168.06 | | 1000.00 | + | 121 | 2019-05-02 | 50.00 | | 43.94 | 3786.04 | 4.09 | | | | 163.97 | | 1000.00 | + | 122 | 2019-05-03 | 50.00 | | 43.90 | 3740.09 | 4.04 | | | | 159.93 | | 1000.00 | + | 123 | 2019-05-04 | 50.00 | | 43.85 | 3694.08 | 3.99 | | | | 155.94 | | 1000.00 | + | 124 | 2019-05-05 | 50.00 | | 43.80 | 3648.03 | 3.94 | | | | 152.00 | | 1000.00 | + | 125 | 2019-05-06 | 50.00 | | 43.76 | 3601.92 | 3.90 | | | | 148.10 | | 1000.00 | + | 126 | 2019-05-07 | 50.00 | | 43.71 | 3555.77 | 3.85 | | | | 144.25 | | 1000.00 | + | 127 | 2019-05-08 | 50.00 | | 43.66 | 3509.56 | 3.80 | | | | 140.45 | | 1000.00 | + | 128 | 2019-05-09 | 50.00 | | 43.62 | 3463.31 | 3.75 | | | | 136.70 | | 1000.00 | + | 129 | 2019-05-10 | 50.00 | | 43.57 | 3417.01 | 3.70 | | | | 133.00 | | 1000.00 | + | 130 | 2019-05-11 | 50.00 | | 43.52 | 3370.66 | 3.65 | | | | 129.35 | | 1000.00 | + | 131 | 2019-05-12 | 50.00 | | 43.48 | 3324.26 | 3.60 | | | | 125.75 | | 1000.00 | + | 132 | 2019-05-13 | 50.00 | | 43.43 | 3277.81 | 3.55 | | | | 122.20 | | 1000.00 | + | 133 | 2019-05-14 | 50.00 | | 43.38 | 3231.31 | 3.50 | | | | 118.70 | | 1000.00 | + | 134 | 2019-05-15 | 50.00 | | 43.34 | 3184.76 | 3.45 | | | | 115.25 | | 1000.00 | + | 135 | 2019-05-16 | 50.00 | | 43.29 | 3138.16 | 3.40 | | | | 111.85 | | 1000.00 | + | 136 | 2019-05-17 | 50.00 | | 43.24 | 3091.51 | 3.35 | | | | 108.50 | | 1000.00 | + | 137 | 2019-05-18 | 50.00 | | 43.20 | 3044.81 | 3.30 | | | | 105.20 | | 1000.00 | + | 138 | 2019-05-19 | 50.00 | | 43.15 | 2998.06 | 3.25 | | | | 101.95 | | 1000.00 | + | 139 | 2019-05-20 | 50.00 | | 43.11 | 2951.26 | 3.20 | | | | 98.75 | | 1000.00 | + | 140 | 2019-05-21 | 50.00 | | 43.06 | 2904.42 | 3.15 | | | | 95.60 | | 1000.00 | + | 141 | 2019-05-22 | 50.00 | | 43.01 | 2857.52 | 3.10 | | | | 92.50 | | 1000.00 | + | 142 | 2019-05-23 | 50.00 | | 42.97 | 2810.57 | 3.05 | | | | 89.45 | | 1000.00 | + | 143 | 2019-05-24 | 50.00 | | 42.92 | 2763.57 | 3.00 | | | | 86.45 | | 1000.00 | + | 144 | 2019-05-25 | 50.00 | | 42.88 | 2716.52 | 2.95 | | | | 83.50 | | 1000.00 | + | 145 | 2019-05-26 | 50.00 | | 42.83 | 2669.42 | 2.90 | | | | 80.60 | | 1000.00 | + | 146 | 2019-05-27 | 50.00 | | 42.79 | 2622.27 | 2.85 | | | | 77.75 | | 1000.00 | + | 147 | 2019-05-28 | 50.00 | | 42.74 | 2575.07 | 2.80 | | | | 74.95 | | 1000.00 | + | 148 | 2019-05-29 | 50.00 | | 42.69 | 2527.82 | 2.75 | | | | 72.20 | | 1000.00 | + | 149 | 2019-05-30 | 50.00 | | 42.65 | 2480.52 | 2.70 | | | | 69.50 | | 1000.00 | + | 150 | 2019-05-31 | 50.00 | | 42.60 | 2433.17 | 2.65 | | | | 66.85 | | 1000.00 | + | 151 | 2019-06-01 | 50.00 | | 42.56 | 2385.77 | 2.60 | | | | 64.25 | | 1000.00 | + | 152 | 2019-06-02 | 50.00 | | 42.51 | 2338.31 | 2.55 | | | | 61.70 | | 1000.00 | + | 153 | 2019-06-03 | 50.00 | | 42.47 | 2290.81 | 2.50 | | | | 59.20 | | 1000.00 | + | 154 | 2019-06-04 | 50.00 | | 42.42 | 2243.26 | 2.45 | | | | 56.75 | | 1000.00 | + | 155 | 2019-06-05 | 50.00 | | 42.38 | 2195.65 | 2.40 | | | | 54.35 | | 1000.00 | + | 156 | 2019-06-06 | 50.00 | | 42.33 | 2148.00 | 2.34 | | | | 52.01 | | 1000.00 | + | 157 | 2019-06-07 | 50.00 | | 42.29 | 2100.29 | 2.29 | | | | 49.72 | | 1000.00 | + | 158 | 2019-06-08 | 50.00 | | 42.24 | 2052.53 | 2.24 | | | | 47.48 | | 1000.00 | + | 159 | 2019-06-09 | 50.00 | | 42.20 | 2004.73 | 2.19 | | | | 45.29 | | 1000.00 | + | 160 | 2019-06-10 | 50.00 | | 42.15 | 1956.87 | 2.14 | | | | 43.15 | | 1000.00 | + | 161 | 2019-06-11 | 50.00 | | 42.11 | 1908.96 | 2.09 | | | | 41.06 | | 1000.00 | + | 162 | 2019-06-12 | 50.00 | | 42.06 | 1860.99 | 2.04 | | | | 39.02 | | 1000.00 | + | 163 | 2019-06-13 | 50.00 | | 42.02 | 1812.98 | 1.99 | | | | 37.03 | | 1000.00 | + | 164 | 2019-06-14 | 50.00 | | 41.97 | 1764.92 | 1.94 | | | | 35.09 | | 1000.00 | + | 165 | 2019-06-15 | 50.00 | | 41.93 | 1716.80 | 1.88 | | | | 33.21 | | 1000.00 | + | 166 | 2019-06-16 | 50.00 | | 41.88 | 1668.64 | 1.83 | | | | 31.38 | | 1000.00 | + | 167 | 2019-06-17 | 50.00 | | 41.84 | 1620.42 | 1.78 | | | | 29.60 | | 1000.00 | + | 168 | 2019-06-18 | 50.00 | | 41.79 | 1572.15 | 1.73 | | | | 27.87 | | 1000.00 | + | 169 | 2019-06-19 | 50.00 | | 41.75 | 1523.83 | 1.68 | | | | 26.19 | | 1000.00 | + | 170 | 2019-06-20 | 50.00 | | 41.70 | 1475.45 | 1.63 | | | | 24.56 | | 1000.00 | + | 171 | 2019-06-21 | 50.00 | | 41.66 | 1427.03 | 1.58 | | | | 22.98 | | 1000.00 | + | 172 | 2019-06-22 | 50.00 | | 41.61 | 1378.55 | 1.52 | | | | 21.46 | | 1000.00 | + | 173 | 2019-06-23 | 50.00 | | 41.57 | 1330.02 | 1.47 | | | | 19.99 | | 1000.00 | + | 174 | 2019-06-24 | 50.00 | | 41.53 | 1281.45 | 1.42 | | | | 18.57 | | 1000.00 | + | 175 | 2019-06-25 | 50.00 | | 41.48 | 1232.81 | 1.37 | | | | 17.20 | | 1000.00 | + | 176 | 2019-06-26 | 50.00 | | 41.44 | 1184.13 | 1.32 | | | | 15.88 | | 1000.00 | + | 177 | 2019-06-27 | 50.00 | | 41.39 | 1135.39 | 1.26 | | | | 14.62 | | 1000.00 | + | 178 | 2019-06-28 | 50.00 | | 41.35 | 1086.61 | 1.21 | | | | 13.41 | | 1000.00 | + | 179 | 2019-06-29 | 50.00 | | 41.31 | 1037.77 | 1.16 | | | | 12.25 | | 1000.00 | + | 180 | 2019-06-30 | 50.00 | | 41.26 | 988.88 | 1.11 | | | | 11.14 | | 1000.00 | + | 181 | 2019-07-01 | 50.00 | | 41.22 | 939.93 | 1.06 | | | | 10.08 | | 1000.00 | + | 182 | 2019-07-02 | 50.00 | | 41.17 | 890.93 | 1.00 | | | | 9.08 | | 1000.00 | + | 183 | 2019-07-03 | 50.00 | | 41.13 | 841.89 | 0.95 | | | | 8.13 | | 1000.00 | + | 184 | 2019-07-04 | 50.00 | | 41.09 | 792.79 | 0.90 | | | | 7.23 | | 1000.00 | + | 185 | 2019-07-05 | 50.00 | | 41.04 | 743.63 | 0.85 | | | | 6.38 | | 1000.00 | + | 186 | 2019-07-06 | 50.00 | | 41.00 | 694.43 | 0.79 | | | | 5.59 | | 1000.00 | + | 187 | 2019-07-07 | 50.00 | | 40.95 | 645.17 | 0.74 | | | | 4.85 | | 1000.00 | + | 188 | 2019-07-08 | 50.00 | | 40.91 | 595.86 | 0.69 | | | | 4.16 | | 1000.00 | + | 189 | 2019-07-09 | 50.00 | | 40.87 | 546.49 | 0.64 | | | | 3.52 | | 1000.00 | + | 190 | 2019-07-10 | 50.00 | | 40.82 | 497.08 | 0.58 | | | | 2.94 | | 1000.00 | + | 191 | 2019-07-11 | 50.00 | | 40.78 | 447.61 | 0.53 | | | | 2.41 | | 1000.00 | + | 192 | 2019-07-12 | 50.00 | | 40.74 | 398.08 | 0.48 | | | | 1.93 | | 1000.00 | + | 193 | 2019-07-13 | 50.00 | | 40.69 | 348.51 | 0.43 | | | | 1.50 | | 1000.00 | + | 194 | 2019-07-14 | 50.00 | | 40.65 | 298.88 | 0.37 | | | | 1.13 | | 1000.00 | + | 195 | 2019-07-15 | 50.00 | | 40.61 | 249.20 | 0.32 | | | | 0.81 | | 1000.00 | + | 196 | 2019-07-16 | 50.00 | | 40.56 | 199.47 | 0.27 | | | | 0.54 | | 1000.00 | + | 197 | 2019-07-17 | 50.00 | | 40.52 | 149.68 | 0.21 | | | | 0.33 | | 1000.00 | + | 198 | 2019-07-18 | 50.00 | | 40.48 | 99.84 | 0.16 | | | | 0.17 | | 1000.00 | + | 199 | 2019-07-19 | 50.00 | | 40.43 | 49.95 | 0.11 | | | | 0.06 | | 1000.00 | + | 200 | 2019-07-20 | 50.00 | | 40.39 | 0.00 | 0.05 | | | | 0.01 | | 1000.00 | @TestRailId:C78826 Scenario: Generate and retrieve a projected amortization schedule with 200 payments with update period payment rate in a middle of loan lifecycle - UC2 @@ -228,214 +228,214 @@ Feature: WorkingCapitalAmortizationSchedule Then Admin successfully disburse the Working Capital loan on "01 January 2026" with "100" EUR transaction amount Then Working Capital loan status will be "ACTIVE" - When Admin generates a projected amortization schedule with discountFeeAmount 1000.0, netDisbursementAmount 9000.0, totalPaymentValue 1000.0, periodPaymentRate 18, npvDayCount 360, expectedDisbursementDate "2019-01-01" + When Admin generates a projected amortization schedule with discountFeeAmount 1000.0, netDisbursementAmount 9000.0, totalPaymentValue 100000.0, periodPaymentRate 18, npvDayCount 360, expectedDisbursementDate "2019-01-01" And Admin retrieves the projected amortization schedule Then The retrieved amortization schedule has the following summary fields: | discountFeeAmount | netDisbursementAmount | totalPaymentValue | periodPaymentRate | npvDayCount | expectedPaymentAmount | originalPaymentNumber | - | 1000.00 | 9000.00 | 1000.00 | 18 | 360 | 50.00 | 200 | + | 1000.00 | 9000.00 | 100000.00 | 18 | 360 | 50.00 | 200 | And The retrieved amortization schedule has payments with the following details: - | paymentNo | date | expectedPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualPaymentAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 2019-01-01 | -9000.00 | 1 | -9000.00 | 9000.00 | | | | | 1000.00 | - | 1 | 2019-01-02 | 50.00 | | 49.95 | 8959.61 | 9.61 | | | | 1000.00 | - | 2 | 2019-01-03 | 50.00 | | 49.89 | 8919.18 | 9.57 | | | | 1000.00 | - | 3 | 2019-01-04 | 50.00 | | 49.84 | 8878.70 | 9.52 | | | | 1000.00 | - | 4 | 2019-01-05 | 50.00 | | 49.79 | 8838.18 | 9.48 | | | | 1000.00 | - | 5 | 2019-01-06 | 50.00 | | 49.73 | 8797.62 | 9.44 | | | | 1000.00 | - | 6 | 2019-01-07 | 50.00 | | 49.68 | 8757.01 | 9.39 | | | | 1000.00 | - | 7 | 2019-01-08 | 50.00 | | 49.63 | 8716.36 | 9.35 | | | | 1000.00 | - | 8 | 2019-01-09 | 50.00 | | 49.57 | 8675.67 | 9.31 | | | | 1000.00 | - | 9 | 2019-01-10 | 50.00 | | 49.52 | 8634.94 | 9.26 | | | | 1000.00 | - | 10 | 2019-01-11 | 50.00 | | 49.47 | 8594.16 | 9.22 | | | | 1000.00 | - | 11 | 2019-01-12 | 50.00 | | 49.42 | 8553.33 | 9.18 | | | | 1000.00 | - | 12 | 2019-01-13 | 50.00 | | 49.36 | 8512.47 | 9.13 | | | | 1000.00 | - | 13 | 2019-01-14 | 50.00 | | 49.31 | 8471.56 | 9.09 | | | | 1000.00 | - | 14 | 2019-01-15 | 50.00 | | 49.26 | 8430.60 | 9.05 | | | | 1000.00 | - | 15 | 2019-01-16 | 50.00 | | 49.21 | 8389.61 | 9.00 | | | | 1000.00 | - | 16 | 2019-01-17 | 50.00 | | 49.15 | 8348.56 | 8.96 | | | | 1000.00 | - | 17 | 2019-01-18 | 50.00 | | 49.10 | 8307.48 | 8.91 | | | | 1000.00 | - | 18 | 2019-01-19 | 50.00 | | 49.05 | 8266.35 | 8.87 | | | | 1000.00 | - | 19 | 2019-01-20 | 50.00 | | 49.00 | 8225.18 | 8.83 | | | | 1000.00 | - | 20 | 2019-01-21 | 50.00 | | 48.94 | 8183.96 | 8.78 | | | | 1000.00 | - | 21 | 2019-01-22 | 50.00 | | 48.89 | 8142.70 | 8.74 | | | | 1000.00 | - | 22 | 2019-01-23 | 50.00 | | 48.84 | 8101.39 | 8.69 | | | | 1000.00 | - | 23 | 2019-01-24 | 50.00 | | 48.79 | 8060.04 | 8.65 | | | | 1000.00 | - | 24 | 2019-01-25 | 50.00 | | 48.74 | 8018.65 | 8.61 | | | | 1000.00 | - | 25 | 2019-01-26 | 50.00 | | 48.68 | 7977.21 | 8.56 | | | | 1000.00 | - | 26 | 2019-01-27 | 50.00 | | 48.63 | 7935.73 | 8.52 | | | | 1000.00 | - | 27 | 2019-01-28 | 50.00 | | 48.58 | 7894.21 | 8.47 | | | | 1000.00 | - | 28 | 2019-01-29 | 50.00 | | 48.53 | 7852.63 | 8.43 | | | | 1000.00 | - | 29 | 2019-01-30 | 50.00 | | 48.48 | 7811.02 | 8.39 | | | | 1000.00 | - | 30 | 2019-01-31 | 50.00 | | 48.42 | 7769.36 | 8.34 | | | | 1000.00 | - | 31 | 2019-02-01 | 50.00 | | 48.37 | 7727.66 | 8.30 | | | | 1000.00 | - | 32 | 2019-02-02 | 50.00 | | 48.32 | 7685.91 | 8.25 | | | | 1000.00 | - | 33 | 2019-02-03 | 50.00 | | 48.27 | 7644.12 | 8.21 | | | | 1000.00 | - | 34 | 2019-02-04 | 50.00 | | 48.22 | 7602.28 | 8.16 | | | | 1000.00 | - | 35 | 2019-02-05 | 50.00 | | 48.17 | 7560.40 | 8.12 | | | | 1000.00 | - | 36 | 2019-02-06 | 50.00 | | 48.12 | 7518.47 | 8.07 | | | | 1000.00 | - | 37 | 2019-02-07 | 50.00 | | 48.06 | 7476.50 | 8.03 | | | | 1000.00 | - | 38 | 2019-02-08 | 50.00 | | 48.01 | 7434.48 | 7.98 | | | | 1000.00 | - | 39 | 2019-02-09 | 50.00 | | 47.96 | 7392.42 | 7.94 | | | | 1000.00 | - | 40 | 2019-02-10 | 50.00 | | 47.91 | 7350.31 | 7.89 | | | | 1000.00 | - | 41 | 2019-02-11 | 50.00 | | 47.86 | 7308.16 | 7.85 | | | | 1000.00 | - | 42 | 2019-02-12 | 50.00 | | 47.81 | 7265.97 | 7.80 | | | | 1000.00 | - | 43 | 2019-02-13 | 50.00 | | 47.76 | 7223.72 | 7.76 | | | | 1000.00 | - | 44 | 2019-02-14 | 50.00 | | 47.71 | 7181.44 | 7.71 | | | | 1000.00 | - | 45 | 2019-02-15 | 50.00 | | 47.66 | 7139.11 | 7.67 | | | | 1000.00 | - | 46 | 2019-02-16 | 50.00 | | 47.60 | 7096.73 | 7.62 | | | | 1000.00 | - | 47 | 2019-02-17 | 50.00 | | 47.55 | 7054.31 | 7.58 | | | | 1000.00 | - | 48 | 2019-02-18 | 50.00 | | 47.50 | 7011.84 | 7.53 | | | | 1000.00 | - | 49 | 2019-02-19 | 50.00 | | 47.45 | 6969.33 | 7.49 | | | | 1000.00 | - | 50 | 2019-02-20 | 50.00 | | 47.40 | 6926.77 | 7.44 | | | | 1000.00 | - | 51 | 2019-02-21 | 50.00 | | 47.35 | 6884.17 | 7.40 | | | | 1000.00 | - | 52 | 2019-02-22 | 50.00 | | 47.30 | 6841.52 | 7.35 | | | | 1000.00 | - | 53 | 2019-02-23 | 50.00 | | 47.25 | 6798.82 | 7.31 | | | | 1000.00 | - | 54 | 2019-02-24 | 50.00 | | 47.20 | 6756.08 | 7.26 | | | | 1000.00 | - | 55 | 2019-02-25 | 50.00 | | 47.15 | 6713.30 | 7.21 | | | | 1000.00 | - | 56 | 2019-02-26 | 50.00 | | 47.10 | 6670.47 | 7.17 | | | | 1000.00 | - | 57 | 2019-02-27 | 50.00 | | 47.05 | 6627.59 | 7.12 | | | | 1000.00 | - | 58 | 2019-02-28 | 50.00 | | 47.00 | 6584.67 | 7.08 | | | | 1000.00 | - | 59 | 2019-03-01 | 50.00 | | 46.95 | 6541.70 | 7.03 | | | | 1000.00 | - | 60 | 2019-03-02 | 50.00 | | 46.90 | 6498.68 | 6.99 | | | | 1000.00 | - | 61 | 2019-03-03 | 50.00 | | 46.85 | 6455.62 | 6.94 | | | | 1000.00 | - | 62 | 2019-03-04 | 50.00 | | 46.80 | 6412.51 | 6.89 | | | | 1000.00 | - | 63 | 2019-03-05 | 50.00 | | 46.75 | 6369.36 | 6.85 | | | | 1000.00 | - | 64 | 2019-03-06 | 50.00 | | 46.70 | 6326.16 | 6.80 | | | | 1000.00 | - | 65 | 2019-03-07 | 50.00 | | 46.65 | 6282.92 | 6.76 | | | | 1000.00 | - | 66 | 2019-03-08 | 50.00 | | 46.60 | 6239.63 | 6.71 | | | | 1000.00 | - | 67 | 2019-03-09 | 50.00 | | 46.55 | 6196.29 | 6.66 | | | | 1000.00 | - | 68 | 2019-03-10 | 50.00 | | 46.50 | 6152.91 | 6.62 | | | | 1000.00 | - | 69 | 2019-03-11 | 50.00 | | 46.45 | 6109.48 | 6.57 | | | | 1000.00 | - | 70 | 2019-03-12 | 50.00 | | 46.40 | 6066.00 | 6.52 | | | | 1000.00 | - | 71 | 2019-03-13 | 50.00 | | 46.35 | 6022.48 | 6.48 | | | | 1000.00 | - | 72 | 2019-03-14 | 50.00 | | 46.30 | 5978.91 | 6.43 | | | | 1000.00 | - | 73 | 2019-03-15 | 50.00 | | 46.25 | 5935.29 | 6.38 | | | | 1000.00 | - | 74 | 2019-03-16 | 50.00 | | 46.20 | 5891.63 | 6.34 | | | | 1000.00 | - | 75 | 2019-03-17 | 50.00 | | 46.15 | 5847.92 | 6.29 | | | | 1000.00 | - | 76 | 2019-03-18 | 50.00 | | 46.10 | 5804.17 | 6.24 | | | | 1000.00 | - | 77 | 2019-03-19 | 50.00 | | 46.06 | 5760.36 | 6.20 | | | | 1000.00 | - | 78 | 2019-03-20 | 50.00 | | 46.01 | 5716.52 | 6.15 | | | | 1000.00 | - | 79 | 2019-03-21 | 50.00 | | 45.96 | 5672.62 | 6.10 | | | | 1000.00 | - | 80 | 2019-03-22 | 50.00 | | 45.91 | 5628.68 | 6.06 | | | | 1000.00 | - | 81 | 2019-03-23 | 50.00 | | 45.86 | 5584.69 | 6.01 | | | | 1000.00 | - | 82 | 2019-03-24 | 50.00 | | 45.81 | 5540.65 | 5.96 | | | | 1000.00 | - | 83 | 2019-03-25 | 50.00 | | 45.76 | 5496.57 | 5.92 | | | | 1000.00 | - | 84 | 2019-03-26 | 50.00 | | 45.71 | 5452.44 | 5.87 | | | | 1000.00 | - | 85 | 2019-03-27 | 50.00 | | 45.66 | 5408.26 | 5.82 | | | | 1000.00 | - | 86 | 2019-03-28 | 50.00 | | 45.62 | 5364.03 | 5.78 | | | | 1000.00 | - | 87 | 2019-03-29 | 50.00 | | 45.57 | 5319.76 | 5.73 | | | | 1000.00 | - | 88 | 2019-03-30 | 50.00 | | 45.52 | 5275.44 | 5.68 | | | | 1000.00 | - | 89 | 2019-03-31 | 50.00 | | 45.47 | 5231.08 | 5.63 | | | | 1000.00 | - | 90 | 2019-04-01 | 50.00 | | 45.42 | 5186.66 | 5.59 | | | | 1000.00 | - | 91 | 2019-04-02 | 50.00 | | 45.37 | 5142.20 | 5.54 | | | | 1000.00 | - | 92 | 2019-04-03 | 50.00 | | 45.32 | 5097.69 | 5.49 | | | | 1000.00 | - | 93 | 2019-04-04 | 50.00 | | 45.28 | 5053.13 | 5.44 | | | | 1000.00 | - | 94 | 2019-04-05 | 50.00 | | 45.23 | 5008.53 | 5.40 | | | | 1000.00 | - | 95 | 2019-04-06 | 50.00 | | 45.18 | 4963.88 | 5.35 | | | | 1000.00 | - | 96 | 2019-04-07 | 50.00 | | 45.13 | 4919.18 | 5.30 | | | | 1000.00 | - | 97 | 2019-04-08 | 50.00 | | 45.08 | 4874.43 | 5.25 | | | | 1000.00 | - | 98 | 2019-04-09 | 50.00 | | 45.03 | 4829.64 | 5.20 | | | | 1000.00 | - | 99 | 2019-04-10 | 50.00 | | 44.99 | 4784.79 | 5.16 | | | | 1000.00 | - | 100 | 2019-04-11 | 50.00 | | 44.94 | 4739.90 | 5.11 | | | | 1000.00 | - | 101 | 2019-04-12 | 50.00 | | 44.89 | 4694.96 | 5.06 | | | | 1000.00 | - | 102 | 2019-04-13 | 50.00 | | 44.84 | 4649.98 | 5.01 | | | | 1000.00 | - | 103 | 2019-04-14 | 50.00 | | 44.80 | 4604.94 | 4.97 | | | | 1000.00 | - | 104 | 2019-04-15 | 50.00 | | 44.75 | 4559.86 | 4.92 | | | | 1000.00 | - | 105 | 2019-04-16 | 50.00 | | 44.70 | 4514.73 | 4.87 | | | | 1000.00 | - | 106 | 2019-04-17 | 50.00 | | 44.65 | 4469.55 | 4.82 | | | | 1000.00 | - | 107 | 2019-04-18 | 50.00 | | 44.60 | 4424.32 | 4.77 | | | | 1000.00 | - | 108 | 2019-04-19 | 50.00 | | 44.56 | 4379.05 | 4.72 | | | | 1000.00 | - | 109 | 2019-04-20 | 50.00 | | 44.51 | 4333.72 | 4.68 | | | | 1000.00 | - | 110 | 2019-04-21 | 50.00 | | 44.46 | 4288.35 | 4.63 | | | | 1000.00 | - | 111 | 2019-04-22 | 50.00 | | 44.41 | 4242.93 | 4.58 | | | | 1000.00 | - | 112 | 2019-04-23 | 50.00 | | 44.37 | 4197.46 | 4.53 | | | | 1000.00 | - | 113 | 2019-04-24 | 50.00 | | 44.32 | 4151.94 | 4.48 | | | | 1000.00 | - | 114 | 2019-04-25 | 50.00 | | 44.27 | 4106.38 | 4.43 | | | | 1000.00 | - | 115 | 2019-04-26 | 50.00 | | 44.22 | 4060.76 | 4.38 | | | | 1000.00 | - | 116 | 2019-04-27 | 50.00 | | 44.18 | 4015.10 | 4.34 | | | | 1000.00 | - | 117 | 2019-04-28 | 50.00 | | 44.13 | 3969.38 | 4.29 | | | | 1000.00 | - | 118 | 2019-04-29 | 50.00 | | 44.08 | 3923.62 | 4.24 | | | | 1000.00 | - | 119 | 2019-04-30 | 50.00 | | 44.04 | 3877.81 | 4.19 | | | | 1000.00 | - | 120 | 2019-05-01 | 50.00 | | 43.99 | 3831.95 | 4.14 | | | | 1000.00 | - | 121 | 2019-05-02 | 50.00 | | 43.94 | 3786.04 | 4.09 | | | | 1000.00 | - | 122 | 2019-05-03 | 50.00 | | 43.90 | 3740.09 | 4.04 | | | | 1000.00 | - | 123 | 2019-05-04 | 50.00 | | 43.85 | 3694.08 | 3.99 | | | | 1000.00 | - | 124 | 2019-05-05 | 50.00 | | 43.80 | 3648.03 | 3.94 | | | | 1000.00 | - | 125 | 2019-05-06 | 50.00 | | 43.76 | 3601.92 | 3.90 | | | | 1000.00 | - | 126 | 2019-05-07 | 50.00 | | 43.71 | 3555.77 | 3.85 | | | | 1000.00 | - | 127 | 2019-05-08 | 50.00 | | 43.66 | 3509.56 | 3.80 | | | | 1000.00 | - | 128 | 2019-05-09 | 50.00 | | 43.62 | 3463.31 | 3.75 | | | | 1000.00 | - | 129 | 2019-05-10 | 50.00 | | 43.57 | 3417.01 | 3.70 | | | | 1000.00 | - | 130 | 2019-05-11 | 50.00 | | 43.52 | 3370.66 | 3.65 | | | | 1000.00 | - | 131 | 2019-05-12 | 50.00 | | 43.48 | 3324.26 | 3.60 | | | | 1000.00 | - | 132 | 2019-05-13 | 50.00 | | 43.43 | 3277.81 | 3.55 | | | | 1000.00 | - | 133 | 2019-05-14 | 50.00 | | 43.38 | 3231.31 | 3.50 | | | | 1000.00 | - | 134 | 2019-05-15 | 50.00 | | 43.34 | 3184.76 | 3.45 | | | | 1000.00 | - | 135 | 2019-05-16 | 50.00 | | 43.29 | 3138.16 | 3.40 | | | | 1000.00 | - | 136 | 2019-05-17 | 50.00 | | 43.24 | 3091.51 | 3.35 | | | | 1000.00 | - | 137 | 2019-05-18 | 50.00 | | 43.20 | 3044.81 | 3.30 | | | | 1000.00 | - | 138 | 2019-05-19 | 50.00 | | 43.15 | 2998.06 | 3.25 | | | | 1000.00 | - | 139 | 2019-05-20 | 50.00 | | 43.11 | 2951.26 | 3.20 | | | | 1000.00 | - | 140 | 2019-05-21 | 50.00 | | 43.06 | 2904.42 | 3.15 | | | | 1000.00 | - | 141 | 2019-05-22 | 50.00 | | 43.01 | 2857.52 | 3.10 | | | | 1000.00 | - | 142 | 2019-05-23 | 50.00 | | 42.97 | 2810.57 | 3.05 | | | | 1000.00 | - | 143 | 2019-05-24 | 50.00 | | 42.92 | 2763.57 | 3.00 | | | | 1000.00 | - | 144 | 2019-05-25 | 50.00 | | 42.88 | 2716.52 | 2.95 | | | | 1000.00 | - | 145 | 2019-05-26 | 50.00 | | 42.83 | 2669.42 | 2.90 | | | | 1000.00 | - | 146 | 2019-05-27 | 50.00 | | 42.79 | 2622.27 | 2.85 | | | | 1000.00 | - | 147 | 2019-05-28 | 50.00 | | 42.74 | 2575.07 | 2.80 | | | | 1000.00 | - | 148 | 2019-05-29 | 50.00 | | 42.69 | 2527.82 | 2.75 | | | | 1000.00 | - | 149 | 2019-05-30 | 50.00 | | 42.65 | 2480.52 | 2.70 | | | | 1000.00 | - | 150 | 2019-05-31 | 50.00 | | 42.60 | 2433.17 | 2.65 | | | | 1000.00 | - | 151 | 2019-06-01 | 50.00 | | 42.56 | 2385.77 | 2.60 | | | | 1000.00 | - | 152 | 2019-06-02 | 50.00 | | 42.51 | 2338.31 | 2.55 | | | | 1000.00 | - | 153 | 2019-06-03 | 50.00 | | 42.47 | 2290.81 | 2.50 | | | | 1000.00 | - | 154 | 2019-06-04 | 50.00 | | 42.42 | 2243.26 | 2.45 | | | | 1000.00 | - | 155 | 2019-06-05 | 50.00 | | 42.38 | 2195.65 | 2.40 | | | | 1000.00 | - | 156 | 2019-06-06 | 50.00 | | 42.33 | 2148.00 | 2.34 | | | | 1000.00 | - | 157 | 2019-06-07 | 50.00 | | 42.29 | 2100.29 | 2.29 | | | | 1000.00 | - | 158 | 2019-06-08 | 50.00 | | 42.24 | 2052.53 | 2.24 | | | | 1000.00 | - | 159 | 2019-06-09 | 50.00 | | 42.20 | 2004.73 | 2.19 | | | | 1000.00 | - | 160 | 2019-06-10 | 50.00 | | 42.15 | 1956.87 | 2.14 | | | | 1000.00 | - | 161 | 2019-06-11 | 50.00 | | 42.11 | 1908.96 | 2.09 | | | | 1000.00 | - | 162 | 2019-06-12 | 50.00 | | 42.06 | 1860.99 | 2.04 | | | | 1000.00 | - | 163 | 2019-06-13 | 50.00 | | 42.02 | 1812.98 | 1.99 | | | | 1000.00 | - | 164 | 2019-06-14 | 50.00 | | 41.97 | 1764.92 | 1.94 | | | | 1000.00 | - | 165 | 2019-06-15 | 50.00 | | 41.93 | 1716.80 | 1.88 | | | | 1000.00 | - | 166 | 2019-06-16 | 50.00 | | 41.88 | 1668.64 | 1.83 | | | | 1000.00 | - | 167 | 2019-06-17 | 50.00 | | 41.84 | 1620.42 | 1.78 | | | | 1000.00 | - | 168 | 2019-06-18 | 50.00 | | 41.79 | 1572.15 | 1.73 | | | | 1000.00 | - | 169 | 2019-06-19 | 50.00 | | 41.75 | 1523.83 | 1.68 | | | | 1000.00 | - | 170 | 2019-06-20 | 50.00 | | 41.70 | 1475.45 | 1.63 | | | | 1000.00 | - | 171 | 2019-06-21 | 50.00 | | 41.66 | 1427.03 | 1.58 | | | | 1000.00 | - | 172 | 2019-06-22 | 50.00 | | 41.61 | 1378.55 | 1.52 | | | | 1000.00 | - | 173 | 2019-06-23 | 50.00 | | 41.57 | 1330.02 | 1.47 | | | | 1000.00 | - | 174 | 2019-06-24 | 50.00 | | 41.53 | 1281.45 | 1.42 | | | | 1000.00 | - | 175 | 2019-06-25 | 50.00 | | 41.48 | 1232.81 | 1.37 | | | | 1000.00 | - | 176 | 2019-06-26 | 50.00 | | 41.44 | 1184.13 | 1.32 | | | | 1000.00 | - | 177 | 2019-06-27 | 50.00 | | 41.39 | 1135.39 | 1.26 | | | | 1000.00 | - | 178 | 2019-06-28 | 50.00 | | 41.35 | 1086.61 | 1.21 | | | | 1000.00 | - | 179 | 2019-06-29 | 50.00 | | 41.31 | 1037.77 | 1.16 | | | | 1000.00 | - | 180 | 2019-06-30 | 50.00 | | 41.26 | 988.88 | 1.11 | | | | 1000.00 | - | 181 | 2019-07-01 | 50.00 | | 41.22 | 939.93 | 1.06 | | | | 1000.00 | - | 182 | 2019-07-02 | 50.00 | | 41.17 | 890.93 | 1.00 | | | | 1000.00 | - | 183 | 2019-07-03 | 50.00 | | 41.13 | 841.89 | 0.95 | | | | 1000.00 | - | 184 | 2019-07-04 | 50.00 | | 41.09 | 792.79 | 0.90 | | | | 1000.00 | - | 185 | 2019-07-05 | 50.00 | | 41.04 | 743.63 | 0.85 | | | | 1000.00 | - | 186 | 2019-07-06 | 50.00 | | 41.00 | 694.43 | 0.79 | | | | 1000.00 | - | 187 | 2019-07-07 | 50.00 | | 40.95 | 645.17 | 0.74 | | | | 1000.00 | - | 188 | 2019-07-08 | 50.00 | | 40.91 | 595.86 | 0.69 | | | | 1000.00 | - | 189 | 2019-07-09 | 50.00 | | 40.87 | 546.49 | 0.64 | | | | 1000.00 | - | 190 | 2019-07-10 | 50.00 | | 40.82 | 497.08 | 0.58 | | | | 1000.00 | - | 191 | 2019-07-11 | 50.00 | | 40.78 | 447.61 | 0.53 | | | | 1000.00 | - | 192 | 2019-07-12 | 50.00 | | 40.74 | 398.08 | 0.48 | | | | 1000.00 | - | 193 | 2019-07-13 | 50.00 | | 40.69 | 348.51 | 0.43 | | | | 1000.00 | - | 194 | 2019-07-14 | 50.00 | | 40.65 | 298.88 | 0.37 | | | | 1000.00 | - | 195 | 2019-07-15 | 50.00 | | 40.61 | 249.20 | 0.32 | | | | 1000.00 | - | 196 | 2019-07-16 | 50.00 | | 40.56 | 199.47 | 0.27 | | | | 1000.00 | - | 197 | 2019-07-17 | 50.00 | | 40.52 | 149.68 | 0.21 | | | | 1000.00 | - | 198 | 2019-07-18 | 50.00 | | 40.48 | 99.84 | 0.16 | | | | 1000.00 | - | 199 | 2019-07-19 | 50.00 | | 40.43 | 49.95 | 0.11 | | | | 1000.00 | - | 200 | 2019-07-20 | 50.00 | | 40.39 | 0.00 | 0.05 | | | | 1000.00 | + | paymentNo | date | expectedPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualPaymentAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | actualBalance | actualDiscountFeeBalance | + | 0 | 2019-01-01 | -9000.00 | 1 | -9000.00 | 9000.00 | | | | | 1000.00 | 9000.00 | 1000.00 | + | 1 | 2019-01-02 | 50.00 | | 49.95 | 8959.61 | 9.61 | | | | 990.39 | | 1000.00 | + | 2 | 2019-01-03 | 50.00 | | 49.89 | 8919.18 | 9.57 | | | | 980.82 | | 1000.00 | + | 3 | 2019-01-04 | 50.00 | | 49.84 | 8878.70 | 9.52 | | | | 971.30 | | 1000.00 | + | 4 | 2019-01-05 | 50.00 | | 49.79 | 8838.18 | 9.48 | | | | 961.82 | | 1000.00 | + | 5 | 2019-01-06 | 50.00 | | 49.73 | 8797.62 | 9.44 | | | | 952.38 | | 1000.00 | + | 6 | 2019-01-07 | 50.00 | | 49.68 | 8757.01 | 9.39 | | | | 942.99 | | 1000.00 | + | 7 | 2019-01-08 | 50.00 | | 49.63 | 8716.36 | 9.35 | | | | 933.64 | | 1000.00 | + | 8 | 2019-01-09 | 50.00 | | 49.57 | 8675.67 | 9.31 | | | | 924.33 | | 1000.00 | + | 9 | 2019-01-10 | 50.00 | | 49.52 | 8634.94 | 9.26 | | | | 915.07 | | 1000.00 | + | 10 | 2019-01-11 | 50.00 | | 49.47 | 8594.16 | 9.22 | | | | 905.85 | | 1000.00 | + | 11 | 2019-01-12 | 50.00 | | 49.42 | 8553.33 | 9.18 | | | | 896.67 | | 1000.00 | + | 12 | 2019-01-13 | 50.00 | | 49.36 | 8512.47 | 9.13 | | | | 887.54 | | 1000.00 | + | 13 | 2019-01-14 | 50.00 | | 49.31 | 8471.56 | 9.09 | | | | 878.45 | | 1000.00 | + | 14 | 2019-01-15 | 50.00 | | 49.26 | 8430.60 | 9.05 | | | | 869.40 | | 1000.00 | + | 15 | 2019-01-16 | 50.00 | | 49.21 | 8389.61 | 9.00 | | | | 860.40 | | 1000.00 | + | 16 | 2019-01-17 | 50.00 | | 49.15 | 8348.56 | 8.96 | | | | 851.44 | | 1000.00 | + | 17 | 2019-01-18 | 50.00 | | 49.10 | 8307.48 | 8.91 | | | | 842.53 | | 1000.00 | + | 18 | 2019-01-19 | 50.00 | | 49.05 | 8266.35 | 8.87 | | | | 833.66 | | 1000.00 | + | 19 | 2019-01-20 | 50.00 | | 49.00 | 8225.18 | 8.83 | | | | 824.83 | | 1000.00 | + | 20 | 2019-01-21 | 50.00 | | 48.94 | 8183.96 | 8.78 | | | | 816.05 | | 1000.00 | + | 21 | 2019-01-22 | 50.00 | | 48.89 | 8142.70 | 8.74 | | | | 807.31 | | 1000.00 | + | 22 | 2019-01-23 | 50.00 | | 48.84 | 8101.39 | 8.69 | | | | 798.62 | | 1000.00 | + | 23 | 2019-01-24 | 50.00 | | 48.79 | 8060.04 | 8.65 | | | | 789.97 | | 1000.00 | + | 24 | 2019-01-25 | 50.00 | | 48.74 | 8018.65 | 8.61 | | | | 781.36 | | 1000.00 | + | 25 | 2019-01-26 | 50.00 | | 48.68 | 7977.21 | 8.56 | | | | 772.80 | | 1000.00 | + | 26 | 2019-01-27 | 50.00 | | 48.63 | 7935.73 | 8.52 | | | | 764.28 | | 1000.00 | + | 27 | 2019-01-28 | 50.00 | | 48.58 | 7894.21 | 8.47 | | | | 755.81 | | 1000.00 | + | 28 | 2019-01-29 | 50.00 | | 48.53 | 7852.63 | 8.43 | | | | 747.38 | | 1000.00 | + | 29 | 2019-01-30 | 50.00 | | 48.48 | 7811.02 | 8.39 | | | | 738.99 | | 1000.00 | + | 30 | 2019-01-31 | 50.00 | | 48.42 | 7769.36 | 8.34 | | | | 730.65 | | 1000.00 | + | 31 | 2019-02-01 | 50.00 | | 48.37 | 7727.66 | 8.30 | | | | 722.35 | | 1000.00 | + | 32 | 2019-02-02 | 50.00 | | 48.32 | 7685.91 | 8.25 | | | | 714.10 | | 1000.00 | + | 33 | 2019-02-03 | 50.00 | | 48.27 | 7644.12 | 8.21 | | | | 705.89 | | 1000.00 | + | 34 | 2019-02-04 | 50.00 | | 48.22 | 7602.28 | 8.16 | | | | 697.73 | | 1000.00 | + | 35 | 2019-02-05 | 50.00 | | 48.17 | 7560.40 | 8.12 | | | | 689.61 | | 1000.00 | + | 36 | 2019-02-06 | 50.00 | | 48.12 | 7518.47 | 8.07 | | | | 681.54 | | 1000.00 | + | 37 | 2019-02-07 | 50.00 | | 48.06 | 7476.50 | 8.03 | | | | 673.51 | | 1000.00 | + | 38 | 2019-02-08 | 50.00 | | 48.01 | 7434.48 | 7.98 | | | | 665.53 | | 1000.00 | + | 39 | 2019-02-09 | 50.00 | | 47.96 | 7392.42 | 7.94 | | | | 657.59 | | 1000.00 | + | 40 | 2019-02-10 | 50.00 | | 47.91 | 7350.31 | 7.89 | | | | 649.70 | | 1000.00 | + | 41 | 2019-02-11 | 50.00 | | 47.86 | 7308.16 | 7.85 | | | | 641.85 | | 1000.00 | + | 42 | 2019-02-12 | 50.00 | | 47.81 | 7265.97 | 7.80 | | | | 634.05 | | 1000.00 | + | 43 | 2019-02-13 | 50.00 | | 47.76 | 7223.72 | 7.76 | | | | 626.29 | | 1000.00 | + | 44 | 2019-02-14 | 50.00 | | 47.71 | 7181.44 | 7.71 | | | | 618.58 | | 1000.00 | + | 45 | 2019-02-15 | 50.00 | | 47.66 | 7139.11 | 7.67 | | | | 610.91 | | 1000.00 | + | 46 | 2019-02-16 | 50.00 | | 47.60 | 7096.73 | 7.62 | | | | 603.29 | | 1000.00 | + | 47 | 2019-02-17 | 50.00 | | 47.55 | 7054.31 | 7.58 | | | | 595.71 | | 1000.00 | + | 48 | 2019-02-18 | 50.00 | | 47.50 | 7011.84 | 7.53 | | | | 588.18 | | 1000.00 | + | 49 | 2019-02-19 | 50.00 | | 47.45 | 6969.33 | 7.49 | | | | 580.69 | | 1000.00 | + | 50 | 2019-02-20 | 50.00 | | 47.40 | 6926.77 | 7.44 | | | | 573.25 | | 1000.00 | + | 51 | 2019-02-21 | 50.00 | | 47.35 | 6884.17 | 7.40 | | | | 565.85 | | 1000.00 | + | 52 | 2019-02-22 | 50.00 | | 47.30 | 6841.52 | 7.35 | | | | 558.50 | | 1000.00 | + | 53 | 2019-02-23 | 50.00 | | 47.25 | 6798.82 | 7.31 | | | | 551.19 | | 1000.00 | + | 54 | 2019-02-24 | 50.00 | | 47.20 | 6756.08 | 7.26 | | | | 543.93 | | 1000.00 | + | 55 | 2019-02-25 | 50.00 | | 47.15 | 6713.30 | 7.21 | | | | 536.72 | | 1000.00 | + | 56 | 2019-02-26 | 50.00 | | 47.10 | 6670.47 | 7.17 | | | | 529.55 | | 1000.00 | + | 57 | 2019-02-27 | 50.00 | | 47.05 | 6627.59 | 7.12 | | | | 522.43 | | 1000.00 | + | 58 | 2019-02-28 | 50.00 | | 47.00 | 6584.67 | 7.08 | | | | 515.35 | | 1000.00 | + | 59 | 2019-03-01 | 50.00 | | 46.95 | 6541.70 | 7.03 | | | | 508.32 | | 1000.00 | + | 60 | 2019-03-02 | 50.00 | | 46.90 | 6498.68 | 6.99 | | | | 501.33 | | 1000.00 | + | 61 | 2019-03-03 | 50.00 | | 46.85 | 6455.62 | 6.94 | | | | 494.39 | | 1000.00 | + | 62 | 2019-03-04 | 50.00 | | 46.80 | 6412.51 | 6.89 | | | | 487.50 | | 1000.00 | + | 63 | 2019-03-05 | 50.00 | | 46.75 | 6369.36 | 6.85 | | | | 480.65 | | 1000.00 | + | 64 | 2019-03-06 | 50.00 | | 46.70 | 6326.16 | 6.80 | | | | 473.85 | | 1000.00 | + | 65 | 2019-03-07 | 50.00 | | 46.65 | 6282.92 | 6.76 | | | | 467.09 | | 1000.00 | + | 66 | 2019-03-08 | 50.00 | | 46.60 | 6239.63 | 6.71 | | | | 460.38 | | 1000.00 | + | 67 | 2019-03-09 | 50.00 | | 46.55 | 6196.29 | 6.66 | | | | 453.72 | | 1000.00 | + | 68 | 2019-03-10 | 50.00 | | 46.50 | 6152.91 | 6.62 | | | | 447.10 | | 1000.00 | + | 69 | 2019-03-11 | 50.00 | | 46.45 | 6109.48 | 6.57 | | | | 440.53 | | 1000.00 | + | 70 | 2019-03-12 | 50.00 | | 46.40 | 6066.00 | 6.52 | | | | 434.01 | | 1000.00 | + | 71 | 2019-03-13 | 50.00 | | 46.35 | 6022.48 | 6.48 | | | | 427.53 | | 1000.00 | + | 72 | 2019-03-14 | 50.00 | | 46.30 | 5978.91 | 6.43 | | | | 421.10 | | 1000.00 | + | 73 | 2019-03-15 | 50.00 | | 46.25 | 5935.29 | 6.38 | | | | 414.72 | | 1000.00 | + | 74 | 2019-03-16 | 50.00 | | 46.20 | 5891.63 | 6.34 | | | | 408.38 | | 1000.00 | + | 75 | 2019-03-17 | 50.00 | | 46.15 | 5847.92 | 6.29 | | | | 402.09 | | 1000.00 | + | 76 | 2019-03-18 | 50.00 | | 46.10 | 5804.17 | 6.24 | | | | 395.85 | | 1000.00 | + | 77 | 2019-03-19 | 50.00 | | 46.06 | 5760.36 | 6.20 | | | | 389.65 | | 1000.00 | + | 78 | 2019-03-20 | 50.00 | | 46.01 | 5716.52 | 6.15 | | | | 383.50 | | 1000.00 | + | 79 | 2019-03-21 | 50.00 | | 45.96 | 5672.62 | 6.10 | | | | 377.40 | | 1000.00 | + | 80 | 2019-03-22 | 50.00 | | 45.91 | 5628.68 | 6.06 | | | | 371.34 | | 1000.00 | + | 81 | 2019-03-23 | 50.00 | | 45.86 | 5584.69 | 6.01 | | | | 365.33 | | 1000.00 | + | 82 | 2019-03-24 | 50.00 | | 45.81 | 5540.65 | 5.96 | | | | 359.37 | | 1000.00 | + | 83 | 2019-03-25 | 50.00 | | 45.76 | 5496.57 | 5.92 | | | | 353.45 | | 1000.00 | + | 84 | 2019-03-26 | 50.00 | | 45.71 | 5452.44 | 5.87 | | | | 347.58 | | 1000.00 | + | 85 | 2019-03-27 | 50.00 | | 45.66 | 5408.26 | 5.82 | | | | 341.76 | | 1000.00 | + | 86 | 2019-03-28 | 50.00 | | 45.62 | 5364.03 | 5.78 | | | | 335.98 | | 1000.00 | + | 87 | 2019-03-29 | 50.00 | | 45.57 | 5319.76 | 5.73 | | | | 330.25 | | 1000.00 | + | 88 | 2019-03-30 | 50.00 | | 45.52 | 5275.44 | 5.68 | | | | 324.57 | | 1000.00 | + | 89 | 2019-03-31 | 50.00 | | 45.47 | 5231.08 | 5.63 | | | | 318.94 | | 1000.00 | + | 90 | 2019-04-01 | 50.00 | | 45.42 | 5186.66 | 5.59 | | | | 313.35 | | 1000.00 | + | 91 | 2019-04-02 | 50.00 | | 45.37 | 5142.20 | 5.54 | | | | 307.81 | | 1000.00 | + | 92 | 2019-04-03 | 50.00 | | 45.32 | 5097.69 | 5.49 | | | | 302.32 | | 1000.00 | + | 93 | 2019-04-04 | 50.00 | | 45.28 | 5053.13 | 5.44 | | | | 296.88 | | 1000.00 | + | 94 | 2019-04-05 | 50.00 | | 45.23 | 5008.53 | 5.40 | | | | 291.48 | | 1000.00 | + | 95 | 2019-04-06 | 50.00 | | 45.18 | 4963.88 | 5.35 | | | | 286.13 | | 1000.00 | + | 96 | 2019-04-07 | 50.00 | | 45.13 | 4919.18 | 5.30 | | | | 280.83 | | 1000.00 | + | 97 | 2019-04-08 | 50.00 | | 45.08 | 4874.43 | 5.25 | | | | 275.58 | | 1000.00 | + | 98 | 2019-04-09 | 50.00 | | 45.03 | 4829.64 | 5.20 | | | | 270.38 | | 1000.00 | + | 99 | 2019-04-10 | 50.00 | | 44.99 | 4784.79 | 5.16 | | | | 265.22 | | 1000.00 | + | 100 | 2019-04-11 | 50.00 | | 44.94 | 4739.90 | 5.11 | | | | 260.11 | | 1000.00 | + | 101 | 2019-04-12 | 50.00 | | 44.89 | 4694.96 | 5.06 | | | | 255.05 | | 1000.00 | + | 102 | 2019-04-13 | 50.00 | | 44.84 | 4649.98 | 5.01 | | | | 250.04 | | 1000.00 | + | 103 | 2019-04-14 | 50.00 | | 44.80 | 4604.94 | 4.97 | | | | 245.07 | | 1000.00 | + | 104 | 2019-04-15 | 50.00 | | 44.75 | 4559.86 | 4.92 | | | | 240.15 | | 1000.00 | + | 105 | 2019-04-16 | 50.00 | | 44.70 | 4514.73 | 4.87 | | | | 235.28 | | 1000.00 | + | 106 | 2019-04-17 | 50.00 | | 44.65 | 4469.55 | 4.82 | | | | 230.46 | | 1000.00 | + | 107 | 2019-04-18 | 50.00 | | 44.60 | 4424.32 | 4.77 | | | | 225.69 | | 1000.00 | + | 108 | 2019-04-19 | 50.00 | | 44.56 | 4379.05 | 4.72 | | | | 220.97 | | 1000.00 | + | 109 | 2019-04-20 | 50.00 | | 44.51 | 4333.72 | 4.68 | | | | 216.29 | | 1000.00 | + | 110 | 2019-04-21 | 50.00 | | 44.46 | 4288.35 | 4.63 | | | | 211.66 | | 1000.00 | + | 111 | 2019-04-22 | 50.00 | | 44.41 | 4242.93 | 4.58 | | | | 207.08 | | 1000.00 | + | 112 | 2019-04-23 | 50.00 | | 44.37 | 4197.46 | 4.53 | | | | 202.55 | | 1000.00 | + | 113 | 2019-04-24 | 50.00 | | 44.32 | 4151.94 | 4.48 | | | | 198.07 | | 1000.00 | + | 114 | 2019-04-25 | 50.00 | | 44.27 | 4106.38 | 4.43 | | | | 193.64 | | 1000.00 | + | 115 | 2019-04-26 | 50.00 | | 44.22 | 4060.76 | 4.38 | | | | 189.26 | | 1000.00 | + | 116 | 2019-04-27 | 50.00 | | 44.18 | 4015.10 | 4.34 | | | | 184.92 | | 1000.00 | + | 117 | 2019-04-28 | 50.00 | | 44.13 | 3969.38 | 4.29 | | | | 180.63 | | 1000.00 | + | 118 | 2019-04-29 | 50.00 | | 44.08 | 3923.62 | 4.24 | | | | 176.39 | | 1000.00 | + | 119 | 2019-04-30 | 50.00 | | 44.04 | 3877.81 | 4.19 | | | | 172.20 | | 1000.00 | + | 120 | 2019-05-01 | 50.00 | | 43.99 | 3831.95 | 4.14 | | | | 168.06 | | 1000.00 | + | 121 | 2019-05-02 | 50.00 | | 43.94 | 3786.04 | 4.09 | | | | 163.97 | | 1000.00 | + | 122 | 2019-05-03 | 50.00 | | 43.90 | 3740.09 | 4.04 | | | | 159.93 | | 1000.00 | + | 123 | 2019-05-04 | 50.00 | | 43.85 | 3694.08 | 3.99 | | | | 155.94 | | 1000.00 | + | 124 | 2019-05-05 | 50.00 | | 43.80 | 3648.03 | 3.94 | | | | 152.00 | | 1000.00 | + | 125 | 2019-05-06 | 50.00 | | 43.76 | 3601.92 | 3.90 | | | | 148.10 | | 1000.00 | + | 126 | 2019-05-07 | 50.00 | | 43.71 | 3555.77 | 3.85 | | | | 144.25 | | 1000.00 | + | 127 | 2019-05-08 | 50.00 | | 43.66 | 3509.56 | 3.80 | | | | 140.45 | | 1000.00 | + | 128 | 2019-05-09 | 50.00 | | 43.62 | 3463.31 | 3.75 | | | | 136.70 | | 1000.00 | + | 129 | 2019-05-10 | 50.00 | | 43.57 | 3417.01 | 3.70 | | | | 133.00 | | 1000.00 | + | 130 | 2019-05-11 | 50.00 | | 43.52 | 3370.66 | 3.65 | | | | 129.35 | | 1000.00 | + | 131 | 2019-05-12 | 50.00 | | 43.48 | 3324.26 | 3.60 | | | | 125.75 | | 1000.00 | + | 132 | 2019-05-13 | 50.00 | | 43.43 | 3277.81 | 3.55 | | | | 122.20 | | 1000.00 | + | 133 | 2019-05-14 | 50.00 | | 43.38 | 3231.31 | 3.50 | | | | 118.70 | | 1000.00 | + | 134 | 2019-05-15 | 50.00 | | 43.34 | 3184.76 | 3.45 | | | | 115.25 | | 1000.00 | + | 135 | 2019-05-16 | 50.00 | | 43.29 | 3138.16 | 3.40 | | | | 111.85 | | 1000.00 | + | 136 | 2019-05-17 | 50.00 | | 43.24 | 3091.51 | 3.35 | | | | 108.50 | | 1000.00 | + | 137 | 2019-05-18 | 50.00 | | 43.20 | 3044.81 | 3.30 | | | | 105.20 | | 1000.00 | + | 138 | 2019-05-19 | 50.00 | | 43.15 | 2998.06 | 3.25 | | | | 101.95 | | 1000.00 | + | 139 | 2019-05-20 | 50.00 | | 43.11 | 2951.26 | 3.20 | | | | 98.75 | | 1000.00 | + | 140 | 2019-05-21 | 50.00 | | 43.06 | 2904.42 | 3.15 | | | | 95.60 | | 1000.00 | + | 141 | 2019-05-22 | 50.00 | | 43.01 | 2857.52 | 3.10 | | | | 92.50 | | 1000.00 | + | 142 | 2019-05-23 | 50.00 | | 42.97 | 2810.57 | 3.05 | | | | 89.45 | | 1000.00 | + | 143 | 2019-05-24 | 50.00 | | 42.92 | 2763.57 | 3.00 | | | | 86.45 | | 1000.00 | + | 144 | 2019-05-25 | 50.00 | | 42.88 | 2716.52 | 2.95 | | | | 83.50 | | 1000.00 | + | 145 | 2019-05-26 | 50.00 | | 42.83 | 2669.42 | 2.90 | | | | 80.60 | | 1000.00 | + | 146 | 2019-05-27 | 50.00 | | 42.79 | 2622.27 | 2.85 | | | | 77.75 | | 1000.00 | + | 147 | 2019-05-28 | 50.00 | | 42.74 | 2575.07 | 2.80 | | | | 74.95 | | 1000.00 | + | 148 | 2019-05-29 | 50.00 | | 42.69 | 2527.82 | 2.75 | | | | 72.20 | | 1000.00 | + | 149 | 2019-05-30 | 50.00 | | 42.65 | 2480.52 | 2.70 | | | | 69.50 | | 1000.00 | + | 150 | 2019-05-31 | 50.00 | | 42.60 | 2433.17 | 2.65 | | | | 66.85 | | 1000.00 | + | 151 | 2019-06-01 | 50.00 | | 42.56 | 2385.77 | 2.60 | | | | 64.25 | | 1000.00 | + | 152 | 2019-06-02 | 50.00 | | 42.51 | 2338.31 | 2.55 | | | | 61.70 | | 1000.00 | + | 153 | 2019-06-03 | 50.00 | | 42.47 | 2290.81 | 2.50 | | | | 59.20 | | 1000.00 | + | 154 | 2019-06-04 | 50.00 | | 42.42 | 2243.26 | 2.45 | | | | 56.75 | | 1000.00 | + | 155 | 2019-06-05 | 50.00 | | 42.38 | 2195.65 | 2.40 | | | | 54.35 | | 1000.00 | + | 156 | 2019-06-06 | 50.00 | | 42.33 | 2148.00 | 2.34 | | | | 52.01 | | 1000.00 | + | 157 | 2019-06-07 | 50.00 | | 42.29 | 2100.29 | 2.29 | | | | 49.72 | | 1000.00 | + | 158 | 2019-06-08 | 50.00 | | 42.24 | 2052.53 | 2.24 | | | | 47.48 | | 1000.00 | + | 159 | 2019-06-09 | 50.00 | | 42.20 | 2004.73 | 2.19 | | | | 45.29 | | 1000.00 | + | 160 | 2019-06-10 | 50.00 | | 42.15 | 1956.87 | 2.14 | | | | 43.15 | | 1000.00 | + | 161 | 2019-06-11 | 50.00 | | 42.11 | 1908.96 | 2.09 | | | | 41.06 | | 1000.00 | + | 162 | 2019-06-12 | 50.00 | | 42.06 | 1860.99 | 2.04 | | | | 39.02 | | 1000.00 | + | 163 | 2019-06-13 | 50.00 | | 42.02 | 1812.98 | 1.99 | | | | 37.03 | | 1000.00 | + | 164 | 2019-06-14 | 50.00 | | 41.97 | 1764.92 | 1.94 | | | | 35.09 | | 1000.00 | + | 165 | 2019-06-15 | 50.00 | | 41.93 | 1716.80 | 1.88 | | | | 33.21 | | 1000.00 | + | 166 | 2019-06-16 | 50.00 | | 41.88 | 1668.64 | 1.83 | | | | 31.38 | | 1000.00 | + | 167 | 2019-06-17 | 50.00 | | 41.84 | 1620.42 | 1.78 | | | | 29.60 | | 1000.00 | + | 168 | 2019-06-18 | 50.00 | | 41.79 | 1572.15 | 1.73 | | | | 27.87 | | 1000.00 | + | 169 | 2019-06-19 | 50.00 | | 41.75 | 1523.83 | 1.68 | | | | 26.19 | | 1000.00 | + | 170 | 2019-06-20 | 50.00 | | 41.70 | 1475.45 | 1.63 | | | | 24.56 | | 1000.00 | + | 171 | 2019-06-21 | 50.00 | | 41.66 | 1427.03 | 1.58 | | | | 22.98 | | 1000.00 | + | 172 | 2019-06-22 | 50.00 | | 41.61 | 1378.55 | 1.52 | | | | 21.46 | | 1000.00 | + | 173 | 2019-06-23 | 50.00 | | 41.57 | 1330.02 | 1.47 | | | | 19.99 | | 1000.00 | + | 174 | 2019-06-24 | 50.00 | | 41.53 | 1281.45 | 1.42 | | | | 18.57 | | 1000.00 | + | 175 | 2019-06-25 | 50.00 | | 41.48 | 1232.81 | 1.37 | | | | 17.20 | | 1000.00 | + | 176 | 2019-06-26 | 50.00 | | 41.44 | 1184.13 | 1.32 | | | | 15.88 | | 1000.00 | + | 177 | 2019-06-27 | 50.00 | | 41.39 | 1135.39 | 1.26 | | | | 14.62 | | 1000.00 | + | 178 | 2019-06-28 | 50.00 | | 41.35 | 1086.61 | 1.21 | | | | 13.41 | | 1000.00 | + | 179 | 2019-06-29 | 50.00 | | 41.31 | 1037.77 | 1.16 | | | | 12.25 | | 1000.00 | + | 180 | 2019-06-30 | 50.00 | | 41.26 | 988.88 | 1.11 | | | | 11.14 | | 1000.00 | + | 181 | 2019-07-01 | 50.00 | | 41.22 | 939.93 | 1.06 | | | | 10.08 | | 1000.00 | + | 182 | 2019-07-02 | 50.00 | | 41.17 | 890.93 | 1.00 | | | | 9.08 | | 1000.00 | + | 183 | 2019-07-03 | 50.00 | | 41.13 | 841.89 | 0.95 | | | | 8.13 | | 1000.00 | + | 184 | 2019-07-04 | 50.00 | | 41.09 | 792.79 | 0.90 | | | | 7.23 | | 1000.00 | + | 185 | 2019-07-05 | 50.00 | | 41.04 | 743.63 | 0.85 | | | | 6.38 | | 1000.00 | + | 186 | 2019-07-06 | 50.00 | | 41.00 | 694.43 | 0.79 | | | | 5.59 | | 1000.00 | + | 187 | 2019-07-07 | 50.00 | | 40.95 | 645.17 | 0.74 | | | | 4.85 | | 1000.00 | + | 188 | 2019-07-08 | 50.00 | | 40.91 | 595.86 | 0.69 | | | | 4.16 | | 1000.00 | + | 189 | 2019-07-09 | 50.00 | | 40.87 | 546.49 | 0.64 | | | | 3.52 | | 1000.00 | + | 190 | 2019-07-10 | 50.00 | | 40.82 | 497.08 | 0.58 | | | | 2.94 | | 1000.00 | + | 191 | 2019-07-11 | 50.00 | | 40.78 | 447.61 | 0.53 | | | | 2.41 | | 1000.00 | + | 192 | 2019-07-12 | 50.00 | | 40.74 | 398.08 | 0.48 | | | | 1.93 | | 1000.00 | + | 193 | 2019-07-13 | 50.00 | | 40.69 | 348.51 | 0.43 | | | | 1.50 | | 1000.00 | + | 194 | 2019-07-14 | 50.00 | | 40.65 | 298.88 | 0.37 | | | | 1.13 | | 1000.00 | + | 195 | 2019-07-15 | 50.00 | | 40.61 | 249.20 | 0.32 | | | | 0.81 | | 1000.00 | + | 196 | 2019-07-16 | 50.00 | | 40.56 | 199.47 | 0.27 | | | | 0.54 | | 1000.00 | + | 197 | 2019-07-17 | 50.00 | | 40.52 | 149.68 | 0.21 | | | | 0.33 | | 1000.00 | + | 198 | 2019-07-18 | 50.00 | | 40.48 | 99.84 | 0.16 | | | | 0.17 | | 1000.00 | + | 199 | 2019-07-19 | 50.00 | | 40.43 | 49.95 | 0.11 | | | | 0.06 | | 1000.00 | + | 200 | 2019-07-20 | 50.00 | | 40.39 | 0.00 | 0.05 | | | | 0.01 | | 1000.00 | When Admin sets the business date to "25 January 2026" And Admin runs inline COB job for Working Capital Loan by loanId @@ -443,218 +443,218 @@ Feature: WorkingCapitalAmortizationSchedule And Admin retrieves the projected amortization schedule Then The retrieved amortization schedule has the following summary fields: | discountFeeAmount | netDisbursementAmount | totalPaymentValue | periodPaymentRate | npvDayCount | expectedPaymentAmount | originalPaymentNumber | - | 1000.00 | 9000.00 | 1000.00 | 18 | 360 | 50.00 | 200 | + | 1000.00 | 9000.00 | 100000.00 | 18 | 360 | 50.00 | 200 | And The retrieved amortization schedule has payments with the following details: - | paymentNo | date | expectedPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualPaymentAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 2019-01-01 | -9000.00 | | -9000.00 | 9000.00 | | | | | 1000.00 | - | 1 | 2019-01-02 | 50.00 | | 49.95 | 8959.61 | 9.61 | | | | 1000.00 | - | 2 | 2019-01-03 | 50.00 | | 49.89 | 8919.18 | 9.57 | | | | 1000.00 | - | 3 | 2019-01-04 | 50.00 | | 49.84 | 8878.70 | 9.52 | | | | 1000.00 | - | 4 | 2019-01-05 | 50.00 | | 49.79 | 8838.18 | 9.48 | | | | 1000.00 | - | 5 | 2019-01-06 | 50.00 | | 49.73 | 8797.62 | 9.44 | | | | 1000.00 | - | 6 | 2019-01-07 | 50.00 | | 49.68 | 8757.01 | 9.39 | | | | 1000.00 | - | 7 | 2019-01-08 | 50.00 | | 49.63 | 8716.36 | 9.35 | | | | 1000.00 | - | 8 | 2019-01-09 | 50.00 | | 49.57 | 8675.67 | 9.31 | | | | 1000.00 | - | 9 | 2019-01-10 | 50.00 | | 49.52 | 8634.94 | 9.26 | | | | 1000.00 | - | 10 | 2019-01-11 | 50.00 | | 49.47 | 8594.16 | 9.22 | | | | 1000.00 | - | 11 | 2019-01-12 | 50.00 | | 49.42 | 8553.33 | 9.18 | | | | 1000.00 | - | 12 | 2019-01-13 | 50.00 | | 49.36 | 8512.47 | 9.13 | | | | 1000.00 | - | 13 | 2019-01-14 | 50.00 | | 49.31 | 8471.56 | 9.09 | | | | 1000.00 | - | 14 | 2019-01-15 | 50.00 | | 49.26 | 8430.60 | 9.05 | | | | 1000.00 | - | 15 | 2019-01-16 | 50.00 | | 49.21 | 8389.61 | 9.00 | | | | 1000.00 | - | 16 | 2019-01-17 | 50.00 | | 49.15 | 8348.56 | 8.96 | | | | 1000.00 | - | 17 | 2019-01-18 | 50.00 | | 49.10 | 8307.48 | 8.91 | | | | 1000.00 | - | 18 | 2019-01-19 | 50.00 | | 49.05 | 8266.35 | 8.87 | | | | 1000.00 | - | 19 | 2019-01-20 | 50.00 | | 49.00 | 8225.18 | 8.83 | | | | 1000.00 | - | 20 | 2019-01-21 | 50.00 | | 48.94 | 8183.96 | 8.78 | | | | 1000.00 | - | 21 | 2019-01-22 | 50.00 | | 48.89 | 8142.70 | 8.74 | | | | 1000.00 | - | 22 | 2019-01-23 | 50.00 | | 48.84 | 8101.39 | 8.69 | | | | 1000.00 | - | 23 | 2019-01-24 | 50.00 | | 48.79 | 8060.04 | 8.65 | | | | 1000.00 | - | 24 | 2019-01-25 | 47.22 | | 47.17 | 8020.77 | 7.95 | | | | 1000.00 | - | 25 | 2019-01-26 | 47.22 | | 47.13 | 7981.46 | 7.91 | | | | 1000.00 | - | 26 | 2019-01-27 | 47.22 | | 47.08 | 7942.11 | 7.87 | | | | 1000.00 | - | 27 | 2019-01-28 | 47.22 | | 47.03 | 7902.73 | 7.83 | | | | 1000.00 | - | 28 | 2019-01-29 | 47.22 | | 46.99 | 7863.30 | 7.79 | | | | 1000.00 | - | 29 | 2019-01-30 | 47.22 | | 46.94 | 7823.84 | 7.76 | | | | 1000.00 | - | 30 | 2019-01-31 | 47.22 | | 46.90 | 7784.33 | 7.72 | | | | 1000.00 | - | 31 | 2019-02-01 | 47.22 | | 46.85 | 7744.79 | 7.68 | | | | 1000.00 | - | 32 | 2019-02-02 | 47.22 | | 46.80 | 7705.21 | 7.64 | | | | 1000.00 | - | 33 | 2019-02-03 | 47.22 | | 46.76 | 7665.59 | 7.60 | | | | 1000.00 | - | 34 | 2019-02-04 | 47.22 | | 46.71 | 7625.93 | 7.56 | | | | 1000.00 | - | 35 | 2019-02-05 | 47.22 | | 46.66 | 7586.23 | 7.52 | | | | 1000.00 | - | 36 | 2019-02-06 | 47.22 | | 46.62 | 7546.49 | 7.48 | | | | 1000.00 | - | 37 | 2019-02-07 | 47.22 | | 46.57 | 7506.72 | 7.44 | | | | 1000.00 | - | 38 | 2019-02-08 | 47.22 | | 46.53 | 7466.90 | 7.40 | | | | 1000.00 | - | 39 | 2019-02-09 | 47.22 | | 46.48 | 7427.05 | 7.36 | | | | 1000.00 | - | 40 | 2019-02-10 | 47.22 | | 46.44 | 7387.15 | 7.33 | | | | 1000.00 | - | 41 | 2019-02-11 | 47.22 | | 46.39 | 7347.22 | 7.29 | | | | 1000.00 | - | 42 | 2019-02-12 | 47.22 | | 46.34 | 7307.24 | 7.25 | | | | 1000.00 | - | 43 | 2019-02-13 | 47.22 | | 46.30 | 7267.23 | 7.21 | | | | 1000.00 | - | 44 | 2019-02-14 | 47.22 | | 46.25 | 7227.18 | 7.17 | | | | 1000.00 | - | 45 | 2019-02-15 | 47.22 | | 46.21 | 7187.09 | 7.13 | | | | 1000.00 | - | 46 | 2019-02-16 | 47.22 | | 46.16 | 7146.96 | 7.09 | | | | 1000.00 | - | 47 | 2019-02-17 | 47.22 | | 46.12 | 7106.79 | 7.05 | | | | 1000.00 | - | 48 | 2019-02-18 | 47.22 | | 46.07 | 7066.58 | 7.01 | | | | 1000.00 | - | 49 | 2019-02-19 | 47.22 | | 46.03 | 7026.33 | 6.97 | | | | 1000.00 | - | 50 | 2019-02-20 | 47.22 | | 45.98 | 6986.04 | 6.93 | | | | 1000.00 | - | 51 | 2019-02-21 | 47.22 | | 45.93 | 6945.71 | 6.89 | | | | 1000.00 | - | 52 | 2019-02-22 | 47.22 | | 45.89 | 6905.34 | 6.85 | | | | 1000.00 | - | 53 | 2019-02-23 | 47.22 | | 45.84 | 6864.93 | 6.81 | | | | 1000.00 | - | 54 | 2019-02-24 | 47.22 | | 45.80 | 6824.48 | 6.77 | | | | 1000.00 | - | 55 | 2019-02-25 | 47.22 | | 45.75 | 6783.99 | 6.73 | | | | 1000.00 | - | 56 | 2019-02-26 | 47.22 | | 45.71 | 6743.46 | 6.69 | | | | 1000.00 | - | 57 | 2019-02-27 | 47.22 | | 45.66 | 6702.89 | 6.65 | | | | 1000.00 | - | 58 | 2019-02-28 | 47.22 | | 45.62 | 6662.28 | 6.61 | | | | 1000.00 | - | 59 | 2019-03-01 | 47.22 | | 45.57 | 6621.63 | 6.57 | | | | 1000.00 | - | 60 | 2019-03-02 | 47.22 | | 45.53 | 6580.94 | 6.53 | | | | 1000.00 | - | 61 | 2019-03-03 | 47.22 | | 45.48 | 6540.22 | 6.49 | | | | 1000.00 | - | 62 | 2019-03-04 | 47.22 | | 45.44 | 6499.45 | 6.45 | | | | 1000.00 | - | 63 | 2019-03-05 | 47.22 | | 45.39 | 6458.64 | 6.41 | | | | 1000.00 | - | 64 | 2019-03-06 | 47.22 | | 45.35 | 6417.79 | 6.37 | | | | 1000.00 | - | 65 | 2019-03-07 | 47.22 | | 45.30 | 6376.90 | 6.33 | | | | 1000.00 | - | 66 | 2019-03-08 | 47.22 | | 45.26 | 6335.97 | 6.29 | | | | 1000.00 | - | 67 | 2019-03-09 | 47.22 | | 45.22 | 6295.00 | 6.25 | | | | 1000.00 | - | 68 | 2019-03-10 | 47.22 | | 45.17 | 6253.99 | 6.21 | | | | 1000.00 | - | 69 | 2019-03-11 | 47.22 | | 45.13 | 6212.93 | 6.17 | | | | 1000.00 | - | 70 | 2019-03-12 | 47.22 | | 45.08 | 6171.84 | 6.13 | | | | 1000.00 | - | 71 | 2019-03-13 | 47.22 | | 45.04 | 6130.71 | 6.09 | | | | 1000.00 | - | 72 | 2019-03-14 | 47.22 | | 44.99 | 6089.54 | 6.05 | | | | 1000.00 | - | 73 | 2019-03-15 | 47.22 | | 44.95 | 6048.32 | 6.01 | | | | 1000.00 | - | 74 | 2019-03-16 | 47.22 | | 44.90 | 6007.07 | 5.97 | | | | 1000.00 | - | 75 | 2019-03-17 | 47.22 | | 44.86 | 5965.77 | 5.92 | | | | 1000.00 | - | 76 | 2019-03-18 | 47.22 | | 44.82 | 5924.44 | 5.88 | | | | 1000.00 | - | 77 | 2019-03-19 | 47.22 | | 44.77 | 5883.06 | 5.84 | | | | 1000.00 | - | 78 | 2019-03-20 | 47.22 | | 44.73 | 5841.64 | 5.80 | | | | 1000.00 | - | 79 | 2019-03-21 | 47.22 | | 44.68 | 5800.18 | 5.76 | | | | 1000.00 | - | 80 | 2019-03-22 | 47.22 | | 44.64 | 5758.68 | 5.72 | | | | 1000.00 | - | 81 | 2019-03-23 | 47.22 | | 44.60 | 5717.14 | 5.68 | | | | 1000.00 | - | 82 | 2019-03-24 | 47.22 | | 44.55 | 5675.56 | 5.64 | | | | 1000.00 | - | 83 | 2019-03-25 | 47.22 | | 44.51 | 5633.94 | 5.60 | | | | 1000.00 | - | 84 | 2019-03-26 | 47.22 | | 44.46 | 5592.28 | 5.56 | | | | 1000.00 | - | 85 | 2019-03-27 | 47.22 | | 44.42 | 5550.57 | 5.52 | | | | 1000.00 | - | 86 | 2019-03-28 | 47.22 | | 44.38 | 5508.83 | 5.47 | | | | 1000.00 | - | 87 | 2019-03-29 | 47.22 | | 44.33 | 5467.04 | 5.43 | | | | 1000.00 | - | 88 | 2019-03-30 | 47.22 | | 44.29 | 5425.21 | 5.39 | | | | 1000.00 | - | 89 | 2019-03-31 | 47.22 | | 44.25 | 5383.35 | 5.35 | | | | 1000.00 | - | 90 | 2019-04-01 | 47.22 | | 44.20 | 5341.43 | 5.31 | | | | 1000.00 | - | 91 | 2019-04-02 | 47.22 | | 44.16 | 5299.48 | 5.27 | | | | 1000.00 | - | 92 | 2019-04-03 | 47.22 | | 44.11 | 5257.49 | 5.23 | | | | 1000.00 | - | 93 | 2019-04-04 | 47.22 | | 44.07 | 5215.46 | 5.19 | | | | 1000.00 | - | 94 | 2019-04-05 | 47.22 | | 44.03 | 5173.38 | 5.14 | | | | 1000.00 | - | 95 | 2019-04-06 | 47.22 | | 43.98 | 5131.26 | 5.10 | | | | 1000.00 | - | 96 | 2019-04-07 | 47.22 | | 43.94 | 5089.10 | 5.06 | | | | 1000.00 | - | 97 | 2019-04-08 | 47.22 | | 43.90 | 5046.90 | 5.02 | | | | 1000.00 | - | 98 | 2019-04-09 | 47.22 | | 43.85 | 5004.66 | 4.98 | | | | 1000.00 | - | 99 | 2019-04-10 | 47.22 | | 43.81 | 4962.38 | 4.94 | | | | 1000.00 | - | 100 | 2019-04-11 | 47.22 | | 43.77 | 4920.05 | 4.89 | | | | 1000.00 | - | 101 | 2019-04-12 | 47.22 | | 43.73 | 4877.68 | 4.85 | | | | 1000.00 | - | 102 | 2019-04-13 | 47.22 | | 43.68 | 4835.28 | 4.81 | | | | 1000.00 | - | 103 | 2019-04-14 | 47.22 | | 43.64 | 4792.82 | 4.77 | | | | 1000.00 | - | 104 | 2019-04-15 | 47.22 | | 43.60 | 4750.33 | 4.73 | | | | 1000.00 | - | 105 | 2019-04-16 | 47.22 | | 43.55 | 4707.80 | 4.69 | | | | 1000.00 | - | 106 | 2019-04-17 | 47.22 | | 43.51 | 4665.22 | 4.64 | | | | 1000.00 | - | 107 | 2019-04-18 | 47.22 | | 43.47 | 4622.60 | 4.60 | | | | 1000.00 | - | 108 | 2019-04-19 | 47.22 | | 43.42 | 4579.94 | 4.56 | | | | 1000.00 | - | 109 | 2019-04-20 | 47.22 | | 43.38 | 4537.24 | 4.52 | | | | 1000.00 | - | 110 | 2019-04-21 | 47.22 | | 43.34 | 4494.49 | 4.48 | | | | 1000.00 | - | 111 | 2019-04-22 | 47.22 | | 43.30 | 4451.71 | 4.43 | | | | 1000.00 | - | 112 | 2019-04-23 | 47.22 | | 43.25 | 4408.88 | 4.39 | | | | 1000.00 | - | 113 | 2019-04-24 | 47.22 | | 43.21 | 4366.01 | 4.35 | | | | 1000.00 | - | 114 | 2019-04-25 | 47.22 | | 43.17 | 4323.09 | 4.31 | | | | 1000.00 | - | 115 | 2019-04-26 | 47.22 | | 43.13 | 4280.14 | 4.26 | | | | 1000.00 | - | 116 | 2019-04-27 | 47.22 | | 43.08 | 4237.14 | 4.22 | | | | 1000.00 | - | 117 | 2019-04-28 | 47.22 | | 43.04 | 4194.10 | 4.18 | | | | 1000.00 | - | 118 | 2019-04-29 | 47.22 | | 43.00 | 4151.01 | 4.14 | | | | 1000.00 | - | 119 | 2019-04-30 | 47.22 | | 42.96 | 4107.89 | 4.09 | | | | 1000.00 | - | 120 | 2019-05-01 | 47.22 | | 42.91 | 4064.72 | 4.05 | | | | 1000.00 | - | 121 | 2019-05-02 | 47.22 | | 42.87 | 4021.51 | 4.01 | | | | 1000.00 | - | 122 | 2019-05-03 | 47.22 | | 42.83 | 3978.25 | 3.97 | | | | 1000.00 | - | 123 | 2019-05-04 | 47.22 | | 42.79 | 3934.96 | 3.92 | | | | 1000.00 | - | 124 | 2019-05-05 | 47.22 | | 42.74 | 3891.62 | 3.88 | | | | 1000.00 | - | 125 | 2019-05-06 | 47.22 | | 42.70 | 3848.24 | 3.84 | | | | 1000.00 | - | 126 | 2019-05-07 | 47.22 | | 42.66 | 3804.81 | 3.80 | | | | 1000.00 | - | 127 | 2019-05-08 | 47.22 | | 42.62 | 3761.35 | 3.75 | | | | 1000.00 | - | 128 | 2019-05-09 | 47.22 | | 42.58 | 3717.84 | 3.71 | | | | 1000.00 | - | 129 | 2019-05-10 | 47.22 | | 42.53 | 3674.28 | 3.67 | | | | 1000.00 | - | 130 | 2019-05-11 | 47.22 | | 42.49 | 3630.69 | 3.62 | | | | 1000.00 | - | 131 | 2019-05-12 | 47.22 | | 42.45 | 3587.05 | 3.58 | | | | 1000.00 | - | 132 | 2019-05-13 | 47.22 | | 42.41 | 3543.37 | 3.54 | | | | 1000.00 | - | 133 | 2019-05-14 | 47.22 | | 42.37 | 3499.64 | 3.49 | | | | 1000.00 | - | 134 | 2019-05-15 | 47.22 | | 42.33 | 3455.87 | 3.45 | | | | 1000.00 | - | 135 | 2019-05-16 | 47.22 | | 42.28 | 3412.06 | 3.41 | | | | 1000.00 | - | 136 | 2019-05-17 | 47.22 | | 42.24 | 3368.21 | 3.37 | | | | 1000.00 | - | 137 | 2019-05-18 | 47.22 | | 42.20 | 3324.31 | 3.32 | | | | 1000.00 | - | 138 | 2019-05-19 | 47.22 | | 42.16 | 3280.37 | 3.28 | | | | 1000.00 | - | 139 | 2019-05-20 | 47.22 | | 42.12 | 3236.38 | 3.24 | | | | 1000.00 | - | 140 | 2019-05-21 | 47.22 | | 42.08 | 3192.36 | 3.19 | | | | 1000.00 | - | 141 | 2019-05-22 | 47.22 | | 42.03 | 3148.28 | 3.15 | | | | 1000.00 | - | 142 | 2019-05-23 | 47.22 | | 41.99 | 3104.17 | 3.11 | | | | 1000.00 | - | 143 | 2019-05-24 | 47.22 | | 41.95 | 3060.01 | 3.06 | | | | 1000.00 | - | 144 | 2019-05-25 | 47.22 | | 41.91 | 3015.81 | 3.02 | | | | 1000.00 | - | 145 | 2019-05-26 | 47.22 | | 41.87 | 2971.56 | 2.97 | | | | 1000.00 | - | 146 | 2019-05-27 | 47.22 | | 41.83 | 2927.27 | 2.93 | | | | 1000.00 | - | 147 | 2019-05-28 | 47.22 | | 41.79 | 2882.94 | 2.89 | | | | 1000.00 | - | 148 | 2019-05-29 | 47.22 | | 41.75 | 2838.56 | 2.84 | | | | 1000.00 | - | 149 | 2019-05-30 | 47.22 | | 41.70 | 2794.14 | 2.80 | | | | 1000.00 | - | 150 | 2019-05-31 | 47.22 | | 41.66 | 2749.68 | 2.76 | | | | 1000.00 | - | 151 | 2019-06-01 | 47.22 | | 41.62 | 2705.17 | 2.71 | | | | 1000.00 | - | 152 | 2019-06-02 | 47.22 | | 41.58 | 2660.62 | 2.67 | | | | 1000.00 | - | 153 | 2019-06-03 | 47.22 | | 41.54 | 2616.03 | 2.62 | | | | 1000.00 | - | 154 | 2019-06-04 | 47.22 | | 41.50 | 2571.39 | 2.58 | | | | 1000.00 | - | 155 | 2019-06-05 | 47.22 | | 41.46 | 2526.70 | 2.54 | | | | 1000.00 | - | 156 | 2019-06-06 | 47.22 | | 41.42 | 2481.97 | 2.49 | | | | 1000.00 | - | 157 | 2019-06-07 | 47.22 | | 41.38 | 2437.20 | 2.45 | | | | 1000.00 | - | 158 | 2019-06-08 | 47.22 | | 41.34 | 2392.39 | 2.40 | | | | 1000.00 | - | 159 | 2019-06-09 | 47.22 | | 41.30 | 2347.53 | 2.36 | | | | 1000.00 | - | 160 | 2019-06-10 | 47.22 | | 41.25 | 2302.62 | 2.32 | | | | 1000.00 | - | 161 | 2019-06-11 | 47.22 | | 41.21 | 2257.67 | 2.27 | | | | 1000.00 | - | 162 | 2019-06-12 | 47.22 | | 41.17 | 2212.68 | 2.23 | | | | 1000.00 | - | 163 | 2019-06-13 | 47.22 | | 41.13 | 2167.64 | 2.18 | | | | 1000.00 | - | 164 | 2019-06-14 | 47.22 | | 41.09 | 2122.56 | 2.14 | | | | 1000.00 | - | 165 | 2019-06-15 | 47.22 | | 41.05 | 2077.43 | 2.09 | | | | 1000.00 | - | 166 | 2019-06-16 | 47.22 | | 41.01 | 2032.26 | 2.05 | | | | 1000.00 | - | 167 | 2019-06-17 | 47.22 | | 40.97 | 1987.05 | 2.00 | | | | 1000.00 | - | 168 | 2019-06-18 | 47.22 | | 40.93 | 1941.79 | 1.96 | | | | 1000.00 | - | 169 | 2019-06-19 | 47.22 | | 40.89 | 1896.48 | 1.92 | | | | 1000.00 | - | 170 | 2019-06-20 | 47.22 | | 40.85 | 1851.13 | 1.87 | | | | 1000.00 | - | 171 | 2019-06-21 | 47.22 | | 40.81 | 1805.74 | 1.83 | | | | 1000.00 | - | 172 | 2019-06-22 | 47.22 | | 40.77 | 1760.30 | 1.78 | | | | 1000.00 | - | 173 | 2019-06-23 | 47.22 | | 40.73 | 1714.81 | 1.74 | | | | 1000.00 | - | 174 | 2019-06-24 | 47.22 | | 40.69 | 1669.29 | 1.69 | | | | 1000.00 | - | 175 | 2019-06-25 | 47.22 | | 40.65 | 1623.71 | 1.65 | | | | 1000.00 | - | 176 | 2019-06-26 | 47.22 | | 40.61 | 1578.09 | 1.60 | | | | 1000.00 | - | 177 | 2019-06-27 | 47.22 | | 40.57 | 1532.43 | 1.56 | | | | 1000.00 | - | 178 | 2019-06-28 | 47.22 | | 40.53 | 1486.72 | 1.51 | | | | 1000.00 | - | 179 | 2019-06-29 | 47.22 | | 40.49 | 1440.97 | 1.47 | | | | 1000.00 | - | 180 | 2019-06-30 | 47.22 | | 40.45 | 1395.17 | 1.42 | | | | 1000.00 | - | 181 | 2019-07-01 | 47.22 | | 40.41 | 1349.33 | 1.38 | | | | 1000.00 | - | 182 | 2019-07-02 | 47.22 | | 40.37 | 1303.44 | 1.33 | | | | 1000.00 | - | 183 | 2019-07-03 | 47.22 | | 40.33 | 1257.50 | 1.29 | | | | 1000.00 | - | 184 | 2019-07-04 | 47.22 | | 40.29 | 1211.52 | 1.24 | | | | 1000.00 | - | 185 | 2019-07-05 | 47.22 | | 40.25 | 1165.50 | 1.19 | | | | 1000.00 | - | 186 | 2019-07-06 | 47.22 | | 40.21 | 1119.43 | 1.15 | | | | 1000.00 | - | 187 | 2019-07-07 | 47.22 | | 40.17 | 1073.31 | 1.10 | | | | 1000.00 | - | 188 | 2019-07-08 | 47.22 | | 40.13 | 1027.15 | 1.06 | | | | 1000.00 | - | 189 | 2019-07-09 | 47.22 | | 40.09 | 980.94 | 1.01 | | | | 1000.00 | - | 190 | 2019-07-10 | 47.22 | | 40.05 | 934.69 | 0.97 | | | | 1000.00 | - | 191 | 2019-07-11 | 47.22 | | 40.01 | 888.39 | 0.92 | | | | 1000.00 | - | 192 | 2019-07-12 | 47.22 | | 39.97 | 842.05 | 0.88 | | | | 1000.00 | - | 193 | 2019-07-13 | 47.22 | | 39.93 | 795.66 | 0.83 | | | | 1000.00 | - | 194 | 2019-07-14 | 47.22 | | 39.89 | 749.22 | 0.78 | | | | 1000.00 | - | 195 | 2019-07-15 | 47.22 | | 39.86 | 702.74 | 0.74 | | | | 1000.00 | - | 196 | 2019-07-16 | 47.22 | | 39.82 | 656.22 | 0.69 | | | | 1000.00 | - | 197 | 2019-07-17 | 47.22 | | 39.78 | 609.64 | 0.65 | | | | 1000.00 | - | 198 | 2019-07-18 | 47.22 | | 39.74 | 563.02 | 0.60 | | | | 1000.00 | - | 199 | 2019-07-19 | 47.22 | | 39.70 | 516.36 | 0.56 | | | | 1000.00 | - | 200 | 2019-07-20 | 47.22 | | 39.66 | 469.65 | 0.51 | | | | 1000.00 | - | 201 | 2019-07-21 | 47.22 | | 39.62 | 422.89 | 0.46 | | | | 1000.00 | - | 202 | 2019-07-22 | 47.22 | | 39.58 | 376.09 | 0.42 | | | | 1000.00 | - | 203 | 2019-07-23 | 47.22 | | 39.54 | 329.24 | 0.37 | | | | 1000.00 | - | 204 | 2019-07-24 | 47.22 | | 39.50 | 282.34 | 0.32 | | | | 1000.00 | - | 205 | 2019-07-25 | 47.22 | | 39.46 | 235.40 | 0.28 | | | | 1000.00 | - | 206 | 2019-07-26 | 47.22 | | 39.43 | 188.42 | 0.23 | | | | 1000.00 | - | 207 | 2019-07-27 | 47.22 | | 39.39 | 141.38 | 0.19 | | | | 1000.00 | - | 208 | 2019-07-28 | 47.22 | | 39.35 | 94.30 | 0.14 | | | | 1000.00 | - | 209 | 2019-07-29 | 47.22 | | 39.31 | 47.17 | 0.09 | | | | 1000.00 | - | 210 | 2019-07-30 | 47.22 | | 39.27 | 0.00 | 0.05 | | | | 1000.00 | + | paymentNo | date | expectedPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualPaymentAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | actualBalance | actualDiscountFeeBalance | + | 0 | 2019-01-01 | -9000.00 | | -9000.00 | 9000.00 | | | | | 1000.00 | 9000.00 | 1000.00 | + | 1 | 2019-01-02 | 50.00 | | 49.95 | 8959.61 | 9.61 | | | | 990.39 | | 1000.00 | + | 2 | 2019-01-03 | 50.00 | | 49.89 | 8919.18 | 9.57 | | | | 980.82 | | 1000.00 | + | 3 | 2019-01-04 | 50.00 | | 49.84 | 8878.70 | 9.52 | | | | 971.30 | | 1000.00 | + | 4 | 2019-01-05 | 50.00 | | 49.79 | 8838.18 | 9.48 | | | | 961.82 | | 1000.00 | + | 5 | 2019-01-06 | 50.00 | | 49.73 | 8797.62 | 9.44 | | | | 952.38 | | 1000.00 | + | 6 | 2019-01-07 | 50.00 | | 49.68 | 8757.01 | 9.39 | | | | 942.99 | | 1000.00 | + | 7 | 2019-01-08 | 50.00 | | 49.63 | 8716.36 | 9.35 | | | | 933.64 | | 1000.00 | + | 8 | 2019-01-09 | 50.00 | | 49.57 | 8675.67 | 9.31 | | | | 924.33 | | 1000.00 | + | 9 | 2019-01-10 | 50.00 | | 49.52 | 8634.94 | 9.26 | | | | 915.07 | | 1000.00 | + | 10 | 2019-01-11 | 50.00 | | 49.47 | 8594.16 | 9.22 | | | | 905.85 | | 1000.00 | + | 11 | 2019-01-12 | 50.00 | | 49.42 | 8553.33 | 9.18 | | | | 896.67 | | 1000.00 | + | 12 | 2019-01-13 | 50.00 | | 49.36 | 8512.47 | 9.13 | | | | 887.54 | | 1000.00 | + | 13 | 2019-01-14 | 50.00 | | 49.31 | 8471.56 | 9.09 | | | | 878.45 | | 1000.00 | + | 14 | 2019-01-15 | 50.00 | | 49.26 | 8430.60 | 9.05 | | | | 869.40 | | 1000.00 | + | 15 | 2019-01-16 | 50.00 | | 49.21 | 8389.61 | 9.00 | | | | 860.40 | | 1000.00 | + | 16 | 2019-01-17 | 50.00 | | 49.15 | 8348.56 | 8.96 | | | | 851.44 | | 1000.00 | + | 17 | 2019-01-18 | 50.00 | | 49.10 | 8307.48 | 8.91 | | | | 842.53 | | 1000.00 | + | 18 | 2019-01-19 | 50.00 | | 49.05 | 8266.35 | 8.87 | | | | 833.66 | | 1000.00 | + | 19 | 2019-01-20 | 50.00 | | 49.00 | 8225.18 | 8.83 | | | | 824.83 | | 1000.00 | + | 20 | 2019-01-21 | 50.00 | | 48.94 | 8183.96 | 8.78 | | | | 816.05 | | 1000.00 | + | 21 | 2019-01-22 | 50.00 | | 48.89 | 8142.70 | 8.74 | | | | 807.31 | | 1000.00 | + | 22 | 2019-01-23 | 50.00 | | 48.84 | 8101.39 | 8.69 | | | | 798.62 | | 1000.00 | + | 23 | 2019-01-24 | 50.00 | | 48.79 | 8060.04 | 8.65 | | | | 789.97 | | 1000.00 | + | 24 | 2019-01-25 | 47.22 | | 47.17 | 8020.77 | 7.95 | | | | 782.02 | | 1000.00 | + | 25 | 2019-01-26 | 47.22 | | 47.13 | 7981.46 | 7.91 | | | | 774.11 | | 1000.00 | + | 26 | 2019-01-27 | 47.22 | | 47.08 | 7942.11 | 7.87 | | | | 766.24 | | 1000.00 | + | 27 | 2019-01-28 | 47.22 | | 47.03 | 7902.73 | 7.83 | | | | 758.41 | | 1000.00 | + | 28 | 2019-01-29 | 47.22 | | 46.99 | 7863.30 | 7.79 | | | | 750.62 | | 1000.00 | + | 29 | 2019-01-30 | 47.22 | | 46.94 | 7823.84 | 7.76 | | | | 742.86 | | 1000.00 | + | 30 | 2019-01-31 | 47.22 | | 46.90 | 7784.33 | 7.72 | | | | 735.14 | | 1000.00 | + | 31 | 2019-02-01 | 47.22 | | 46.85 | 7744.79 | 7.68 | | | | 727.46 | | 1000.00 | + | 32 | 2019-02-02 | 47.22 | | 46.80 | 7705.21 | 7.64 | | | | 719.82 | | 1000.00 | + | 33 | 2019-02-03 | 47.22 | | 46.76 | 7665.59 | 7.60 | | | | 712.22 | | 1000.00 | + | 34 | 2019-02-04 | 47.22 | | 46.71 | 7625.93 | 7.56 | | | | 704.66 | | 1000.00 | + | 35 | 2019-02-05 | 47.22 | | 46.66 | 7586.23 | 7.52 | | | | 697.14 | | 1000.00 | + | 36 | 2019-02-06 | 47.22 | | 46.62 | 7546.49 | 7.48 | | | | 689.66 | | 1000.00 | + | 37 | 2019-02-07 | 47.22 | | 46.57 | 7506.72 | 7.44 | | | | 682.22 | | 1000.00 | + | 38 | 2019-02-08 | 47.22 | | 46.53 | 7466.90 | 7.40 | | | | 674.82 | | 1000.00 | + | 39 | 2019-02-09 | 47.22 | | 46.48 | 7427.05 | 7.36 | | | | 667.46 | | 1000.00 | + | 40 | 2019-02-10 | 47.22 | | 46.44 | 7387.15 | 7.33 | | | | 660.13 | | 1000.00 | + | 41 | 2019-02-11 | 47.22 | | 46.39 | 7347.22 | 7.29 | | | | 652.84 | | 1000.00 | + | 42 | 2019-02-12 | 47.22 | | 46.34 | 7307.24 | 7.25 | | | | 645.59 | | 1000.00 | + | 43 | 2019-02-13 | 47.22 | | 46.30 | 7267.23 | 7.21 | | | | 638.38 | | 1000.00 | + | 44 | 2019-02-14 | 47.22 | | 46.25 | 7227.18 | 7.17 | | | | 631.21 | | 1000.00 | + | 45 | 2019-02-15 | 47.22 | | 46.21 | 7187.09 | 7.13 | | | | 624.08 | | 1000.00 | + | 46 | 2019-02-16 | 47.22 | | 46.16 | 7146.96 | 7.09 | | | | 616.99 | | 1000.00 | + | 47 | 2019-02-17 | 47.22 | | 46.12 | 7106.79 | 7.05 | | | | 609.94 | | 1000.00 | + | 48 | 2019-02-18 | 47.22 | | 46.07 | 7066.58 | 7.01 | | | | 602.93 | | 1000.00 | + | 49 | 2019-02-19 | 47.22 | | 46.03 | 7026.33 | 6.97 | | | | 595.96 | | 1000.00 | + | 50 | 2019-02-20 | 47.22 | | 45.98 | 6986.04 | 6.93 | | | | 589.03 | | 1000.00 | + | 51 | 2019-02-21 | 47.22 | | 45.93 | 6945.71 | 6.89 | | | | 582.14 | | 1000.00 | + | 52 | 2019-02-22 | 47.22 | | 45.89 | 6905.34 | 6.85 | | | | 575.29 | | 1000.00 | + | 53 | 2019-02-23 | 47.22 | | 45.84 | 6864.93 | 6.81 | | | | 568.48 | | 1000.00 | + | 54 | 2019-02-24 | 47.22 | | 45.80 | 6824.48 | 6.77 | | | | 561.71 | | 1000.00 | + | 55 | 2019-02-25 | 47.22 | | 45.75 | 6783.99 | 6.73 | | | | 554.98 | | 1000.00 | + | 56 | 2019-02-26 | 47.22 | | 45.71 | 6743.46 | 6.69 | | | | 548.29 | | 1000.00 | + | 57 | 2019-02-27 | 47.22 | | 45.66 | 6702.89 | 6.65 | | | | 541.64 | | 1000.00 | + | 58 | 2019-02-28 | 47.22 | | 45.62 | 6662.28 | 6.61 | | | | 535.03 | | 1000.00 | + | 59 | 2019-03-01 | 47.22 | | 45.57 | 6621.63 | 6.57 | | | | 528.46 | | 1000.00 | + | 60 | 2019-03-02 | 47.22 | | 45.53 | 6580.94 | 6.53 | | | | 521.93 | | 1000.00 | + | 61 | 2019-03-03 | 47.22 | | 45.48 | 6540.22 | 6.49 | | | | 515.44 | | 1000.00 | + | 62 | 2019-03-04 | 47.22 | | 45.44 | 6499.45 | 6.45 | | | | 508.99 | | 1000.00 | + | 63 | 2019-03-05 | 47.22 | | 45.39 | 6458.64 | 6.41 | | | | 502.58 | | 1000.00 | + | 64 | 2019-03-06 | 47.22 | | 45.35 | 6417.79 | 6.37 | | | | 496.21 | | 1000.00 | + | 65 | 2019-03-07 | 47.22 | | 45.30 | 6376.90 | 6.33 | | | | 489.88 | | 1000.00 | + | 66 | 2019-03-08 | 47.22 | | 45.26 | 6335.97 | 6.29 | | | | 483.59 | | 1000.00 | + | 67 | 2019-03-09 | 47.22 | | 45.22 | 6295.00 | 6.25 | | | | 477.34 | | 1000.00 | + | 68 | 2019-03-10 | 47.22 | | 45.17 | 6253.99 | 6.21 | | | | 471.13 | | 1000.00 | + | 69 | 2019-03-11 | 47.22 | | 45.13 | 6212.93 | 6.17 | | | | 464.96 | | 1000.00 | + | 70 | 2019-03-12 | 47.22 | | 45.08 | 6171.84 | 6.13 | | | | 458.83 | | 1000.00 | + | 71 | 2019-03-13 | 47.22 | | 45.04 | 6130.71 | 6.09 | | | | 452.74 | | 1000.00 | + | 72 | 2019-03-14 | 47.22 | | 44.99 | 6089.54 | 6.05 | | | | 446.69 | | 1000.00 | + | 73 | 2019-03-15 | 47.22 | | 44.95 | 6048.32 | 6.01 | | | | 440.68 | | 1000.00 | + | 74 | 2019-03-16 | 47.22 | | 44.90 | 6007.07 | 5.97 | | | | 434.71 | | 1000.00 | + | 75 | 2019-03-17 | 47.22 | | 44.86 | 5965.77 | 5.92 | | | | 428.79 | | 1000.00 | + | 76 | 2019-03-18 | 47.22 | | 44.82 | 5924.44 | 5.88 | | | | 422.91 | | 1000.00 | + | 77 | 2019-03-19 | 47.22 | | 44.77 | 5883.06 | 5.84 | | | | 417.07 | | 1000.00 | + | 78 | 2019-03-20 | 47.22 | | 44.73 | 5841.64 | 5.80 | | | | 411.27 | | 1000.00 | + | 79 | 2019-03-21 | 47.22 | | 44.68 | 5800.18 | 5.76 | | | | 405.51 | | 1000.00 | + | 80 | 2019-03-22 | 47.22 | | 44.64 | 5758.68 | 5.72 | | | | 399.79 | | 1000.00 | + | 81 | 2019-03-23 | 47.22 | | 44.60 | 5717.14 | 5.68 | | | | 394.11 | | 1000.00 | + | 82 | 2019-03-24 | 47.22 | | 44.55 | 5675.56 | 5.64 | | | | 388.47 | | 1000.00 | + | 83 | 2019-03-25 | 47.22 | | 44.51 | 5633.94 | 5.60 | | | | 382.87 | | 1000.00 | + | 84 | 2019-03-26 | 47.22 | | 44.46 | 5592.28 | 5.56 | | | | 377.31 | | 1000.00 | + | 85 | 2019-03-27 | 47.22 | | 44.42 | 5550.57 | 5.52 | | | | 371.79 | | 1000.00 | + | 86 | 2019-03-28 | 47.22 | | 44.38 | 5508.83 | 5.47 | | | | 366.32 | | 1000.00 | + | 87 | 2019-03-29 | 47.22 | | 44.33 | 5467.04 | 5.43 | | | | 360.89 | | 1000.00 | + | 88 | 2019-03-30 | 47.22 | | 44.29 | 5425.21 | 5.39 | | | | 355.50 | | 1000.00 | + | 89 | 2019-03-31 | 47.22 | | 44.25 | 5383.35 | 5.35 | | | | 350.15 | | 1000.00 | + | 90 | 2019-04-01 | 47.22 | | 44.20 | 5341.43 | 5.31 | | | | 344.84 | | 1000.00 | + | 91 | 2019-04-02 | 47.22 | | 44.16 | 5299.48 | 5.27 | | | | 339.57 | | 1000.00 | + | 92 | 2019-04-03 | 47.22 | | 44.11 | 5257.49 | 5.23 | | | | 334.34 | | 1000.00 | + | 93 | 2019-04-04 | 47.22 | | 44.07 | 5215.46 | 5.19 | | | | 329.15 | | 1000.00 | + | 94 | 2019-04-05 | 47.22 | | 44.03 | 5173.38 | 5.14 | | | | 324.01 | | 1000.00 | + | 95 | 2019-04-06 | 47.22 | | 43.98 | 5131.26 | 5.10 | | | | 318.91 | | 1000.00 | + | 96 | 2019-04-07 | 47.22 | | 43.94 | 5089.10 | 5.06 | | | | 313.85 | | 1000.00 | + | 97 | 2019-04-08 | 47.22 | | 43.90 | 5046.90 | 5.02 | | | | 308.83 | | 1000.00 | + | 98 | 2019-04-09 | 47.22 | | 43.85 | 5004.66 | 4.98 | | | | 303.85 | | 1000.00 | + | 99 | 2019-04-10 | 47.22 | | 43.81 | 4962.38 | 4.94 | | | | 298.91 | | 1000.00 | + | 100 | 2019-04-11 | 47.22 | | 43.77 | 4920.05 | 4.89 | | | | 294.02 | | 1000.00 | + | 101 | 2019-04-12 | 47.22 | | 43.73 | 4877.68 | 4.85 | | | | 289.17 | | 1000.00 | + | 102 | 2019-04-13 | 47.22 | | 43.68 | 4835.28 | 4.81 | | | | 284.36 | | 1000.00 | + | 103 | 2019-04-14 | 47.22 | | 43.64 | 4792.82 | 4.77 | | | | 279.59 | | 1000.00 | + | 104 | 2019-04-15 | 47.22 | | 43.60 | 4750.33 | 4.73 | | | | 274.86 | | 1000.00 | + | 105 | 2019-04-16 | 47.22 | | 43.55 | 4707.80 | 4.69 | | | | 270.17 | | 1000.00 | + | 106 | 2019-04-17 | 47.22 | | 43.51 | 4665.22 | 4.64 | | | | 265.53 | | 1000.00 | + | 107 | 2019-04-18 | 47.22 | | 43.47 | 4622.60 | 4.60 | | | | 260.93 | | 1000.00 | + | 108 | 2019-04-19 | 47.22 | | 43.42 | 4579.94 | 4.56 | | | | 256.37 | | 1000.00 | + | 109 | 2019-04-20 | 47.22 | | 43.38 | 4537.24 | 4.52 | | | | 251.85 | | 1000.00 | + | 110 | 2019-04-21 | 47.22 | | 43.34 | 4494.49 | 4.48 | | | | 247.37 | | 1000.00 | + | 111 | 2019-04-22 | 47.22 | | 43.30 | 4451.71 | 4.43 | | | | 242.94 | | 1000.00 | + | 112 | 2019-04-23 | 47.22 | | 43.25 | 4408.88 | 4.39 | | | | 238.55 | | 1000.00 | + | 113 | 2019-04-24 | 47.22 | | 43.21 | 4366.01 | 4.35 | | | | 234.20 | | 1000.00 | + | 114 | 2019-04-25 | 47.22 | | 43.17 | 4323.09 | 4.31 | | | | 229.89 | | 1000.00 | + | 115 | 2019-04-26 | 47.22 | | 43.13 | 4280.14 | 4.26 | | | | 225.63 | | 1000.00 | + | 116 | 2019-04-27 | 47.22 | | 43.08 | 4237.14 | 4.22 | | | | 221.41 | | 1000.00 | + | 117 | 2019-04-28 | 47.22 | | 43.04 | 4194.10 | 4.18 | | | | 217.23 | | 1000.00 | + | 118 | 2019-04-29 | 47.22 | | 43.00 | 4151.01 | 4.14 | | | | 213.09 | | 1000.00 | + | 119 | 2019-04-30 | 47.22 | | 42.96 | 4107.89 | 4.09 | | | | 209.00 | | 1000.00 | + | 120 | 2019-05-01 | 47.22 | | 42.91 | 4064.72 | 4.05 | | | | 204.95 | | 1000.00 | + | 121 | 2019-05-02 | 47.22 | | 42.87 | 4021.51 | 4.01 | | | | 200.94 | | 1000.00 | + | 122 | 2019-05-03 | 47.22 | | 42.83 | 3978.25 | 3.97 | | | | 196.97 | | 1000.00 | + | 123 | 2019-05-04 | 47.22 | | 42.79 | 3934.96 | 3.92 | | | | 193.05 | | 1000.00 | + | 124 | 2019-05-05 | 47.22 | | 42.74 | 3891.62 | 3.88 | | | | 189.17 | | 1000.00 | + | 125 | 2019-05-06 | 47.22 | | 42.70 | 3848.24 | 3.84 | | | | 185.33 | | 1000.00 | + | 126 | 2019-05-07 | 47.22 | | 42.66 | 3804.81 | 3.80 | | | | 181.53 | | 1000.00 | + | 127 | 2019-05-08 | 47.22 | | 42.62 | 3761.35 | 3.75 | | | | 177.78 | | 1000.00 | + | 128 | 2019-05-09 | 47.22 | | 42.58 | 3717.84 | 3.71 | | | | 174.07 | | 1000.00 | + | 129 | 2019-05-10 | 47.22 | | 42.53 | 3674.28 | 3.67 | | | | 170.40 | | 1000.00 | + | 130 | 2019-05-11 | 47.22 | | 42.49 | 3630.69 | 3.62 | | | | 166.78 | | 1000.00 | + | 131 | 2019-05-12 | 47.22 | | 42.45 | 3587.05 | 3.58 | | | | 163.20 | | 1000.00 | + | 132 | 2019-05-13 | 47.22 | | 42.41 | 3543.37 | 3.54 | | | | 159.66 | | 1000.00 | + | 133 | 2019-05-14 | 47.22 | | 42.37 | 3499.64 | 3.49 | | | | 156.17 | | 1000.00 | + | 134 | 2019-05-15 | 47.22 | | 42.33 | 3455.87 | 3.45 | | | | 152.72 | | 1000.00 | + | 135 | 2019-05-16 | 47.22 | | 42.28 | 3412.06 | 3.41 | | | | 149.31 | | 1000.00 | + | 136 | 2019-05-17 | 47.22 | | 42.24 | 3368.21 | 3.37 | | | | 145.94 | | 1000.00 | + | 137 | 2019-05-18 | 47.22 | | 42.20 | 3324.31 | 3.32 | | | | 142.62 | | 1000.00 | + | 138 | 2019-05-19 | 47.22 | | 42.16 | 3280.37 | 3.28 | | | | 139.34 | | 1000.00 | + | 139 | 2019-05-20 | 47.22 | | 42.12 | 3236.38 | 3.24 | | | | 136.10 | | 1000.00 | + | 140 | 2019-05-21 | 47.22 | | 42.08 | 3192.36 | 3.19 | | | | 132.91 | | 1000.00 | + | 141 | 2019-05-22 | 47.22 | | 42.03 | 3148.28 | 3.15 | | | | 129.76 | | 1000.00 | + | 142 | 2019-05-23 | 47.22 | | 41.99 | 3104.17 | 3.11 | | | | 126.65 | | 1000.00 | + | 143 | 2019-05-24 | 47.22 | | 41.95 | 3060.01 | 3.06 | | | | 123.59 | | 1000.00 | + | 144 | 2019-05-25 | 47.22 | | 41.91 | 3015.81 | 3.02 | | | | 120.57 | | 1000.00 | + | 145 | 2019-05-26 | 47.22 | | 41.87 | 2971.56 | 2.97 | | | | 117.60 | | 1000.00 | + | 146 | 2019-05-27 | 47.22 | | 41.83 | 2927.27 | 2.93 | | | | 114.67 | | 1000.00 | + | 147 | 2019-05-28 | 47.22 | | 41.79 | 2882.94 | 2.89 | | | | 111.78 | | 1000.00 | + | 148 | 2019-05-29 | 47.22 | | 41.75 | 2838.56 | 2.84 | | | | 108.94 | | 1000.00 | + | 149 | 2019-05-30 | 47.22 | | 41.70 | 2794.14 | 2.80 | | | | 106.14 | | 1000.00 | + | 150 | 2019-05-31 | 47.22 | | 41.66 | 2749.68 | 2.76 | | | | 103.38 | | 1000.00 | + | 151 | 2019-06-01 | 47.22 | | 41.62 | 2705.17 | 2.71 | | | | 100.67 | | 1000.00 | + | 152 | 2019-06-02 | 47.22 | | 41.58 | 2660.62 | 2.67 | | | | 98.00 | | 1000.00 | + | 153 | 2019-06-03 | 47.22 | | 41.54 | 2616.03 | 2.62 | | | | 95.38 | | 1000.00 | + | 154 | 2019-06-04 | 47.22 | | 41.50 | 2571.39 | 2.58 | | | | 92.80 | | 1000.00 | + | 155 | 2019-06-05 | 47.22 | | 41.46 | 2526.70 | 2.54 | | | | 90.26 | | 1000.00 | + | 156 | 2019-06-06 | 47.22 | | 41.42 | 2481.97 | 2.49 | | | | 87.77 | | 1000.00 | + | 157 | 2019-06-07 | 47.22 | | 41.38 | 2437.20 | 2.45 | | | | 85.32 | | 1000.00 | + | 158 | 2019-06-08 | 47.22 | | 41.34 | 2392.39 | 2.40 | | | | 82.92 | | 1000.00 | + | 159 | 2019-06-09 | 47.22 | | 41.30 | 2347.53 | 2.36 | | | | 80.56 | | 1000.00 | + | 160 | 2019-06-10 | 47.22 | | 41.25 | 2302.62 | 2.32 | | | | 78.24 | | 1000.00 | + | 161 | 2019-06-11 | 47.22 | | 41.21 | 2257.67 | 2.27 | | | | 75.97 | | 1000.00 | + | 162 | 2019-06-12 | 47.22 | | 41.17 | 2212.68 | 2.23 | | | | 73.74 | | 1000.00 | + | 163 | 2019-06-13 | 47.22 | | 41.13 | 2167.64 | 2.18 | | | | 71.56 | | 1000.00 | + | 164 | 2019-06-14 | 47.22 | | 41.09 | 2122.56 | 2.14 | | | | 69.42 | | 1000.00 | + | 165 | 2019-06-15 | 47.22 | | 41.05 | 2077.43 | 2.09 | | | | 67.33 | | 1000.00 | + | 166 | 2019-06-16 | 47.22 | | 41.01 | 2032.26 | 2.05 | | | | 65.28 | | 1000.00 | + | 167 | 2019-06-17 | 47.22 | | 40.97 | 1987.05 | 2.00 | | | | 63.28 | | 1000.00 | + | 168 | 2019-06-18 | 47.22 | | 40.93 | 1941.79 | 1.96 | | | | 61.32 | | 1000.00 | + | 169 | 2019-06-19 | 47.22 | | 40.89 | 1896.48 | 1.92 | | | | 59.40 | | 1000.00 | + | 170 | 2019-06-20 | 47.22 | | 40.85 | 1851.13 | 1.87 | | | | 57.53 | | 1000.00 | + | 171 | 2019-06-21 | 47.22 | | 40.81 | 1805.74 | 1.83 | | | | 55.70 | | 1000.00 | + | 172 | 2019-06-22 | 47.22 | | 40.77 | 1760.30 | 1.78 | | | | 53.92 | | 1000.00 | + | 173 | 2019-06-23 | 47.22 | | 40.73 | 1714.81 | 1.74 | | | | 52.18 | | 1000.00 | + | 174 | 2019-06-24 | 47.22 | | 40.69 | 1669.29 | 1.69 | | | | 50.49 | | 1000.00 | + | 175 | 2019-06-25 | 47.22 | | 40.65 | 1623.71 | 1.65 | | | | 48.84 | | 1000.00 | + | 176 | 2019-06-26 | 47.22 | | 40.61 | 1578.09 | 1.60 | | | | 47.24 | | 1000.00 | + | 177 | 2019-06-27 | 47.22 | | 40.57 | 1532.43 | 1.56 | | | | 45.68 | | 1000.00 | + | 178 | 2019-06-28 | 47.22 | | 40.53 | 1486.72 | 1.51 | | | | 44.17 | | 1000.00 | + | 179 | 2019-06-29 | 47.22 | | 40.49 | 1440.97 | 1.47 | | | | 42.70 | | 1000.00 | + | 180 | 2019-06-30 | 47.22 | | 40.45 | 1395.17 | 1.42 | | | | 41.28 | | 1000.00 | + | 181 | 2019-07-01 | 47.22 | | 40.41 | 1349.33 | 1.38 | | | | 39.90 | | 1000.00 | + | 182 | 2019-07-02 | 47.22 | | 40.37 | 1303.44 | 1.33 | | | | 38.57 | | 1000.00 | + | 183 | 2019-07-03 | 47.22 | | 40.33 | 1257.50 | 1.29 | | | | 37.28 | | 1000.00 | + | 184 | 2019-07-04 | 47.22 | | 40.29 | 1211.52 | 1.24 | | | | 36.04 | | 1000.00 | + | 185 | 2019-07-05 | 47.22 | | 40.25 | 1165.50 | 1.19 | | | | 34.85 | | 1000.00 | + | 186 | 2019-07-06 | 47.22 | | 40.21 | 1119.43 | 1.15 | | | | 33.70 | | 1000.00 | + | 187 | 2019-07-07 | 47.22 | | 40.17 | 1073.31 | 1.10 | | | | 32.60 | | 1000.00 | + | 188 | 2019-07-08 | 47.22 | | 40.13 | 1027.15 | 1.06 | | | | 31.54 | | 1000.00 | + | 189 | 2019-07-09 | 47.22 | | 40.09 | 980.94 | 1.01 | | | | 30.53 | | 1000.00 | + | 190 | 2019-07-10 | 47.22 | | 40.05 | 934.69 | 0.97 | | | | 29.56 | | 1000.00 | + | 191 | 2019-07-11 | 47.22 | | 40.01 | 888.39 | 0.92 | | | | 28.64 | | 1000.00 | + | 192 | 2019-07-12 | 47.22 | | 39.97 | 842.05 | 0.88 | | | | 27.76 | | 1000.00 | + | 193 | 2019-07-13 | 47.22 | | 39.93 | 795.66 | 0.83 | | | | 26.93 | | 1000.00 | + | 194 | 2019-07-14 | 47.22 | | 39.89 | 749.22 | 0.78 | | | | 26.15 | | 1000.00 | + | 195 | 2019-07-15 | 47.22 | | 39.86 | 702.74 | 0.74 | | | | 25.41 | | 1000.00 | + | 196 | 2019-07-16 | 47.22 | | 39.82 | 656.22 | 0.69 | | | | 24.72 | | 1000.00 | + | 197 | 2019-07-17 | 47.22 | | 39.78 | 609.64 | 0.65 | | | | 24.07 | | 1000.00 | + | 198 | 2019-07-18 | 47.22 | | 39.74 | 563.02 | 0.60 | | | | 23.47 | | 1000.00 | + | 199 | 2019-07-19 | 47.22 | | 39.70 | 516.36 | 0.56 | | | | 22.91 | | 1000.00 | + | 200 | 2019-07-20 | 47.22 | | 39.66 | 469.65 | 0.51 | | | | 22.40 | | 1000.00 | + | 201 | 2019-07-21 | 47.22 | | 39.62 | 422.89 | 0.46 | | | | 21.94 | | 1000.00 | + | 202 | 2019-07-22 | 47.22 | | 39.58 | 376.09 | 0.42 | | | | 21.52 | | 1000.00 | + | 203 | 2019-07-23 | 47.22 | | 39.54 | 329.24 | 0.37 | | | | 21.15 | | 1000.00 | + | 204 | 2019-07-24 | 47.22 | | 39.50 | 282.34 | 0.32 | | | | 20.83 | | 1000.00 | + | 205 | 2019-07-25 | 47.22 | | 39.46 | 235.40 | 0.28 | | | | 20.55 | | 1000.00 | + | 206 | 2019-07-26 | 47.22 | | 39.43 | 188.42 | 0.23 | | | | 20.32 | | 1000.00 | + | 207 | 2019-07-27 | 47.22 | | 39.39 | 141.38 | 0.19 | | | | 20.13 | | 1000.00 | + | 208 | 2019-07-28 | 47.22 | | 39.35 | 94.30 | 0.14 | | | | 19.99 | | 1000.00 | + | 209 | 2019-07-29 | 47.22 | | 39.31 | 47.17 | 0.09 | | | | 19.90 | | 1000.00 | + | 210 | 2019-07-30 | 47.22 | | 39.27 | 0.00 | 0.05 | | | | 19.85 | | 1000.00 | diff --git a/fineract-e2e-tests-runner/src/test/resources/features/WorkingCapitalLoanRepayment.feature b/fineract-e2e-tests-runner/src/test/resources/features/WorkingCapitalLoanRepayment.feature index 66cd3c1a367..2ee0f73fe1f 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/WorkingCapitalLoanRepayment.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/WorkingCapitalLoanRepayment.feature @@ -2,7 +2,7 @@ Feature: Working Capital Loan Repayment @TestRailId:C76617 - Scenario: Verify working capital loan repayment - UC1: simple repayment + Scenario: Verify working capital loan repayment - UC1: simple repayment: pay more than expected When Admin sets the business date to "01 January 2026" And Admin creates a client with random data And Admin creates a working capital loan with the following data: @@ -25,15 +25,188 @@ Feature: Working Capital Loan Repayment Then Working Capital loan delinquency range schedule has the following data: | periodNumber | fromDate | toDate | expectedAmount | paidAmount | outstandingAmount | minPaymentCriteriaMet | delinquentAmount | delinquentDays | | 1 | 2026-01-01 | 2026-01-30 | 270.0 | 270.0 | 0.0 | true | 0.0 | 0 | - Then Working Capital loan amortization schedule has 4 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | - | 1 | 02 January 2026 | 5000.00 | 270.00 | 1 | 270.00 | 4658.91 | 0.00 | 35.58 | 35.58 | 0.00 | - | 2 | 03 January 2026 | 5000.00 | | 0.9317821063276353179 | 4658.91 | 0.00 | 0.00 | | | 0.00 | - | 3 | 04 January 2026 | | | 0.8682178936723646887 | 4106.67 | | | | | 0.00 | + Then Working Capital loan amortization schedule has 177 periods, with the following data for periods: + | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | + | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | + | 1 | 02 January 2026 | 50.00 | 270.00 | 1 | 270.00 | 8950.00 | 0.00 | 0.00 | 0.00 | 0.00 | + | 2 | 03 January 2026 | 50.00 | | 1 | 50.00 | 8900.00 | 0.00 | | | 0.00 | + | 3 | 04 January 2026 | 50.00 | | 1 | 50.00 | 8850.00 | 0.00 | | | 0.00 | + | 4 | 05 January 2026 | 50.00 | | 1 | 50.00 | 8800.00 | 0.00 | | | 0.00 | + | 5 | 06 January 2026 | 50.00 | | 1 | 50.00 | 8750.00 | 0.00 | | | 0.00 | + | 6 | 07 January 2026 | 50.00 | | 1 | 50.00 | 8700.00 | 0.00 | | | 0.00 | + | 7 | 08 January 2026 | 50.00 | | 1 | 50.00 | 8650.00 | 0.00 | | | 0.00 | + | 8 | 09 January 2026 | 50.00 | | 1 | 50.00 | 8600.00 | 0.00 | | | 0.00 | + | 9 | 10 January 2026 | 50.00 | | 1 | 50.00 | 8550.00 | 0.00 | | | 0.00 | + | 10 | 11 January 2026 | 50.00 | | 1 | 50.00 | 8500.00 | 0.00 | | | 0.00 | + | 11 | 12 January 2026 | 50.00 | | 1 | 50.00 | 8450.00 | 0.00 | | | 0.00 | + | 12 | 13 January 2026 | 50.00 | | 1 | 50.00 | 8400.00 | 0.00 | | | 0.00 | + | 13 | 14 January 2026 | 50.00 | | 1 | 50.00 | 8350.00 | 0.00 | | | 0.00 | + | 14 | 15 January 2026 | 50.00 | | 1 | 50.00 | 8300.00 | 0.00 | | | 0.00 | + | 15 | 16 January 2026 | 50.00 | | 1 | 50.00 | 8250.00 | 0.00 | | | 0.00 | + | 16 | 17 January 2026 | 50.00 | | 1 | 50.00 | 8200.00 | 0.00 | | | 0.00 | + | 17 | 18 January 2026 | 50.00 | | 1 | 50.00 | 8150.00 | 0.00 | | | 0.00 | + | 18 | 19 January 2026 | 50.00 | | 1 | 50.00 | 8100.00 | 0.00 | | | 0.00 | + | 19 | 20 January 2026 | 50.00 | | 1 | 50.00 | 8050.00 | 0.00 | | | 0.00 | + | 20 | 21 January 2026 | 50.00 | | 1 | 50.00 | 8000.00 | 0.00 | | | 0.00 | + | 21 | 22 January 2026 | 50.00 | | 1 | 50.00 | 7950.00 | 0.00 | | | 0.00 | + | 22 | 23 January 2026 | 50.00 | | 1 | 50.00 | 7900.00 | 0.00 | | | 0.00 | + | 23 | 24 January 2026 | 50.00 | | 1 | 50.00 | 7850.00 | 0.00 | | | 0.00 | + | 24 | 25 January 2026 | 50.00 | | 1 | 50.00 | 7800.00 | 0.00 | | | 0.00 | + | 25 | 26 January 2026 | 50.00 | | 1 | 50.00 | 7750.00 | 0.00 | | | 0.00 | + | 26 | 27 January 2026 | 50.00 | | 1 | 50.00 | 7700.00 | 0.00 | | | 0.00 | + | 27 | 28 January 2026 | 50.00 | | 1 | 50.00 | 7650.00 | 0.00 | | | 0.00 | + | 28 | 29 January 2026 | 50.00 | | 1 | 50.00 | 7600.00 | 0.00 | | | 0.00 | + | 29 | 30 January 2026 | 50.00 | | 1 | 50.00 | 7550.00 | 0.00 | | | 0.00 | + | 30 | 31 January 2026 | 50.00 | | 1 | 50.00 | 7500.00 | 0.00 | | | 0.00 | + | 31 | 01 February 2026 | 50.00 | | 1 | 50.00 | 7450.00 | 0.00 | | | 0.00 | + | 32 | 02 February 2026 | 50.00 | | 1 | 50.00 | 7400.00 | 0.00 | | | 0.00 | + | 33 | 03 February 2026 | 50.00 | | 1 | 50.00 | 7350.00 | 0.00 | | | 0.00 | + | 34 | 04 February 2026 | 50.00 | | 1 | 50.00 | 7300.00 | 0.00 | | | 0.00 | + | 35 | 05 February 2026 | 50.00 | | 1 | 50.00 | 7250.00 | 0.00 | | | 0.00 | + | 36 | 06 February 2026 | 50.00 | | 1 | 50.00 | 7200.00 | 0.00 | | | 0.00 | + | 37 | 07 February 2026 | 50.00 | | 1 | 50.00 | 7150.00 | 0.00 | | | 0.00 | + | 38 | 08 February 2026 | 50.00 | | 1 | 50.00 | 7100.00 | 0.00 | | | 0.00 | + | 39 | 09 February 2026 | 50.00 | | 1 | 50.00 | 7050.00 | 0.00 | | | 0.00 | + | 40 | 10 February 2026 | 50.00 | | 1 | 50.00 | 7000.00 | 0.00 | | | 0.00 | + | 41 | 11 February 2026 | 50.00 | | 1 | 50.00 | 6950.00 | 0.00 | | | 0.00 | + | 42 | 12 February 2026 | 50.00 | | 1 | 50.00 | 6900.00 | 0.00 | | | 0.00 | + | 43 | 13 February 2026 | 50.00 | | 1 | 50.00 | 6850.00 | 0.00 | | | 0.00 | + | 44 | 14 February 2026 | 50.00 | | 1 | 50.00 | 6800.00 | 0.00 | | | 0.00 | + | 45 | 15 February 2026 | 50.00 | | 1 | 50.00 | 6750.00 | 0.00 | | | 0.00 | + | 46 | 16 February 2026 | 50.00 | | 1 | 50.00 | 6700.00 | 0.00 | | | 0.00 | + | 47 | 17 February 2026 | 50.00 | | 1 | 50.00 | 6650.00 | 0.00 | | | 0.00 | + | 48 | 18 February 2026 | 50.00 | | 1 | 50.00 | 6600.00 | 0.00 | | | 0.00 | + | 49 | 19 February 2026 | 50.00 | | 1 | 50.00 | 6550.00 | 0.00 | | | 0.00 | + | 50 | 20 February 2026 | 50.00 | | 1 | 50.00 | 6500.00 | 0.00 | | | 0.00 | + | 51 | 21 February 2026 | 50.00 | | 1 | 50.00 | 6450.00 | 0.00 | | | 0.00 | + | 52 | 22 February 2026 | 50.00 | | 1 | 50.00 | 6400.00 | 0.00 | | | 0.00 | + | 53 | 23 February 2026 | 50.00 | | 1 | 50.00 | 6350.00 | 0.00 | | | 0.00 | + | 54 | 24 February 2026 | 50.00 | | 1 | 50.00 | 6300.00 | 0.00 | | | 0.00 | + | 55 | 25 February 2026 | 50.00 | | 1 | 50.00 | 6250.00 | 0.00 | | | 0.00 | + | 56 | 26 February 2026 | 50.00 | | 1 | 50.00 | 6200.00 | 0.00 | | | 0.00 | + | 57 | 27 February 2026 | 50.00 | | 1 | 50.00 | 6150.00 | 0.00 | | | 0.00 | + | 58 | 28 February 2026 | 50.00 | | 1 | 50.00 | 6100.00 | 0.00 | | | 0.00 | + | 59 | 01 March 2026 | 50.00 | | 1 | 50.00 | 6050.00 | 0.00 | | | 0.00 | + | 60 | 02 March 2026 | 50.00 | | 1 | 50.00 | 6000.00 | 0.00 | | | 0.00 | + | 61 | 03 March 2026 | 50.00 | | 1 | 50.00 | 5950.00 | 0.00 | | | 0.00 | + | 62 | 04 March 2026 | 50.00 | | 1 | 50.00 | 5900.00 | 0.00 | | | 0.00 | + | 63 | 05 March 2026 | 50.00 | | 1 | 50.00 | 5850.00 | 0.00 | | | 0.00 | + | 64 | 06 March 2026 | 50.00 | | 1 | 50.00 | 5800.00 | 0.00 | | | 0.00 | + | 65 | 07 March 2026 | 50.00 | | 1 | 50.00 | 5750.00 | 0.00 | | | 0.00 | + | 66 | 08 March 2026 | 50.00 | | 1 | 50.00 | 5700.00 | 0.00 | | | 0.00 | + | 67 | 09 March 2026 | 50.00 | | 1 | 50.00 | 5650.00 | 0.00 | | | 0.00 | + | 68 | 10 March 2026 | 50.00 | | 1 | 50.00 | 5600.00 | 0.00 | | | 0.00 | + | 69 | 11 March 2026 | 50.00 | | 1 | 50.00 | 5550.00 | 0.00 | | | 0.00 | + | 70 | 12 March 2026 | 50.00 | | 1 | 50.00 | 5500.00 | 0.00 | | | 0.00 | + | 71 | 13 March 2026 | 50.00 | | 1 | 50.00 | 5450.00 | 0.00 | | | 0.00 | + | 72 | 14 March 2026 | 50.00 | | 1 | 50.00 | 5400.00 | 0.00 | | | 0.00 | + | 73 | 15 March 2026 | 50.00 | | 1 | 50.00 | 5350.00 | 0.00 | | | 0.00 | + | 74 | 16 March 2026 | 50.00 | | 1 | 50.00 | 5300.00 | 0.00 | | | 0.00 | + | 75 | 17 March 2026 | 50.00 | | 1 | 50.00 | 5250.00 | 0.00 | | | 0.00 | + | 76 | 18 March 2026 | 50.00 | | 1 | 50.00 | 5200.00 | 0.00 | | | 0.00 | + | 77 | 19 March 2026 | 50.00 | | 1 | 50.00 | 5150.00 | 0.00 | | | 0.00 | + | 78 | 20 March 2026 | 50.00 | | 1 | 50.00 | 5100.00 | 0.00 | | | 0.00 | + | 79 | 21 March 2026 | 50.00 | | 1 | 50.00 | 5050.00 | 0.00 | | | 0.00 | + | 80 | 22 March 2026 | 50.00 | | 1 | 50.00 | 5000.00 | 0.00 | | | 0.00 | + | 81 | 23 March 2026 | 50.00 | | 1 | 50.00 | 4950.00 | 0.00 | | | 0.00 | + | 82 | 24 March 2026 | 50.00 | | 1 | 50.00 | 4900.00 | 0.00 | | | 0.00 | + | 83 | 25 March 2026 | 50.00 | | 1 | 50.00 | 4850.00 | 0.00 | | | 0.00 | + | 84 | 26 March 2026 | 50.00 | | 1 | 50.00 | 4800.00 | 0.00 | | | 0.00 | + | 85 | 27 March 2026 | 50.00 | | 1 | 50.00 | 4750.00 | 0.00 | | | 0.00 | + | 86 | 28 March 2026 | 50.00 | | 1 | 50.00 | 4700.00 | 0.00 | | | 0.00 | + | 87 | 29 March 2026 | 50.00 | | 1 | 50.00 | 4650.00 | 0.00 | | | 0.00 | + | 88 | 30 March 2026 | 50.00 | | 1 | 50.00 | 4600.00 | 0.00 | | | 0.00 | + | 89 | 31 March 2026 | 50.00 | | 1 | 50.00 | 4550.00 | 0.00 | | | 0.00 | + | 90 | 01 April 2026 | 50.00 | | 1 | 50.00 | 4500.00 | 0.00 | | | 0.00 | + | 91 | 02 April 2026 | 50.00 | | 1 | 50.00 | 4450.00 | 0.00 | | | 0.00 | + | 92 | 03 April 2026 | 50.00 | | 1 | 50.00 | 4400.00 | 0.00 | | | 0.00 | + | 93 | 04 April 2026 | 50.00 | | 1 | 50.00 | 4350.00 | 0.00 | | | 0.00 | + | 94 | 05 April 2026 | 50.00 | | 1 | 50.00 | 4300.00 | 0.00 | | | 0.00 | + | 95 | 06 April 2026 | 50.00 | | 1 | 50.00 | 4250.00 | 0.00 | | | 0.00 | + | 96 | 07 April 2026 | 50.00 | | 1 | 50.00 | 4200.00 | 0.00 | | | 0.00 | + | 97 | 08 April 2026 | 50.00 | | 1 | 50.00 | 4150.00 | 0.00 | | | 0.00 | + | 98 | 09 April 2026 | 50.00 | | 1 | 50.00 | 4100.00 | 0.00 | | | 0.00 | + | 99 | 10 April 2026 | 50.00 | | 1 | 50.00 | 4050.00 | 0.00 | | | 0.00 | + | 100 | 11 April 2026 | 50.00 | | 1 | 50.00 | 4000.00 | 0.00 | | | 0.00 | + | 101 | 12 April 2026 | 50.00 | | 1 | 50.00 | 3950.00 | 0.00 | | | 0.00 | + | 102 | 13 April 2026 | 50.00 | | 1 | 50.00 | 3900.00 | 0.00 | | | 0.00 | + | 103 | 14 April 2026 | 50.00 | | 1 | 50.00 | 3850.00 | 0.00 | | | 0.00 | + | 104 | 15 April 2026 | 50.00 | | 1 | 50.00 | 3800.00 | 0.00 | | | 0.00 | + | 105 | 16 April 2026 | 50.00 | | 1 | 50.00 | 3750.00 | 0.00 | | | 0.00 | + | 106 | 17 April 2026 | 50.00 | | 1 | 50.00 | 3700.00 | 0.00 | | | 0.00 | + | 107 | 18 April 2026 | 50.00 | | 1 | 50.00 | 3650.00 | 0.00 | | | 0.00 | + | 108 | 19 April 2026 | 50.00 | | 1 | 50.00 | 3600.00 | 0.00 | | | 0.00 | + | 109 | 20 April 2026 | 50.00 | | 1 | 50.00 | 3550.00 | 0.00 | | | 0.00 | + | 110 | 21 April 2026 | 50.00 | | 1 | 50.00 | 3500.00 | 0.00 | | | 0.00 | + | 111 | 22 April 2026 | 50.00 | | 1 | 50.00 | 3450.00 | 0.00 | | | 0.00 | + | 112 | 23 April 2026 | 50.00 | | 1 | 50.00 | 3400.00 | 0.00 | | | 0.00 | + | 113 | 24 April 2026 | 50.00 | | 1 | 50.00 | 3350.00 | 0.00 | | | 0.00 | + | 114 | 25 April 2026 | 50.00 | | 1 | 50.00 | 3300.00 | 0.00 | | | 0.00 | + | 115 | 26 April 2026 | 50.00 | | 1 | 50.00 | 3250.00 | 0.00 | | | 0.00 | + | 116 | 27 April 2026 | 50.00 | | 1 | 50.00 | 3200.00 | 0.00 | | | 0.00 | + | 117 | 28 April 2026 | 50.00 | | 1 | 50.00 | 3150.00 | 0.00 | | | 0.00 | + | 118 | 29 April 2026 | 50.00 | | 1 | 50.00 | 3100.00 | 0.00 | | | 0.00 | + | 119 | 30 April 2026 | 50.00 | | 1 | 50.00 | 3050.00 | 0.00 | | | 0.00 | + | 120 | 01 May 2026 | 50.00 | | 1 | 50.00 | 3000.00 | 0.00 | | | 0.00 | + | 121 | 02 May 2026 | 50.00 | | 1 | 50.00 | 2950.00 | 0.00 | | | 0.00 | + | 122 | 03 May 2026 | 50.00 | | 1 | 50.00 | 2900.00 | 0.00 | | | 0.00 | + | 123 | 04 May 2026 | 50.00 | | 1 | 50.00 | 2850.00 | 0.00 | | | 0.00 | + | 124 | 05 May 2026 | 50.00 | | 1 | 50.00 | 2800.00 | 0.00 | | | 0.00 | + | 125 | 06 May 2026 | 50.00 | | 1 | 50.00 | 2750.00 | 0.00 | | | 0.00 | + | 126 | 07 May 2026 | 50.00 | | 1 | 50.00 | 2700.00 | 0.00 | | | 0.00 | + | 127 | 08 May 2026 | 50.00 | | 1 | 50.00 | 2650.00 | 0.00 | | | 0.00 | + | 128 | 09 May 2026 | 50.00 | | 1 | 50.00 | 2600.00 | 0.00 | | | 0.00 | + | 129 | 10 May 2026 | 50.00 | | 1 | 50.00 | 2550.00 | 0.00 | | | 0.00 | + | 130 | 11 May 2026 | 50.00 | | 1 | 50.00 | 2500.00 | 0.00 | | | 0.00 | + | 131 | 12 May 2026 | 50.00 | | 1 | 50.00 | 2450.00 | 0.00 | | | 0.00 | + | 132 | 13 May 2026 | 50.00 | | 1 | 50.00 | 2400.00 | 0.00 | | | 0.00 | + | 133 | 14 May 2026 | 50.00 | | 1 | 50.00 | 2350.00 | 0.00 | | | 0.00 | + | 134 | 15 May 2026 | 50.00 | | 1 | 50.00 | 2300.00 | 0.00 | | | 0.00 | + | 135 | 16 May 2026 | 50.00 | | 1 | 50.00 | 2250.00 | 0.00 | | | 0.00 | + | 136 | 17 May 2026 | 50.00 | | 1 | 50.00 | 2200.00 | 0.00 | | | 0.00 | + | 137 | 18 May 2026 | 50.00 | | 1 | 50.00 | 2150.00 | 0.00 | | | 0.00 | + | 138 | 19 May 2026 | 50.00 | | 1 | 50.00 | 2100.00 | 0.00 | | | 0.00 | + | 139 | 20 May 2026 | 50.00 | | 1 | 50.00 | 2050.00 | 0.00 | | | 0.00 | + | 140 | 21 May 2026 | 50.00 | | 1 | 50.00 | 2000.00 | 0.00 | | | 0.00 | + | 141 | 22 May 2026 | 50.00 | | 1 | 50.00 | 1950.00 | 0.00 | | | 0.00 | + | 142 | 23 May 2026 | 50.00 | | 1 | 50.00 | 1900.00 | 0.00 | | | 0.00 | + | 143 | 24 May 2026 | 50.00 | | 1 | 50.00 | 1850.00 | 0.00 | | | 0.00 | + | 144 | 25 May 2026 | 50.00 | | 1 | 50.00 | 1800.00 | 0.00 | | | 0.00 | + | 145 | 26 May 2026 | 50.00 | | 1 | 50.00 | 1750.00 | 0.00 | | | 0.00 | + | 146 | 27 May 2026 | 50.00 | | 1 | 50.00 | 1700.00 | 0.00 | | | 0.00 | + | 147 | 28 May 2026 | 50.00 | | 1 | 50.00 | 1650.00 | 0.00 | | | 0.00 | + | 148 | 29 May 2026 | 50.00 | | 1 | 50.00 | 1600.00 | 0.00 | | | 0.00 | + | 149 | 30 May 2026 | 50.00 | | 1 | 50.00 | 1550.00 | 0.00 | | | 0.00 | + | 150 | 31 May 2026 | 50.00 | | 1 | 50.00 | 1500.00 | 0.00 | | | 0.00 | + | 151 | 01 June 2026 | 50.00 | | 1 | 50.00 | 1450.00 | 0.00 | | | 0.00 | + | 152 | 02 June 2026 | 50.00 | | 1 | 50.00 | 1400.00 | 0.00 | | | 0.00 | + | 153 | 03 June 2026 | 50.00 | | 1 | 50.00 | 1350.00 | 0.00 | | | 0.00 | + | 154 | 04 June 2026 | 50.00 | | 1 | 50.00 | 1300.00 | 0.00 | | | 0.00 | + | 155 | 05 June 2026 | 50.00 | | 1 | 50.00 | 1250.00 | 0.00 | | | 0.00 | + | 156 | 06 June 2026 | 50.00 | | 1 | 50.00 | 1200.00 | 0.00 | | | 0.00 | + | 157 | 07 June 2026 | 50.00 | | 1 | 50.00 | 1150.00 | 0.00 | | | 0.00 | + | 158 | 08 June 2026 | 50.00 | | 1 | 50.00 | 1100.00 | 0.00 | | | 0.00 | + | 159 | 09 June 2026 | 50.00 | | 1 | 50.00 | 1050.00 | 0.00 | | | 0.00 | + | 160 | 10 June 2026 | 50.00 | | 1 | 50.00 | 1000.00 | 0.00 | | | 0.00 | + | 161 | 11 June 2026 | 50.00 | | 1 | 50.00 | 950.00 | 0.00 | | | 0.00 | + | 162 | 12 June 2026 | 50.00 | | 1 | 50.00 | 900.00 | 0.00 | | | 0.00 | + | 163 | 13 June 2026 | 50.00 | | 1 | 50.00 | 850.00 | 0.00 | | | 0.00 | + | 164 | 14 June 2026 | 50.00 | | 1 | 50.00 | 800.00 | 0.00 | | | 0.00 | + | 165 | 15 June 2026 | 50.00 | | 1 | 50.00 | 750.00 | 0.00 | | | 0.00 | + | 166 | 16 June 2026 | 50.00 | | 1 | 50.00 | 700.00 | 0.00 | | | 0.00 | + | 167 | 17 June 2026 | 50.00 | | 1 | 50.00 | 650.00 | 0.00 | | | 0.00 | + | 168 | 18 June 2026 | 50.00 | | 1 | 50.00 | 600.00 | 0.00 | | | 0.00 | + | 169 | 19 June 2026 | 50.00 | | 1 | 50.00 | 550.00 | 0.00 | | | 0.00 | + | 170 | 20 June 2026 | 50.00 | | 1 | 50.00 | 500.00 | 0.00 | | | 0.00 | + | 171 | 21 June 2026 | 50.00 | | 1 | 50.00 | 450.00 | 0.00 | | | 0.00 | + | 172 | 22 June 2026 | 50.00 | | 1 | 50.00 | 400.00 | 0.00 | | | 0.00 | + | 173 | 23 June 2026 | 50.00 | | 1 | 50.00 | 350.00 | 0.00 | | | 0.00 | + | 174 | 24 June 2026 | 50.00 | | 1 | 50.00 | 300.00 | 0.00 | | | 0.00 | + | 175 | 25 June 2026 | 50.00 | | 1 | 50.00 | 250.00 | 0.00 | | | 0.00 | + | 176 | 26 June 2026 | 50.00 | | 1 | 30.00 | 200.00 | 0.00 | | | 0.00 | @TestRailId:C76618 - Scenario: Verify working capital loan repayment - UC2: simple repayment by loan external ID + Scenario: Verify working capital loan repayment - UC2: simple repayment by loan external ID: pay less than expected When Admin sets the business date to "01 January 2026" And Admin creates a client with random data And Admin creates a working capital loan with the following data: @@ -52,16 +225,194 @@ Feature: Working Capital Loan Repayment | WCLP | 2026-01-01 | 2026-01-01 | Active | 9000.0 | 9000.0 | 100000.0 | 18.0 | null | When Admin sets the business date to "10 January 2026" And Admin runs inline COB job for Working Capital Loan by loanId - And Customer makes repayment by loan external ID on "10 January 2026" with 270.0 transaction amount on Working Capital loan + And Customer makes repayment by loan external ID on "10 January 2026" with 30.0 transaction amount on Working Capital loan Then Working Capital loan delinquency range schedule has the following data: | periodNumber | fromDate | toDate | expectedAmount | paidAmount | outstandingAmount | minPaymentCriteriaMet | delinquentAmount | delinquentDays | - | 1 | 2026-01-01 | 2026-01-30 | 270.0 | 270.0 | 0.0 | true | 0.0 | 0 | - Then Working Capital loan amortization schedule has 4 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | - | 1 | 02 January 2026 | 5000.00 | 270.00 | 1 | 270.00 | 4658.91 | 0.00 | 35.58 | 35.58 | 0.00 | - | 2 | 03 January 2026 | 5000.00 | | 0.9317821063276353179 | 4658.91 | 0.00 | 0.00 | | | 0.00 | - | 3 | 04 January 2026 | | | 0.8682178936723646887 | 4106.67 | | | | | 0.00 | + | 1 | 2026-01-01 | 2026-01-30 | 270.0 | 30.0 | 240.0 | null | null | null | + Then Working Capital loan amortization schedule has 182 periods, with the following data for periods: + | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | + | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | + | 1 | 02 January 2026 | 50.00 | 30.00 | 1 | 30.00 | 8950.00 | 0.00 | 0.00 | 0.00 | 0.00 | + | 2 | 03 January 2026 | 50.00 | | 1 | 50.00 | 8900.00 | 0.00 | | | 0.00 | + | 3 | 04 January 2026 | 50.00 | | 1 | 50.00 | 8850.00 | 0.00 | | | 0.00 | + | 4 | 05 January 2026 | 50.00 | | 1 | 50.00 | 8800.00 | 0.00 | | | 0.00 | + | 5 | 06 January 2026 | 50.00 | | 1 | 50.00 | 8750.00 | 0.00 | | | 0.00 | + | 6 | 07 January 2026 | 50.00 | | 1 | 50.00 | 8700.00 | 0.00 | | | 0.00 | + | 7 | 08 January 2026 | 50.00 | | 1 | 50.00 | 8650.00 | 0.00 | | | 0.00 | + | 8 | 09 January 2026 | 50.00 | | 1 | 50.00 | 8600.00 | 0.00 | | | 0.00 | + | 9 | 10 January 2026 | 50.00 | | 1 | 50.00 | 8550.00 | 0.00 | | | 0.00 | + | 10 | 11 January 2026 | 50.00 | | 1 | 50.00 | 8500.00 | 0.00 | | | 0.00 | + | 11 | 12 January 2026 | 50.00 | | 1 | 50.00 | 8450.00 | 0.00 | | | 0.00 | + | 12 | 13 January 2026 | 50.00 | | 1 | 50.00 | 8400.00 | 0.00 | | | 0.00 | + | 13 | 14 January 2026 | 50.00 | | 1 | 50.00 | 8350.00 | 0.00 | | | 0.00 | + | 14 | 15 January 2026 | 50.00 | | 1 | 50.00 | 8300.00 | 0.00 | | | 0.00 | + | 15 | 16 January 2026 | 50.00 | | 1 | 50.00 | 8250.00 | 0.00 | | | 0.00 | + | 16 | 17 January 2026 | 50.00 | | 1 | 50.00 | 8200.00 | 0.00 | | | 0.00 | + | 17 | 18 January 2026 | 50.00 | | 1 | 50.00 | 8150.00 | 0.00 | | | 0.00 | + | 18 | 19 January 2026 | 50.00 | | 1 | 50.00 | 8100.00 | 0.00 | | | 0.00 | + | 19 | 20 January 2026 | 50.00 | | 1 | 50.00 | 8050.00 | 0.00 | | | 0.00 | + | 20 | 21 January 2026 | 50.00 | | 1 | 50.00 | 8000.00 | 0.00 | | | 0.00 | + | 21 | 22 January 2026 | 50.00 | | 1 | 50.00 | 7950.00 | 0.00 | | | 0.00 | + | 22 | 23 January 2026 | 50.00 | | 1 | 50.00 | 7900.00 | 0.00 | | | 0.00 | + | 23 | 24 January 2026 | 50.00 | | 1 | 50.00 | 7850.00 | 0.00 | | | 0.00 | + | 24 | 25 January 2026 | 50.00 | | 1 | 50.00 | 7800.00 | 0.00 | | | 0.00 | + | 25 | 26 January 2026 | 50.00 | | 1 | 50.00 | 7750.00 | 0.00 | | | 0.00 | + | 26 | 27 January 2026 | 50.00 | | 1 | 50.00 | 7700.00 | 0.00 | | | 0.00 | + | 27 | 28 January 2026 | 50.00 | | 1 | 50.00 | 7650.00 | 0.00 | | | 0.00 | + | 28 | 29 January 2026 | 50.00 | | 1 | 50.00 | 7600.00 | 0.00 | | | 0.00 | + | 29 | 30 January 2026 | 50.00 | | 1 | 50.00 | 7550.00 | 0.00 | | | 0.00 | + | 30 | 31 January 2026 | 50.00 | | 1 | 50.00 | 7500.00 | 0.00 | | | 0.00 | + | 31 | 01 February 2026 | 50.00 | | 1 | 50.00 | 7450.00 | 0.00 | | | 0.00 | + | 32 | 02 February 2026 | 50.00 | | 1 | 50.00 | 7400.00 | 0.00 | | | 0.00 | + | 33 | 03 February 2026 | 50.00 | | 1 | 50.00 | 7350.00 | 0.00 | | | 0.00 | + | 34 | 04 February 2026 | 50.00 | | 1 | 50.00 | 7300.00 | 0.00 | | | 0.00 | + | 35 | 05 February 2026 | 50.00 | | 1 | 50.00 | 7250.00 | 0.00 | | | 0.00 | + | 36 | 06 February 2026 | 50.00 | | 1 | 50.00 | 7200.00 | 0.00 | | | 0.00 | + | 37 | 07 February 2026 | 50.00 | | 1 | 50.00 | 7150.00 | 0.00 | | | 0.00 | + | 38 | 08 February 2026 | 50.00 | | 1 | 50.00 | 7100.00 | 0.00 | | | 0.00 | + | 39 | 09 February 2026 | 50.00 | | 1 | 50.00 | 7050.00 | 0.00 | | | 0.00 | + | 40 | 10 February 2026 | 50.00 | | 1 | 50.00 | 7000.00 | 0.00 | | | 0.00 | + | 41 | 11 February 2026 | 50.00 | | 1 | 50.00 | 6950.00 | 0.00 | | | 0.00 | + | 42 | 12 February 2026 | 50.00 | | 1 | 50.00 | 6900.00 | 0.00 | | | 0.00 | + | 43 | 13 February 2026 | 50.00 | | 1 | 50.00 | 6850.00 | 0.00 | | | 0.00 | + | 44 | 14 February 2026 | 50.00 | | 1 | 50.00 | 6800.00 | 0.00 | | | 0.00 | + | 45 | 15 February 2026 | 50.00 | | 1 | 50.00 | 6750.00 | 0.00 | | | 0.00 | + | 46 | 16 February 2026 | 50.00 | | 1 | 50.00 | 6700.00 | 0.00 | | | 0.00 | + | 47 | 17 February 2026 | 50.00 | | 1 | 50.00 | 6650.00 | 0.00 | | | 0.00 | + | 48 | 18 February 2026 | 50.00 | | 1 | 50.00 | 6600.00 | 0.00 | | | 0.00 | + | 49 | 19 February 2026 | 50.00 | | 1 | 50.00 | 6550.00 | 0.00 | | | 0.00 | + | 50 | 20 February 2026 | 50.00 | | 1 | 50.00 | 6500.00 | 0.00 | | | 0.00 | + | 51 | 21 February 2026 | 50.00 | | 1 | 50.00 | 6450.00 | 0.00 | | | 0.00 | + | 52 | 22 February 2026 | 50.00 | | 1 | 50.00 | 6400.00 | 0.00 | | | 0.00 | + | 53 | 23 February 2026 | 50.00 | | 1 | 50.00 | 6350.00 | 0.00 | | | 0.00 | + | 54 | 24 February 2026 | 50.00 | | 1 | 50.00 | 6300.00 | 0.00 | | | 0.00 | + | 55 | 25 February 2026 | 50.00 | | 1 | 50.00 | 6250.00 | 0.00 | | | 0.00 | + | 56 | 26 February 2026 | 50.00 | | 1 | 50.00 | 6200.00 | 0.00 | | | 0.00 | + | 57 | 27 February 2026 | 50.00 | | 1 | 50.00 | 6150.00 | 0.00 | | | 0.00 | + | 58 | 28 February 2026 | 50.00 | | 1 | 50.00 | 6100.00 | 0.00 | | | 0.00 | + | 59 | 01 March 2026 | 50.00 | | 1 | 50.00 | 6050.00 | 0.00 | | | 0.00 | + | 60 | 02 March 2026 | 50.00 | | 1 | 50.00 | 6000.00 | 0.00 | | | 0.00 | + | 61 | 03 March 2026 | 50.00 | | 1 | 50.00 | 5950.00 | 0.00 | | | 0.00 | + | 62 | 04 March 2026 | 50.00 | | 1 | 50.00 | 5900.00 | 0.00 | | | 0.00 | + | 63 | 05 March 2026 | 50.00 | | 1 | 50.00 | 5850.00 | 0.00 | | | 0.00 | + | 64 | 06 March 2026 | 50.00 | | 1 | 50.00 | 5800.00 | 0.00 | | | 0.00 | + | 65 | 07 March 2026 | 50.00 | | 1 | 50.00 | 5750.00 | 0.00 | | | 0.00 | + | 66 | 08 March 2026 | 50.00 | | 1 | 50.00 | 5700.00 | 0.00 | | | 0.00 | + | 67 | 09 March 2026 | 50.00 | | 1 | 50.00 | 5650.00 | 0.00 | | | 0.00 | + | 68 | 10 March 2026 | 50.00 | | 1 | 50.00 | 5600.00 | 0.00 | | | 0.00 | + | 69 | 11 March 2026 | 50.00 | | 1 | 50.00 | 5550.00 | 0.00 | | | 0.00 | + | 70 | 12 March 2026 | 50.00 | | 1 | 50.00 | 5500.00 | 0.00 | | | 0.00 | + | 71 | 13 March 2026 | 50.00 | | 1 | 50.00 | 5450.00 | 0.00 | | | 0.00 | + | 72 | 14 March 2026 | 50.00 | | 1 | 50.00 | 5400.00 | 0.00 | | | 0.00 | + | 73 | 15 March 2026 | 50.00 | | 1 | 50.00 | 5350.00 | 0.00 | | | 0.00 | + | 74 | 16 March 2026 | 50.00 | | 1 | 50.00 | 5300.00 | 0.00 | | | 0.00 | + | 75 | 17 March 2026 | 50.00 | | 1 | 50.00 | 5250.00 | 0.00 | | | 0.00 | + | 76 | 18 March 2026 | 50.00 | | 1 | 50.00 | 5200.00 | 0.00 | | | 0.00 | + | 77 | 19 March 2026 | 50.00 | | 1 | 50.00 | 5150.00 | 0.00 | | | 0.00 | + | 78 | 20 March 2026 | 50.00 | | 1 | 50.00 | 5100.00 | 0.00 | | | 0.00 | + | 79 | 21 March 2026 | 50.00 | | 1 | 50.00 | 5050.00 | 0.00 | | | 0.00 | + | 80 | 22 March 2026 | 50.00 | | 1 | 50.00 | 5000.00 | 0.00 | | | 0.00 | + | 81 | 23 March 2026 | 50.00 | | 1 | 50.00 | 4950.00 | 0.00 | | | 0.00 | + | 82 | 24 March 2026 | 50.00 | | 1 | 50.00 | 4900.00 | 0.00 | | | 0.00 | + | 83 | 25 March 2026 | 50.00 | | 1 | 50.00 | 4850.00 | 0.00 | | | 0.00 | + | 84 | 26 March 2026 | 50.00 | | 1 | 50.00 | 4800.00 | 0.00 | | | 0.00 | + | 85 | 27 March 2026 | 50.00 | | 1 | 50.00 | 4750.00 | 0.00 | | | 0.00 | + | 86 | 28 March 2026 | 50.00 | | 1 | 50.00 | 4700.00 | 0.00 | | | 0.00 | + | 87 | 29 March 2026 | 50.00 | | 1 | 50.00 | 4650.00 | 0.00 | | | 0.00 | + | 88 | 30 March 2026 | 50.00 | | 1 | 50.00 | 4600.00 | 0.00 | | | 0.00 | + | 89 | 31 March 2026 | 50.00 | | 1 | 50.00 | 4550.00 | 0.00 | | | 0.00 | + | 90 | 01 April 2026 | 50.00 | | 1 | 50.00 | 4500.00 | 0.00 | | | 0.00 | + | 91 | 02 April 2026 | 50.00 | | 1 | 50.00 | 4450.00 | 0.00 | | | 0.00 | + | 92 | 03 April 2026 | 50.00 | | 1 | 50.00 | 4400.00 | 0.00 | | | 0.00 | + | 93 | 04 April 2026 | 50.00 | | 1 | 50.00 | 4350.00 | 0.00 | | | 0.00 | + | 94 | 05 April 2026 | 50.00 | | 1 | 50.00 | 4300.00 | 0.00 | | | 0.00 | + | 95 | 06 April 2026 | 50.00 | | 1 | 50.00 | 4250.00 | 0.00 | | | 0.00 | + | 96 | 07 April 2026 | 50.00 | | 1 | 50.00 | 4200.00 | 0.00 | | | 0.00 | + | 97 | 08 April 2026 | 50.00 | | 1 | 50.00 | 4150.00 | 0.00 | | | 0.00 | + | 98 | 09 April 2026 | 50.00 | | 1 | 50.00 | 4100.00 | 0.00 | | | 0.00 | + | 99 | 10 April 2026 | 50.00 | | 1 | 50.00 | 4050.00 | 0.00 | | | 0.00 | + | 100 | 11 April 2026 | 50.00 | | 1 | 50.00 | 4000.00 | 0.00 | | | 0.00 | + | 101 | 12 April 2026 | 50.00 | | 1 | 50.00 | 3950.00 | 0.00 | | | 0.00 | + | 102 | 13 April 2026 | 50.00 | | 1 | 50.00 | 3900.00 | 0.00 | | | 0.00 | + | 103 | 14 April 2026 | 50.00 | | 1 | 50.00 | 3850.00 | 0.00 | | | 0.00 | + | 104 | 15 April 2026 | 50.00 | | 1 | 50.00 | 3800.00 | 0.00 | | | 0.00 | + | 105 | 16 April 2026 | 50.00 | | 1 | 50.00 | 3750.00 | 0.00 | | | 0.00 | + | 106 | 17 April 2026 | 50.00 | | 1 | 50.00 | 3700.00 | 0.00 | | | 0.00 | + | 107 | 18 April 2026 | 50.00 | | 1 | 50.00 | 3650.00 | 0.00 | | | 0.00 | + | 108 | 19 April 2026 | 50.00 | | 1 | 50.00 | 3600.00 | 0.00 | | | 0.00 | + | 109 | 20 April 2026 | 50.00 | | 1 | 50.00 | 3550.00 | 0.00 | | | 0.00 | + | 110 | 21 April 2026 | 50.00 | | 1 | 50.00 | 3500.00 | 0.00 | | | 0.00 | + | 111 | 22 April 2026 | 50.00 | | 1 | 50.00 | 3450.00 | 0.00 | | | 0.00 | + | 112 | 23 April 2026 | 50.00 | | 1 | 50.00 | 3400.00 | 0.00 | | | 0.00 | + | 113 | 24 April 2026 | 50.00 | | 1 | 50.00 | 3350.00 | 0.00 | | | 0.00 | + | 114 | 25 April 2026 | 50.00 | | 1 | 50.00 | 3300.00 | 0.00 | | | 0.00 | + | 115 | 26 April 2026 | 50.00 | | 1 | 50.00 | 3250.00 | 0.00 | | | 0.00 | + | 116 | 27 April 2026 | 50.00 | | 1 | 50.00 | 3200.00 | 0.00 | | | 0.00 | + | 117 | 28 April 2026 | 50.00 | | 1 | 50.00 | 3150.00 | 0.00 | | | 0.00 | + | 118 | 29 April 2026 | 50.00 | | 1 | 50.00 | 3100.00 | 0.00 | | | 0.00 | + | 119 | 30 April 2026 | 50.00 | | 1 | 50.00 | 3050.00 | 0.00 | | | 0.00 | + | 120 | 01 May 2026 | 50.00 | | 1 | 50.00 | 3000.00 | 0.00 | | | 0.00 | + | 121 | 02 May 2026 | 50.00 | | 1 | 50.00 | 2950.00 | 0.00 | | | 0.00 | + | 122 | 03 May 2026 | 50.00 | | 1 | 50.00 | 2900.00 | 0.00 | | | 0.00 | + | 123 | 04 May 2026 | 50.00 | | 1 | 50.00 | 2850.00 | 0.00 | | | 0.00 | + | 124 | 05 May 2026 | 50.00 | | 1 | 50.00 | 2800.00 | 0.00 | | | 0.00 | + | 125 | 06 May 2026 | 50.00 | | 1 | 50.00 | 2750.00 | 0.00 | | | 0.00 | + | 126 | 07 May 2026 | 50.00 | | 1 | 50.00 | 2700.00 | 0.00 | | | 0.00 | + | 127 | 08 May 2026 | 50.00 | | 1 | 50.00 | 2650.00 | 0.00 | | | 0.00 | + | 128 | 09 May 2026 | 50.00 | | 1 | 50.00 | 2600.00 | 0.00 | | | 0.00 | + | 129 | 10 May 2026 | 50.00 | | 1 | 50.00 | 2550.00 | 0.00 | | | 0.00 | + | 130 | 11 May 2026 | 50.00 | | 1 | 50.00 | 2500.00 | 0.00 | | | 0.00 | + | 131 | 12 May 2026 | 50.00 | | 1 | 50.00 | 2450.00 | 0.00 | | | 0.00 | + | 132 | 13 May 2026 | 50.00 | | 1 | 50.00 | 2400.00 | 0.00 | | | 0.00 | + | 133 | 14 May 2026 | 50.00 | | 1 | 50.00 | 2350.00 | 0.00 | | | 0.00 | + | 134 | 15 May 2026 | 50.00 | | 1 | 50.00 | 2300.00 | 0.00 | | | 0.00 | + | 135 | 16 May 2026 | 50.00 | | 1 | 50.00 | 2250.00 | 0.00 | | | 0.00 | + | 136 | 17 May 2026 | 50.00 | | 1 | 50.00 | 2200.00 | 0.00 | | | 0.00 | + | 137 | 18 May 2026 | 50.00 | | 1 | 50.00 | 2150.00 | 0.00 | | | 0.00 | + | 138 | 19 May 2026 | 50.00 | | 1 | 50.00 | 2100.00 | 0.00 | | | 0.00 | + | 139 | 20 May 2026 | 50.00 | | 1 | 50.00 | 2050.00 | 0.00 | | | 0.00 | + | 140 | 21 May 2026 | 50.00 | | 1 | 50.00 | 2000.00 | 0.00 | | | 0.00 | + | 141 | 22 May 2026 | 50.00 | | 1 | 50.00 | 1950.00 | 0.00 | | | 0.00 | + | 142 | 23 May 2026 | 50.00 | | 1 | 50.00 | 1900.00 | 0.00 | | | 0.00 | + | 143 | 24 May 2026 | 50.00 | | 1 | 50.00 | 1850.00 | 0.00 | | | 0.00 | + | 144 | 25 May 2026 | 50.00 | | 1 | 50.00 | 1800.00 | 0.00 | | | 0.00 | + | 145 | 26 May 2026 | 50.00 | | 1 | 50.00 | 1750.00 | 0.00 | | | 0.00 | + | 146 | 27 May 2026 | 50.00 | | 1 | 50.00 | 1700.00 | 0.00 | | | 0.00 | + | 147 | 28 May 2026 | 50.00 | | 1 | 50.00 | 1650.00 | 0.00 | | | 0.00 | + | 148 | 29 May 2026 | 50.00 | | 1 | 50.00 | 1600.00 | 0.00 | | | 0.00 | + | 149 | 30 May 2026 | 50.00 | | 1 | 50.00 | 1550.00 | 0.00 | | | 0.00 | + | 150 | 31 May 2026 | 50.00 | | 1 | 50.00 | 1500.00 | 0.00 | | | 0.00 | + | 151 | 01 June 2026 | 50.00 | | 1 | 50.00 | 1450.00 | 0.00 | | | 0.00 | + | 152 | 02 June 2026 | 50.00 | | 1 | 50.00 | 1400.00 | 0.00 | | | 0.00 | + | 153 | 03 June 2026 | 50.00 | | 1 | 50.00 | 1350.00 | 0.00 | | | 0.00 | + | 154 | 04 June 2026 | 50.00 | | 1 | 50.00 | 1300.00 | 0.00 | | | 0.00 | + | 155 | 05 June 2026 | 50.00 | | 1 | 50.00 | 1250.00 | 0.00 | | | 0.00 | + | 156 | 06 June 2026 | 50.00 | | 1 | 50.00 | 1200.00 | 0.00 | | | 0.00 | + | 157 | 07 June 2026 | 50.00 | | 1 | 50.00 | 1150.00 | 0.00 | | | 0.00 | + | 158 | 08 June 2026 | 50.00 | | 1 | 50.00 | 1100.00 | 0.00 | | | 0.00 | + | 159 | 09 June 2026 | 50.00 | | 1 | 50.00 | 1050.00 | 0.00 | | | 0.00 | + | 160 | 10 June 2026 | 50.00 | | 1 | 50.00 | 1000.00 | 0.00 | | | 0.00 | + | 161 | 11 June 2026 | 50.00 | | 1 | 50.00 | 950.00 | 0.00 | | | 0.00 | + | 162 | 12 June 2026 | 50.00 | | 1 | 50.00 | 900.00 | 0.00 | | | 0.00 | + | 163 | 13 June 2026 | 50.00 | | 1 | 50.00 | 850.00 | 0.00 | | | 0.00 | + | 164 | 14 June 2026 | 50.00 | | 1 | 50.00 | 800.00 | 0.00 | | | 0.00 | + | 165 | 15 June 2026 | 50.00 | | 1 | 50.00 | 750.00 | 0.00 | | | 0.00 | + | 166 | 16 June 2026 | 50.00 | | 1 | 50.00 | 700.00 | 0.00 | | | 0.00 | + | 167 | 17 June 2026 | 50.00 | | 1 | 50.00 | 650.00 | 0.00 | | | 0.00 | + | 168 | 18 June 2026 | 50.00 | | 1 | 50.00 | 600.00 | 0.00 | | | 0.00 | + | 169 | 19 June 2026 | 50.00 | | 1 | 50.00 | 550.00 | 0.00 | | | 0.00 | + | 170 | 20 June 2026 | 50.00 | | 1 | 50.00 | 500.00 | 0.00 | | | 0.00 | + | 171 | 21 June 2026 | 50.00 | | 1 | 50.00 | 450.00 | 0.00 | | | 0.00 | + | 172 | 22 June 2026 | 50.00 | | 1 | 50.00 | 400.00 | 0.00 | | | 0.00 | + | 173 | 23 June 2026 | 50.00 | | 1 | 50.00 | 350.00 | 0.00 | | | 0.00 | + | 174 | 24 June 2026 | 50.00 | | 1 | 50.00 | 300.00 | 0.00 | | | 0.00 | + | 175 | 25 June 2026 | 50.00 | | 1 | 50.00 | 250.00 | 0.00 | | | 0.00 | + | 176 | 26 June 2026 | 50.00 | | 1 | 50.00 | 200.00 | 0.00 | | | 0.00 | + | 177 | 27 June 2026 | 50.00 | | 1 | 50.00 | 150.00 | 0.00 | | | 0.00 | + | 178 | 28 June 2026 | 50.00 | | 1 | 50.00 | 100.00 | 0.00 | | | 0.00 | + | 179 | 29 June 2026 | 50.00 | | 1 | 50.00 | 50.00 | 0.00 | | | 0.00 | + | 180 | 30 June 2026 | 50.00 | | 1 | 50.00 | 0.00 | 0.00 | | | 0.00 | + | 181 | 01 July 2026 | | | 1 | 20.00 | | | | | | @TestRailId:C76619 Scenario: Verify working capital loan repayment - UC3: simple repayment with zero amount results an error (Negative) @@ -154,21 +505,198 @@ Feature: Working Capital Loan Repayment | product.name | submittedOnDate | expectedDisbursementDate | status | principal | approvedPrincipal | totalPayment | periodPaymentRate | discount | | WCLP | 2026-01-01 | 2026-01-01 | Active | 9000.0 | 9000.0 | 100000.0 | 18.0 | null | When Admin runs inline COB job for Working Capital Loan by loanId - And Customer makes repayment on "01 January 2026" with 270.0 transaction amount on Working Capital loan + And Customer makes repayment on "01 January 2026" with 50.0 transaction amount on Working Capital loan Then Working Capital loan delinquency range schedule has the following data: | periodNumber | fromDate | toDate | expectedAmount | paidAmount | outstandingAmount | minPaymentCriteriaMet | delinquentAmount | delinquentDays | - | 1 | 2026-01-01 | 2026-01-30 | 270.0 | 270.0 | 0.0 | true | 0.0 | 0 | + | 1 | 2026-01-01 | 2026-01-30 | 270.0 | 50.0 | 220.0 | null | null | null | And Delinquency Tag History for Working Capital loan has lines: | periodNumber | addedOnDate | liftedOnDate | classification | minimumAgeDays | maximumAgeDays | - Then Working Capital loan amortization schedule has 4 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | - | 1 | 02 January 2026 | 5000.00 | 270.00 | 1 | 270.00 | 4658.91 | 0.00 | 35.58 | 35.58 | 0.00 | - | 2 | 03 January 2026 | 5000.00 | | 0.9317821063276353179 | 4658.91 | 0.00 | 0.00 | | | 0.00 | - | 3 | 04 January 2026 | | | 0.8682178936723646887 | 4106.67 | | | | | 0.00 | + Then Working Capital loan amortization schedule has 181 periods, with the following data for periods: + | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | + | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | + | 1 | 02 January 2026 | 50.00 | 50.00 | 1 | 50.00 | 8950.00 | 0.00 | 0.00 | 0.00 | 0.00 | + | 2 | 03 January 2026 | 50.00 | | 1 | 50.00 | 8900.00 | 0.00 | | | 0.00 | + | 3 | 04 January 2026 | 50.00 | | 1 | 50.00 | 8850.00 | 0.00 | | | 0.00 | + | 4 | 05 January 2026 | 50.00 | | 1 | 50.00 | 8800.00 | 0.00 | | | 0.00 | + | 5 | 06 January 2026 | 50.00 | | 1 | 50.00 | 8750.00 | 0.00 | | | 0.00 | + | 6 | 07 January 2026 | 50.00 | | 1 | 50.00 | 8700.00 | 0.00 | | | 0.00 | + | 7 | 08 January 2026 | 50.00 | | 1 | 50.00 | 8650.00 | 0.00 | | | 0.00 | + | 8 | 09 January 2026 | 50.00 | | 1 | 50.00 | 8600.00 | 0.00 | | | 0.00 | + | 9 | 10 January 2026 | 50.00 | | 1 | 50.00 | 8550.00 | 0.00 | | | 0.00 | + | 10 | 11 January 2026 | 50.00 | | 1 | 50.00 | 8500.00 | 0.00 | | | 0.00 | + | 11 | 12 January 2026 | 50.00 | | 1 | 50.00 | 8450.00 | 0.00 | | | 0.00 | + | 12 | 13 January 2026 | 50.00 | | 1 | 50.00 | 8400.00 | 0.00 | | | 0.00 | + | 13 | 14 January 2026 | 50.00 | | 1 | 50.00 | 8350.00 | 0.00 | | | 0.00 | + | 14 | 15 January 2026 | 50.00 | | 1 | 50.00 | 8300.00 | 0.00 | | | 0.00 | + | 15 | 16 January 2026 | 50.00 | | 1 | 50.00 | 8250.00 | 0.00 | | | 0.00 | + | 16 | 17 January 2026 | 50.00 | | 1 | 50.00 | 8200.00 | 0.00 | | | 0.00 | + | 17 | 18 January 2026 | 50.00 | | 1 | 50.00 | 8150.00 | 0.00 | | | 0.00 | + | 18 | 19 January 2026 | 50.00 | | 1 | 50.00 | 8100.00 | 0.00 | | | 0.00 | + | 19 | 20 January 2026 | 50.00 | | 1 | 50.00 | 8050.00 | 0.00 | | | 0.00 | + | 20 | 21 January 2026 | 50.00 | | 1 | 50.00 | 8000.00 | 0.00 | | | 0.00 | + | 21 | 22 January 2026 | 50.00 | | 1 | 50.00 | 7950.00 | 0.00 | | | 0.00 | + | 22 | 23 January 2026 | 50.00 | | 1 | 50.00 | 7900.00 | 0.00 | | | 0.00 | + | 23 | 24 January 2026 | 50.00 | | 1 | 50.00 | 7850.00 | 0.00 | | | 0.00 | + | 24 | 25 January 2026 | 50.00 | | 1 | 50.00 | 7800.00 | 0.00 | | | 0.00 | + | 25 | 26 January 2026 | 50.00 | | 1 | 50.00 | 7750.00 | 0.00 | | | 0.00 | + | 26 | 27 January 2026 | 50.00 | | 1 | 50.00 | 7700.00 | 0.00 | | | 0.00 | + | 27 | 28 January 2026 | 50.00 | | 1 | 50.00 | 7650.00 | 0.00 | | | 0.00 | + | 28 | 29 January 2026 | 50.00 | | 1 | 50.00 | 7600.00 | 0.00 | | | 0.00 | + | 29 | 30 January 2026 | 50.00 | | 1 | 50.00 | 7550.00 | 0.00 | | | 0.00 | + | 30 | 31 January 2026 | 50.00 | | 1 | 50.00 | 7500.00 | 0.00 | | | 0.00 | + | 31 | 01 February 2026 | 50.00 | | 1 | 50.00 | 7450.00 | 0.00 | | | 0.00 | + | 32 | 02 February 2026 | 50.00 | | 1 | 50.00 | 7400.00 | 0.00 | | | 0.00 | + | 33 | 03 February 2026 | 50.00 | | 1 | 50.00 | 7350.00 | 0.00 | | | 0.00 | + | 34 | 04 February 2026 | 50.00 | | 1 | 50.00 | 7300.00 | 0.00 | | | 0.00 | + | 35 | 05 February 2026 | 50.00 | | 1 | 50.00 | 7250.00 | 0.00 | | | 0.00 | + | 36 | 06 February 2026 | 50.00 | | 1 | 50.00 | 7200.00 | 0.00 | | | 0.00 | + | 37 | 07 February 2026 | 50.00 | | 1 | 50.00 | 7150.00 | 0.00 | | | 0.00 | + | 38 | 08 February 2026 | 50.00 | | 1 | 50.00 | 7100.00 | 0.00 | | | 0.00 | + | 39 | 09 February 2026 | 50.00 | | 1 | 50.00 | 7050.00 | 0.00 | | | 0.00 | + | 40 | 10 February 2026 | 50.00 | | 1 | 50.00 | 7000.00 | 0.00 | | | 0.00 | + | 41 | 11 February 2026 | 50.00 | | 1 | 50.00 | 6950.00 | 0.00 | | | 0.00 | + | 42 | 12 February 2026 | 50.00 | | 1 | 50.00 | 6900.00 | 0.00 | | | 0.00 | + | 43 | 13 February 2026 | 50.00 | | 1 | 50.00 | 6850.00 | 0.00 | | | 0.00 | + | 44 | 14 February 2026 | 50.00 | | 1 | 50.00 | 6800.00 | 0.00 | | | 0.00 | + | 45 | 15 February 2026 | 50.00 | | 1 | 50.00 | 6750.00 | 0.00 | | | 0.00 | + | 46 | 16 February 2026 | 50.00 | | 1 | 50.00 | 6700.00 | 0.00 | | | 0.00 | + | 47 | 17 February 2026 | 50.00 | | 1 | 50.00 | 6650.00 | 0.00 | | | 0.00 | + | 48 | 18 February 2026 | 50.00 | | 1 | 50.00 | 6600.00 | 0.00 | | | 0.00 | + | 49 | 19 February 2026 | 50.00 | | 1 | 50.00 | 6550.00 | 0.00 | | | 0.00 | + | 50 | 20 February 2026 | 50.00 | | 1 | 50.00 | 6500.00 | 0.00 | | | 0.00 | + | 51 | 21 February 2026 | 50.00 | | 1 | 50.00 | 6450.00 | 0.00 | | | 0.00 | + | 52 | 22 February 2026 | 50.00 | | 1 | 50.00 | 6400.00 | 0.00 | | | 0.00 | + | 53 | 23 February 2026 | 50.00 | | 1 | 50.00 | 6350.00 | 0.00 | | | 0.00 | + | 54 | 24 February 2026 | 50.00 | | 1 | 50.00 | 6300.00 | 0.00 | | | 0.00 | + | 55 | 25 February 2026 | 50.00 | | 1 | 50.00 | 6250.00 | 0.00 | | | 0.00 | + | 56 | 26 February 2026 | 50.00 | | 1 | 50.00 | 6200.00 | 0.00 | | | 0.00 | + | 57 | 27 February 2026 | 50.00 | | 1 | 50.00 | 6150.00 | 0.00 | | | 0.00 | + | 58 | 28 February 2026 | 50.00 | | 1 | 50.00 | 6100.00 | 0.00 | | | 0.00 | + | 59 | 01 March 2026 | 50.00 | | 1 | 50.00 | 6050.00 | 0.00 | | | 0.00 | + | 60 | 02 March 2026 | 50.00 | | 1 | 50.00 | 6000.00 | 0.00 | | | 0.00 | + | 61 | 03 March 2026 | 50.00 | | 1 | 50.00 | 5950.00 | 0.00 | | | 0.00 | + | 62 | 04 March 2026 | 50.00 | | 1 | 50.00 | 5900.00 | 0.00 | | | 0.00 | + | 63 | 05 March 2026 | 50.00 | | 1 | 50.00 | 5850.00 | 0.00 | | | 0.00 | + | 64 | 06 March 2026 | 50.00 | | 1 | 50.00 | 5800.00 | 0.00 | | | 0.00 | + | 65 | 07 March 2026 | 50.00 | | 1 | 50.00 | 5750.00 | 0.00 | | | 0.00 | + | 66 | 08 March 2026 | 50.00 | | 1 | 50.00 | 5700.00 | 0.00 | | | 0.00 | + | 67 | 09 March 2026 | 50.00 | | 1 | 50.00 | 5650.00 | 0.00 | | | 0.00 | + | 68 | 10 March 2026 | 50.00 | | 1 | 50.00 | 5600.00 | 0.00 | | | 0.00 | + | 69 | 11 March 2026 | 50.00 | | 1 | 50.00 | 5550.00 | 0.00 | | | 0.00 | + | 70 | 12 March 2026 | 50.00 | | 1 | 50.00 | 5500.00 | 0.00 | | | 0.00 | + | 71 | 13 March 2026 | 50.00 | | 1 | 50.00 | 5450.00 | 0.00 | | | 0.00 | + | 72 | 14 March 2026 | 50.00 | | 1 | 50.00 | 5400.00 | 0.00 | | | 0.00 | + | 73 | 15 March 2026 | 50.00 | | 1 | 50.00 | 5350.00 | 0.00 | | | 0.00 | + | 74 | 16 March 2026 | 50.00 | | 1 | 50.00 | 5300.00 | 0.00 | | | 0.00 | + | 75 | 17 March 2026 | 50.00 | | 1 | 50.00 | 5250.00 | 0.00 | | | 0.00 | + | 76 | 18 March 2026 | 50.00 | | 1 | 50.00 | 5200.00 | 0.00 | | | 0.00 | + | 77 | 19 March 2026 | 50.00 | | 1 | 50.00 | 5150.00 | 0.00 | | | 0.00 | + | 78 | 20 March 2026 | 50.00 | | 1 | 50.00 | 5100.00 | 0.00 | | | 0.00 | + | 79 | 21 March 2026 | 50.00 | | 1 | 50.00 | 5050.00 | 0.00 | | | 0.00 | + | 80 | 22 March 2026 | 50.00 | | 1 | 50.00 | 5000.00 | 0.00 | | | 0.00 | + | 81 | 23 March 2026 | 50.00 | | 1 | 50.00 | 4950.00 | 0.00 | | | 0.00 | + | 82 | 24 March 2026 | 50.00 | | 1 | 50.00 | 4900.00 | 0.00 | | | 0.00 | + | 83 | 25 March 2026 | 50.00 | | 1 | 50.00 | 4850.00 | 0.00 | | | 0.00 | + | 84 | 26 March 2026 | 50.00 | | 1 | 50.00 | 4800.00 | 0.00 | | | 0.00 | + | 85 | 27 March 2026 | 50.00 | | 1 | 50.00 | 4750.00 | 0.00 | | | 0.00 | + | 86 | 28 March 2026 | 50.00 | | 1 | 50.00 | 4700.00 | 0.00 | | | 0.00 | + | 87 | 29 March 2026 | 50.00 | | 1 | 50.00 | 4650.00 | 0.00 | | | 0.00 | + | 88 | 30 March 2026 | 50.00 | | 1 | 50.00 | 4600.00 | 0.00 | | | 0.00 | + | 89 | 31 March 2026 | 50.00 | | 1 | 50.00 | 4550.00 | 0.00 | | | 0.00 | + | 90 | 01 April 2026 | 50.00 | | 1 | 50.00 | 4500.00 | 0.00 | | | 0.00 | + | 91 | 02 April 2026 | 50.00 | | 1 | 50.00 | 4450.00 | 0.00 | | | 0.00 | + | 92 | 03 April 2026 | 50.00 | | 1 | 50.00 | 4400.00 | 0.00 | | | 0.00 | + | 93 | 04 April 2026 | 50.00 | | 1 | 50.00 | 4350.00 | 0.00 | | | 0.00 | + | 94 | 05 April 2026 | 50.00 | | 1 | 50.00 | 4300.00 | 0.00 | | | 0.00 | + | 95 | 06 April 2026 | 50.00 | | 1 | 50.00 | 4250.00 | 0.00 | | | 0.00 | + | 96 | 07 April 2026 | 50.00 | | 1 | 50.00 | 4200.00 | 0.00 | | | 0.00 | + | 97 | 08 April 2026 | 50.00 | | 1 | 50.00 | 4150.00 | 0.00 | | | 0.00 | + | 98 | 09 April 2026 | 50.00 | | 1 | 50.00 | 4100.00 | 0.00 | | | 0.00 | + | 99 | 10 April 2026 | 50.00 | | 1 | 50.00 | 4050.00 | 0.00 | | | 0.00 | + | 100 | 11 April 2026 | 50.00 | | 1 | 50.00 | 4000.00 | 0.00 | | | 0.00 | + | 101 | 12 April 2026 | 50.00 | | 1 | 50.00 | 3950.00 | 0.00 | | | 0.00 | + | 102 | 13 April 2026 | 50.00 | | 1 | 50.00 | 3900.00 | 0.00 | | | 0.00 | + | 103 | 14 April 2026 | 50.00 | | 1 | 50.00 | 3850.00 | 0.00 | | | 0.00 | + | 104 | 15 April 2026 | 50.00 | | 1 | 50.00 | 3800.00 | 0.00 | | | 0.00 | + | 105 | 16 April 2026 | 50.00 | | 1 | 50.00 | 3750.00 | 0.00 | | | 0.00 | + | 106 | 17 April 2026 | 50.00 | | 1 | 50.00 | 3700.00 | 0.00 | | | 0.00 | + | 107 | 18 April 2026 | 50.00 | | 1 | 50.00 | 3650.00 | 0.00 | | | 0.00 | + | 108 | 19 April 2026 | 50.00 | | 1 | 50.00 | 3600.00 | 0.00 | | | 0.00 | + | 109 | 20 April 2026 | 50.00 | | 1 | 50.00 | 3550.00 | 0.00 | | | 0.00 | + | 110 | 21 April 2026 | 50.00 | | 1 | 50.00 | 3500.00 | 0.00 | | | 0.00 | + | 111 | 22 April 2026 | 50.00 | | 1 | 50.00 | 3450.00 | 0.00 | | | 0.00 | + | 112 | 23 April 2026 | 50.00 | | 1 | 50.00 | 3400.00 | 0.00 | | | 0.00 | + | 113 | 24 April 2026 | 50.00 | | 1 | 50.00 | 3350.00 | 0.00 | | | 0.00 | + | 114 | 25 April 2026 | 50.00 | | 1 | 50.00 | 3300.00 | 0.00 | | | 0.00 | + | 115 | 26 April 2026 | 50.00 | | 1 | 50.00 | 3250.00 | 0.00 | | | 0.00 | + | 116 | 27 April 2026 | 50.00 | | 1 | 50.00 | 3200.00 | 0.00 | | | 0.00 | + | 117 | 28 April 2026 | 50.00 | | 1 | 50.00 | 3150.00 | 0.00 | | | 0.00 | + | 118 | 29 April 2026 | 50.00 | | 1 | 50.00 | 3100.00 | 0.00 | | | 0.00 | + | 119 | 30 April 2026 | 50.00 | | 1 | 50.00 | 3050.00 | 0.00 | | | 0.00 | + | 120 | 01 May 2026 | 50.00 | | 1 | 50.00 | 3000.00 | 0.00 | | | 0.00 | + | 121 | 02 May 2026 | 50.00 | | 1 | 50.00 | 2950.00 | 0.00 | | | 0.00 | + | 122 | 03 May 2026 | 50.00 | | 1 | 50.00 | 2900.00 | 0.00 | | | 0.00 | + | 123 | 04 May 2026 | 50.00 | | 1 | 50.00 | 2850.00 | 0.00 | | | 0.00 | + | 124 | 05 May 2026 | 50.00 | | 1 | 50.00 | 2800.00 | 0.00 | | | 0.00 | + | 125 | 06 May 2026 | 50.00 | | 1 | 50.00 | 2750.00 | 0.00 | | | 0.00 | + | 126 | 07 May 2026 | 50.00 | | 1 | 50.00 | 2700.00 | 0.00 | | | 0.00 | + | 127 | 08 May 2026 | 50.00 | | 1 | 50.00 | 2650.00 | 0.00 | | | 0.00 | + | 128 | 09 May 2026 | 50.00 | | 1 | 50.00 | 2600.00 | 0.00 | | | 0.00 | + | 129 | 10 May 2026 | 50.00 | | 1 | 50.00 | 2550.00 | 0.00 | | | 0.00 | + | 130 | 11 May 2026 | 50.00 | | 1 | 50.00 | 2500.00 | 0.00 | | | 0.00 | + | 131 | 12 May 2026 | 50.00 | | 1 | 50.00 | 2450.00 | 0.00 | | | 0.00 | + | 132 | 13 May 2026 | 50.00 | | 1 | 50.00 | 2400.00 | 0.00 | | | 0.00 | + | 133 | 14 May 2026 | 50.00 | | 1 | 50.00 | 2350.00 | 0.00 | | | 0.00 | + | 134 | 15 May 2026 | 50.00 | | 1 | 50.00 | 2300.00 | 0.00 | | | 0.00 | + | 135 | 16 May 2026 | 50.00 | | 1 | 50.00 | 2250.00 | 0.00 | | | 0.00 | + | 136 | 17 May 2026 | 50.00 | | 1 | 50.00 | 2200.00 | 0.00 | | | 0.00 | + | 137 | 18 May 2026 | 50.00 | | 1 | 50.00 | 2150.00 | 0.00 | | | 0.00 | + | 138 | 19 May 2026 | 50.00 | | 1 | 50.00 | 2100.00 | 0.00 | | | 0.00 | + | 139 | 20 May 2026 | 50.00 | | 1 | 50.00 | 2050.00 | 0.00 | | | 0.00 | + | 140 | 21 May 2026 | 50.00 | | 1 | 50.00 | 2000.00 | 0.00 | | | 0.00 | + | 141 | 22 May 2026 | 50.00 | | 1 | 50.00 | 1950.00 | 0.00 | | | 0.00 | + | 142 | 23 May 2026 | 50.00 | | 1 | 50.00 | 1900.00 | 0.00 | | | 0.00 | + | 143 | 24 May 2026 | 50.00 | | 1 | 50.00 | 1850.00 | 0.00 | | | 0.00 | + | 144 | 25 May 2026 | 50.00 | | 1 | 50.00 | 1800.00 | 0.00 | | | 0.00 | + | 145 | 26 May 2026 | 50.00 | | 1 | 50.00 | 1750.00 | 0.00 | | | 0.00 | + | 146 | 27 May 2026 | 50.00 | | 1 | 50.00 | 1700.00 | 0.00 | | | 0.00 | + | 147 | 28 May 2026 | 50.00 | | 1 | 50.00 | 1650.00 | 0.00 | | | 0.00 | + | 148 | 29 May 2026 | 50.00 | | 1 | 50.00 | 1600.00 | 0.00 | | | 0.00 | + | 149 | 30 May 2026 | 50.00 | | 1 | 50.00 | 1550.00 | 0.00 | | | 0.00 | + | 150 | 31 May 2026 | 50.00 | | 1 | 50.00 | 1500.00 | 0.00 | | | 0.00 | + | 151 | 01 June 2026 | 50.00 | | 1 | 50.00 | 1450.00 | 0.00 | | | 0.00 | + | 152 | 02 June 2026 | 50.00 | | 1 | 50.00 | 1400.00 | 0.00 | | | 0.00 | + | 153 | 03 June 2026 | 50.00 | | 1 | 50.00 | 1350.00 | 0.00 | | | 0.00 | + | 154 | 04 June 2026 | 50.00 | | 1 | 50.00 | 1300.00 | 0.00 | | | 0.00 | + | 155 | 05 June 2026 | 50.00 | | 1 | 50.00 | 1250.00 | 0.00 | | | 0.00 | + | 156 | 06 June 2026 | 50.00 | | 1 | 50.00 | 1200.00 | 0.00 | | | 0.00 | + | 157 | 07 June 2026 | 50.00 | | 1 | 50.00 | 1150.00 | 0.00 | | | 0.00 | + | 158 | 08 June 2026 | 50.00 | | 1 | 50.00 | 1100.00 | 0.00 | | | 0.00 | + | 159 | 09 June 2026 | 50.00 | | 1 | 50.00 | 1050.00 | 0.00 | | | 0.00 | + | 160 | 10 June 2026 | 50.00 | | 1 | 50.00 | 1000.00 | 0.00 | | | 0.00 | + | 161 | 11 June 2026 | 50.00 | | 1 | 50.00 | 950.00 | 0.00 | | | 0.00 | + | 162 | 12 June 2026 | 50.00 | | 1 | 50.00 | 900.00 | 0.00 | | | 0.00 | + | 163 | 13 June 2026 | 50.00 | | 1 | 50.00 | 850.00 | 0.00 | | | 0.00 | + | 164 | 14 June 2026 | 50.00 | | 1 | 50.00 | 800.00 | 0.00 | | | 0.00 | + | 165 | 15 June 2026 | 50.00 | | 1 | 50.00 | 750.00 | 0.00 | | | 0.00 | + | 166 | 16 June 2026 | 50.00 | | 1 | 50.00 | 700.00 | 0.00 | | | 0.00 | + | 167 | 17 June 2026 | 50.00 | | 1 | 50.00 | 650.00 | 0.00 | | | 0.00 | + | 168 | 18 June 2026 | 50.00 | | 1 | 50.00 | 600.00 | 0.00 | | | 0.00 | + | 169 | 19 June 2026 | 50.00 | | 1 | 50.00 | 550.00 | 0.00 | | | 0.00 | + | 170 | 20 June 2026 | 50.00 | | 1 | 50.00 | 500.00 | 0.00 | | | 0.00 | + | 171 | 21 June 2026 | 50.00 | | 1 | 50.00 | 450.00 | 0.00 | | | 0.00 | + | 172 | 22 June 2026 | 50.00 | | 1 | 50.00 | 400.00 | 0.00 | | | 0.00 | + | 173 | 23 June 2026 | 50.00 | | 1 | 50.00 | 350.00 | 0.00 | | | 0.00 | + | 174 | 24 June 2026 | 50.00 | | 1 | 50.00 | 300.00 | 0.00 | | | 0.00 | + | 175 | 25 June 2026 | 50.00 | | 1 | 50.00 | 250.00 | 0.00 | | | 0.00 | + | 176 | 26 June 2026 | 50.00 | | 1 | 50.00 | 200.00 | 0.00 | | | 0.00 | + | 177 | 27 June 2026 | 50.00 | | 1 | 50.00 | 150.00 | 0.00 | | | 0.00 | + | 178 | 28 June 2026 | 50.00 | | 1 | 50.00 | 100.00 | 0.00 | | | 0.00 | + | 179 | 29 June 2026 | 50.00 | | 1 | 50.00 | 50.00 | 0.00 | | | 0.00 | + | 180 | 30 June 2026 | 50.00 | | 1 | 50.00 | 0.00 | 0.00 | | | 0.00 | @TestRailId:C76623 - Scenario: Verify working capital loan repayment - UC7: full expectedAmount repaid after disbursement day + Scenario: Verify working capital loan repayment - UC7: full minimum payment after disbursement day When Admin sets the business date to "01 January 2026" And Admin creates a client with random data And Admin creates a working capital loan with the following data: @@ -207,12 +735,185 @@ Feature: Working Capital Loan Repayment | 2 | 2026-01-31 | 2026-03-01 | 270.0 | 0.0 | 270.0 | null | null | null | And Delinquency Tag History for Working Capital loan has lines: | periodNumber | addedOnDate | liftedOnDate | classification | minimumAgeDays | maximumAgeDays | - Then Working Capital loan amortization schedule has 4 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | - | 1 | 02 January 2026 | 5000.00 | 270.00 | 1 | 270.00 | 4658.91 | 0.00 | 35.58 | 35.58 | 0.00 | - | 2 | 03 January 2026 | 5000.00 | | 0.9317821063276353179 | 4658.91 | 0.00 | 0.00 | | | 0.00 | - | 3 | 04 January 2026 | | | 0.8682178936723646887 | 4106.67 | | | | | 0.00 | + Then Working Capital loan amortization schedule has 177 periods, with the following data for periods: + | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | + | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | + | 1 | 02 January 2026 | 50.00 | 270.00 | 1 | 270.00 | 8950.00 | 0.00 | 0.00 | 0.00 | 0.00 | + | 2 | 03 January 2026 | 50.00 | | 1 | 50.00 | 8900.00 | 0.00 | | | 0.00 | + | 3 | 04 January 2026 | 50.00 | | 1 | 50.00 | 8850.00 | 0.00 | | | 0.00 | + | 4 | 05 January 2026 | 50.00 | | 1 | 50.00 | 8800.00 | 0.00 | | | 0.00 | + | 5 | 06 January 2026 | 50.00 | | 1 | 50.00 | 8750.00 | 0.00 | | | 0.00 | + | 6 | 07 January 2026 | 50.00 | | 1 | 50.00 | 8700.00 | 0.00 | | | 0.00 | + | 7 | 08 January 2026 | 50.00 | | 1 | 50.00 | 8650.00 | 0.00 | | | 0.00 | + | 8 | 09 January 2026 | 50.00 | | 1 | 50.00 | 8600.00 | 0.00 | | | 0.00 | + | 9 | 10 January 2026 | 50.00 | | 1 | 50.00 | 8550.00 | 0.00 | | | 0.00 | + | 10 | 11 January 2026 | 50.00 | | 1 | 50.00 | 8500.00 | 0.00 | | | 0.00 | + | 11 | 12 January 2026 | 50.00 | | 1 | 50.00 | 8450.00 | 0.00 | | | 0.00 | + | 12 | 13 January 2026 | 50.00 | | 1 | 50.00 | 8400.00 | 0.00 | | | 0.00 | + | 13 | 14 January 2026 | 50.00 | | 1 | 50.00 | 8350.00 | 0.00 | | | 0.00 | + | 14 | 15 January 2026 | 50.00 | | 1 | 50.00 | 8300.00 | 0.00 | | | 0.00 | + | 15 | 16 January 2026 | 50.00 | | 1 | 50.00 | 8250.00 | 0.00 | | | 0.00 | + | 16 | 17 January 2026 | 50.00 | | 1 | 50.00 | 8200.00 | 0.00 | | | 0.00 | + | 17 | 18 January 2026 | 50.00 | | 1 | 50.00 | 8150.00 | 0.00 | | | 0.00 | + | 18 | 19 January 2026 | 50.00 | | 1 | 50.00 | 8100.00 | 0.00 | | | 0.00 | + | 19 | 20 January 2026 | 50.00 | | 1 | 50.00 | 8050.00 | 0.00 | | | 0.00 | + | 20 | 21 January 2026 | 50.00 | | 1 | 50.00 | 8000.00 | 0.00 | | | 0.00 | + | 21 | 22 January 2026 | 50.00 | | 1 | 50.00 | 7950.00 | 0.00 | | | 0.00 | + | 22 | 23 January 2026 | 50.00 | | 1 | 50.00 | 7900.00 | 0.00 | | | 0.00 | + | 23 | 24 January 2026 | 50.00 | | 1 | 50.00 | 7850.00 | 0.00 | | | 0.00 | + | 24 | 25 January 2026 | 50.00 | | 1 | 50.00 | 7800.00 | 0.00 | | | 0.00 | + | 25 | 26 January 2026 | 50.00 | | 1 | 50.00 | 7750.00 | 0.00 | | | 0.00 | + | 26 | 27 January 2026 | 50.00 | | 1 | 50.00 | 7700.00 | 0.00 | | | 0.00 | + | 27 | 28 January 2026 | 50.00 | | 1 | 50.00 | 7650.00 | 0.00 | | | 0.00 | + | 28 | 29 January 2026 | 50.00 | | 1 | 50.00 | 7600.00 | 0.00 | | | 0.00 | + | 29 | 30 January 2026 | 50.00 | | 1 | 50.00 | 7550.00 | 0.00 | | | 0.00 | + | 30 | 31 January 2026 | 50.00 | | 1 | 50.00 | 7500.00 | 0.00 | | | 0.00 | + | 31 | 01 February 2026 | 50.00 | | 1 | 50.00 | 7450.00 | 0.00 | | | 0.00 | + | 32 | 02 February 2026 | 50.00 | | 1 | 50.00 | 7400.00 | 0.00 | | | 0.00 | + | 33 | 03 February 2026 | 50.00 | | 1 | 50.00 | 7350.00 | 0.00 | | | 0.00 | + | 34 | 04 February 2026 | 50.00 | | 1 | 50.00 | 7300.00 | 0.00 | | | 0.00 | + | 35 | 05 February 2026 | 50.00 | | 1 | 50.00 | 7250.00 | 0.00 | | | 0.00 | + | 36 | 06 February 2026 | 50.00 | | 1 | 50.00 | 7200.00 | 0.00 | | | 0.00 | + | 37 | 07 February 2026 | 50.00 | | 1 | 50.00 | 7150.00 | 0.00 | | | 0.00 | + | 38 | 08 February 2026 | 50.00 | | 1 | 50.00 | 7100.00 | 0.00 | | | 0.00 | + | 39 | 09 February 2026 | 50.00 | | 1 | 50.00 | 7050.00 | 0.00 | | | 0.00 | + | 40 | 10 February 2026 | 50.00 | | 1 | 50.00 | 7000.00 | 0.00 | | | 0.00 | + | 41 | 11 February 2026 | 50.00 | | 1 | 50.00 | 6950.00 | 0.00 | | | 0.00 | + | 42 | 12 February 2026 | 50.00 | | 1 | 50.00 | 6900.00 | 0.00 | | | 0.00 | + | 43 | 13 February 2026 | 50.00 | | 1 | 50.00 | 6850.00 | 0.00 | | | 0.00 | + | 44 | 14 February 2026 | 50.00 | | 1 | 50.00 | 6800.00 | 0.00 | | | 0.00 | + | 45 | 15 February 2026 | 50.00 | | 1 | 50.00 | 6750.00 | 0.00 | | | 0.00 | + | 46 | 16 February 2026 | 50.00 | | 1 | 50.00 | 6700.00 | 0.00 | | | 0.00 | + | 47 | 17 February 2026 | 50.00 | | 1 | 50.00 | 6650.00 | 0.00 | | | 0.00 | + | 48 | 18 February 2026 | 50.00 | | 1 | 50.00 | 6600.00 | 0.00 | | | 0.00 | + | 49 | 19 February 2026 | 50.00 | | 1 | 50.00 | 6550.00 | 0.00 | | | 0.00 | + | 50 | 20 February 2026 | 50.00 | | 1 | 50.00 | 6500.00 | 0.00 | | | 0.00 | + | 51 | 21 February 2026 | 50.00 | | 1 | 50.00 | 6450.00 | 0.00 | | | 0.00 | + | 52 | 22 February 2026 | 50.00 | | 1 | 50.00 | 6400.00 | 0.00 | | | 0.00 | + | 53 | 23 February 2026 | 50.00 | | 1 | 50.00 | 6350.00 | 0.00 | | | 0.00 | + | 54 | 24 February 2026 | 50.00 | | 1 | 50.00 | 6300.00 | 0.00 | | | 0.00 | + | 55 | 25 February 2026 | 50.00 | | 1 | 50.00 | 6250.00 | 0.00 | | | 0.00 | + | 56 | 26 February 2026 | 50.00 | | 1 | 50.00 | 6200.00 | 0.00 | | | 0.00 | + | 57 | 27 February 2026 | 50.00 | | 1 | 50.00 | 6150.00 | 0.00 | | | 0.00 | + | 58 | 28 February 2026 | 50.00 | | 1 | 50.00 | 6100.00 | 0.00 | | | 0.00 | + | 59 | 01 March 2026 | 50.00 | | 1 | 50.00 | 6050.00 | 0.00 | | | 0.00 | + | 60 | 02 March 2026 | 50.00 | | 1 | 50.00 | 6000.00 | 0.00 | | | 0.00 | + | 61 | 03 March 2026 | 50.00 | | 1 | 50.00 | 5950.00 | 0.00 | | | 0.00 | + | 62 | 04 March 2026 | 50.00 | | 1 | 50.00 | 5900.00 | 0.00 | | | 0.00 | + | 63 | 05 March 2026 | 50.00 | | 1 | 50.00 | 5850.00 | 0.00 | | | 0.00 | + | 64 | 06 March 2026 | 50.00 | | 1 | 50.00 | 5800.00 | 0.00 | | | 0.00 | + | 65 | 07 March 2026 | 50.00 | | 1 | 50.00 | 5750.00 | 0.00 | | | 0.00 | + | 66 | 08 March 2026 | 50.00 | | 1 | 50.00 | 5700.00 | 0.00 | | | 0.00 | + | 67 | 09 March 2026 | 50.00 | | 1 | 50.00 | 5650.00 | 0.00 | | | 0.00 | + | 68 | 10 March 2026 | 50.00 | | 1 | 50.00 | 5600.00 | 0.00 | | | 0.00 | + | 69 | 11 March 2026 | 50.00 | | 1 | 50.00 | 5550.00 | 0.00 | | | 0.00 | + | 70 | 12 March 2026 | 50.00 | | 1 | 50.00 | 5500.00 | 0.00 | | | 0.00 | + | 71 | 13 March 2026 | 50.00 | | 1 | 50.00 | 5450.00 | 0.00 | | | 0.00 | + | 72 | 14 March 2026 | 50.00 | | 1 | 50.00 | 5400.00 | 0.00 | | | 0.00 | + | 73 | 15 March 2026 | 50.00 | | 1 | 50.00 | 5350.00 | 0.00 | | | 0.00 | + | 74 | 16 March 2026 | 50.00 | | 1 | 50.00 | 5300.00 | 0.00 | | | 0.00 | + | 75 | 17 March 2026 | 50.00 | | 1 | 50.00 | 5250.00 | 0.00 | | | 0.00 | + | 76 | 18 March 2026 | 50.00 | | 1 | 50.00 | 5200.00 | 0.00 | | | 0.00 | + | 77 | 19 March 2026 | 50.00 | | 1 | 50.00 | 5150.00 | 0.00 | | | 0.00 | + | 78 | 20 March 2026 | 50.00 | | 1 | 50.00 | 5100.00 | 0.00 | | | 0.00 | + | 79 | 21 March 2026 | 50.00 | | 1 | 50.00 | 5050.00 | 0.00 | | | 0.00 | + | 80 | 22 March 2026 | 50.00 | | 1 | 50.00 | 5000.00 | 0.00 | | | 0.00 | + | 81 | 23 March 2026 | 50.00 | | 1 | 50.00 | 4950.00 | 0.00 | | | 0.00 | + | 82 | 24 March 2026 | 50.00 | | 1 | 50.00 | 4900.00 | 0.00 | | | 0.00 | + | 83 | 25 March 2026 | 50.00 | | 1 | 50.00 | 4850.00 | 0.00 | | | 0.00 | + | 84 | 26 March 2026 | 50.00 | | 1 | 50.00 | 4800.00 | 0.00 | | | 0.00 | + | 85 | 27 March 2026 | 50.00 | | 1 | 50.00 | 4750.00 | 0.00 | | | 0.00 | + | 86 | 28 March 2026 | 50.00 | | 1 | 50.00 | 4700.00 | 0.00 | | | 0.00 | + | 87 | 29 March 2026 | 50.00 | | 1 | 50.00 | 4650.00 | 0.00 | | | 0.00 | + | 88 | 30 March 2026 | 50.00 | | 1 | 50.00 | 4600.00 | 0.00 | | | 0.00 | + | 89 | 31 March 2026 | 50.00 | | 1 | 50.00 | 4550.00 | 0.00 | | | 0.00 | + | 90 | 01 April 2026 | 50.00 | | 1 | 50.00 | 4500.00 | 0.00 | | | 0.00 | + | 91 | 02 April 2026 | 50.00 | | 1 | 50.00 | 4450.00 | 0.00 | | | 0.00 | + | 92 | 03 April 2026 | 50.00 | | 1 | 50.00 | 4400.00 | 0.00 | | | 0.00 | + | 93 | 04 April 2026 | 50.00 | | 1 | 50.00 | 4350.00 | 0.00 | | | 0.00 | + | 94 | 05 April 2026 | 50.00 | | 1 | 50.00 | 4300.00 | 0.00 | | | 0.00 | + | 95 | 06 April 2026 | 50.00 | | 1 | 50.00 | 4250.00 | 0.00 | | | 0.00 | + | 96 | 07 April 2026 | 50.00 | | 1 | 50.00 | 4200.00 | 0.00 | | | 0.00 | + | 97 | 08 April 2026 | 50.00 | | 1 | 50.00 | 4150.00 | 0.00 | | | 0.00 | + | 98 | 09 April 2026 | 50.00 | | 1 | 50.00 | 4100.00 | 0.00 | | | 0.00 | + | 99 | 10 April 2026 | 50.00 | | 1 | 50.00 | 4050.00 | 0.00 | | | 0.00 | + | 100 | 11 April 2026 | 50.00 | | 1 | 50.00 | 4000.00 | 0.00 | | | 0.00 | + | 101 | 12 April 2026 | 50.00 | | 1 | 50.00 | 3950.00 | 0.00 | | | 0.00 | + | 102 | 13 April 2026 | 50.00 | | 1 | 50.00 | 3900.00 | 0.00 | | | 0.00 | + | 103 | 14 April 2026 | 50.00 | | 1 | 50.00 | 3850.00 | 0.00 | | | 0.00 | + | 104 | 15 April 2026 | 50.00 | | 1 | 50.00 | 3800.00 | 0.00 | | | 0.00 | + | 105 | 16 April 2026 | 50.00 | | 1 | 50.00 | 3750.00 | 0.00 | | | 0.00 | + | 106 | 17 April 2026 | 50.00 | | 1 | 50.00 | 3700.00 | 0.00 | | | 0.00 | + | 107 | 18 April 2026 | 50.00 | | 1 | 50.00 | 3650.00 | 0.00 | | | 0.00 | + | 108 | 19 April 2026 | 50.00 | | 1 | 50.00 | 3600.00 | 0.00 | | | 0.00 | + | 109 | 20 April 2026 | 50.00 | | 1 | 50.00 | 3550.00 | 0.00 | | | 0.00 | + | 110 | 21 April 2026 | 50.00 | | 1 | 50.00 | 3500.00 | 0.00 | | | 0.00 | + | 111 | 22 April 2026 | 50.00 | | 1 | 50.00 | 3450.00 | 0.00 | | | 0.00 | + | 112 | 23 April 2026 | 50.00 | | 1 | 50.00 | 3400.00 | 0.00 | | | 0.00 | + | 113 | 24 April 2026 | 50.00 | | 1 | 50.00 | 3350.00 | 0.00 | | | 0.00 | + | 114 | 25 April 2026 | 50.00 | | 1 | 50.00 | 3300.00 | 0.00 | | | 0.00 | + | 115 | 26 April 2026 | 50.00 | | 1 | 50.00 | 3250.00 | 0.00 | | | 0.00 | + | 116 | 27 April 2026 | 50.00 | | 1 | 50.00 | 3200.00 | 0.00 | | | 0.00 | + | 117 | 28 April 2026 | 50.00 | | 1 | 50.00 | 3150.00 | 0.00 | | | 0.00 | + | 118 | 29 April 2026 | 50.00 | | 1 | 50.00 | 3100.00 | 0.00 | | | 0.00 | + | 119 | 30 April 2026 | 50.00 | | 1 | 50.00 | 3050.00 | 0.00 | | | 0.00 | + | 120 | 01 May 2026 | 50.00 | | 1 | 50.00 | 3000.00 | 0.00 | | | 0.00 | + | 121 | 02 May 2026 | 50.00 | | 1 | 50.00 | 2950.00 | 0.00 | | | 0.00 | + | 122 | 03 May 2026 | 50.00 | | 1 | 50.00 | 2900.00 | 0.00 | | | 0.00 | + | 123 | 04 May 2026 | 50.00 | | 1 | 50.00 | 2850.00 | 0.00 | | | 0.00 | + | 124 | 05 May 2026 | 50.00 | | 1 | 50.00 | 2800.00 | 0.00 | | | 0.00 | + | 125 | 06 May 2026 | 50.00 | | 1 | 50.00 | 2750.00 | 0.00 | | | 0.00 | + | 126 | 07 May 2026 | 50.00 | | 1 | 50.00 | 2700.00 | 0.00 | | | 0.00 | + | 127 | 08 May 2026 | 50.00 | | 1 | 50.00 | 2650.00 | 0.00 | | | 0.00 | + | 128 | 09 May 2026 | 50.00 | | 1 | 50.00 | 2600.00 | 0.00 | | | 0.00 | + | 129 | 10 May 2026 | 50.00 | | 1 | 50.00 | 2550.00 | 0.00 | | | 0.00 | + | 130 | 11 May 2026 | 50.00 | | 1 | 50.00 | 2500.00 | 0.00 | | | 0.00 | + | 131 | 12 May 2026 | 50.00 | | 1 | 50.00 | 2450.00 | 0.00 | | | 0.00 | + | 132 | 13 May 2026 | 50.00 | | 1 | 50.00 | 2400.00 | 0.00 | | | 0.00 | + | 133 | 14 May 2026 | 50.00 | | 1 | 50.00 | 2350.00 | 0.00 | | | 0.00 | + | 134 | 15 May 2026 | 50.00 | | 1 | 50.00 | 2300.00 | 0.00 | | | 0.00 | + | 135 | 16 May 2026 | 50.00 | | 1 | 50.00 | 2250.00 | 0.00 | | | 0.00 | + | 136 | 17 May 2026 | 50.00 | | 1 | 50.00 | 2200.00 | 0.00 | | | 0.00 | + | 137 | 18 May 2026 | 50.00 | | 1 | 50.00 | 2150.00 | 0.00 | | | 0.00 | + | 138 | 19 May 2026 | 50.00 | | 1 | 50.00 | 2100.00 | 0.00 | | | 0.00 | + | 139 | 20 May 2026 | 50.00 | | 1 | 50.00 | 2050.00 | 0.00 | | | 0.00 | + | 140 | 21 May 2026 | 50.00 | | 1 | 50.00 | 2000.00 | 0.00 | | | 0.00 | + | 141 | 22 May 2026 | 50.00 | | 1 | 50.00 | 1950.00 | 0.00 | | | 0.00 | + | 142 | 23 May 2026 | 50.00 | | 1 | 50.00 | 1900.00 | 0.00 | | | 0.00 | + | 143 | 24 May 2026 | 50.00 | | 1 | 50.00 | 1850.00 | 0.00 | | | 0.00 | + | 144 | 25 May 2026 | 50.00 | | 1 | 50.00 | 1800.00 | 0.00 | | | 0.00 | + | 145 | 26 May 2026 | 50.00 | | 1 | 50.00 | 1750.00 | 0.00 | | | 0.00 | + | 146 | 27 May 2026 | 50.00 | | 1 | 50.00 | 1700.00 | 0.00 | | | 0.00 | + | 147 | 28 May 2026 | 50.00 | | 1 | 50.00 | 1650.00 | 0.00 | | | 0.00 | + | 148 | 29 May 2026 | 50.00 | | 1 | 50.00 | 1600.00 | 0.00 | | | 0.00 | + | 149 | 30 May 2026 | 50.00 | | 1 | 50.00 | 1550.00 | 0.00 | | | 0.00 | + | 150 | 31 May 2026 | 50.00 | | 1 | 50.00 | 1500.00 | 0.00 | | | 0.00 | + | 151 | 01 June 2026 | 50.00 | | 1 | 50.00 | 1450.00 | 0.00 | | | 0.00 | + | 152 | 02 June 2026 | 50.00 | | 1 | 50.00 | 1400.00 | 0.00 | | | 0.00 | + | 153 | 03 June 2026 | 50.00 | | 1 | 50.00 | 1350.00 | 0.00 | | | 0.00 | + | 154 | 04 June 2026 | 50.00 | | 1 | 50.00 | 1300.00 | 0.00 | | | 0.00 | + | 155 | 05 June 2026 | 50.00 | | 1 | 50.00 | 1250.00 | 0.00 | | | 0.00 | + | 156 | 06 June 2026 | 50.00 | | 1 | 50.00 | 1200.00 | 0.00 | | | 0.00 | + | 157 | 07 June 2026 | 50.00 | | 1 | 50.00 | 1150.00 | 0.00 | | | 0.00 | + | 158 | 08 June 2026 | 50.00 | | 1 | 50.00 | 1100.00 | 0.00 | | | 0.00 | + | 159 | 09 June 2026 | 50.00 | | 1 | 50.00 | 1050.00 | 0.00 | | | 0.00 | + | 160 | 10 June 2026 | 50.00 | | 1 | 50.00 | 1000.00 | 0.00 | | | 0.00 | + | 161 | 11 June 2026 | 50.00 | | 1 | 50.00 | 950.00 | 0.00 | | | 0.00 | + | 162 | 12 June 2026 | 50.00 | | 1 | 50.00 | 900.00 | 0.00 | | | 0.00 | + | 163 | 13 June 2026 | 50.00 | | 1 | 50.00 | 850.00 | 0.00 | | | 0.00 | + | 164 | 14 June 2026 | 50.00 | | 1 | 50.00 | 800.00 | 0.00 | | | 0.00 | + | 165 | 15 June 2026 | 50.00 | | 1 | 50.00 | 750.00 | 0.00 | | | 0.00 | + | 166 | 16 June 2026 | 50.00 | | 1 | 50.00 | 700.00 | 0.00 | | | 0.00 | + | 167 | 17 June 2026 | 50.00 | | 1 | 50.00 | 650.00 | 0.00 | | | 0.00 | + | 168 | 18 June 2026 | 50.00 | | 1 | 50.00 | 600.00 | 0.00 | | | 0.00 | + | 169 | 19 June 2026 | 50.00 | | 1 | 50.00 | 550.00 | 0.00 | | | 0.00 | + | 170 | 20 June 2026 | 50.00 | | 1 | 50.00 | 500.00 | 0.00 | | | 0.00 | + | 171 | 21 June 2026 | 50.00 | | 1 | 50.00 | 450.00 | 0.00 | | | 0.00 | + | 172 | 22 June 2026 | 50.00 | | 1 | 50.00 | 400.00 | 0.00 | | | 0.00 | + | 173 | 23 June 2026 | 50.00 | | 1 | 50.00 | 350.00 | 0.00 | | | 0.00 | + | 174 | 24 June 2026 | 50.00 | | 1 | 50.00 | 300.00 | 0.00 | | | 0.00 | + | 175 | 25 June 2026 | 50.00 | | 1 | 50.00 | 250.00 | 0.00 | | | 0.00 | + | 176 | 26 June 2026 | 50.00 | | 1 | 30.00 | 200.00 | 0.00 | | | 0.00 | @TestRailId:C76624 Scenario: Verify working capital loan repayment - UC8: full expectedAmount repaid on last day of 1st period @@ -254,12 +955,185 @@ Feature: Working Capital Loan Repayment | 2 | 2026-01-31 | 2026-03-01 | 270.0 | 0.0 | 270.0 | null | null | null | And Delinquency Tag History for Working Capital loan has lines: | periodNumber | addedOnDate | liftedOnDate | classification | minimumAgeDays | maximumAgeDays | - Then Working Capital loan amortization schedule has 4 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | - | 1 | 02 January 2026 | 5000.00 | 270.00 | 1 | 270.00 | 4658.91 | 0.00 | 35.58 | 35.58 | 0.00 | - | 2 | 03 January 2026 | 5000.00 | | 0.9317821063276353179 | 4658.91 | 0.00 | 0.00 | | | 0.00 | - | 3 | 04 January 2026 | | | 0.8682178936723646887 | 4106.67 | | | | | 0.00 | + Then Working Capital loan amortization schedule has 177 periods, with the following data for periods: + | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | + | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | + | 1 | 02 January 2026 | 50.00 | 270.00 | 1 | 270.00 | 8950.00 | 0.00 | 0.00 | 0.00 | 0.00 | + | 2 | 03 January 2026 | 50.00 | | 1 | 50.00 | 8900.00 | 0.00 | | | 0.00 | + | 3 | 04 January 2026 | 50.00 | | 1 | 50.00 | 8850.00 | 0.00 | | | 0.00 | + | 4 | 05 January 2026 | 50.00 | | 1 | 50.00 | 8800.00 | 0.00 | | | 0.00 | + | 5 | 06 January 2026 | 50.00 | | 1 | 50.00 | 8750.00 | 0.00 | | | 0.00 | + | 6 | 07 January 2026 | 50.00 | | 1 | 50.00 | 8700.00 | 0.00 | | | 0.00 | + | 7 | 08 January 2026 | 50.00 | | 1 | 50.00 | 8650.00 | 0.00 | | | 0.00 | + | 8 | 09 January 2026 | 50.00 | | 1 | 50.00 | 8600.00 | 0.00 | | | 0.00 | + | 9 | 10 January 2026 | 50.00 | | 1 | 50.00 | 8550.00 | 0.00 | | | 0.00 | + | 10 | 11 January 2026 | 50.00 | | 1 | 50.00 | 8500.00 | 0.00 | | | 0.00 | + | 11 | 12 January 2026 | 50.00 | | 1 | 50.00 | 8450.00 | 0.00 | | | 0.00 | + | 12 | 13 January 2026 | 50.00 | | 1 | 50.00 | 8400.00 | 0.00 | | | 0.00 | + | 13 | 14 January 2026 | 50.00 | | 1 | 50.00 | 8350.00 | 0.00 | | | 0.00 | + | 14 | 15 January 2026 | 50.00 | | 1 | 50.00 | 8300.00 | 0.00 | | | 0.00 | + | 15 | 16 January 2026 | 50.00 | | 1 | 50.00 | 8250.00 | 0.00 | | | 0.00 | + | 16 | 17 January 2026 | 50.00 | | 1 | 50.00 | 8200.00 | 0.00 | | | 0.00 | + | 17 | 18 January 2026 | 50.00 | | 1 | 50.00 | 8150.00 | 0.00 | | | 0.00 | + | 18 | 19 January 2026 | 50.00 | | 1 | 50.00 | 8100.00 | 0.00 | | | 0.00 | + | 19 | 20 January 2026 | 50.00 | | 1 | 50.00 | 8050.00 | 0.00 | | | 0.00 | + | 20 | 21 January 2026 | 50.00 | | 1 | 50.00 | 8000.00 | 0.00 | | | 0.00 | + | 21 | 22 January 2026 | 50.00 | | 1 | 50.00 | 7950.00 | 0.00 | | | 0.00 | + | 22 | 23 January 2026 | 50.00 | | 1 | 50.00 | 7900.00 | 0.00 | | | 0.00 | + | 23 | 24 January 2026 | 50.00 | | 1 | 50.00 | 7850.00 | 0.00 | | | 0.00 | + | 24 | 25 January 2026 | 50.00 | | 1 | 50.00 | 7800.00 | 0.00 | | | 0.00 | + | 25 | 26 January 2026 | 50.00 | | 1 | 50.00 | 7750.00 | 0.00 | | | 0.00 | + | 26 | 27 January 2026 | 50.00 | | 1 | 50.00 | 7700.00 | 0.00 | | | 0.00 | + | 27 | 28 January 2026 | 50.00 | | 1 | 50.00 | 7650.00 | 0.00 | | | 0.00 | + | 28 | 29 January 2026 | 50.00 | | 1 | 50.00 | 7600.00 | 0.00 | | | 0.00 | + | 29 | 30 January 2026 | 50.00 | | 1 | 50.00 | 7550.00 | 0.00 | | | 0.00 | + | 30 | 31 January 2026 | 50.00 | | 1 | 50.00 | 7500.00 | 0.00 | | | 0.00 | + | 31 | 01 February 2026 | 50.00 | | 1 | 50.00 | 7450.00 | 0.00 | | | 0.00 | + | 32 | 02 February 2026 | 50.00 | | 1 | 50.00 | 7400.00 | 0.00 | | | 0.00 | + | 33 | 03 February 2026 | 50.00 | | 1 | 50.00 | 7350.00 | 0.00 | | | 0.00 | + | 34 | 04 February 2026 | 50.00 | | 1 | 50.00 | 7300.00 | 0.00 | | | 0.00 | + | 35 | 05 February 2026 | 50.00 | | 1 | 50.00 | 7250.00 | 0.00 | | | 0.00 | + | 36 | 06 February 2026 | 50.00 | | 1 | 50.00 | 7200.00 | 0.00 | | | 0.00 | + | 37 | 07 February 2026 | 50.00 | | 1 | 50.00 | 7150.00 | 0.00 | | | 0.00 | + | 38 | 08 February 2026 | 50.00 | | 1 | 50.00 | 7100.00 | 0.00 | | | 0.00 | + | 39 | 09 February 2026 | 50.00 | | 1 | 50.00 | 7050.00 | 0.00 | | | 0.00 | + | 40 | 10 February 2026 | 50.00 | | 1 | 50.00 | 7000.00 | 0.00 | | | 0.00 | + | 41 | 11 February 2026 | 50.00 | | 1 | 50.00 | 6950.00 | 0.00 | | | 0.00 | + | 42 | 12 February 2026 | 50.00 | | 1 | 50.00 | 6900.00 | 0.00 | | | 0.00 | + | 43 | 13 February 2026 | 50.00 | | 1 | 50.00 | 6850.00 | 0.00 | | | 0.00 | + | 44 | 14 February 2026 | 50.00 | | 1 | 50.00 | 6800.00 | 0.00 | | | 0.00 | + | 45 | 15 February 2026 | 50.00 | | 1 | 50.00 | 6750.00 | 0.00 | | | 0.00 | + | 46 | 16 February 2026 | 50.00 | | 1 | 50.00 | 6700.00 | 0.00 | | | 0.00 | + | 47 | 17 February 2026 | 50.00 | | 1 | 50.00 | 6650.00 | 0.00 | | | 0.00 | + | 48 | 18 February 2026 | 50.00 | | 1 | 50.00 | 6600.00 | 0.00 | | | 0.00 | + | 49 | 19 February 2026 | 50.00 | | 1 | 50.00 | 6550.00 | 0.00 | | | 0.00 | + | 50 | 20 February 2026 | 50.00 | | 1 | 50.00 | 6500.00 | 0.00 | | | 0.00 | + | 51 | 21 February 2026 | 50.00 | | 1 | 50.00 | 6450.00 | 0.00 | | | 0.00 | + | 52 | 22 February 2026 | 50.00 | | 1 | 50.00 | 6400.00 | 0.00 | | | 0.00 | + | 53 | 23 February 2026 | 50.00 | | 1 | 50.00 | 6350.00 | 0.00 | | | 0.00 | + | 54 | 24 February 2026 | 50.00 | | 1 | 50.00 | 6300.00 | 0.00 | | | 0.00 | + | 55 | 25 February 2026 | 50.00 | | 1 | 50.00 | 6250.00 | 0.00 | | | 0.00 | + | 56 | 26 February 2026 | 50.00 | | 1 | 50.00 | 6200.00 | 0.00 | | | 0.00 | + | 57 | 27 February 2026 | 50.00 | | 1 | 50.00 | 6150.00 | 0.00 | | | 0.00 | + | 58 | 28 February 2026 | 50.00 | | 1 | 50.00 | 6100.00 | 0.00 | | | 0.00 | + | 59 | 01 March 2026 | 50.00 | | 1 | 50.00 | 6050.00 | 0.00 | | | 0.00 | + | 60 | 02 March 2026 | 50.00 | | 1 | 50.00 | 6000.00 | 0.00 | | | 0.00 | + | 61 | 03 March 2026 | 50.00 | | 1 | 50.00 | 5950.00 | 0.00 | | | 0.00 | + | 62 | 04 March 2026 | 50.00 | | 1 | 50.00 | 5900.00 | 0.00 | | | 0.00 | + | 63 | 05 March 2026 | 50.00 | | 1 | 50.00 | 5850.00 | 0.00 | | | 0.00 | + | 64 | 06 March 2026 | 50.00 | | 1 | 50.00 | 5800.00 | 0.00 | | | 0.00 | + | 65 | 07 March 2026 | 50.00 | | 1 | 50.00 | 5750.00 | 0.00 | | | 0.00 | + | 66 | 08 March 2026 | 50.00 | | 1 | 50.00 | 5700.00 | 0.00 | | | 0.00 | + | 67 | 09 March 2026 | 50.00 | | 1 | 50.00 | 5650.00 | 0.00 | | | 0.00 | + | 68 | 10 March 2026 | 50.00 | | 1 | 50.00 | 5600.00 | 0.00 | | | 0.00 | + | 69 | 11 March 2026 | 50.00 | | 1 | 50.00 | 5550.00 | 0.00 | | | 0.00 | + | 70 | 12 March 2026 | 50.00 | | 1 | 50.00 | 5500.00 | 0.00 | | | 0.00 | + | 71 | 13 March 2026 | 50.00 | | 1 | 50.00 | 5450.00 | 0.00 | | | 0.00 | + | 72 | 14 March 2026 | 50.00 | | 1 | 50.00 | 5400.00 | 0.00 | | | 0.00 | + | 73 | 15 March 2026 | 50.00 | | 1 | 50.00 | 5350.00 | 0.00 | | | 0.00 | + | 74 | 16 March 2026 | 50.00 | | 1 | 50.00 | 5300.00 | 0.00 | | | 0.00 | + | 75 | 17 March 2026 | 50.00 | | 1 | 50.00 | 5250.00 | 0.00 | | | 0.00 | + | 76 | 18 March 2026 | 50.00 | | 1 | 50.00 | 5200.00 | 0.00 | | | 0.00 | + | 77 | 19 March 2026 | 50.00 | | 1 | 50.00 | 5150.00 | 0.00 | | | 0.00 | + | 78 | 20 March 2026 | 50.00 | | 1 | 50.00 | 5100.00 | 0.00 | | | 0.00 | + | 79 | 21 March 2026 | 50.00 | | 1 | 50.00 | 5050.00 | 0.00 | | | 0.00 | + | 80 | 22 March 2026 | 50.00 | | 1 | 50.00 | 5000.00 | 0.00 | | | 0.00 | + | 81 | 23 March 2026 | 50.00 | | 1 | 50.00 | 4950.00 | 0.00 | | | 0.00 | + | 82 | 24 March 2026 | 50.00 | | 1 | 50.00 | 4900.00 | 0.00 | | | 0.00 | + | 83 | 25 March 2026 | 50.00 | | 1 | 50.00 | 4850.00 | 0.00 | | | 0.00 | + | 84 | 26 March 2026 | 50.00 | | 1 | 50.00 | 4800.00 | 0.00 | | | 0.00 | + | 85 | 27 March 2026 | 50.00 | | 1 | 50.00 | 4750.00 | 0.00 | | | 0.00 | + | 86 | 28 March 2026 | 50.00 | | 1 | 50.00 | 4700.00 | 0.00 | | | 0.00 | + | 87 | 29 March 2026 | 50.00 | | 1 | 50.00 | 4650.00 | 0.00 | | | 0.00 | + | 88 | 30 March 2026 | 50.00 | | 1 | 50.00 | 4600.00 | 0.00 | | | 0.00 | + | 89 | 31 March 2026 | 50.00 | | 1 | 50.00 | 4550.00 | 0.00 | | | 0.00 | + | 90 | 01 April 2026 | 50.00 | | 1 | 50.00 | 4500.00 | 0.00 | | | 0.00 | + | 91 | 02 April 2026 | 50.00 | | 1 | 50.00 | 4450.00 | 0.00 | | | 0.00 | + | 92 | 03 April 2026 | 50.00 | | 1 | 50.00 | 4400.00 | 0.00 | | | 0.00 | + | 93 | 04 April 2026 | 50.00 | | 1 | 50.00 | 4350.00 | 0.00 | | | 0.00 | + | 94 | 05 April 2026 | 50.00 | | 1 | 50.00 | 4300.00 | 0.00 | | | 0.00 | + | 95 | 06 April 2026 | 50.00 | | 1 | 50.00 | 4250.00 | 0.00 | | | 0.00 | + | 96 | 07 April 2026 | 50.00 | | 1 | 50.00 | 4200.00 | 0.00 | | | 0.00 | + | 97 | 08 April 2026 | 50.00 | | 1 | 50.00 | 4150.00 | 0.00 | | | 0.00 | + | 98 | 09 April 2026 | 50.00 | | 1 | 50.00 | 4100.00 | 0.00 | | | 0.00 | + | 99 | 10 April 2026 | 50.00 | | 1 | 50.00 | 4050.00 | 0.00 | | | 0.00 | + | 100 | 11 April 2026 | 50.00 | | 1 | 50.00 | 4000.00 | 0.00 | | | 0.00 | + | 101 | 12 April 2026 | 50.00 | | 1 | 50.00 | 3950.00 | 0.00 | | | 0.00 | + | 102 | 13 April 2026 | 50.00 | | 1 | 50.00 | 3900.00 | 0.00 | | | 0.00 | + | 103 | 14 April 2026 | 50.00 | | 1 | 50.00 | 3850.00 | 0.00 | | | 0.00 | + | 104 | 15 April 2026 | 50.00 | | 1 | 50.00 | 3800.00 | 0.00 | | | 0.00 | + | 105 | 16 April 2026 | 50.00 | | 1 | 50.00 | 3750.00 | 0.00 | | | 0.00 | + | 106 | 17 April 2026 | 50.00 | | 1 | 50.00 | 3700.00 | 0.00 | | | 0.00 | + | 107 | 18 April 2026 | 50.00 | | 1 | 50.00 | 3650.00 | 0.00 | | | 0.00 | + | 108 | 19 April 2026 | 50.00 | | 1 | 50.00 | 3600.00 | 0.00 | | | 0.00 | + | 109 | 20 April 2026 | 50.00 | | 1 | 50.00 | 3550.00 | 0.00 | | | 0.00 | + | 110 | 21 April 2026 | 50.00 | | 1 | 50.00 | 3500.00 | 0.00 | | | 0.00 | + | 111 | 22 April 2026 | 50.00 | | 1 | 50.00 | 3450.00 | 0.00 | | | 0.00 | + | 112 | 23 April 2026 | 50.00 | | 1 | 50.00 | 3400.00 | 0.00 | | | 0.00 | + | 113 | 24 April 2026 | 50.00 | | 1 | 50.00 | 3350.00 | 0.00 | | | 0.00 | + | 114 | 25 April 2026 | 50.00 | | 1 | 50.00 | 3300.00 | 0.00 | | | 0.00 | + | 115 | 26 April 2026 | 50.00 | | 1 | 50.00 | 3250.00 | 0.00 | | | 0.00 | + | 116 | 27 April 2026 | 50.00 | | 1 | 50.00 | 3200.00 | 0.00 | | | 0.00 | + | 117 | 28 April 2026 | 50.00 | | 1 | 50.00 | 3150.00 | 0.00 | | | 0.00 | + | 118 | 29 April 2026 | 50.00 | | 1 | 50.00 | 3100.00 | 0.00 | | | 0.00 | + | 119 | 30 April 2026 | 50.00 | | 1 | 50.00 | 3050.00 | 0.00 | | | 0.00 | + | 120 | 01 May 2026 | 50.00 | | 1 | 50.00 | 3000.00 | 0.00 | | | 0.00 | + | 121 | 02 May 2026 | 50.00 | | 1 | 50.00 | 2950.00 | 0.00 | | | 0.00 | + | 122 | 03 May 2026 | 50.00 | | 1 | 50.00 | 2900.00 | 0.00 | | | 0.00 | + | 123 | 04 May 2026 | 50.00 | | 1 | 50.00 | 2850.00 | 0.00 | | | 0.00 | + | 124 | 05 May 2026 | 50.00 | | 1 | 50.00 | 2800.00 | 0.00 | | | 0.00 | + | 125 | 06 May 2026 | 50.00 | | 1 | 50.00 | 2750.00 | 0.00 | | | 0.00 | + | 126 | 07 May 2026 | 50.00 | | 1 | 50.00 | 2700.00 | 0.00 | | | 0.00 | + | 127 | 08 May 2026 | 50.00 | | 1 | 50.00 | 2650.00 | 0.00 | | | 0.00 | + | 128 | 09 May 2026 | 50.00 | | 1 | 50.00 | 2600.00 | 0.00 | | | 0.00 | + | 129 | 10 May 2026 | 50.00 | | 1 | 50.00 | 2550.00 | 0.00 | | | 0.00 | + | 130 | 11 May 2026 | 50.00 | | 1 | 50.00 | 2500.00 | 0.00 | | | 0.00 | + | 131 | 12 May 2026 | 50.00 | | 1 | 50.00 | 2450.00 | 0.00 | | | 0.00 | + | 132 | 13 May 2026 | 50.00 | | 1 | 50.00 | 2400.00 | 0.00 | | | 0.00 | + | 133 | 14 May 2026 | 50.00 | | 1 | 50.00 | 2350.00 | 0.00 | | | 0.00 | + | 134 | 15 May 2026 | 50.00 | | 1 | 50.00 | 2300.00 | 0.00 | | | 0.00 | + | 135 | 16 May 2026 | 50.00 | | 1 | 50.00 | 2250.00 | 0.00 | | | 0.00 | + | 136 | 17 May 2026 | 50.00 | | 1 | 50.00 | 2200.00 | 0.00 | | | 0.00 | + | 137 | 18 May 2026 | 50.00 | | 1 | 50.00 | 2150.00 | 0.00 | | | 0.00 | + | 138 | 19 May 2026 | 50.00 | | 1 | 50.00 | 2100.00 | 0.00 | | | 0.00 | + | 139 | 20 May 2026 | 50.00 | | 1 | 50.00 | 2050.00 | 0.00 | | | 0.00 | + | 140 | 21 May 2026 | 50.00 | | 1 | 50.00 | 2000.00 | 0.00 | | | 0.00 | + | 141 | 22 May 2026 | 50.00 | | 1 | 50.00 | 1950.00 | 0.00 | | | 0.00 | + | 142 | 23 May 2026 | 50.00 | | 1 | 50.00 | 1900.00 | 0.00 | | | 0.00 | + | 143 | 24 May 2026 | 50.00 | | 1 | 50.00 | 1850.00 | 0.00 | | | 0.00 | + | 144 | 25 May 2026 | 50.00 | | 1 | 50.00 | 1800.00 | 0.00 | | | 0.00 | + | 145 | 26 May 2026 | 50.00 | | 1 | 50.00 | 1750.00 | 0.00 | | | 0.00 | + | 146 | 27 May 2026 | 50.00 | | 1 | 50.00 | 1700.00 | 0.00 | | | 0.00 | + | 147 | 28 May 2026 | 50.00 | | 1 | 50.00 | 1650.00 | 0.00 | | | 0.00 | + | 148 | 29 May 2026 | 50.00 | | 1 | 50.00 | 1600.00 | 0.00 | | | 0.00 | + | 149 | 30 May 2026 | 50.00 | | 1 | 50.00 | 1550.00 | 0.00 | | | 0.00 | + | 150 | 31 May 2026 | 50.00 | | 1 | 50.00 | 1500.00 | 0.00 | | | 0.00 | + | 151 | 01 June 2026 | 50.00 | | 1 | 50.00 | 1450.00 | 0.00 | | | 0.00 | + | 152 | 02 June 2026 | 50.00 | | 1 | 50.00 | 1400.00 | 0.00 | | | 0.00 | + | 153 | 03 June 2026 | 50.00 | | 1 | 50.00 | 1350.00 | 0.00 | | | 0.00 | + | 154 | 04 June 2026 | 50.00 | | 1 | 50.00 | 1300.00 | 0.00 | | | 0.00 | + | 155 | 05 June 2026 | 50.00 | | 1 | 50.00 | 1250.00 | 0.00 | | | 0.00 | + | 156 | 06 June 2026 | 50.00 | | 1 | 50.00 | 1200.00 | 0.00 | | | 0.00 | + | 157 | 07 June 2026 | 50.00 | | 1 | 50.00 | 1150.00 | 0.00 | | | 0.00 | + | 158 | 08 June 2026 | 50.00 | | 1 | 50.00 | 1100.00 | 0.00 | | | 0.00 | + | 159 | 09 June 2026 | 50.00 | | 1 | 50.00 | 1050.00 | 0.00 | | | 0.00 | + | 160 | 10 June 2026 | 50.00 | | 1 | 50.00 | 1000.00 | 0.00 | | | 0.00 | + | 161 | 11 June 2026 | 50.00 | | 1 | 50.00 | 950.00 | 0.00 | | | 0.00 | + | 162 | 12 June 2026 | 50.00 | | 1 | 50.00 | 900.00 | 0.00 | | | 0.00 | + | 163 | 13 June 2026 | 50.00 | | 1 | 50.00 | 850.00 | 0.00 | | | 0.00 | + | 164 | 14 June 2026 | 50.00 | | 1 | 50.00 | 800.00 | 0.00 | | | 0.00 | + | 165 | 15 June 2026 | 50.00 | | 1 | 50.00 | 750.00 | 0.00 | | | 0.00 | + | 166 | 16 June 2026 | 50.00 | | 1 | 50.00 | 700.00 | 0.00 | | | 0.00 | + | 167 | 17 June 2026 | 50.00 | | 1 | 50.00 | 650.00 | 0.00 | | | 0.00 | + | 168 | 18 June 2026 | 50.00 | | 1 | 50.00 | 600.00 | 0.00 | | | 0.00 | + | 169 | 19 June 2026 | 50.00 | | 1 | 50.00 | 550.00 | 0.00 | | | 0.00 | + | 170 | 20 June 2026 | 50.00 | | 1 | 50.00 | 500.00 | 0.00 | | | 0.00 | + | 171 | 21 June 2026 | 50.00 | | 1 | 50.00 | 450.00 | 0.00 | | | 0.00 | + | 172 | 22 June 2026 | 50.00 | | 1 | 50.00 | 400.00 | 0.00 | | | 0.00 | + | 173 | 23 June 2026 | 50.00 | | 1 | 50.00 | 350.00 | 0.00 | | | 0.00 | + | 174 | 24 June 2026 | 50.00 | | 1 | 50.00 | 300.00 | 0.00 | | | 0.00 | + | 175 | 25 June 2026 | 50.00 | | 1 | 50.00 | 250.00 | 0.00 | | | 0.00 | + | 176 | 26 June 2026 | 50.00 | | 1 | 30.00 | 200.00 | 0.00 | | | 0.00 | @TestRailId:C76625 Scenario: Verify working capital loan repayment - UC9: full expectedAmount repaid on first day of 2nd period @@ -306,12 +1180,185 @@ Feature: Working Capital Loan Repayment And Delinquency Tag History for Working Capital loan has lines: | periodNumber | addedOnDate | liftedOnDate | classification | minimumAgeDays | maximumAgeDays | | 1 | 2026-01-31 | 2026-01-31 | D00 | 1 | 30 | - Then Working Capital loan amortization schedule has 4 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | - | 1 | 02 January 2026 | 5000.00 | 270.00 | 1 | 270.00 | 4658.91 | 0.00 | 35.58 | 35.58 | 0.00 | - | 2 | 03 January 2026 | 5000.00 | | 0.9317821063276353179 | 4658.91 | 0.00 | 0.00 | | | 0.00 | - | 3 | 04 January 2026 | | | 0.8682178936723646887 | 4106.67 | | | | | 0.00 | + Then Working Capital loan amortization schedule has 177 periods, with the following data for periods: + | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | + | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | + | 1 | 02 January 2026 | 50.00 | 270.00 | 1 | 270.00 | 8950.00 | 0.00 | 0.00 | 0.00 | 0.00 | + | 2 | 03 January 2026 | 50.00 | | 1 | 50.00 | 8900.00 | 0.00 | | | 0.00 | + | 3 | 04 January 2026 | 50.00 | | 1 | 50.00 | 8850.00 | 0.00 | | | 0.00 | + | 4 | 05 January 2026 | 50.00 | | 1 | 50.00 | 8800.00 | 0.00 | | | 0.00 | + | 5 | 06 January 2026 | 50.00 | | 1 | 50.00 | 8750.00 | 0.00 | | | 0.00 | + | 6 | 07 January 2026 | 50.00 | | 1 | 50.00 | 8700.00 | 0.00 | | | 0.00 | + | 7 | 08 January 2026 | 50.00 | | 1 | 50.00 | 8650.00 | 0.00 | | | 0.00 | + | 8 | 09 January 2026 | 50.00 | | 1 | 50.00 | 8600.00 | 0.00 | | | 0.00 | + | 9 | 10 January 2026 | 50.00 | | 1 | 50.00 | 8550.00 | 0.00 | | | 0.00 | + | 10 | 11 January 2026 | 50.00 | | 1 | 50.00 | 8500.00 | 0.00 | | | 0.00 | + | 11 | 12 January 2026 | 50.00 | | 1 | 50.00 | 8450.00 | 0.00 | | | 0.00 | + | 12 | 13 January 2026 | 50.00 | | 1 | 50.00 | 8400.00 | 0.00 | | | 0.00 | + | 13 | 14 January 2026 | 50.00 | | 1 | 50.00 | 8350.00 | 0.00 | | | 0.00 | + | 14 | 15 January 2026 | 50.00 | | 1 | 50.00 | 8300.00 | 0.00 | | | 0.00 | + | 15 | 16 January 2026 | 50.00 | | 1 | 50.00 | 8250.00 | 0.00 | | | 0.00 | + | 16 | 17 January 2026 | 50.00 | | 1 | 50.00 | 8200.00 | 0.00 | | | 0.00 | + | 17 | 18 January 2026 | 50.00 | | 1 | 50.00 | 8150.00 | 0.00 | | | 0.00 | + | 18 | 19 January 2026 | 50.00 | | 1 | 50.00 | 8100.00 | 0.00 | | | 0.00 | + | 19 | 20 January 2026 | 50.00 | | 1 | 50.00 | 8050.00 | 0.00 | | | 0.00 | + | 20 | 21 January 2026 | 50.00 | | 1 | 50.00 | 8000.00 | 0.00 | | | 0.00 | + | 21 | 22 January 2026 | 50.00 | | 1 | 50.00 | 7950.00 | 0.00 | | | 0.00 | + | 22 | 23 January 2026 | 50.00 | | 1 | 50.00 | 7900.00 | 0.00 | | | 0.00 | + | 23 | 24 January 2026 | 50.00 | | 1 | 50.00 | 7850.00 | 0.00 | | | 0.00 | + | 24 | 25 January 2026 | 50.00 | | 1 | 50.00 | 7800.00 | 0.00 | | | 0.00 | + | 25 | 26 January 2026 | 50.00 | | 1 | 50.00 | 7750.00 | 0.00 | | | 0.00 | + | 26 | 27 January 2026 | 50.00 | | 1 | 50.00 | 7700.00 | 0.00 | | | 0.00 | + | 27 | 28 January 2026 | 50.00 | | 1 | 50.00 | 7650.00 | 0.00 | | | 0.00 | + | 28 | 29 January 2026 | 50.00 | | 1 | 50.00 | 7600.00 | 0.00 | | | 0.00 | + | 29 | 30 January 2026 | 50.00 | | 1 | 50.00 | 7550.00 | 0.00 | | | 0.00 | + | 30 | 31 January 2026 | 50.00 | | 1 | 50.00 | 7500.00 | 0.00 | | | 0.00 | + | 31 | 01 February 2026 | 50.00 | | 1 | 50.00 | 7450.00 | 0.00 | | | 0.00 | + | 32 | 02 February 2026 | 50.00 | | 1 | 50.00 | 7400.00 | 0.00 | | | 0.00 | + | 33 | 03 February 2026 | 50.00 | | 1 | 50.00 | 7350.00 | 0.00 | | | 0.00 | + | 34 | 04 February 2026 | 50.00 | | 1 | 50.00 | 7300.00 | 0.00 | | | 0.00 | + | 35 | 05 February 2026 | 50.00 | | 1 | 50.00 | 7250.00 | 0.00 | | | 0.00 | + | 36 | 06 February 2026 | 50.00 | | 1 | 50.00 | 7200.00 | 0.00 | | | 0.00 | + | 37 | 07 February 2026 | 50.00 | | 1 | 50.00 | 7150.00 | 0.00 | | | 0.00 | + | 38 | 08 February 2026 | 50.00 | | 1 | 50.00 | 7100.00 | 0.00 | | | 0.00 | + | 39 | 09 February 2026 | 50.00 | | 1 | 50.00 | 7050.00 | 0.00 | | | 0.00 | + | 40 | 10 February 2026 | 50.00 | | 1 | 50.00 | 7000.00 | 0.00 | | | 0.00 | + | 41 | 11 February 2026 | 50.00 | | 1 | 50.00 | 6950.00 | 0.00 | | | 0.00 | + | 42 | 12 February 2026 | 50.00 | | 1 | 50.00 | 6900.00 | 0.00 | | | 0.00 | + | 43 | 13 February 2026 | 50.00 | | 1 | 50.00 | 6850.00 | 0.00 | | | 0.00 | + | 44 | 14 February 2026 | 50.00 | | 1 | 50.00 | 6800.00 | 0.00 | | | 0.00 | + | 45 | 15 February 2026 | 50.00 | | 1 | 50.00 | 6750.00 | 0.00 | | | 0.00 | + | 46 | 16 February 2026 | 50.00 | | 1 | 50.00 | 6700.00 | 0.00 | | | 0.00 | + | 47 | 17 February 2026 | 50.00 | | 1 | 50.00 | 6650.00 | 0.00 | | | 0.00 | + | 48 | 18 February 2026 | 50.00 | | 1 | 50.00 | 6600.00 | 0.00 | | | 0.00 | + | 49 | 19 February 2026 | 50.00 | | 1 | 50.00 | 6550.00 | 0.00 | | | 0.00 | + | 50 | 20 February 2026 | 50.00 | | 1 | 50.00 | 6500.00 | 0.00 | | | 0.00 | + | 51 | 21 February 2026 | 50.00 | | 1 | 50.00 | 6450.00 | 0.00 | | | 0.00 | + | 52 | 22 February 2026 | 50.00 | | 1 | 50.00 | 6400.00 | 0.00 | | | 0.00 | + | 53 | 23 February 2026 | 50.00 | | 1 | 50.00 | 6350.00 | 0.00 | | | 0.00 | + | 54 | 24 February 2026 | 50.00 | | 1 | 50.00 | 6300.00 | 0.00 | | | 0.00 | + | 55 | 25 February 2026 | 50.00 | | 1 | 50.00 | 6250.00 | 0.00 | | | 0.00 | + | 56 | 26 February 2026 | 50.00 | | 1 | 50.00 | 6200.00 | 0.00 | | | 0.00 | + | 57 | 27 February 2026 | 50.00 | | 1 | 50.00 | 6150.00 | 0.00 | | | 0.00 | + | 58 | 28 February 2026 | 50.00 | | 1 | 50.00 | 6100.00 | 0.00 | | | 0.00 | + | 59 | 01 March 2026 | 50.00 | | 1 | 50.00 | 6050.00 | 0.00 | | | 0.00 | + | 60 | 02 March 2026 | 50.00 | | 1 | 50.00 | 6000.00 | 0.00 | | | 0.00 | + | 61 | 03 March 2026 | 50.00 | | 1 | 50.00 | 5950.00 | 0.00 | | | 0.00 | + | 62 | 04 March 2026 | 50.00 | | 1 | 50.00 | 5900.00 | 0.00 | | | 0.00 | + | 63 | 05 March 2026 | 50.00 | | 1 | 50.00 | 5850.00 | 0.00 | | | 0.00 | + | 64 | 06 March 2026 | 50.00 | | 1 | 50.00 | 5800.00 | 0.00 | | | 0.00 | + | 65 | 07 March 2026 | 50.00 | | 1 | 50.00 | 5750.00 | 0.00 | | | 0.00 | + | 66 | 08 March 2026 | 50.00 | | 1 | 50.00 | 5700.00 | 0.00 | | | 0.00 | + | 67 | 09 March 2026 | 50.00 | | 1 | 50.00 | 5650.00 | 0.00 | | | 0.00 | + | 68 | 10 March 2026 | 50.00 | | 1 | 50.00 | 5600.00 | 0.00 | | | 0.00 | + | 69 | 11 March 2026 | 50.00 | | 1 | 50.00 | 5550.00 | 0.00 | | | 0.00 | + | 70 | 12 March 2026 | 50.00 | | 1 | 50.00 | 5500.00 | 0.00 | | | 0.00 | + | 71 | 13 March 2026 | 50.00 | | 1 | 50.00 | 5450.00 | 0.00 | | | 0.00 | + | 72 | 14 March 2026 | 50.00 | | 1 | 50.00 | 5400.00 | 0.00 | | | 0.00 | + | 73 | 15 March 2026 | 50.00 | | 1 | 50.00 | 5350.00 | 0.00 | | | 0.00 | + | 74 | 16 March 2026 | 50.00 | | 1 | 50.00 | 5300.00 | 0.00 | | | 0.00 | + | 75 | 17 March 2026 | 50.00 | | 1 | 50.00 | 5250.00 | 0.00 | | | 0.00 | + | 76 | 18 March 2026 | 50.00 | | 1 | 50.00 | 5200.00 | 0.00 | | | 0.00 | + | 77 | 19 March 2026 | 50.00 | | 1 | 50.00 | 5150.00 | 0.00 | | | 0.00 | + | 78 | 20 March 2026 | 50.00 | | 1 | 50.00 | 5100.00 | 0.00 | | | 0.00 | + | 79 | 21 March 2026 | 50.00 | | 1 | 50.00 | 5050.00 | 0.00 | | | 0.00 | + | 80 | 22 March 2026 | 50.00 | | 1 | 50.00 | 5000.00 | 0.00 | | | 0.00 | + | 81 | 23 March 2026 | 50.00 | | 1 | 50.00 | 4950.00 | 0.00 | | | 0.00 | + | 82 | 24 March 2026 | 50.00 | | 1 | 50.00 | 4900.00 | 0.00 | | | 0.00 | + | 83 | 25 March 2026 | 50.00 | | 1 | 50.00 | 4850.00 | 0.00 | | | 0.00 | + | 84 | 26 March 2026 | 50.00 | | 1 | 50.00 | 4800.00 | 0.00 | | | 0.00 | + | 85 | 27 March 2026 | 50.00 | | 1 | 50.00 | 4750.00 | 0.00 | | | 0.00 | + | 86 | 28 March 2026 | 50.00 | | 1 | 50.00 | 4700.00 | 0.00 | | | 0.00 | + | 87 | 29 March 2026 | 50.00 | | 1 | 50.00 | 4650.00 | 0.00 | | | 0.00 | + | 88 | 30 March 2026 | 50.00 | | 1 | 50.00 | 4600.00 | 0.00 | | | 0.00 | + | 89 | 31 March 2026 | 50.00 | | 1 | 50.00 | 4550.00 | 0.00 | | | 0.00 | + | 90 | 01 April 2026 | 50.00 | | 1 | 50.00 | 4500.00 | 0.00 | | | 0.00 | + | 91 | 02 April 2026 | 50.00 | | 1 | 50.00 | 4450.00 | 0.00 | | | 0.00 | + | 92 | 03 April 2026 | 50.00 | | 1 | 50.00 | 4400.00 | 0.00 | | | 0.00 | + | 93 | 04 April 2026 | 50.00 | | 1 | 50.00 | 4350.00 | 0.00 | | | 0.00 | + | 94 | 05 April 2026 | 50.00 | | 1 | 50.00 | 4300.00 | 0.00 | | | 0.00 | + | 95 | 06 April 2026 | 50.00 | | 1 | 50.00 | 4250.00 | 0.00 | | | 0.00 | + | 96 | 07 April 2026 | 50.00 | | 1 | 50.00 | 4200.00 | 0.00 | | | 0.00 | + | 97 | 08 April 2026 | 50.00 | | 1 | 50.00 | 4150.00 | 0.00 | | | 0.00 | + | 98 | 09 April 2026 | 50.00 | | 1 | 50.00 | 4100.00 | 0.00 | | | 0.00 | + | 99 | 10 April 2026 | 50.00 | | 1 | 50.00 | 4050.00 | 0.00 | | | 0.00 | + | 100 | 11 April 2026 | 50.00 | | 1 | 50.00 | 4000.00 | 0.00 | | | 0.00 | + | 101 | 12 April 2026 | 50.00 | | 1 | 50.00 | 3950.00 | 0.00 | | | 0.00 | + | 102 | 13 April 2026 | 50.00 | | 1 | 50.00 | 3900.00 | 0.00 | | | 0.00 | + | 103 | 14 April 2026 | 50.00 | | 1 | 50.00 | 3850.00 | 0.00 | | | 0.00 | + | 104 | 15 April 2026 | 50.00 | | 1 | 50.00 | 3800.00 | 0.00 | | | 0.00 | + | 105 | 16 April 2026 | 50.00 | | 1 | 50.00 | 3750.00 | 0.00 | | | 0.00 | + | 106 | 17 April 2026 | 50.00 | | 1 | 50.00 | 3700.00 | 0.00 | | | 0.00 | + | 107 | 18 April 2026 | 50.00 | | 1 | 50.00 | 3650.00 | 0.00 | | | 0.00 | + | 108 | 19 April 2026 | 50.00 | | 1 | 50.00 | 3600.00 | 0.00 | | | 0.00 | + | 109 | 20 April 2026 | 50.00 | | 1 | 50.00 | 3550.00 | 0.00 | | | 0.00 | + | 110 | 21 April 2026 | 50.00 | | 1 | 50.00 | 3500.00 | 0.00 | | | 0.00 | + | 111 | 22 April 2026 | 50.00 | | 1 | 50.00 | 3450.00 | 0.00 | | | 0.00 | + | 112 | 23 April 2026 | 50.00 | | 1 | 50.00 | 3400.00 | 0.00 | | | 0.00 | + | 113 | 24 April 2026 | 50.00 | | 1 | 50.00 | 3350.00 | 0.00 | | | 0.00 | + | 114 | 25 April 2026 | 50.00 | | 1 | 50.00 | 3300.00 | 0.00 | | | 0.00 | + | 115 | 26 April 2026 | 50.00 | | 1 | 50.00 | 3250.00 | 0.00 | | | 0.00 | + | 116 | 27 April 2026 | 50.00 | | 1 | 50.00 | 3200.00 | 0.00 | | | 0.00 | + | 117 | 28 April 2026 | 50.00 | | 1 | 50.00 | 3150.00 | 0.00 | | | 0.00 | + | 118 | 29 April 2026 | 50.00 | | 1 | 50.00 | 3100.00 | 0.00 | | | 0.00 | + | 119 | 30 April 2026 | 50.00 | | 1 | 50.00 | 3050.00 | 0.00 | | | 0.00 | + | 120 | 01 May 2026 | 50.00 | | 1 | 50.00 | 3000.00 | 0.00 | | | 0.00 | + | 121 | 02 May 2026 | 50.00 | | 1 | 50.00 | 2950.00 | 0.00 | | | 0.00 | + | 122 | 03 May 2026 | 50.00 | | 1 | 50.00 | 2900.00 | 0.00 | | | 0.00 | + | 123 | 04 May 2026 | 50.00 | | 1 | 50.00 | 2850.00 | 0.00 | | | 0.00 | + | 124 | 05 May 2026 | 50.00 | | 1 | 50.00 | 2800.00 | 0.00 | | | 0.00 | + | 125 | 06 May 2026 | 50.00 | | 1 | 50.00 | 2750.00 | 0.00 | | | 0.00 | + | 126 | 07 May 2026 | 50.00 | | 1 | 50.00 | 2700.00 | 0.00 | | | 0.00 | + | 127 | 08 May 2026 | 50.00 | | 1 | 50.00 | 2650.00 | 0.00 | | | 0.00 | + | 128 | 09 May 2026 | 50.00 | | 1 | 50.00 | 2600.00 | 0.00 | | | 0.00 | + | 129 | 10 May 2026 | 50.00 | | 1 | 50.00 | 2550.00 | 0.00 | | | 0.00 | + | 130 | 11 May 2026 | 50.00 | | 1 | 50.00 | 2500.00 | 0.00 | | | 0.00 | + | 131 | 12 May 2026 | 50.00 | | 1 | 50.00 | 2450.00 | 0.00 | | | 0.00 | + | 132 | 13 May 2026 | 50.00 | | 1 | 50.00 | 2400.00 | 0.00 | | | 0.00 | + | 133 | 14 May 2026 | 50.00 | | 1 | 50.00 | 2350.00 | 0.00 | | | 0.00 | + | 134 | 15 May 2026 | 50.00 | | 1 | 50.00 | 2300.00 | 0.00 | | | 0.00 | + | 135 | 16 May 2026 | 50.00 | | 1 | 50.00 | 2250.00 | 0.00 | | | 0.00 | + | 136 | 17 May 2026 | 50.00 | | 1 | 50.00 | 2200.00 | 0.00 | | | 0.00 | + | 137 | 18 May 2026 | 50.00 | | 1 | 50.00 | 2150.00 | 0.00 | | | 0.00 | + | 138 | 19 May 2026 | 50.00 | | 1 | 50.00 | 2100.00 | 0.00 | | | 0.00 | + | 139 | 20 May 2026 | 50.00 | | 1 | 50.00 | 2050.00 | 0.00 | | | 0.00 | + | 140 | 21 May 2026 | 50.00 | | 1 | 50.00 | 2000.00 | 0.00 | | | 0.00 | + | 141 | 22 May 2026 | 50.00 | | 1 | 50.00 | 1950.00 | 0.00 | | | 0.00 | + | 142 | 23 May 2026 | 50.00 | | 1 | 50.00 | 1900.00 | 0.00 | | | 0.00 | + | 143 | 24 May 2026 | 50.00 | | 1 | 50.00 | 1850.00 | 0.00 | | | 0.00 | + | 144 | 25 May 2026 | 50.00 | | 1 | 50.00 | 1800.00 | 0.00 | | | 0.00 | + | 145 | 26 May 2026 | 50.00 | | 1 | 50.00 | 1750.00 | 0.00 | | | 0.00 | + | 146 | 27 May 2026 | 50.00 | | 1 | 50.00 | 1700.00 | 0.00 | | | 0.00 | + | 147 | 28 May 2026 | 50.00 | | 1 | 50.00 | 1650.00 | 0.00 | | | 0.00 | + | 148 | 29 May 2026 | 50.00 | | 1 | 50.00 | 1600.00 | 0.00 | | | 0.00 | + | 149 | 30 May 2026 | 50.00 | | 1 | 50.00 | 1550.00 | 0.00 | | | 0.00 | + | 150 | 31 May 2026 | 50.00 | | 1 | 50.00 | 1500.00 | 0.00 | | | 0.00 | + | 151 | 01 June 2026 | 50.00 | | 1 | 50.00 | 1450.00 | 0.00 | | | 0.00 | + | 152 | 02 June 2026 | 50.00 | | 1 | 50.00 | 1400.00 | 0.00 | | | 0.00 | + | 153 | 03 June 2026 | 50.00 | | 1 | 50.00 | 1350.00 | 0.00 | | | 0.00 | + | 154 | 04 June 2026 | 50.00 | | 1 | 50.00 | 1300.00 | 0.00 | | | 0.00 | + | 155 | 05 June 2026 | 50.00 | | 1 | 50.00 | 1250.00 | 0.00 | | | 0.00 | + | 156 | 06 June 2026 | 50.00 | | 1 | 50.00 | 1200.00 | 0.00 | | | 0.00 | + | 157 | 07 June 2026 | 50.00 | | 1 | 50.00 | 1150.00 | 0.00 | | | 0.00 | + | 158 | 08 June 2026 | 50.00 | | 1 | 50.00 | 1100.00 | 0.00 | | | 0.00 | + | 159 | 09 June 2026 | 50.00 | | 1 | 50.00 | 1050.00 | 0.00 | | | 0.00 | + | 160 | 10 June 2026 | 50.00 | | 1 | 50.00 | 1000.00 | 0.00 | | | 0.00 | + | 161 | 11 June 2026 | 50.00 | | 1 | 50.00 | 950.00 | 0.00 | | | 0.00 | + | 162 | 12 June 2026 | 50.00 | | 1 | 50.00 | 900.00 | 0.00 | | | 0.00 | + | 163 | 13 June 2026 | 50.00 | | 1 | 50.00 | 850.00 | 0.00 | | | 0.00 | + | 164 | 14 June 2026 | 50.00 | | 1 | 50.00 | 800.00 | 0.00 | | | 0.00 | + | 165 | 15 June 2026 | 50.00 | | 1 | 50.00 | 750.00 | 0.00 | | | 0.00 | + | 166 | 16 June 2026 | 50.00 | | 1 | 50.00 | 700.00 | 0.00 | | | 0.00 | + | 167 | 17 June 2026 | 50.00 | | 1 | 50.00 | 650.00 | 0.00 | | | 0.00 | + | 168 | 18 June 2026 | 50.00 | | 1 | 50.00 | 600.00 | 0.00 | | | 0.00 | + | 169 | 19 June 2026 | 50.00 | | 1 | 50.00 | 550.00 | 0.00 | | | 0.00 | + | 170 | 20 June 2026 | 50.00 | | 1 | 50.00 | 500.00 | 0.00 | | | 0.00 | + | 171 | 21 June 2026 | 50.00 | | 1 | 50.00 | 450.00 | 0.00 | | | 0.00 | + | 172 | 22 June 2026 | 50.00 | | 1 | 50.00 | 400.00 | 0.00 | | | 0.00 | + | 173 | 23 June 2026 | 50.00 | | 1 | 50.00 | 350.00 | 0.00 | | | 0.00 | + | 174 | 24 June 2026 | 50.00 | | 1 | 50.00 | 300.00 | 0.00 | | | 0.00 | + | 175 | 25 June 2026 | 50.00 | | 1 | 50.00 | 250.00 | 0.00 | | | 0.00 | + | 176 | 26 June 2026 | 50.00 | | 1 | 30.00 | 200.00 | 0.00 | | | 0.00 | @TestRailId:C76626 Scenario: Verify working capital loan repayment - UC10: full expectedAmount repaid in 1st period with multiple payments on same day @@ -354,13 +1401,186 @@ Feature: Working Capital Loan Repayment | 2 | 2026-01-31 | 2026-03-01 | 270.0 | 0.0 | 270.0 | null | null | null | And Delinquency Tag History for Working Capital loan has lines: | periodNumber | addedOnDate | liftedOnDate | classification | minimumAgeDays | maximumAgeDays | - Then Working Capital loan amortization schedule has 5 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | - | 1 | 02 January 2026 | 5000.00 | 170.00 | 1 | 170.00 | 4658.91 | 0.00 | 22.40 | 22.40 | 0.00 | - | 2 | 03 January 2026 | 5000.00 | 100.00 | 1 | 100.00 | 0.00 | 0.00 | 13.18 | 13.18 | 0.00 | - | 3 | 04 January 2026 | | | 0.9317821063 | 4658.91 | | | | | 0.00 | - | 4 | 05 January 2026 | | | 0.8682178937 | 4106.67 | | | | | 0.00 | + Then Working Capital loan amortization schedule has 178 periods, with the following data for periods: + | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | + | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | + | 1 | 02 January 2026 | 50.00 | 170.00 | 1 | 170.00 | 8950.00 | 0.00 | 0.00 | 0.00 | 0.00 | + | 2 | 03 January 2026 | 50.00 | 100.00 | 1 | 100.00 | 8900.00 | 0.00 | 0.00 | 0.00 | 0.00 | + | 3 | 04 January 2026 | 50.00 | | 1 | 50.00 | 8850.00 | 0.00 | | | 0.00 | + | 4 | 05 January 2026 | 50.00 | | 1 | 50.00 | 8800.00 | 0.00 | | | 0.00 | + | 5 | 06 January 2026 | 50.00 | | 1 | 50.00 | 8750.00 | 0.00 | | | 0.00 | + | 6 | 07 January 2026 | 50.00 | | 1 | 50.00 | 8700.00 | 0.00 | | | 0.00 | + | 7 | 08 January 2026 | 50.00 | | 1 | 50.00 | 8650.00 | 0.00 | | | 0.00 | + | 8 | 09 January 2026 | 50.00 | | 1 | 50.00 | 8600.00 | 0.00 | | | 0.00 | + | 9 | 10 January 2026 | 50.00 | | 1 | 50.00 | 8550.00 | 0.00 | | | 0.00 | + | 10 | 11 January 2026 | 50.00 | | 1 | 50.00 | 8500.00 | 0.00 | | | 0.00 | + | 11 | 12 January 2026 | 50.00 | | 1 | 50.00 | 8450.00 | 0.00 | | | 0.00 | + | 12 | 13 January 2026 | 50.00 | | 1 | 50.00 | 8400.00 | 0.00 | | | 0.00 | + | 13 | 14 January 2026 | 50.00 | | 1 | 50.00 | 8350.00 | 0.00 | | | 0.00 | + | 14 | 15 January 2026 | 50.00 | | 1 | 50.00 | 8300.00 | 0.00 | | | 0.00 | + | 15 | 16 January 2026 | 50.00 | | 1 | 50.00 | 8250.00 | 0.00 | | | 0.00 | + | 16 | 17 January 2026 | 50.00 | | 1 | 50.00 | 8200.00 | 0.00 | | | 0.00 | + | 17 | 18 January 2026 | 50.00 | | 1 | 50.00 | 8150.00 | 0.00 | | | 0.00 | + | 18 | 19 January 2026 | 50.00 | | 1 | 50.00 | 8100.00 | 0.00 | | | 0.00 | + | 19 | 20 January 2026 | 50.00 | | 1 | 50.00 | 8050.00 | 0.00 | | | 0.00 | + | 20 | 21 January 2026 | 50.00 | | 1 | 50.00 | 8000.00 | 0.00 | | | 0.00 | + | 21 | 22 January 2026 | 50.00 | | 1 | 50.00 | 7950.00 | 0.00 | | | 0.00 | + | 22 | 23 January 2026 | 50.00 | | 1 | 50.00 | 7900.00 | 0.00 | | | 0.00 | + | 23 | 24 January 2026 | 50.00 | | 1 | 50.00 | 7850.00 | 0.00 | | | 0.00 | + | 24 | 25 January 2026 | 50.00 | | 1 | 50.00 | 7800.00 | 0.00 | | | 0.00 | + | 25 | 26 January 2026 | 50.00 | | 1 | 50.00 | 7750.00 | 0.00 | | | 0.00 | + | 26 | 27 January 2026 | 50.00 | | 1 | 50.00 | 7700.00 | 0.00 | | | 0.00 | + | 27 | 28 January 2026 | 50.00 | | 1 | 50.00 | 7650.00 | 0.00 | | | 0.00 | + | 28 | 29 January 2026 | 50.00 | | 1 | 50.00 | 7600.00 | 0.00 | | | 0.00 | + | 29 | 30 January 2026 | 50.00 | | 1 | 50.00 | 7550.00 | 0.00 | | | 0.00 | + | 30 | 31 January 2026 | 50.00 | | 1 | 50.00 | 7500.00 | 0.00 | | | 0.00 | + | 31 | 01 February 2026 | 50.00 | | 1 | 50.00 | 7450.00 | 0.00 | | | 0.00 | + | 32 | 02 February 2026 | 50.00 | | 1 | 50.00 | 7400.00 | 0.00 | | | 0.00 | + | 33 | 03 February 2026 | 50.00 | | 1 | 50.00 | 7350.00 | 0.00 | | | 0.00 | + | 34 | 04 February 2026 | 50.00 | | 1 | 50.00 | 7300.00 | 0.00 | | | 0.00 | + | 35 | 05 February 2026 | 50.00 | | 1 | 50.00 | 7250.00 | 0.00 | | | 0.00 | + | 36 | 06 February 2026 | 50.00 | | 1 | 50.00 | 7200.00 | 0.00 | | | 0.00 | + | 37 | 07 February 2026 | 50.00 | | 1 | 50.00 | 7150.00 | 0.00 | | | 0.00 | + | 38 | 08 February 2026 | 50.00 | | 1 | 50.00 | 7100.00 | 0.00 | | | 0.00 | + | 39 | 09 February 2026 | 50.00 | | 1 | 50.00 | 7050.00 | 0.00 | | | 0.00 | + | 40 | 10 February 2026 | 50.00 | | 1 | 50.00 | 7000.00 | 0.00 | | | 0.00 | + | 41 | 11 February 2026 | 50.00 | | 1 | 50.00 | 6950.00 | 0.00 | | | 0.00 | + | 42 | 12 February 2026 | 50.00 | | 1 | 50.00 | 6900.00 | 0.00 | | | 0.00 | + | 43 | 13 February 2026 | 50.00 | | 1 | 50.00 | 6850.00 | 0.00 | | | 0.00 | + | 44 | 14 February 2026 | 50.00 | | 1 | 50.00 | 6800.00 | 0.00 | | | 0.00 | + | 45 | 15 February 2026 | 50.00 | | 1 | 50.00 | 6750.00 | 0.00 | | | 0.00 | + | 46 | 16 February 2026 | 50.00 | | 1 | 50.00 | 6700.00 | 0.00 | | | 0.00 | + | 47 | 17 February 2026 | 50.00 | | 1 | 50.00 | 6650.00 | 0.00 | | | 0.00 | + | 48 | 18 February 2026 | 50.00 | | 1 | 50.00 | 6600.00 | 0.00 | | | 0.00 | + | 49 | 19 February 2026 | 50.00 | | 1 | 50.00 | 6550.00 | 0.00 | | | 0.00 | + | 50 | 20 February 2026 | 50.00 | | 1 | 50.00 | 6500.00 | 0.00 | | | 0.00 | + | 51 | 21 February 2026 | 50.00 | | 1 | 50.00 | 6450.00 | 0.00 | | | 0.00 | + | 52 | 22 February 2026 | 50.00 | | 1 | 50.00 | 6400.00 | 0.00 | | | 0.00 | + | 53 | 23 February 2026 | 50.00 | | 1 | 50.00 | 6350.00 | 0.00 | | | 0.00 | + | 54 | 24 February 2026 | 50.00 | | 1 | 50.00 | 6300.00 | 0.00 | | | 0.00 | + | 55 | 25 February 2026 | 50.00 | | 1 | 50.00 | 6250.00 | 0.00 | | | 0.00 | + | 56 | 26 February 2026 | 50.00 | | 1 | 50.00 | 6200.00 | 0.00 | | | 0.00 | + | 57 | 27 February 2026 | 50.00 | | 1 | 50.00 | 6150.00 | 0.00 | | | 0.00 | + | 58 | 28 February 2026 | 50.00 | | 1 | 50.00 | 6100.00 | 0.00 | | | 0.00 | + | 59 | 01 March 2026 | 50.00 | | 1 | 50.00 | 6050.00 | 0.00 | | | 0.00 | + | 60 | 02 March 2026 | 50.00 | | 1 | 50.00 | 6000.00 | 0.00 | | | 0.00 | + | 61 | 03 March 2026 | 50.00 | | 1 | 50.00 | 5950.00 | 0.00 | | | 0.00 | + | 62 | 04 March 2026 | 50.00 | | 1 | 50.00 | 5900.00 | 0.00 | | | 0.00 | + | 63 | 05 March 2026 | 50.00 | | 1 | 50.00 | 5850.00 | 0.00 | | | 0.00 | + | 64 | 06 March 2026 | 50.00 | | 1 | 50.00 | 5800.00 | 0.00 | | | 0.00 | + | 65 | 07 March 2026 | 50.00 | | 1 | 50.00 | 5750.00 | 0.00 | | | 0.00 | + | 66 | 08 March 2026 | 50.00 | | 1 | 50.00 | 5700.00 | 0.00 | | | 0.00 | + | 67 | 09 March 2026 | 50.00 | | 1 | 50.00 | 5650.00 | 0.00 | | | 0.00 | + | 68 | 10 March 2026 | 50.00 | | 1 | 50.00 | 5600.00 | 0.00 | | | 0.00 | + | 69 | 11 March 2026 | 50.00 | | 1 | 50.00 | 5550.00 | 0.00 | | | 0.00 | + | 70 | 12 March 2026 | 50.00 | | 1 | 50.00 | 5500.00 | 0.00 | | | 0.00 | + | 71 | 13 March 2026 | 50.00 | | 1 | 50.00 | 5450.00 | 0.00 | | | 0.00 | + | 72 | 14 March 2026 | 50.00 | | 1 | 50.00 | 5400.00 | 0.00 | | | 0.00 | + | 73 | 15 March 2026 | 50.00 | | 1 | 50.00 | 5350.00 | 0.00 | | | 0.00 | + | 74 | 16 March 2026 | 50.00 | | 1 | 50.00 | 5300.00 | 0.00 | | | 0.00 | + | 75 | 17 March 2026 | 50.00 | | 1 | 50.00 | 5250.00 | 0.00 | | | 0.00 | + | 76 | 18 March 2026 | 50.00 | | 1 | 50.00 | 5200.00 | 0.00 | | | 0.00 | + | 77 | 19 March 2026 | 50.00 | | 1 | 50.00 | 5150.00 | 0.00 | | | 0.00 | + | 78 | 20 March 2026 | 50.00 | | 1 | 50.00 | 5100.00 | 0.00 | | | 0.00 | + | 79 | 21 March 2026 | 50.00 | | 1 | 50.00 | 5050.00 | 0.00 | | | 0.00 | + | 80 | 22 March 2026 | 50.00 | | 1 | 50.00 | 5000.00 | 0.00 | | | 0.00 | + | 81 | 23 March 2026 | 50.00 | | 1 | 50.00 | 4950.00 | 0.00 | | | 0.00 | + | 82 | 24 March 2026 | 50.00 | | 1 | 50.00 | 4900.00 | 0.00 | | | 0.00 | + | 83 | 25 March 2026 | 50.00 | | 1 | 50.00 | 4850.00 | 0.00 | | | 0.00 | + | 84 | 26 March 2026 | 50.00 | | 1 | 50.00 | 4800.00 | 0.00 | | | 0.00 | + | 85 | 27 March 2026 | 50.00 | | 1 | 50.00 | 4750.00 | 0.00 | | | 0.00 | + | 86 | 28 March 2026 | 50.00 | | 1 | 50.00 | 4700.00 | 0.00 | | | 0.00 | + | 87 | 29 March 2026 | 50.00 | | 1 | 50.00 | 4650.00 | 0.00 | | | 0.00 | + | 88 | 30 March 2026 | 50.00 | | 1 | 50.00 | 4600.00 | 0.00 | | | 0.00 | + | 89 | 31 March 2026 | 50.00 | | 1 | 50.00 | 4550.00 | 0.00 | | | 0.00 | + | 90 | 01 April 2026 | 50.00 | | 1 | 50.00 | 4500.00 | 0.00 | | | 0.00 | + | 91 | 02 April 2026 | 50.00 | | 1 | 50.00 | 4450.00 | 0.00 | | | 0.00 | + | 92 | 03 April 2026 | 50.00 | | 1 | 50.00 | 4400.00 | 0.00 | | | 0.00 | + | 93 | 04 April 2026 | 50.00 | | 1 | 50.00 | 4350.00 | 0.00 | | | 0.00 | + | 94 | 05 April 2026 | 50.00 | | 1 | 50.00 | 4300.00 | 0.00 | | | 0.00 | + | 95 | 06 April 2026 | 50.00 | | 1 | 50.00 | 4250.00 | 0.00 | | | 0.00 | + | 96 | 07 April 2026 | 50.00 | | 1 | 50.00 | 4200.00 | 0.00 | | | 0.00 | + | 97 | 08 April 2026 | 50.00 | | 1 | 50.00 | 4150.00 | 0.00 | | | 0.00 | + | 98 | 09 April 2026 | 50.00 | | 1 | 50.00 | 4100.00 | 0.00 | | | 0.00 | + | 99 | 10 April 2026 | 50.00 | | 1 | 50.00 | 4050.00 | 0.00 | | | 0.00 | + | 100 | 11 April 2026 | 50.00 | | 1 | 50.00 | 4000.00 | 0.00 | | | 0.00 | + | 101 | 12 April 2026 | 50.00 | | 1 | 50.00 | 3950.00 | 0.00 | | | 0.00 | + | 102 | 13 April 2026 | 50.00 | | 1 | 50.00 | 3900.00 | 0.00 | | | 0.00 | + | 103 | 14 April 2026 | 50.00 | | 1 | 50.00 | 3850.00 | 0.00 | | | 0.00 | + | 104 | 15 April 2026 | 50.00 | | 1 | 50.00 | 3800.00 | 0.00 | | | 0.00 | + | 105 | 16 April 2026 | 50.00 | | 1 | 50.00 | 3750.00 | 0.00 | | | 0.00 | + | 106 | 17 April 2026 | 50.00 | | 1 | 50.00 | 3700.00 | 0.00 | | | 0.00 | + | 107 | 18 April 2026 | 50.00 | | 1 | 50.00 | 3650.00 | 0.00 | | | 0.00 | + | 108 | 19 April 2026 | 50.00 | | 1 | 50.00 | 3600.00 | 0.00 | | | 0.00 | + | 109 | 20 April 2026 | 50.00 | | 1 | 50.00 | 3550.00 | 0.00 | | | 0.00 | + | 110 | 21 April 2026 | 50.00 | | 1 | 50.00 | 3500.00 | 0.00 | | | 0.00 | + | 111 | 22 April 2026 | 50.00 | | 1 | 50.00 | 3450.00 | 0.00 | | | 0.00 | + | 112 | 23 April 2026 | 50.00 | | 1 | 50.00 | 3400.00 | 0.00 | | | 0.00 | + | 113 | 24 April 2026 | 50.00 | | 1 | 50.00 | 3350.00 | 0.00 | | | 0.00 | + | 114 | 25 April 2026 | 50.00 | | 1 | 50.00 | 3300.00 | 0.00 | | | 0.00 | + | 115 | 26 April 2026 | 50.00 | | 1 | 50.00 | 3250.00 | 0.00 | | | 0.00 | + | 116 | 27 April 2026 | 50.00 | | 1 | 50.00 | 3200.00 | 0.00 | | | 0.00 | + | 117 | 28 April 2026 | 50.00 | | 1 | 50.00 | 3150.00 | 0.00 | | | 0.00 | + | 118 | 29 April 2026 | 50.00 | | 1 | 50.00 | 3100.00 | 0.00 | | | 0.00 | + | 119 | 30 April 2026 | 50.00 | | 1 | 50.00 | 3050.00 | 0.00 | | | 0.00 | + | 120 | 01 May 2026 | 50.00 | | 1 | 50.00 | 3000.00 | 0.00 | | | 0.00 | + | 121 | 02 May 2026 | 50.00 | | 1 | 50.00 | 2950.00 | 0.00 | | | 0.00 | + | 122 | 03 May 2026 | 50.00 | | 1 | 50.00 | 2900.00 | 0.00 | | | 0.00 | + | 123 | 04 May 2026 | 50.00 | | 1 | 50.00 | 2850.00 | 0.00 | | | 0.00 | + | 124 | 05 May 2026 | 50.00 | | 1 | 50.00 | 2800.00 | 0.00 | | | 0.00 | + | 125 | 06 May 2026 | 50.00 | | 1 | 50.00 | 2750.00 | 0.00 | | | 0.00 | + | 126 | 07 May 2026 | 50.00 | | 1 | 50.00 | 2700.00 | 0.00 | | | 0.00 | + | 127 | 08 May 2026 | 50.00 | | 1 | 50.00 | 2650.00 | 0.00 | | | 0.00 | + | 128 | 09 May 2026 | 50.00 | | 1 | 50.00 | 2600.00 | 0.00 | | | 0.00 | + | 129 | 10 May 2026 | 50.00 | | 1 | 50.00 | 2550.00 | 0.00 | | | 0.00 | + | 130 | 11 May 2026 | 50.00 | | 1 | 50.00 | 2500.00 | 0.00 | | | 0.00 | + | 131 | 12 May 2026 | 50.00 | | 1 | 50.00 | 2450.00 | 0.00 | | | 0.00 | + | 132 | 13 May 2026 | 50.00 | | 1 | 50.00 | 2400.00 | 0.00 | | | 0.00 | + | 133 | 14 May 2026 | 50.00 | | 1 | 50.00 | 2350.00 | 0.00 | | | 0.00 | + | 134 | 15 May 2026 | 50.00 | | 1 | 50.00 | 2300.00 | 0.00 | | | 0.00 | + | 135 | 16 May 2026 | 50.00 | | 1 | 50.00 | 2250.00 | 0.00 | | | 0.00 | + | 136 | 17 May 2026 | 50.00 | | 1 | 50.00 | 2200.00 | 0.00 | | | 0.00 | + | 137 | 18 May 2026 | 50.00 | | 1 | 50.00 | 2150.00 | 0.00 | | | 0.00 | + | 138 | 19 May 2026 | 50.00 | | 1 | 50.00 | 2100.00 | 0.00 | | | 0.00 | + | 139 | 20 May 2026 | 50.00 | | 1 | 50.00 | 2050.00 | 0.00 | | | 0.00 | + | 140 | 21 May 2026 | 50.00 | | 1 | 50.00 | 2000.00 | 0.00 | | | 0.00 | + | 141 | 22 May 2026 | 50.00 | | 1 | 50.00 | 1950.00 | 0.00 | | | 0.00 | + | 142 | 23 May 2026 | 50.00 | | 1 | 50.00 | 1900.00 | 0.00 | | | 0.00 | + | 143 | 24 May 2026 | 50.00 | | 1 | 50.00 | 1850.00 | 0.00 | | | 0.00 | + | 144 | 25 May 2026 | 50.00 | | 1 | 50.00 | 1800.00 | 0.00 | | | 0.00 | + | 145 | 26 May 2026 | 50.00 | | 1 | 50.00 | 1750.00 | 0.00 | | | 0.00 | + | 146 | 27 May 2026 | 50.00 | | 1 | 50.00 | 1700.00 | 0.00 | | | 0.00 | + | 147 | 28 May 2026 | 50.00 | | 1 | 50.00 | 1650.00 | 0.00 | | | 0.00 | + | 148 | 29 May 2026 | 50.00 | | 1 | 50.00 | 1600.00 | 0.00 | | | 0.00 | + | 149 | 30 May 2026 | 50.00 | | 1 | 50.00 | 1550.00 | 0.00 | | | 0.00 | + | 150 | 31 May 2026 | 50.00 | | 1 | 50.00 | 1500.00 | 0.00 | | | 0.00 | + | 151 | 01 June 2026 | 50.00 | | 1 | 50.00 | 1450.00 | 0.00 | | | 0.00 | + | 152 | 02 June 2026 | 50.00 | | 1 | 50.00 | 1400.00 | 0.00 | | | 0.00 | + | 153 | 03 June 2026 | 50.00 | | 1 | 50.00 | 1350.00 | 0.00 | | | 0.00 | + | 154 | 04 June 2026 | 50.00 | | 1 | 50.00 | 1300.00 | 0.00 | | | 0.00 | + | 155 | 05 June 2026 | 50.00 | | 1 | 50.00 | 1250.00 | 0.00 | | | 0.00 | + | 156 | 06 June 2026 | 50.00 | | 1 | 50.00 | 1200.00 | 0.00 | | | 0.00 | + | 157 | 07 June 2026 | 50.00 | | 1 | 50.00 | 1150.00 | 0.00 | | | 0.00 | + | 158 | 08 June 2026 | 50.00 | | 1 | 50.00 | 1100.00 | 0.00 | | | 0.00 | + | 159 | 09 June 2026 | 50.00 | | 1 | 50.00 | 1050.00 | 0.00 | | | 0.00 | + | 160 | 10 June 2026 | 50.00 | | 1 | 50.00 | 1000.00 | 0.00 | | | 0.00 | + | 161 | 11 June 2026 | 50.00 | | 1 | 50.00 | 950.00 | 0.00 | | | 0.00 | + | 162 | 12 June 2026 | 50.00 | | 1 | 50.00 | 900.00 | 0.00 | | | 0.00 | + | 163 | 13 June 2026 | 50.00 | | 1 | 50.00 | 850.00 | 0.00 | | | 0.00 | + | 164 | 14 June 2026 | 50.00 | | 1 | 50.00 | 800.00 | 0.00 | | | 0.00 | + | 165 | 15 June 2026 | 50.00 | | 1 | 50.00 | 750.00 | 0.00 | | | 0.00 | + | 166 | 16 June 2026 | 50.00 | | 1 | 50.00 | 700.00 | 0.00 | | | 0.00 | + | 167 | 17 June 2026 | 50.00 | | 1 | 50.00 | 650.00 | 0.00 | | | 0.00 | + | 168 | 18 June 2026 | 50.00 | | 1 | 50.00 | 600.00 | 0.00 | | | 0.00 | + | 169 | 19 June 2026 | 50.00 | | 1 | 50.00 | 550.00 | 0.00 | | | 0.00 | + | 170 | 20 June 2026 | 50.00 | | 1 | 50.00 | 500.00 | 0.00 | | | 0.00 | + | 171 | 21 June 2026 | 50.00 | | 1 | 50.00 | 450.00 | 0.00 | | | 0.00 | + | 172 | 22 June 2026 | 50.00 | | 1 | 50.00 | 400.00 | 0.00 | | | 0.00 | + | 173 | 23 June 2026 | 50.00 | | 1 | 50.00 | 350.00 | 0.00 | | | 0.00 | + | 174 | 24 June 2026 | 50.00 | | 1 | 50.00 | 300.00 | 0.00 | | | 0.00 | + | 175 | 25 June 2026 | 50.00 | | 1 | 50.00 | 250.00 | 0.00 | | | 0.00 | + | 176 | 26 June 2026 | 50.00 | | 1 | 50.00 | 200.00 | 0.00 | | | 0.00 | + | 177 | 27 June 2026 | 50.00 | | 1 | 30.00 | 150.00 | 0.00 | | | 0.00 | @TestRailId:C76627 Scenario: Verify working capital loan repayment - UC11: full expectedAmount repaid in 1st period with multiple payments on different days @@ -394,8 +1614,8 @@ Feature: Working Capital Loan Repayment | 1 | 2026-01-01 | 2026-01-30 | 270.0 | 170.0 | 100.0 | null | null | null | And Delinquency Tag History for Working Capital loan has lines: | periodNumber | addedOnDate | liftedOnDate | classification | minimumAgeDays | maximumAgeDays | - When Admin sets the business date to "15 January 2026" - And Customer makes repayment on "15 January 2026" with 100.0 transaction amount on Working Capital loan + When Admin sets the business date to "03 January 2026" + And Customer makes repayment on "03 January 2026" with 100.0 transaction amount on Working Capital loan Then Working Capital loan delinquency range schedule has the following data: | periodNumber | fromDate | toDate | expectedAmount | paidAmount | outstandingAmount | minPaymentCriteriaMet | delinquentAmount | delinquentDays | | 1 | 2026-01-01 | 2026-01-30 | 270.0 | 270.0 | 0.0 | true | 0.0 | 0 | @@ -409,61 +1629,187 @@ Feature: Working Capital Loan Repayment | 2 | 2026-01-31 | 2026-03-01 | 270.0 | 0.0 | 270.0 | null | null | null | And Delinquency Tag History for Working Capital loan has lines: | periodNumber | addedOnDate | liftedOnDate | classification | minimumAgeDays | maximumAgeDays | - Then Working Capital loan amortization schedule has 5 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | - | 1 | 02 January 2026 | 5000.00 | 170.00 | 1 | 170.00 | 4658.91 | 0.00 | 22.40 | 22.40 | 0.00 | - | 2 | 03 January 2026 | 5000.00 | 100.00 | 1 | 100.00 | 0.00 | 0.00 | 13.18 | 13.18 | 0.00 | - | 3 | 04 January 2026 | | | 0.9317821063 | 4658.91 | | | | | 0.00 | - | 4 | 05 January 2026 | | | 0.8682178937 | 4106.67 | | | | | 0.00 | + Then Working Capital loan amortization schedule has 178 periods, with the following data for periods: + | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | + | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | + | 1 | 02 January 2026 | 50.00 | 170.00 | 1 | 170.00 | 8950.00 | 0.00 | 0.00 | 0.00 | 0.00 | + | 2 | 03 January 2026 | 50.00 | 100.00 | 1 | 100.00 | 8900.00 | 0.00 | 0.00 | 0.00 | 0.00 | + | 3 | 04 January 2026 | 50.00 | | 1 | 50.00 | 8850.00 | 0.00 | | | 0.00 | + | 4 | 05 January 2026 | 50.00 | | 1 | 50.00 | 8800.00 | 0.00 | | | 0.00 | + | 5 | 06 January 2026 | 50.00 | | 1 | 50.00 | 8750.00 | 0.00 | | | 0.00 | + | 6 | 07 January 2026 | 50.00 | | 1 | 50.00 | 8700.00 | 0.00 | | | 0.00 | + | 7 | 08 January 2026 | 50.00 | | 1 | 50.00 | 8650.00 | 0.00 | | | 0.00 | + | 8 | 09 January 2026 | 50.00 | | 1 | 50.00 | 8600.00 | 0.00 | | | 0.00 | + | 9 | 10 January 2026 | 50.00 | | 1 | 50.00 | 8550.00 | 0.00 | | | 0.00 | + | 10 | 11 January 2026 | 50.00 | | 1 | 50.00 | 8500.00 | 0.00 | | | 0.00 | + | 11 | 12 January 2026 | 50.00 | | 1 | 50.00 | 8450.00 | 0.00 | | | 0.00 | + | 12 | 13 January 2026 | 50.00 | | 1 | 50.00 | 8400.00 | 0.00 | | | 0.00 | + | 13 | 14 January 2026 | 50.00 | | 1 | 50.00 | 8350.00 | 0.00 | | | 0.00 | + | 14 | 15 January 2026 | 50.00 | | 1 | 50.00 | 8300.00 | 0.00 | | | 0.00 | + | 15 | 16 January 2026 | 50.00 | | 1 | 50.00 | 8250.00 | 0.00 | | | 0.00 | + | 16 | 17 January 2026 | 50.00 | | 1 | 50.00 | 8200.00 | 0.00 | | | 0.00 | + | 17 | 18 January 2026 | 50.00 | | 1 | 50.00 | 8150.00 | 0.00 | | | 0.00 | + | 18 | 19 January 2026 | 50.00 | | 1 | 50.00 | 8100.00 | 0.00 | | | 0.00 | + | 19 | 20 January 2026 | 50.00 | | 1 | 50.00 | 8050.00 | 0.00 | | | 0.00 | + | 20 | 21 January 2026 | 50.00 | | 1 | 50.00 | 8000.00 | 0.00 | | | 0.00 | + | 21 | 22 January 2026 | 50.00 | | 1 | 50.00 | 7950.00 | 0.00 | | | 0.00 | + | 22 | 23 January 2026 | 50.00 | | 1 | 50.00 | 7900.00 | 0.00 | | | 0.00 | + | 23 | 24 January 2026 | 50.00 | | 1 | 50.00 | 7850.00 | 0.00 | | | 0.00 | + | 24 | 25 January 2026 | 50.00 | | 1 | 50.00 | 7800.00 | 0.00 | | | 0.00 | + | 25 | 26 January 2026 | 50.00 | | 1 | 50.00 | 7750.00 | 0.00 | | | 0.00 | + | 26 | 27 January 2026 | 50.00 | | 1 | 50.00 | 7700.00 | 0.00 | | | 0.00 | + | 27 | 28 January 2026 | 50.00 | | 1 | 50.00 | 7650.00 | 0.00 | | | 0.00 | + | 28 | 29 January 2026 | 50.00 | | 1 | 50.00 | 7600.00 | 0.00 | | | 0.00 | + | 29 | 30 January 2026 | 50.00 | | 1 | 50.00 | 7550.00 | 0.00 | | | 0.00 | + | 30 | 31 January 2026 | 50.00 | | 1 | 50.00 | 7500.00 | 0.00 | | | 0.00 | + | 31 | 01 February 2026 | 50.00 | | 1 | 50.00 | 7450.00 | 0.00 | | | 0.00 | + | 32 | 02 February 2026 | 50.00 | | 1 | 50.00 | 7400.00 | 0.00 | | | 0.00 | + | 33 | 03 February 2026 | 50.00 | | 1 | 50.00 | 7350.00 | 0.00 | | | 0.00 | + | 34 | 04 February 2026 | 50.00 | | 1 | 50.00 | 7300.00 | 0.00 | | | 0.00 | + | 35 | 05 February 2026 | 50.00 | | 1 | 50.00 | 7250.00 | 0.00 | | | 0.00 | + | 36 | 06 February 2026 | 50.00 | | 1 | 50.00 | 7200.00 | 0.00 | | | 0.00 | + | 37 | 07 February 2026 | 50.00 | | 1 | 50.00 | 7150.00 | 0.00 | | | 0.00 | + | 38 | 08 February 2026 | 50.00 | | 1 | 50.00 | 7100.00 | 0.00 | | | 0.00 | + | 39 | 09 February 2026 | 50.00 | | 1 | 50.00 | 7050.00 | 0.00 | | | 0.00 | + | 40 | 10 February 2026 | 50.00 | | 1 | 50.00 | 7000.00 | 0.00 | | | 0.00 | + | 41 | 11 February 2026 | 50.00 | | 1 | 50.00 | 6950.00 | 0.00 | | | 0.00 | + | 42 | 12 February 2026 | 50.00 | | 1 | 50.00 | 6900.00 | 0.00 | | | 0.00 | + | 43 | 13 February 2026 | 50.00 | | 1 | 50.00 | 6850.00 | 0.00 | | | 0.00 | + | 44 | 14 February 2026 | 50.00 | | 1 | 50.00 | 6800.00 | 0.00 | | | 0.00 | + | 45 | 15 February 2026 | 50.00 | | 1 | 50.00 | 6750.00 | 0.00 | | | 0.00 | + | 46 | 16 February 2026 | 50.00 | | 1 | 50.00 | 6700.00 | 0.00 | | | 0.00 | + | 47 | 17 February 2026 | 50.00 | | 1 | 50.00 | 6650.00 | 0.00 | | | 0.00 | + | 48 | 18 February 2026 | 50.00 | | 1 | 50.00 | 6600.00 | 0.00 | | | 0.00 | + | 49 | 19 February 2026 | 50.00 | | 1 | 50.00 | 6550.00 | 0.00 | | | 0.00 | + | 50 | 20 February 2026 | 50.00 | | 1 | 50.00 | 6500.00 | 0.00 | | | 0.00 | + | 51 | 21 February 2026 | 50.00 | | 1 | 50.00 | 6450.00 | 0.00 | | | 0.00 | + | 52 | 22 February 2026 | 50.00 | | 1 | 50.00 | 6400.00 | 0.00 | | | 0.00 | + | 53 | 23 February 2026 | 50.00 | | 1 | 50.00 | 6350.00 | 0.00 | | | 0.00 | + | 54 | 24 February 2026 | 50.00 | | 1 | 50.00 | 6300.00 | 0.00 | | | 0.00 | + | 55 | 25 February 2026 | 50.00 | | 1 | 50.00 | 6250.00 | 0.00 | | | 0.00 | + | 56 | 26 February 2026 | 50.00 | | 1 | 50.00 | 6200.00 | 0.00 | | | 0.00 | + | 57 | 27 February 2026 | 50.00 | | 1 | 50.00 | 6150.00 | 0.00 | | | 0.00 | + | 58 | 28 February 2026 | 50.00 | | 1 | 50.00 | 6100.00 | 0.00 | | | 0.00 | + | 59 | 01 March 2026 | 50.00 | | 1 | 50.00 | 6050.00 | 0.00 | | | 0.00 | + | 60 | 02 March 2026 | 50.00 | | 1 | 50.00 | 6000.00 | 0.00 | | | 0.00 | + | 61 | 03 March 2026 | 50.00 | | 1 | 50.00 | 5950.00 | 0.00 | | | 0.00 | + | 62 | 04 March 2026 | 50.00 | | 1 | 50.00 | 5900.00 | 0.00 | | | 0.00 | + | 63 | 05 March 2026 | 50.00 | | 1 | 50.00 | 5850.00 | 0.00 | | | 0.00 | + | 64 | 06 March 2026 | 50.00 | | 1 | 50.00 | 5800.00 | 0.00 | | | 0.00 | + | 65 | 07 March 2026 | 50.00 | | 1 | 50.00 | 5750.00 | 0.00 | | | 0.00 | + | 66 | 08 March 2026 | 50.00 | | 1 | 50.00 | 5700.00 | 0.00 | | | 0.00 | + | 67 | 09 March 2026 | 50.00 | | 1 | 50.00 | 5650.00 | 0.00 | | | 0.00 | + | 68 | 10 March 2026 | 50.00 | | 1 | 50.00 | 5600.00 | 0.00 | | | 0.00 | + | 69 | 11 March 2026 | 50.00 | | 1 | 50.00 | 5550.00 | 0.00 | | | 0.00 | + | 70 | 12 March 2026 | 50.00 | | 1 | 50.00 | 5500.00 | 0.00 | | | 0.00 | + | 71 | 13 March 2026 | 50.00 | | 1 | 50.00 | 5450.00 | 0.00 | | | 0.00 | + | 72 | 14 March 2026 | 50.00 | | 1 | 50.00 | 5400.00 | 0.00 | | | 0.00 | + | 73 | 15 March 2026 | 50.00 | | 1 | 50.00 | 5350.00 | 0.00 | | | 0.00 | + | 74 | 16 March 2026 | 50.00 | | 1 | 50.00 | 5300.00 | 0.00 | | | 0.00 | + | 75 | 17 March 2026 | 50.00 | | 1 | 50.00 | 5250.00 | 0.00 | | | 0.00 | + | 76 | 18 March 2026 | 50.00 | | 1 | 50.00 | 5200.00 | 0.00 | | | 0.00 | + | 77 | 19 March 2026 | 50.00 | | 1 | 50.00 | 5150.00 | 0.00 | | | 0.00 | + | 78 | 20 March 2026 | 50.00 | | 1 | 50.00 | 5100.00 | 0.00 | | | 0.00 | + | 79 | 21 March 2026 | 50.00 | | 1 | 50.00 | 5050.00 | 0.00 | | | 0.00 | + | 80 | 22 March 2026 | 50.00 | | 1 | 50.00 | 5000.00 | 0.00 | | | 0.00 | + | 81 | 23 March 2026 | 50.00 | | 1 | 50.00 | 4950.00 | 0.00 | | | 0.00 | + | 82 | 24 March 2026 | 50.00 | | 1 | 50.00 | 4900.00 | 0.00 | | | 0.00 | + | 83 | 25 March 2026 | 50.00 | | 1 | 50.00 | 4850.00 | 0.00 | | | 0.00 | + | 84 | 26 March 2026 | 50.00 | | 1 | 50.00 | 4800.00 | 0.00 | | | 0.00 | + | 85 | 27 March 2026 | 50.00 | | 1 | 50.00 | 4750.00 | 0.00 | | | 0.00 | + | 86 | 28 March 2026 | 50.00 | | 1 | 50.00 | 4700.00 | 0.00 | | | 0.00 | + | 87 | 29 March 2026 | 50.00 | | 1 | 50.00 | 4650.00 | 0.00 | | | 0.00 | + | 88 | 30 March 2026 | 50.00 | | 1 | 50.00 | 4600.00 | 0.00 | | | 0.00 | + | 89 | 31 March 2026 | 50.00 | | 1 | 50.00 | 4550.00 | 0.00 | | | 0.00 | + | 90 | 01 April 2026 | 50.00 | | 1 | 50.00 | 4500.00 | 0.00 | | | 0.00 | + | 91 | 02 April 2026 | 50.00 | | 1 | 50.00 | 4450.00 | 0.00 | | | 0.00 | + | 92 | 03 April 2026 | 50.00 | | 1 | 50.00 | 4400.00 | 0.00 | | | 0.00 | + | 93 | 04 April 2026 | 50.00 | | 1 | 50.00 | 4350.00 | 0.00 | | | 0.00 | + | 94 | 05 April 2026 | 50.00 | | 1 | 50.00 | 4300.00 | 0.00 | | | 0.00 | + | 95 | 06 April 2026 | 50.00 | | 1 | 50.00 | 4250.00 | 0.00 | | | 0.00 | + | 96 | 07 April 2026 | 50.00 | | 1 | 50.00 | 4200.00 | 0.00 | | | 0.00 | + | 97 | 08 April 2026 | 50.00 | | 1 | 50.00 | 4150.00 | 0.00 | | | 0.00 | + | 98 | 09 April 2026 | 50.00 | | 1 | 50.00 | 4100.00 | 0.00 | | | 0.00 | + | 99 | 10 April 2026 | 50.00 | | 1 | 50.00 | 4050.00 | 0.00 | | | 0.00 | + | 100 | 11 April 2026 | 50.00 | | 1 | 50.00 | 4000.00 | 0.00 | | | 0.00 | + | 101 | 12 April 2026 | 50.00 | | 1 | 50.00 | 3950.00 | 0.00 | | | 0.00 | + | 102 | 13 April 2026 | 50.00 | | 1 | 50.00 | 3900.00 | 0.00 | | | 0.00 | + | 103 | 14 April 2026 | 50.00 | | 1 | 50.00 | 3850.00 | 0.00 | | | 0.00 | + | 104 | 15 April 2026 | 50.00 | | 1 | 50.00 | 3800.00 | 0.00 | | | 0.00 | + | 105 | 16 April 2026 | 50.00 | | 1 | 50.00 | 3750.00 | 0.00 | | | 0.00 | + | 106 | 17 April 2026 | 50.00 | | 1 | 50.00 | 3700.00 | 0.00 | | | 0.00 | + | 107 | 18 April 2026 | 50.00 | | 1 | 50.00 | 3650.00 | 0.00 | | | 0.00 | + | 108 | 19 April 2026 | 50.00 | | 1 | 50.00 | 3600.00 | 0.00 | | | 0.00 | + | 109 | 20 April 2026 | 50.00 | | 1 | 50.00 | 3550.00 | 0.00 | | | 0.00 | + | 110 | 21 April 2026 | 50.00 | | 1 | 50.00 | 3500.00 | 0.00 | | | 0.00 | + | 111 | 22 April 2026 | 50.00 | | 1 | 50.00 | 3450.00 | 0.00 | | | 0.00 | + | 112 | 23 April 2026 | 50.00 | | 1 | 50.00 | 3400.00 | 0.00 | | | 0.00 | + | 113 | 24 April 2026 | 50.00 | | 1 | 50.00 | 3350.00 | 0.00 | | | 0.00 | + | 114 | 25 April 2026 | 50.00 | | 1 | 50.00 | 3300.00 | 0.00 | | | 0.00 | + | 115 | 26 April 2026 | 50.00 | | 1 | 50.00 | 3250.00 | 0.00 | | | 0.00 | + | 116 | 27 April 2026 | 50.00 | | 1 | 50.00 | 3200.00 | 0.00 | | | 0.00 | + | 117 | 28 April 2026 | 50.00 | | 1 | 50.00 | 3150.00 | 0.00 | | | 0.00 | + | 118 | 29 April 2026 | 50.00 | | 1 | 50.00 | 3100.00 | 0.00 | | | 0.00 | + | 119 | 30 April 2026 | 50.00 | | 1 | 50.00 | 3050.00 | 0.00 | | | 0.00 | + | 120 | 01 May 2026 | 50.00 | | 1 | 50.00 | 3000.00 | 0.00 | | | 0.00 | + | 121 | 02 May 2026 | 50.00 | | 1 | 50.00 | 2950.00 | 0.00 | | | 0.00 | + | 122 | 03 May 2026 | 50.00 | | 1 | 50.00 | 2900.00 | 0.00 | | | 0.00 | + | 123 | 04 May 2026 | 50.00 | | 1 | 50.00 | 2850.00 | 0.00 | | | 0.00 | + | 124 | 05 May 2026 | 50.00 | | 1 | 50.00 | 2800.00 | 0.00 | | | 0.00 | + | 125 | 06 May 2026 | 50.00 | | 1 | 50.00 | 2750.00 | 0.00 | | | 0.00 | + | 126 | 07 May 2026 | 50.00 | | 1 | 50.00 | 2700.00 | 0.00 | | | 0.00 | + | 127 | 08 May 2026 | 50.00 | | 1 | 50.00 | 2650.00 | 0.00 | | | 0.00 | + | 128 | 09 May 2026 | 50.00 | | 1 | 50.00 | 2600.00 | 0.00 | | | 0.00 | + | 129 | 10 May 2026 | 50.00 | | 1 | 50.00 | 2550.00 | 0.00 | | | 0.00 | + | 130 | 11 May 2026 | 50.00 | | 1 | 50.00 | 2500.00 | 0.00 | | | 0.00 | + | 131 | 12 May 2026 | 50.00 | | 1 | 50.00 | 2450.00 | 0.00 | | | 0.00 | + | 132 | 13 May 2026 | 50.00 | | 1 | 50.00 | 2400.00 | 0.00 | | | 0.00 | + | 133 | 14 May 2026 | 50.00 | | 1 | 50.00 | 2350.00 | 0.00 | | | 0.00 | + | 134 | 15 May 2026 | 50.00 | | 1 | 50.00 | 2300.00 | 0.00 | | | 0.00 | + | 135 | 16 May 2026 | 50.00 | | 1 | 50.00 | 2250.00 | 0.00 | | | 0.00 | + | 136 | 17 May 2026 | 50.00 | | 1 | 50.00 | 2200.00 | 0.00 | | | 0.00 | + | 137 | 18 May 2026 | 50.00 | | 1 | 50.00 | 2150.00 | 0.00 | | | 0.00 | + | 138 | 19 May 2026 | 50.00 | | 1 | 50.00 | 2100.00 | 0.00 | | | 0.00 | + | 139 | 20 May 2026 | 50.00 | | 1 | 50.00 | 2050.00 | 0.00 | | | 0.00 | + | 140 | 21 May 2026 | 50.00 | | 1 | 50.00 | 2000.00 | 0.00 | | | 0.00 | + | 141 | 22 May 2026 | 50.00 | | 1 | 50.00 | 1950.00 | 0.00 | | | 0.00 | + | 142 | 23 May 2026 | 50.00 | | 1 | 50.00 | 1900.00 | 0.00 | | | 0.00 | + | 143 | 24 May 2026 | 50.00 | | 1 | 50.00 | 1850.00 | 0.00 | | | 0.00 | + | 144 | 25 May 2026 | 50.00 | | 1 | 50.00 | 1800.00 | 0.00 | | | 0.00 | + | 145 | 26 May 2026 | 50.00 | | 1 | 50.00 | 1750.00 | 0.00 | | | 0.00 | + | 146 | 27 May 2026 | 50.00 | | 1 | 50.00 | 1700.00 | 0.00 | | | 0.00 | + | 147 | 28 May 2026 | 50.00 | | 1 | 50.00 | 1650.00 | 0.00 | | | 0.00 | + | 148 | 29 May 2026 | 50.00 | | 1 | 50.00 | 1600.00 | 0.00 | | | 0.00 | + | 149 | 30 May 2026 | 50.00 | | 1 | 50.00 | 1550.00 | 0.00 | | | 0.00 | + | 150 | 31 May 2026 | 50.00 | | 1 | 50.00 | 1500.00 | 0.00 | | | 0.00 | + | 151 | 01 June 2026 | 50.00 | | 1 | 50.00 | 1450.00 | 0.00 | | | 0.00 | + | 152 | 02 June 2026 | 50.00 | | 1 | 50.00 | 1400.00 | 0.00 | | | 0.00 | + | 153 | 03 June 2026 | 50.00 | | 1 | 50.00 | 1350.00 | 0.00 | | | 0.00 | + | 154 | 04 June 2026 | 50.00 | | 1 | 50.00 | 1300.00 | 0.00 | | | 0.00 | + | 155 | 05 June 2026 | 50.00 | | 1 | 50.00 | 1250.00 | 0.00 | | | 0.00 | + | 156 | 06 June 2026 | 50.00 | | 1 | 50.00 | 1200.00 | 0.00 | | | 0.00 | + | 157 | 07 June 2026 | 50.00 | | 1 | 50.00 | 1150.00 | 0.00 | | | 0.00 | + | 158 | 08 June 2026 | 50.00 | | 1 | 50.00 | 1100.00 | 0.00 | | | 0.00 | + | 159 | 09 June 2026 | 50.00 | | 1 | 50.00 | 1050.00 | 0.00 | | | 0.00 | + | 160 | 10 June 2026 | 50.00 | | 1 | 50.00 | 1000.00 | 0.00 | | | 0.00 | + | 161 | 11 June 2026 | 50.00 | | 1 | 50.00 | 950.00 | 0.00 | | | 0.00 | + | 162 | 12 June 2026 | 50.00 | | 1 | 50.00 | 900.00 | 0.00 | | | 0.00 | + | 163 | 13 June 2026 | 50.00 | | 1 | 50.00 | 850.00 | 0.00 | | | 0.00 | + | 164 | 14 June 2026 | 50.00 | | 1 | 50.00 | 800.00 | 0.00 | | | 0.00 | + | 165 | 15 June 2026 | 50.00 | | 1 | 50.00 | 750.00 | 0.00 | | | 0.00 | + | 166 | 16 June 2026 | 50.00 | | 1 | 50.00 | 700.00 | 0.00 | | | 0.00 | + | 167 | 17 June 2026 | 50.00 | | 1 | 50.00 | 650.00 | 0.00 | | | 0.00 | + | 168 | 18 June 2026 | 50.00 | | 1 | 50.00 | 600.00 | 0.00 | | | 0.00 | + | 169 | 19 June 2026 | 50.00 | | 1 | 50.00 | 550.00 | 0.00 | | | 0.00 | + | 170 | 20 June 2026 | 50.00 | | 1 | 50.00 | 500.00 | 0.00 | | | 0.00 | + | 171 | 21 June 2026 | 50.00 | | 1 | 50.00 | 450.00 | 0.00 | | | 0.00 | + | 172 | 22 June 2026 | 50.00 | | 1 | 50.00 | 400.00 | 0.00 | | | 0.00 | + | 173 | 23 June 2026 | 50.00 | | 1 | 50.00 | 350.00 | 0.00 | | | 0.00 | + | 174 | 24 June 2026 | 50.00 | | 1 | 50.00 | 300.00 | 0.00 | | | 0.00 | + | 175 | 25 June 2026 | 50.00 | | 1 | 50.00 | 250.00 | 0.00 | | | 0.00 | + | 176 | 26 June 2026 | 50.00 | | 1 | 50.00 | 200.00 | 0.00 | | | 0.00 | + | 177 | 27 June 2026 | 50.00 | | 1 | 30.00 | 150.00 | 0.00 | | | 0.00 | - @TestRailId:C76628 - Scenario: Verify working capital loan repayment - UC12: partial expectedAmount repaid in 1st period - When Admin sets the business date to "01 January 2026" - And Admin creates a client with random data - And Admin creates a working capital loan with the following data: - | LoanProduct | submittedOnDate | expectedDisbursementDate | principalAmount | totalPayment | periodPaymentRate | discount | - | WCLP | 01 January 2026 | 01 January 2026 | 9000 | 100000 | 18 | 0 | - And Admin successfully approves the working capital loan on "01 January 2026" with "9000" amount and expected disbursement date on "01 January 2026" - Then Working capital loan approval was successful - And Working capital loan account has the correct data: - | product.name | submittedOnDate | expectedDisbursementDate | status | principal | approvedPrincipal | totalPayment | periodPaymentRate | discountApproved | - | WCLP | 2026-01-01 | 2026-01-01 | Approved | 9000.0 | 9000.0 | 100000.0 | 18.0 | null | - When Admin successfully disburse the Working Capital loan on "01 January 2026" with "9000" EUR transaction amount - Then Working Capital loan status will be "ACTIVE" - And Verify Working Capital loan disbursement was successful - And Working capital loan account has the correct data: - | product.name | submittedOnDate | expectedDisbursementDate | status | principal | approvedPrincipal | totalPayment | periodPaymentRate | discount | - | WCLP | 2026-01-01 | 2026-01-01 | Active | 9000.0 | 9000.0 | 100000.0 | 18.0 | null | - When Admin runs inline COB job for Working Capital Loan by loanId - Then Working Capital loan delinquency range schedule has the following data: - | periodNumber | fromDate | toDate | expectedAmount | paidAmount | outstandingAmount | minPaymentCriteriaMet | delinquentAmount | delinquentDays | - | 1 | 2026-01-01 | 2026-01-30 | 270.0 | 0.0 | 270.0 | null | null | null | - And Delinquency Tag History for Working Capital loan has lines: - | periodNumber | addedOnDate | liftedOnDate | classification | minimumAgeDays | maximumAgeDays | -# --- Partial expectedAmount paid --- - When Admin sets the business date to "02 January 2026" - And Customer makes repayment on "02 January 2026" with 170.0 transaction amount on Working Capital loan - Then Working Capital loan delinquency range schedule has the following data: - | periodNumber | fromDate | toDate | expectedAmount | paidAmount | outstandingAmount | minPaymentCriteriaMet | delinquentAmount | delinquentDays | - | 1 | 2026-01-01 | 2026-01-30 | 270.0 | 170.0 | 100.0 | null | null | null | - And Delinquency Tag History for Working Capital loan has lines: - | periodNumber | addedOnDate | liftedOnDate | classification | minimumAgeDays | maximumAgeDays | - When Admin sets the business date to "31 January 2026" - And Admin runs inline COB job for Working Capital Loan by loanId - Then Working Capital loan delinquency range schedule has the following data: - | periodNumber | fromDate | toDate | expectedAmount | paidAmount | outstandingAmount | minPaymentCriteriaMet | delinquentAmount | delinquentDays | - | 1 | 2026-01-01 | 2026-01-30 | 270.0 | 170.0 | 100.0 | false | 100.0 | 1 | - | 2 | 2026-01-31 | 2026-03-01 | 270.0 | 0.0 | 270.0 | null | null | null | - And Delinquency Tag History for Working Capital loan has lines: - | periodNumber | addedOnDate | liftedOnDate | classification | minimumAgeDays | maximumAgeDays | - | 1 | 2026-01-31 | | D00 | 1 | 30 | - Then Working Capital loan amortization schedule has 4 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | - | 1 | 02 January 2026 | 5000.00 | 170.00 | 1 | 170.00 | 4658.91 | 0.00 | 22.40 | 22.40 | 0.00 | - | 2 | 03 January 2026 | 5000.00 | | 0.9317821063276353179 | 4658.91 | 0.00 | 0.00 | | | 0.00 | - | 3 | 04 January 2026 | | | 0.8682178937 | 4193.49 | | | | | 0.00 | @TestRailId:C76629 Scenario: Verify working capital loan repayment - UC13: partial expectedAmount repaid in 2nd period @@ -510,12 +1856,187 @@ Feature: Working Capital Loan Repayment And Delinquency Tag History for Working Capital loan has lines: | periodNumber | addedOnDate | liftedOnDate | classification | minimumAgeDays | maximumAgeDays | | 1 | 2026-01-31 | | D00 | 1 | 30 | - Then Working Capital loan amortization schedule has 4 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | - | 1 | 02 January 2026 | 5000.00 | 170.00 | 1 | 170.00 | 4658.91 | 0.00 | 22.40 | 22.40 | 0.00 | - | 2 | 03 January 2026 | 5000.00 | | 0.9317821063276353179 | 4658.91 | 0.00 | 0.00 | | | 0.00 | - | 3 | 04 January 2026 | | | 0.8682178937 | 4193.49 | | | | | 0.00 | + Then Working Capital loan amortization schedule has 179 periods, with the following data for periods: + | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | + | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | + | 1 | 02 January 2026 | 50.00 | 170.00 | 1 | 170.00 | 8950.00 | 0.00 | 0.00 | 0.00 | 0.00 | + | 2 | 03 January 2026 | 50.00 | | 1 | 50.00 | 8900.00 | 0.00 | | | 0.00 | + | 3 | 04 January 2026 | 50.00 | | 1 | 50.00 | 8850.00 | 0.00 | | | 0.00 | + | 4 | 05 January 2026 | 50.00 | | 1 | 50.00 | 8800.00 | 0.00 | | | 0.00 | + | 5 | 06 January 2026 | 50.00 | | 1 | 50.00 | 8750.00 | 0.00 | | | 0.00 | + | 6 | 07 January 2026 | 50.00 | | 1 | 50.00 | 8700.00 | 0.00 | | | 0.00 | + | 7 | 08 January 2026 | 50.00 | | 1 | 50.00 | 8650.00 | 0.00 | | | 0.00 | + | 8 | 09 January 2026 | 50.00 | | 1 | 50.00 | 8600.00 | 0.00 | | | 0.00 | + | 9 | 10 January 2026 | 50.00 | | 1 | 50.00 | 8550.00 | 0.00 | | | 0.00 | + | 10 | 11 January 2026 | 50.00 | | 1 | 50.00 | 8500.00 | 0.00 | | | 0.00 | + | 11 | 12 January 2026 | 50.00 | | 1 | 50.00 | 8450.00 | 0.00 | | | 0.00 | + | 12 | 13 January 2026 | 50.00 | | 1 | 50.00 | 8400.00 | 0.00 | | | 0.00 | + | 13 | 14 January 2026 | 50.00 | | 1 | 50.00 | 8350.00 | 0.00 | | | 0.00 | + | 14 | 15 January 2026 | 50.00 | | 1 | 50.00 | 8300.00 | 0.00 | | | 0.00 | + | 15 | 16 January 2026 | 50.00 | | 1 | 50.00 | 8250.00 | 0.00 | | | 0.00 | + | 16 | 17 January 2026 | 50.00 | | 1 | 50.00 | 8200.00 | 0.00 | | | 0.00 | + | 17 | 18 January 2026 | 50.00 | | 1 | 50.00 | 8150.00 | 0.00 | | | 0.00 | + | 18 | 19 January 2026 | 50.00 | | 1 | 50.00 | 8100.00 | 0.00 | | | 0.00 | + | 19 | 20 January 2026 | 50.00 | | 1 | 50.00 | 8050.00 | 0.00 | | | 0.00 | + | 20 | 21 January 2026 | 50.00 | | 1 | 50.00 | 8000.00 | 0.00 | | | 0.00 | + | 21 | 22 January 2026 | 50.00 | | 1 | 50.00 | 7950.00 | 0.00 | | | 0.00 | + | 22 | 23 January 2026 | 50.00 | | 1 | 50.00 | 7900.00 | 0.00 | | | 0.00 | + | 23 | 24 January 2026 | 50.00 | | 1 | 50.00 | 7850.00 | 0.00 | | | 0.00 | + | 24 | 25 January 2026 | 50.00 | | 1 | 50.00 | 7800.00 | 0.00 | | | 0.00 | + | 25 | 26 January 2026 | 50.00 | | 1 | 50.00 | 7750.00 | 0.00 | | | 0.00 | + | 26 | 27 January 2026 | 50.00 | | 1 | 50.00 | 7700.00 | 0.00 | | | 0.00 | + | 27 | 28 January 2026 | 50.00 | | 1 | 50.00 | 7650.00 | 0.00 | | | 0.00 | + | 28 | 29 January 2026 | 50.00 | | 1 | 50.00 | 7600.00 | 0.00 | | | 0.00 | + | 29 | 30 January 2026 | 50.00 | | 1 | 50.00 | 7550.00 | 0.00 | | | 0.00 | + | 30 | 31 January 2026 | 50.00 | | 1 | 50.00 | 7500.00 | 0.00 | | | 0.00 | + | 31 | 01 February 2026 | 50.00 | | 1 | 50.00 | 7450.00 | 0.00 | | | 0.00 | + | 32 | 02 February 2026 | 50.00 | | 1 | 50.00 | 7400.00 | 0.00 | | | 0.00 | + | 33 | 03 February 2026 | 50.00 | | 1 | 50.00 | 7350.00 | 0.00 | | | 0.00 | + | 34 | 04 February 2026 | 50.00 | | 1 | 50.00 | 7300.00 | 0.00 | | | 0.00 | + | 35 | 05 February 2026 | 50.00 | | 1 | 50.00 | 7250.00 | 0.00 | | | 0.00 | + | 36 | 06 February 2026 | 50.00 | | 1 | 50.00 | 7200.00 | 0.00 | | | 0.00 | + | 37 | 07 February 2026 | 50.00 | | 1 | 50.00 | 7150.00 | 0.00 | | | 0.00 | + | 38 | 08 February 2026 | 50.00 | | 1 | 50.00 | 7100.00 | 0.00 | | | 0.00 | + | 39 | 09 February 2026 | 50.00 | | 1 | 50.00 | 7050.00 | 0.00 | | | 0.00 | + | 40 | 10 February 2026 | 50.00 | | 1 | 50.00 | 7000.00 | 0.00 | | | 0.00 | + | 41 | 11 February 2026 | 50.00 | | 1 | 50.00 | 6950.00 | 0.00 | | | 0.00 | + | 42 | 12 February 2026 | 50.00 | | 1 | 50.00 | 6900.00 | 0.00 | | | 0.00 | + | 43 | 13 February 2026 | 50.00 | | 1 | 50.00 | 6850.00 | 0.00 | | | 0.00 | + | 44 | 14 February 2026 | 50.00 | | 1 | 50.00 | 6800.00 | 0.00 | | | 0.00 | + | 45 | 15 February 2026 | 50.00 | | 1 | 50.00 | 6750.00 | 0.00 | | | 0.00 | + | 46 | 16 February 2026 | 50.00 | | 1 | 50.00 | 6700.00 | 0.00 | | | 0.00 | + | 47 | 17 February 2026 | 50.00 | | 1 | 50.00 | 6650.00 | 0.00 | | | 0.00 | + | 48 | 18 February 2026 | 50.00 | | 1 | 50.00 | 6600.00 | 0.00 | | | 0.00 | + | 49 | 19 February 2026 | 50.00 | | 1 | 50.00 | 6550.00 | 0.00 | | | 0.00 | + | 50 | 20 February 2026 | 50.00 | | 1 | 50.00 | 6500.00 | 0.00 | | | 0.00 | + | 51 | 21 February 2026 | 50.00 | | 1 | 50.00 | 6450.00 | 0.00 | | | 0.00 | + | 52 | 22 February 2026 | 50.00 | | 1 | 50.00 | 6400.00 | 0.00 | | | 0.00 | + | 53 | 23 February 2026 | 50.00 | | 1 | 50.00 | 6350.00 | 0.00 | | | 0.00 | + | 54 | 24 February 2026 | 50.00 | | 1 | 50.00 | 6300.00 | 0.00 | | | 0.00 | + | 55 | 25 February 2026 | 50.00 | | 1 | 50.00 | 6250.00 | 0.00 | | | 0.00 | + | 56 | 26 February 2026 | 50.00 | | 1 | 50.00 | 6200.00 | 0.00 | | | 0.00 | + | 57 | 27 February 2026 | 50.00 | | 1 | 50.00 | 6150.00 | 0.00 | | | 0.00 | + | 58 | 28 February 2026 | 50.00 | | 1 | 50.00 | 6100.00 | 0.00 | | | 0.00 | + | 59 | 01 March 2026 | 50.00 | | 1 | 50.00 | 6050.00 | 0.00 | | | 0.00 | + | 60 | 02 March 2026 | 50.00 | | 1 | 50.00 | 6000.00 | 0.00 | | | 0.00 | + | 61 | 03 March 2026 | 50.00 | | 1 | 50.00 | 5950.00 | 0.00 | | | 0.00 | + | 62 | 04 March 2026 | 50.00 | | 1 | 50.00 | 5900.00 | 0.00 | | | 0.00 | + | 63 | 05 March 2026 | 50.00 | | 1 | 50.00 | 5850.00 | 0.00 | | | 0.00 | + | 64 | 06 March 2026 | 50.00 | | 1 | 50.00 | 5800.00 | 0.00 | | | 0.00 | + | 65 | 07 March 2026 | 50.00 | | 1 | 50.00 | 5750.00 | 0.00 | | | 0.00 | + | 66 | 08 March 2026 | 50.00 | | 1 | 50.00 | 5700.00 | 0.00 | | | 0.00 | + | 67 | 09 March 2026 | 50.00 | | 1 | 50.00 | 5650.00 | 0.00 | | | 0.00 | + | 68 | 10 March 2026 | 50.00 | | 1 | 50.00 | 5600.00 | 0.00 | | | 0.00 | + | 69 | 11 March 2026 | 50.00 | | 1 | 50.00 | 5550.00 | 0.00 | | | 0.00 | + | 70 | 12 March 2026 | 50.00 | | 1 | 50.00 | 5500.00 | 0.00 | | | 0.00 | + | 71 | 13 March 2026 | 50.00 | | 1 | 50.00 | 5450.00 | 0.00 | | | 0.00 | + | 72 | 14 March 2026 | 50.00 | | 1 | 50.00 | 5400.00 | 0.00 | | | 0.00 | + | 73 | 15 March 2026 | 50.00 | | 1 | 50.00 | 5350.00 | 0.00 | | | 0.00 | + | 74 | 16 March 2026 | 50.00 | | 1 | 50.00 | 5300.00 | 0.00 | | | 0.00 | + | 75 | 17 March 2026 | 50.00 | | 1 | 50.00 | 5250.00 | 0.00 | | | 0.00 | + | 76 | 18 March 2026 | 50.00 | | 1 | 50.00 | 5200.00 | 0.00 | | | 0.00 | + | 77 | 19 March 2026 | 50.00 | | 1 | 50.00 | 5150.00 | 0.00 | | | 0.00 | + | 78 | 20 March 2026 | 50.00 | | 1 | 50.00 | 5100.00 | 0.00 | | | 0.00 | + | 79 | 21 March 2026 | 50.00 | | 1 | 50.00 | 5050.00 | 0.00 | | | 0.00 | + | 80 | 22 March 2026 | 50.00 | | 1 | 50.00 | 5000.00 | 0.00 | | | 0.00 | + | 81 | 23 March 2026 | 50.00 | | 1 | 50.00 | 4950.00 | 0.00 | | | 0.00 | + | 82 | 24 March 2026 | 50.00 | | 1 | 50.00 | 4900.00 | 0.00 | | | 0.00 | + | 83 | 25 March 2026 | 50.00 | | 1 | 50.00 | 4850.00 | 0.00 | | | 0.00 | + | 84 | 26 March 2026 | 50.00 | | 1 | 50.00 | 4800.00 | 0.00 | | | 0.00 | + | 85 | 27 March 2026 | 50.00 | | 1 | 50.00 | 4750.00 | 0.00 | | | 0.00 | + | 86 | 28 March 2026 | 50.00 | | 1 | 50.00 | 4700.00 | 0.00 | | | 0.00 | + | 87 | 29 March 2026 | 50.00 | | 1 | 50.00 | 4650.00 | 0.00 | | | 0.00 | + | 88 | 30 March 2026 | 50.00 | | 1 | 50.00 | 4600.00 | 0.00 | | | 0.00 | + | 89 | 31 March 2026 | 50.00 | | 1 | 50.00 | 4550.00 | 0.00 | | | 0.00 | + | 90 | 01 April 2026 | 50.00 | | 1 | 50.00 | 4500.00 | 0.00 | | | 0.00 | + | 91 | 02 April 2026 | 50.00 | | 1 | 50.00 | 4450.00 | 0.00 | | | 0.00 | + | 92 | 03 April 2026 | 50.00 | | 1 | 50.00 | 4400.00 | 0.00 | | | 0.00 | + | 93 | 04 April 2026 | 50.00 | | 1 | 50.00 | 4350.00 | 0.00 | | | 0.00 | + | 94 | 05 April 2026 | 50.00 | | 1 | 50.00 | 4300.00 | 0.00 | | | 0.00 | + | 95 | 06 April 2026 | 50.00 | | 1 | 50.00 | 4250.00 | 0.00 | | | 0.00 | + | 96 | 07 April 2026 | 50.00 | | 1 | 50.00 | 4200.00 | 0.00 | | | 0.00 | + | 97 | 08 April 2026 | 50.00 | | 1 | 50.00 | 4150.00 | 0.00 | | | 0.00 | + | 98 | 09 April 2026 | 50.00 | | 1 | 50.00 | 4100.00 | 0.00 | | | 0.00 | + | 99 | 10 April 2026 | 50.00 | | 1 | 50.00 | 4050.00 | 0.00 | | | 0.00 | + | 100 | 11 April 2026 | 50.00 | | 1 | 50.00 | 4000.00 | 0.00 | | | 0.00 | + | 101 | 12 April 2026 | 50.00 | | 1 | 50.00 | 3950.00 | 0.00 | | | 0.00 | + | 102 | 13 April 2026 | 50.00 | | 1 | 50.00 | 3900.00 | 0.00 | | | 0.00 | + | 103 | 14 April 2026 | 50.00 | | 1 | 50.00 | 3850.00 | 0.00 | | | 0.00 | + | 104 | 15 April 2026 | 50.00 | | 1 | 50.00 | 3800.00 | 0.00 | | | 0.00 | + | 105 | 16 April 2026 | 50.00 | | 1 | 50.00 | 3750.00 | 0.00 | | | 0.00 | + | 106 | 17 April 2026 | 50.00 | | 1 | 50.00 | 3700.00 | 0.00 | | | 0.00 | + | 107 | 18 April 2026 | 50.00 | | 1 | 50.00 | 3650.00 | 0.00 | | | 0.00 | + | 108 | 19 April 2026 | 50.00 | | 1 | 50.00 | 3600.00 | 0.00 | | | 0.00 | + | 109 | 20 April 2026 | 50.00 | | 1 | 50.00 | 3550.00 | 0.00 | | | 0.00 | + | 110 | 21 April 2026 | 50.00 | | 1 | 50.00 | 3500.00 | 0.00 | | | 0.00 | + | 111 | 22 April 2026 | 50.00 | | 1 | 50.00 | 3450.00 | 0.00 | | | 0.00 | + | 112 | 23 April 2026 | 50.00 | | 1 | 50.00 | 3400.00 | 0.00 | | | 0.00 | + | 113 | 24 April 2026 | 50.00 | | 1 | 50.00 | 3350.00 | 0.00 | | | 0.00 | + | 114 | 25 April 2026 | 50.00 | | 1 | 50.00 | 3300.00 | 0.00 | | | 0.00 | + | 115 | 26 April 2026 | 50.00 | | 1 | 50.00 | 3250.00 | 0.00 | | | 0.00 | + | 116 | 27 April 2026 | 50.00 | | 1 | 50.00 | 3200.00 | 0.00 | | | 0.00 | + | 117 | 28 April 2026 | 50.00 | | 1 | 50.00 | 3150.00 | 0.00 | | | 0.00 | + | 118 | 29 April 2026 | 50.00 | | 1 | 50.00 | 3100.00 | 0.00 | | | 0.00 | + | 119 | 30 April 2026 | 50.00 | | 1 | 50.00 | 3050.00 | 0.00 | | | 0.00 | + | 120 | 01 May 2026 | 50.00 | | 1 | 50.00 | 3000.00 | 0.00 | | | 0.00 | + | 121 | 02 May 2026 | 50.00 | | 1 | 50.00 | 2950.00 | 0.00 | | | 0.00 | + | 122 | 03 May 2026 | 50.00 | | 1 | 50.00 | 2900.00 | 0.00 | | | 0.00 | + | 123 | 04 May 2026 | 50.00 | | 1 | 50.00 | 2850.00 | 0.00 | | | 0.00 | + | 124 | 05 May 2026 | 50.00 | | 1 | 50.00 | 2800.00 | 0.00 | | | 0.00 | + | 125 | 06 May 2026 | 50.00 | | 1 | 50.00 | 2750.00 | 0.00 | | | 0.00 | + | 126 | 07 May 2026 | 50.00 | | 1 | 50.00 | 2700.00 | 0.00 | | | 0.00 | + | 127 | 08 May 2026 | 50.00 | | 1 | 50.00 | 2650.00 | 0.00 | | | 0.00 | + | 128 | 09 May 2026 | 50.00 | | 1 | 50.00 | 2600.00 | 0.00 | | | 0.00 | + | 129 | 10 May 2026 | 50.00 | | 1 | 50.00 | 2550.00 | 0.00 | | | 0.00 | + | 130 | 11 May 2026 | 50.00 | | 1 | 50.00 | 2500.00 | 0.00 | | | 0.00 | + | 131 | 12 May 2026 | 50.00 | | 1 | 50.00 | 2450.00 | 0.00 | | | 0.00 | + | 132 | 13 May 2026 | 50.00 | | 1 | 50.00 | 2400.00 | 0.00 | | | 0.00 | + | 133 | 14 May 2026 | 50.00 | | 1 | 50.00 | 2350.00 | 0.00 | | | 0.00 | + | 134 | 15 May 2026 | 50.00 | | 1 | 50.00 | 2300.00 | 0.00 | | | 0.00 | + | 135 | 16 May 2026 | 50.00 | | 1 | 50.00 | 2250.00 | 0.00 | | | 0.00 | + | 136 | 17 May 2026 | 50.00 | | 1 | 50.00 | 2200.00 | 0.00 | | | 0.00 | + | 137 | 18 May 2026 | 50.00 | | 1 | 50.00 | 2150.00 | 0.00 | | | 0.00 | + | 138 | 19 May 2026 | 50.00 | | 1 | 50.00 | 2100.00 | 0.00 | | | 0.00 | + | 139 | 20 May 2026 | 50.00 | | 1 | 50.00 | 2050.00 | 0.00 | | | 0.00 | + | 140 | 21 May 2026 | 50.00 | | 1 | 50.00 | 2000.00 | 0.00 | | | 0.00 | + | 141 | 22 May 2026 | 50.00 | | 1 | 50.00 | 1950.00 | 0.00 | | | 0.00 | + | 142 | 23 May 2026 | 50.00 | | 1 | 50.00 | 1900.00 | 0.00 | | | 0.00 | + | 143 | 24 May 2026 | 50.00 | | 1 | 50.00 | 1850.00 | 0.00 | | | 0.00 | + | 144 | 25 May 2026 | 50.00 | | 1 | 50.00 | 1800.00 | 0.00 | | | 0.00 | + | 145 | 26 May 2026 | 50.00 | | 1 | 50.00 | 1750.00 | 0.00 | | | 0.00 | + | 146 | 27 May 2026 | 50.00 | | 1 | 50.00 | 1700.00 | 0.00 | | | 0.00 | + | 147 | 28 May 2026 | 50.00 | | 1 | 50.00 | 1650.00 | 0.00 | | | 0.00 | + | 148 | 29 May 2026 | 50.00 | | 1 | 50.00 | 1600.00 | 0.00 | | | 0.00 | + | 149 | 30 May 2026 | 50.00 | | 1 | 50.00 | 1550.00 | 0.00 | | | 0.00 | + | 150 | 31 May 2026 | 50.00 | | 1 | 50.00 | 1500.00 | 0.00 | | | 0.00 | + | 151 | 01 June 2026 | 50.00 | | 1 | 50.00 | 1450.00 | 0.00 | | | 0.00 | + | 152 | 02 June 2026 | 50.00 | | 1 | 50.00 | 1400.00 | 0.00 | | | 0.00 | + | 153 | 03 June 2026 | 50.00 | | 1 | 50.00 | 1350.00 | 0.00 | | | 0.00 | + | 154 | 04 June 2026 | 50.00 | | 1 | 50.00 | 1300.00 | 0.00 | | | 0.00 | + | 155 | 05 June 2026 | 50.00 | | 1 | 50.00 | 1250.00 | 0.00 | | | 0.00 | + | 156 | 06 June 2026 | 50.00 | | 1 | 50.00 | 1200.00 | 0.00 | | | 0.00 | + | 157 | 07 June 2026 | 50.00 | | 1 | 50.00 | 1150.00 | 0.00 | | | 0.00 | + | 158 | 08 June 2026 | 50.00 | | 1 | 50.00 | 1100.00 | 0.00 | | | 0.00 | + | 159 | 09 June 2026 | 50.00 | | 1 | 50.00 | 1050.00 | 0.00 | | | 0.00 | + | 160 | 10 June 2026 | 50.00 | | 1 | 50.00 | 1000.00 | 0.00 | | | 0.00 | + | 161 | 11 June 2026 | 50.00 | | 1 | 50.00 | 950.00 | 0.00 | | | 0.00 | + | 162 | 12 June 2026 | 50.00 | | 1 | 50.00 | 900.00 | 0.00 | | | 0.00 | + | 163 | 13 June 2026 | 50.00 | | 1 | 50.00 | 850.00 | 0.00 | | | 0.00 | + | 164 | 14 June 2026 | 50.00 | | 1 | 50.00 | 800.00 | 0.00 | | | 0.00 | + | 165 | 15 June 2026 | 50.00 | | 1 | 50.00 | 750.00 | 0.00 | | | 0.00 | + | 166 | 16 June 2026 | 50.00 | | 1 | 50.00 | 700.00 | 0.00 | | | 0.00 | + | 167 | 17 June 2026 | 50.00 | | 1 | 50.00 | 650.00 | 0.00 | | | 0.00 | + | 168 | 18 June 2026 | 50.00 | | 1 | 50.00 | 600.00 | 0.00 | | | 0.00 | + | 169 | 19 June 2026 | 50.00 | | 1 | 50.00 | 550.00 | 0.00 | | | 0.00 | + | 170 | 20 June 2026 | 50.00 | | 1 | 50.00 | 500.00 | 0.00 | | | 0.00 | + | 171 | 21 June 2026 | 50.00 | | 1 | 50.00 | 450.00 | 0.00 | | | 0.00 | + | 172 | 22 June 2026 | 50.00 | | 1 | 50.00 | 400.00 | 0.00 | | | 0.00 | + | 173 | 23 June 2026 | 50.00 | | 1 | 50.00 | 350.00 | 0.00 | | | 0.00 | + | 174 | 24 June 2026 | 50.00 | | 1 | 50.00 | 300.00 | 0.00 | | | 0.00 | + | 175 | 25 June 2026 | 50.00 | | 1 | 50.00 | 250.00 | 0.00 | | | 0.00 | + | 176 | 26 June 2026 | 50.00 | | 1 | 50.00 | 200.00 | 0.00 | | | 0.00 | + | 177 | 27 June 2026 | 50.00 | | 1 | 50.00 | 150.00 | 0.00 | | | 0.00 | + | 178 | 28 June 2026 | 50.00 | | 1 | 30.00 | 100.00 | 0.00 | | | 0.00 | @TestRailId:C76630 Scenario: Verify working capital loan repayment - UC14: expectedAmount overpaid in 1st period @@ -559,12 +2080,183 @@ Feature: Working Capital Loan Repayment | 2 | 2026-01-31 | 2026-03-01 | 270.0 | 0.0 | 270.0 | null | null | null | And Delinquency Tag History for Working Capital loan has lines: | periodNumber | addedOnDate | liftedOnDate | classification | minimumAgeDays | maximumAgeDays | - Then Working Capital loan amortization schedule has 4 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | - | 1 | 02 January 2026 | 5000.00 | 370.00 | 1 | 370.00 | 4658.91 | 0.00 | 48.76 | 48.76 | 0.00 | - | 2 | 03 January 2026 | 5000.00 | | 0.9317821063276353179 | 4658.91 | 0.00 | 0.00 | | | 0.00 | - | 3 | 04 January 2026 | | | 0.8682178937 | 4019.85 | | | | | 0.00 | + Then Working Capital loan amortization schedule has 175 periods, with the following data for periods: + | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | + | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | + | 1 | 02 January 2026 | 50.00 | 370.00 | 1 | 370.00 | 8950.00 | 0.00 | 0.00 | 0.00 | 0.00 | + | 2 | 03 January 2026 | 50.00 | | 1 | 50.00 | 8900.00 | 0.00 | | | 0.00 | + | 3 | 04 January 2026 | 50.00 | | 1 | 50.00 | 8850.00 | 0.00 | | | 0.00 | + | 4 | 05 January 2026 | 50.00 | | 1 | 50.00 | 8800.00 | 0.00 | | | 0.00 | + | 5 | 06 January 2026 | 50.00 | | 1 | 50.00 | 8750.00 | 0.00 | | | 0.00 | + | 6 | 07 January 2026 | 50.00 | | 1 | 50.00 | 8700.00 | 0.00 | | | 0.00 | + | 7 | 08 January 2026 | 50.00 | | 1 | 50.00 | 8650.00 | 0.00 | | | 0.00 | + | 8 | 09 January 2026 | 50.00 | | 1 | 50.00 | 8600.00 | 0.00 | | | 0.00 | + | 9 | 10 January 2026 | 50.00 | | 1 | 50.00 | 8550.00 | 0.00 | | | 0.00 | + | 10 | 11 January 2026 | 50.00 | | 1 | 50.00 | 8500.00 | 0.00 | | | 0.00 | + | 11 | 12 January 2026 | 50.00 | | 1 | 50.00 | 8450.00 | 0.00 | | | 0.00 | + | 12 | 13 January 2026 | 50.00 | | 1 | 50.00 | 8400.00 | 0.00 | | | 0.00 | + | 13 | 14 January 2026 | 50.00 | | 1 | 50.00 | 8350.00 | 0.00 | | | 0.00 | + | 14 | 15 January 2026 | 50.00 | | 1 | 50.00 | 8300.00 | 0.00 | | | 0.00 | + | 15 | 16 January 2026 | 50.00 | | 1 | 50.00 | 8250.00 | 0.00 | | | 0.00 | + | 16 | 17 January 2026 | 50.00 | | 1 | 50.00 | 8200.00 | 0.00 | | | 0.00 | + | 17 | 18 January 2026 | 50.00 | | 1 | 50.00 | 8150.00 | 0.00 | | | 0.00 | + | 18 | 19 January 2026 | 50.00 | | 1 | 50.00 | 8100.00 | 0.00 | | | 0.00 | + | 19 | 20 January 2026 | 50.00 | | 1 | 50.00 | 8050.00 | 0.00 | | | 0.00 | + | 20 | 21 January 2026 | 50.00 | | 1 | 50.00 | 8000.00 | 0.00 | | | 0.00 | + | 21 | 22 January 2026 | 50.00 | | 1 | 50.00 | 7950.00 | 0.00 | | | 0.00 | + | 22 | 23 January 2026 | 50.00 | | 1 | 50.00 | 7900.00 | 0.00 | | | 0.00 | + | 23 | 24 January 2026 | 50.00 | | 1 | 50.00 | 7850.00 | 0.00 | | | 0.00 | + | 24 | 25 January 2026 | 50.00 | | 1 | 50.00 | 7800.00 | 0.00 | | | 0.00 | + | 25 | 26 January 2026 | 50.00 | | 1 | 50.00 | 7750.00 | 0.00 | | | 0.00 | + | 26 | 27 January 2026 | 50.00 | | 1 | 50.00 | 7700.00 | 0.00 | | | 0.00 | + | 27 | 28 January 2026 | 50.00 | | 1 | 50.00 | 7650.00 | 0.00 | | | 0.00 | + | 28 | 29 January 2026 | 50.00 | | 1 | 50.00 | 7600.00 | 0.00 | | | 0.00 | + | 29 | 30 January 2026 | 50.00 | | 1 | 50.00 | 7550.00 | 0.00 | | | 0.00 | + | 30 | 31 January 2026 | 50.00 | | 1 | 50.00 | 7500.00 | 0.00 | | | 0.00 | + | 31 | 01 February 2026 | 50.00 | | 1 | 50.00 | 7450.00 | 0.00 | | | 0.00 | + | 32 | 02 February 2026 | 50.00 | | 1 | 50.00 | 7400.00 | 0.00 | | | 0.00 | + | 33 | 03 February 2026 | 50.00 | | 1 | 50.00 | 7350.00 | 0.00 | | | 0.00 | + | 34 | 04 February 2026 | 50.00 | | 1 | 50.00 | 7300.00 | 0.00 | | | 0.00 | + | 35 | 05 February 2026 | 50.00 | | 1 | 50.00 | 7250.00 | 0.00 | | | 0.00 | + | 36 | 06 February 2026 | 50.00 | | 1 | 50.00 | 7200.00 | 0.00 | | | 0.00 | + | 37 | 07 February 2026 | 50.00 | | 1 | 50.00 | 7150.00 | 0.00 | | | 0.00 | + | 38 | 08 February 2026 | 50.00 | | 1 | 50.00 | 7100.00 | 0.00 | | | 0.00 | + | 39 | 09 February 2026 | 50.00 | | 1 | 50.00 | 7050.00 | 0.00 | | | 0.00 | + | 40 | 10 February 2026 | 50.00 | | 1 | 50.00 | 7000.00 | 0.00 | | | 0.00 | + | 41 | 11 February 2026 | 50.00 | | 1 | 50.00 | 6950.00 | 0.00 | | | 0.00 | + | 42 | 12 February 2026 | 50.00 | | 1 | 50.00 | 6900.00 | 0.00 | | | 0.00 | + | 43 | 13 February 2026 | 50.00 | | 1 | 50.00 | 6850.00 | 0.00 | | | 0.00 | + | 44 | 14 February 2026 | 50.00 | | 1 | 50.00 | 6800.00 | 0.00 | | | 0.00 | + | 45 | 15 February 2026 | 50.00 | | 1 | 50.00 | 6750.00 | 0.00 | | | 0.00 | + | 46 | 16 February 2026 | 50.00 | | 1 | 50.00 | 6700.00 | 0.00 | | | 0.00 | + | 47 | 17 February 2026 | 50.00 | | 1 | 50.00 | 6650.00 | 0.00 | | | 0.00 | + | 48 | 18 February 2026 | 50.00 | | 1 | 50.00 | 6600.00 | 0.00 | | | 0.00 | + | 49 | 19 February 2026 | 50.00 | | 1 | 50.00 | 6550.00 | 0.00 | | | 0.00 | + | 50 | 20 February 2026 | 50.00 | | 1 | 50.00 | 6500.00 | 0.00 | | | 0.00 | + | 51 | 21 February 2026 | 50.00 | | 1 | 50.00 | 6450.00 | 0.00 | | | 0.00 | + | 52 | 22 February 2026 | 50.00 | | 1 | 50.00 | 6400.00 | 0.00 | | | 0.00 | + | 53 | 23 February 2026 | 50.00 | | 1 | 50.00 | 6350.00 | 0.00 | | | 0.00 | + | 54 | 24 February 2026 | 50.00 | | 1 | 50.00 | 6300.00 | 0.00 | | | 0.00 | + | 55 | 25 February 2026 | 50.00 | | 1 | 50.00 | 6250.00 | 0.00 | | | 0.00 | + | 56 | 26 February 2026 | 50.00 | | 1 | 50.00 | 6200.00 | 0.00 | | | 0.00 | + | 57 | 27 February 2026 | 50.00 | | 1 | 50.00 | 6150.00 | 0.00 | | | 0.00 | + | 58 | 28 February 2026 | 50.00 | | 1 | 50.00 | 6100.00 | 0.00 | | | 0.00 | + | 59 | 01 March 2026 | 50.00 | | 1 | 50.00 | 6050.00 | 0.00 | | | 0.00 | + | 60 | 02 March 2026 | 50.00 | | 1 | 50.00 | 6000.00 | 0.00 | | | 0.00 | + | 61 | 03 March 2026 | 50.00 | | 1 | 50.00 | 5950.00 | 0.00 | | | 0.00 | + | 62 | 04 March 2026 | 50.00 | | 1 | 50.00 | 5900.00 | 0.00 | | | 0.00 | + | 63 | 05 March 2026 | 50.00 | | 1 | 50.00 | 5850.00 | 0.00 | | | 0.00 | + | 64 | 06 March 2026 | 50.00 | | 1 | 50.00 | 5800.00 | 0.00 | | | 0.00 | + | 65 | 07 March 2026 | 50.00 | | 1 | 50.00 | 5750.00 | 0.00 | | | 0.00 | + | 66 | 08 March 2026 | 50.00 | | 1 | 50.00 | 5700.00 | 0.00 | | | 0.00 | + | 67 | 09 March 2026 | 50.00 | | 1 | 50.00 | 5650.00 | 0.00 | | | 0.00 | + | 68 | 10 March 2026 | 50.00 | | 1 | 50.00 | 5600.00 | 0.00 | | | 0.00 | + | 69 | 11 March 2026 | 50.00 | | 1 | 50.00 | 5550.00 | 0.00 | | | 0.00 | + | 70 | 12 March 2026 | 50.00 | | 1 | 50.00 | 5500.00 | 0.00 | | | 0.00 | + | 71 | 13 March 2026 | 50.00 | | 1 | 50.00 | 5450.00 | 0.00 | | | 0.00 | + | 72 | 14 March 2026 | 50.00 | | 1 | 50.00 | 5400.00 | 0.00 | | | 0.00 | + | 73 | 15 March 2026 | 50.00 | | 1 | 50.00 | 5350.00 | 0.00 | | | 0.00 | + | 74 | 16 March 2026 | 50.00 | | 1 | 50.00 | 5300.00 | 0.00 | | | 0.00 | + | 75 | 17 March 2026 | 50.00 | | 1 | 50.00 | 5250.00 | 0.00 | | | 0.00 | + | 76 | 18 March 2026 | 50.00 | | 1 | 50.00 | 5200.00 | 0.00 | | | 0.00 | + | 77 | 19 March 2026 | 50.00 | | 1 | 50.00 | 5150.00 | 0.00 | | | 0.00 | + | 78 | 20 March 2026 | 50.00 | | 1 | 50.00 | 5100.00 | 0.00 | | | 0.00 | + | 79 | 21 March 2026 | 50.00 | | 1 | 50.00 | 5050.00 | 0.00 | | | 0.00 | + | 80 | 22 March 2026 | 50.00 | | 1 | 50.00 | 5000.00 | 0.00 | | | 0.00 | + | 81 | 23 March 2026 | 50.00 | | 1 | 50.00 | 4950.00 | 0.00 | | | 0.00 | + | 82 | 24 March 2026 | 50.00 | | 1 | 50.00 | 4900.00 | 0.00 | | | 0.00 | + | 83 | 25 March 2026 | 50.00 | | 1 | 50.00 | 4850.00 | 0.00 | | | 0.00 | + | 84 | 26 March 2026 | 50.00 | | 1 | 50.00 | 4800.00 | 0.00 | | | 0.00 | + | 85 | 27 March 2026 | 50.00 | | 1 | 50.00 | 4750.00 | 0.00 | | | 0.00 | + | 86 | 28 March 2026 | 50.00 | | 1 | 50.00 | 4700.00 | 0.00 | | | 0.00 | + | 87 | 29 March 2026 | 50.00 | | 1 | 50.00 | 4650.00 | 0.00 | | | 0.00 | + | 88 | 30 March 2026 | 50.00 | | 1 | 50.00 | 4600.00 | 0.00 | | | 0.00 | + | 89 | 31 March 2026 | 50.00 | | 1 | 50.00 | 4550.00 | 0.00 | | | 0.00 | + | 90 | 01 April 2026 | 50.00 | | 1 | 50.00 | 4500.00 | 0.00 | | | 0.00 | + | 91 | 02 April 2026 | 50.00 | | 1 | 50.00 | 4450.00 | 0.00 | | | 0.00 | + | 92 | 03 April 2026 | 50.00 | | 1 | 50.00 | 4400.00 | 0.00 | | | 0.00 | + | 93 | 04 April 2026 | 50.00 | | 1 | 50.00 | 4350.00 | 0.00 | | | 0.00 | + | 94 | 05 April 2026 | 50.00 | | 1 | 50.00 | 4300.00 | 0.00 | | | 0.00 | + | 95 | 06 April 2026 | 50.00 | | 1 | 50.00 | 4250.00 | 0.00 | | | 0.00 | + | 96 | 07 April 2026 | 50.00 | | 1 | 50.00 | 4200.00 | 0.00 | | | 0.00 | + | 97 | 08 April 2026 | 50.00 | | 1 | 50.00 | 4150.00 | 0.00 | | | 0.00 | + | 98 | 09 April 2026 | 50.00 | | 1 | 50.00 | 4100.00 | 0.00 | | | 0.00 | + | 99 | 10 April 2026 | 50.00 | | 1 | 50.00 | 4050.00 | 0.00 | | | 0.00 | + | 100 | 11 April 2026 | 50.00 | | 1 | 50.00 | 4000.00 | 0.00 | | | 0.00 | + | 101 | 12 April 2026 | 50.00 | | 1 | 50.00 | 3950.00 | 0.00 | | | 0.00 | + | 102 | 13 April 2026 | 50.00 | | 1 | 50.00 | 3900.00 | 0.00 | | | 0.00 | + | 103 | 14 April 2026 | 50.00 | | 1 | 50.00 | 3850.00 | 0.00 | | | 0.00 | + | 104 | 15 April 2026 | 50.00 | | 1 | 50.00 | 3800.00 | 0.00 | | | 0.00 | + | 105 | 16 April 2026 | 50.00 | | 1 | 50.00 | 3750.00 | 0.00 | | | 0.00 | + | 106 | 17 April 2026 | 50.00 | | 1 | 50.00 | 3700.00 | 0.00 | | | 0.00 | + | 107 | 18 April 2026 | 50.00 | | 1 | 50.00 | 3650.00 | 0.00 | | | 0.00 | + | 108 | 19 April 2026 | 50.00 | | 1 | 50.00 | 3600.00 | 0.00 | | | 0.00 | + | 109 | 20 April 2026 | 50.00 | | 1 | 50.00 | 3550.00 | 0.00 | | | 0.00 | + | 110 | 21 April 2026 | 50.00 | | 1 | 50.00 | 3500.00 | 0.00 | | | 0.00 | + | 111 | 22 April 2026 | 50.00 | | 1 | 50.00 | 3450.00 | 0.00 | | | 0.00 | + | 112 | 23 April 2026 | 50.00 | | 1 | 50.00 | 3400.00 | 0.00 | | | 0.00 | + | 113 | 24 April 2026 | 50.00 | | 1 | 50.00 | 3350.00 | 0.00 | | | 0.00 | + | 114 | 25 April 2026 | 50.00 | | 1 | 50.00 | 3300.00 | 0.00 | | | 0.00 | + | 115 | 26 April 2026 | 50.00 | | 1 | 50.00 | 3250.00 | 0.00 | | | 0.00 | + | 116 | 27 April 2026 | 50.00 | | 1 | 50.00 | 3200.00 | 0.00 | | | 0.00 | + | 117 | 28 April 2026 | 50.00 | | 1 | 50.00 | 3150.00 | 0.00 | | | 0.00 | + | 118 | 29 April 2026 | 50.00 | | 1 | 50.00 | 3100.00 | 0.00 | | | 0.00 | + | 119 | 30 April 2026 | 50.00 | | 1 | 50.00 | 3050.00 | 0.00 | | | 0.00 | + | 120 | 01 May 2026 | 50.00 | | 1 | 50.00 | 3000.00 | 0.00 | | | 0.00 | + | 121 | 02 May 2026 | 50.00 | | 1 | 50.00 | 2950.00 | 0.00 | | | 0.00 | + | 122 | 03 May 2026 | 50.00 | | 1 | 50.00 | 2900.00 | 0.00 | | | 0.00 | + | 123 | 04 May 2026 | 50.00 | | 1 | 50.00 | 2850.00 | 0.00 | | | 0.00 | + | 124 | 05 May 2026 | 50.00 | | 1 | 50.00 | 2800.00 | 0.00 | | | 0.00 | + | 125 | 06 May 2026 | 50.00 | | 1 | 50.00 | 2750.00 | 0.00 | | | 0.00 | + | 126 | 07 May 2026 | 50.00 | | 1 | 50.00 | 2700.00 | 0.00 | | | 0.00 | + | 127 | 08 May 2026 | 50.00 | | 1 | 50.00 | 2650.00 | 0.00 | | | 0.00 | + | 128 | 09 May 2026 | 50.00 | | 1 | 50.00 | 2600.00 | 0.00 | | | 0.00 | + | 129 | 10 May 2026 | 50.00 | | 1 | 50.00 | 2550.00 | 0.00 | | | 0.00 | + | 130 | 11 May 2026 | 50.00 | | 1 | 50.00 | 2500.00 | 0.00 | | | 0.00 | + | 131 | 12 May 2026 | 50.00 | | 1 | 50.00 | 2450.00 | 0.00 | | | 0.00 | + | 132 | 13 May 2026 | 50.00 | | 1 | 50.00 | 2400.00 | 0.00 | | | 0.00 | + | 133 | 14 May 2026 | 50.00 | | 1 | 50.00 | 2350.00 | 0.00 | | | 0.00 | + | 134 | 15 May 2026 | 50.00 | | 1 | 50.00 | 2300.00 | 0.00 | | | 0.00 | + | 135 | 16 May 2026 | 50.00 | | 1 | 50.00 | 2250.00 | 0.00 | | | 0.00 | + | 136 | 17 May 2026 | 50.00 | | 1 | 50.00 | 2200.00 | 0.00 | | | 0.00 | + | 137 | 18 May 2026 | 50.00 | | 1 | 50.00 | 2150.00 | 0.00 | | | 0.00 | + | 138 | 19 May 2026 | 50.00 | | 1 | 50.00 | 2100.00 | 0.00 | | | 0.00 | + | 139 | 20 May 2026 | 50.00 | | 1 | 50.00 | 2050.00 | 0.00 | | | 0.00 | + | 140 | 21 May 2026 | 50.00 | | 1 | 50.00 | 2000.00 | 0.00 | | | 0.00 | + | 141 | 22 May 2026 | 50.00 | | 1 | 50.00 | 1950.00 | 0.00 | | | 0.00 | + | 142 | 23 May 2026 | 50.00 | | 1 | 50.00 | 1900.00 | 0.00 | | | 0.00 | + | 143 | 24 May 2026 | 50.00 | | 1 | 50.00 | 1850.00 | 0.00 | | | 0.00 | + | 144 | 25 May 2026 | 50.00 | | 1 | 50.00 | 1800.00 | 0.00 | | | 0.00 | + | 145 | 26 May 2026 | 50.00 | | 1 | 50.00 | 1750.00 | 0.00 | | | 0.00 | + | 146 | 27 May 2026 | 50.00 | | 1 | 50.00 | 1700.00 | 0.00 | | | 0.00 | + | 147 | 28 May 2026 | 50.00 | | 1 | 50.00 | 1650.00 | 0.00 | | | 0.00 | + | 148 | 29 May 2026 | 50.00 | | 1 | 50.00 | 1600.00 | 0.00 | | | 0.00 | + | 149 | 30 May 2026 | 50.00 | | 1 | 50.00 | 1550.00 | 0.00 | | | 0.00 | + | 150 | 31 May 2026 | 50.00 | | 1 | 50.00 | 1500.00 | 0.00 | | | 0.00 | + | 151 | 01 June 2026 | 50.00 | | 1 | 50.00 | 1450.00 | 0.00 | | | 0.00 | + | 152 | 02 June 2026 | 50.00 | | 1 | 50.00 | 1400.00 | 0.00 | | | 0.00 | + | 153 | 03 June 2026 | 50.00 | | 1 | 50.00 | 1350.00 | 0.00 | | | 0.00 | + | 154 | 04 June 2026 | 50.00 | | 1 | 50.00 | 1300.00 | 0.00 | | | 0.00 | + | 155 | 05 June 2026 | 50.00 | | 1 | 50.00 | 1250.00 | 0.00 | | | 0.00 | + | 156 | 06 June 2026 | 50.00 | | 1 | 50.00 | 1200.00 | 0.00 | | | 0.00 | + | 157 | 07 June 2026 | 50.00 | | 1 | 50.00 | 1150.00 | 0.00 | | | 0.00 | + | 158 | 08 June 2026 | 50.00 | | 1 | 50.00 | 1100.00 | 0.00 | | | 0.00 | + | 159 | 09 June 2026 | 50.00 | | 1 | 50.00 | 1050.00 | 0.00 | | | 0.00 | + | 160 | 10 June 2026 | 50.00 | | 1 | 50.00 | 1000.00 | 0.00 | | | 0.00 | + | 161 | 11 June 2026 | 50.00 | | 1 | 50.00 | 950.00 | 0.00 | | | 0.00 | + | 162 | 12 June 2026 | 50.00 | | 1 | 50.00 | 900.00 | 0.00 | | | 0.00 | + | 163 | 13 June 2026 | 50.00 | | 1 | 50.00 | 850.00 | 0.00 | | | 0.00 | + | 164 | 14 June 2026 | 50.00 | | 1 | 50.00 | 800.00 | 0.00 | | | 0.00 | + | 165 | 15 June 2026 | 50.00 | | 1 | 50.00 | 750.00 | 0.00 | | | 0.00 | + | 166 | 16 June 2026 | 50.00 | | 1 | 50.00 | 700.00 | 0.00 | | | 0.00 | + | 167 | 17 June 2026 | 50.00 | | 1 | 50.00 | 650.00 | 0.00 | | | 0.00 | + | 168 | 18 June 2026 | 50.00 | | 1 | 50.00 | 600.00 | 0.00 | | | 0.00 | + | 169 | 19 June 2026 | 50.00 | | 1 | 50.00 | 550.00 | 0.00 | | | 0.00 | + | 170 | 20 June 2026 | 50.00 | | 1 | 50.00 | 500.00 | 0.00 | | | 0.00 | + | 171 | 21 June 2026 | 50.00 | | 1 | 50.00 | 450.00 | 0.00 | | | 0.00 | + | 172 | 22 June 2026 | 50.00 | | 1 | 50.00 | 400.00 | 0.00 | | | 0.00 | + | 173 | 23 June 2026 | 50.00 | | 1 | 50.00 | 350.00 | 0.00 | | | 0.00 | + | 174 | 24 June 2026 | 50.00 | | 1 | 30.00 | 300.00 | 0.00 | | | 0.00 | @TestRailId:C76631 Scenario: Verify working capital loan repayment - UC15: expectedAmount overpaid in 2nd period @@ -611,12 +2303,183 @@ Feature: Working Capital Loan Repayment And Delinquency Tag History for Working Capital loan has lines: | periodNumber | addedOnDate | liftedOnDate | classification | minimumAgeDays | maximumAgeDays | | 1 | 2026-01-31 | 2026-02-10 | D00 | 1 | 30 | - Then Working Capital loan amortization schedule has 4 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | - | 1 | 02 January 2026 | 5000.00 | 370.00 | 1 | 370.00 | 4658.91 | 0.00 | 48.76 | 48.76 | 0.00 | - | 2 | 03 January 2026 | 5000.00 | | 0.9317821063276353179 | 4658.91 | 0.00 | 0.00 | | | 0.00 | - | 3 | 04 January 2026 | | | 0.8682178937 | 4019.85 | | | | | 0.00 | + Then Working Capital loan amortization schedule has 175 periods, with the following data for periods: + | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | + | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | + | 1 | 02 January 2026 | 50.00 | 370.00 | 1 | 370.00 | 8950.00 | 0.00 | 0.00 | 0.00 | 0.00 | + | 2 | 03 January 2026 | 50.00 | | 1 | 50.00 | 8900.00 | 0.00 | | | 0.00 | + | 3 | 04 January 2026 | 50.00 | | 1 | 50.00 | 8850.00 | 0.00 | | | 0.00 | + | 4 | 05 January 2026 | 50.00 | | 1 | 50.00 | 8800.00 | 0.00 | | | 0.00 | + | 5 | 06 January 2026 | 50.00 | | 1 | 50.00 | 8750.00 | 0.00 | | | 0.00 | + | 6 | 07 January 2026 | 50.00 | | 1 | 50.00 | 8700.00 | 0.00 | | | 0.00 | + | 7 | 08 January 2026 | 50.00 | | 1 | 50.00 | 8650.00 | 0.00 | | | 0.00 | + | 8 | 09 January 2026 | 50.00 | | 1 | 50.00 | 8600.00 | 0.00 | | | 0.00 | + | 9 | 10 January 2026 | 50.00 | | 1 | 50.00 | 8550.00 | 0.00 | | | 0.00 | + | 10 | 11 January 2026 | 50.00 | | 1 | 50.00 | 8500.00 | 0.00 | | | 0.00 | + | 11 | 12 January 2026 | 50.00 | | 1 | 50.00 | 8450.00 | 0.00 | | | 0.00 | + | 12 | 13 January 2026 | 50.00 | | 1 | 50.00 | 8400.00 | 0.00 | | | 0.00 | + | 13 | 14 January 2026 | 50.00 | | 1 | 50.00 | 8350.00 | 0.00 | | | 0.00 | + | 14 | 15 January 2026 | 50.00 | | 1 | 50.00 | 8300.00 | 0.00 | | | 0.00 | + | 15 | 16 January 2026 | 50.00 | | 1 | 50.00 | 8250.00 | 0.00 | | | 0.00 | + | 16 | 17 January 2026 | 50.00 | | 1 | 50.00 | 8200.00 | 0.00 | | | 0.00 | + | 17 | 18 January 2026 | 50.00 | | 1 | 50.00 | 8150.00 | 0.00 | | | 0.00 | + | 18 | 19 January 2026 | 50.00 | | 1 | 50.00 | 8100.00 | 0.00 | | | 0.00 | + | 19 | 20 January 2026 | 50.00 | | 1 | 50.00 | 8050.00 | 0.00 | | | 0.00 | + | 20 | 21 January 2026 | 50.00 | | 1 | 50.00 | 8000.00 | 0.00 | | | 0.00 | + | 21 | 22 January 2026 | 50.00 | | 1 | 50.00 | 7950.00 | 0.00 | | | 0.00 | + | 22 | 23 January 2026 | 50.00 | | 1 | 50.00 | 7900.00 | 0.00 | | | 0.00 | + | 23 | 24 January 2026 | 50.00 | | 1 | 50.00 | 7850.00 | 0.00 | | | 0.00 | + | 24 | 25 January 2026 | 50.00 | | 1 | 50.00 | 7800.00 | 0.00 | | | 0.00 | + | 25 | 26 January 2026 | 50.00 | | 1 | 50.00 | 7750.00 | 0.00 | | | 0.00 | + | 26 | 27 January 2026 | 50.00 | | 1 | 50.00 | 7700.00 | 0.00 | | | 0.00 | + | 27 | 28 January 2026 | 50.00 | | 1 | 50.00 | 7650.00 | 0.00 | | | 0.00 | + | 28 | 29 January 2026 | 50.00 | | 1 | 50.00 | 7600.00 | 0.00 | | | 0.00 | + | 29 | 30 January 2026 | 50.00 | | 1 | 50.00 | 7550.00 | 0.00 | | | 0.00 | + | 30 | 31 January 2026 | 50.00 | | 1 | 50.00 | 7500.00 | 0.00 | | | 0.00 | + | 31 | 01 February 2026 | 50.00 | | 1 | 50.00 | 7450.00 | 0.00 | | | 0.00 | + | 32 | 02 February 2026 | 50.00 | | 1 | 50.00 | 7400.00 | 0.00 | | | 0.00 | + | 33 | 03 February 2026 | 50.00 | | 1 | 50.00 | 7350.00 | 0.00 | | | 0.00 | + | 34 | 04 February 2026 | 50.00 | | 1 | 50.00 | 7300.00 | 0.00 | | | 0.00 | + | 35 | 05 February 2026 | 50.00 | | 1 | 50.00 | 7250.00 | 0.00 | | | 0.00 | + | 36 | 06 February 2026 | 50.00 | | 1 | 50.00 | 7200.00 | 0.00 | | | 0.00 | + | 37 | 07 February 2026 | 50.00 | | 1 | 50.00 | 7150.00 | 0.00 | | | 0.00 | + | 38 | 08 February 2026 | 50.00 | | 1 | 50.00 | 7100.00 | 0.00 | | | 0.00 | + | 39 | 09 February 2026 | 50.00 | | 1 | 50.00 | 7050.00 | 0.00 | | | 0.00 | + | 40 | 10 February 2026 | 50.00 | | 1 | 50.00 | 7000.00 | 0.00 | | | 0.00 | + | 41 | 11 February 2026 | 50.00 | | 1 | 50.00 | 6950.00 | 0.00 | | | 0.00 | + | 42 | 12 February 2026 | 50.00 | | 1 | 50.00 | 6900.00 | 0.00 | | | 0.00 | + | 43 | 13 February 2026 | 50.00 | | 1 | 50.00 | 6850.00 | 0.00 | | | 0.00 | + | 44 | 14 February 2026 | 50.00 | | 1 | 50.00 | 6800.00 | 0.00 | | | 0.00 | + | 45 | 15 February 2026 | 50.00 | | 1 | 50.00 | 6750.00 | 0.00 | | | 0.00 | + | 46 | 16 February 2026 | 50.00 | | 1 | 50.00 | 6700.00 | 0.00 | | | 0.00 | + | 47 | 17 February 2026 | 50.00 | | 1 | 50.00 | 6650.00 | 0.00 | | | 0.00 | + | 48 | 18 February 2026 | 50.00 | | 1 | 50.00 | 6600.00 | 0.00 | | | 0.00 | + | 49 | 19 February 2026 | 50.00 | | 1 | 50.00 | 6550.00 | 0.00 | | | 0.00 | + | 50 | 20 February 2026 | 50.00 | | 1 | 50.00 | 6500.00 | 0.00 | | | 0.00 | + | 51 | 21 February 2026 | 50.00 | | 1 | 50.00 | 6450.00 | 0.00 | | | 0.00 | + | 52 | 22 February 2026 | 50.00 | | 1 | 50.00 | 6400.00 | 0.00 | | | 0.00 | + | 53 | 23 February 2026 | 50.00 | | 1 | 50.00 | 6350.00 | 0.00 | | | 0.00 | + | 54 | 24 February 2026 | 50.00 | | 1 | 50.00 | 6300.00 | 0.00 | | | 0.00 | + | 55 | 25 February 2026 | 50.00 | | 1 | 50.00 | 6250.00 | 0.00 | | | 0.00 | + | 56 | 26 February 2026 | 50.00 | | 1 | 50.00 | 6200.00 | 0.00 | | | 0.00 | + | 57 | 27 February 2026 | 50.00 | | 1 | 50.00 | 6150.00 | 0.00 | | | 0.00 | + | 58 | 28 February 2026 | 50.00 | | 1 | 50.00 | 6100.00 | 0.00 | | | 0.00 | + | 59 | 01 March 2026 | 50.00 | | 1 | 50.00 | 6050.00 | 0.00 | | | 0.00 | + | 60 | 02 March 2026 | 50.00 | | 1 | 50.00 | 6000.00 | 0.00 | | | 0.00 | + | 61 | 03 March 2026 | 50.00 | | 1 | 50.00 | 5950.00 | 0.00 | | | 0.00 | + | 62 | 04 March 2026 | 50.00 | | 1 | 50.00 | 5900.00 | 0.00 | | | 0.00 | + | 63 | 05 March 2026 | 50.00 | | 1 | 50.00 | 5850.00 | 0.00 | | | 0.00 | + | 64 | 06 March 2026 | 50.00 | | 1 | 50.00 | 5800.00 | 0.00 | | | 0.00 | + | 65 | 07 March 2026 | 50.00 | | 1 | 50.00 | 5750.00 | 0.00 | | | 0.00 | + | 66 | 08 March 2026 | 50.00 | | 1 | 50.00 | 5700.00 | 0.00 | | | 0.00 | + | 67 | 09 March 2026 | 50.00 | | 1 | 50.00 | 5650.00 | 0.00 | | | 0.00 | + | 68 | 10 March 2026 | 50.00 | | 1 | 50.00 | 5600.00 | 0.00 | | | 0.00 | + | 69 | 11 March 2026 | 50.00 | | 1 | 50.00 | 5550.00 | 0.00 | | | 0.00 | + | 70 | 12 March 2026 | 50.00 | | 1 | 50.00 | 5500.00 | 0.00 | | | 0.00 | + | 71 | 13 March 2026 | 50.00 | | 1 | 50.00 | 5450.00 | 0.00 | | | 0.00 | + | 72 | 14 March 2026 | 50.00 | | 1 | 50.00 | 5400.00 | 0.00 | | | 0.00 | + | 73 | 15 March 2026 | 50.00 | | 1 | 50.00 | 5350.00 | 0.00 | | | 0.00 | + | 74 | 16 March 2026 | 50.00 | | 1 | 50.00 | 5300.00 | 0.00 | | | 0.00 | + | 75 | 17 March 2026 | 50.00 | | 1 | 50.00 | 5250.00 | 0.00 | | | 0.00 | + | 76 | 18 March 2026 | 50.00 | | 1 | 50.00 | 5200.00 | 0.00 | | | 0.00 | + | 77 | 19 March 2026 | 50.00 | | 1 | 50.00 | 5150.00 | 0.00 | | | 0.00 | + | 78 | 20 March 2026 | 50.00 | | 1 | 50.00 | 5100.00 | 0.00 | | | 0.00 | + | 79 | 21 March 2026 | 50.00 | | 1 | 50.00 | 5050.00 | 0.00 | | | 0.00 | + | 80 | 22 March 2026 | 50.00 | | 1 | 50.00 | 5000.00 | 0.00 | | | 0.00 | + | 81 | 23 March 2026 | 50.00 | | 1 | 50.00 | 4950.00 | 0.00 | | | 0.00 | + | 82 | 24 March 2026 | 50.00 | | 1 | 50.00 | 4900.00 | 0.00 | | | 0.00 | + | 83 | 25 March 2026 | 50.00 | | 1 | 50.00 | 4850.00 | 0.00 | | | 0.00 | + | 84 | 26 March 2026 | 50.00 | | 1 | 50.00 | 4800.00 | 0.00 | | | 0.00 | + | 85 | 27 March 2026 | 50.00 | | 1 | 50.00 | 4750.00 | 0.00 | | | 0.00 | + | 86 | 28 March 2026 | 50.00 | | 1 | 50.00 | 4700.00 | 0.00 | | | 0.00 | + | 87 | 29 March 2026 | 50.00 | | 1 | 50.00 | 4650.00 | 0.00 | | | 0.00 | + | 88 | 30 March 2026 | 50.00 | | 1 | 50.00 | 4600.00 | 0.00 | | | 0.00 | + | 89 | 31 March 2026 | 50.00 | | 1 | 50.00 | 4550.00 | 0.00 | | | 0.00 | + | 90 | 01 April 2026 | 50.00 | | 1 | 50.00 | 4500.00 | 0.00 | | | 0.00 | + | 91 | 02 April 2026 | 50.00 | | 1 | 50.00 | 4450.00 | 0.00 | | | 0.00 | + | 92 | 03 April 2026 | 50.00 | | 1 | 50.00 | 4400.00 | 0.00 | | | 0.00 | + | 93 | 04 April 2026 | 50.00 | | 1 | 50.00 | 4350.00 | 0.00 | | | 0.00 | + | 94 | 05 April 2026 | 50.00 | | 1 | 50.00 | 4300.00 | 0.00 | | | 0.00 | + | 95 | 06 April 2026 | 50.00 | | 1 | 50.00 | 4250.00 | 0.00 | | | 0.00 | + | 96 | 07 April 2026 | 50.00 | | 1 | 50.00 | 4200.00 | 0.00 | | | 0.00 | + | 97 | 08 April 2026 | 50.00 | | 1 | 50.00 | 4150.00 | 0.00 | | | 0.00 | + | 98 | 09 April 2026 | 50.00 | | 1 | 50.00 | 4100.00 | 0.00 | | | 0.00 | + | 99 | 10 April 2026 | 50.00 | | 1 | 50.00 | 4050.00 | 0.00 | | | 0.00 | + | 100 | 11 April 2026 | 50.00 | | 1 | 50.00 | 4000.00 | 0.00 | | | 0.00 | + | 101 | 12 April 2026 | 50.00 | | 1 | 50.00 | 3950.00 | 0.00 | | | 0.00 | + | 102 | 13 April 2026 | 50.00 | | 1 | 50.00 | 3900.00 | 0.00 | | | 0.00 | + | 103 | 14 April 2026 | 50.00 | | 1 | 50.00 | 3850.00 | 0.00 | | | 0.00 | + | 104 | 15 April 2026 | 50.00 | | 1 | 50.00 | 3800.00 | 0.00 | | | 0.00 | + | 105 | 16 April 2026 | 50.00 | | 1 | 50.00 | 3750.00 | 0.00 | | | 0.00 | + | 106 | 17 April 2026 | 50.00 | | 1 | 50.00 | 3700.00 | 0.00 | | | 0.00 | + | 107 | 18 April 2026 | 50.00 | | 1 | 50.00 | 3650.00 | 0.00 | | | 0.00 | + | 108 | 19 April 2026 | 50.00 | | 1 | 50.00 | 3600.00 | 0.00 | | | 0.00 | + | 109 | 20 April 2026 | 50.00 | | 1 | 50.00 | 3550.00 | 0.00 | | | 0.00 | + | 110 | 21 April 2026 | 50.00 | | 1 | 50.00 | 3500.00 | 0.00 | | | 0.00 | + | 111 | 22 April 2026 | 50.00 | | 1 | 50.00 | 3450.00 | 0.00 | | | 0.00 | + | 112 | 23 April 2026 | 50.00 | | 1 | 50.00 | 3400.00 | 0.00 | | | 0.00 | + | 113 | 24 April 2026 | 50.00 | | 1 | 50.00 | 3350.00 | 0.00 | | | 0.00 | + | 114 | 25 April 2026 | 50.00 | | 1 | 50.00 | 3300.00 | 0.00 | | | 0.00 | + | 115 | 26 April 2026 | 50.00 | | 1 | 50.00 | 3250.00 | 0.00 | | | 0.00 | + | 116 | 27 April 2026 | 50.00 | | 1 | 50.00 | 3200.00 | 0.00 | | | 0.00 | + | 117 | 28 April 2026 | 50.00 | | 1 | 50.00 | 3150.00 | 0.00 | | | 0.00 | + | 118 | 29 April 2026 | 50.00 | | 1 | 50.00 | 3100.00 | 0.00 | | | 0.00 | + | 119 | 30 April 2026 | 50.00 | | 1 | 50.00 | 3050.00 | 0.00 | | | 0.00 | + | 120 | 01 May 2026 | 50.00 | | 1 | 50.00 | 3000.00 | 0.00 | | | 0.00 | + | 121 | 02 May 2026 | 50.00 | | 1 | 50.00 | 2950.00 | 0.00 | | | 0.00 | + | 122 | 03 May 2026 | 50.00 | | 1 | 50.00 | 2900.00 | 0.00 | | | 0.00 | + | 123 | 04 May 2026 | 50.00 | | 1 | 50.00 | 2850.00 | 0.00 | | | 0.00 | + | 124 | 05 May 2026 | 50.00 | | 1 | 50.00 | 2800.00 | 0.00 | | | 0.00 | + | 125 | 06 May 2026 | 50.00 | | 1 | 50.00 | 2750.00 | 0.00 | | | 0.00 | + | 126 | 07 May 2026 | 50.00 | | 1 | 50.00 | 2700.00 | 0.00 | | | 0.00 | + | 127 | 08 May 2026 | 50.00 | | 1 | 50.00 | 2650.00 | 0.00 | | | 0.00 | + | 128 | 09 May 2026 | 50.00 | | 1 | 50.00 | 2600.00 | 0.00 | | | 0.00 | + | 129 | 10 May 2026 | 50.00 | | 1 | 50.00 | 2550.00 | 0.00 | | | 0.00 | + | 130 | 11 May 2026 | 50.00 | | 1 | 50.00 | 2500.00 | 0.00 | | | 0.00 | + | 131 | 12 May 2026 | 50.00 | | 1 | 50.00 | 2450.00 | 0.00 | | | 0.00 | + | 132 | 13 May 2026 | 50.00 | | 1 | 50.00 | 2400.00 | 0.00 | | | 0.00 | + | 133 | 14 May 2026 | 50.00 | | 1 | 50.00 | 2350.00 | 0.00 | | | 0.00 | + | 134 | 15 May 2026 | 50.00 | | 1 | 50.00 | 2300.00 | 0.00 | | | 0.00 | + | 135 | 16 May 2026 | 50.00 | | 1 | 50.00 | 2250.00 | 0.00 | | | 0.00 | + | 136 | 17 May 2026 | 50.00 | | 1 | 50.00 | 2200.00 | 0.00 | | | 0.00 | + | 137 | 18 May 2026 | 50.00 | | 1 | 50.00 | 2150.00 | 0.00 | | | 0.00 | + | 138 | 19 May 2026 | 50.00 | | 1 | 50.00 | 2100.00 | 0.00 | | | 0.00 | + | 139 | 20 May 2026 | 50.00 | | 1 | 50.00 | 2050.00 | 0.00 | | | 0.00 | + | 140 | 21 May 2026 | 50.00 | | 1 | 50.00 | 2000.00 | 0.00 | | | 0.00 | + | 141 | 22 May 2026 | 50.00 | | 1 | 50.00 | 1950.00 | 0.00 | | | 0.00 | + | 142 | 23 May 2026 | 50.00 | | 1 | 50.00 | 1900.00 | 0.00 | | | 0.00 | + | 143 | 24 May 2026 | 50.00 | | 1 | 50.00 | 1850.00 | 0.00 | | | 0.00 | + | 144 | 25 May 2026 | 50.00 | | 1 | 50.00 | 1800.00 | 0.00 | | | 0.00 | + | 145 | 26 May 2026 | 50.00 | | 1 | 50.00 | 1750.00 | 0.00 | | | 0.00 | + | 146 | 27 May 2026 | 50.00 | | 1 | 50.00 | 1700.00 | 0.00 | | | 0.00 | + | 147 | 28 May 2026 | 50.00 | | 1 | 50.00 | 1650.00 | 0.00 | | | 0.00 | + | 148 | 29 May 2026 | 50.00 | | 1 | 50.00 | 1600.00 | 0.00 | | | 0.00 | + | 149 | 30 May 2026 | 50.00 | | 1 | 50.00 | 1550.00 | 0.00 | | | 0.00 | + | 150 | 31 May 2026 | 50.00 | | 1 | 50.00 | 1500.00 | 0.00 | | | 0.00 | + | 151 | 01 June 2026 | 50.00 | | 1 | 50.00 | 1450.00 | 0.00 | | | 0.00 | + | 152 | 02 June 2026 | 50.00 | | 1 | 50.00 | 1400.00 | 0.00 | | | 0.00 | + | 153 | 03 June 2026 | 50.00 | | 1 | 50.00 | 1350.00 | 0.00 | | | 0.00 | + | 154 | 04 June 2026 | 50.00 | | 1 | 50.00 | 1300.00 | 0.00 | | | 0.00 | + | 155 | 05 June 2026 | 50.00 | | 1 | 50.00 | 1250.00 | 0.00 | | | 0.00 | + | 156 | 06 June 2026 | 50.00 | | 1 | 50.00 | 1200.00 | 0.00 | | | 0.00 | + | 157 | 07 June 2026 | 50.00 | | 1 | 50.00 | 1150.00 | 0.00 | | | 0.00 | + | 158 | 08 June 2026 | 50.00 | | 1 | 50.00 | 1100.00 | 0.00 | | | 0.00 | + | 159 | 09 June 2026 | 50.00 | | 1 | 50.00 | 1050.00 | 0.00 | | | 0.00 | + | 160 | 10 June 2026 | 50.00 | | 1 | 50.00 | 1000.00 | 0.00 | | | 0.00 | + | 161 | 11 June 2026 | 50.00 | | 1 | 50.00 | 950.00 | 0.00 | | | 0.00 | + | 162 | 12 June 2026 | 50.00 | | 1 | 50.00 | 900.00 | 0.00 | | | 0.00 | + | 163 | 13 June 2026 | 50.00 | | 1 | 50.00 | 850.00 | 0.00 | | | 0.00 | + | 164 | 14 June 2026 | 50.00 | | 1 | 50.00 | 800.00 | 0.00 | | | 0.00 | + | 165 | 15 June 2026 | 50.00 | | 1 | 50.00 | 750.00 | 0.00 | | | 0.00 | + | 166 | 16 June 2026 | 50.00 | | 1 | 50.00 | 700.00 | 0.00 | | | 0.00 | + | 167 | 17 June 2026 | 50.00 | | 1 | 50.00 | 650.00 | 0.00 | | | 0.00 | + | 168 | 18 June 2026 | 50.00 | | 1 | 50.00 | 600.00 | 0.00 | | | 0.00 | + | 169 | 19 June 2026 | 50.00 | | 1 | 50.00 | 550.00 | 0.00 | | | 0.00 | + | 170 | 20 June 2026 | 50.00 | | 1 | 50.00 | 500.00 | 0.00 | | | 0.00 | + | 171 | 21 June 2026 | 50.00 | | 1 | 50.00 | 450.00 | 0.00 | | | 0.00 | + | 172 | 22 June 2026 | 50.00 | | 1 | 50.00 | 400.00 | 0.00 | | | 0.00 | + | 173 | 23 June 2026 | 50.00 | | 1 | 50.00 | 350.00 | 0.00 | | | 0.00 | + | 174 | 24 June 2026 | 50.00 | | 1 | 30.00 | 300.00 | 0.00 | | | 0.00 | @TestRailId:C76632 Scenario: Verify working capital loan repayment - UC16: expectedAmount overpaid in late period @@ -687,12 +2550,160 @@ Feature: Working Capital Loan Repayment | 2 | 2026-03-02 | 2026-05-10 | D00 | 1 | 30 | | 1 | 2026-03-02 | 2026-05-10 | D30 | 31 | 60 | | 1 | 2026-01-31 | 2026-05-10 | D00 | 1 | 30 | - Then Working Capital loan amortization schedule has 4 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | - | 1 | 02 January 2026 | 5000.00 | 1500.00 | 1 | 1500.00 | 4658.91 | 0.00 | 197.67 | 197.67 | 0.00 | - | 2 | 03 January 2026 | 5000.00 | | 0.9317821063276353179 | 4658.91 | 0.00 | 0.00 | | | 0.00 | - | 3 | 04 January 2026 | | | 0.8682178937 | 3038.76 | | | | | 0.00 | + Then Working Capital loan amortization schedule has 152 periods, with the following data for periods: + | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | + | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | + | 1 | 02 January 2026 | 50.00 | 1500.00 | 1 | 1500.00 | 8950.00 | 0.00 | 0.00 | 0.00 | 0.00 | + | 2 | 03 January 2026 | 50.00 | | 1 | 50.00 | 8900.00 | 0.00 | | | 0.00 | + | 3 | 04 January 2026 | 50.00 | | 1 | 50.00 | 8850.00 | 0.00 | | | 0.00 | + | 4 | 05 January 2026 | 50.00 | | 1 | 50.00 | 8800.00 | 0.00 | | | 0.00 | + | 5 | 06 January 2026 | 50.00 | | 1 | 50.00 | 8750.00 | 0.00 | | | 0.00 | + | 6 | 07 January 2026 | 50.00 | | 1 | 50.00 | 8700.00 | 0.00 | | | 0.00 | + | 7 | 08 January 2026 | 50.00 | | 1 | 50.00 | 8650.00 | 0.00 | | | 0.00 | + | 8 | 09 January 2026 | 50.00 | | 1 | 50.00 | 8600.00 | 0.00 | | | 0.00 | + | 9 | 10 January 2026 | 50.00 | | 1 | 50.00 | 8550.00 | 0.00 | | | 0.00 | + | 10 | 11 January 2026 | 50.00 | | 1 | 50.00 | 8500.00 | 0.00 | | | 0.00 | + | 11 | 12 January 2026 | 50.00 | | 1 | 50.00 | 8450.00 | 0.00 | | | 0.00 | + | 12 | 13 January 2026 | 50.00 | | 1 | 50.00 | 8400.00 | 0.00 | | | 0.00 | + | 13 | 14 January 2026 | 50.00 | | 1 | 50.00 | 8350.00 | 0.00 | | | 0.00 | + | 14 | 15 January 2026 | 50.00 | | 1 | 50.00 | 8300.00 | 0.00 | | | 0.00 | + | 15 | 16 January 2026 | 50.00 | | 1 | 50.00 | 8250.00 | 0.00 | | | 0.00 | + | 16 | 17 January 2026 | 50.00 | | 1 | 50.00 | 8200.00 | 0.00 | | | 0.00 | + | 17 | 18 January 2026 | 50.00 | | 1 | 50.00 | 8150.00 | 0.00 | | | 0.00 | + | 18 | 19 January 2026 | 50.00 | | 1 | 50.00 | 8100.00 | 0.00 | | | 0.00 | + | 19 | 20 January 2026 | 50.00 | | 1 | 50.00 | 8050.00 | 0.00 | | | 0.00 | + | 20 | 21 January 2026 | 50.00 | | 1 | 50.00 | 8000.00 | 0.00 | | | 0.00 | + | 21 | 22 January 2026 | 50.00 | | 1 | 50.00 | 7950.00 | 0.00 | | | 0.00 | + | 22 | 23 January 2026 | 50.00 | | 1 | 50.00 | 7900.00 | 0.00 | | | 0.00 | + | 23 | 24 January 2026 | 50.00 | | 1 | 50.00 | 7850.00 | 0.00 | | | 0.00 | + | 24 | 25 January 2026 | 50.00 | | 1 | 50.00 | 7800.00 | 0.00 | | | 0.00 | + | 25 | 26 January 2026 | 50.00 | | 1 | 50.00 | 7750.00 | 0.00 | | | 0.00 | + | 26 | 27 January 2026 | 50.00 | | 1 | 50.00 | 7700.00 | 0.00 | | | 0.00 | + | 27 | 28 January 2026 | 50.00 | | 1 | 50.00 | 7650.00 | 0.00 | | | 0.00 | + | 28 | 29 January 2026 | 50.00 | | 1 | 50.00 | 7600.00 | 0.00 | | | 0.00 | + | 29 | 30 January 2026 | 50.00 | | 1 | 50.00 | 7550.00 | 0.00 | | | 0.00 | + | 30 | 31 January 2026 | 50.00 | | 1 | 50.00 | 7500.00 | 0.00 | | | 0.00 | + | 31 | 01 February 2026 | 50.00 | | 1 | 50.00 | 7450.00 | 0.00 | | | 0.00 | + | 32 | 02 February 2026 | 50.00 | | 1 | 50.00 | 7400.00 | 0.00 | | | 0.00 | + | 33 | 03 February 2026 | 50.00 | | 1 | 50.00 | 7350.00 | 0.00 | | | 0.00 | + | 34 | 04 February 2026 | 50.00 | | 1 | 50.00 | 7300.00 | 0.00 | | | 0.00 | + | 35 | 05 February 2026 | 50.00 | | 1 | 50.00 | 7250.00 | 0.00 | | | 0.00 | + | 36 | 06 February 2026 | 50.00 | | 1 | 50.00 | 7200.00 | 0.00 | | | 0.00 | + | 37 | 07 February 2026 | 50.00 | | 1 | 50.00 | 7150.00 | 0.00 | | | 0.00 | + | 38 | 08 February 2026 | 50.00 | | 1 | 50.00 | 7100.00 | 0.00 | | | 0.00 | + | 39 | 09 February 2026 | 50.00 | | 1 | 50.00 | 7050.00 | 0.00 | | | 0.00 | + | 40 | 10 February 2026 | 50.00 | | 1 | 50.00 | 7000.00 | 0.00 | | | 0.00 | + | 41 | 11 February 2026 | 50.00 | | 1 | 50.00 | 6950.00 | 0.00 | | | 0.00 | + | 42 | 12 February 2026 | 50.00 | | 1 | 50.00 | 6900.00 | 0.00 | | | 0.00 | + | 43 | 13 February 2026 | 50.00 | | 1 | 50.00 | 6850.00 | 0.00 | | | 0.00 | + | 44 | 14 February 2026 | 50.00 | | 1 | 50.00 | 6800.00 | 0.00 | | | 0.00 | + | 45 | 15 February 2026 | 50.00 | | 1 | 50.00 | 6750.00 | 0.00 | | | 0.00 | + | 46 | 16 February 2026 | 50.00 | | 1 | 50.00 | 6700.00 | 0.00 | | | 0.00 | + | 47 | 17 February 2026 | 50.00 | | 1 | 50.00 | 6650.00 | 0.00 | | | 0.00 | + | 48 | 18 February 2026 | 50.00 | | 1 | 50.00 | 6600.00 | 0.00 | | | 0.00 | + | 49 | 19 February 2026 | 50.00 | | 1 | 50.00 | 6550.00 | 0.00 | | | 0.00 | + | 50 | 20 February 2026 | 50.00 | | 1 | 50.00 | 6500.00 | 0.00 | | | 0.00 | + | 51 | 21 February 2026 | 50.00 | | 1 | 50.00 | 6450.00 | 0.00 | | | 0.00 | + | 52 | 22 February 2026 | 50.00 | | 1 | 50.00 | 6400.00 | 0.00 | | | 0.00 | + | 53 | 23 February 2026 | 50.00 | | 1 | 50.00 | 6350.00 | 0.00 | | | 0.00 | + | 54 | 24 February 2026 | 50.00 | | 1 | 50.00 | 6300.00 | 0.00 | | | 0.00 | + | 55 | 25 February 2026 | 50.00 | | 1 | 50.00 | 6250.00 | 0.00 | | | 0.00 | + | 56 | 26 February 2026 | 50.00 | | 1 | 50.00 | 6200.00 | 0.00 | | | 0.00 | + | 57 | 27 February 2026 | 50.00 | | 1 | 50.00 | 6150.00 | 0.00 | | | 0.00 | + | 58 | 28 February 2026 | 50.00 | | 1 | 50.00 | 6100.00 | 0.00 | | | 0.00 | + | 59 | 01 March 2026 | 50.00 | | 1 | 50.00 | 6050.00 | 0.00 | | | 0.00 | + | 60 | 02 March 2026 | 50.00 | | 1 | 50.00 | 6000.00 | 0.00 | | | 0.00 | + | 61 | 03 March 2026 | 50.00 | | 1 | 50.00 | 5950.00 | 0.00 | | | 0.00 | + | 62 | 04 March 2026 | 50.00 | | 1 | 50.00 | 5900.00 | 0.00 | | | 0.00 | + | 63 | 05 March 2026 | 50.00 | | 1 | 50.00 | 5850.00 | 0.00 | | | 0.00 | + | 64 | 06 March 2026 | 50.00 | | 1 | 50.00 | 5800.00 | 0.00 | | | 0.00 | + | 65 | 07 March 2026 | 50.00 | | 1 | 50.00 | 5750.00 | 0.00 | | | 0.00 | + | 66 | 08 March 2026 | 50.00 | | 1 | 50.00 | 5700.00 | 0.00 | | | 0.00 | + | 67 | 09 March 2026 | 50.00 | | 1 | 50.00 | 5650.00 | 0.00 | | | 0.00 | + | 68 | 10 March 2026 | 50.00 | | 1 | 50.00 | 5600.00 | 0.00 | | | 0.00 | + | 69 | 11 March 2026 | 50.00 | | 1 | 50.00 | 5550.00 | 0.00 | | | 0.00 | + | 70 | 12 March 2026 | 50.00 | | 1 | 50.00 | 5500.00 | 0.00 | | | 0.00 | + | 71 | 13 March 2026 | 50.00 | | 1 | 50.00 | 5450.00 | 0.00 | | | 0.00 | + | 72 | 14 March 2026 | 50.00 | | 1 | 50.00 | 5400.00 | 0.00 | | | 0.00 | + | 73 | 15 March 2026 | 50.00 | | 1 | 50.00 | 5350.00 | 0.00 | | | 0.00 | + | 74 | 16 March 2026 | 50.00 | | 1 | 50.00 | 5300.00 | 0.00 | | | 0.00 | + | 75 | 17 March 2026 | 50.00 | | 1 | 50.00 | 5250.00 | 0.00 | | | 0.00 | + | 76 | 18 March 2026 | 50.00 | | 1 | 50.00 | 5200.00 | 0.00 | | | 0.00 | + | 77 | 19 March 2026 | 50.00 | | 1 | 50.00 | 5150.00 | 0.00 | | | 0.00 | + | 78 | 20 March 2026 | 50.00 | | 1 | 50.00 | 5100.00 | 0.00 | | | 0.00 | + | 79 | 21 March 2026 | 50.00 | | 1 | 50.00 | 5050.00 | 0.00 | | | 0.00 | + | 80 | 22 March 2026 | 50.00 | | 1 | 50.00 | 5000.00 | 0.00 | | | 0.00 | + | 81 | 23 March 2026 | 50.00 | | 1 | 50.00 | 4950.00 | 0.00 | | | 0.00 | + | 82 | 24 March 2026 | 50.00 | | 1 | 50.00 | 4900.00 | 0.00 | | | 0.00 | + | 83 | 25 March 2026 | 50.00 | | 1 | 50.00 | 4850.00 | 0.00 | | | 0.00 | + | 84 | 26 March 2026 | 50.00 | | 1 | 50.00 | 4800.00 | 0.00 | | | 0.00 | + | 85 | 27 March 2026 | 50.00 | | 1 | 50.00 | 4750.00 | 0.00 | | | 0.00 | + | 86 | 28 March 2026 | 50.00 | | 1 | 50.00 | 4700.00 | 0.00 | | | 0.00 | + | 87 | 29 March 2026 | 50.00 | | 1 | 50.00 | 4650.00 | 0.00 | | | 0.00 | + | 88 | 30 March 2026 | 50.00 | | 1 | 50.00 | 4600.00 | 0.00 | | | 0.00 | + | 89 | 31 March 2026 | 50.00 | | 1 | 50.00 | 4550.00 | 0.00 | | | 0.00 | + | 90 | 01 April 2026 | 50.00 | | 1 | 50.00 | 4500.00 | 0.00 | | | 0.00 | + | 91 | 02 April 2026 | 50.00 | | 1 | 50.00 | 4450.00 | 0.00 | | | 0.00 | + | 92 | 03 April 2026 | 50.00 | | 1 | 50.00 | 4400.00 | 0.00 | | | 0.00 | + | 93 | 04 April 2026 | 50.00 | | 1 | 50.00 | 4350.00 | 0.00 | | | 0.00 | + | 94 | 05 April 2026 | 50.00 | | 1 | 50.00 | 4300.00 | 0.00 | | | 0.00 | + | 95 | 06 April 2026 | 50.00 | | 1 | 50.00 | 4250.00 | 0.00 | | | 0.00 | + | 96 | 07 April 2026 | 50.00 | | 1 | 50.00 | 4200.00 | 0.00 | | | 0.00 | + | 97 | 08 April 2026 | 50.00 | | 1 | 50.00 | 4150.00 | 0.00 | | | 0.00 | + | 98 | 09 April 2026 | 50.00 | | 1 | 50.00 | 4100.00 | 0.00 | | | 0.00 | + | 99 | 10 April 2026 | 50.00 | | 1 | 50.00 | 4050.00 | 0.00 | | | 0.00 | + | 100 | 11 April 2026 | 50.00 | | 1 | 50.00 | 4000.00 | 0.00 | | | 0.00 | + | 101 | 12 April 2026 | 50.00 | | 1 | 50.00 | 3950.00 | 0.00 | | | 0.00 | + | 102 | 13 April 2026 | 50.00 | | 1 | 50.00 | 3900.00 | 0.00 | | | 0.00 | + | 103 | 14 April 2026 | 50.00 | | 1 | 50.00 | 3850.00 | 0.00 | | | 0.00 | + | 104 | 15 April 2026 | 50.00 | | 1 | 50.00 | 3800.00 | 0.00 | | | 0.00 | + | 105 | 16 April 2026 | 50.00 | | 1 | 50.00 | 3750.00 | 0.00 | | | 0.00 | + | 106 | 17 April 2026 | 50.00 | | 1 | 50.00 | 3700.00 | 0.00 | | | 0.00 | + | 107 | 18 April 2026 | 50.00 | | 1 | 50.00 | 3650.00 | 0.00 | | | 0.00 | + | 108 | 19 April 2026 | 50.00 | | 1 | 50.00 | 3600.00 | 0.00 | | | 0.00 | + | 109 | 20 April 2026 | 50.00 | | 1 | 50.00 | 3550.00 | 0.00 | | | 0.00 | + | 110 | 21 April 2026 | 50.00 | | 1 | 50.00 | 3500.00 | 0.00 | | | 0.00 | + | 111 | 22 April 2026 | 50.00 | | 1 | 50.00 | 3450.00 | 0.00 | | | 0.00 | + | 112 | 23 April 2026 | 50.00 | | 1 | 50.00 | 3400.00 | 0.00 | | | 0.00 | + | 113 | 24 April 2026 | 50.00 | | 1 | 50.00 | 3350.00 | 0.00 | | | 0.00 | + | 114 | 25 April 2026 | 50.00 | | 1 | 50.00 | 3300.00 | 0.00 | | | 0.00 | + | 115 | 26 April 2026 | 50.00 | | 1 | 50.00 | 3250.00 | 0.00 | | | 0.00 | + | 116 | 27 April 2026 | 50.00 | | 1 | 50.00 | 3200.00 | 0.00 | | | 0.00 | + | 117 | 28 April 2026 | 50.00 | | 1 | 50.00 | 3150.00 | 0.00 | | | 0.00 | + | 118 | 29 April 2026 | 50.00 | | 1 | 50.00 | 3100.00 | 0.00 | | | 0.00 | + | 119 | 30 April 2026 | 50.00 | | 1 | 50.00 | 3050.00 | 0.00 | | | 0.00 | + | 120 | 01 May 2026 | 50.00 | | 1 | 50.00 | 3000.00 | 0.00 | | | 0.00 | + | 121 | 02 May 2026 | 50.00 | | 1 | 50.00 | 2950.00 | 0.00 | | | 0.00 | + | 122 | 03 May 2026 | 50.00 | | 1 | 50.00 | 2900.00 | 0.00 | | | 0.00 | + | 123 | 04 May 2026 | 50.00 | | 1 | 50.00 | 2850.00 | 0.00 | | | 0.00 | + | 124 | 05 May 2026 | 50.00 | | 1 | 50.00 | 2800.00 | 0.00 | | | 0.00 | + | 125 | 06 May 2026 | 50.00 | | 1 | 50.00 | 2750.00 | 0.00 | | | 0.00 | + | 126 | 07 May 2026 | 50.00 | | 1 | 50.00 | 2700.00 | 0.00 | | | 0.00 | + | 127 | 08 May 2026 | 50.00 | | 1 | 50.00 | 2650.00 | 0.00 | | | 0.00 | + | 128 | 09 May 2026 | 50.00 | | 1 | 50.00 | 2600.00 | 0.00 | | | 0.00 | + | 129 | 10 May 2026 | 50.00 | | 1 | 50.00 | 2550.00 | 0.00 | | | 0.00 | + | 130 | 11 May 2026 | 50.00 | | 1 | 50.00 | 2500.00 | 0.00 | | | 0.00 | + | 131 | 12 May 2026 | 50.00 | | 1 | 50.00 | 2450.00 | 0.00 | | | 0.00 | + | 132 | 13 May 2026 | 50.00 | | 1 | 50.00 | 2400.00 | 0.00 | | | 0.00 | + | 133 | 14 May 2026 | 50.00 | | 1 | 50.00 | 2350.00 | 0.00 | | | 0.00 | + | 134 | 15 May 2026 | 50.00 | | 1 | 50.00 | 2300.00 | 0.00 | | | 0.00 | + | 135 | 16 May 2026 | 50.00 | | 1 | 50.00 | 2250.00 | 0.00 | | | 0.00 | + | 136 | 17 May 2026 | 50.00 | | 1 | 50.00 | 2200.00 | 0.00 | | | 0.00 | + | 137 | 18 May 2026 | 50.00 | | 1 | 50.00 | 2150.00 | 0.00 | | | 0.00 | + | 138 | 19 May 2026 | 50.00 | | 1 | 50.00 | 2100.00 | 0.00 | | | 0.00 | + | 139 | 20 May 2026 | 50.00 | | 1 | 50.00 | 2050.00 | 0.00 | | | 0.00 | + | 140 | 21 May 2026 | 50.00 | | 1 | 50.00 | 2000.00 | 0.00 | | | 0.00 | + | 141 | 22 May 2026 | 50.00 | | 1 | 50.00 | 1950.00 | 0.00 | | | 0.00 | + | 142 | 23 May 2026 | 50.00 | | 1 | 50.00 | 1900.00 | 0.00 | | | 0.00 | + | 143 | 24 May 2026 | 50.00 | | 1 | 50.00 | 1850.00 | 0.00 | | | 0.00 | + | 144 | 25 May 2026 | 50.00 | | 1 | 50.00 | 1800.00 | 0.00 | | | 0.00 | + | 145 | 26 May 2026 | 50.00 | | 1 | 50.00 | 1750.00 | 0.00 | | | 0.00 | + | 146 | 27 May 2026 | 50.00 | | 1 | 50.00 | 1700.00 | 0.00 | | | 0.00 | + | 147 | 28 May 2026 | 50.00 | | 1 | 50.00 | 1650.00 | 0.00 | | | 0.00 | + | 148 | 29 May 2026 | 50.00 | | 1 | 50.00 | 1600.00 | 0.00 | | | 0.00 | + | 149 | 30 May 2026 | 50.00 | | 1 | 50.00 | 1550.00 | 0.00 | | | 0.00 | + | 150 | 31 May 2026 | 50.00 | | 1 | 50.00 | 1500.00 | 0.00 | | | 0.00 | + | 151 | 01 June 2026 | 50.00 | | 1 | 50.00 | 1450.00 | 0.00 | | | 0.00 | @TestRailId:C76633 Scenario: Verify working capital loan repayment - UC17: simple repayment with payment details @@ -720,12 +2731,185 @@ Feature: Working Capital Loan Repayment Then Working Capital loan delinquency range schedule has the following data: | periodNumber | fromDate | toDate | expectedAmount | paidAmount | outstandingAmount | minPaymentCriteriaMet | delinquentAmount | delinquentDays | | 1 | 2026-01-01 | 2026-01-30 | 270.0 | 270.0 | 0.0 | true | 0.0 | 0 | - Then Working Capital loan amortization schedule has 4 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | - | 1 | 02 January 2026 | 5000.00 | 270.00 | 1 | 270.00 | 4658.91 | 0.00 | 35.58 | 35.58 | 0.00 | - | 2 | 03 January 2026 | 5000.00 | | 0.9317821063276353179 | 4658.91 | 0.00 | 0.00 | | | 0.00 | - | 3 | 04 January 2026 | | | 0.8682178936723646887 | 4106.67 | | | | | 0.00 | + Then Working Capital loan amortization schedule has 177 periods, with the following data for periods: + | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | + | 0 | 01 January 2026 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 0.00 | + | 1 | 02 January 2026 | 50.00 | 270.00 | 1 | 270.00 | 8950.00 | 0.00 | 0.00 | 0.00 | 0.00 | + | 2 | 03 January 2026 | 50.00 | | 1 | 50.00 | 8900.00 | 0.00 | | | 0.00 | + | 3 | 04 January 2026 | 50.00 | | 1 | 50.00 | 8850.00 | 0.00 | | | 0.00 | + | 4 | 05 January 2026 | 50.00 | | 1 | 50.00 | 8800.00 | 0.00 | | | 0.00 | + | 5 | 06 January 2026 | 50.00 | | 1 | 50.00 | 8750.00 | 0.00 | | | 0.00 | + | 6 | 07 January 2026 | 50.00 | | 1 | 50.00 | 8700.00 | 0.00 | | | 0.00 | + | 7 | 08 January 2026 | 50.00 | | 1 | 50.00 | 8650.00 | 0.00 | | | 0.00 | + | 8 | 09 January 2026 | 50.00 | | 1 | 50.00 | 8600.00 | 0.00 | | | 0.00 | + | 9 | 10 January 2026 | 50.00 | | 1 | 50.00 | 8550.00 | 0.00 | | | 0.00 | + | 10 | 11 January 2026 | 50.00 | | 1 | 50.00 | 8500.00 | 0.00 | | | 0.00 | + | 11 | 12 January 2026 | 50.00 | | 1 | 50.00 | 8450.00 | 0.00 | | | 0.00 | + | 12 | 13 January 2026 | 50.00 | | 1 | 50.00 | 8400.00 | 0.00 | | | 0.00 | + | 13 | 14 January 2026 | 50.00 | | 1 | 50.00 | 8350.00 | 0.00 | | | 0.00 | + | 14 | 15 January 2026 | 50.00 | | 1 | 50.00 | 8300.00 | 0.00 | | | 0.00 | + | 15 | 16 January 2026 | 50.00 | | 1 | 50.00 | 8250.00 | 0.00 | | | 0.00 | + | 16 | 17 January 2026 | 50.00 | | 1 | 50.00 | 8200.00 | 0.00 | | | 0.00 | + | 17 | 18 January 2026 | 50.00 | | 1 | 50.00 | 8150.00 | 0.00 | | | 0.00 | + | 18 | 19 January 2026 | 50.00 | | 1 | 50.00 | 8100.00 | 0.00 | | | 0.00 | + | 19 | 20 January 2026 | 50.00 | | 1 | 50.00 | 8050.00 | 0.00 | | | 0.00 | + | 20 | 21 January 2026 | 50.00 | | 1 | 50.00 | 8000.00 | 0.00 | | | 0.00 | + | 21 | 22 January 2026 | 50.00 | | 1 | 50.00 | 7950.00 | 0.00 | | | 0.00 | + | 22 | 23 January 2026 | 50.00 | | 1 | 50.00 | 7900.00 | 0.00 | | | 0.00 | + | 23 | 24 January 2026 | 50.00 | | 1 | 50.00 | 7850.00 | 0.00 | | | 0.00 | + | 24 | 25 January 2026 | 50.00 | | 1 | 50.00 | 7800.00 | 0.00 | | | 0.00 | + | 25 | 26 January 2026 | 50.00 | | 1 | 50.00 | 7750.00 | 0.00 | | | 0.00 | + | 26 | 27 January 2026 | 50.00 | | 1 | 50.00 | 7700.00 | 0.00 | | | 0.00 | + | 27 | 28 January 2026 | 50.00 | | 1 | 50.00 | 7650.00 | 0.00 | | | 0.00 | + | 28 | 29 January 2026 | 50.00 | | 1 | 50.00 | 7600.00 | 0.00 | | | 0.00 | + | 29 | 30 January 2026 | 50.00 | | 1 | 50.00 | 7550.00 | 0.00 | | | 0.00 | + | 30 | 31 January 2026 | 50.00 | | 1 | 50.00 | 7500.00 | 0.00 | | | 0.00 | + | 31 | 01 February 2026 | 50.00 | | 1 | 50.00 | 7450.00 | 0.00 | | | 0.00 | + | 32 | 02 February 2026 | 50.00 | | 1 | 50.00 | 7400.00 | 0.00 | | | 0.00 | + | 33 | 03 February 2026 | 50.00 | | 1 | 50.00 | 7350.00 | 0.00 | | | 0.00 | + | 34 | 04 February 2026 | 50.00 | | 1 | 50.00 | 7300.00 | 0.00 | | | 0.00 | + | 35 | 05 February 2026 | 50.00 | | 1 | 50.00 | 7250.00 | 0.00 | | | 0.00 | + | 36 | 06 February 2026 | 50.00 | | 1 | 50.00 | 7200.00 | 0.00 | | | 0.00 | + | 37 | 07 February 2026 | 50.00 | | 1 | 50.00 | 7150.00 | 0.00 | | | 0.00 | + | 38 | 08 February 2026 | 50.00 | | 1 | 50.00 | 7100.00 | 0.00 | | | 0.00 | + | 39 | 09 February 2026 | 50.00 | | 1 | 50.00 | 7050.00 | 0.00 | | | 0.00 | + | 40 | 10 February 2026 | 50.00 | | 1 | 50.00 | 7000.00 | 0.00 | | | 0.00 | + | 41 | 11 February 2026 | 50.00 | | 1 | 50.00 | 6950.00 | 0.00 | | | 0.00 | + | 42 | 12 February 2026 | 50.00 | | 1 | 50.00 | 6900.00 | 0.00 | | | 0.00 | + | 43 | 13 February 2026 | 50.00 | | 1 | 50.00 | 6850.00 | 0.00 | | | 0.00 | + | 44 | 14 February 2026 | 50.00 | | 1 | 50.00 | 6800.00 | 0.00 | | | 0.00 | + | 45 | 15 February 2026 | 50.00 | | 1 | 50.00 | 6750.00 | 0.00 | | | 0.00 | + | 46 | 16 February 2026 | 50.00 | | 1 | 50.00 | 6700.00 | 0.00 | | | 0.00 | + | 47 | 17 February 2026 | 50.00 | | 1 | 50.00 | 6650.00 | 0.00 | | | 0.00 | + | 48 | 18 February 2026 | 50.00 | | 1 | 50.00 | 6600.00 | 0.00 | | | 0.00 | + | 49 | 19 February 2026 | 50.00 | | 1 | 50.00 | 6550.00 | 0.00 | | | 0.00 | + | 50 | 20 February 2026 | 50.00 | | 1 | 50.00 | 6500.00 | 0.00 | | | 0.00 | + | 51 | 21 February 2026 | 50.00 | | 1 | 50.00 | 6450.00 | 0.00 | | | 0.00 | + | 52 | 22 February 2026 | 50.00 | | 1 | 50.00 | 6400.00 | 0.00 | | | 0.00 | + | 53 | 23 February 2026 | 50.00 | | 1 | 50.00 | 6350.00 | 0.00 | | | 0.00 | + | 54 | 24 February 2026 | 50.00 | | 1 | 50.00 | 6300.00 | 0.00 | | | 0.00 | + | 55 | 25 February 2026 | 50.00 | | 1 | 50.00 | 6250.00 | 0.00 | | | 0.00 | + | 56 | 26 February 2026 | 50.00 | | 1 | 50.00 | 6200.00 | 0.00 | | | 0.00 | + | 57 | 27 February 2026 | 50.00 | | 1 | 50.00 | 6150.00 | 0.00 | | | 0.00 | + | 58 | 28 February 2026 | 50.00 | | 1 | 50.00 | 6100.00 | 0.00 | | | 0.00 | + | 59 | 01 March 2026 | 50.00 | | 1 | 50.00 | 6050.00 | 0.00 | | | 0.00 | + | 60 | 02 March 2026 | 50.00 | | 1 | 50.00 | 6000.00 | 0.00 | | | 0.00 | + | 61 | 03 March 2026 | 50.00 | | 1 | 50.00 | 5950.00 | 0.00 | | | 0.00 | + | 62 | 04 March 2026 | 50.00 | | 1 | 50.00 | 5900.00 | 0.00 | | | 0.00 | + | 63 | 05 March 2026 | 50.00 | | 1 | 50.00 | 5850.00 | 0.00 | | | 0.00 | + | 64 | 06 March 2026 | 50.00 | | 1 | 50.00 | 5800.00 | 0.00 | | | 0.00 | + | 65 | 07 March 2026 | 50.00 | | 1 | 50.00 | 5750.00 | 0.00 | | | 0.00 | + | 66 | 08 March 2026 | 50.00 | | 1 | 50.00 | 5700.00 | 0.00 | | | 0.00 | + | 67 | 09 March 2026 | 50.00 | | 1 | 50.00 | 5650.00 | 0.00 | | | 0.00 | + | 68 | 10 March 2026 | 50.00 | | 1 | 50.00 | 5600.00 | 0.00 | | | 0.00 | + | 69 | 11 March 2026 | 50.00 | | 1 | 50.00 | 5550.00 | 0.00 | | | 0.00 | + | 70 | 12 March 2026 | 50.00 | | 1 | 50.00 | 5500.00 | 0.00 | | | 0.00 | + | 71 | 13 March 2026 | 50.00 | | 1 | 50.00 | 5450.00 | 0.00 | | | 0.00 | + | 72 | 14 March 2026 | 50.00 | | 1 | 50.00 | 5400.00 | 0.00 | | | 0.00 | + | 73 | 15 March 2026 | 50.00 | | 1 | 50.00 | 5350.00 | 0.00 | | | 0.00 | + | 74 | 16 March 2026 | 50.00 | | 1 | 50.00 | 5300.00 | 0.00 | | | 0.00 | + | 75 | 17 March 2026 | 50.00 | | 1 | 50.00 | 5250.00 | 0.00 | | | 0.00 | + | 76 | 18 March 2026 | 50.00 | | 1 | 50.00 | 5200.00 | 0.00 | | | 0.00 | + | 77 | 19 March 2026 | 50.00 | | 1 | 50.00 | 5150.00 | 0.00 | | | 0.00 | + | 78 | 20 March 2026 | 50.00 | | 1 | 50.00 | 5100.00 | 0.00 | | | 0.00 | + | 79 | 21 March 2026 | 50.00 | | 1 | 50.00 | 5050.00 | 0.00 | | | 0.00 | + | 80 | 22 March 2026 | 50.00 | | 1 | 50.00 | 5000.00 | 0.00 | | | 0.00 | + | 81 | 23 March 2026 | 50.00 | | 1 | 50.00 | 4950.00 | 0.00 | | | 0.00 | + | 82 | 24 March 2026 | 50.00 | | 1 | 50.00 | 4900.00 | 0.00 | | | 0.00 | + | 83 | 25 March 2026 | 50.00 | | 1 | 50.00 | 4850.00 | 0.00 | | | 0.00 | + | 84 | 26 March 2026 | 50.00 | | 1 | 50.00 | 4800.00 | 0.00 | | | 0.00 | + | 85 | 27 March 2026 | 50.00 | | 1 | 50.00 | 4750.00 | 0.00 | | | 0.00 | + | 86 | 28 March 2026 | 50.00 | | 1 | 50.00 | 4700.00 | 0.00 | | | 0.00 | + | 87 | 29 March 2026 | 50.00 | | 1 | 50.00 | 4650.00 | 0.00 | | | 0.00 | + | 88 | 30 March 2026 | 50.00 | | 1 | 50.00 | 4600.00 | 0.00 | | | 0.00 | + | 89 | 31 March 2026 | 50.00 | | 1 | 50.00 | 4550.00 | 0.00 | | | 0.00 | + | 90 | 01 April 2026 | 50.00 | | 1 | 50.00 | 4500.00 | 0.00 | | | 0.00 | + | 91 | 02 April 2026 | 50.00 | | 1 | 50.00 | 4450.00 | 0.00 | | | 0.00 | + | 92 | 03 April 2026 | 50.00 | | 1 | 50.00 | 4400.00 | 0.00 | | | 0.00 | + | 93 | 04 April 2026 | 50.00 | | 1 | 50.00 | 4350.00 | 0.00 | | | 0.00 | + | 94 | 05 April 2026 | 50.00 | | 1 | 50.00 | 4300.00 | 0.00 | | | 0.00 | + | 95 | 06 April 2026 | 50.00 | | 1 | 50.00 | 4250.00 | 0.00 | | | 0.00 | + | 96 | 07 April 2026 | 50.00 | | 1 | 50.00 | 4200.00 | 0.00 | | | 0.00 | + | 97 | 08 April 2026 | 50.00 | | 1 | 50.00 | 4150.00 | 0.00 | | | 0.00 | + | 98 | 09 April 2026 | 50.00 | | 1 | 50.00 | 4100.00 | 0.00 | | | 0.00 | + | 99 | 10 April 2026 | 50.00 | | 1 | 50.00 | 4050.00 | 0.00 | | | 0.00 | + | 100 | 11 April 2026 | 50.00 | | 1 | 50.00 | 4000.00 | 0.00 | | | 0.00 | + | 101 | 12 April 2026 | 50.00 | | 1 | 50.00 | 3950.00 | 0.00 | | | 0.00 | + | 102 | 13 April 2026 | 50.00 | | 1 | 50.00 | 3900.00 | 0.00 | | | 0.00 | + | 103 | 14 April 2026 | 50.00 | | 1 | 50.00 | 3850.00 | 0.00 | | | 0.00 | + | 104 | 15 April 2026 | 50.00 | | 1 | 50.00 | 3800.00 | 0.00 | | | 0.00 | + | 105 | 16 April 2026 | 50.00 | | 1 | 50.00 | 3750.00 | 0.00 | | | 0.00 | + | 106 | 17 April 2026 | 50.00 | | 1 | 50.00 | 3700.00 | 0.00 | | | 0.00 | + | 107 | 18 April 2026 | 50.00 | | 1 | 50.00 | 3650.00 | 0.00 | | | 0.00 | + | 108 | 19 April 2026 | 50.00 | | 1 | 50.00 | 3600.00 | 0.00 | | | 0.00 | + | 109 | 20 April 2026 | 50.00 | | 1 | 50.00 | 3550.00 | 0.00 | | | 0.00 | + | 110 | 21 April 2026 | 50.00 | | 1 | 50.00 | 3500.00 | 0.00 | | | 0.00 | + | 111 | 22 April 2026 | 50.00 | | 1 | 50.00 | 3450.00 | 0.00 | | | 0.00 | + | 112 | 23 April 2026 | 50.00 | | 1 | 50.00 | 3400.00 | 0.00 | | | 0.00 | + | 113 | 24 April 2026 | 50.00 | | 1 | 50.00 | 3350.00 | 0.00 | | | 0.00 | + | 114 | 25 April 2026 | 50.00 | | 1 | 50.00 | 3300.00 | 0.00 | | | 0.00 | + | 115 | 26 April 2026 | 50.00 | | 1 | 50.00 | 3250.00 | 0.00 | | | 0.00 | + | 116 | 27 April 2026 | 50.00 | | 1 | 50.00 | 3200.00 | 0.00 | | | 0.00 | + | 117 | 28 April 2026 | 50.00 | | 1 | 50.00 | 3150.00 | 0.00 | | | 0.00 | + | 118 | 29 April 2026 | 50.00 | | 1 | 50.00 | 3100.00 | 0.00 | | | 0.00 | + | 119 | 30 April 2026 | 50.00 | | 1 | 50.00 | 3050.00 | 0.00 | | | 0.00 | + | 120 | 01 May 2026 | 50.00 | | 1 | 50.00 | 3000.00 | 0.00 | | | 0.00 | + | 121 | 02 May 2026 | 50.00 | | 1 | 50.00 | 2950.00 | 0.00 | | | 0.00 | + | 122 | 03 May 2026 | 50.00 | | 1 | 50.00 | 2900.00 | 0.00 | | | 0.00 | + | 123 | 04 May 2026 | 50.00 | | 1 | 50.00 | 2850.00 | 0.00 | | | 0.00 | + | 124 | 05 May 2026 | 50.00 | | 1 | 50.00 | 2800.00 | 0.00 | | | 0.00 | + | 125 | 06 May 2026 | 50.00 | | 1 | 50.00 | 2750.00 | 0.00 | | | 0.00 | + | 126 | 07 May 2026 | 50.00 | | 1 | 50.00 | 2700.00 | 0.00 | | | 0.00 | + | 127 | 08 May 2026 | 50.00 | | 1 | 50.00 | 2650.00 | 0.00 | | | 0.00 | + | 128 | 09 May 2026 | 50.00 | | 1 | 50.00 | 2600.00 | 0.00 | | | 0.00 | + | 129 | 10 May 2026 | 50.00 | | 1 | 50.00 | 2550.00 | 0.00 | | | 0.00 | + | 130 | 11 May 2026 | 50.00 | | 1 | 50.00 | 2500.00 | 0.00 | | | 0.00 | + | 131 | 12 May 2026 | 50.00 | | 1 | 50.00 | 2450.00 | 0.00 | | | 0.00 | + | 132 | 13 May 2026 | 50.00 | | 1 | 50.00 | 2400.00 | 0.00 | | | 0.00 | + | 133 | 14 May 2026 | 50.00 | | 1 | 50.00 | 2350.00 | 0.00 | | | 0.00 | + | 134 | 15 May 2026 | 50.00 | | 1 | 50.00 | 2300.00 | 0.00 | | | 0.00 | + | 135 | 16 May 2026 | 50.00 | | 1 | 50.00 | 2250.00 | 0.00 | | | 0.00 | + | 136 | 17 May 2026 | 50.00 | | 1 | 50.00 | 2200.00 | 0.00 | | | 0.00 | + | 137 | 18 May 2026 | 50.00 | | 1 | 50.00 | 2150.00 | 0.00 | | | 0.00 | + | 138 | 19 May 2026 | 50.00 | | 1 | 50.00 | 2100.00 | 0.00 | | | 0.00 | + | 139 | 20 May 2026 | 50.00 | | 1 | 50.00 | 2050.00 | 0.00 | | | 0.00 | + | 140 | 21 May 2026 | 50.00 | | 1 | 50.00 | 2000.00 | 0.00 | | | 0.00 | + | 141 | 22 May 2026 | 50.00 | | 1 | 50.00 | 1950.00 | 0.00 | | | 0.00 | + | 142 | 23 May 2026 | 50.00 | | 1 | 50.00 | 1900.00 | 0.00 | | | 0.00 | + | 143 | 24 May 2026 | 50.00 | | 1 | 50.00 | 1850.00 | 0.00 | | | 0.00 | + | 144 | 25 May 2026 | 50.00 | | 1 | 50.00 | 1800.00 | 0.00 | | | 0.00 | + | 145 | 26 May 2026 | 50.00 | | 1 | 50.00 | 1750.00 | 0.00 | | | 0.00 | + | 146 | 27 May 2026 | 50.00 | | 1 | 50.00 | 1700.00 | 0.00 | | | 0.00 | + | 147 | 28 May 2026 | 50.00 | | 1 | 50.00 | 1650.00 | 0.00 | | | 0.00 | + | 148 | 29 May 2026 | 50.00 | | 1 | 50.00 | 1600.00 | 0.00 | | | 0.00 | + | 149 | 30 May 2026 | 50.00 | | 1 | 50.00 | 1550.00 | 0.00 | | | 0.00 | + | 150 | 31 May 2026 | 50.00 | | 1 | 50.00 | 1500.00 | 0.00 | | | 0.00 | + | 151 | 01 June 2026 | 50.00 | | 1 | 50.00 | 1450.00 | 0.00 | | | 0.00 | + | 152 | 02 June 2026 | 50.00 | | 1 | 50.00 | 1400.00 | 0.00 | | | 0.00 | + | 153 | 03 June 2026 | 50.00 | | 1 | 50.00 | 1350.00 | 0.00 | | | 0.00 | + | 154 | 04 June 2026 | 50.00 | | 1 | 50.00 | 1300.00 | 0.00 | | | 0.00 | + | 155 | 05 June 2026 | 50.00 | | 1 | 50.00 | 1250.00 | 0.00 | | | 0.00 | + | 156 | 06 June 2026 | 50.00 | | 1 | 50.00 | 1200.00 | 0.00 | | | 0.00 | + | 157 | 07 June 2026 | 50.00 | | 1 | 50.00 | 1150.00 | 0.00 | | | 0.00 | + | 158 | 08 June 2026 | 50.00 | | 1 | 50.00 | 1100.00 | 0.00 | | | 0.00 | + | 159 | 09 June 2026 | 50.00 | | 1 | 50.00 | 1050.00 | 0.00 | | | 0.00 | + | 160 | 10 June 2026 | 50.00 | | 1 | 50.00 | 1000.00 | 0.00 | | | 0.00 | + | 161 | 11 June 2026 | 50.00 | | 1 | 50.00 | 950.00 | 0.00 | | | 0.00 | + | 162 | 12 June 2026 | 50.00 | | 1 | 50.00 | 900.00 | 0.00 | | | 0.00 | + | 163 | 13 June 2026 | 50.00 | | 1 | 50.00 | 850.00 | 0.00 | | | 0.00 | + | 164 | 14 June 2026 | 50.00 | | 1 | 50.00 | 800.00 | 0.00 | | | 0.00 | + | 165 | 15 June 2026 | 50.00 | | 1 | 50.00 | 750.00 | 0.00 | | | 0.00 | + | 166 | 16 June 2026 | 50.00 | | 1 | 50.00 | 700.00 | 0.00 | | | 0.00 | + | 167 | 17 June 2026 | 50.00 | | 1 | 50.00 | 650.00 | 0.00 | | | 0.00 | + | 168 | 18 June 2026 | 50.00 | | 1 | 50.00 | 600.00 | 0.00 | | | 0.00 | + | 169 | 19 June 2026 | 50.00 | | 1 | 50.00 | 550.00 | 0.00 | | | 0.00 | + | 170 | 20 June 2026 | 50.00 | | 1 | 50.00 | 500.00 | 0.00 | | | 0.00 | + | 171 | 21 June 2026 | 50.00 | | 1 | 50.00 | 450.00 | 0.00 | | | 0.00 | + | 172 | 22 June 2026 | 50.00 | | 1 | 50.00 | 400.00 | 0.00 | | | 0.00 | + | 173 | 23 June 2026 | 50.00 | | 1 | 50.00 | 350.00 | 0.00 | | | 0.00 | + | 174 | 24 June 2026 | 50.00 | | 1 | 50.00 | 300.00 | 0.00 | | | 0.00 | + | 175 | 25 June 2026 | 50.00 | | 1 | 50.00 | 250.00 | 0.00 | | | 0.00 | + | 176 | 26 June 2026 | 50.00 | | 1 | 30.00 | 200.00 | 0.00 | | | 0.00 | @TestRailId:C76634 Scenario: Verify amortization schedule after repayment transaction - UC18 @@ -733,212 +2917,212 @@ Feature: Working Capital Loan Repayment And Admin creates a client with random data And Admin creates a working capital loan with the following data: | LoanProduct | submittedOnDate | expectedDisbursementDate | principalAmount | totalPayment | periodPaymentRate | discount | - | WCLP | 01 January 2019 | 01 January 2019 | 9000 | 100000 | 0.18 | 1000 | + | WCLP | 01 January 2019 | 01 January 2019 | 9000 | 100000 | 18 | 1000 | And Admin successfully approves the working capital loan on "01 January 2019" with "9000" amount and "1000" discount amount and expected disbursement date on "01 January 2019" And Admin successfully disburse the Working Capital loan on "01 January 2019" with "9000" EUR transaction amount and "1000" discount amount Then Working Capital loan amortization schedule has 201 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2019 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 1000.00 | - | 1 | 02 January 2019 | 50.00 | | 0.9989333245 | 49.95 | 8959.61 | 9.61 | | | 1000.00 | - | 2 | 03 January 2019 | 50.00 | | 0.9978677868 | 49.89 | 8919.18 | 9.57 | | | 1000.00 | - | 3 | 04 January 2019 | 50.00 | | 0.9968033857 | 49.84 | 8878.70 | 9.52 | | | 1000.00 | - | 4 | 05 January 2019 | 50.00 | | 0.99574012 | 49.79 | 8838.18 | 9.48 | | | 1000.00 | - | 5 | 06 January 2019 | 50.00 | | 0.9946779885 | 49.73 | 8797.62 | 9.44 | | | 1000.00 | - | 6 | 07 January 2019 | 50.00 | | 0.9936169898 | 49.68 | 8757.01 | 9.39 | | | 1000.00 | - | 7 | 08 January 2019 | 50.00 | | 0.992557123 | 49.63 | 8716.36 | 9.35 | | | 1000.00 | - | 8 | 09 January 2019 | 50.00 | | 0.9914983866 | 49.57 | 8675.67 | 9.31 | | | 1000.00 | - | 9 | 10 January 2019 | 50.00 | | 0.9904407796 | 49.52 | 8634.94 | 9.26 | | | 1000.00 | - | 10 | 11 January 2019 | 50.00 | | 0.9893843007 | 49.47 | 8594.16 | 9.22 | | | 1000.00 | - | 11 | 12 January 2019 | 50.00 | | 0.9883289487 | 49.42 | 8553.33 | 9.18 | | | 1000.00 | - | 12 | 13 January 2019 | 50.00 | | 0.9872747225 | 49.36 | 8512.47 | 9.13 | | | 1000.00 | - | 13 | 14 January 2019 | 50.00 | | 0.9862216208 | 49.31 | 8471.56 | 9.09 | | | 1000.00 | - | 14 | 15 January 2019 | 50.00 | | 0.9851696423 | 49.26 | 8430.60 | 9.05 | | | 1000.00 | - | 15 | 16 January 2019 | 50.00 | | 0.984118786 | 49.21 | 8389.61 | 9.00 | | | 1000.00 | - | 16 | 17 January 2019 | 50.00 | | 0.9830690507 | 49.15 | 8348.56 | 8.96 | | | 1000.00 | - | 17 | 18 January 2019 | 50.00 | | 0.982020435 | 49.10 | 8307.48 | 8.91 | | | 1000.00 | - | 18 | 19 January 2019 | 50.00 | | 0.9809729379 | 49.05 | 8266.35 | 8.87 | | | 1000.00 | - | 19 | 20 January 2019 | 50.00 | | 0.9799265581 | 49.00 | 8225.18 | 8.83 | | | 1000.00 | - | 20 | 21 January 2019 | 50.00 | | 0.9788812945 | 48.94 | 8183.96 | 8.78 | | | 1000.00 | - | 21 | 22 January 2019 | 50.00 | | 0.9778371458 | 48.89 | 8142.70 | 8.74 | | | 1000.00 | - | 22 | 23 January 2019 | 50.00 | | 0.9767941109 | 48.84 | 8101.39 | 8.69 | | | 1000.00 | - | 23 | 24 January 2019 | 50.00 | | 0.9757521886 | 48.79 | 8060.04 | 8.65 | | | 1000.00 | - | 24 | 25 January 2019 | 50.00 | | 0.9747113777 | 48.74 | 8018.65 | 8.61 | | | 1000.00 | - | 25 | 26 January 2019 | 50.00 | | 0.9736716769498249835 | 48.68 | 7977.21 | 8.56 | | | 1000.00 | - | 26 | 27 January 2019 | 50.00 | | 0.9726330853 | 48.63 | 7935.73 | 8.52 | | | 1000.00 | - | 27 | 28 January 2019 | 50.00 | | 0.9715956014 | 48.58 | 7894.21 | 8.47 | | | 1000.00 | - | 28 | 29 January 2019 | 50.00 | | 0.9705592242 | 48.53 | 7852.63 | 8.43 | | | 1000.00 | - | 29 | 30 January 2019 | 50.00 | | 0.9695239525 | 48.48 | 7811.02 | 8.39 | | | 1000.00 | - | 30 | 31 January 2019 | 50.00 | | 0.968489785 | 48.42 | 7769.36 | 8.34 | | | 1000.00 | - | 31 | 01 February 2019 | 50.00 | | 0.9674567207 | 48.37 | 7727.66 | 8.30 | | | 1000.00 | - | 32 | 02 February 2019 | 50.00 | | 0.9664247584 | 48.32 | 7685.91 | 8.25 | | | 1000.00 | - | 33 | 03 February 2019 | 50.00 | | 0.9653938968 | 48.27 | 7644.12 | 8.21 | | | 1000.00 | - | 34 | 04 February 2019 | 50.00 | | 0.9643641348 | 48.22 | 7602.28 | 8.16 | | | 1000.00 | - | 35 | 05 February 2019 | 50.00 | | 0.9633354712 | 48.17 | 7560.40 | 8.12 | | | 1000.00 | - | 36 | 06 February 2019 | 50.00 | | 0.9623079049 | 48.12 | 7518.47 | 8.07 | | | 1000.00 | - | 37 | 07 February 2019 | 50.00 | | 0.9612814347 | 48.06 | 7476.50 | 8.03 | | | 1000.00 | - | 38 | 08 February 2019 | 50.00 | | 0.9602560593 | 48.01 | 7434.48 | 7.98 | | | 1000.00 | - | 39 | 09 February 2019 | 50.00 | | 0.9592317777 | 47.96 | 7392.42 | 7.94 | | | 1000.00 | - | 40 | 10 February 2019 | 50.00 | | 0.9582085887 | 47.91 | 7350.31 | 7.89 | | | 1000.00 | - | 41 | 11 February 2019 | 50.00 | | 0.9571864911 | 47.86 | 7308.16 | 7.85 | | | 1000.00 | - | 42 | 12 February 2019 | 50.00 | | 0.9561654838 | 47.81 | 7265.97 | 7.80 | | | 1000.00 | - | 43 | 13 February 2019 | 50.00 | | 0.9551455655 | 47.76 | 7223.72 | 7.76 | | | 1000.00 | - | 44 | 14 February 2019 | 50.00 | | 0.9541267351 | 47.71 | 7181.44 | 7.71 | | | 1000.00 | - | 45 | 15 February 2019 | 50.00 | | 0.9531089916 | 47.66 | 7139.11 | 7.67 | | | 1000.00 | - | 46 | 16 February 2019 | 50.00 | | 0.9520923336 | 47.60 | 7096.73 | 7.62 | | | 1000.00 | - | 47 | 17 February 2019 | 50.00 | | 0.95107676 | 47.55 | 7054.31 | 7.58 | | | 1000.00 | - | 48 | 18 February 2019 | 50.00 | | 0.9500622698 | 47.50 | 7011.84 | 7.53 | | | 1000.00 | - | 49 | 19 February 2019 | 50.00 | | 0.9490488616 | 47.45 | 6969.33 | 7.49 | | | 1000.00 | - | 50 | 20 February 2019 | 50.00 | | 0.9480365345 | 47.40 | 6926.77 | 7.44 | | | 1000.00 | - | 51 | 21 February 2019 | 50.00 | | 0.9470252872 | 47.35 | 6884.17 | 7.40 | | | 1000.00 | - | 52 | 22 February 2019 | 50.00 | | 0.9460151185 | 47.30 | 6841.52 | 7.35 | | | 1000.00 | - | 53 | 23 February 2019 | 50.00 | | 0.9450060274 | 47.25 | 6798.82 | 7.31 | | | 1000.00 | - | 54 | 24 February 2019 | 50.00 | | 0.9439980126 | 47.20 | 6756.08 | 7.26 | | | 1000.00 | - | 55 | 25 February 2019 | 50.00 | | 0.9429910731 | 47.15 | 6713.30 | 7.21 | | | 1000.00 | - | 56 | 26 February 2019 | 50.00 | | 0.9419852077 | 47.10 | 6670.47 | 7.17 | | | 1000.00 | - | 57 | 27 February 2019 | 50.00 | | 0.9409804151 | 47.05 | 6627.59 | 7.12 | | | 1000.00 | - | 58 | 28 February 2019 | 50.00 | | 0.9399766944 | 47.00 | 6584.67 | 7.08 | | | 1000.00 | - | 59 | 01 March 2019 | 50.00 | | 0.9389740443 | 46.95 | 6541.70 | 7.03 | | | 1000.00 | - | 60 | 02 March 2019 | 50.00 | | 0.9379724637 | 46.90 | 6498.68 | 6.99 | | | 1000.00 | - | 61 | 03 March 2019 | 50.00 | | 0.9369719515 | 46.85 | 6455.62 | 6.94 | | | 1000.00 | - | 62 | 04 March 2019 | 50.00 | | 0.9359725065 | 46.80 | 6412.51 | 6.89 | | | 1000.00 | - | 63 | 05 March 2019 | 50.00 | | 0.9349741276 | 46.75 | 6369.36 | 6.85 | | | 1000.00 | - | 64 | 06 March 2019 | 50.00 | | 0.9339768136 | 46.70 | 6326.16 | 6.80 | | | 1000.00 | - | 65 | 07 March 2019 | 50.00 | | 0.9329805635 | 46.65 | 6282.92 | 6.76 | | | 1000.00 | - | 66 | 08 March 2019 | 50.00 | | 0.931985376 | 46.60 | 6239.63 | 6.71 | | | 1000.00 | - | 67 | 09 March 2019 | 50.00 | | 0.93099125 | 46.55 | 6196.29 | 6.66 | | | 1000.00 | - | 68 | 10 March 2019 | 50.00 | | 0.9299981845 | 46.50 | 6152.91 | 6.62 | | | 1000.00 | - | 69 | 11 March 2019 | 50.00 | | 0.9290061782 | 46.45 | 6109.48 | 6.57 | | | 1000.00 | - | 70 | 12 March 2019 | 50.00 | | 0.9280152301 | 46.40 | 6066.00 | 6.52 | | | 1000.00 | - | 71 | 13 March 2019 | 50.00 | | 0.927025339 | 46.35 | 6022.48 | 6.48 | | | 1000.00 | - | 72 | 14 March 2019 | 50.00 | | 0.9260365038 | 46.30 | 5978.91 | 6.43 | | | 1000.00 | - | 73 | 15 March 2019 | 50.00 | | 0.9250487234 | 46.25 | 5935.29 | 6.38 | | | 1000.00 | - | 74 | 16 March 2019 | 50.00 | | 0.9240619966 | 46.20 | 5891.63 | 6.34 | | | 1000.00 | - | 75 | 17 March 2019 | 50.00 | | 0.9230763224 | 46.15 | 5847.92 | 6.29 | | | 1000.00 | - | 76 | 18 March 2019 | 50.00 | | 0.9220916995 | 46.10 | 5804.17 | 6.24 | | | 1000.00 | - | 77 | 19 March 2019 | 50.00 | | 0.9211081269 | 46.06 | 5760.36 | 6.20 | | | 1000.00 | - | 78 | 20 March 2019 | 50.00 | | 0.9201256034 | 46.01 | 5716.52 | 6.15 | | | 1000.00 | - | 79 | 21 March 2019 | 50.00 | | 0.919144128 | 45.96 | 5672.62 | 6.10 | | | 1000.00 | - | 80 | 22 March 2019 | 50.00 | | 0.9181636995 | 45.91 | 5628.68 | 6.06 | | | 1000.00 | - | 81 | 23 March 2019 | 50.00 | | 0.9171843168 | 45.86 | 5584.69 | 6.01 | | | 1000.00 | - | 82 | 24 March 2019 | 50.00 | | 0.9162059788 | 45.81 | 5540.65 | 5.96 | | | 1000.00 | - | 83 | 25 March 2019 | 50.00 | | 0.9152286843 | 45.76 | 5496.57 | 5.92 | | | 1000.00 | - | 84 | 26 March 2019 | 50.00 | | 0.9142524323 | 45.71 | 5452.44 | 5.87 | | | 1000.00 | - | 85 | 27 March 2019 | 50.00 | | 0.9132772217 | 45.66 | 5408.26 | 5.82 | | | 1000.00 | - | 86 | 28 March 2019 | 50.00 | | 0.9123030513 | 45.62 | 5364.03 | 5.78 | | | 1000.00 | - | 87 | 29 March 2019 | 50.00 | | 0.91132992 | 45.57 | 5319.76 | 5.73 | | | 1000.00 | - | 88 | 30 March 2019 | 50.00 | | 0.9103578267 | 45.52 | 5275.44 | 5.68 | | | 1000.00 | - | 89 | 31 March 2019 | 50.00 | | 0.9093867703 | 45.47 | 5231.08 | 5.63 | | | 1000.00 | - | 90 | 01 April 2019 | 50.00 | | 0.9084167498 | 45.42 | 5186.66 | 5.59 | | | 1000.00 | - | 91 | 02 April 2019 | 50.00 | | 0.9074477639 | 45.37 | 5142.20 | 5.54 | | | 1000.00 | - | 92 | 03 April 2019 | 50.00 | | 0.9064798116 | 45.32 | 5097.69 | 5.49 | | | 1000.00 | - | 93 | 04 April 2019 | 50.00 | | 0.9055128918 | 45.28 | 5053.13 | 5.44 | | | 1000.00 | - | 94 | 05 April 2019 | 50.00 | | 0.9045470035 | 45.23 | 5008.53 | 5.40 | | | 1000.00 | - | 95 | 06 April 2019 | 50.00 | | 0.9035821453 | 45.18 | 4963.88 | 5.35 | | | 1000.00 | - | 96 | 07 April 2019 | 50.00 | | 0.9026183164 | 45.13 | 4919.18 | 5.30 | | | 1000.00 | - | 97 | 08 April 2019 | 50.00 | | 0.9016555156 | 45.08 | 4874.43 | 5.25 | | | 1000.00 | - | 98 | 09 April 2019 | 50.00 | | 0.9006937418 | 45.03 | 4829.64 | 5.20 | | | 1000.00 | - | 99 | 10 April 2019 | 50.00 | | 0.8997329939 | 44.99 | 4784.79 | 5.16 | | | 1000.00 | - | 100 | 11 April 2019 | 50.00 | | 0.8987732707 | 44.94 | 4739.90 | 5.11 | | | 1000.00 | - | 101 | 12 April 2019 | 50.00 | | 0.8978145713 | 44.89 | 4694.96 | 5.06 | | | 1000.00 | - | 102 | 13 April 2019 | 50.00 | | 0.8968568945 | 44.84 | 4649.98 | 5.01 | | | 1000.00 | - | 103 | 14 April 2019 | 50.00 | | 0.8959002393 | 44.80 | 4604.94 | 4.97 | | | 1000.00 | - | 104 | 15 April 2019 | 50.00 | | 0.8949446045 | 44.75 | 4559.86 | 4.92 | | | 1000.00 | - | 105 | 16 April 2019 | 50.00 | | 0.893989989 | 44.70 | 4514.73 | 4.87 | | | 1000.00 | - | 106 | 17 April 2019 | 50.00 | | 0.8930363918 | 44.65 | 4469.55 | 4.82 | | | 1000.00 | - | 107 | 18 April 2019 | 50.00 | | 0.8920838118 | 44.60 | 4424.32 | 4.77 | | | 1000.00 | - | 108 | 19 April 2019 | 50.00 | | 0.8911322479 | 44.56 | 4379.05 | 4.72 | | | 1000.00 | - | 109 | 20 April 2019 | 50.00 | | 0.890181699 | 44.51 | 4333.72 | 4.68 | | | 1000.00 | - | 110 | 21 April 2019 | 50.00 | | 0.889232164 | 44.46 | 4288.35 | 4.63 | | | 1000.00 | - | 111 | 22 April 2019 | 50.00 | | 0.8882836418 | 44.41 | 4242.93 | 4.58 | | | 1000.00 | - | 112 | 23 April 2019 | 50.00 | | 0.8873361314 | 44.37 | 4197.46 | 4.53 | | | 1000.00 | - | 113 | 24 April 2019 | 50.00 | | 0.8863896318 | 44.32 | 4151.94 | 4.48 | | | 1000.00 | - | 114 | 25 April 2019 | 50.00 | | 0.8854441417 | 44.27 | 4106.38 | 4.43 | | | 1000.00 | - | 115 | 26 April 2019 | 50.00 | | 0.8844996601 | 44.22 | 4060.76 | 4.38 | | | 1000.00 | - | 116 | 27 April 2019 | 50.00 | | 0.883556186 | 44.18 | 4015.10 | 4.34 | | | 1000.00 | - | 117 | 28 April 2019 | 50.00 | | 0.8826137183 | 44.13 | 3969.38 | 4.29 | | | 1000.00 | - | 118 | 29 April 2019 | 50.00 | | 0.8816722559 | 44.08 | 3923.62 | 4.24 | | | 1000.00 | - | 119 | 30 April 2019 | 50.00 | | 0.8807317977 | 44.04 | 3877.81 | 4.19 | | | 1000.00 | - | 120 | 01 May 2019 | 50.00 | | 0.8797923427 | 43.99 | 3831.95 | 4.14 | | | 1000.00 | - | 121 | 02 May 2019 | 50.00 | | 0.8788538898 | 43.94 | 3786.04 | 4.09 | | | 1000.00 | - | 122 | 03 May 2019 | 50.00 | | 0.8779164379 | 43.90 | 3740.09 | 4.04 | | | 1000.00 | - | 123 | 04 May 2019 | 50.00 | | 0.876979986 | 43.85 | 3694.08 | 3.99 | | | 1000.00 | - | 124 | 05 May 2019 | 50.00 | | 0.8760445329 | 43.80 | 3648.03 | 3.94 | | | 1000.00 | - | 125 | 06 May 2019 | 50.00 | | 0.8751100777 | 43.76 | 3601.92 | 3.90 | | | 1000.00 | - | 126 | 07 May 2019 | 50.00 | | 0.8741766193 | 43.71 | 3555.77 | 3.85 | | | 1000.00 | - | 127 | 08 May 2019 | 50.00 | | 0.8732441565 | 43.66 | 3509.56 | 3.80 | | | 1000.00 | - | 128 | 09 May 2019 | 50.00 | | 0.8723126884 | 43.62 | 3463.31 | 3.75 | | | 1000.00 | - | 129 | 10 May 2019 | 50.00 | | 0.8713822138 | 43.57 | 3417.01 | 3.70 | | | 1000.00 | - | 130 | 11 May 2019 | 50.00 | | 0.8704527318 | 43.52 | 3370.66 | 3.65 | | | 1000.00 | - | 131 | 12 May 2019 | 50.00 | | 0.8695242412 | 43.48 | 3324.26 | 3.60 | | | 1000.00 | - | 132 | 13 May 2019 | 50.00 | | 0.868596741 | 43.43 | 3277.81 | 3.55 | | | 1000.00 | - | 133 | 14 May 2019 | 50.00 | | 0.8676702302 | 43.38 | 3231.31 | 3.50 | | | 1000.00 | - | 134 | 15 May 2019 | 50.00 | | 0.8667447076 | 43.34 | 3184.76 | 3.45 | | | 1000.00 | - | 135 | 16 May 2019 | 50.00 | | 0.8658201723 | 43.29 | 3138.16 | 3.40 | | | 1000.00 | - | 136 | 17 May 2019 | 50.00 | | 0.8648966231 | 43.24 | 3091.51 | 3.35 | | | 1000.00 | - | 137 | 18 May 2019 | 50.00 | | 0.8639740591 | 43.20 | 3044.81 | 3.30 | | | 1000.00 | - | 138 | 19 May 2019 | 50.00 | | 0.8630524792 | 43.15 | 2998.06 | 3.25 | | | 1000.00 | - | 139 | 20 May 2019 | 50.00 | | 0.8621318823 | 43.11 | 2951.26 | 3.20 | | | 1000.00 | - | 140 | 21 May 2019 | 50.00 | | 0.8612122673 | 43.06 | 2904.42 | 3.15 | | | 1000.00 | - | 141 | 22 May 2019 | 50.00 | | 0.8602936333 | 43.01 | 2857.52 | 3.10 | | | 1000.00 | - | 142 | 23 May 2019 | 50.00 | | 0.8593759792 | 42.97 | 2810.57 | 3.05 | | | 1000.00 | - | 143 | 24 May 2019 | 50.00 | | 0.8584593039 | 42.92 | 2763.57 | 3.00 | | | 1000.00 | - | 144 | 25 May 2019 | 50.00 | | 0.8575436064 | 42.88 | 2716.52 | 2.95 | | | 1000.00 | - | 145 | 26 May 2019 | 50.00 | | 0.8566288857 | 42.83 | 2669.42 | 2.90 | | | 1000.00 | - | 146 | 27 May 2019 | 50.00 | | 0.8557151407 | 42.79 | 2622.27 | 2.85 | | | 1000.00 | - | 147 | 28 May 2019 | 50.00 | | 0.8548023703 | 42.74 | 2575.07 | 2.80 | | | 1000.00 | - | 148 | 29 May 2019 | 50.00 | | 0.8538905736 | 42.69 | 2527.82 | 2.75 | | | 1000.00 | - | 149 | 30 May 2019 | 50.00 | | 0.8529797495 | 42.65 | 2480.52 | 2.70 | | | 1000.00 | - | 150 | 31 May 2019 | 50.00 | | 0.8520698969 | 42.60 | 2433.17 | 2.65 | | | 1000.00 | - | 151 | 01 June 2019 | 50.00 | | 0.8511610148 | 42.56 | 2385.77 | 2.60 | | | 1000.00 | - | 152 | 02 June 2019 | 50.00 | | 0.8502531022 | 42.51 | 2338.31 | 2.55 | | | 1000.00 | - | 153 | 03 June 2019 | 50.00 | | 0.8493461581 | 42.47 | 2290.81 | 2.50 | | | 1000.00 | - | 154 | 04 June 2019 | 50.00 | | 0.8484401814 | 42.42 | 2243.26 | 2.45 | | | 1000.00 | - | 155 | 05 June 2019 | 50.00 | | 0.8475351711 | 42.38 | 2195.65 | 2.40 | | | 1000.00 | - | 156 | 06 June 2019 | 50.00 | | 0.8466311261 | 42.33 | 2148.00 | 2.34 | | | 1000.00 | - | 157 | 07 June 2019 | 50.00 | | 0.8457280454 | 42.29 | 2100.29 | 2.29 | | | 1000.00 | - | 158 | 08 June 2019 | 50.00 | | 0.844825928 | 42.24 | 2052.53 | 2.24 | | | 1000.00 | - | 159 | 09 June 2019 | 50.00 | | 0.8439247729 | 42.20 | 2004.73 | 2.19 | | | 1000.00 | - | 160 | 10 June 2019 | 50.00 | | 0.8430245791 | 42.15 | 1956.87 | 2.14 | | | 1000.00 | - | 161 | 11 June 2019 | 50.00 | | 0.8421253454 | 42.11 | 1908.96 | 2.09 | | | 1000.00 | - | 162 | 12 June 2019 | 50.00 | | 0.841227071 | 42.06 | 1860.99 | 2.04 | | | 1000.00 | - | 163 | 13 June 2019 | 50.00 | | 0.8403297547 | 42.02 | 1812.98 | 1.99 | | | 1000.00 | - | 164 | 14 June 2019 | 50.00 | | 0.8394333956 | 41.97 | 1764.92 | 1.94 | | | 1000.00 | - | 165 | 15 June 2019 | 50.00 | | 0.8385379925 | 41.93 | 1716.80 | 1.88 | | | 1000.00 | - | 166 | 16 June 2019 | 50.00 | | 0.8376435446 | 41.88 | 1668.64 | 1.83 | | | 1000.00 | - | 167 | 17 June 2019 | 50.00 | | 0.8367500508 | 41.84 | 1620.42 | 1.78 | | | 1000.00 | - | 168 | 18 June 2019 | 50.00 | | 0.83585751 | 41.79 | 1572.15 | 1.73 | | | 1000.00 | - | 169 | 19 June 2019 | 50.00 | | 0.8349659213 | 41.75 | 1523.83 | 1.68 | | | 1000.00 | - | 170 | 20 June 2019 | 50.00 | | 0.8340752837 | 41.70 | 1475.45 | 1.63 | | | 1000.00 | - | 171 | 21 June 2019 | 50.00 | | 0.833185596 | 41.66 | 1427.03 | 1.58 | | | 1000.00 | - | 172 | 22 June 2019 | 50.00 | | 0.8322968574 | 41.61 | 1378.55 | 1.52 | | | 1000.00 | - | 173 | 23 June 2019 | 50.00 | | 0.8314090667 | 41.57 | 1330.02 | 1.47 | | | 1000.00 | - | 174 | 24 June 2019 | 50.00 | | 0.8305222231 | 41.53 | 1281.45 | 1.42 | | | 1000.00 | - | 175 | 25 June 2019 | 50.00 | | 0.8296363254 | 41.48 | 1232.81 | 1.37 | | | 1000.00 | - | 176 | 26 June 2019 | 50.00 | | 0.8287513727 | 41.44 | 1184.13 | 1.32 | | | 1000.00 | - | 177 | 27 June 2019 | 50.00 | | 0.8278673639 | 41.39 | 1135.39 | 1.26 | | | 1000.00 | - | 178 | 28 June 2019 | 50.00 | | 0.8269842981 | 41.35 | 1086.61 | 1.21 | | | 1000.00 | - | 179 | 29 June 2019 | 50.00 | | 0.8261021742 | 41.31 | 1037.77 | 1.16 | | | 1000.00 | - | 180 | 30 June 2019 | 50.00 | | 0.8252209913 | 41.26 | 988.88 | 1.11 | | | 1000.00 | - | 181 | 01 July 2019 | 50.00 | | 0.8243407483 | 41.22 | 939.93 | 1.06 | | | 1000.00 | - | 182 | 02 July 2019 | 50.00 | | 0.8234614442 | 41.17 | 890.93 | 1.00 | | | 1000.00 | - | 183 | 03 July 2019 | 50.00 | | 0.8225830781 | 41.13 | 841.89 | 0.95 | | | 1000.00 | - | 184 | 04 July 2019 | 50.00 | | 0.8217056489 | 41.09 | 792.79 | 0.90 | | | 1000.00 | - | 185 | 05 July 2019 | 50.00 | | 0.8208291556 | 41.04 | 743.63 | 0.85 | | | 1000.00 | - | 186 | 06 July 2019 | 50.00 | | 0.8199535973 | 41.00 | 694.43 | 0.79 | | | 1000.00 | - | 187 | 07 July 2019 | 50.00 | | 0.8190789729 | 40.95 | 645.17 | 0.74 | | | 1000.00 | - | 188 | 08 July 2019 | 50.00 | | 0.8182052815 | 40.91 | 595.86 | 0.69 | | | 1000.00 | - | 189 | 09 July 2019 | 50.00 | | 0.8173325219 | 40.87 | 546.49 | 0.64 | | | 1000.00 | - | 190 | 10 July 2019 | 50.00 | | 0.8164606934 | 40.82 | 497.08 | 0.58 | | | 1000.00 | - | 191 | 11 July 2019 | 50.00 | | 0.8155897948 | 40.78 | 447.61 | 0.53 | | | 1000.00 | - | 192 | 12 July 2019 | 50.00 | | 0.8147198252 | 40.74 | 398.08 | 0.48 | | | 1000.00 | - | 193 | 13 July 2019 | 50.00 | | 0.8138507835 | 40.69 | 348.51 | 0.43 | | | 1000.00 | - | 194 | 14 July 2019 | 50.00 | | 0.8129826688 | 40.65 | 298.88 | 0.37 | | | 1000.00 | - | 195 | 15 July 2019 | 50.00 | | 0.8121154802 | 40.61 | 249.20 | 0.32 | | | 1000.00 | - | 196 | 16 July 2019 | 50.00 | | 0.8112492165 | 40.56 | 199.47 | 0.27 | | | 1000.00 | - | 197 | 17 July 2019 | 50.00 | | 0.8103838768 | 40.52 | 149.68 | 0.21 | | | 1000.00 | - | 198 | 18 July 2019 | 50.00 | | 0.8095194602 | 40.48 | 99.84 | 0.16 | | | 1000.00 | - | 199 | 19 July 2019 | 50.00 | | 0.8086559657 | 40.43 | 49.95 | 0.11 | | | 1000.00 | - | 200 | 20 July 2019 | 50.00 | | 0.8077933922 | 40.39 | 0.00 | 0.05 | | | 1000.00 | + | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | + | 0 | 01 January 2019 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 1000.00 | + | 1 | 02 January 2019 | 50.00 | | 0.9989333245 | 49.95 | 8959.61 | 9.61 | | | 990.39 | + | 2 | 03 January 2019 | 50.00 | | 0.9978677868 | 49.89 | 8919.18 | 9.57 | | | 980.82 | + | 3 | 04 January 2019 | 50.00 | | 0.9968033857 | 49.84 | 8878.70 | 9.52 | | | 971.30 | + | 4 | 05 January 2019 | 50.00 | | 0.99574012 | 49.79 | 8838.18 | 9.48 | | | 961.82 | + | 5 | 06 January 2019 | 50.00 | | 0.9946779885 | 49.73 | 8797.62 | 9.44 | | | 952.38 | + | 6 | 07 January 2019 | 50.00 | | 0.9936169898 | 49.68 | 8757.01 | 9.39 | | | 942.99 | + | 7 | 08 January 2019 | 50.00 | | 0.992557123 | 49.63 | 8716.36 | 9.35 | | | 933.64 | + | 8 | 09 January 2019 | 50.00 | | 0.9914983866 | 49.57 | 8675.67 | 9.31 | | | 924.33 | + | 9 | 10 January 2019 | 50.00 | | 0.9904407796 | 49.52 | 8634.94 | 9.26 | | | 915.07 | + | 10 | 11 January 2019 | 50.00 | | 0.9893843007 | 49.47 | 8594.16 | 9.22 | | | 905.85 | + | 11 | 12 January 2019 | 50.00 | | 0.9883289487 | 49.42 | 8553.33 | 9.18 | | | 896.67 | + | 12 | 13 January 2019 | 50.00 | | 0.9872747225 | 49.36 | 8512.47 | 9.13 | | | 887.54 | + | 13 | 14 January 2019 | 50.00 | | 0.9862216208 | 49.31 | 8471.56 | 9.09 | | | 878.45 | + | 14 | 15 January 2019 | 50.00 | | 0.9851696423 | 49.26 | 8430.60 | 9.05 | | | 869.40 | + | 15 | 16 January 2019 | 50.00 | | 0.984118786 | 49.21 | 8389.61 | 9.00 | | | 860.40 | + | 16 | 17 January 2019 | 50.00 | | 0.9830690507 | 49.15 | 8348.56 | 8.96 | | | 851.44 | + | 17 | 18 January 2019 | 50.00 | | 0.982020435 | 49.10 | 8307.48 | 8.91 | | | 842.53 | + | 18 | 19 January 2019 | 50.00 | | 0.9809729379 | 49.05 | 8266.35 | 8.87 | | | 833.66 | + | 19 | 20 January 2019 | 50.00 | | 0.9799265581 | 49.00 | 8225.18 | 8.83 | | | 824.83 | + | 20 | 21 January 2019 | 50.00 | | 0.9788812945 | 48.94 | 8183.96 | 8.78 | | | 816.05 | + | 21 | 22 January 2019 | 50.00 | | 0.9778371458 | 48.89 | 8142.70 | 8.74 | | | 807.31 | + | 22 | 23 January 2019 | 50.00 | | 0.9767941109 | 48.84 | 8101.39 | 8.69 | | | 798.62 | + | 23 | 24 January 2019 | 50.00 | | 0.9757521886 | 48.79 | 8060.04 | 8.65 | | | 789.97 | + | 24 | 25 January 2019 | 50.00 | | 0.9747113777 | 48.74 | 8018.65 | 8.61 | | | 781.36 | + | 25 | 26 January 2019 | 50.00 | | 0.9736716769498249835 | 48.68 | 7977.21 | 8.56 | | | 772.80 | + | 26 | 27 January 2019 | 50.00 | | 0.9726330853 | 48.63 | 7935.73 | 8.52 | | | 764.28 | + | 27 | 28 January 2019 | 50.00 | | 0.9715956014 | 48.58 | 7894.21 | 8.47 | | | 755.81 | + | 28 | 29 January 2019 | 50.00 | | 0.9705592242 | 48.53 | 7852.63 | 8.43 | | | 747.38 | + | 29 | 30 January 2019 | 50.00 | | 0.9695239525 | 48.48 | 7811.02 | 8.39 | | | 738.99 | + | 30 | 31 January 2019 | 50.00 | | 0.968489785 | 48.42 | 7769.36 | 8.34 | | | 730.65 | + | 31 | 01 February 2019 | 50.00 | | 0.9674567207 | 48.37 | 7727.66 | 8.30 | | | 722.35 | + | 32 | 02 February 2019 | 50.00 | | 0.9664247584 | 48.32 | 7685.91 | 8.25 | | | 714.10 | + | 33 | 03 February 2019 | 50.00 | | 0.9653938968 | 48.27 | 7644.12 | 8.21 | | | 705.89 | + | 34 | 04 February 2019 | 50.00 | | 0.9643641348 | 48.22 | 7602.28 | 8.16 | | | 697.73 | + | 35 | 05 February 2019 | 50.00 | | 0.9633354712 | 48.17 | 7560.40 | 8.12 | | | 689.61 | + | 36 | 06 February 2019 | 50.00 | | 0.9623079049 | 48.12 | 7518.47 | 8.07 | | | 681.54 | + | 37 | 07 February 2019 | 50.00 | | 0.9612814347 | 48.06 | 7476.50 | 8.03 | | | 673.51 | + | 38 | 08 February 2019 | 50.00 | | 0.9602560593 | 48.01 | 7434.48 | 7.98 | | | 665.53 | + | 39 | 09 February 2019 | 50.00 | | 0.9592317777 | 47.96 | 7392.42 | 7.94 | | | 657.59 | + | 40 | 10 February 2019 | 50.00 | | 0.9582085887 | 47.91 | 7350.31 | 7.89 | | | 649.70 | + | 41 | 11 February 2019 | 50.00 | | 0.9571864911 | 47.86 | 7308.16 | 7.85 | | | 641.85 | + | 42 | 12 February 2019 | 50.00 | | 0.9561654838 | 47.81 | 7265.97 | 7.80 | | | 634.05 | + | 43 | 13 February 2019 | 50.00 | | 0.9551455655 | 47.76 | 7223.72 | 7.76 | | | 626.29 | + | 44 | 14 February 2019 | 50.00 | | 0.9541267351 | 47.71 | 7181.44 | 7.71 | | | 618.58 | + | 45 | 15 February 2019 | 50.00 | | 0.9531089916 | 47.66 | 7139.11 | 7.67 | | | 610.91 | + | 46 | 16 February 2019 | 50.00 | | 0.9520923336 | 47.60 | 7096.73 | 7.62 | | | 603.29 | + | 47 | 17 February 2019 | 50.00 | | 0.95107676 | 47.55 | 7054.31 | 7.58 | | | 595.71 | + | 48 | 18 February 2019 | 50.00 | | 0.9500622698 | 47.50 | 7011.84 | 7.53 | | | 588.18 | + | 49 | 19 February 2019 | 50.00 | | 0.9490488616 | 47.45 | 6969.33 | 7.49 | | | 580.69 | + | 50 | 20 February 2019 | 50.00 | | 0.9480365345 | 47.40 | 6926.77 | 7.44 | | | 573.25 | + | 51 | 21 February 2019 | 50.00 | | 0.9470252872 | 47.35 | 6884.17 | 7.40 | | | 565.85 | + | 52 | 22 February 2019 | 50.00 | | 0.9460151185 | 47.30 | 6841.52 | 7.35 | | | 558.50 | + | 53 | 23 February 2019 | 50.00 | | 0.9450060274 | 47.25 | 6798.82 | 7.31 | | | 551.19 | + | 54 | 24 February 2019 | 50.00 | | 0.9439980126 | 47.20 | 6756.08 | 7.26 | | | 543.93 | + | 55 | 25 February 2019 | 50.00 | | 0.9429910731 | 47.15 | 6713.30 | 7.21 | | | 536.72 | + | 56 | 26 February 2019 | 50.00 | | 0.9419852077 | 47.10 | 6670.47 | 7.17 | | | 529.55 | + | 57 | 27 February 2019 | 50.00 | | 0.9409804151 | 47.05 | 6627.59 | 7.12 | | | 522.43 | + | 58 | 28 February 2019 | 50.00 | | 0.9399766944 | 47.00 | 6584.67 | 7.08 | | | 515.35 | + | 59 | 01 March 2019 | 50.00 | | 0.9389740443 | 46.95 | 6541.70 | 7.03 | | | 508.32 | + | 60 | 02 March 2019 | 50.00 | | 0.9379724637 | 46.90 | 6498.68 | 6.99 | | | 501.33 | + | 61 | 03 March 2019 | 50.00 | | 0.9369719515 | 46.85 | 6455.62 | 6.94 | | | 494.39 | + | 62 | 04 March 2019 | 50.00 | | 0.9359725065 | 46.80 | 6412.51 | 6.89 | | | 487.50 | + | 63 | 05 March 2019 | 50.00 | | 0.9349741276 | 46.75 | 6369.36 | 6.85 | | | 480.65 | + | 64 | 06 March 2019 | 50.00 | | 0.9339768136 | 46.70 | 6326.16 | 6.80 | | | 473.85 | + | 65 | 07 March 2019 | 50.00 | | 0.9329805635 | 46.65 | 6282.92 | 6.76 | | | 467.09 | + | 66 | 08 March 2019 | 50.00 | | 0.931985376 | 46.60 | 6239.63 | 6.71 | | | 460.38 | + | 67 | 09 March 2019 | 50.00 | | 0.93099125 | 46.55 | 6196.29 | 6.66 | | | 453.72 | + | 68 | 10 March 2019 | 50.00 | | 0.9299981845 | 46.50 | 6152.91 | 6.62 | | | 447.10 | + | 69 | 11 March 2019 | 50.00 | | 0.9290061782 | 46.45 | 6109.48 | 6.57 | | | 440.53 | + | 70 | 12 March 2019 | 50.00 | | 0.9280152301 | 46.40 | 6066.00 | 6.52 | | | 434.01 | + | 71 | 13 March 2019 | 50.00 | | 0.927025339 | 46.35 | 6022.48 | 6.48 | | | 427.53 | + | 72 | 14 March 2019 | 50.00 | | 0.9260365038 | 46.30 | 5978.91 | 6.43 | | | 421.10 | + | 73 | 15 March 2019 | 50.00 | | 0.9250487234 | 46.25 | 5935.29 | 6.38 | | | 414.72 | + | 74 | 16 March 2019 | 50.00 | | 0.9240619966 | 46.20 | 5891.63 | 6.34 | | | 408.38 | + | 75 | 17 March 2019 | 50.00 | | 0.9230763224 | 46.15 | 5847.92 | 6.29 | | | 402.09 | + | 76 | 18 March 2019 | 50.00 | | 0.9220916995 | 46.10 | 5804.17 | 6.24 | | | 395.85 | + | 77 | 19 March 2019 | 50.00 | | 0.9211081269 | 46.06 | 5760.36 | 6.20 | | | 389.65 | + | 78 | 20 March 2019 | 50.00 | | 0.9201256034 | 46.01 | 5716.52 | 6.15 | | | 383.50 | + | 79 | 21 March 2019 | 50.00 | | 0.919144128 | 45.96 | 5672.62 | 6.10 | | | 377.40 | + | 80 | 22 March 2019 | 50.00 | | 0.9181636995 | 45.91 | 5628.68 | 6.06 | | | 371.34 | + | 81 | 23 March 2019 | 50.00 | | 0.9171843168 | 45.86 | 5584.69 | 6.01 | | | 365.33 | + | 82 | 24 March 2019 | 50.00 | | 0.9162059788 | 45.81 | 5540.65 | 5.96 | | | 359.37 | + | 83 | 25 March 2019 | 50.00 | | 0.9152286843 | 45.76 | 5496.57 | 5.92 | | | 353.45 | + | 84 | 26 March 2019 | 50.00 | | 0.9142524323 | 45.71 | 5452.44 | 5.87 | | | 347.58 | + | 85 | 27 March 2019 | 50.00 | | 0.9132772217 | 45.66 | 5408.26 | 5.82 | | | 341.76 | + | 86 | 28 March 2019 | 50.00 | | 0.9123030513 | 45.62 | 5364.03 | 5.78 | | | 335.98 | + | 87 | 29 March 2019 | 50.00 | | 0.91132992 | 45.57 | 5319.76 | 5.73 | | | 330.25 | + | 88 | 30 March 2019 | 50.00 | | 0.9103578267 | 45.52 | 5275.44 | 5.68 | | | 324.57 | + | 89 | 31 March 2019 | 50.00 | | 0.9093867703 | 45.47 | 5231.08 | 5.63 | | | 318.94 | + | 90 | 01 April 2019 | 50.00 | | 0.9084167498 | 45.42 | 5186.66 | 5.59 | | | 313.35 | + | 91 | 02 April 2019 | 50.00 | | 0.9074477639 | 45.37 | 5142.20 | 5.54 | | | 307.81 | + | 92 | 03 April 2019 | 50.00 | | 0.9064798116 | 45.32 | 5097.69 | 5.49 | | | 302.32 | + | 93 | 04 April 2019 | 50.00 | | 0.9055128918 | 45.28 | 5053.13 | 5.44 | | | 296.88 | + | 94 | 05 April 2019 | 50.00 | | 0.9045470035 | 45.23 | 5008.53 | 5.40 | | | 291.48 | + | 95 | 06 April 2019 | 50.00 | | 0.9035821453 | 45.18 | 4963.88 | 5.35 | | | 286.13 | + | 96 | 07 April 2019 | 50.00 | | 0.9026183164 | 45.13 | 4919.18 | 5.30 | | | 280.83 | + | 97 | 08 April 2019 | 50.00 | | 0.9016555156 | 45.08 | 4874.43 | 5.25 | | | 275.58 | + | 98 | 09 April 2019 | 50.00 | | 0.9006937418 | 45.03 | 4829.64 | 5.20 | | | 270.38 | + | 99 | 10 April 2019 | 50.00 | | 0.8997329939 | 44.99 | 4784.79 | 5.16 | | | 265.22 | + | 100 | 11 April 2019 | 50.00 | | 0.8987732707 | 44.94 | 4739.90 | 5.11 | | | 260.11 | + | 101 | 12 April 2019 | 50.00 | | 0.8978145713 | 44.89 | 4694.96 | 5.06 | | | 255.05 | + | 102 | 13 April 2019 | 50.00 | | 0.8968568945 | 44.84 | 4649.98 | 5.01 | | | 250.04 | + | 103 | 14 April 2019 | 50.00 | | 0.8959002393 | 44.80 | 4604.94 | 4.97 | | | 245.07 | + | 104 | 15 April 2019 | 50.00 | | 0.8949446045 | 44.75 | 4559.86 | 4.92 | | | 240.15 | + | 105 | 16 April 2019 | 50.00 | | 0.893989989 | 44.70 | 4514.73 | 4.87 | | | 235.28 | + | 106 | 17 April 2019 | 50.00 | | 0.8930363918 | 44.65 | 4469.55 | 4.82 | | | 230.46 | + | 107 | 18 April 2019 | 50.00 | | 0.8920838118 | 44.60 | 4424.32 | 4.77 | | | 225.69 | + | 108 | 19 April 2019 | 50.00 | | 0.8911322479 | 44.56 | 4379.05 | 4.72 | | | 220.97 | + | 109 | 20 April 2019 | 50.00 | | 0.890181699 | 44.51 | 4333.72 | 4.68 | | | 216.29 | + | 110 | 21 April 2019 | 50.00 | | 0.889232164 | 44.46 | 4288.35 | 4.63 | | | 211.66 | + | 111 | 22 April 2019 | 50.00 | | 0.8882836418 | 44.41 | 4242.93 | 4.58 | | | 207.08 | + | 112 | 23 April 2019 | 50.00 | | 0.8873361314 | 44.37 | 4197.46 | 4.53 | | | 202.55 | + | 113 | 24 April 2019 | 50.00 | | 0.8863896318 | 44.32 | 4151.94 | 4.48 | | | 198.07 | + | 114 | 25 April 2019 | 50.00 | | 0.8854441417 | 44.27 | 4106.38 | 4.43 | | | 193.64 | + | 115 | 26 April 2019 | 50.00 | | 0.8844996601 | 44.22 | 4060.76 | 4.38 | | | 189.26 | + | 116 | 27 April 2019 | 50.00 | | 0.883556186 | 44.18 | 4015.10 | 4.34 | | | 184.92 | + | 117 | 28 April 2019 | 50.00 | | 0.8826137183 | 44.13 | 3969.38 | 4.29 | | | 180.63 | + | 118 | 29 April 2019 | 50.00 | | 0.8816722559 | 44.08 | 3923.62 | 4.24 | | | 176.39 | + | 119 | 30 April 2019 | 50.00 | | 0.8807317977 | 44.04 | 3877.81 | 4.19 | | | 172.20 | + | 120 | 01 May 2019 | 50.00 | | 0.8797923427 | 43.99 | 3831.95 | 4.14 | | | 168.06 | + | 121 | 02 May 2019 | 50.00 | | 0.8788538898 | 43.94 | 3786.04 | 4.09 | | | 163.97 | + | 122 | 03 May 2019 | 50.00 | | 0.8779164379 | 43.90 | 3740.09 | 4.04 | | | 159.93 | + | 123 | 04 May 2019 | 50.00 | | 0.876979986 | 43.85 | 3694.08 | 3.99 | | | 155.94 | + | 124 | 05 May 2019 | 50.00 | | 0.8760445329 | 43.80 | 3648.03 | 3.94 | | | 152.00 | + | 125 | 06 May 2019 | 50.00 | | 0.8751100777 | 43.76 | 3601.92 | 3.90 | | | 148.10 | + | 126 | 07 May 2019 | 50.00 | | 0.8741766193 | 43.71 | 3555.77 | 3.85 | | | 144.25 | + | 127 | 08 May 2019 | 50.00 | | 0.8732441565 | 43.66 | 3509.56 | 3.80 | | | 140.45 | + | 128 | 09 May 2019 | 50.00 | | 0.8723126884 | 43.62 | 3463.31 | 3.75 | | | 136.70 | + | 129 | 10 May 2019 | 50.00 | | 0.8713822138 | 43.57 | 3417.01 | 3.70 | | | 133.00 | + | 130 | 11 May 2019 | 50.00 | | 0.8704527318 | 43.52 | 3370.66 | 3.65 | | | 129.35 | + | 131 | 12 May 2019 | 50.00 | | 0.8695242412 | 43.48 | 3324.26 | 3.60 | | | 125.75 | + | 132 | 13 May 2019 | 50.00 | | 0.868596741 | 43.43 | 3277.81 | 3.55 | | | 122.20 | + | 133 | 14 May 2019 | 50.00 | | 0.8676702302 | 43.38 | 3231.31 | 3.50 | | | 118.70 | + | 134 | 15 May 2019 | 50.00 | | 0.8667447076 | 43.34 | 3184.76 | 3.45 | | | 115.25 | + | 135 | 16 May 2019 | 50.00 | | 0.8658201723 | 43.29 | 3138.16 | 3.40 | | | 111.85 | + | 136 | 17 May 2019 | 50.00 | | 0.8648966231 | 43.24 | 3091.51 | 3.35 | | | 108.50 | + | 137 | 18 May 2019 | 50.00 | | 0.8639740591 | 43.20 | 3044.81 | 3.30 | | | 105.20 | + | 138 | 19 May 2019 | 50.00 | | 0.8630524792 | 43.15 | 2998.06 | 3.25 | | | 101.95 | + | 139 | 20 May 2019 | 50.00 | | 0.8621318823 | 43.11 | 2951.26 | 3.20 | | | 98.75 | + | 140 | 21 May 2019 | 50.00 | | 0.8612122673 | 43.06 | 2904.42 | 3.15 | | | 95.60 | + | 141 | 22 May 2019 | 50.00 | | 0.8602936333 | 43.01 | 2857.52 | 3.10 | | | 92.50 | + | 142 | 23 May 2019 | 50.00 | | 0.8593759792 | 42.97 | 2810.57 | 3.05 | | | 89.45 | + | 143 | 24 May 2019 | 50.00 | | 0.8584593039 | 42.92 | 2763.57 | 3.00 | | | 86.45 | + | 144 | 25 May 2019 | 50.00 | | 0.8575436064 | 42.88 | 2716.52 | 2.95 | | | 83.50 | + | 145 | 26 May 2019 | 50.00 | | 0.8566288857 | 42.83 | 2669.42 | 2.90 | | | 80.60 | + | 146 | 27 May 2019 | 50.00 | | 0.8557151407 | 42.79 | 2622.27 | 2.85 | | | 77.75 | + | 147 | 28 May 2019 | 50.00 | | 0.8548023703 | 42.74 | 2575.07 | 2.80 | | | 74.95 | + | 148 | 29 May 2019 | 50.00 | | 0.8538905736 | 42.69 | 2527.82 | 2.75 | | | 72.20 | + | 149 | 30 May 2019 | 50.00 | | 0.8529797495 | 42.65 | 2480.52 | 2.70 | | | 69.50 | + | 150 | 31 May 2019 | 50.00 | | 0.8520698969 | 42.60 | 2433.17 | 2.65 | | | 66.85 | + | 151 | 01 June 2019 | 50.00 | | 0.8511610148 | 42.56 | 2385.77 | 2.60 | | | 64.25 | + | 152 | 02 June 2019 | 50.00 | | 0.8502531022 | 42.51 | 2338.31 | 2.55 | | | 61.70 | + | 153 | 03 June 2019 | 50.00 | | 0.8493461581 | 42.47 | 2290.81 | 2.50 | | | 59.20 | + | 154 | 04 June 2019 | 50.00 | | 0.8484401814 | 42.42 | 2243.26 | 2.45 | | | 56.75 | + | 155 | 05 June 2019 | 50.00 | | 0.8475351711 | 42.38 | 2195.65 | 2.40 | | | 54.35 | + | 156 | 06 June 2019 | 50.00 | | 0.8466311261 | 42.33 | 2148.00 | 2.34 | | | 52.01 | + | 157 | 07 June 2019 | 50.00 | | 0.8457280454 | 42.29 | 2100.29 | 2.29 | | | 49.72 | + | 158 | 08 June 2019 | 50.00 | | 0.844825928 | 42.24 | 2052.53 | 2.24 | | | 47.48 | + | 159 | 09 June 2019 | 50.00 | | 0.8439247729 | 42.20 | 2004.73 | 2.19 | | | 45.29 | + | 160 | 10 June 2019 | 50.00 | | 0.8430245791 | 42.15 | 1956.87 | 2.14 | | | 43.15 | + | 161 | 11 June 2019 | 50.00 | | 0.8421253454 | 42.11 | 1908.96 | 2.09 | | | 41.06 | + | 162 | 12 June 2019 | 50.00 | | 0.841227071 | 42.06 | 1860.99 | 2.04 | | | 39.02 | + | 163 | 13 June 2019 | 50.00 | | 0.8403297547 | 42.02 | 1812.98 | 1.99 | | | 37.03 | + | 164 | 14 June 2019 | 50.00 | | 0.8394333956 | 41.97 | 1764.92 | 1.94 | | | 35.09 | + | 165 | 15 June 2019 | 50.00 | | 0.8385379925 | 41.93 | 1716.80 | 1.88 | | | 33.21 | + | 166 | 16 June 2019 | 50.00 | | 0.8376435446 | 41.88 | 1668.64 | 1.83 | | | 31.38 | + | 167 | 17 June 2019 | 50.00 | | 0.8367500508 | 41.84 | 1620.42 | 1.78 | | | 29.60 | + | 168 | 18 June 2019 | 50.00 | | 0.83585751 | 41.79 | 1572.15 | 1.73 | | | 27.87 | + | 169 | 19 June 2019 | 50.00 | | 0.8349659213 | 41.75 | 1523.83 | 1.68 | | | 26.19 | + | 170 | 20 June 2019 | 50.00 | | 0.8340752837 | 41.70 | 1475.45 | 1.63 | | | 24.56 | + | 171 | 21 June 2019 | 50.00 | | 0.833185596 | 41.66 | 1427.03 | 1.58 | | | 22.98 | + | 172 | 22 June 2019 | 50.00 | | 0.8322968574 | 41.61 | 1378.55 | 1.52 | | | 21.46 | + | 173 | 23 June 2019 | 50.00 | | 0.8314090667 | 41.57 | 1330.02 | 1.47 | | | 19.99 | + | 174 | 24 June 2019 | 50.00 | | 0.8305222231 | 41.53 | 1281.45 | 1.42 | | | 18.57 | + | 175 | 25 June 2019 | 50.00 | | 0.8296363254 | 41.48 | 1232.81 | 1.37 | | | 17.20 | + | 176 | 26 June 2019 | 50.00 | | 0.8287513727 | 41.44 | 1184.13 | 1.32 | | | 15.88 | + | 177 | 27 June 2019 | 50.00 | | 0.8278673639 | 41.39 | 1135.39 | 1.26 | | | 14.62 | + | 178 | 28 June 2019 | 50.00 | | 0.8269842981 | 41.35 | 1086.61 | 1.21 | | | 13.41 | + | 179 | 29 June 2019 | 50.00 | | 0.8261021742 | 41.31 | 1037.77 | 1.16 | | | 12.25 | + | 180 | 30 June 2019 | 50.00 | | 0.8252209913 | 41.26 | 988.88 | 1.11 | | | 11.14 | + | 181 | 01 July 2019 | 50.00 | | 0.8243407483 | 41.22 | 939.93 | 1.06 | | | 10.08 | + | 182 | 02 July 2019 | 50.00 | | 0.8234614442 | 41.17 | 890.93 | 1.00 | | | 9.08 | + | 183 | 03 July 2019 | 50.00 | | 0.8225830781 | 41.13 | 841.89 | 0.95 | | | 8.13 | + | 184 | 04 July 2019 | 50.00 | | 0.8217056489 | 41.09 | 792.79 | 0.90 | | | 7.23 | + | 185 | 05 July 2019 | 50.00 | | 0.8208291556 | 41.04 | 743.63 | 0.85 | | | 6.38 | + | 186 | 06 July 2019 | 50.00 | | 0.8199535973 | 41.00 | 694.43 | 0.79 | | | 5.59 | + | 187 | 07 July 2019 | 50.00 | | 0.8190789729 | 40.95 | 645.17 | 0.74 | | | 4.85 | + | 188 | 08 July 2019 | 50.00 | | 0.8182052815 | 40.91 | 595.86 | 0.69 | | | 4.16 | + | 189 | 09 July 2019 | 50.00 | | 0.8173325219 | 40.87 | 546.49 | 0.64 | | | 3.52 | + | 190 | 10 July 2019 | 50.00 | | 0.8164606934 | 40.82 | 497.08 | 0.58 | | | 2.94 | + | 191 | 11 July 2019 | 50.00 | | 0.8155897948 | 40.78 | 447.61 | 0.53 | | | 2.41 | + | 192 | 12 July 2019 | 50.00 | | 0.8147198252 | 40.74 | 398.08 | 0.48 | | | 1.93 | + | 193 | 13 July 2019 | 50.00 | | 0.8138507835 | 40.69 | 348.51 | 0.43 | | | 1.50 | + | 194 | 14 July 2019 | 50.00 | | 0.8129826688 | 40.65 | 298.88 | 0.37 | | | 1.13 | + | 195 | 15 July 2019 | 50.00 | | 0.8121154802 | 40.61 | 249.20 | 0.32 | | | 0.81 | + | 196 | 16 July 2019 | 50.00 | | 0.8112492165 | 40.56 | 199.47 | 0.27 | | | 0.54 | + | 197 | 17 July 2019 | 50.00 | | 0.8103838768 | 40.52 | 149.68 | 0.21 | | | 0.33 | + | 198 | 18 July 2019 | 50.00 | | 0.8095194602 | 40.48 | 99.84 | 0.16 | | | 0.17 | + | 199 | 19 July 2019 | 50.00 | | 0.8086559657 | 40.43 | 49.95 | 0.11 | | | 0.06 | + | 200 | 20 July 2019 | 50.00 | | 0.8077933922 | 40.39 | 0.00 | 0.05 | | | 0.01 | When Admin sets the business date to "02 January 2019" And Customer makes repayment on "02 January 2019" with 50 transaction amount on Working Capital loan When Admin sets the business date to "03 January 2019" @@ -946,205 +3130,205 @@ Feature: Working Capital Loan Repayment When Admin sets the business date to "04 January 2019" And Customer makes repayment on "04 January 2019" with 50 transaction amount on Working Capital loan Then Working Capital loan amortization schedule has 201 periods, with the following data for periods: - | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | balance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | deferredBalance | - | 0 | 01 January 2019 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 1000.00 | - | 1 | 02 January 2019 | 50.00 | 50.00 | 1 | 50.00 | 8959.61 | 9.61 | 9.61 | 0.00 | 990.39 | - | 2 | 03 January 2019 | 50.00 | 50.00 | 1 | 50.00 | 8919.18 | 9.57 | 9.57 | 0.00 | 980.82 | - | 3 | 04 January 2019 | 50.00 | 50.00 | 1 | 50.00 | 8878.70 | 9.52 | 9.52 | 0.00 | 971.30 | - | 4 | 05 January 2019 | 50.00 | | 0.9989333245 | 49.95 | 8838.18 | 9.48 | | | 971.30 | - | 5 | 06 January 2019 | 50.00 | | 0.9978677868 | 49.89 | 8797.62 | 9.44 | | | 971.30 | - | 6 | 07 January 2019 | 50.00 | | 0.9968033857 | 49.84 | 8757.01 | 9.39 | | | 971.30 | - | 7 | 08 January 2019 | 50.00 | | 0.99574012 | 49.79 | 8716.36 | 9.35 | | | 971.30 | - | 8 | 09 January 2019 | 50.00 | | 0.9946779885 | 49.73 | 8675.67 | 9.31 | | | 971.30 | - | 9 | 10 January 2019 | 50.00 | | 0.9936169898 | 49.68 | 8634.94 | 9.26 | | | 971.30 | - | 10 | 11 January 2019 | 50.00 | | 0.992557123 | 49.63 | 8594.16 | 9.22 | | | 971.30 | - | 11 | 12 January 2019 | 50.00 | | 0.9914983866 | 49.57 | 8553.33 | 9.18 | | | 971.30 | - | 12 | 13 January 2019 | 50.00 | | 0.9904407796 | 49.52 | 8512.47 | 9.13 | | | 971.30 | - | 13 | 14 January 2019 | 50.00 | | 0.9893843007 | 49.47 | 8471.56 | 9.09 | | | 971.30 | - | 14 | 15 January 2019 | 50.00 | | 0.9883289487 | 49.42 | 8430.60 | 9.05 | | | 971.30 | - | 15 | 16 January 2019 | 50.00 | | 0.9872747225 | 49.36 | 8389.61 | 9.00 | | | 971.30 | - | 16 | 17 January 2019 | 50.00 | | 0.9862216208 | 49.31 | 8348.56 | 8.96 | | | 971.30 | - | 17 | 18 January 2019 | 50.00 | | 0.9851696423 | 49.26 | 8307.48 | 8.91 | | | 971.30 | - | 18 | 19 January 2019 | 50.00 | | 0.984118786 | 49.21 | 8266.35 | 8.87 | | | 971.30 | - | 19 | 20 January 2019 | 50.00 | | 0.9830690507 | 49.15 | 8225.18 | 8.83 | | | 971.30 | - | 20 | 21 January 2019 | 50.00 | | 0.982020435 | 49.10 | 8183.96 | 8.78 | | | 971.30 | - | 21 | 22 January 2019 | 50.00 | | 0.9809729379 | 49.05 | 8142.70 | 8.74 | | | 971.30 | - | 22 | 23 January 2019 | 50.00 | | 0.9799265581 | 49.00 | 8101.39 | 8.69 | | | 971.30 | - | 23 | 24 January 2019 | 50.00 | | 0.9788812945 | 48.94 | 8060.04 | 8.65 | | | 971.30 | - | 24 | 25 January 2019 | 50.00 | | 0.9778371458 | 48.89 | 8018.65 | 8.61 | | | 971.30 | - | 25 | 26 January 2019 | 50.00 | | 0.9767941109 | 48.84 | 7977.21 | 8.56 | | | 971.30 | - | 26 | 27 January 2019 | 50.00 | | 0.9757521886 | 48.79 | 7935.73 | 8.52 | | | 971.30 | - | 27 | 28 January 2019 | 50.00 | | 0.9747113777 | 48.74 | 7894.21 | 8.47 | | | 971.30 | - | 28 | 29 January 2019 | 50.00 | | 0.9736716769498249835 | 48.68 | 7852.63 | 8.43 | | | 971.30 | - | 29 | 30 January 2019 | 50.00 | | 0.9726330853 | 48.63 | 7811.02 | 8.39 | | | 971.30 | - | 30 | 31 January 2019 | 50.00 | | 0.9715956014 | 48.58 | 7769.36 | 8.34 | | | 971.30 | - | 31 | 01 February 2019 | 50.00 | | 0.9705592242 | 48.53 | 7727.66 | 8.30 | | | 971.30 | - | 32 | 02 February 2019 | 50.00 | | 0.9695239525 | 48.48 | 7685.91 | 8.25 | | | 971.30 | - | 33 | 03 February 2019 | 50.00 | | 0.968489785 | 48.42 | 7644.12 | 8.21 | | | 971.30 | - | 34 | 04 February 2019 | 50.00 | | 0.9674567207 | 48.37 | 7602.28 | 8.16 | | | 971.30 | - | 35 | 05 February 2019 | 50.00 | | 0.9664247584 | 48.32 | 7560.40 | 8.12 | | | 971.30 | - | 36 | 06 February 2019 | 50.00 | | 0.9653938968 | 48.27 | 7518.47 | 8.07 | | | 971.30 | - | 37 | 07 February 2019 | 50.00 | | 0.9643641348 | 48.22 | 7476.50 | 8.03 | | | 971.30 | - | 38 | 08 February 2019 | 50.00 | | 0.9633354712 | 48.17 | 7434.48 | 7.98 | | | 971.30 | - | 39 | 09 February 2019 | 50.00 | | 0.9623079049 | 48.12 | 7392.42 | 7.94 | | | 971.30 | - | 40 | 10 February 2019 | 50.00 | | 0.9612814347 | 48.06 | 7350.31 | 7.89 | | | 971.30 | - | 41 | 11 February 2019 | 50.00 | | 0.9602560593 | 48.01 | 7308.16 | 7.85 | | | 971.30 | - | 42 | 12 February 2019 | 50.00 | | 0.9592317777 | 47.96 | 7265.97 | 7.80 | | | 971.30 | - | 43 | 13 February 2019 | 50.00 | | 0.9582085887 | 47.91 | 7223.72 | 7.76 | | | 971.30 | - | 44 | 14 February 2019 | 50.00 | | 0.9571864911 | 47.86 | 7181.44 | 7.71 | | | 971.30 | - | 45 | 15 February 2019 | 50.00 | | 0.9561654838 | 47.81 | 7139.11 | 7.67 | | | 971.30 | - | 46 | 16 February 2019 | 50.00 | | 0.9551455655 | 47.76 | 7096.73 | 7.62 | | | 971.30 | - | 47 | 17 February 2019 | 50.00 | | 0.9541267351 | 47.71 | 7054.31 | 7.58 | | | 971.30 | - | 48 | 18 February 2019 | 50.00 | | 0.9531089916 | 47.66 | 7011.84 | 7.53 | | | 971.30 | - | 49 | 19 February 2019 | 50.00 | | 0.9520923336 | 47.60 | 6969.33 | 7.49 | | | 971.30 | - | 50 | 20 February 2019 | 50.00 | | 0.95107676 | 47.55 | 6926.77 | 7.44 | | | 971.30 | - | 51 | 21 February 2019 | 50.00 | | 0.9500622698 | 47.50 | 6884.17 | 7.40 | | | 971.30 | - | 52 | 22 February 2019 | 50.00 | | 0.9490488616 | 47.45 | 6841.52 | 7.35 | | | 971.30 | - | 53 | 23 February 2019 | 50.00 | | 0.9480365345 | 47.40 | 6798.82 | 7.31 | | | 971.30 | - | 54 | 24 February 2019 | 50.00 | | 0.9470252872 | 47.35 | 6756.08 | 7.26 | | | 971.30 | - | 55 | 25 February 2019 | 50.00 | | 0.9460151185 | 47.30 | 6713.30 | 7.21 | | | 971.30 | - | 56 | 26 February 2019 | 50.00 | | 0.9450060274 | 47.25 | 6670.47 | 7.17 | | | 971.30 | - | 57 | 27 February 2019 | 50.00 | | 0.9439980126 | 47.20 | 6627.59 | 7.12 | | | 971.30 | - | 58 | 28 February 2019 | 50.00 | | 0.9429910731 | 47.15 | 6584.67 | 7.08 | | | 971.30 | - | 59 | 01 March 2019 | 50.00 | | 0.9419852077 | 47.10 | 6541.70 | 7.03 | | | 971.30 | - | 60 | 02 March 2019 | 50.00 | | 0.9409804151 | 47.05 | 6498.68 | 6.99 | | | 971.30 | - | 61 | 03 March 2019 | 50.00 | | 0.9399766944 | 47.00 | 6455.62 | 6.94 | | | 971.30 | - | 62 | 04 March 2019 | 50.00 | | 0.9389740443 | 46.95 | 6412.51 | 6.89 | | | 971.30 | - | 63 | 05 March 2019 | 50.00 | | 0.9379724637 | 46.90 | 6369.36 | 6.85 | | | 971.30 | - | 64 | 06 March 2019 | 50.00 | | 0.9369719515 | 46.85 | 6326.16 | 6.80 | | | 971.30 | - | 65 | 07 March 2019 | 50.00 | | 0.9359725065 | 46.80 | 6282.92 | 6.76 | | | 971.30 | - | 66 | 08 March 2019 | 50.00 | | 0.9349741276 | 46.75 | 6239.63 | 6.71 | | | 971.30 | - | 67 | 09 March 2019 | 50.00 | | 0.9339768136 | 46.70 | 6196.29 | 6.66 | | | 971.30 | - | 68 | 10 March 2019 | 50.00 | | 0.9329805635 | 46.65 | 6152.91 | 6.62 | | | 971.30 | - | 69 | 11 March 2019 | 50.00 | | 0.931985376 | 46.60 | 6109.48 | 6.57 | | | 971.30 | - | 70 | 12 March 2019 | 50.00 | | 0.93099125 | 46.55 | 6066.00 | 6.52 | | | 971.30 | - | 71 | 13 March 2019 | 50.00 | | 0.9299981845 | 46.50 | 6022.48 | 6.48 | | | 971.30 | - | 72 | 14 March 2019 | 50.00 | | 0.9290061782 | 46.45 | 5978.91 | 6.43 | | | 971.30 | - | 73 | 15 March 2019 | 50.00 | | 0.9280152301 | 46.40 | 5935.29 | 6.38 | | | 971.30 | - | 74 | 16 March 2019 | 50.00 | | 0.927025339 | 46.35 | 5891.63 | 6.34 | | | 971.30 | - | 75 | 17 March 2019 | 50.00 | | 0.9260365038 | 46.30 | 5847.92 | 6.29 | | | 971.30 | - | 76 | 18 March 2019 | 50.00 | | 0.9250487234 | 46.25 | 5804.17 | 6.24 | | | 971.30 | - | 77 | 19 March 2019 | 50.00 | | 0.9240619966 | 46.20 | 5760.36 | 6.20 | | | 971.30 | - | 78 | 20 March 2019 | 50.00 | | 0.9230763224 | 46.15 | 5716.52 | 6.15 | | | 971.30 | - | 79 | 21 March 2019 | 50.00 | | 0.9220916995 | 46.10 | 5672.62 | 6.10 | | | 971.30 | - | 80 | 22 March 2019 | 50.00 | | 0.9211081269 | 46.06 | 5628.68 | 6.06 | | | 971.30 | - | 81 | 23 March 2019 | 50.00 | | 0.9201256034 | 46.01 | 5584.69 | 6.01 | | | 971.30 | - | 82 | 24 March 2019 | 50.00 | | 0.919144128 | 45.96 | 5540.65 | 5.96 | | | 971.30 | - | 83 | 25 March 2019 | 50.00 | | 0.9181636995 | 45.91 | 5496.57 | 5.92 | | | 971.30 | - | 84 | 26 March 2019 | 50.00 | | 0.9171843168 | 45.86 | 5452.44 | 5.87 | | | 971.30 | - | 85 | 27 March 2019 | 50.00 | | 0.9162059788 | 45.81 | 5408.26 | 5.82 | | | 971.30 | - | 86 | 28 March 2019 | 50.00 | | 0.9152286843 | 45.76 | 5364.03 | 5.78 | | | 971.30 | - | 87 | 29 March 2019 | 50.00 | | 0.9142524323 | 45.71 | 5319.76 | 5.73 | | | 971.30 | - | 88 | 30 March 2019 | 50.00 | | 0.9132772217 | 45.66 | 5275.44 | 5.68 | | | 971.30 | - | 89 | 31 March 2019 | 50.00 | | 0.9123030513 | 45.62 | 5231.08 | 5.63 | | | 971.30 | - | 90 | 01 April 2019 | 50.00 | | 0.91132992 | 45.57 | 5186.66 | 5.59 | | | 971.30 | - | 91 | 02 April 2019 | 50.00 | | 0.9103578267 | 45.52 | 5142.20 | 5.54 | | | 971.30 | - | 92 | 03 April 2019 | 50.00 | | 0.9093867703 | 45.47 | 5097.69 | 5.49 | | | 971.30 | - | 93 | 04 April 2019 | 50.00 | | 0.9084167498 | 45.42 | 5053.13 | 5.44 | | | 971.30 | - | 94 | 05 April 2019 | 50.00 | | 0.9074477639 | 45.37 | 5008.53 | 5.40 | | | 971.30 | - | 95 | 06 April 2019 | 50.00 | | 0.9064798116 | 45.32 | 4963.88 | 5.35 | | | 971.30 | - | 96 | 07 April 2019 | 50.00 | | 0.9055128918 | 45.28 | 4919.18 | 5.30 | | | 971.30 | - | 97 | 08 April 2019 | 50.00 | | 0.9045470035 | 45.23 | 4874.43 | 5.25 | | | 971.30 | - | 98 | 09 April 2019 | 50.00 | | 0.9035821453 | 45.18 | 4829.64 | 5.20 | | | 971.30 | - | 99 | 10 April 2019 | 50.00 | | 0.9026183164 | 45.13 | 4784.79 | 5.16 | | | 971.30 | - | 100 | 11 April 2019 | 50.00 | | 0.9016555156 | 45.08 | 4739.90 | 5.11 | | | 971.30 | - | 101 | 12 April 2019 | 50.00 | | 0.9006937418 | 45.03 | 4694.96 | 5.06 | | | 971.30 | - | 102 | 13 April 2019 | 50.00 | | 0.8997329939 | 44.99 | 4649.98 | 5.01 | | | 971.30 | - | 103 | 14 April 2019 | 50.00 | | 0.8987732707 | 44.94 | 4604.94 | 4.97 | | | 971.30 | - | 104 | 15 April 2019 | 50.00 | | 0.8978145713 | 44.89 | 4559.86 | 4.92 | | | 971.30 | - | 105 | 16 April 2019 | 50.00 | | 0.8968568945 | 44.84 | 4514.73 | 4.87 | | | 971.30 | - | 106 | 17 April 2019 | 50.00 | | 0.8959002393 | 44.80 | 4469.55 | 4.82 | | | 971.30 | - | 107 | 18 April 2019 | 50.00 | | 0.8949446045 | 44.75 | 4424.32 | 4.77 | | | 971.30 | - | 108 | 19 April 2019 | 50.00 | | 0.893989989 | 44.70 | 4379.05 | 4.72 | | | 971.30 | - | 109 | 20 April 2019 | 50.00 | | 0.8930363918 | 44.65 | 4333.72 | 4.68 | | | 971.30 | - | 110 | 21 April 2019 | 50.00 | | 0.8920838118 | 44.60 | 4288.35 | 4.63 | | | 971.30 | - | 111 | 22 April 2019 | 50.00 | | 0.8911322479 | 44.56 | 4242.93 | 4.58 | | | 971.30 | - | 112 | 23 April 2019 | 50.00 | | 0.890181699 | 44.51 | 4197.46 | 4.53 | | | 971.30 | - | 113 | 24 April 2019 | 50.00 | | 0.889232164 | 44.46 | 4151.94 | 4.48 | | | 971.30 | - | 114 | 25 April 2019 | 50.00 | | 0.8882836418 | 44.41 | 4106.38 | 4.43 | | | 971.30 | - | 115 | 26 April 2019 | 50.00 | | 0.8873361314 | 44.37 | 4060.76 | 4.38 | | | 971.30 | - | 116 | 27 April 2019 | 50.00 | | 0.8863896318 | 44.32 | 4015.10 | 4.34 | | | 971.30 | - | 117 | 28 April 2019 | 50.00 | | 0.8854441417 | 44.27 | 3969.38 | 4.29 | | | 971.30 | - | 118 | 29 April 2019 | 50.00 | | 0.8844996601 | 44.22 | 3923.62 | 4.24 | | | 971.30 | - | 119 | 30 April 2019 | 50.00 | | 0.883556186 | 44.18 | 3877.81 | 4.19 | | | 971.30 | - | 120 | 01 May 2019 | 50.00 | | 0.8826137183 | 44.13 | 3831.95 | 4.14 | | | 971.30 | - | 121 | 02 May 2019 | 50.00 | | 0.8816722559 | 44.08 | 3786.04 | 4.09 | | | 971.30 | - | 122 | 03 May 2019 | 50.00 | | 0.8807317977 | 44.04 | 3740.09 | 4.04 | | | 971.30 | - | 123 | 04 May 2019 | 50.00 | | 0.8797923427 | 43.99 | 3694.08 | 3.99 | | | 971.30 | - | 124 | 05 May 2019 | 50.00 | | 0.8788538898 | 43.94 | 3648.03 | 3.94 | | | 971.30 | - | 125 | 06 May 2019 | 50.00 | | 0.8779164379 | 43.90 | 3601.92 | 3.90 | | | 971.30 | - | 126 | 07 May 2019 | 50.00 | | 0.876979986 | 43.85 | 3555.77 | 3.85 | | | 971.30 | - | 127 | 08 May 2019 | 50.00 | | 0.8760445329 | 43.80 | 3509.56 | 3.80 | | | 971.30 | - | 128 | 09 May 2019 | 50.00 | | 0.8751100777 | 43.76 | 3463.31 | 3.75 | | | 971.30 | - | 129 | 10 May 2019 | 50.00 | | 0.8741766193 | 43.71 | 3417.01 | 3.70 | | | 971.30 | - | 130 | 11 May 2019 | 50.00 | | 0.8732441565 | 43.66 | 3370.66 | 3.65 | | | 971.30 | - | 131 | 12 May 2019 | 50.00 | | 0.8723126884 | 43.62 | 3324.26 | 3.60 | | | 971.30 | - | 132 | 13 May 2019 | 50.00 | | 0.8713822138 | 43.57 | 3277.81 | 3.55 | | | 971.30 | - | 133 | 14 May 2019 | 50.00 | | 0.8704527318 | 43.52 | 3231.31 | 3.50 | | | 971.30 | - | 134 | 15 May 2019 | 50.00 | | 0.8695242412 | 43.48 | 3184.76 | 3.45 | | | 971.30 | - | 135 | 16 May 2019 | 50.00 | | 0.868596741 | 43.43 | 3138.16 | 3.40 | | | 971.30 | - | 136 | 17 May 2019 | 50.00 | | 0.8676702302 | 43.38 | 3091.51 | 3.35 | | | 971.30 | - | 137 | 18 May 2019 | 50.00 | | 0.8667447076 | 43.34 | 3044.81 | 3.30 | | | 971.30 | - | 138 | 19 May 2019 | 50.00 | | 0.8658201723 | 43.29 | 2998.06 | 3.25 | | | 971.30 | - | 139 | 20 May 2019 | 50.00 | | 0.8648966231 | 43.24 | 2951.26 | 3.20 | | | 971.30 | - | 140 | 21 May 2019 | 50.00 | | 0.8639740591 | 43.20 | 2904.42 | 3.15 | | | 971.30 | - | 141 | 22 May 2019 | 50.00 | | 0.8630524792 | 43.15 | 2857.52 | 3.10 | | | 971.30 | - | 142 | 23 May 2019 | 50.00 | | 0.8621318823 | 43.11 | 2810.57 | 3.05 | | | 971.30 | - | 143 | 24 May 2019 | 50.00 | | 0.8612122673 | 43.06 | 2763.57 | 3.00 | | | 971.30 | - | 144 | 25 May 2019 | 50.00 | | 0.8602936333 | 43.01 | 2716.52 | 2.95 | | | 971.30 | - | 145 | 26 May 2019 | 50.00 | | 0.8593759792 | 42.97 | 2669.42 | 2.90 | | | 971.30 | - | 146 | 27 May 2019 | 50.00 | | 0.8584593039 | 42.92 | 2622.27 | 2.85 | | | 971.30 | - | 147 | 28 May 2019 | 50.00 | | 0.8575436064 | 42.88 | 2575.07 | 2.80 | | | 971.30 | - | 148 | 29 May 2019 | 50.00 | | 0.8566288857 | 42.83 | 2527.82 | 2.75 | | | 971.30 | - | 149 | 30 May 2019 | 50.00 | | 0.8557151407 | 42.79 | 2480.52 | 2.70 | | | 971.30 | - | 150 | 31 May 2019 | 50.00 | | 0.8548023703 | 42.74 | 2433.17 | 2.65 | | | 971.30 | - | 151 | 01 June 2019 | 50.00 | | 0.8538905736 | 42.69 | 2385.77 | 2.60 | | | 971.30 | - | 152 | 02 June 2019 | 50.00 | | 0.8529797495 | 42.65 | 2338.31 | 2.55 | | | 971.30 | - | 153 | 03 June 2019 | 50.00 | | 0.8520698969 | 42.60 | 2290.81 | 2.50 | | | 971.30 | - | 154 | 04 June 2019 | 50.00 | | 0.8511610148 | 42.56 | 2243.26 | 2.45 | | | 971.30 | - | 155 | 05 June 2019 | 50.00 | | 0.8502531022 | 42.51 | 2195.65 | 2.40 | | | 971.30 | - | 156 | 06 June 2019 | 50.00 | | 0.8493461581 | 42.47 | 2148.00 | 2.34 | | | 971.30 | - | 157 | 07 June 2019 | 50.00 | | 0.8484401814 | 42.42 | 2100.29 | 2.29 | | | 971.30 | - | 158 | 08 June 2019 | 50.00 | | 0.8475351711 | 42.38 | 2052.53 | 2.24 | | | 971.30 | - | 159 | 09 June 2019 | 50.00 | | 0.8466311261 | 42.33 | 2004.73 | 2.19 | | | 971.30 | - | 160 | 10 June 2019 | 50.00 | | 0.8457280454 | 42.29 | 1956.87 | 2.14 | | | 971.30 | - | 161 | 11 June 2019 | 50.00 | | 0.844825928 | 42.24 | 1908.96 | 2.09 | | | 971.30 | - | 162 | 12 June 2019 | 50.00 | | 0.8439247729 | 42.20 | 1860.99 | 2.04 | | | 971.30 | - | 163 | 13 June 2019 | 50.00 | | 0.8430245791 | 42.15 | 1812.98 | 1.99 | | | 971.30 | - | 164 | 14 June 2019 | 50.00 | | 0.8421253454 | 42.11 | 1764.92 | 1.94 | | | 971.30 | - | 165 | 15 June 2019 | 50.00 | | 0.841227071 | 42.06 | 1716.80 | 1.88 | | | 971.30 | - | 166 | 16 June 2019 | 50.00 | | 0.8403297547 | 42.02 | 1668.64 | 1.83 | | | 971.30 | - | 167 | 17 June 2019 | 50.00 | | 0.8394333956 | 41.97 | 1620.42 | 1.78 | | | 971.30 | - | 168 | 18 June 2019 | 50.00 | | 0.8385379925 | 41.93 | 1572.15 | 1.73 | | | 971.30 | - | 169 | 19 June 2019 | 50.00 | | 0.8376435446 | 41.88 | 1523.83 | 1.68 | | | 971.30 | - | 170 | 20 June 2019 | 50.00 | | 0.8367500508 | 41.84 | 1475.45 | 1.63 | | | 971.30 | - | 171 | 21 June 2019 | 50.00 | | 0.83585751 | 41.79 | 1427.03 | 1.58 | | | 971.30 | - | 172 | 22 June 2019 | 50.00 | | 0.8349659213 | 41.75 | 1378.55 | 1.52 | | | 971.30 | - | 173 | 23 June 2019 | 50.00 | | 0.8340752837 | 41.70 | 1330.02 | 1.47 | | | 971.30 | - | 174 | 24 June 2019 | 50.00 | | 0.833185596 | 41.66 | 1281.45 | 1.42 | | | 971.30 | - | 175 | 25 June 2019 | 50.00 | | 0.8322968574 | 41.61 | 1232.81 | 1.37 | | | 971.30 | - | 176 | 26 June 2019 | 50.00 | | 0.8314090667 | 41.57 | 1184.13 | 1.32 | | | 971.30 | - | 177 | 27 June 2019 | 50.00 | | 0.8305222231 | 41.53 | 1135.39 | 1.26 | | | 971.30 | - | 178 | 28 June 2019 | 50.00 | | 0.8296363254 | 41.48 | 1086.61 | 1.21 | | | 971.30 | - | 179 | 29 June 2019 | 50.00 | | 0.8287513727 | 41.44 | 1037.77 | 1.16 | | | 971.30 | - | 180 | 30 June 2019 | 50.00 | | 0.8278673639 | 41.39 | 988.88 | 1.11 | | | 971.30 | - | 181 | 01 July 2019 | 50.00 | | 0.8269842981 | 41.35 | 939.93 | 1.06 | | | 971.30 | - | 182 | 02 July 2019 | 50.00 | | 0.8261021742 | 41.31 | 890.93 | 1.00 | | | 971.30 | - | 183 | 03 July 2019 | 50.00 | | 0.8252209913 | 41.26 | 841.89 | 0.95 | | | 971.30 | - | 184 | 04 July 2019 | 50.00 | | 0.8243407483 | 41.22 | 792.79 | 0.90 | | | 971.30 | - | 185 | 05 July 2019 | 50.00 | | 0.8234614442 | 41.17 | 743.63 | 0.85 | | | 971.30 | - | 186 | 06 July 2019 | 50.00 | | 0.8225830781 | 41.13 | 694.43 | 0.79 | | | 971.30 | - | 187 | 07 July 2019 | 50.00 | | 0.8217056489 | 41.09 | 645.17 | 0.74 | | | 971.30 | - | 188 | 08 July 2019 | 50.00 | | 0.8208291556 | 41.04 | 595.86 | 0.69 | | | 971.30 | - | 189 | 09 July 2019 | 50.00 | | 0.8199535973 | 41.00 | 546.49 | 0.64 | | | 971.30 | - | 190 | 10 July 2019 | 50.00 | | 0.8190789729 | 40.95 | 497.08 | 0.58 | | | 971.30 | - | 191 | 11 July 2019 | 50.00 | | 0.8182052815 | 40.91 | 447.61 | 0.53 | | | 971.30 | - | 192 | 12 July 2019 | 50.00 | | 0.8173325219 | 40.87 | 398.08 | 0.48 | | | 971.30 | - | 193 | 13 July 2019 | 50.00 | | 0.8164606934 | 40.82 | 348.51 | 0.43 | | | 971.30 | - | 194 | 14 July 2019 | 50.00 | | 0.8155897948 | 40.78 | 298.88 | 0.37 | | | 971.30 | - | 195 | 15 July 2019 | 50.00 | | 0.8147198252 | 40.74 | 249.20 | 0.32 | | | 971.30 | - | 196 | 16 July 2019 | 50.00 | | 0.8138507835 | 40.69 | 199.47 | 0.27 | | | 971.30 | - | 197 | 17 July 2019 | 50.00 | | 0.8129826688 | 40.65 | 149.68 | 0.21 | | | 971.30 | - | 198 | 18 July 2019 | 50.00 | | 0.8121154802 | 40.61 | 99.84 | 0.16 | | | 971.30 | - | 199 | 19 July 2019 | 50.00 | | 0.8112492165 | 40.56 | 49.95 | 0.11 | | | 971.30 | - | 200 | 20 July 2019 | 50.00 | | 0.8103838768 | 40.52 | 0.00 | 0.05 | | | 971.30 | + | paymentNo | paymentDate | expectedPaymentAmount | actualPaymentAmount | discountFactor | npvValue | expectedBalance | expectedAmortizationAmount | actualAmortizationAmount | incomeModification | expectedDiscountFeeBalance | + | 0 | 01 January 2019 | -9000.00 | | 1 | -9000.00 | 9000.00 | | | | 1000.00 | + | 1 | 02 January 2019 | 50.00 | 50.00 | 1 | 50.00 | 8959.61 | 9.61 | 9.61 | 0.00 | 990.39 | + | 2 | 03 January 2019 | 50.00 | 50.00 | 1 | 50.00 | 8919.18 | 9.57 | 9.57 | 0.00 | 980.82 | + | 3 | 04 January 2019 | 50.00 | 50.00 | 1 | 50.00 | 8878.70 | 9.52 | 9.52 | 0.00 | 971.30 | + | 4 | 05 January 2019 | 50.00 | | 0.9989333245 | 49.95 | 8838.18 | 9.48 | | | 961.82 | + | 5 | 06 January 2019 | 50.00 | | 0.9978677868 | 49.89 | 8797.62 | 9.44 | | | 952.38 | + | 6 | 07 January 2019 | 50.00 | | 0.9968033857 | 49.84 | 8757.01 | 9.39 | | | 942.99 | + | 7 | 08 January 2019 | 50.00 | | 0.99574012 | 49.79 | 8716.36 | 9.35 | | | 933.64 | + | 8 | 09 January 2019 | 50.00 | | 0.9946779885 | 49.73 | 8675.67 | 9.31 | | | 924.33 | + | 9 | 10 January 2019 | 50.00 | | 0.9936169898 | 49.68 | 8634.94 | 9.26 | | | 915.07 | + | 10 | 11 January 2019 | 50.00 | | 0.992557123 | 49.63 | 8594.16 | 9.22 | | | 905.85 | + | 11 | 12 January 2019 | 50.00 | | 0.9914983866 | 49.57 | 8553.33 | 9.18 | | | 896.67 | + | 12 | 13 January 2019 | 50.00 | | 0.9904407796 | 49.52 | 8512.47 | 9.13 | | | 887.54 | + | 13 | 14 January 2019 | 50.00 | | 0.9893843007 | 49.47 | 8471.56 | 9.09 | | | 878.45 | + | 14 | 15 January 2019 | 50.00 | | 0.9883289487 | 49.42 | 8430.60 | 9.05 | | | 869.40 | + | 15 | 16 January 2019 | 50.00 | | 0.9872747225 | 49.36 | 8389.61 | 9.00 | | | 860.40 | + | 16 | 17 January 2019 | 50.00 | | 0.9862216208 | 49.31 | 8348.56 | 8.96 | | | 851.44 | + | 17 | 18 January 2019 | 50.00 | | 0.9851696423 | 49.26 | 8307.48 | 8.91 | | | 842.53 | + | 18 | 19 January 2019 | 50.00 | | 0.984118786 | 49.21 | 8266.35 | 8.87 | | | 833.66 | + | 19 | 20 January 2019 | 50.00 | | 0.9830690507 | 49.15 | 8225.18 | 8.83 | | | 824.83 | + | 20 | 21 January 2019 | 50.00 | | 0.982020435 | 49.10 | 8183.96 | 8.78 | | | 816.05 | + | 21 | 22 January 2019 | 50.00 | | 0.9809729379 | 49.05 | 8142.70 | 8.74 | | | 807.31 | + | 22 | 23 January 2019 | 50.00 | | 0.9799265581 | 49.00 | 8101.39 | 8.69 | | | 798.62 | + | 23 | 24 January 2019 | 50.00 | | 0.9788812945 | 48.94 | 8060.04 | 8.65 | | | 789.97 | + | 24 | 25 January 2019 | 50.00 | | 0.9778371458 | 48.89 | 8018.65 | 8.61 | | | 781.36 | + | 25 | 26 January 2019 | 50.00 | | 0.9767941109 | 48.84 | 7977.21 | 8.56 | | | 772.80 | + | 26 | 27 January 2019 | 50.00 | | 0.9757521886 | 48.79 | 7935.73 | 8.52 | | | 764.28 | + | 27 | 28 January 2019 | 50.00 | | 0.9747113777 | 48.74 | 7894.21 | 8.47 | | | 755.81 | + | 28 | 29 January 2019 | 50.00 | | 0.9736716769 | 48.68 | 7852.63 | 8.43 | | | 747.38 | + | 29 | 30 January 2019 | 50.00 | | 0.9726330853 | 48.63 | 7811.02 | 8.39 | | | 738.99 | + | 30 | 31 January 2019 | 50.00 | | 0.9715956014 | 48.58 | 7769.36 | 8.34 | | | 730.65 | + | 31 | 01 February 2019 | 50.00 | | 0.9705592242 | 48.53 | 7727.66 | 8.30 | | | 722.35 | + | 32 | 02 February 2019 | 50.00 | | 0.9695239525 | 48.48 | 7685.91 | 8.25 | | | 714.10 | + | 33 | 03 February 2019 | 50.00 | | 0.968489785 | 48.42 | 7644.12 | 8.21 | | | 705.89 | + | 34 | 04 February 2019 | 50.00 | | 0.9674567207 | 48.37 | 7602.28 | 8.16 | | | 697.73 | + | 35 | 05 February 2019 | 50.00 | | 0.9664247584 | 48.32 | 7560.40 | 8.12 | | | 689.61 | + | 36 | 06 February 2019 | 50.00 | | 0.9653938968 | 48.27 | 7518.47 | 8.07 | | | 681.54 | + | 37 | 07 February 2019 | 50.00 | | 0.9643641348 | 48.22 | 7476.50 | 8.03 | | | 673.51 | + | 38 | 08 February 2019 | 50.00 | | 0.9633354712 | 48.17 | 7434.48 | 7.98 | | | 665.53 | + | 39 | 09 February 2019 | 50.00 | | 0.9623079049 | 48.12 | 7392.42 | 7.94 | | | 657.59 | + | 40 | 10 February 2019 | 50.00 | | 0.9612814347 | 48.06 | 7350.31 | 7.89 | | | 649.70 | + | 41 | 11 February 2019 | 50.00 | | 0.9602560593 | 48.01 | 7308.16 | 7.85 | | | 641.85 | + | 42 | 12 February 2019 | 50.00 | | 0.9592317777 | 47.96 | 7265.97 | 7.80 | | | 634.05 | + | 43 | 13 February 2019 | 50.00 | | 0.9582085887 | 47.91 | 7223.72 | 7.76 | | | 626.29 | + | 44 | 14 February 2019 | 50.00 | | 0.9571864911 | 47.86 | 7181.44 | 7.71 | | | 618.58 | + | 45 | 15 February 2019 | 50.00 | | 0.9561654838 | 47.81 | 7139.11 | 7.67 | | | 610.91 | + | 46 | 16 February 2019 | 50.00 | | 0.9551455655 | 47.76 | 7096.73 | 7.62 | | | 603.29 | + | 47 | 17 February 2019 | 50.00 | | 0.9541267351 | 47.71 | 7054.31 | 7.58 | | | 595.71 | + | 48 | 18 February 2019 | 50.00 | | 0.9531089916 | 47.66 | 7011.84 | 7.53 | | | 588.18 | + | 49 | 19 February 2019 | 50.00 | | 0.9520923336 | 47.60 | 6969.33 | 7.49 | | | 580.69 | + | 50 | 20 February 2019 | 50.00 | | 0.95107676 | 47.55 | 6926.77 | 7.44 | | | 573.25 | + | 51 | 21 February 2019 | 50.00 | | 0.9500622698 | 47.50 | 6884.17 | 7.40 | | | 565.85 | + | 52 | 22 February 2019 | 50.00 | | 0.9490488616 | 47.45 | 6841.52 | 7.35 | | | 558.50 | + | 53 | 23 February 2019 | 50.00 | | 0.9480365345 | 47.40 | 6798.82 | 7.31 | | | 551.19 | + | 54 | 24 February 2019 | 50.00 | | 0.9470252872 | 47.35 | 6756.08 | 7.26 | | | 543.93 | + | 55 | 25 February 2019 | 50.00 | | 0.9460151185 | 47.30 | 6713.30 | 7.21 | | | 536.72 | + | 56 | 26 February 2019 | 50.00 | | 0.9450060274 | 47.25 | 6670.47 | 7.17 | | | 529.55 | + | 57 | 27 February 2019 | 50.00 | | 0.9439980126 | 47.20 | 6627.59 | 7.12 | | | 522.43 | + | 58 | 28 February 2019 | 50.00 | | 0.9429910731 | 47.15 | 6584.67 | 7.08 | | | 515.35 | + | 59 | 01 March 2019 | 50.00 | | 0.9419852077 | 47.10 | 6541.70 | 7.03 | | | 508.32 | + | 60 | 02 March 2019 | 50.00 | | 0.9409804151 | 47.05 | 6498.68 | 6.99 | | | 501.33 | + | 61 | 03 March 2019 | 50.00 | | 0.9399766944 | 47.00 | 6455.62 | 6.94 | | | 494.39 | + | 62 | 04 March 2019 | 50.00 | | 0.9389740443 | 46.95 | 6412.51 | 6.89 | | | 487.50 | + | 63 | 05 March 2019 | 50.00 | | 0.9379724637 | 46.90 | 6369.36 | 6.85 | | | 480.65 | + | 64 | 06 March 2019 | 50.00 | | 0.9369719515 | 46.85 | 6326.16 | 6.80 | | | 473.85 | + | 65 | 07 March 2019 | 50.00 | | 0.9359725065 | 46.80 | 6282.92 | 6.76 | | | 467.09 | + | 66 | 08 March 2019 | 50.00 | | 0.9349741276 | 46.75 | 6239.63 | 6.71 | | | 460.38 | + | 67 | 09 March 2019 | 50.00 | | 0.9339768136 | 46.70 | 6196.29 | 6.66 | | | 453.72 | + | 68 | 10 March 2019 | 50.00 | | 0.9329805635 | 46.65 | 6152.91 | 6.62 | | | 447.10 | + | 69 | 11 March 2019 | 50.00 | | 0.931985376 | 46.60 | 6109.48 | 6.57 | | | 440.53 | + | 70 | 12 March 2019 | 50.00 | | 0.93099125 | 46.55 | 6066.00 | 6.52 | | | 434.01 | + | 71 | 13 March 2019 | 50.00 | | 0.9299981845 | 46.50 | 6022.48 | 6.48 | | | 427.53 | + | 72 | 14 March 2019 | 50.00 | | 0.9290061782 | 46.45 | 5978.91 | 6.43 | | | 421.10 | + | 73 | 15 March 2019 | 50.00 | | 0.9280152301 | 46.40 | 5935.29 | 6.38 | | | 414.72 | + | 74 | 16 March 2019 | 50.00 | | 0.927025339 | 46.35 | 5891.63 | 6.34 | | | 408.38 | + | 75 | 17 March 2019 | 50.00 | | 0.9260365038 | 46.30 | 5847.92 | 6.29 | | | 402.09 | + | 76 | 18 March 2019 | 50.00 | | 0.9250487234 | 46.25 | 5804.17 | 6.24 | | | 395.85 | + | 77 | 19 March 2019 | 50.00 | | 0.9240619966 | 46.20 | 5760.36 | 6.20 | | | 389.65 | + | 78 | 20 March 2019 | 50.00 | | 0.9230763224 | 46.15 | 5716.52 | 6.15 | | | 383.50 | + | 79 | 21 March 2019 | 50.00 | | 0.9220916995 | 46.10 | 5672.62 | 6.10 | | | 377.40 | + | 80 | 22 March 2019 | 50.00 | | 0.9211081269 | 46.06 | 5628.68 | 6.06 | | | 371.34 | + | 81 | 23 March 2019 | 50.00 | | 0.9201256034 | 46.01 | 5584.69 | 6.01 | | | 365.33 | + | 82 | 24 March 2019 | 50.00 | | 0.919144128 | 45.96 | 5540.65 | 5.96 | | | 359.37 | + | 83 | 25 March 2019 | 50.00 | | 0.9181636995 | 45.91 | 5496.57 | 5.92 | | | 353.45 | + | 84 | 26 March 2019 | 50.00 | | 0.9171843168 | 45.86 | 5452.44 | 5.87 | | | 347.58 | + | 85 | 27 March 2019 | 50.00 | | 0.9162059788 | 45.81 | 5408.26 | 5.82 | | | 341.76 | + | 86 | 28 March 2019 | 50.00 | | 0.9152286843 | 45.76 | 5364.03 | 5.78 | | | 335.98 | + | 87 | 29 March 2019 | 50.00 | | 0.9142524323 | 45.71 | 5319.76 | 5.73 | | | 330.25 | + | 88 | 30 March 2019 | 50.00 | | 0.9132772217 | 45.66 | 5275.44 | 5.68 | | | 324.57 | + | 89 | 31 March 2019 | 50.00 | | 0.9123030513 | 45.62 | 5231.08 | 5.63 | | | 318.94 | + | 90 | 01 April 2019 | 50.00 | | 0.91132992 | 45.57 | 5186.66 | 5.59 | | | 313.35 | + | 91 | 02 April 2019 | 50.00 | | 0.9103578267 | 45.52 | 5142.20 | 5.54 | | | 307.81 | + | 92 | 03 April 2019 | 50.00 | | 0.9093867703 | 45.47 | 5097.69 | 5.49 | | | 302.32 | + | 93 | 04 April 2019 | 50.00 | | 0.9084167498 | 45.42 | 5053.13 | 5.44 | | | 296.88 | + | 94 | 05 April 2019 | 50.00 | | 0.9074477639 | 45.37 | 5008.53 | 5.40 | | | 291.48 | + | 95 | 06 April 2019 | 50.00 | | 0.9064798116 | 45.32 | 4963.88 | 5.35 | | | 286.13 | + | 96 | 07 April 2019 | 50.00 | | 0.9055128918 | 45.28 | 4919.18 | 5.30 | | | 280.83 | + | 97 | 08 April 2019 | 50.00 | | 0.9045470035 | 45.23 | 4874.43 | 5.25 | | | 275.58 | + | 98 | 09 April 2019 | 50.00 | | 0.9035821453 | 45.18 | 4829.64 | 5.20 | | | 270.38 | + | 99 | 10 April 2019 | 50.00 | | 0.9026183164 | 45.13 | 4784.79 | 5.16 | | | 265.22 | + | 100 | 11 April 2019 | 50.00 | | 0.9016555156 | 45.08 | 4739.90 | 5.11 | | | 260.11 | + | 101 | 12 April 2019 | 50.00 | | 0.9006937418 | 45.03 | 4694.96 | 5.06 | | | 255.05 | + | 102 | 13 April 2019 | 50.00 | | 0.8997329939 | 44.99 | 4649.98 | 5.01 | | | 250.04 | + | 103 | 14 April 2019 | 50.00 | | 0.8987732707 | 44.94 | 4604.94 | 4.97 | | | 245.07 | + | 104 | 15 April 2019 | 50.00 | | 0.8978145713 | 44.89 | 4559.86 | 4.92 | | | 240.15 | + | 105 | 16 April 2019 | 50.00 | | 0.8968568945 | 44.84 | 4514.73 | 4.87 | | | 235.28 | + | 106 | 17 April 2019 | 50.00 | | 0.8959002393 | 44.80 | 4469.55 | 4.82 | | | 230.46 | + | 107 | 18 April 2019 | 50.00 | | 0.8949446045 | 44.75 | 4424.32 | 4.77 | | | 225.69 | + | 108 | 19 April 2019 | 50.00 | | 0.893989989 | 44.70 | 4379.05 | 4.72 | | | 220.97 | + | 109 | 20 April 2019 | 50.00 | | 0.8930363918 | 44.65 | 4333.72 | 4.68 | | | 216.29 | + | 110 | 21 April 2019 | 50.00 | | 0.8920838118 | 44.60 | 4288.35 | 4.63 | | | 211.66 | + | 111 | 22 April 2019 | 50.00 | | 0.8911322479 | 44.56 | 4242.93 | 4.58 | | | 207.08 | + | 112 | 23 April 2019 | 50.00 | | 0.890181699 | 44.51 | 4197.46 | 4.53 | | | 202.55 | + | 113 | 24 April 2019 | 50.00 | | 0.889232164 | 44.46 | 4151.94 | 4.48 | | | 198.07 | + | 114 | 25 April 2019 | 50.00 | | 0.8882836418 | 44.41 | 4106.38 | 4.43 | | | 193.64 | + | 115 | 26 April 2019 | 50.00 | | 0.8873361314 | 44.37 | 4060.76 | 4.38 | | | 189.26 | + | 116 | 27 April 2019 | 50.00 | | 0.8863896318 | 44.32 | 4015.10 | 4.34 | | | 184.92 | + | 117 | 28 April 2019 | 50.00 | | 0.8854441417 | 44.27 | 3969.38 | 4.29 | | | 180.63 | + | 118 | 29 April 2019 | 50.00 | | 0.8844996601 | 44.22 | 3923.62 | 4.24 | | | 176.39 | + | 119 | 30 April 2019 | 50.00 | | 0.883556186 | 44.18 | 3877.81 | 4.19 | | | 172.20 | + | 120 | 01 May 2019 | 50.00 | | 0.8826137183 | 44.13 | 3831.95 | 4.14 | | | 168.06 | + | 121 | 02 May 2019 | 50.00 | | 0.8816722559 | 44.08 | 3786.04 | 4.09 | | | 163.97 | + | 122 | 03 May 2019 | 50.00 | | 0.8807317977 | 44.04 | 3740.09 | 4.04 | | | 159.93 | + | 123 | 04 May 2019 | 50.00 | | 0.8797923427 | 43.99 | 3694.08 | 3.99 | | | 155.94 | + | 124 | 05 May 2019 | 50.00 | | 0.8788538898 | 43.94 | 3648.03 | 3.94 | | | 152.00 | + | 125 | 06 May 2019 | 50.00 | | 0.8779164379 | 43.90 | 3601.92 | 3.90 | | | 148.10 | + | 126 | 07 May 2019 | 50.00 | | 0.876979986 | 43.85 | 3555.77 | 3.85 | | | 144.25 | + | 127 | 08 May 2019 | 50.00 | | 0.8760445329 | 43.80 | 3509.56 | 3.80 | | | 140.45 | + | 128 | 09 May 2019 | 50.00 | | 0.8751100777 | 43.76 | 3463.31 | 3.75 | | | 136.70 | + | 129 | 10 May 2019 | 50.00 | | 0.8741766193 | 43.71 | 3417.01 | 3.70 | | | 133.00 | + | 130 | 11 May 2019 | 50.00 | | 0.8732441565 | 43.66 | 3370.66 | 3.65 | | | 129.35 | + | 131 | 12 May 2019 | 50.00 | | 0.8723126884 | 43.62 | 3324.26 | 3.60 | | | 125.75 | + | 132 | 13 May 2019 | 50.00 | | 0.8713822138 | 43.57 | 3277.81 | 3.55 | | | 122.20 | + | 133 | 14 May 2019 | 50.00 | | 0.8704527318 | 43.52 | 3231.31 | 3.50 | | | 118.70 | + | 134 | 15 May 2019 | 50.00 | | 0.8695242412 | 43.48 | 3184.76 | 3.45 | | | 115.25 | + | 135 | 16 May 2019 | 50.00 | | 0.868596741 | 43.43 | 3138.16 | 3.40 | | | 111.85 | + | 136 | 17 May 2019 | 50.00 | | 0.8676702302 | 43.38 | 3091.51 | 3.35 | | | 108.50 | + | 137 | 18 May 2019 | 50.00 | | 0.8667447076 | 43.34 | 3044.81 | 3.30 | | | 105.20 | + | 138 | 19 May 2019 | 50.00 | | 0.8658201723 | 43.29 | 2998.06 | 3.25 | | | 101.95 | + | 139 | 20 May 2019 | 50.00 | | 0.8648966231 | 43.24 | 2951.26 | 3.20 | | | 98.75 | + | 140 | 21 May 2019 | 50.00 | | 0.8639740591 | 43.20 | 2904.42 | 3.15 | | | 95.60 | + | 141 | 22 May 2019 | 50.00 | | 0.8630524792 | 43.15 | 2857.52 | 3.10 | | | 92.50 | + | 142 | 23 May 2019 | 50.00 | | 0.8621318823 | 43.11 | 2810.57 | 3.05 | | | 89.45 | + | 143 | 24 May 2019 | 50.00 | | 0.8612122673 | 43.06 | 2763.57 | 3.00 | | | 86.45 | + | 144 | 25 May 2019 | 50.00 | | 0.8602936333 | 43.01 | 2716.52 | 2.95 | | | 83.50 | + | 145 | 26 May 2019 | 50.00 | | 0.8593759792 | 42.97 | 2669.42 | 2.90 | | | 80.60 | + | 146 | 27 May 2019 | 50.00 | | 0.8584593039 | 42.92 | 2622.27 | 2.85 | | | 77.75 | + | 147 | 28 May 2019 | 50.00 | | 0.8575436064 | 42.88 | 2575.07 | 2.80 | | | 74.95 | + | 148 | 29 May 2019 | 50.00 | | 0.8566288857 | 42.83 | 2527.82 | 2.75 | | | 72.20 | + | 149 | 30 May 2019 | 50.00 | | 0.8557151407 | 42.79 | 2480.52 | 2.70 | | | 69.50 | + | 150 | 31 May 2019 | 50.00 | | 0.8548023703 | 42.74 | 2433.17 | 2.65 | | | 66.85 | + | 151 | 01 June 2019 | 50.00 | | 0.8538905736 | 42.69 | 2385.77 | 2.60 | | | 64.25 | + | 152 | 02 June 2019 | 50.00 | | 0.8529797495 | 42.65 | 2338.31 | 2.55 | | | 61.70 | + | 153 | 03 June 2019 | 50.00 | | 0.8520698969 | 42.60 | 2290.81 | 2.50 | | | 59.20 | + | 154 | 04 June 2019 | 50.00 | | 0.8511610148 | 42.56 | 2243.26 | 2.45 | | | 56.75 | + | 155 | 05 June 2019 | 50.00 | | 0.8502531022 | 42.51 | 2195.65 | 2.40 | | | 54.35 | + | 156 | 06 June 2019 | 50.00 | | 0.8493461581 | 42.47 | 2148.00 | 2.34 | | | 52.01 | + | 157 | 07 June 2019 | 50.00 | | 0.8484401814 | 42.42 | 2100.29 | 2.29 | | | 49.72 | + | 158 | 08 June 2019 | 50.00 | | 0.8475351711 | 42.38 | 2052.53 | 2.24 | | | 47.48 | + | 159 | 09 June 2019 | 50.00 | | 0.8466311261 | 42.33 | 2004.73 | 2.19 | | | 45.29 | + | 160 | 10 June 2019 | 50.00 | | 0.8457280454 | 42.29 | 1956.87 | 2.14 | | | 43.15 | + | 161 | 11 June 2019 | 50.00 | | 0.844825928 | 42.24 | 1908.96 | 2.09 | | | 41.06 | + | 162 | 12 June 2019 | 50.00 | | 0.8439247729 | 42.20 | 1860.99 | 2.04 | | | 39.02 | + | 163 | 13 June 2019 | 50.00 | | 0.8430245791 | 42.15 | 1812.98 | 1.99 | | | 37.03 | + | 164 | 14 June 2019 | 50.00 | | 0.8421253454 | 42.11 | 1764.92 | 1.94 | | | 35.09 | + | 165 | 15 June 2019 | 50.00 | | 0.841227071 | 42.06 | 1716.80 | 1.88 | | | 33.21 | + | 166 | 16 June 2019 | 50.00 | | 0.8403297547 | 42.02 | 1668.64 | 1.83 | | | 31.38 | + | 167 | 17 June 2019 | 50.00 | | 0.8394333956 | 41.97 | 1620.42 | 1.78 | | | 29.60 | + | 168 | 18 June 2019 | 50.00 | | 0.8385379925 | 41.93 | 1572.15 | 1.73 | | | 27.87 | + | 169 | 19 June 2019 | 50.00 | | 0.8376435446 | 41.88 | 1523.83 | 1.68 | | | 26.19 | + | 170 | 20 June 2019 | 50.00 | | 0.8367500508 | 41.84 | 1475.45 | 1.63 | | | 24.56 | + | 171 | 21 June 2019 | 50.00 | | 0.83585751 | 41.79 | 1427.03 | 1.58 | | | 22.98 | + | 172 | 22 June 2019 | 50.00 | | 0.8349659213 | 41.75 | 1378.55 | 1.52 | | | 21.46 | + | 173 | 23 June 2019 | 50.00 | | 0.8340752837 | 41.70 | 1330.02 | 1.47 | | | 19.99 | + | 174 | 24 June 2019 | 50.00 | | 0.833185596 | 41.66 | 1281.45 | 1.42 | | | 18.57 | + | 175 | 25 June 2019 | 50.00 | | 0.8322968574 | 41.61 | 1232.81 | 1.37 | | | 17.20 | + | 176 | 26 June 2019 | 50.00 | | 0.8314090667 | 41.57 | 1184.13 | 1.32 | | | 15.88 | + | 177 | 27 June 2019 | 50.00 | | 0.8305222231 | 41.53 | 1135.39 | 1.26 | | | 14.62 | + | 178 | 28 June 2019 | 50.00 | | 0.8296363254 | 41.48 | 1086.61 | 1.21 | | | 13.41 | + | 179 | 29 June 2019 | 50.00 | | 0.8287513727 | 41.44 | 1037.77 | 1.16 | | | 12.25 | + | 180 | 30 June 2019 | 50.00 | | 0.8278673639 | 41.39 | 988.88 | 1.11 | | | 11.14 | + | 181 | 01 July 2019 | 50.00 | | 0.8269842981 | 41.35 | 939.93 | 1.06 | | | 10.08 | + | 182 | 02 July 2019 | 50.00 | | 0.8261021742 | 41.31 | 890.93 | 1.00 | | | 9.08 | + | 183 | 03 July 2019 | 50.00 | | 0.8252209913 | 41.26 | 841.89 | 0.95 | | | 8.13 | + | 184 | 04 July 2019 | 50.00 | | 0.8243407483 | 41.22 | 792.79 | 0.90 | | | 7.23 | + | 185 | 05 July 2019 | 50.00 | | 0.8234614442 | 41.17 | 743.63 | 0.85 | | | 6.38 | + | 186 | 06 July 2019 | 50.00 | | 0.8225830781 | 41.13 | 694.43 | 0.79 | | | 5.59 | + | 187 | 07 July 2019 | 50.00 | | 0.8217056489 | 41.09 | 645.17 | 0.74 | | | 4.85 | + | 188 | 08 July 2019 | 50.00 | | 0.8208291556 | 41.04 | 595.86 | 0.69 | | | 4.16 | + | 189 | 09 July 2019 | 50.00 | | 0.8199535973 | 41.00 | 546.49 | 0.64 | | | 3.52 | + | 190 | 10 July 2019 | 50.00 | | 0.8190789729 | 40.95 | 497.08 | 0.58 | | | 2.94 | + | 191 | 11 July 2019 | 50.00 | | 0.8182052815 | 40.91 | 447.61 | 0.53 | | | 2.41 | + | 192 | 12 July 2019 | 50.00 | | 0.8173325219 | 40.87 | 398.08 | 0.48 | | | 1.93 | + | 193 | 13 July 2019 | 50.00 | | 0.8164606934 | 40.82 | 348.51 | 0.43 | | | 1.50 | + | 194 | 14 July 2019 | 50.00 | | 0.8155897948 | 40.78 | 298.88 | 0.37 | | | 1.13 | + | 195 | 15 July 2019 | 50.00 | | 0.8147198252 | 40.74 | 249.20 | 0.32 | | | 0.81 | + | 196 | 16 July 2019 | 50.00 | | 0.8138507835 | 40.69 | 199.47 | 0.27 | | | 0.54 | + | 197 | 17 July 2019 | 50.00 | | 0.8129826688 | 40.65 | 149.68 | 0.21 | | | 0.33 | + | 198 | 18 July 2019 | 50.00 | | 0.8121154802 | 40.61 | 99.84 | 0.16 | | | 0.17 | + | 199 | 19 July 2019 | 50.00 | | 0.8112492165 | 40.56 | 49.95 | 0.11 | | | 0.06 | + | 200 | 20 July 2019 | 50.00 | | 0.8103838768 | 40.52 | 0.00 | 0.05 | | | 0.01 | diff --git a/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/calc/DefaultProjectedAmortizationScheduleCalculator.java b/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/calc/DefaultProjectedAmortizationScheduleCalculator.java index b6265311bec..1545989e847 100644 --- a/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/calc/DefaultProjectedAmortizationScheduleCalculator.java +++ b/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/calc/DefaultProjectedAmortizationScheduleCalculator.java @@ -21,6 +21,7 @@ import java.math.BigDecimal; import java.math.MathContext; import java.time.LocalDate; +import org.apache.fineract.infrastructure.core.service.DateUtils; import org.apache.fineract.organisation.monetary.data.CurrencyData; import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; @@ -39,14 +40,14 @@ public ProjectedAmortizationScheduleModel generateModel(@NonNull final BigDecima @NonNull final BigDecimal periodPaymentRate, final int npvDayCount, @NonNull final LocalDate expectedDisbursementDate, @NonNull final MathContext mc, @NonNull final CurrencyData currency) { return ProjectedAmortizationScheduleModel.generate(discountFeeAmount, netDisbursementAmount, totalPaymentValue, periodPaymentRate, - npvDayCount, expectedDisbursementDate, mc, currency); + npvDayCount, expectedDisbursementDate, mc, currency, DateUtils.getBusinessLocalDate()); } @Override @NonNull public ProjectedAmortizationScheduleModel addDisbursement(@NonNull final ProjectedAmortizationScheduleModel model, @NonNull final BigDecimal newDiscountAmount, @NonNull final BigDecimal newNetAmount, @NonNull final LocalDate newStartDate) { - return model.regenerate(newDiscountAmount, newNetAmount, newStartDate); + return model.regenerate(newDiscountAmount, newNetAmount, newStartDate, DateUtils.getBusinessLocalDate()); } @Override diff --git a/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/calc/ProjectedAmortizationScheduleModel.java b/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/calc/ProjectedAmortizationScheduleModel.java index 5b8d39d18c8..b3f7d4b27b1 100644 --- a/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/calc/ProjectedAmortizationScheduleModel.java +++ b/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/calc/ProjectedAmortizationScheduleModel.java @@ -26,7 +26,7 @@ import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.Comparator; -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Objects; @@ -56,7 +56,7 @@ @Slf4j public final class ProjectedAmortizationScheduleModel { - private static final String MODEL_VERSION = "3"; + private static final String MODEL_VERSION = "4"; @SerializedName(value = "discountFeeAmount", alternate = "originationFeeAmount") private final Money discountFeeAmount; @@ -96,10 +96,13 @@ public final class ProjectedAmortizationScheduleModel { @Getter(AccessLevel.NONE) private List originalProjectedPayments; + private LocalDate calculatedTillDate; + private ProjectedAmortizationScheduleModel(final Money discountFeeAmount, final Money netDisbursementAmount, final Money totalPaymentValue, final BigDecimal periodPaymentRate, final int npvDayCount, final LocalDate expectedDisbursementDate, final Money expectedPaymentAmount, final int originalPaymentNumber, - final BigDecimal effectiveInterestRate, final MathContext mc, final CurrencyData currency) { + final BigDecimal effectiveInterestRate, final MathContext mc, final CurrencyData currency, + final LocalDate currentBusinessDate) { this.discountFeeAmount = discountFeeAmount; this.netDisbursementAmount = netDisbursementAmount; this.totalPaymentValue = totalPaymentValue; @@ -113,6 +116,7 @@ private ProjectedAmortizationScheduleModel(final Money discountFeeAmount, final this.currency = currency; this.actualPayments = new ArrayList<>(); this.rateSegments = new ArrayList<>(); + this.calculatedTillDate = currentBusinessDate; rebuildPayments(); } @@ -140,6 +144,7 @@ private ProjectedAmortizationScheduleModel(final MathContext mc, final CurrencyD this.rateSegments = new ArrayList<>(); this.projectedPayments = List.of(); this.originalProjectedPayments = List.of(); + this.calculatedTillDate = null; } public List projectedPayments() { @@ -165,9 +170,15 @@ public int effectiveTotalTerm() { return last.startDayIndex() + last.segmentTerm() - overlap; } + private static BigDecimal computeDailyPayment(final BigDecimal totalPaymentValue, final BigDecimal periodPaymentRate, + final int npvDayCount, final MathContext mc) { + return totalPaymentValue.multiply(periodPaymentRate, mc).divide(BigDecimal.valueOf(npvDayCount), mc).divide(BigDecimal.valueOf(100), + mc); + } + public static ProjectedAmortizationScheduleModel generate(final BigDecimal discountFeeAmount, final BigDecimal netDisbursementAmount, final BigDecimal totalPaymentValue, final BigDecimal periodPaymentRate, final int npvDayCount, - final LocalDate expectedDisbursementDate, final MathContext mc, final CurrencyData currency) { + final LocalDate expectedDisbursementDate, final MathContext mc, final CurrencyData currency, final LocalDate currentDate) { Objects.requireNonNull(discountFeeAmount, "discountFeeAmount"); Objects.requireNonNull(netDisbursementAmount, "netDisbursementAmount"); @@ -182,7 +193,7 @@ public static ProjectedAmortizationScheduleModel generate(final BigDecimal disco throw new IllegalArgumentException("npvDayCount must be positive"); } - final BigDecimal expectedPayment = totalPaymentValue.multiply(periodPaymentRate, mc).divide(BigDecimal.valueOf(npvDayCount), mc); + final BigDecimal expectedPayment = computeDailyPayment(totalPaymentValue, periodPaymentRate, npvDayCount, mc); if (expectedPayment.signum() <= 0) { throw new IllegalArgumentException("expectedPaymentAmount must be positive (check totalPaymentValue and periodPaymentRate)"); } @@ -197,7 +208,7 @@ public static ProjectedAmortizationScheduleModel generate(final BigDecimal disco return new ProjectedAmortizationScheduleModel(Money.of(currency, discountFeeAmount, mc), Money.of(currency, netDisbursementAmount, mc), Money.of(currency, totalPaymentValue, mc), periodPaymentRate, npvDayCount, - expectedDisbursementDate, Money.of(currency, expectedPayment, mc), originalPaymentNumber, eir, mc, currency); + expectedDisbursementDate, Money.of(currency, expectedPayment, mc), originalPaymentNumber, eir, mc, currency, currentDate); } public LocalDate normalizePaymentDateForSchedule(final LocalDate paymentDate) { @@ -237,15 +248,22 @@ public void applyPayment(final LocalDate paymentDate, final BigDecimal amount) { throw new IllegalArgumentException("paymentDate " + paymentDate + " is outside the valid range [" + expectedDisbursementDate.plusDays(1) + " .. " + expectedDisbursementDate.plusDays(effectiveTotalTerm()) + "]"); } + updateCalculatedTillDate(paymentDate); actualPayments.add(new ActualPayment(scheduleDate, money(amount))); rebuildPayments(); } + private void updateCalculatedTillDate(final LocalDate actionDate) { + if (calculatedTillDate == null || actionDate.isAfter(calculatedTillDate)) { + this.calculatedTillDate = actionDate; + } + } + /** Creates a new model with updated parameters, preserving applied payments. */ public ProjectedAmortizationScheduleModel regenerate(final BigDecimal newDiscountAmount, final BigDecimal newNetAmount, - final LocalDate newStartDate) { + final LocalDate newStartDate, final LocalDate currentDate) { final ProjectedAmortizationScheduleModel newModel = generate(newDiscountAmount, newNetAmount, totalPaymentValue.getAmount(), - periodPaymentRate, npvDayCount, newStartDate, mc, currency); + periodPaymentRate, npvDayCount, newStartDate, mc, currency, currentDate); newModel.actualPayments.addAll(actualPayments); newModel.rebuildPayments(); return newModel; @@ -255,6 +273,7 @@ public void recalculateNetAmortizationAndDeferredBalanceFrom(final LocalDate rep if (repaymentDate == null || projectedPayments == null || projectedPayments.isEmpty()) { return; } + updateCalculatedTillDate(repaymentDate); final ProjectedPayment lastRepayment = projectedPayments.stream().filter(p -> p.paymentNo() > 0) .filter(p -> repaymentDate.equals(p.date())).reduce((a, b) -> b).orElse(null); @@ -265,20 +284,18 @@ public void recalculateNetAmortizationAndDeferredBalanceFrom(final LocalDate rep int fromIndex = projectedPayments.indexOf(lastRepayment); - BigDecimal runningNetAmortization = amountOrZero(projectedPayments.get(fromIndex).totalAmortizedAmount()); - BigDecimal runningDeferredBalance = amountOrZero(projectedPayments.get(fromIndex).deferredBalance()); + BigDecimal runningActualDiscountFeeBalance = amountOrZero(projectedPayments.get(fromIndex).actualDiscountFeeBalance()); final List adjusted = new ArrayList<>(projectedPayments.subList(0, fromIndex + 1)); for (int i = fromIndex + 1; i < projectedPayments.size(); i++) { final ProjectedPayment current = projectedPayments.get(i); final BigDecimal actualTotalAmortization = amountOrZero(current.actualAmortizationAmount()); - runningNetAmortization = runningNetAmortization.subtract(actualTotalAmortization, mc); - runningDeferredBalance = runningDeferredBalance.subtract(actualTotalAmortization, mc); + runningActualDiscountFeeBalance = runningActualDiscountFeeBalance.subtract(actualTotalAmortization, mc); adjusted.add(new ProjectedPayment(current.paymentNo(), current.date(), current.paymentsLeft(), current.expectedPaymentAmount(), - current.forecastPaymentAmount(), current.discountFactor(), current.npvValue(), current.balance(), - current.expectedAmortizationAmount(), money(runningNetAmortization), current.actualPaymentAmount(), - current.actualAmortizationAmount(), current.incomeModification(), money(runningDeferredBalance))); + current.discountFactor(), current.npvValue(), current.expectedBalance(), current.actualBalance(), + current.expectedAmortizationAmount(), current.actualPaymentAmount(), current.actualAmortizationAmount(), + current.incomeModification(), current.expectedDiscountFeeBalance(), money(runningActualDiscountFeeBalance))); } this.projectedPayments = List.copyOf(adjusted); } @@ -298,6 +315,7 @@ public void recalculateNetAmortizationAndDeferredBalanceFrom(final LocalDate rep public void applyRateChange(final BigDecimal newPeriodPaymentRate, final LocalDate rateChangeDate) { Objects.requireNonNull(newPeriodPaymentRate, "newPeriodPaymentRate"); Objects.requireNonNull(rateChangeDate, "rateChangeDate"); + updateCalculatedTillDate(rateChangeDate); final int rawSplitDayIndex = (int) ChronoUnit.DAYS.between(expectedDisbursementDate, rateChangeDate); if (rawSplitDayIndex < 0) { @@ -356,8 +374,8 @@ public void applyRateChange(final BigDecimal newPeriodPaymentRate, final LocalDa newDiscount = remainingTotal.subtract(balanceAtSplit, mc); } final int scale = currency.getDecimalPlaces(); - final BigDecimal newDailyPayment = tpv.multiply(newPeriodPaymentRate, mc).divide(BigDecimal.valueOf(npvDayCount), mc) - .setScale(scale, mc.getRoundingMode()); + final BigDecimal newDailyPayment = computeDailyPayment(tpv, newPeriodPaymentRate, npvDayCount, mc).setScale(scale, + mc.getRoundingMode()); final BigDecimal fractionalTotalDays = newNetDisb.add(newDiscount, mc).divide(newDailyPayment, mc).setScale(scale, mc.getRoundingMode()); final int newTerm = fractionalTotalDays.intValue(); @@ -412,6 +430,7 @@ private void rebuildOriginalProjectedPayments(final BalancesAndAmortizations ba) result.add(createDisbursementPayment()); + BigDecimal cumulativeExpectedAmort = BigDecimal.ZERO; for (int i = 0; i < totalTerm; i++) { final int periodNo = i + 1; final RateSegment seg = segmentForDay(periodNo); @@ -421,17 +440,19 @@ private void rebuildOriginalProjectedPayments(final BalancesAndAmortizations ba) final BigDecimal npvValue = MathUtil.negativeToZero(periodExpectedPayment.multiply(safeDf, mc)); final BigDecimal safeExpectedAmort = ba.expectedAmortizations().get(i).getAmount().min(discountFee); final BigDecimal balance = ba.balances().get(i).getAmount(); + cumulativeExpectedAmort = cumulativeExpectedAmort.add(safeExpectedAmort, mc); + final BigDecimal expectedDiscFeeBalance = discountFee.subtract(cumulativeExpectedAmort, mc); result.add(new ProjectedPayment(periodNo, expectedDisbursementDate.plusDays(periodNo), segRelativePeriod, - money(periodExpectedPayment), money(periodExpectedPayment), safeDf, money(npvValue), money(balance), - money(safeExpectedAmort), null, null, null, null, money(discountFee))); + money(periodExpectedPayment), safeDf, money(npvValue), money(balance), null, money(safeExpectedAmort), null, null, null, + money(expectedDiscFeeBalance), null)); } this.originalProjectedPayments = List.copyOf(result); } private Map aggregatePaymentsByDate() { - final Map result = new HashMap<>(); + final Map result = new LinkedHashMap<>(); for (final ActualPayment payment : actualPayments) { result.merge(payment.date(), payment.amount().getAmount(), BigDecimal::add); } @@ -459,15 +480,17 @@ private List buildPayments(final List payments, fi final List actualAmortizations = computeActualAmortizations(expectedAmortizationAmounts, payments, appliedCount); final List runningExpected = computeRunningExpectedPayments(pa.excess); final List tailPayments = new ArrayList<>(); - final BigDecimal tailNpv = buildTailPeriodsAndComputeNpv(tailPayments, pa.shortfall, appliedCount); - final BigDecimal totalNetAmortization = computeTotalNetAmortization(payments, runningExpected, appliedCount, tailNpv); + buildTailPeriodsAndComputeNpv(tailPayments, pa.shortfall, appliedCount); final BigDecimal discountFee = discountFeeAmount.getAmount(); + final BigDecimal netDisb = netDisbursementAmount.getAmount(); final List result = new ArrayList<>(effectiveTotalTerm() + 2 + tailPayments.size()); result.add(createDisbursementPayment()); BigDecimal cumulativeActualAmort = BigDecimal.ZERO; + BigDecimal cumulativeExpectedAmort = BigDecimal.ZERO; + BigDecimal runningActualBalance = netDisb; for (int i = 0; i < effectiveTotalTerm(); i++) { final int periodNo = i + 1; final boolean hasAppliedAmount = payments.get(i) != null; @@ -479,36 +502,37 @@ private List buildPayments(final List payments, fi final BigDecimal npvValue = MathUtil.negativeToZero(npvSource.multiply(safeDf, mc)); final BigDecimal safeExpectedAmort = ba.expectedAmortizations().get(i).getAmount().min(discountFee); - final BigDecimal netAmortization; final BigDecimal actualAmortization; final BigDecimal incomeModification; if (hasAppliedAmount) { actualAmortization = actualAmortizations.get(i); - netAmortization = totalNetAmortization.subtract(cumulativeActualAmort, mc).min(discountFee); cumulativeActualAmort = cumulativeActualAmort.add(actualAmortization, mc).min(discountFee); + runningActualBalance = runningActualBalance.subtract(payments.get(i), mc); final boolean hasPositivePayment = payments.get(i).signum() > 0; incomeModification = hasPositivePayment ? actualAmortization.subtract(safeExpectedAmort, mc) : null; } else { - netAmortization = BigDecimal.ZERO; actualAmortization = null; incomeModification = null; } - final BigDecimal deferredBalance = discountFee.subtract(cumulativeActualAmort, mc); + cumulativeExpectedAmort = cumulativeExpectedAmort.add(safeExpectedAmort, mc); + final BigDecimal expectedDiscountFeeBalance = discountFee.subtract(cumulativeExpectedAmort, mc); + final BigDecimal actualDiscountFeeBalance = discountFee.subtract(cumulativeActualAmort, mc); final BigDecimal balance = ba.balances().get(i).getAmount(); result.add(new ProjectedPayment(periodNo, expectedDisbursementDate.plusDays(periodNo), paymentsLeft, - money(periodExpectedPayment), money(safeRunningExpected), safeDf, money(npvValue), money(balance), - money(safeExpectedAmort), money(netAmortization), hasAppliedAmount ? money(payments.get(i)) : null, - actualAmortization != null ? money(actualAmortization) : null, - incomeModification != null ? money(incomeModification) : null, money(deferredBalance))); + money(periodExpectedPayment), safeDf, money(npvValue), money(balance), + hasAppliedAmount ? money(runningActualBalance) : null, money(safeExpectedAmort), + hasAppliedAmount ? money(payments.get(i)) : null, actualAmortization != null ? money(actualAmortization) : null, + incomeModification != null ? money(incomeModification) : null, money(expectedDiscountFeeBalance), + money(actualDiscountFeeBalance))); } result.addAll(tailPayments); while (result.size() > 1) { final ProjectedPayment last = result.getLast(); - if (last.forecastPaymentAmount() != null && last.forecastPaymentAmount().isZero()) { + if (last.npvValue() != null && last.npvValue().isZero()) { result.removeLast(); } else { break; @@ -524,8 +548,8 @@ private static BigDecimal amountOrZero(final Money value) { private ProjectedPayment createDisbursementPayment() { final Money negDisbursement = netDisbursementAmount.negated(mc); - return new ProjectedPayment(0, expectedDisbursementDate, 0L, negDisbursement, null, BigDecimal.ONE, negDisbursement, - netDisbursementAmount, null, null, null, null, null, discountFeeAmount); + return new ProjectedPayment(0, expectedDisbursementDate, 0L, negDisbursement, BigDecimal.ONE, negDisbursement, + netDisbursementAmount, netDisbursementAmount, null, null, null, null, discountFeeAmount, discountFeeAmount); } /** @@ -619,10 +643,9 @@ private List computeRunningExpectedPayments(final BigDecimal excess) return running; } - private BigDecimal buildTailPeriodsAndComputeNpv(final List tailPayments, final BigDecimal shortfall, + private void buildTailPeriodsAndComputeNpv(final List tailPayments, final BigDecimal shortfall, final int appliedCount) { final int totalTerm = effectiveTotalTerm(); - BigDecimal tailNpv = BigDecimal.ZERO; BigDecimal remaining = shortfall; int tailIndex = 0; while (remaining.signum() > 0) { @@ -632,26 +655,11 @@ private BigDecimal buildTailPeriodsAndComputeNpv(final List ta final BigDecimal df = safeDiscountFactor(dl, totalTerm); final BigDecimal forecast = remaining.min(tailExpectedPayment); final BigDecimal npv = MathUtil.negativeToZero(forecast.multiply(df, mc)); - tailNpv = tailNpv.add(npv, mc); - tailPayments.add(new ProjectedPayment(periodNo, expectedDisbursementDate.plusDays(periodNo), dl, null, money(forecast), df, - money(npv), null, null, money(BigDecimal.ZERO), null, null, null, null)); + tailPayments.add(new ProjectedPayment(periodNo, expectedDisbursementDate.plusDays(periodNo), dl, null, df, money(npv), null, + null, null, null, null, null, null, null)); remaining = remaining.subtract(forecast, mc); tailIndex++; } - return tailNpv; - } - - /** {@code totalNetAmortization = -netDisbursementAmount + sum(npvSource × DF) + tailNpv} */ - private BigDecimal computeTotalNetAmortization(final List payments, final List runningExpected, - final int appliedCount, final BigDecimal tailNpv) { - final int totalTerm = effectiveTotalTerm(); - BigDecimal total = netDisbursementAmount.getAmount().negate(); - for (int i = 0; i < totalTerm; i++) { - final BigDecimal npvSource = payments.get(i) != null ? payments.get(i) : runningExpected.get(i); - final BigDecimal df = safeDiscountFactor(paymentsLeft(i + 1, appliedCount), i + 1); - total = total.add(npvSource.multiply(df, mc), mc); - } - return total.add(tailNpv, mc); } private BigDecimal safeDiscountFactor(final long paymentsLeft, final int dayIndex) { diff --git a/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/calc/ProjectedPayment.java b/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/calc/ProjectedPayment.java index 8579037fff6..ed0c62ad18f 100644 --- a/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/calc/ProjectedPayment.java +++ b/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/calc/ProjectedPayment.java @@ -18,6 +18,7 @@ */ package org.apache.fineract.portfolio.workingcapitalloan.calc; +import com.google.gson.annotations.SerializedName; import java.math.BigDecimal; import java.time.LocalDate; import lombok.AllArgsConstructor; @@ -41,29 +42,25 @@ public class ProjectedPayment { /** Exponent for discount factor: {@code DF = 1/(1+EIR)^paymentsLeft}. Zero for paid periods. */ private final long paymentsLeft; - /** {@code (TPV × periodRate) / dayCount}; negated disbursement for row 0. */ + /** {@code (TPV × periodRate) / dayCount / 100}; negated disbursement for row 0. */ private final Money expectedPaymentAmount; - /** - * Running expected payment: always the expected amount, adjusted for excess from the tail; {@code null} for row 0. - */ - private final Money forecastPaymentAmount; - /** {@code 1 / (1 + EIR)^paymentsLeft} */ private final BigDecimal discountFactor; - /** {@code forecastPayment × discountFactor} */ + /** {@code npvSource × discountFactor} */ private final Money npvValue; - /** {@code balance[i] = balance[i-1] × (1+EIR) - expectedPayment} */ - private final Money balance; + /** Running balance of net disbursement based on expected payments. */ + @SerializedName(value = "expectedBalance", alternate = "balance") + private final Money expectedBalance; + + /** Running balance of net disbursement based on actual payments. */ + private final Money actualBalance; /** {@code balance[i] + expectedPayment - balance[i-1]} (equivalent to {@code prevBalance × EIR}) */ private final Money expectedAmortizationAmount; - /** First paid: sum of all NPV values; subsequent: {@code totalAmort[i-1] - actualAmort[i-1]}. */ - private final Money totalAmortizedAmount; - private final Money actualPaymentAmount; /** Cursor-based consumption of expected amortization proportional to payment ratio. */ @@ -72,6 +69,10 @@ public class ProjectedPayment { /** {@code actualAmortization - expectedAmortization} */ private final Money incomeModification; - /** {@code deferredBalance[i-1] - actualAmortization[i]} */ - private final Money deferredBalance; + /** Running balance of discount fee based on expected amortizations. */ + @SerializedName(value = "expectedDiscountFeeBalance", alternate = "deferredBalance") + private final Money expectedDiscountFeeBalance; + + /** Running balance of discount fee based on actual amortizations. */ + private final Money actualDiscountFeeBalance; } diff --git a/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/data/ProjectedAmortizationSchedulePaymentData.java b/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/data/ProjectedAmortizationSchedulePaymentData.java index 10f5a849b4d..e5e396ab946 100644 --- a/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/data/ProjectedAmortizationSchedulePaymentData.java +++ b/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/data/ProjectedAmortizationSchedulePaymentData.java @@ -34,11 +34,13 @@ public class ProjectedAmortizationSchedulePaymentData { private final BigDecimal expectedPaymentAmount; private final BigDecimal discountFactor; private final BigDecimal npvValue; - private final BigDecimal balance; + private final BigDecimal expectedBalance; + private final BigDecimal actualBalance; private final BigDecimal expectedAmortizationAmount; private final BigDecimal actualPaymentAmount; private final BigDecimal actualAmortizationAmount; private final BigDecimal incomeModification; - private final BigDecimal deferredBalance; + private final BigDecimal expectedDiscountFeeBalance; + private final BigDecimal actualDiscountFeeBalance; } diff --git a/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/mapper/ProjectedAmortizationScheduleMapper.java b/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/mapper/ProjectedAmortizationScheduleMapper.java index 19cb8794ef9..b2e4ce3683e 100644 --- a/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/mapper/ProjectedAmortizationScheduleMapper.java +++ b/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/mapper/ProjectedAmortizationScheduleMapper.java @@ -59,12 +59,14 @@ private ProjectedAmortizationSchedulePaymentData toPaymentData(final ProjectedPa .expectedPaymentAmount(roundMoney(payment.expectedPaymentAmount())) // .discountFactor(payment.discountFactor()) // .npvValue(roundMoney(payment.npvValue())) // - .balance(roundMoney(payment.balance())) // + .expectedBalance(roundMoney(payment.expectedBalance())) // + .actualBalance(roundMoney(payment.actualBalance())) // .expectedAmortizationAmount(roundMoney(payment.expectedAmortizationAmount())) // .actualPaymentAmount(roundMoney(payment.actualPaymentAmount())) // .actualAmortizationAmount(roundMoney(payment.actualAmortizationAmount())) // .incomeModification(roundMoney(payment.incomeModification())) // - .deferredBalance(roundMoney(payment.deferredBalance())) // + .expectedDiscountFeeBalance(roundMoney(payment.expectedDiscountFeeBalance())) // + .actualDiscountFeeBalance(roundMoney(payment.actualDiscountFeeBalance())) // .build(); } diff --git a/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/service/WorkingCapitalLoanAmortizationScheduleWriteServiceImpl.java b/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/service/WorkingCapitalLoanAmortizationScheduleWriteServiceImpl.java index 5463bb25c52..3d62bf21cd9 100644 --- a/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/service/WorkingCapitalLoanAmortizationScheduleWriteServiceImpl.java +++ b/fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/service/WorkingCapitalLoanAmortizationScheduleWriteServiceImpl.java @@ -66,7 +66,7 @@ public void generateAndSaveAmortizationSchedule(final Long loanId, final Project request.getPeriodPaymentRate(), // request.getNpvDayCount(), // request.getExpectedDisbursementDate(), // - mc, WorkingCapitalLoanCurrencyResolver.resolveCurrency(loan)); + mc, WorkingCapitalLoanCurrencyResolver.resolveCurrency(loan), DateUtils.getBusinessLocalDate()); scheduleRepositoryWrapper.writeModel(loan, model); } @@ -95,7 +95,7 @@ public void generateAndSaveAmortizationScheduleOnDisbursement(final WorkingCapit final ProjectedAmortizationScheduleModel model = ProjectedAmortizationScheduleModel.generate(discount, disbursedAmount, totalPayment, periodPaymentRate, npvDayCount, disbursementDate, mc, - WorkingCapitalLoanCurrencyResolver.resolveCurrency(loan)); + WorkingCapitalLoanCurrencyResolver.resolveCurrency(loan), DateUtils.getBusinessLocalDate()); scheduleRepositoryWrapper.writeModel(loan, model); } @@ -157,7 +157,7 @@ private void generateAndSaveForApprovedLoanState(final WorkingCapitalLoan loan) final ProjectedAmortizationScheduleModel model = ProjectedAmortizationScheduleModel.generate(discount, netDisbursementAmount, totalPayment, periodPaymentRate, npvDayCount, expectedDisbursementDate, mc, - WorkingCapitalLoanCurrencyResolver.resolveCurrency(loan)); + WorkingCapitalLoanCurrencyResolver.resolveCurrency(loan), DateUtils.getBusinessLocalDate()); scheduleRepositoryWrapper.writeModel(loan, model); } diff --git a/fineract-working-capital-loan/src/test/java/org/apache/fineract/portfolio/workingcapitalloan/calc/ProjectedAmortizationScheduleCalculatorTest.java b/fineract-working-capital-loan/src/test/java/org/apache/fineract/portfolio/workingcapitalloan/calc/ProjectedAmortizationScheduleCalculatorTest.java index 5e47ac8a6d3..c2c70162793 100644 --- a/fineract-working-capital-loan/src/test/java/org/apache/fineract/portfolio/workingcapitalloan/calc/ProjectedAmortizationScheduleCalculatorTest.java +++ b/fineract-working-capital-loan/src/test/java/org/apache/fineract/portfolio/workingcapitalloan/calc/ProjectedAmortizationScheduleCalculatorTest.java @@ -41,62 +41,60 @@ class ProjectedAmortizationScheduleCalculatorTest { private static final BigDecimal DISCOUNT_FEE = new BigDecimal("1000"); private static final BigDecimal NET_DISBURSEMENT = new BigDecimal("9000"); private static final BigDecimal TPV = new BigDecimal("100000"); - private static final BigDecimal RATE = new BigDecimal("0.18"); + private static final BigDecimal RATE = new BigDecimal("18"); private static final int DAY_COUNT = 360; private static final LocalDate EXPECTED_DISBURSEMENT_DATE = LocalDate.of(2019, 1, 1); private static final int TERM = 200; - private final ProjectedAmortizationScheduleCalculator calculator = new DefaultProjectedAmortizationScheduleCalculator(); - @Test void testAddDisbursement_term10_discountFee50_netDisbursement450_then430() { final BigDecimal discountFee = new BigDecimal("50"); final BigDecimal initialNetDisbursement = new BigDecimal("450"); final LocalDate initialDisbursementDate = LocalDate.of(2019, 1, 1); - final ProjectedAmortizationScheduleModel initial = calculator.generateModel(discountFee, initialNetDisbursement, TPV, RATE, - DAY_COUNT, initialDisbursementDate, MC, CURRENCY); - final ProjectedAmortizationScheduleModel model1 = calculator.addDisbursement(initial, discountFee, initialNetDisbursement, + final ProjectedAmortizationScheduleModel initial = ProjectedAmortizationScheduleModel.generate(discountFee, initialNetDisbursement, + TPV, RATE, DAY_COUNT, initialDisbursementDate, MC, CURRENCY, EXPECTED_DISBURSEMENT_DATE); + final ProjectedAmortizationScheduleModel model1 = initial.regenerate(discountFee, initialNetDisbursement, initialDisbursementDate, initialDisbursementDate); assertEquals(10, model1.originalPaymentNumber()); assertEquals(11, model1.projectedPayments().size()); - checkInst(model1, 0, 0, LocalDate.of(2019, 1, 1), 0, -450.00, null, null, 1.00000000, -450.00, 450.00, null, null, null, null, - 50.00); - checkInst(model1, 1, 1, LocalDate.of(2019, 1, 2), 1, 50.00, 50.00, null, 0.98074794, 49.04, 408.83, 8.83, 0.00, null, null, 50.00); - checkInst(model1, 2, 2, LocalDate.of(2019, 1, 3), 2, 50.00, 50.00, null, 0.96186652, 48.09, 366.86, 8.03, 0.00, null, null, 50.00); - checkInst(model1, 3, 3, LocalDate.of(2019, 1, 4), 3, 50.00, 50.00, null, 0.94334860, 47.17, 324.06, 7.20, 0.00, null, null, 50.00); - checkInst(model1, 4, 4, LocalDate.of(2019, 1, 5), 4, 50.00, 50.00, null, 0.92518720, 46.26, 280.42, 6.36, 0.00, null, null, 50.00); - checkInst(model1, 5, 5, LocalDate.of(2019, 1, 6), 5, 50.00, 50.00, null, 0.90737544, 45.37, 235.93, 5.50, 0.00, null, null, 50.00); - checkInst(model1, 6, 6, LocalDate.of(2019, 1, 7), 6, 50.00, 50.00, null, 0.88990659, 44.50, 190.56, 4.63, 0.00, null, null, 50.00); - checkInst(model1, 7, 7, LocalDate.of(2019, 1, 8), 7, 50.00, 50.00, null, 0.87277405, 43.64, 144.30, 3.74, 0.00, null, null, 50.00); - checkInst(model1, 8, 8, LocalDate.of(2019, 1, 9), 8, 50.00, 50.00, null, 0.85597135, 42.80, 97.13, 2.83, 0.00, null, null, 50.00); - checkInst(model1, 9, 9, LocalDate.of(2019, 1, 10), 9, 50.00, 50.00, null, 0.83949214, 41.97, 49.04, 1.91, 0.00, null, null, 50.00); - checkInst(model1, 10, 10, LocalDate.of(2019, 1, 11), 10, 50.00, 50.00, null, 0.82333018, 41.17, 0.00, 0.96, 0.00, null, null, + checkInst(model1, 0, 0, LocalDate.of(2019, 1, 1), 0, -450.00, null, 1.00000000, -450.00, 450.00, 450.00, null, null, null, 50.00, 50.00); + checkInst(model1, 1, 1, LocalDate.of(2019, 1, 2), 1, 50.00, null, 0.98074794, 49.04, 408.83, null, 8.83, null, null, 41.17, 50.00); + checkInst(model1, 2, 2, LocalDate.of(2019, 1, 3), 2, 50.00, null, 0.96186652, 48.09, 366.86, null, 8.03, null, null, 33.14, 50.00); + checkInst(model1, 3, 3, LocalDate.of(2019, 1, 4), 3, 50.00, null, 0.94334860, 47.17, 324.06, null, 7.20, null, null, 25.94, 50.00); + checkInst(model1, 4, 4, LocalDate.of(2019, 1, 5), 4, 50.00, null, 0.92518720, 46.26, 280.42, null, 6.36, null, null, 19.58, 50.00); + checkInst(model1, 5, 5, LocalDate.of(2019, 1, 6), 5, 50.00, null, 0.90737544, 45.37, 235.93, null, 5.50, null, null, 14.08, 50.00); + checkInst(model1, 6, 6, LocalDate.of(2019, 1, 7), 6, 50.00, null, 0.88990659, 44.50, 190.56, null, 4.63, null, null, 9.45, 50.00); + checkInst(model1, 7, 7, LocalDate.of(2019, 1, 8), 7, 50.00, null, 0.87277405, 43.64, 144.30, null, 3.74, null, null, 5.71, 50.00); + checkInst(model1, 8, 8, LocalDate.of(2019, 1, 9), 8, 50.00, null, 0.85597135, 42.80, 97.13, null, 2.83, null, null, 2.88, 50.00); + checkInst(model1, 9, 9, LocalDate.of(2019, 1, 10), 9, 50.00, null, 0.83949214, 41.97, 49.04, null, 1.91, null, null, 0.97, 50.00); + checkInst(model1, 10, 10, LocalDate.of(2019, 1, 11), 10, 50.00, null, 0.82333018, 41.17, 0.00, null, 0.96, null, null, 0.01, 50.00); final BigDecimal newNetDisbursement = new BigDecimal("430"); final LocalDate newDisbursementDate = LocalDate.of(2019, 1, 5); - final ProjectedAmortizationScheduleModel model2 = calculator.addDisbursement(model1, discountFee, newNetDisbursement, + final ProjectedAmortizationScheduleModel model2 = model1.regenerate(discountFee, newNetDisbursement, newDisbursementDate, newDisbursementDate); assertEquals(10, model2.originalPaymentNumber()); assertEquals(11, model2.projectedPayments().size()); - checkInst(model2, 0, 0, LocalDate.of(2019, 1, 5), 0, -430.00, null, null, 1.00000000, -430.00, 430.00, null, null, null, null, + checkInst(model2, 0, 0, LocalDate.of(2019, 1, 5), 0, -430.00, null, 1.00000000, -430.00, 430.00, 430.00, null, null, null, 50.00, + 50.00); + checkInst(model2, 1, 1, LocalDate.of(2019, 1, 6), 1, 50.00, null, 0.97237826, 48.62, 392.21, null, 12.21, null, null, 37.79, 50.00); + checkInst(model2, 2, 2, LocalDate.of(2019, 1, 7), 2, 50.00, null, 0.94551948, 47.28, 353.36, null, 11.14, null, null, 26.65, 50.00); + checkInst(model2, 3, 3, LocalDate.of(2019, 1, 8), 3, 50.00, null, 0.91940259, 45.97, 313.39, null, 10.04, null, null, 16.61, 50.00); + checkInst(model2, 4, 4, LocalDate.of(2019, 1, 9), 4, 50.00, null, 0.89400709, 44.70, 272.30, null, 8.90, null, null, 7.71, 50.00); + checkInst(model2, 5, 5, LocalDate.of(2019, 1, 10), 5, 50.00, null, 0.86931306, 43.47, 230.03, null, 7.73, null, null, -0.02, 50.00); + checkInst(model2, 6, 6, LocalDate.of(2019, 1, 11), 6, 50.00, null, 0.84530113, 42.27, 186.57, null, 6.53, null, null, -6.55, 50.00); + checkInst(model2, 7, 7, LocalDate.of(2019, 1, 12), 7, 50.00, null, 0.82195244, 41.10, 141.87, null, 5.30, null, null, -11.85, 50.00); - checkInst(model2, 1, 1, LocalDate.of(2019, 1, 6), 1, 50.00, 50.00, null, 0.97237826, 48.62, 392.21, 12.21, 0.00, null, null, 50.00); - checkInst(model2, 2, 2, LocalDate.of(2019, 1, 7), 2, 50.00, 50.00, null, 0.94551948, 47.28, 353.36, 11.14, 0.00, null, null, 50.00); - checkInst(model2, 3, 3, LocalDate.of(2019, 1, 8), 3, 50.00, 50.00, null, 0.91940259, 45.97, 313.39, 10.04, 0.00, null, null, 50.00); - checkInst(model2, 4, 4, LocalDate.of(2019, 1, 9), 4, 50.00, 50.00, null, 0.89400709, 44.70, 272.30, 8.90, 0.00, null, null, 50.00); - checkInst(model2, 5, 5, LocalDate.of(2019, 1, 10), 5, 50.00, 50.00, null, 0.86931306, 43.47, 230.03, 7.73, 0.00, null, null, 50.00); - checkInst(model2, 6, 6, LocalDate.of(2019, 1, 11), 6, 50.00, 50.00, null, 0.84530113, 42.27, 186.57, 6.53, 0.00, null, null, 50.00); - checkInst(model2, 7, 7, LocalDate.of(2019, 1, 12), 7, 50.00, 50.00, null, 0.82195244, 41.10, 141.87, 5.30, 0.00, null, null, 50.00); - checkInst(model2, 8, 8, LocalDate.of(2019, 1, 13), 8, 50.00, 50.00, null, 0.79924869, 39.96, 95.89, 4.03, 0.00, null, null, 50.00); - checkInst(model2, 9, 9, LocalDate.of(2019, 1, 14), 9, 50.00, 50.00, null, 0.77717205, 38.86, 48.62, 2.72, 0.00, null, null, 50.00); - checkInst(model2, 10, 10, LocalDate.of(2019, 1, 15), 10, 50.00, 50.00, null, 0.75570520, 37.79, 0.00, 1.38, 0.00, null, null, + checkInst(model2, 8, 8, LocalDate.of(2019, 1, 13), 8, 50.00, null, 0.79924869, 39.96, 95.89, null, 4.03, null, null, -15.88, 50.00); + checkInst(model2, 9, 9, LocalDate.of(2019, 1, 14), 9, 50.00, null, 0.77717205, 38.86, 48.62, null, 2.72, null, null, -18.60, 50.00); + checkInst(model2, 10, 10, LocalDate.of(2019, 1, 15), 10, 50.00, null, 0.75570520, 37.79, 0.00, null, 1.38, null, null, -19.98, 50.00); } @@ -106,408 +104,408 @@ void testProjectedSchedule_term200_discountFee1000_netDisbursement9000() { assertEquals(TERM, model.originalPaymentNumber()); - checkInst(model, 0, 0, EXPECTED_DISBURSEMENT_DATE, 0, -9000.00, null, null, 1.00000000, -9000.00, 9000.00, null, null, null, null, - 1000.00); + checkInst(model, 0, 0, EXPECTED_DISBURSEMENT_DATE, 0, -9000.00, null, 1.00000000, -9000.00, 9000.00, 9000.00, null, null, null, + 1000.00, 1000.00); - checkInst(model, 1, 1, LocalDate.of(2019, 1, 2), 1, 50.00, 50.00, null, 0.99893332, 49.95, 8959.61, 9.61, 0.00, null, null, + checkInst(model, 1, 1, LocalDate.of(2019, 1, 2), 1, 50.00, null, 0.99893332, 49.95, 8959.61, null, 9.61, null, null, 990.39, 1000.00); - checkInst(model, 2, 2, LocalDate.of(2019, 1, 3), 2, 50.00, 50.00, null, 0.99786779, 49.89, 8919.18, 9.57, 0.00, null, null, + checkInst(model, 2, 2, LocalDate.of(2019, 1, 3), 2, 50.00, null, 0.99786779, 49.89, 8919.18, null, 9.57, null, null, 980.82, 1000.00); - checkInst(model, 3, 3, LocalDate.of(2019, 1, 4), 3, 50.00, 50.00, null, 0.99680339, 49.84, 8878.70, 9.52, 0.00, null, null, + checkInst(model, 3, 3, LocalDate.of(2019, 1, 4), 3, 50.00, null, 0.99680339, 49.84, 8878.70, null, 9.52, null, null, 971.30, 1000.00); - checkInst(model, 4, 4, LocalDate.of(2019, 1, 5), 4, 50.00, 50.00, null, 0.99574012, 49.79, 8838.18, 9.48, 0.00, null, null, + checkInst(model, 4, 4, LocalDate.of(2019, 1, 5), 4, 50.00, null, 0.99574012, 49.79, 8838.18, null, 9.48, null, null, 961.82, 1000.00); - checkInst(model, 5, 5, LocalDate.of(2019, 1, 6), 5, 50.00, 50.00, null, 0.99467799, 49.73, 8797.62, 9.44, 0.00, null, null, + checkInst(model, 5, 5, LocalDate.of(2019, 1, 6), 5, 50.00, null, 0.99467799, 49.73, 8797.62, null, 9.44, null, null, 952.38, 1000.00); - checkInst(model, 6, 6, LocalDate.of(2019, 1, 7), 6, 50.00, 50.00, null, 0.99361699, 49.68, 8757.01, 9.39, 0.00, null, null, + checkInst(model, 6, 6, LocalDate.of(2019, 1, 7), 6, 50.00, null, 0.99361699, 49.68, 8757.01, null, 9.39, null, null, 942.99, 1000.00); - checkInst(model, 7, 7, LocalDate.of(2019, 1, 8), 7, 50.00, 50.00, null, 0.99255712, 49.63, 8716.36, 9.35, 0.00, null, null, + checkInst(model, 7, 7, LocalDate.of(2019, 1, 8), 7, 50.00, null, 0.99255712, 49.63, 8716.36, null, 9.35, null, null, 933.64, 1000.00); - checkInst(model, 8, 8, LocalDate.of(2019, 1, 9), 8, 50.00, 50.00, null, 0.99149839, 49.57, 8675.67, 9.31, 0.00, null, null, + checkInst(model, 8, 8, LocalDate.of(2019, 1, 9), 8, 50.00, null, 0.99149839, 49.57, 8675.67, null, 9.31, null, null, 924.33, 1000.00); - checkInst(model, 9, 9, LocalDate.of(2019, 1, 10), 9, 50.00, 50.00, null, 0.99044078, 49.52, 8634.94, 9.26, 0.00, null, null, + checkInst(model, 9, 9, LocalDate.of(2019, 1, 10), 9, 50.00, null, 0.99044078, 49.52, 8634.94, null, 9.26, null, null, 915.07, 1000.00); - checkInst(model, 10, 10, LocalDate.of(2019, 1, 11), 10, 50.00, 50.00, null, 0.98938430, 49.47, 8594.16, 9.22, 0.00, null, null, + checkInst(model, 10, 10, LocalDate.of(2019, 1, 11), 10, 50.00, null, 0.98938430, 49.47, 8594.16, null, 9.22, null, null, 905.85, 1000.00); - checkInst(model, 11, 11, LocalDate.of(2019, 1, 12), 11, 50.00, 50.00, null, 0.98832895, 49.42, 8553.33, 9.18, 0.00, null, null, + checkInst(model, 11, 11, LocalDate.of(2019, 1, 12), 11, 50.00, null, 0.98832895, 49.42, 8553.33, null, 9.18, null, null, 896.67, 1000.00); - checkInst(model, 12, 12, LocalDate.of(2019, 1, 13), 12, 50.00, 50.00, null, 0.98727472, 49.36, 8512.47, 9.13, 0.00, null, null, + checkInst(model, 12, 12, LocalDate.of(2019, 1, 13), 12, 50.00, null, 0.98727472, 49.36, 8512.47, null, 9.13, null, null, 887.54, 1000.00); - checkInst(model, 13, 13, LocalDate.of(2019, 1, 14), 13, 50.00, 50.00, null, 0.98622162, 49.31, 8471.56, 9.09, 0.00, null, null, + checkInst(model, 13, 13, LocalDate.of(2019, 1, 14), 13, 50.00, null, 0.98622162, 49.31, 8471.56, null, 9.09, null, null, 878.45, 1000.00); - checkInst(model, 14, 14, LocalDate.of(2019, 1, 15), 14, 50.00, 50.00, null, 0.98516964, 49.26, 8430.60, 9.05, 0.00, null, null, + checkInst(model, 14, 14, LocalDate.of(2019, 1, 15), 14, 50.00, null, 0.98516964, 49.26, 8430.60, null, 9.05, null, null, 869.40, 1000.00); - checkInst(model, 15, 15, LocalDate.of(2019, 1, 16), 15, 50.00, 50.00, null, 0.98411879, 49.21, 8389.61, 9.00, 0.00, null, null, + checkInst(model, 15, 15, LocalDate.of(2019, 1, 16), 15, 50.00, null, 0.98411879, 49.21, 8389.61, null, 9.00, null, null, 860.40, 1000.00); - checkInst(model, 16, 16, LocalDate.of(2019, 1, 17), 16, 50.00, 50.00, null, 0.98306905, 49.15, 8348.56, 8.96, 0.00, null, null, + checkInst(model, 16, 16, LocalDate.of(2019, 1, 17), 16, 50.00, null, 0.98306905, 49.15, 8348.56, null, 8.96, null, null, 851.44, 1000.00); - checkInst(model, 17, 17, LocalDate.of(2019, 1, 18), 17, 50.00, 50.00, null, 0.98202044, 49.10, 8307.48, 8.91, 0.00, null, null, + checkInst(model, 17, 17, LocalDate.of(2019, 1, 18), 17, 50.00, null, 0.98202044, 49.10, 8307.48, null, 8.91, null, null, 842.53, 1000.00); - checkInst(model, 18, 18, LocalDate.of(2019, 1, 19), 18, 50.00, 50.00, null, 0.98097294, 49.05, 8266.35, 8.87, 0.00, null, null, + checkInst(model, 18, 18, LocalDate.of(2019, 1, 19), 18, 50.00, null, 0.98097294, 49.05, 8266.35, null, 8.87, null, null, 833.66, 1000.00); - checkInst(model, 19, 19, LocalDate.of(2019, 1, 20), 19, 50.00, 50.00, null, 0.97992656, 49.00, 8225.18, 8.83, 0.00, null, null, + checkInst(model, 19, 19, LocalDate.of(2019, 1, 20), 19, 50.00, null, 0.97992656, 49.00, 8225.18, null, 8.83, null, null, 824.83, 1000.00); - checkInst(model, 20, 20, LocalDate.of(2019, 1, 21), 20, 50.00, 50.00, null, 0.97888129, 48.94, 8183.96, 8.78, 0.00, null, null, + checkInst(model, 20, 20, LocalDate.of(2019, 1, 21), 20, 50.00, null, 0.97888129, 48.94, 8183.96, null, 8.78, null, null, 816.05, 1000.00); - checkInst(model, 21, 21, LocalDate.of(2019, 1, 22), 21, 50.00, 50.00, null, 0.97783715, 48.89, 8142.70, 8.74, 0.00, null, null, + checkInst(model, 21, 21, LocalDate.of(2019, 1, 22), 21, 50.00, null, 0.97783715, 48.89, 8142.70, null, 8.74, null, null, 807.31, 1000.00); - checkInst(model, 22, 22, LocalDate.of(2019, 1, 23), 22, 50.00, 50.00, null, 0.97679411, 48.84, 8101.39, 8.69, 0.00, null, null, + checkInst(model, 22, 22, LocalDate.of(2019, 1, 23), 22, 50.00, null, 0.97679411, 48.84, 8101.39, null, 8.69, null, null, 798.62, 1000.00); - checkInst(model, 23, 23, LocalDate.of(2019, 1, 24), 23, 50.00, 50.00, null, 0.97575219, 48.79, 8060.04, 8.65, 0.00, null, null, + checkInst(model, 23, 23, LocalDate.of(2019, 1, 24), 23, 50.00, null, 0.97575219, 48.79, 8060.04, null, 8.65, null, null, 789.97, 1000.00); - checkInst(model, 24, 24, LocalDate.of(2019, 1, 25), 24, 50.00, 50.00, null, 0.97471138, 48.74, 8018.65, 8.61, 0.00, null, null, + checkInst(model, 24, 24, LocalDate.of(2019, 1, 25), 24, 50.00, null, 0.97471138, 48.74, 8018.65, null, 8.61, null, null, 781.36, 1000.00); - checkInst(model, 25, 25, LocalDate.of(2019, 1, 26), 25, 50.00, 50.00, null, 0.97367168, 48.68, 7977.21, 8.56, 0.00, null, null, + checkInst(model, 25, 25, LocalDate.of(2019, 1, 26), 25, 50.00, null, 0.97367168, 48.68, 7977.21, null, 8.56, null, null, 772.80, 1000.00); - checkInst(model, 26, 26, LocalDate.of(2019, 1, 27), 26, 50.00, 50.00, null, 0.97263309, 48.63, 7935.73, 8.52, 0.00, null, null, + checkInst(model, 26, 26, LocalDate.of(2019, 1, 27), 26, 50.00, null, 0.97263309, 48.63, 7935.73, null, 8.52, null, null, 764.28, 1000.00); - checkInst(model, 27, 27, LocalDate.of(2019, 1, 28), 27, 50.00, 50.00, null, 0.97159560, 48.58, 7894.21, 8.47, 0.00, null, null, + checkInst(model, 27, 27, LocalDate.of(2019, 1, 28), 27, 50.00, null, 0.97159560, 48.58, 7894.21, null, 8.47, null, null, 755.81, 1000.00); - checkInst(model, 28, 28, LocalDate.of(2019, 1, 29), 28, 50.00, 50.00, null, 0.97055922, 48.53, 7852.63, 8.43, 0.00, null, null, + checkInst(model, 28, 28, LocalDate.of(2019, 1, 29), 28, 50.00, null, 0.97055922, 48.53, 7852.63, null, 8.43, null, null, 747.38, 1000.00); - checkInst(model, 29, 29, LocalDate.of(2019, 1, 30), 29, 50.00, 50.00, null, 0.96952395, 48.48, 7811.02, 8.39, 0.00, null, null, + checkInst(model, 29, 29, LocalDate.of(2019, 1, 30), 29, 50.00, null, 0.96952395, 48.48, 7811.02, null, 8.39, null, null, 738.99, 1000.00); - checkInst(model, 30, 30, LocalDate.of(2019, 1, 31), 30, 50.00, 50.00, null, 0.96848979, 48.42, 7769.36, 8.34, 0.00, null, null, + checkInst(model, 30, 30, LocalDate.of(2019, 1, 31), 30, 50.00, null, 0.96848979, 48.42, 7769.36, null, 8.34, null, null, 730.65, 1000.00); - checkInst(model, 31, 31, LocalDate.of(2019, 2, 1), 31, 50.00, 50.00, null, 0.96745672, 48.37, 7727.66, 8.30, 0.00, null, null, + checkInst(model, 31, 31, LocalDate.of(2019, 2, 1), 31, 50.00, null, 0.96745672, 48.37, 7727.66, null, 8.30, null, null, 722.35, 1000.00); - checkInst(model, 32, 32, LocalDate.of(2019, 2, 2), 32, 50.00, 50.00, null, 0.96642476, 48.32, 7685.91, 8.25, 0.00, null, null, + checkInst(model, 32, 32, LocalDate.of(2019, 2, 2), 32, 50.00, null, 0.96642476, 48.32, 7685.91, null, 8.25, null, null, 714.10, 1000.00); - checkInst(model, 33, 33, LocalDate.of(2019, 2, 3), 33, 50.00, 50.00, null, 0.96539390, 48.27, 7644.12, 8.21, 0.00, null, null, + checkInst(model, 33, 33, LocalDate.of(2019, 2, 3), 33, 50.00, null, 0.96539390, 48.27, 7644.12, null, 8.21, null, null, 705.89, 1000.00); - checkInst(model, 34, 34, LocalDate.of(2019, 2, 4), 34, 50.00, 50.00, null, 0.96436413, 48.22, 7602.28, 8.16, 0.00, null, null, + checkInst(model, 34, 34, LocalDate.of(2019, 2, 4), 34, 50.00, null, 0.96436413, 48.22, 7602.28, null, 8.16, null, null, 697.73, 1000.00); - checkInst(model, 35, 35, LocalDate.of(2019, 2, 5), 35, 50.00, 50.00, null, 0.96333547, 48.17, 7560.40, 8.12, 0.00, null, null, + checkInst(model, 35, 35, LocalDate.of(2019, 2, 5), 35, 50.00, null, 0.96333547, 48.17, 7560.40, null, 8.12, null, null, 689.61, 1000.00); - checkInst(model, 36, 36, LocalDate.of(2019, 2, 6), 36, 50.00, 50.00, null, 0.96230790, 48.12, 7518.47, 8.07, 0.00, null, null, + checkInst(model, 36, 36, LocalDate.of(2019, 2, 6), 36, 50.00, null, 0.96230790, 48.12, 7518.47, null, 8.07, null, null, 681.54, 1000.00); - checkInst(model, 37, 37, LocalDate.of(2019, 2, 7), 37, 50.00, 50.00, null, 0.96128143, 48.06, 7476.50, 8.03, 0.00, null, null, + checkInst(model, 37, 37, LocalDate.of(2019, 2, 7), 37, 50.00, null, 0.96128143, 48.06, 7476.50, null, 8.03, null, null, 673.51, 1000.00); - checkInst(model, 38, 38, LocalDate.of(2019, 2, 8), 38, 50.00, 50.00, null, 0.96025606, 48.01, 7434.48, 7.98, 0.00, null, null, + checkInst(model, 38, 38, LocalDate.of(2019, 2, 8), 38, 50.00, null, 0.96025606, 48.01, 7434.48, null, 7.98, null, null, 665.53, 1000.00); - checkInst(model, 39, 39, LocalDate.of(2019, 2, 9), 39, 50.00, 50.00, null, 0.95923178, 47.96, 7392.42, 7.94, 0.00, null, null, + checkInst(model, 39, 39, LocalDate.of(2019, 2, 9), 39, 50.00, null, 0.95923178, 47.96, 7392.42, null, 7.94, null, null, 657.59, 1000.00); - checkInst(model, 40, 40, LocalDate.of(2019, 2, 10), 40, 50.00, 50.00, null, 0.95820859, 47.91, 7350.31, 7.89, 0.00, null, null, + checkInst(model, 40, 40, LocalDate.of(2019, 2, 10), 40, 50.00, null, 0.95820859, 47.91, 7350.31, null, 7.89, null, null, 649.70, 1000.00); - checkInst(model, 41, 41, LocalDate.of(2019, 2, 11), 41, 50.00, 50.00, null, 0.95718649, 47.86, 7308.16, 7.85, 0.00, null, null, + checkInst(model, 41, 41, LocalDate.of(2019, 2, 11), 41, 50.00, null, 0.95718649, 47.86, 7308.16, null, 7.85, null, null, 641.85, 1000.00); - checkInst(model, 42, 42, LocalDate.of(2019, 2, 12), 42, 50.00, 50.00, null, 0.95616548, 47.81, 7265.97, 7.80, 0.00, null, null, + checkInst(model, 42, 42, LocalDate.of(2019, 2, 12), 42, 50.00, null, 0.95616548, 47.81, 7265.97, null, 7.80, null, null, 634.05, 1000.00); - checkInst(model, 43, 43, LocalDate.of(2019, 2, 13), 43, 50.00, 50.00, null, 0.95514557, 47.76, 7223.72, 7.76, 0.00, null, null, + checkInst(model, 43, 43, LocalDate.of(2019, 2, 13), 43, 50.00, null, 0.95514557, 47.76, 7223.72, null, 7.76, null, null, 626.29, 1000.00); - checkInst(model, 44, 44, LocalDate.of(2019, 2, 14), 44, 50.00, 50.00, null, 0.95412674, 47.71, 7181.44, 7.71, 0.00, null, null, + checkInst(model, 44, 44, LocalDate.of(2019, 2, 14), 44, 50.00, null, 0.95412674, 47.71, 7181.44, null, 7.71, null, null, 618.58, 1000.00); - checkInst(model, 45, 45, LocalDate.of(2019, 2, 15), 45, 50.00, 50.00, null, 0.95310899, 47.66, 7139.11, 7.67, 0.00, null, null, + checkInst(model, 45, 45, LocalDate.of(2019, 2, 15), 45, 50.00, null, 0.95310899, 47.66, 7139.11, null, 7.67, null, null, 610.91, 1000.00); - checkInst(model, 46, 46, LocalDate.of(2019, 2, 16), 46, 50.00, 50.00, null, 0.95209233, 47.60, 7096.73, 7.62, 0.00, null, null, + checkInst(model, 46, 46, LocalDate.of(2019, 2, 16), 46, 50.00, null, 0.95209233, 47.60, 7096.73, null, 7.62, null, null, 603.29, 1000.00); - checkInst(model, 47, 47, LocalDate.of(2019, 2, 17), 47, 50.00, 50.00, null, 0.95107676, 47.55, 7054.31, 7.58, 0.00, null, null, + checkInst(model, 47, 47, LocalDate.of(2019, 2, 17), 47, 50.00, null, 0.95107676, 47.55, 7054.31, null, 7.58, null, null, 595.71, 1000.00); - checkInst(model, 48, 48, LocalDate.of(2019, 2, 18), 48, 50.00, 50.00, null, 0.95006227, 47.50, 7011.84, 7.53, 0.00, null, null, + checkInst(model, 48, 48, LocalDate.of(2019, 2, 18), 48, 50.00, null, 0.95006227, 47.50, 7011.84, null, 7.53, null, null, 588.18, 1000.00); - checkInst(model, 49, 49, LocalDate.of(2019, 2, 19), 49, 50.00, 50.00, null, 0.94904886, 47.45, 6969.33, 7.49, 0.00, null, null, + checkInst(model, 49, 49, LocalDate.of(2019, 2, 19), 49, 50.00, null, 0.94904886, 47.45, 6969.33, null, 7.49, null, null, 580.69, 1000.00); - checkInst(model, 50, 50, LocalDate.of(2019, 2, 20), 50, 50.00, 50.00, null, 0.94803653, 47.40, 6926.77, 7.44, 0.00, null, null, + checkInst(model, 50, 50, LocalDate.of(2019, 2, 20), 50, 50.00, null, 0.94803653, 47.40, 6926.77, null, 7.44, null, null, 573.25, 1000.00); - checkInst(model, 51, 51, LocalDate.of(2019, 2, 21), 51, 50.00, 50.00, null, 0.94702529, 47.35, 6884.17, 7.40, 0.00, null, null, + checkInst(model, 51, 51, LocalDate.of(2019, 2, 21), 51, 50.00, null, 0.94702529, 47.35, 6884.17, null, 7.40, null, null, 565.85, 1000.00); - checkInst(model, 52, 52, LocalDate.of(2019, 2, 22), 52, 50.00, 50.00, null, 0.94601512, 47.30, 6841.52, 7.35, 0.00, null, null, + checkInst(model, 52, 52, LocalDate.of(2019, 2, 22), 52, 50.00, null, 0.94601512, 47.30, 6841.52, null, 7.35, null, null, 558.50, 1000.00); - checkInst(model, 53, 53, LocalDate.of(2019, 2, 23), 53, 50.00, 50.00, null, 0.94500603, 47.25, 6798.82, 7.31, 0.00, null, null, + checkInst(model, 53, 53, LocalDate.of(2019, 2, 23), 53, 50.00, null, 0.94500603, 47.25, 6798.82, null, 7.31, null, null, 551.19, 1000.00); - checkInst(model, 54, 54, LocalDate.of(2019, 2, 24), 54, 50.00, 50.00, null, 0.94399801, 47.20, 6756.08, 7.26, 0.00, null, null, + checkInst(model, 54, 54, LocalDate.of(2019, 2, 24), 54, 50.00, null, 0.94399801, 47.20, 6756.08, null, 7.26, null, null, 543.93, 1000.00); - checkInst(model, 55, 55, LocalDate.of(2019, 2, 25), 55, 50.00, 50.00, null, 0.94299107, 47.15, 6713.30, 7.21, 0.00, null, null, + checkInst(model, 55, 55, LocalDate.of(2019, 2, 25), 55, 50.00, null, 0.94299107, 47.15, 6713.30, null, 7.21, null, null, 536.72, 1000.00); - checkInst(model, 56, 56, LocalDate.of(2019, 2, 26), 56, 50.00, 50.00, null, 0.94198521, 47.10, 6670.47, 7.17, 0.00, null, null, + checkInst(model, 56, 56, LocalDate.of(2019, 2, 26), 56, 50.00, null, 0.94198521, 47.10, 6670.47, null, 7.17, null, null, 529.55, 1000.00); - checkInst(model, 57, 57, LocalDate.of(2019, 2, 27), 57, 50.00, 50.00, null, 0.94098042, 47.05, 6627.59, 7.12, 0.00, null, null, + checkInst(model, 57, 57, LocalDate.of(2019, 2, 27), 57, 50.00, null, 0.94098042, 47.05, 6627.59, null, 7.12, null, null, 522.43, 1000.00); - checkInst(model, 58, 58, LocalDate.of(2019, 2, 28), 58, 50.00, 50.00, null, 0.93997669, 47.00, 6584.67, 7.08, 0.00, null, null, + checkInst(model, 58, 58, LocalDate.of(2019, 2, 28), 58, 50.00, null, 0.93997669, 47.00, 6584.67, null, 7.08, null, null, 515.35, 1000.00); - checkInst(model, 59, 59, LocalDate.of(2019, 3, 1), 59, 50.00, 50.00, null, 0.93897404, 46.95, 6541.70, 7.03, 0.00, null, null, + checkInst(model, 59, 59, LocalDate.of(2019, 3, 1), 59, 50.00, null, 0.93897404, 46.95, 6541.70, null, 7.03, null, null, 508.32, 1000.00); - checkInst(model, 60, 60, LocalDate.of(2019, 3, 2), 60, 50.00, 50.00, null, 0.93797246, 46.90, 6498.68, 6.99, 0.00, null, null, + checkInst(model, 60, 60, LocalDate.of(2019, 3, 2), 60, 50.00, null, 0.93797246, 46.90, 6498.68, null, 6.99, null, null, 501.33, 1000.00); - checkInst(model, 61, 61, LocalDate.of(2019, 3, 3), 61, 50.00, 50.00, null, 0.93697195, 46.85, 6455.62, 6.94, 0.00, null, null, + checkInst(model, 61, 61, LocalDate.of(2019, 3, 3), 61, 50.00, null, 0.93697195, 46.85, 6455.62, null, 6.94, null, null, 494.39, 1000.00); - checkInst(model, 62, 62, LocalDate.of(2019, 3, 4), 62, 50.00, 50.00, null, 0.93597251, 46.80, 6412.51, 6.89, 0.00, null, null, + checkInst(model, 62, 62, LocalDate.of(2019, 3, 4), 62, 50.00, null, 0.93597251, 46.80, 6412.51, null, 6.89, null, null, 487.50, 1000.00); - checkInst(model, 63, 63, LocalDate.of(2019, 3, 5), 63, 50.00, 50.00, null, 0.93497413, 46.75, 6369.36, 6.85, 0.00, null, null, + checkInst(model, 63, 63, LocalDate.of(2019, 3, 5), 63, 50.00, null, 0.93497413, 46.75, 6369.36, null, 6.85, null, null, 480.65, 1000.00); - checkInst(model, 64, 64, LocalDate.of(2019, 3, 6), 64, 50.00, 50.00, null, 0.93397681, 46.70, 6326.16, 6.80, 0.00, null, null, + checkInst(model, 64, 64, LocalDate.of(2019, 3, 6), 64, 50.00, null, 0.93397681, 46.70, 6326.16, null, 6.80, null, null, 473.85, 1000.00); - checkInst(model, 65, 65, LocalDate.of(2019, 3, 7), 65, 50.00, 50.00, null, 0.93298056, 46.65, 6282.92, 6.76, 0.00, null, null, + checkInst(model, 65, 65, LocalDate.of(2019, 3, 7), 65, 50.00, null, 0.93298056, 46.65, 6282.92, null, 6.76, null, null, 467.09, 1000.00); - checkInst(model, 66, 66, LocalDate.of(2019, 3, 8), 66, 50.00, 50.00, null, 0.93198538, 46.60, 6239.63, 6.71, 0.00, null, null, + checkInst(model, 66, 66, LocalDate.of(2019, 3, 8), 66, 50.00, null, 0.93198538, 46.60, 6239.63, null, 6.71, null, null, 460.38, 1000.00); - checkInst(model, 67, 67, LocalDate.of(2019, 3, 9), 67, 50.00, 50.00, null, 0.93099125, 46.55, 6196.29, 6.66, 0.00, null, null, + checkInst(model, 67, 67, LocalDate.of(2019, 3, 9), 67, 50.00, null, 0.93099125, 46.55, 6196.29, null, 6.66, null, null, 453.72, 1000.00); - checkInst(model, 68, 68, LocalDate.of(2019, 3, 10), 68, 50.00, 50.00, null, 0.92999818, 46.50, 6152.91, 6.62, 0.00, null, null, + checkInst(model, 68, 68, LocalDate.of(2019, 3, 10), 68, 50.00, null, 0.92999818, 46.50, 6152.91, null, 6.62, null, null, 447.10, 1000.00); - checkInst(model, 69, 69, LocalDate.of(2019, 3, 11), 69, 50.00, 50.00, null, 0.92900618, 46.45, 6109.48, 6.57, 0.00, null, null, + checkInst(model, 69, 69, LocalDate.of(2019, 3, 11), 69, 50.00, null, 0.92900618, 46.45, 6109.48, null, 6.57, null, null, 440.53, 1000.00); - checkInst(model, 70, 70, LocalDate.of(2019, 3, 12), 70, 50.00, 50.00, null, 0.92801523, 46.40, 6066.00, 6.52, 0.00, null, null, + checkInst(model, 70, 70, LocalDate.of(2019, 3, 12), 70, 50.00, null, 0.92801523, 46.40, 6066.00, null, 6.52, null, null, 434.01, 1000.00); - checkInst(model, 71, 71, LocalDate.of(2019, 3, 13), 71, 50.00, 50.00, null, 0.92702534, 46.35, 6022.48, 6.48, 0.00, null, null, + checkInst(model, 71, 71, LocalDate.of(2019, 3, 13), 71, 50.00, null, 0.92702534, 46.35, 6022.48, null, 6.48, null, null, 427.53, 1000.00); - checkInst(model, 72, 72, LocalDate.of(2019, 3, 14), 72, 50.00, 50.00, null, 0.92603650, 46.30, 5978.91, 6.43, 0.00, null, null, + checkInst(model, 72, 72, LocalDate.of(2019, 3, 14), 72, 50.00, null, 0.92603650, 46.30, 5978.91, null, 6.43, null, null, 421.10, 1000.00); - checkInst(model, 73, 73, LocalDate.of(2019, 3, 15), 73, 50.00, 50.00, null, 0.92504872, 46.25, 5935.29, 6.38, 0.00, null, null, + checkInst(model, 73, 73, LocalDate.of(2019, 3, 15), 73, 50.00, null, 0.92504872, 46.25, 5935.29, null, 6.38, null, null, 414.72, 1000.00); - checkInst(model, 74, 74, LocalDate.of(2019, 3, 16), 74, 50.00, 50.00, null, 0.92406200, 46.20, 5891.63, 6.34, 0.00, null, null, + checkInst(model, 74, 74, LocalDate.of(2019, 3, 16), 74, 50.00, null, 0.92406200, 46.20, 5891.63, null, 6.34, null, null, 408.38, 1000.00); - checkInst(model, 75, 75, LocalDate.of(2019, 3, 17), 75, 50.00, 50.00, null, 0.92307632, 46.15, 5847.92, 6.29, 0.00, null, null, + checkInst(model, 75, 75, LocalDate.of(2019, 3, 17), 75, 50.00, null, 0.92307632, 46.15, 5847.92, null, 6.29, null, null, 402.09, 1000.00); - checkInst(model, 76, 76, LocalDate.of(2019, 3, 18), 76, 50.00, 50.00, null, 0.92209170, 46.10, 5804.17, 6.24, 0.00, null, null, + checkInst(model, 76, 76, LocalDate.of(2019, 3, 18), 76, 50.00, null, 0.92209170, 46.10, 5804.17, null, 6.24, null, null, 395.85, 1000.00); - checkInst(model, 77, 77, LocalDate.of(2019, 3, 19), 77, 50.00, 50.00, null, 0.92110813, 46.06, 5760.36, 6.20, 0.00, null, null, + checkInst(model, 77, 77, LocalDate.of(2019, 3, 19), 77, 50.00, null, 0.92110813, 46.06, 5760.36, null, 6.20, null, null, 389.65, 1000.00); - checkInst(model, 78, 78, LocalDate.of(2019, 3, 20), 78, 50.00, 50.00, null, 0.92012560, 46.01, 5716.52, 6.15, 0.00, null, null, + checkInst(model, 78, 78, LocalDate.of(2019, 3, 20), 78, 50.00, null, 0.92012560, 46.01, 5716.52, null, 6.15, null, null, 383.50, 1000.00); - checkInst(model, 79, 79, LocalDate.of(2019, 3, 21), 79, 50.00, 50.00, null, 0.91914413, 45.96, 5672.62, 6.10, 0.00, null, null, + checkInst(model, 79, 79, LocalDate.of(2019, 3, 21), 79, 50.00, null, 0.91914413, 45.96, 5672.62, null, 6.10, null, null, 377.40, 1000.00); - checkInst(model, 80, 80, LocalDate.of(2019, 3, 22), 80, 50.00, 50.00, null, 0.91816370, 45.91, 5628.68, 6.06, 0.00, null, null, + checkInst(model, 80, 80, LocalDate.of(2019, 3, 22), 80, 50.00, null, 0.91816370, 45.91, 5628.68, null, 6.06, null, null, 371.34, 1000.00); - checkInst(model, 81, 81, LocalDate.of(2019, 3, 23), 81, 50.00, 50.00, null, 0.91718432, 45.86, 5584.69, 6.01, 0.00, null, null, + checkInst(model, 81, 81, LocalDate.of(2019, 3, 23), 81, 50.00, null, 0.91718432, 45.86, 5584.69, null, 6.01, null, null, 365.33, 1000.00); - checkInst(model, 82, 82, LocalDate.of(2019, 3, 24), 82, 50.00, 50.00, null, 0.91620598, 45.81, 5540.65, 5.96, 0.00, null, null, + checkInst(model, 82, 82, LocalDate.of(2019, 3, 24), 82, 50.00, null, 0.91620598, 45.81, 5540.65, null, 5.96, null, null, 359.37, 1000.00); - checkInst(model, 83, 83, LocalDate.of(2019, 3, 25), 83, 50.00, 50.00, null, 0.91522868, 45.76, 5496.57, 5.92, 0.00, null, null, + checkInst(model, 83, 83, LocalDate.of(2019, 3, 25), 83, 50.00, null, 0.91522868, 45.76, 5496.57, null, 5.92, null, null, 353.45, 1000.00); - checkInst(model, 84, 84, LocalDate.of(2019, 3, 26), 84, 50.00, 50.00, null, 0.91425243, 45.71, 5452.44, 5.87, 0.00, null, null, + checkInst(model, 84, 84, LocalDate.of(2019, 3, 26), 84, 50.00, null, 0.91425243, 45.71, 5452.44, null, 5.87, null, null, 347.58, 1000.00); - checkInst(model, 85, 85, LocalDate.of(2019, 3, 27), 85, 50.00, 50.00, null, 0.91327722, 45.66, 5408.26, 5.82, 0.00, null, null, + checkInst(model, 85, 85, LocalDate.of(2019, 3, 27), 85, 50.00, null, 0.91327722, 45.66, 5408.26, null, 5.82, null, null, 341.76, 1000.00); - checkInst(model, 86, 86, LocalDate.of(2019, 3, 28), 86, 50.00, 50.00, null, 0.91230305, 45.62, 5364.03, 5.78, 0.00, null, null, + checkInst(model, 86, 86, LocalDate.of(2019, 3, 28), 86, 50.00, null, 0.91230305, 45.62, 5364.03, null, 5.78, null, null, 335.98, 1000.00); - checkInst(model, 87, 87, LocalDate.of(2019, 3, 29), 87, 50.00, 50.00, null, 0.91132992, 45.57, 5319.76, 5.73, 0.00, null, null, + checkInst(model, 87, 87, LocalDate.of(2019, 3, 29), 87, 50.00, null, 0.91132992, 45.57, 5319.76, null, 5.73, null, null, 330.25, 1000.00); - checkInst(model, 88, 88, LocalDate.of(2019, 3, 30), 88, 50.00, 50.00, null, 0.91035783, 45.52, 5275.44, 5.68, 0.00, null, null, + checkInst(model, 88, 88, LocalDate.of(2019, 3, 30), 88, 50.00, null, 0.91035783, 45.52, 5275.44, null, 5.68, null, null, 324.57, 1000.00); - checkInst(model, 89, 89, LocalDate.of(2019, 3, 31), 89, 50.00, 50.00, null, 0.90938677, 45.47, 5231.08, 5.63, 0.00, null, null, + checkInst(model, 89, 89, LocalDate.of(2019, 3, 31), 89, 50.00, null, 0.90938677, 45.47, 5231.08, null, 5.63, null, null, 318.94, 1000.00); - checkInst(model, 90, 90, LocalDate.of(2019, 4, 1), 90, 50.00, 50.00, null, 0.90841675, 45.42, 5186.66, 5.59, 0.00, null, null, + checkInst(model, 90, 90, LocalDate.of(2019, 4, 1), 90, 50.00, null, 0.90841675, 45.42, 5186.66, null, 5.59, null, null, 313.35, 1000.00); - checkInst(model, 91, 91, LocalDate.of(2019, 4, 2), 91, 50.00, 50.00, null, 0.90744776, 45.37, 5142.20, 5.54, 0.00, null, null, + checkInst(model, 91, 91, LocalDate.of(2019, 4, 2), 91, 50.00, null, 0.90744776, 45.37, 5142.20, null, 5.54, null, null, 307.81, 1000.00); - checkInst(model, 92, 92, LocalDate.of(2019, 4, 3), 92, 50.00, 50.00, null, 0.90647981, 45.32, 5097.69, 5.49, 0.00, null, null, + checkInst(model, 92, 92, LocalDate.of(2019, 4, 3), 92, 50.00, null, 0.90647981, 45.32, 5097.69, null, 5.49, null, null, 302.32, 1000.00); - checkInst(model, 93, 93, LocalDate.of(2019, 4, 4), 93, 50.00, 50.00, null, 0.90551289, 45.28, 5053.13, 5.44, 0.00, null, null, + checkInst(model, 93, 93, LocalDate.of(2019, 4, 4), 93, 50.00, null, 0.90551289, 45.28, 5053.13, null, 5.44, null, null, 296.88, 1000.00); - checkInst(model, 94, 94, LocalDate.of(2019, 4, 5), 94, 50.00, 50.00, null, 0.90454700, 45.23, 5008.53, 5.40, 0.00, null, null, + checkInst(model, 94, 94, LocalDate.of(2019, 4, 5), 94, 50.00, null, 0.90454700, 45.23, 5008.53, null, 5.40, null, null, 291.48, 1000.00); - checkInst(model, 95, 95, LocalDate.of(2019, 4, 6), 95, 50.00, 50.00, null, 0.90358215, 45.18, 4963.88, 5.35, 0.00, null, null, + checkInst(model, 95, 95, LocalDate.of(2019, 4, 6), 95, 50.00, null, 0.90358215, 45.18, 4963.88, null, 5.35, null, null, 286.13, 1000.00); - checkInst(model, 96, 96, LocalDate.of(2019, 4, 7), 96, 50.00, 50.00, null, 0.90261832, 45.13, 4919.18, 5.30, 0.00, null, null, + checkInst(model, 96, 96, LocalDate.of(2019, 4, 7), 96, 50.00, null, 0.90261832, 45.13, 4919.18, null, 5.30, null, null, 280.83, 1000.00); - checkInst(model, 97, 97, LocalDate.of(2019, 4, 8), 97, 50.00, 50.00, null, 0.90165552, 45.08, 4874.43, 5.25, 0.00, null, null, + checkInst(model, 97, 97, LocalDate.of(2019, 4, 8), 97, 50.00, null, 0.90165552, 45.08, 4874.43, null, 5.25, null, null, 275.58, 1000.00); - checkInst(model, 98, 98, LocalDate.of(2019, 4, 9), 98, 50.00, 50.00, null, 0.90069374, 45.03, 4829.64, 5.20, 0.00, null, null, + checkInst(model, 98, 98, LocalDate.of(2019, 4, 9), 98, 50.00, null, 0.90069374, 45.03, 4829.64, null, 5.20, null, null, 270.38, 1000.00); - checkInst(model, 99, 99, LocalDate.of(2019, 4, 10), 99, 50.00, 50.00, null, 0.89973299, 44.99, 4784.79, 5.16, 0.00, null, null, + checkInst(model, 99, 99, LocalDate.of(2019, 4, 10), 99, 50.00, null, 0.89973299, 44.99, 4784.79, null, 5.16, null, null, 265.22, 1000.00); - checkInst(model, 100, 100, LocalDate.of(2019, 4, 11), 100, 50.00, 50.00, null, 0.89877327, 44.94, 4739.90, 5.11, 0.00, null, null, + checkInst(model, 100, 100, LocalDate.of(2019, 4, 11), 100, 50.00, null, 0.89877327, 44.94, 4739.90, null, 5.11, null, null, 260.11, 1000.00); - checkInst(model, 101, 101, LocalDate.of(2019, 4, 12), 101, 50.00, 50.00, null, 0.89781457, 44.89, 4694.96, 5.06, 0.00, null, null, + checkInst(model, 101, 101, LocalDate.of(2019, 4, 12), 101, 50.00, null, 0.89781457, 44.89, 4694.96, null, 5.06, null, null, 255.05, 1000.00); - checkInst(model, 102, 102, LocalDate.of(2019, 4, 13), 102, 50.00, 50.00, null, 0.89685689, 44.84, 4649.98, 5.01, 0.00, null, null, + checkInst(model, 102, 102, LocalDate.of(2019, 4, 13), 102, 50.00, null, 0.89685689, 44.84, 4649.98, null, 5.01, null, null, 250.04, 1000.00); - checkInst(model, 103, 103, LocalDate.of(2019, 4, 14), 103, 50.00, 50.00, null, 0.89590024, 44.80, 4604.94, 4.97, 0.00, null, null, + checkInst(model, 103, 103, LocalDate.of(2019, 4, 14), 103, 50.00, null, 0.89590024, 44.80, 4604.94, null, 4.97, null, null, 245.07, 1000.00); - checkInst(model, 104, 104, LocalDate.of(2019, 4, 15), 104, 50.00, 50.00, null, 0.89494460, 44.75, 4559.86, 4.92, 0.00, null, null, + checkInst(model, 104, 104, LocalDate.of(2019, 4, 15), 104, 50.00, null, 0.89494460, 44.75, 4559.86, null, 4.92, null, null, 240.15, 1000.00); - checkInst(model, 105, 105, LocalDate.of(2019, 4, 16), 105, 50.00, 50.00, null, 0.89398999, 44.70, 4514.73, 4.87, 0.00, null, null, + checkInst(model, 105, 105, LocalDate.of(2019, 4, 16), 105, 50.00, null, 0.89398999, 44.70, 4514.73, null, 4.87, null, null, 235.28, 1000.00); - checkInst(model, 106, 106, LocalDate.of(2019, 4, 17), 106, 50.00, 50.00, null, 0.89303639, 44.65, 4469.55, 4.82, 0.00, null, null, + checkInst(model, 106, 106, LocalDate.of(2019, 4, 17), 106, 50.00, null, 0.89303639, 44.65, 4469.55, null, 4.82, null, null, 230.46, 1000.00); - checkInst(model, 107, 107, LocalDate.of(2019, 4, 18), 107, 50.00, 50.00, null, 0.89208381, 44.60, 4424.32, 4.77, 0.00, null, null, + checkInst(model, 107, 107, LocalDate.of(2019, 4, 18), 107, 50.00, null, 0.89208381, 44.60, 4424.32, null, 4.77, null, null, 225.69, 1000.00); - checkInst(model, 108, 108, LocalDate.of(2019, 4, 19), 108, 50.00, 50.00, null, 0.89113225, 44.56, 4379.05, 4.72, 0.00, null, null, + checkInst(model, 108, 108, LocalDate.of(2019, 4, 19), 108, 50.00, null, 0.89113225, 44.56, 4379.05, null, 4.72, null, null, 220.97, 1000.00); - checkInst(model, 109, 109, LocalDate.of(2019, 4, 20), 109, 50.00, 50.00, null, 0.89018170, 44.51, 4333.72, 4.68, 0.00, null, null, + checkInst(model, 109, 109, LocalDate.of(2019, 4, 20), 109, 50.00, null, 0.89018170, 44.51, 4333.72, null, 4.68, null, null, 216.29, 1000.00); - checkInst(model, 110, 110, LocalDate.of(2019, 4, 21), 110, 50.00, 50.00, null, 0.88923216, 44.46, 4288.35, 4.63, 0.00, null, null, + checkInst(model, 110, 110, LocalDate.of(2019, 4, 21), 110, 50.00, null, 0.88923216, 44.46, 4288.35, null, 4.63, null, null, 211.66, 1000.00); - checkInst(model, 111, 111, LocalDate.of(2019, 4, 22), 111, 50.00, 50.00, null, 0.88828364, 44.41, 4242.93, 4.58, 0.00, null, null, + checkInst(model, 111, 111, LocalDate.of(2019, 4, 22), 111, 50.00, null, 0.88828364, 44.41, 4242.93, null, 4.58, null, null, 207.08, 1000.00); - checkInst(model, 112, 112, LocalDate.of(2019, 4, 23), 112, 50.00, 50.00, null, 0.88733613, 44.37, 4197.46, 4.53, 0.00, null, null, + checkInst(model, 112, 112, LocalDate.of(2019, 4, 23), 112, 50.00, null, 0.88733613, 44.37, 4197.46, null, 4.53, null, null, 202.55, 1000.00); - checkInst(model, 113, 113, LocalDate.of(2019, 4, 24), 113, 50.00, 50.00, null, 0.88638963, 44.32, 4151.94, 4.48, 0.00, null, null, + checkInst(model, 113, 113, LocalDate.of(2019, 4, 24), 113, 50.00, null, 0.88638963, 44.32, 4151.94, null, 4.48, null, null, 198.07, 1000.00); - checkInst(model, 114, 114, LocalDate.of(2019, 4, 25), 114, 50.00, 50.00, null, 0.88544414, 44.27, 4106.38, 4.43, 0.00, null, null, + checkInst(model, 114, 114, LocalDate.of(2019, 4, 25), 114, 50.00, null, 0.88544414, 44.27, 4106.38, null, 4.43, null, null, 193.64, 1000.00); - checkInst(model, 115, 115, LocalDate.of(2019, 4, 26), 115, 50.00, 50.00, null, 0.88449966, 44.22, 4060.76, 4.38, 0.00, null, null, + checkInst(model, 115, 115, LocalDate.of(2019, 4, 26), 115, 50.00, null, 0.88449966, 44.22, 4060.76, null, 4.38, null, null, 189.26, 1000.00); - checkInst(model, 116, 116, LocalDate.of(2019, 4, 27), 116, 50.00, 50.00, null, 0.88355619, 44.18, 4015.10, 4.34, 0.00, null, null, + checkInst(model, 116, 116, LocalDate.of(2019, 4, 27), 116, 50.00, null, 0.88355619, 44.18, 4015.10, null, 4.34, null, null, 184.92, 1000.00); - checkInst(model, 117, 117, LocalDate.of(2019, 4, 28), 117, 50.00, 50.00, null, 0.88261372, 44.13, 3969.38, 4.29, 0.00, null, null, + checkInst(model, 117, 117, LocalDate.of(2019, 4, 28), 117, 50.00, null, 0.88261372, 44.13, 3969.38, null, 4.29, null, null, 180.63, 1000.00); - checkInst(model, 118, 118, LocalDate.of(2019, 4, 29), 118, 50.00, 50.00, null, 0.88167226, 44.08, 3923.62, 4.24, 0.00, null, null, + checkInst(model, 118, 118, LocalDate.of(2019, 4, 29), 118, 50.00, null, 0.88167226, 44.08, 3923.62, null, 4.24, null, null, 176.39, 1000.00); - checkInst(model, 119, 119, LocalDate.of(2019, 4, 30), 119, 50.00, 50.00, null, 0.88073180, 44.04, 3877.81, 4.19, 0.00, null, null, + checkInst(model, 119, 119, LocalDate.of(2019, 4, 30), 119, 50.00, null, 0.88073180, 44.04, 3877.81, null, 4.19, null, null, 172.20, 1000.00); - checkInst(model, 120, 120, LocalDate.of(2019, 5, 1), 120, 50.00, 50.00, null, 0.87979234, 43.99, 3831.95, 4.14, 0.00, null, null, + checkInst(model, 120, 120, LocalDate.of(2019, 5, 1), 120, 50.00, null, 0.87979234, 43.99, 3831.95, null, 4.14, null, null, 168.06, 1000.00); - checkInst(model, 121, 121, LocalDate.of(2019, 5, 2), 121, 50.00, 50.00, null, 0.87885389, 43.94, 3786.04, 4.09, 0.00, null, null, + checkInst(model, 121, 121, LocalDate.of(2019, 5, 2), 121, 50.00, null, 0.87885389, 43.94, 3786.04, null, 4.09, null, null, 163.97, 1000.00); - checkInst(model, 122, 122, LocalDate.of(2019, 5, 3), 122, 50.00, 50.00, null, 0.87791644, 43.90, 3740.09, 4.04, 0.00, null, null, + checkInst(model, 122, 122, LocalDate.of(2019, 5, 3), 122, 50.00, null, 0.87791644, 43.90, 3740.09, null, 4.04, null, null, 159.93, 1000.00); - checkInst(model, 123, 123, LocalDate.of(2019, 5, 4), 123, 50.00, 50.00, null, 0.87697999, 43.85, 3694.08, 3.99, 0.00, null, null, + checkInst(model, 123, 123, LocalDate.of(2019, 5, 4), 123, 50.00, null, 0.87697999, 43.85, 3694.08, null, 3.99, null, null, 155.94, 1000.00); - checkInst(model, 124, 124, LocalDate.of(2019, 5, 5), 124, 50.00, 50.00, null, 0.87604453, 43.80, 3648.03, 3.94, 0.00, null, null, + checkInst(model, 124, 124, LocalDate.of(2019, 5, 5), 124, 50.00, null, 0.87604453, 43.80, 3648.03, null, 3.94, null, null, 152.00, 1000.00); - checkInst(model, 125, 125, LocalDate.of(2019, 5, 6), 125, 50.00, 50.00, null, 0.87511008, 43.76, 3601.92, 3.90, 0.00, null, null, + checkInst(model, 125, 125, LocalDate.of(2019, 5, 6), 125, 50.00, null, 0.87511008, 43.76, 3601.92, null, 3.90, null, null, 148.10, 1000.00); - checkInst(model, 126, 126, LocalDate.of(2019, 5, 7), 126, 50.00, 50.00, null, 0.87417662, 43.71, 3555.77, 3.85, 0.00, null, null, + checkInst(model, 126, 126, LocalDate.of(2019, 5, 7), 126, 50.00, null, 0.87417662, 43.71, 3555.77, null, 3.85, null, null, 144.25, 1000.00); - checkInst(model, 127, 127, LocalDate.of(2019, 5, 8), 127, 50.00, 50.00, null, 0.87324416, 43.66, 3509.56, 3.80, 0.00, null, null, + checkInst(model, 127, 127, LocalDate.of(2019, 5, 8), 127, 50.00, null, 0.87324416, 43.66, 3509.56, null, 3.80, null, null, 140.45, 1000.00); - checkInst(model, 128, 128, LocalDate.of(2019, 5, 9), 128, 50.00, 50.00, null, 0.87231269, 43.62, 3463.31, 3.75, 0.00, null, null, + checkInst(model, 128, 128, LocalDate.of(2019, 5, 9), 128, 50.00, null, 0.87231269, 43.62, 3463.31, null, 3.75, null, null, 136.70, 1000.00); - checkInst(model, 129, 129, LocalDate.of(2019, 5, 10), 129, 50.00, 50.00, null, 0.87138221, 43.57, 3417.01, 3.70, 0.00, null, null, + checkInst(model, 129, 129, LocalDate.of(2019, 5, 10), 129, 50.00, null, 0.87138221, 43.57, 3417.01, null, 3.70, null, null, 133.00, 1000.00); - checkInst(model, 130, 130, LocalDate.of(2019, 5, 11), 130, 50.00, 50.00, null, 0.87045273, 43.52, 3370.66, 3.65, 0.00, null, null, + checkInst(model, 130, 130, LocalDate.of(2019, 5, 11), 130, 50.00, null, 0.87045273, 43.52, 3370.66, null, 3.65, null, null, 129.35, 1000.00); - checkInst(model, 131, 131, LocalDate.of(2019, 5, 12), 131, 50.00, 50.00, null, 0.86952424, 43.48, 3324.26, 3.60, 0.00, null, null, + checkInst(model, 131, 131, LocalDate.of(2019, 5, 12), 131, 50.00, null, 0.86952424, 43.48, 3324.26, null, 3.60, null, null, 125.75, 1000.00); - checkInst(model, 132, 132, LocalDate.of(2019, 5, 13), 132, 50.00, 50.00, null, 0.86859674, 43.43, 3277.81, 3.55, 0.00, null, null, + checkInst(model, 132, 132, LocalDate.of(2019, 5, 13), 132, 50.00, null, 0.86859674, 43.43, 3277.81, null, 3.55, null, null, 122.20, 1000.00); - checkInst(model, 133, 133, LocalDate.of(2019, 5, 14), 133, 50.00, 50.00, null, 0.86767023, 43.38, 3231.31, 3.50, 0.00, null, null, + checkInst(model, 133, 133, LocalDate.of(2019, 5, 14), 133, 50.00, null, 0.86767023, 43.38, 3231.31, null, 3.50, null, null, 118.70, 1000.00); - checkInst(model, 134, 134, LocalDate.of(2019, 5, 15), 134, 50.00, 50.00, null, 0.86674471, 43.34, 3184.76, 3.45, 0.00, null, null, + checkInst(model, 134, 134, LocalDate.of(2019, 5, 15), 134, 50.00, null, 0.86674471, 43.34, 3184.76, null, 3.45, null, null, 115.25, 1000.00); - checkInst(model, 135, 135, LocalDate.of(2019, 5, 16), 135, 50.00, 50.00, null, 0.86582017, 43.29, 3138.16, 3.40, 0.00, null, null, + checkInst(model, 135, 135, LocalDate.of(2019, 5, 16), 135, 50.00, null, 0.86582017, 43.29, 3138.16, null, 3.40, null, null, 111.85, 1000.00); - checkInst(model, 136, 136, LocalDate.of(2019, 5, 17), 136, 50.00, 50.00, null, 0.86489662, 43.24, 3091.51, 3.35, 0.00, null, null, + checkInst(model, 136, 136, LocalDate.of(2019, 5, 17), 136, 50.00, null, 0.86489662, 43.24, 3091.51, null, 3.35, null, null, 108.50, 1000.00); - checkInst(model, 137, 137, LocalDate.of(2019, 5, 18), 137, 50.00, 50.00, null, 0.86397406, 43.20, 3044.81, 3.30, 0.00, null, null, + checkInst(model, 137, 137, LocalDate.of(2019, 5, 18), 137, 50.00, null, 0.86397406, 43.20, 3044.81, null, 3.30, null, null, 105.20, 1000.00); - checkInst(model, 138, 138, LocalDate.of(2019, 5, 19), 138, 50.00, 50.00, null, 0.86305248, 43.15, 2998.06, 3.25, 0.00, null, null, + checkInst(model, 138, 138, LocalDate.of(2019, 5, 19), 138, 50.00, null, 0.86305248, 43.15, 2998.06, null, 3.25, null, null, 101.95, 1000.00); - checkInst(model, 139, 139, LocalDate.of(2019, 5, 20), 139, 50.00, 50.00, null, 0.86213188, 43.11, 2951.26, 3.20, 0.00, null, null, + checkInst(model, 139, 139, LocalDate.of(2019, 5, 20), 139, 50.00, null, 0.86213188, 43.11, 2951.26, null, 3.20, null, null, 98.75, 1000.00); - checkInst(model, 140, 140, LocalDate.of(2019, 5, 21), 140, 50.00, 50.00, null, 0.86121227, 43.06, 2904.42, 3.15, 0.00, null, null, + checkInst(model, 140, 140, LocalDate.of(2019, 5, 21), 140, 50.00, null, 0.86121227, 43.06, 2904.42, null, 3.15, null, null, 95.60, 1000.00); - checkInst(model, 141, 141, LocalDate.of(2019, 5, 22), 141, 50.00, 50.00, null, 0.86029363, 43.01, 2857.52, 3.10, 0.00, null, null, + checkInst(model, 141, 141, LocalDate.of(2019, 5, 22), 141, 50.00, null, 0.86029363, 43.01, 2857.52, null, 3.10, null, null, 92.50, 1000.00); - checkInst(model, 142, 142, LocalDate.of(2019, 5, 23), 142, 50.00, 50.00, null, 0.85937598, 42.97, 2810.57, 3.05, 0.00, null, null, + checkInst(model, 142, 142, LocalDate.of(2019, 5, 23), 142, 50.00, null, 0.85937598, 42.97, 2810.57, null, 3.05, null, null, 89.45, 1000.00); - checkInst(model, 143, 143, LocalDate.of(2019, 5, 24), 143, 50.00, 50.00, null, 0.85845930, 42.92, 2763.57, 3.00, 0.00, null, null, + checkInst(model, 143, 143, LocalDate.of(2019, 5, 24), 143, 50.00, null, 0.85845930, 42.92, 2763.57, null, 3.00, null, null, 86.45, 1000.00); - checkInst(model, 144, 144, LocalDate.of(2019, 5, 25), 144, 50.00, 50.00, null, 0.85754361, 42.88, 2716.52, 2.95, 0.00, null, null, + checkInst(model, 144, 144, LocalDate.of(2019, 5, 25), 144, 50.00, null, 0.85754361, 42.88, 2716.52, null, 2.95, null, null, 83.50, 1000.00); - checkInst(model, 145, 145, LocalDate.of(2019, 5, 26), 145, 50.00, 50.00, null, 0.85662889, 42.83, 2669.42, 2.90, 0.00, null, null, + checkInst(model, 145, 145, LocalDate.of(2019, 5, 26), 145, 50.00, null, 0.85662889, 42.83, 2669.42, null, 2.90, null, null, 80.60, 1000.00); - checkInst(model, 146, 146, LocalDate.of(2019, 5, 27), 146, 50.00, 50.00, null, 0.85571514, 42.79, 2622.27, 2.85, 0.00, null, null, + checkInst(model, 146, 146, LocalDate.of(2019, 5, 27), 146, 50.00, null, 0.85571514, 42.79, 2622.27, null, 2.85, null, null, 77.75, 1000.00); - checkInst(model, 147, 147, LocalDate.of(2019, 5, 28), 147, 50.00, 50.00, null, 0.85480237, 42.74, 2575.07, 2.80, 0.00, null, null, + checkInst(model, 147, 147, LocalDate.of(2019, 5, 28), 147, 50.00, null, 0.85480237, 42.74, 2575.07, null, 2.80, null, null, 74.95, 1000.00); - checkInst(model, 148, 148, LocalDate.of(2019, 5, 29), 148, 50.00, 50.00, null, 0.85389057, 42.69, 2527.82, 2.75, 0.00, null, null, + checkInst(model, 148, 148, LocalDate.of(2019, 5, 29), 148, 50.00, null, 0.85389057, 42.69, 2527.82, null, 2.75, null, null, 72.20, 1000.00); - checkInst(model, 149, 149, LocalDate.of(2019, 5, 30), 149, 50.00, 50.00, null, 0.85297975, 42.65, 2480.52, 2.70, 0.00, null, null, + checkInst(model, 149, 149, LocalDate.of(2019, 5, 30), 149, 50.00, null, 0.85297975, 42.65, 2480.52, null, 2.70, null, null, 69.50, 1000.00); - checkInst(model, 150, 150, LocalDate.of(2019, 5, 31), 150, 50.00, 50.00, null, 0.85206990, 42.60, 2433.17, 2.65, 0.00, null, null, + checkInst(model, 150, 150, LocalDate.of(2019, 5, 31), 150, 50.00, null, 0.85206990, 42.60, 2433.17, null, 2.65, null, null, 66.85, 1000.00); - checkInst(model, 151, 151, LocalDate.of(2019, 6, 1), 151, 50.00, 50.00, null, 0.85116101, 42.56, 2385.77, 2.60, 0.00, null, null, + checkInst(model, 151, 151, LocalDate.of(2019, 6, 1), 151, 50.00, null, 0.85116101, 42.56, 2385.77, null, 2.60, null, null, 64.25, 1000.00); - checkInst(model, 152, 152, LocalDate.of(2019, 6, 2), 152, 50.00, 50.00, null, 0.85025310, 42.51, 2338.31, 2.55, 0.00, null, null, + checkInst(model, 152, 152, LocalDate.of(2019, 6, 2), 152, 50.00, null, 0.85025310, 42.51, 2338.31, null, 2.55, null, null, 61.70, 1000.00); - checkInst(model, 153, 153, LocalDate.of(2019, 6, 3), 153, 50.00, 50.00, null, 0.84934616, 42.47, 2290.81, 2.50, 0.00, null, null, + checkInst(model, 153, 153, LocalDate.of(2019, 6, 3), 153, 50.00, null, 0.84934616, 42.47, 2290.81, null, 2.50, null, null, 59.20, 1000.00); - checkInst(model, 154, 154, LocalDate.of(2019, 6, 4), 154, 50.00, 50.00, null, 0.84844018, 42.42, 2243.26, 2.45, 0.00, null, null, + checkInst(model, 154, 154, LocalDate.of(2019, 6, 4), 154, 50.00, null, 0.84844018, 42.42, 2243.26, null, 2.45, null, null, 56.75, 1000.00); - checkInst(model, 155, 155, LocalDate.of(2019, 6, 5), 155, 50.00, 50.00, null, 0.84753517, 42.38, 2195.65, 2.40, 0.00, null, null, + checkInst(model, 155, 155, LocalDate.of(2019, 6, 5), 155, 50.00, null, 0.84753517, 42.38, 2195.65, null, 2.40, null, null, 54.35, 1000.00); - checkInst(model, 156, 156, LocalDate.of(2019, 6, 6), 156, 50.00, 50.00, null, 0.84663113, 42.33, 2148.00, 2.34, 0.00, null, null, + checkInst(model, 156, 156, LocalDate.of(2019, 6, 6), 156, 50.00, null, 0.84663113, 42.33, 2148.00, null, 2.34, null, null, 52.01, 1000.00); - checkInst(model, 157, 157, LocalDate.of(2019, 6, 7), 157, 50.00, 50.00, null, 0.84572805, 42.29, 2100.29, 2.29, 0.00, null, null, + checkInst(model, 157, 157, LocalDate.of(2019, 6, 7), 157, 50.00, null, 0.84572805, 42.29, 2100.29, null, 2.29, null, null, 49.72, 1000.00); - checkInst(model, 158, 158, LocalDate.of(2019, 6, 8), 158, 50.00, 50.00, null, 0.84482593, 42.24, 2052.53, 2.24, 0.00, null, null, + checkInst(model, 158, 158, LocalDate.of(2019, 6, 8), 158, 50.00, null, 0.84482593, 42.24, 2052.53, null, 2.24, null, null, 47.48, 1000.00); - checkInst(model, 159, 159, LocalDate.of(2019, 6, 9), 159, 50.00, 50.00, null, 0.84392477, 42.20, 2004.73, 2.19, 0.00, null, null, + checkInst(model, 159, 159, LocalDate.of(2019, 6, 9), 159, 50.00, null, 0.84392477, 42.20, 2004.73, null, 2.19, null, null, 45.29, 1000.00); - checkInst(model, 160, 160, LocalDate.of(2019, 6, 10), 160, 50.00, 50.00, null, 0.84302458, 42.15, 1956.87, 2.14, 0.00, null, null, + checkInst(model, 160, 160, LocalDate.of(2019, 6, 10), 160, 50.00, null, 0.84302458, 42.15, 1956.87, null, 2.14, null, null, 43.15, 1000.00); - checkInst(model, 161, 161, LocalDate.of(2019, 6, 11), 161, 50.00, 50.00, null, 0.84212535, 42.11, 1908.96, 2.09, 0.00, null, null, + checkInst(model, 161, 161, LocalDate.of(2019, 6, 11), 161, 50.00, null, 0.84212535, 42.11, 1908.96, null, 2.09, null, null, 41.06, 1000.00); - checkInst(model, 162, 162, LocalDate.of(2019, 6, 12), 162, 50.00, 50.00, null, 0.84122707, 42.06, 1860.99, 2.04, 0.00, null, null, + checkInst(model, 162, 162, LocalDate.of(2019, 6, 12), 162, 50.00, null, 0.84122707, 42.06, 1860.99, null, 2.04, null, null, 39.02, 1000.00); - checkInst(model, 163, 163, LocalDate.of(2019, 6, 13), 163, 50.00, 50.00, null, 0.84032975, 42.02, 1812.98, 1.99, 0.00, null, null, + checkInst(model, 163, 163, LocalDate.of(2019, 6, 13), 163, 50.00, null, 0.84032975, 42.02, 1812.98, null, 1.99, null, null, 37.03, 1000.00); - checkInst(model, 164, 164, LocalDate.of(2019, 6, 14), 164, 50.00, 50.00, null, 0.83943340, 41.97, 1764.92, 1.94, 0.00, null, null, + checkInst(model, 164, 164, LocalDate.of(2019, 6, 14), 164, 50.00, null, 0.83943340, 41.97, 1764.92, null, 1.94, null, null, 35.09, 1000.00); - checkInst(model, 165, 165, LocalDate.of(2019, 6, 15), 165, 50.00, 50.00, null, 0.83853799, 41.93, 1716.80, 1.88, 0.00, null, null, + checkInst(model, 165, 165, LocalDate.of(2019, 6, 15), 165, 50.00, null, 0.83853799, 41.93, 1716.80, null, 1.88, null, null, 33.21, 1000.00); - checkInst(model, 166, 166, LocalDate.of(2019, 6, 16), 166, 50.00, 50.00, null, 0.83764354, 41.88, 1668.64, 1.83, 0.00, null, null, + checkInst(model, 166, 166, LocalDate.of(2019, 6, 16), 166, 50.00, null, 0.83764354, 41.88, 1668.64, null, 1.83, null, null, 31.38, 1000.00); - checkInst(model, 167, 167, LocalDate.of(2019, 6, 17), 167, 50.00, 50.00, null, 0.83675005, 41.84, 1620.42, 1.78, 0.00, null, null, + checkInst(model, 167, 167, LocalDate.of(2019, 6, 17), 167, 50.00, null, 0.83675005, 41.84, 1620.42, null, 1.78, null, null, 29.60, 1000.00); - checkInst(model, 168, 168, LocalDate.of(2019, 6, 18), 168, 50.00, 50.00, null, 0.83585751, 41.79, 1572.15, 1.73, 0.00, null, null, + checkInst(model, 168, 168, LocalDate.of(2019, 6, 18), 168, 50.00, null, 0.83585751, 41.79, 1572.15, null, 1.73, null, null, 27.87, 1000.00); - checkInst(model, 169, 169, LocalDate.of(2019, 6, 19), 169, 50.00, 50.00, null, 0.83496592, 41.75, 1523.83, 1.68, 0.00, null, null, + checkInst(model, 169, 169, LocalDate.of(2019, 6, 19), 169, 50.00, null, 0.83496592, 41.75, 1523.83, null, 1.68, null, null, 26.19, 1000.00); - checkInst(model, 170, 170, LocalDate.of(2019, 6, 20), 170, 50.00, 50.00, null, 0.83407528, 41.70, 1475.45, 1.63, 0.00, null, null, + checkInst(model, 170, 170, LocalDate.of(2019, 6, 20), 170, 50.00, null, 0.83407528, 41.70, 1475.45, null, 1.63, null, null, 24.56, 1000.00); - checkInst(model, 171, 171, LocalDate.of(2019, 6, 21), 171, 50.00, 50.00, null, 0.83318560, 41.66, 1427.03, 1.58, 0.00, null, null, + checkInst(model, 171, 171, LocalDate.of(2019, 6, 21), 171, 50.00, null, 0.83318560, 41.66, 1427.03, null, 1.58, null, null, 22.98, 1000.00); - checkInst(model, 172, 172, LocalDate.of(2019, 6, 22), 172, 50.00, 50.00, null, 0.83229686, 41.61, 1378.55, 1.52, 0.00, null, null, + checkInst(model, 172, 172, LocalDate.of(2019, 6, 22), 172, 50.00, null, 0.83229686, 41.61, 1378.55, null, 1.52, null, null, 21.46, 1000.00); - checkInst(model, 173, 173, LocalDate.of(2019, 6, 23), 173, 50.00, 50.00, null, 0.83140907, 41.57, 1330.02, 1.47, 0.00, null, null, + checkInst(model, 173, 173, LocalDate.of(2019, 6, 23), 173, 50.00, null, 0.83140907, 41.57, 1330.02, null, 1.47, null, null, 19.99, 1000.00); - checkInst(model, 174, 174, LocalDate.of(2019, 6, 24), 174, 50.00, 50.00, null, 0.83052222, 41.53, 1281.45, 1.42, 0.00, null, null, + checkInst(model, 174, 174, LocalDate.of(2019, 6, 24), 174, 50.00, null, 0.83052222, 41.53, 1281.45, null, 1.42, null, null, 18.57, 1000.00); - checkInst(model, 175, 175, LocalDate.of(2019, 6, 25), 175, 50.00, 50.00, null, 0.82963633, 41.48, 1232.81, 1.37, 0.00, null, null, + checkInst(model, 175, 175, LocalDate.of(2019, 6, 25), 175, 50.00, null, 0.82963633, 41.48, 1232.81, null, 1.37, null, null, 17.20, 1000.00); - checkInst(model, 176, 176, LocalDate.of(2019, 6, 26), 176, 50.00, 50.00, null, 0.82875137, 41.44, 1184.13, 1.32, 0.00, null, null, + checkInst(model, 176, 176, LocalDate.of(2019, 6, 26), 176, 50.00, null, 0.82875137, 41.44, 1184.13, null, 1.32, null, null, 15.88, 1000.00); - checkInst(model, 177, 177, LocalDate.of(2019, 6, 27), 177, 50.00, 50.00, null, 0.82786736, 41.39, 1135.39, 1.26, 0.00, null, null, + checkInst(model, 177, 177, LocalDate.of(2019, 6, 27), 177, 50.00, null, 0.82786736, 41.39, 1135.39, null, 1.26, null, null, 14.62, 1000.00); - checkInst(model, 178, 178, LocalDate.of(2019, 6, 28), 178, 50.00, 50.00, null, 0.82698430, 41.35, 1086.61, 1.21, 0.00, null, null, + checkInst(model, 178, 178, LocalDate.of(2019, 6, 28), 178, 50.00, null, 0.82698430, 41.35, 1086.61, null, 1.21, null, null, 13.41, 1000.00); - checkInst(model, 179, 179, LocalDate.of(2019, 6, 29), 179, 50.00, 50.00, null, 0.82610217, 41.31, 1037.77, 1.16, 0.00, null, null, + checkInst(model, 179, 179, LocalDate.of(2019, 6, 29), 179, 50.00, null, 0.82610217, 41.31, 1037.77, null, 1.16, null, null, 12.25, 1000.00); - checkInst(model, 180, 180, LocalDate.of(2019, 6, 30), 180, 50.00, 50.00, null, 0.82522099, 41.26, 988.88, 1.11, 0.00, null, null, + checkInst(model, 180, 180, LocalDate.of(2019, 6, 30), 180, 50.00, null, 0.82522099, 41.26, 988.88, null, 1.11, null, null, 11.14, 1000.00); - checkInst(model, 181, 181, LocalDate.of(2019, 7, 1), 181, 50.00, 50.00, null, 0.82434075, 41.22, 939.93, 1.06, 0.00, null, null, + checkInst(model, 181, 181, LocalDate.of(2019, 7, 1), 181, 50.00, null, 0.82434075, 41.22, 939.93, null, 1.06, null, null, 10.08, 1000.00); - checkInst(model, 182, 182, LocalDate.of(2019, 7, 2), 182, 50.00, 50.00, null, 0.82346144, 41.17, 890.93, 1.00, 0.00, null, null, + checkInst(model, 182, 182, LocalDate.of(2019, 7, 2), 182, 50.00, null, 0.82346144, 41.17, 890.93, null, 1.00, null, null, 9.08, 1000.00); - checkInst(model, 183, 183, LocalDate.of(2019, 7, 3), 183, 50.00, 50.00, null, 0.82258308, 41.13, 841.89, 0.95, 0.00, null, null, + checkInst(model, 183, 183, LocalDate.of(2019, 7, 3), 183, 50.00, null, 0.82258308, 41.13, 841.89, null, 0.95, null, null, 8.13, 1000.00); - checkInst(model, 184, 184, LocalDate.of(2019, 7, 4), 184, 50.00, 50.00, null, 0.82170565, 41.09, 792.79, 0.90, 0.00, null, null, + checkInst(model, 184, 184, LocalDate.of(2019, 7, 4), 184, 50.00, null, 0.82170565, 41.09, 792.79, null, 0.90, null, null, 7.23, 1000.00); - checkInst(model, 185, 185, LocalDate.of(2019, 7, 5), 185, 50.00, 50.00, null, 0.82082916, 41.04, 743.63, 0.85, 0.00, null, null, + checkInst(model, 185, 185, LocalDate.of(2019, 7, 5), 185, 50.00, null, 0.82082916, 41.04, 743.63, null, 0.85, null, null, 6.38, 1000.00); - checkInst(model, 186, 186, LocalDate.of(2019, 7, 6), 186, 50.00, 50.00, null, 0.81995360, 41.00, 694.43, 0.79, 0.00, null, null, + checkInst(model, 186, 186, LocalDate.of(2019, 7, 6), 186, 50.00, null, 0.81995360, 41.00, 694.43, null, 0.79, null, null, 5.59, 1000.00); - checkInst(model, 187, 187, LocalDate.of(2019, 7, 7), 187, 50.00, 50.00, null, 0.81907897, 40.95, 645.17, 0.74, 0.00, null, null, + checkInst(model, 187, 187, LocalDate.of(2019, 7, 7), 187, 50.00, null, 0.81907897, 40.95, 645.17, null, 0.74, null, null, 4.85, 1000.00); - checkInst(model, 188, 188, LocalDate.of(2019, 7, 8), 188, 50.00, 50.00, null, 0.81820528, 40.91, 595.86, 0.69, 0.00, null, null, + checkInst(model, 188, 188, LocalDate.of(2019, 7, 8), 188, 50.00, null, 0.81820528, 40.91, 595.86, null, 0.69, null, null, 4.16, 1000.00); - checkInst(model, 189, 189, LocalDate.of(2019, 7, 9), 189, 50.00, 50.00, null, 0.81733252, 40.87, 546.49, 0.64, 0.00, null, null, + checkInst(model, 189, 189, LocalDate.of(2019, 7, 9), 189, 50.00, null, 0.81733252, 40.87, 546.49, null, 0.64, null, null, 3.52, 1000.00); - checkInst(model, 190, 190, LocalDate.of(2019, 7, 10), 190, 50.00, 50.00, null, 0.81646069, 40.82, 497.08, 0.58, 0.00, null, null, + checkInst(model, 190, 190, LocalDate.of(2019, 7, 10), 190, 50.00, null, 0.81646069, 40.82, 497.08, null, 0.58, null, null, 2.94, 1000.00); - checkInst(model, 191, 191, LocalDate.of(2019, 7, 11), 191, 50.00, 50.00, null, 0.81558979, 40.78, 447.61, 0.53, 0.00, null, null, + checkInst(model, 191, 191, LocalDate.of(2019, 7, 11), 191, 50.00, null, 0.81558979, 40.78, 447.61, null, 0.53, null, null, 2.41, 1000.00); - checkInst(model, 192, 192, LocalDate.of(2019, 7, 12), 192, 50.00, 50.00, null, 0.81471983, 40.74, 398.08, 0.48, 0.00, null, null, + checkInst(model, 192, 192, LocalDate.of(2019, 7, 12), 192, 50.00, null, 0.81471983, 40.74, 398.08, null, 0.48, null, null, 1.93, 1000.00); - checkInst(model, 193, 193, LocalDate.of(2019, 7, 13), 193, 50.00, 50.00, null, 0.81385078, 40.69, 348.51, 0.43, 0.00, null, null, + checkInst(model, 193, 193, LocalDate.of(2019, 7, 13), 193, 50.00, null, 0.81385078, 40.69, 348.51, null, 0.43, null, null, 1.50, 1000.00); - checkInst(model, 194, 194, LocalDate.of(2019, 7, 14), 194, 50.00, 50.00, null, 0.81298267, 40.65, 298.88, 0.37, 0.00, null, null, + checkInst(model, 194, 194, LocalDate.of(2019, 7, 14), 194, 50.00, null, 0.81298267, 40.65, 298.88, null, 0.37, null, null, 1.13, 1000.00); - checkInst(model, 195, 195, LocalDate.of(2019, 7, 15), 195, 50.00, 50.00, null, 0.81211548, 40.61, 249.20, 0.32, 0.00, null, null, + checkInst(model, 195, 195, LocalDate.of(2019, 7, 15), 195, 50.00, null, 0.81211548, 40.61, 249.20, null, 0.32, null, null, 0.81, 1000.00); - checkInst(model, 196, 196, LocalDate.of(2019, 7, 16), 196, 50.00, 50.00, null, 0.81124922, 40.56, 199.47, 0.27, 0.00, null, null, + checkInst(model, 196, 196, LocalDate.of(2019, 7, 16), 196, 50.00, null, 0.81124922, 40.56, 199.47, null, 0.27, null, null, 0.54, 1000.00); - checkInst(model, 197, 197, LocalDate.of(2019, 7, 17), 197, 50.00, 50.00, null, 0.81038388, 40.52, 149.68, 0.21, 0.00, null, null, + checkInst(model, 197, 197, LocalDate.of(2019, 7, 17), 197, 50.00, null, 0.81038388, 40.52, 149.68, null, 0.21, null, null, 0.33, 1000.00); - checkInst(model, 198, 198, LocalDate.of(2019, 7, 18), 198, 50.00, 50.00, null, 0.80951946, 40.48, 99.84, 0.16, 0.00, null, null, + checkInst(model, 198, 198, LocalDate.of(2019, 7, 18), 198, 50.00, null, 0.80951946, 40.48, 99.84, null, 0.16, null, null, 0.17, 1000.00); - checkInst(model, 199, 199, LocalDate.of(2019, 7, 19), 199, 50.00, 50.00, null, 0.80865597, 40.43, 49.95, 0.11, 0.00, null, null, + checkInst(model, 199, 199, LocalDate.of(2019, 7, 19), 199, 50.00, null, 0.80865597, 40.43, 49.95, null, 0.11, null, null, 0.06, 1000.00); - checkInst(model, 200, 200, LocalDate.of(2019, 7, 20), 200, 50.00, 50.00, null, 0.80779339, 40.39, 0.00, 0.05, 0.00, null, null, + checkInst(model, 200, 200, LocalDate.of(2019, 7, 20), 200, 50.00, null, 0.80779339, 40.39, 0.00, null, 0.05, null, null, 0.01, 1000.00); } @@ -515,7 +513,7 @@ void testProjectedSchedule_term200_discountFee1000_netDisbursement9000() { void testNoDiscountLoan_term180_discountFee0_netDisbursement9000() { final BigDecimal zeroDiscount = BigDecimal.ZERO; final ProjectedAmortizationScheduleModel model = ProjectedAmortizationScheduleModel.generate(zeroDiscount, NET_DISBURSEMENT, TPV, - RATE, DAY_COUNT, EXPECTED_DISBURSEMENT_DATE, MC, CURRENCY); + RATE, DAY_COUNT, EXPECTED_DISBURSEMENT_DATE, MC, CURRENCY, EXPECTED_DISBURSEMENT_DATE); assertEquals(180, model.originalPaymentNumber(), "loanTerm = ceil(9000/50) = 180"); assertEquals(BigDecimal.ZERO, model.effectiveInterestRate(), "EIR should be 0 when no discount fee"); @@ -531,419 +529,425 @@ void testNoDiscountLoan_term180_discountFee0_netDisbursement9000() { // Deferred balance should be 0 throughout (no discount to defer) for (int i = 0; i < model.projectedPayments().size(); i++) { final ProjectedPayment p = model.projectedPayments().get(i); - if (p.deferredBalance() != null) { - assertMoneyValue(0.00, p.deferredBalance(), 2, "period " + i + ": deferred balance should be 0"); + if (p.expectedDiscountFeeBalance() != null) { + assertMoneyValue(0.00, p.expectedDiscountFeeBalance(), 2, "period " + i + ": deferred balance should be 0"); } } // Last period balance should be 0 final ProjectedPayment last = model.projectedPayments().getLast(); - assertMoneyValue(0.00, last.balance(), 2, "last period balance should be 0"); + assertMoneyValue(0.00, last.expectedBalance(), 2, "last period balance should be 0"); } @Test void testOnTimePayment_term200_discountFee1000_netDisbursement9000_pay50_50() { final ProjectedAmortizationScheduleModel model = generateModel(); - calculator.applyPayment(model, EXPECTED_DISBURSEMENT_DATE.plusDays(1), new BigDecimal("50")); - calculator.applyPayment(model, EXPECTED_DISBURSEMENT_DATE.plusDays(2), new BigDecimal("50")); + model.applyPayment(EXPECTED_DISBURSEMENT_DATE.plusDays(1), new BigDecimal("50")); + model.applyPayment(EXPECTED_DISBURSEMENT_DATE.plusDays(2), new BigDecimal("50")); - checkInst(model, 0, 0, EXPECTED_DISBURSEMENT_DATE, 0, -9000.00, null, null, 1.00000000, -9000.00, 9000.00, null, null, null, null, - 1000.00); + checkInst(model, 0, 0, EXPECTED_DISBURSEMENT_DATE, 0, -9000.00, null, 1.00000000, -9000.00, 9000.00, 9000.00, null, null, null, + 1000.00, 1000.00); - checkInst(model, 1, 1, LocalDate.of(2019, 1, 2), 0, 50.00, 50.00, 50.00, 1.00000000, 50.00, 8959.61, 9.61, 19.18, 9.61, 0.00, + checkInst(model, 1, 1, LocalDate.of(2019, 1, 2), 0, 50.00, 50.00, 1.00000000, 50.00, 8959.61, 8950.00, 9.61, 9.61, 0.00, 990.39, 990.39); - checkInst(model, 2, 2, LocalDate.of(2019, 1, 3), 0, 50.00, 50.00, 50.00, 1.00000000, 50.00, 8919.18, 9.57, 9.57, 9.57, 0.00, + checkInst(model, 2, 2, LocalDate.of(2019, 1, 3), 0, 50.00, 50.00, 1.00000000, 50.00, 8919.18, 8900.00, 9.57, 9.57, 0.00, 980.82, + 980.82); + checkInst(model, 3, 3, LocalDate.of(2019, 1, 4), 1, 50.00, null, 0.99893332, 49.95, 8878.70, null, 9.52, null, null, 971.30, + 980.82); + checkInst(model, 4, 4, LocalDate.of(2019, 1, 5), 2, 50.00, null, 0.99786779, 49.89, 8838.18, null, 9.48, null, null, 961.82, + 980.82); + checkInst(model, 5, 5, LocalDate.of(2019, 1, 6), 3, 50.00, null, 0.99680339, 49.84, 8797.62, null, 9.44, null, null, 952.38, + 980.82); + checkInst(model, 6, 6, LocalDate.of(2019, 1, 7), 4, 50.00, null, 0.99574012, 49.79, 8757.01, null, 9.39, null, null, 942.99, 980.82); - checkInst(model, 3, 3, LocalDate.of(2019, 1, 4), 1, 50.00, 50.00, null, 0.99893332, 49.95, 8878.70, 9.52, 0.00, null, null, 980.82); - checkInst(model, 4, 4, LocalDate.of(2019, 1, 5), 2, 50.00, 50.00, null, 0.99786779, 49.89, 8838.18, 9.48, 0.00, null, null, 980.82); - checkInst(model, 5, 5, LocalDate.of(2019, 1, 6), 3, 50.00, 50.00, null, 0.99680339, 49.84, 8797.62, 9.44, 0.00, null, null, 980.82); - checkInst(model, 6, 6, LocalDate.of(2019, 1, 7), 4, 50.00, 50.00, null, 0.99574012, 49.79, 8757.01, 9.39, 0.00, null, null, 980.82); - checkInst(model, 7, 7, LocalDate.of(2019, 1, 8), 5, 50.00, 50.00, null, 0.99467799, 49.73, 8716.36, 9.35, 0.00, null, null, 980.82); - checkInst(model, 8, 8, LocalDate.of(2019, 1, 9), 6, 50.00, 50.00, null, 0.99361699, 49.68, 8675.67, 9.31, 0.00, null, null, 980.82); - checkInst(model, 9, 9, LocalDate.of(2019, 1, 10), 7, 50.00, 50.00, null, 0.99255712, 49.63, 8634.94, 9.26, 0.00, null, null, + checkInst(model, 7, 7, LocalDate.of(2019, 1, 8), 5, 50.00, null, 0.99467799, 49.73, 8716.36, null, 9.35, null, null, 933.64, 980.82); - checkInst(model, 10, 10, LocalDate.of(2019, 1, 11), 8, 50.00, 50.00, null, 0.99149839, 49.57, 8594.16, 9.22, 0.00, null, null, + checkInst(model, 8, 8, LocalDate.of(2019, 1, 9), 6, 50.00, null, 0.99361699, 49.68, 8675.67, null, 9.31, null, null, 924.33, 980.82); - checkInst(model, 11, 11, LocalDate.of(2019, 1, 12), 9, 50.00, 50.00, null, 0.99044078, 49.52, 8553.33, 9.18, 0.00, null, null, + checkInst(model, 9, 9, LocalDate.of(2019, 1, 10), 7, 50.00, null, 0.99255712, 49.63, 8634.94, null, 9.26, null, null, 915.07, 980.82); - checkInst(model, 12, 12, LocalDate.of(2019, 1, 13), 10, 50.00, 50.00, null, 0.98938430, 49.47, 8512.47, 9.13, 0.00, null, null, + checkInst(model, 10, 10, LocalDate.of(2019, 1, 11), 8, 50.00, null, 0.99149839, 49.57, 8594.16, null, 9.22, null, null, 905.85, 980.82); - checkInst(model, 13, 13, LocalDate.of(2019, 1, 14), 11, 50.00, 50.00, null, 0.98832895, 49.42, 8471.56, 9.09, 0.00, null, null, + checkInst(model, 11, 11, LocalDate.of(2019, 1, 12), 9, 50.00, null, 0.99044078, 49.52, 8553.33, null, 9.18, null, null, 896.67, 980.82); - checkInst(model, 14, 14, LocalDate.of(2019, 1, 15), 12, 50.00, 50.00, null, 0.98727472, 49.36, 8430.60, 9.05, 0.00, null, null, + checkInst(model, 12, 12, LocalDate.of(2019, 1, 13), 10, 50.00, null, 0.98938430, 49.47, 8512.47, null, 9.13, null, null, 887.54, 980.82); - checkInst(model, 15, 15, LocalDate.of(2019, 1, 16), 13, 50.00, 50.00, null, 0.98622162, 49.31, 8389.61, 9.00, 0.00, null, null, + checkInst(model, 13, 13, LocalDate.of(2019, 1, 14), 11, 50.00, null, 0.98832895, 49.42, 8471.56, null, 9.09, null, null, 878.45, 980.82); - checkInst(model, 16, 16, LocalDate.of(2019, 1, 17), 14, 50.00, 50.00, null, 0.98516964, 49.26, 8348.56, 8.96, 0.00, null, null, + checkInst(model, 14, 14, LocalDate.of(2019, 1, 15), 12, 50.00, null, 0.98727472, 49.36, 8430.60, null, 9.05, null, null, 869.40, 980.82); - checkInst(model, 17, 17, LocalDate.of(2019, 1, 18), 15, 50.00, 50.00, null, 0.98411879, 49.21, 8307.48, 8.91, 0.00, null, null, + checkInst(model, 15, 15, LocalDate.of(2019, 1, 16), 13, 50.00, null, 0.98622162, 49.31, 8389.61, null, 9.00, null, null, 860.40, 980.82); - checkInst(model, 18, 18, LocalDate.of(2019, 1, 19), 16, 50.00, 50.00, null, 0.98306905, 49.15, 8266.35, 8.87, 0.00, null, null, + checkInst(model, 16, 16, LocalDate.of(2019, 1, 17), 14, 50.00, null, 0.98516964, 49.26, 8348.56, null, 8.96, null, null, 851.44, 980.82); - checkInst(model, 19, 19, LocalDate.of(2019, 1, 20), 17, 50.00, 50.00, null, 0.98202044, 49.10, 8225.18, 8.83, 0.00, null, null, + checkInst(model, 17, 17, LocalDate.of(2019, 1, 18), 15, 50.00, null, 0.98411879, 49.21, 8307.48, null, 8.91, null, null, 842.53, 980.82); - checkInst(model, 20, 20, LocalDate.of(2019, 1, 21), 18, 50.00, 50.00, null, 0.98097294, 49.05, 8183.96, 8.78, 0.00, null, null, + checkInst(model, 18, 18, LocalDate.of(2019, 1, 19), 16, 50.00, null, 0.98306905, 49.15, 8266.35, null, 8.87, null, null, 833.66, 980.82); - checkInst(model, 21, 21, LocalDate.of(2019, 1, 22), 19, 50.00, 50.00, null, 0.97992656, 49.00, 8142.70, 8.74, 0.00, null, null, + checkInst(model, 19, 19, LocalDate.of(2019, 1, 20), 17, 50.00, null, 0.98202044, 49.10, 8225.18, null, 8.83, null, null, 824.83, 980.82); - checkInst(model, 22, 22, LocalDate.of(2019, 1, 23), 20, 50.00, 50.00, null, 0.97888129, 48.94, 8101.39, 8.69, 0.00, null, null, + checkInst(model, 20, 20, LocalDate.of(2019, 1, 21), 18, 50.00, null, 0.98097294, 49.05, 8183.96, null, 8.78, null, null, 816.05, 980.82); - checkInst(model, 23, 23, LocalDate.of(2019, 1, 24), 21, 50.00, 50.00, null, 0.97783715, 48.89, 8060.04, 8.65, 0.00, null, null, + checkInst(model, 21, 21, LocalDate.of(2019, 1, 22), 19, 50.00, null, 0.97992656, 49.00, 8142.70, null, 8.74, null, null, 807.31, 980.82); - checkInst(model, 24, 24, LocalDate.of(2019, 1, 25), 22, 50.00, 50.00, null, 0.97679411, 48.84, 8018.65, 8.61, 0.00, null, null, + checkInst(model, 22, 22, LocalDate.of(2019, 1, 23), 20, 50.00, null, 0.97888129, 48.94, 8101.39, null, 8.69, null, null, 798.62, 980.82); - checkInst(model, 25, 25, LocalDate.of(2019, 1, 26), 23, 50.00, 50.00, null, 0.97575219, 48.79, 7977.21, 8.56, 0.00, null, null, + checkInst(model, 23, 23, LocalDate.of(2019, 1, 24), 21, 50.00, null, 0.97783715, 48.89, 8060.04, null, 8.65, null, null, 789.97, 980.82); - checkInst(model, 26, 26, LocalDate.of(2019, 1, 27), 24, 50.00, 50.00, null, 0.97471138, 48.74, 7935.73, 8.52, 0.00, null, null, + checkInst(model, 24, 24, LocalDate.of(2019, 1, 25), 22, 50.00, null, 0.97679411, 48.84, 8018.65, null, 8.61, null, null, 781.36, 980.82); - checkInst(model, 27, 27, LocalDate.of(2019, 1, 28), 25, 50.00, 50.00, null, 0.97367168, 48.68, 7894.21, 8.47, 0.00, null, null, + checkInst(model, 25, 25, LocalDate.of(2019, 1, 26), 23, 50.00, null, 0.97575219, 48.79, 7977.21, null, 8.56, null, null, 772.80, 980.82); - checkInst(model, 28, 28, LocalDate.of(2019, 1, 29), 26, 50.00, 50.00, null, 0.97263309, 48.63, 7852.63, 8.43, 0.00, null, null, + checkInst(model, 26, 26, LocalDate.of(2019, 1, 27), 24, 50.00, null, 0.97471138, 48.74, 7935.73, null, 8.52, null, null, 764.28, 980.82); - checkInst(model, 29, 29, LocalDate.of(2019, 1, 30), 27, 50.00, 50.00, null, 0.97159560, 48.58, 7811.02, 8.39, 0.00, null, null, + checkInst(model, 27, 27, LocalDate.of(2019, 1, 28), 25, 50.00, null, 0.97367168, 48.68, 7894.21, null, 8.47, null, null, 755.81, 980.82); - checkInst(model, 30, 30, LocalDate.of(2019, 1, 31), 28, 50.00, 50.00, null, 0.97055922, 48.53, 7769.36, 8.34, 0.00, null, null, + checkInst(model, 28, 28, LocalDate.of(2019, 1, 29), 26, 50.00, null, 0.97263309, 48.63, 7852.63, null, 8.43, null, null, 747.38, 980.82); - checkInst(model, 31, 31, LocalDate.of(2019, 2, 1), 29, 50.00, 50.00, null, 0.96952395, 48.48, 7727.66, 8.30, 0.00, null, null, + checkInst(model, 29, 29, LocalDate.of(2019, 1, 30), 27, 50.00, null, 0.97159560, 48.58, 7811.02, null, 8.39, null, null, 738.99, 980.82); - checkInst(model, 32, 32, LocalDate.of(2019, 2, 2), 30, 50.00, 50.00, null, 0.96848979, 48.42, 7685.91, 8.25, 0.00, null, null, + checkInst(model, 30, 30, LocalDate.of(2019, 1, 31), 28, 50.00, null, 0.97055922, 48.53, 7769.36, null, 8.34, null, null, 730.65, 980.82); - checkInst(model, 33, 33, LocalDate.of(2019, 2, 3), 31, 50.00, 50.00, null, 0.96745672, 48.37, 7644.12, 8.21, 0.00, null, null, + checkInst(model, 31, 31, LocalDate.of(2019, 2, 1), 29, 50.00, null, 0.96952395, 48.48, 7727.66, null, 8.30, null, null, 722.35, 980.82); - checkInst(model, 34, 34, LocalDate.of(2019, 2, 4), 32, 50.00, 50.00, null, 0.96642476, 48.32, 7602.28, 8.16, 0.00, null, null, + checkInst(model, 32, 32, LocalDate.of(2019, 2, 2), 30, 50.00, null, 0.96848979, 48.42, 7685.91, null, 8.25, null, null, 714.10, 980.82); - checkInst(model, 35, 35, LocalDate.of(2019, 2, 5), 33, 50.00, 50.00, null, 0.96539390, 48.27, 7560.40, 8.12, 0.00, null, null, + checkInst(model, 33, 33, LocalDate.of(2019, 2, 3), 31, 50.00, null, 0.96745672, 48.37, 7644.12, null, 8.21, null, null, 705.89, 980.82); - checkInst(model, 36, 36, LocalDate.of(2019, 2, 6), 34, 50.00, 50.00, null, 0.96436413, 48.22, 7518.47, 8.07, 0.00, null, null, + checkInst(model, 34, 34, LocalDate.of(2019, 2, 4), 32, 50.00, null, 0.96642476, 48.32, 7602.28, null, 8.16, null, null, 697.73, 980.82); - checkInst(model, 37, 37, LocalDate.of(2019, 2, 7), 35, 50.00, 50.00, null, 0.96333547, 48.17, 7476.50, 8.03, 0.00, null, null, + checkInst(model, 35, 35, LocalDate.of(2019, 2, 5), 33, 50.00, null, 0.96539390, 48.27, 7560.40, null, 8.12, null, null, 689.61, 980.82); - checkInst(model, 38, 38, LocalDate.of(2019, 2, 8), 36, 50.00, 50.00, null, 0.96230790, 48.12, 7434.48, 7.98, 0.00, null, null, + checkInst(model, 36, 36, LocalDate.of(2019, 2, 6), 34, 50.00, null, 0.96436413, 48.22, 7518.47, null, 8.07, null, null, 681.54, 980.82); - checkInst(model, 39, 39, LocalDate.of(2019, 2, 9), 37, 50.00, 50.00, null, 0.96128143, 48.06, 7392.42, 7.94, 0.00, null, null, + checkInst(model, 37, 37, LocalDate.of(2019, 2, 7), 35, 50.00, null, 0.96333547, 48.17, 7476.50, null, 8.03, null, null, 673.51, 980.82); - checkInst(model, 40, 40, LocalDate.of(2019, 2, 10), 38, 50.00, 50.00, null, 0.96025606, 48.01, 7350.31, 7.89, 0.00, null, null, + checkInst(model, 38, 38, LocalDate.of(2019, 2, 8), 36, 50.00, null, 0.96230790, 48.12, 7434.48, null, 7.98, null, null, 665.53, 980.82); - checkInst(model, 41, 41, LocalDate.of(2019, 2, 11), 39, 50.00, 50.00, null, 0.95923178, 47.96, 7308.16, 7.85, 0.00, null, null, + checkInst(model, 39, 39, LocalDate.of(2019, 2, 9), 37, 50.00, null, 0.96128143, 48.06, 7392.42, null, 7.94, null, null, 657.59, 980.82); - checkInst(model, 42, 42, LocalDate.of(2019, 2, 12), 40, 50.00, 50.00, null, 0.95820859, 47.91, 7265.97, 7.80, 0.00, null, null, + checkInst(model, 40, 40, LocalDate.of(2019, 2, 10), 38, 50.00, null, 0.96025606, 48.01, 7350.31, null, 7.89, null, null, 649.70, 980.82); - checkInst(model, 43, 43, LocalDate.of(2019, 2, 13), 41, 50.00, 50.00, null, 0.95718649, 47.86, 7223.72, 7.76, 0.00, null, null, + checkInst(model, 41, 41, LocalDate.of(2019, 2, 11), 39, 50.00, null, 0.95923178, 47.96, 7308.16, null, 7.85, null, null, 641.85, 980.82); - checkInst(model, 44, 44, LocalDate.of(2019, 2, 14), 42, 50.00, 50.00, null, 0.95616548, 47.81, 7181.44, 7.71, 0.00, null, null, + checkInst(model, 42, 42, LocalDate.of(2019, 2, 12), 40, 50.00, null, 0.95820859, 47.91, 7265.97, null, 7.80, null, null, 634.05, 980.82); - checkInst(model, 45, 45, LocalDate.of(2019, 2, 15), 43, 50.00, 50.00, null, 0.95514557, 47.76, 7139.11, 7.67, 0.00, null, null, + checkInst(model, 43, 43, LocalDate.of(2019, 2, 13), 41, 50.00, null, 0.95718649, 47.86, 7223.72, null, 7.76, null, null, 626.29, 980.82); - checkInst(model, 46, 46, LocalDate.of(2019, 2, 16), 44, 50.00, 50.00, null, 0.95412674, 47.71, 7096.73, 7.62, 0.00, null, null, + checkInst(model, 44, 44, LocalDate.of(2019, 2, 14), 42, 50.00, null, 0.95616548, 47.81, 7181.44, null, 7.71, null, null, 618.58, 980.82); - checkInst(model, 47, 47, LocalDate.of(2019, 2, 17), 45, 50.00, 50.00, null, 0.95310899, 47.66, 7054.31, 7.58, 0.00, null, null, + checkInst(model, 45, 45, LocalDate.of(2019, 2, 15), 43, 50.00, null, 0.95514557, 47.76, 7139.11, null, 7.67, null, null, 610.91, 980.82); - checkInst(model, 48, 48, LocalDate.of(2019, 2, 18), 46, 50.00, 50.00, null, 0.95209233, 47.60, 7011.84, 7.53, 0.00, null, null, + checkInst(model, 46, 46, LocalDate.of(2019, 2, 16), 44, 50.00, null, 0.95412674, 47.71, 7096.73, null, 7.62, null, null, 603.29, 980.82); - checkInst(model, 49, 49, LocalDate.of(2019, 2, 19), 47, 50.00, 50.00, null, 0.95107676, 47.55, 6969.33, 7.49, 0.00, null, null, + checkInst(model, 47, 47, LocalDate.of(2019, 2, 17), 45, 50.00, null, 0.95310899, 47.66, 7054.31, null, 7.58, null, null, 595.71, 980.82); - checkInst(model, 50, 50, LocalDate.of(2019, 2, 20), 48, 50.00, 50.00, null, 0.95006227, 47.50, 6926.77, 7.44, 0.00, null, null, + checkInst(model, 48, 48, LocalDate.of(2019, 2, 18), 46, 50.00, null, 0.95209233, 47.60, 7011.84, null, 7.53, null, null, 588.18, 980.82); - checkInst(model, 51, 51, LocalDate.of(2019, 2, 21), 49, 50.00, 50.00, null, 0.94904886, 47.45, 6884.17, 7.40, 0.00, null, null, + checkInst(model, 49, 49, LocalDate.of(2019, 2, 19), 47, 50.00, null, 0.95107676, 47.55, 6969.33, null, 7.49, null, null, 580.69, 980.82); - checkInst(model, 52, 52, LocalDate.of(2019, 2, 22), 50, 50.00, 50.00, null, 0.94803653, 47.40, 6841.52, 7.35, 0.00, null, null, + checkInst(model, 50, 50, LocalDate.of(2019, 2, 20), 48, 50.00, null, 0.95006227, 47.50, 6926.77, null, 7.44, null, null, 573.25, 980.82); - checkInst(model, 53, 53, LocalDate.of(2019, 2, 23), 51, 50.00, 50.00, null, 0.94702529, 47.35, 6798.82, 7.31, 0.00, null, null, + checkInst(model, 51, 51, LocalDate.of(2019, 2, 21), 49, 50.00, null, 0.94904886, 47.45, 6884.17, null, 7.40, null, null, 565.85, 980.82); - checkInst(model, 54, 54, LocalDate.of(2019, 2, 24), 52, 50.00, 50.00, null, 0.94601512, 47.30, 6756.08, 7.26, 0.00, null, null, + checkInst(model, 52, 52, LocalDate.of(2019, 2, 22), 50, 50.00, null, 0.94803653, 47.40, 6841.52, null, 7.35, null, null, 558.50, 980.82); - checkInst(model, 55, 55, LocalDate.of(2019, 2, 25), 53, 50.00, 50.00, null, 0.94500603, 47.25, 6713.30, 7.21, 0.00, null, null, + checkInst(model, 53, 53, LocalDate.of(2019, 2, 23), 51, 50.00, null, 0.94702529, 47.35, 6798.82, null, 7.31, null, null, 551.19, 980.82); - checkInst(model, 56, 56, LocalDate.of(2019, 2, 26), 54, 50.00, 50.00, null, 0.94399801, 47.20, 6670.47, 7.17, 0.00, null, null, + checkInst(model, 54, 54, LocalDate.of(2019, 2, 24), 52, 50.00, null, 0.94601512, 47.30, 6756.08, null, 7.26, null, null, 543.93, 980.82); - checkInst(model, 57, 57, LocalDate.of(2019, 2, 27), 55, 50.00, 50.00, null, 0.94299107, 47.15, 6627.59, 7.12, 0.00, null, null, + checkInst(model, 55, 55, LocalDate.of(2019, 2, 25), 53, 50.00, null, 0.94500603, 47.25, 6713.30, null, 7.21, null, null, 536.72, 980.82); - checkInst(model, 58, 58, LocalDate.of(2019, 2, 28), 56, 50.00, 50.00, null, 0.94198521, 47.10, 6584.67, 7.08, 0.00, null, null, + checkInst(model, 56, 56, LocalDate.of(2019, 2, 26), 54, 50.00, null, 0.94399801, 47.20, 6670.47, null, 7.17, null, null, 529.55, 980.82); - checkInst(model, 59, 59, LocalDate.of(2019, 3, 1), 57, 50.00, 50.00, null, 0.94098042, 47.05, 6541.70, 7.03, 0.00, null, null, + checkInst(model, 57, 57, LocalDate.of(2019, 2, 27), 55, 50.00, null, 0.94299107, 47.15, 6627.59, null, 7.12, null, null, 522.43, 980.82); - checkInst(model, 60, 60, LocalDate.of(2019, 3, 2), 58, 50.00, 50.00, null, 0.93997669, 47.00, 6498.68, 6.99, 0.00, null, null, + checkInst(model, 58, 58, LocalDate.of(2019, 2, 28), 56, 50.00, null, 0.94198521, 47.10, 6584.67, null, 7.08, null, null, 515.35, 980.82); - checkInst(model, 61, 61, LocalDate.of(2019, 3, 3), 59, 50.00, 50.00, null, 0.93897404, 46.95, 6455.62, 6.94, 0.00, null, null, + checkInst(model, 59, 59, LocalDate.of(2019, 3, 1), 57, 50.00, null, 0.94098042, 47.05, 6541.70, null, 7.03, null, null, 508.32, 980.82); - checkInst(model, 62, 62, LocalDate.of(2019, 3, 4), 60, 50.00, 50.00, null, 0.93797246, 46.90, 6412.51, 6.89, 0.00, null, null, + checkInst(model, 60, 60, LocalDate.of(2019, 3, 2), 58, 50.00, null, 0.93997669, 47.00, 6498.68, null, 6.99, null, null, 501.33, 980.82); - checkInst(model, 63, 63, LocalDate.of(2019, 3, 5), 61, 50.00, 50.00, null, 0.93697195, 46.85, 6369.36, 6.85, 0.00, null, null, + checkInst(model, 61, 61, LocalDate.of(2019, 3, 3), 59, 50.00, null, 0.93897404, 46.95, 6455.62, null, 6.94, null, null, 494.39, 980.82); - checkInst(model, 64, 64, LocalDate.of(2019, 3, 6), 62, 50.00, 50.00, null, 0.93597251, 46.80, 6326.16, 6.80, 0.00, null, null, + checkInst(model, 62, 62, LocalDate.of(2019, 3, 4), 60, 50.00, null, 0.93797246, 46.90, 6412.51, null, 6.89, null, null, 487.50, 980.82); - checkInst(model, 65, 65, LocalDate.of(2019, 3, 7), 63, 50.00, 50.00, null, 0.93497413, 46.75, 6282.92, 6.76, 0.00, null, null, + checkInst(model, 63, 63, LocalDate.of(2019, 3, 5), 61, 50.00, null, 0.93697195, 46.85, 6369.36, null, 6.85, null, null, 480.65, 980.82); - checkInst(model, 66, 66, LocalDate.of(2019, 3, 8), 64, 50.00, 50.00, null, 0.93397681, 46.70, 6239.63, 6.71, 0.00, null, null, + checkInst(model, 64, 64, LocalDate.of(2019, 3, 6), 62, 50.00, null, 0.93597251, 46.80, 6326.16, null, 6.80, null, null, 473.85, 980.82); - checkInst(model, 67, 67, LocalDate.of(2019, 3, 9), 65, 50.00, 50.00, null, 0.93298056, 46.65, 6196.29, 6.66, 0.00, null, null, + checkInst(model, 65, 65, LocalDate.of(2019, 3, 7), 63, 50.00, null, 0.93497413, 46.75, 6282.92, null, 6.76, null, null, 467.09, 980.82); - checkInst(model, 68, 68, LocalDate.of(2019, 3, 10), 66, 50.00, 50.00, null, 0.93198538, 46.60, 6152.91, 6.62, 0.00, null, null, + checkInst(model, 66, 66, LocalDate.of(2019, 3, 8), 64, 50.00, null, 0.93397681, 46.70, 6239.63, null, 6.71, null, null, 460.38, 980.82); - checkInst(model, 69, 69, LocalDate.of(2019, 3, 11), 67, 50.00, 50.00, null, 0.93099125, 46.55, 6109.48, 6.57, 0.00, null, null, + checkInst(model, 67, 67, LocalDate.of(2019, 3, 9), 65, 50.00, null, 0.93298056, 46.65, 6196.29, null, 6.66, null, null, 453.72, 980.82); - checkInst(model, 70, 70, LocalDate.of(2019, 3, 12), 68, 50.00, 50.00, null, 0.92999818, 46.50, 6066.00, 6.52, 0.00, null, null, + checkInst(model, 68, 68, LocalDate.of(2019, 3, 10), 66, 50.00, null, 0.93198538, 46.60, 6152.91, null, 6.62, null, null, 447.10, 980.82); - checkInst(model, 71, 71, LocalDate.of(2019, 3, 13), 69, 50.00, 50.00, null, 0.92900618, 46.45, 6022.48, 6.48, 0.00, null, null, + checkInst(model, 69, 69, LocalDate.of(2019, 3, 11), 67, 50.00, null, 0.93099125, 46.55, 6109.48, null, 6.57, null, null, 440.53, 980.82); - checkInst(model, 72, 72, LocalDate.of(2019, 3, 14), 70, 50.00, 50.00, null, 0.92801523, 46.40, 5978.91, 6.43, 0.00, null, null, + checkInst(model, 70, 70, LocalDate.of(2019, 3, 12), 68, 50.00, null, 0.92999818, 46.50, 6066.00, null, 6.52, null, null, 434.01, 980.82); - checkInst(model, 73, 73, LocalDate.of(2019, 3, 15), 71, 50.00, 50.00, null, 0.92702534, 46.35, 5935.29, 6.38, 0.00, null, null, + checkInst(model, 71, 71, LocalDate.of(2019, 3, 13), 69, 50.00, null, 0.92900618, 46.45, 6022.48, null, 6.48, null, null, 427.53, 980.82); - checkInst(model, 74, 74, LocalDate.of(2019, 3, 16), 72, 50.00, 50.00, null, 0.92603650, 46.30, 5891.63, 6.34, 0.00, null, null, + checkInst(model, 72, 72, LocalDate.of(2019, 3, 14), 70, 50.00, null, 0.92801523, 46.40, 5978.91, null, 6.43, null, null, 421.10, 980.82); - checkInst(model, 75, 75, LocalDate.of(2019, 3, 17), 73, 50.00, 50.00, null, 0.92504872, 46.25, 5847.92, 6.29, 0.00, null, null, + checkInst(model, 73, 73, LocalDate.of(2019, 3, 15), 71, 50.00, null, 0.92702534, 46.35, 5935.29, null, 6.38, null, null, 414.72, 980.82); - checkInst(model, 76, 76, LocalDate.of(2019, 3, 18), 74, 50.00, 50.00, null, 0.92406200, 46.20, 5804.17, 6.24, 0.00, null, null, + checkInst(model, 74, 74, LocalDate.of(2019, 3, 16), 72, 50.00, null, 0.92603650, 46.30, 5891.63, null, 6.34, null, null, 408.38, 980.82); - checkInst(model, 77, 77, LocalDate.of(2019, 3, 19), 75, 50.00, 50.00, null, 0.92307632, 46.15, 5760.36, 6.20, 0.00, null, null, + checkInst(model, 75, 75, LocalDate.of(2019, 3, 17), 73, 50.00, null, 0.92504872, 46.25, 5847.92, null, 6.29, null, null, 402.09, 980.82); - checkInst(model, 78, 78, LocalDate.of(2019, 3, 20), 76, 50.00, 50.00, null, 0.92209170, 46.10, 5716.52, 6.15, 0.00, null, null, + checkInst(model, 76, 76, LocalDate.of(2019, 3, 18), 74, 50.00, null, 0.92406200, 46.20, 5804.17, null, 6.24, null, null, 395.85, 980.82); - checkInst(model, 79, 79, LocalDate.of(2019, 3, 21), 77, 50.00, 50.00, null, 0.92110813, 46.06, 5672.62, 6.10, 0.00, null, null, + checkInst(model, 77, 77, LocalDate.of(2019, 3, 19), 75, 50.00, null, 0.92307632, 46.15, 5760.36, null, 6.20, null, null, 389.65, 980.82); - checkInst(model, 80, 80, LocalDate.of(2019, 3, 22), 78, 50.00, 50.00, null, 0.92012560, 46.01, 5628.68, 6.06, 0.00, null, null, + checkInst(model, 78, 78, LocalDate.of(2019, 3, 20), 76, 50.00, null, 0.92209170, 46.10, 5716.52, null, 6.15, null, null, 383.50, 980.82); - checkInst(model, 81, 81, LocalDate.of(2019, 3, 23), 79, 50.00, 50.00, null, 0.91914413, 45.96, 5584.69, 6.01, 0.00, null, null, + checkInst(model, 79, 79, LocalDate.of(2019, 3, 21), 77, 50.00, null, 0.92110813, 46.06, 5672.62, null, 6.10, null, null, 377.40, 980.82); - checkInst(model, 82, 82, LocalDate.of(2019, 3, 24), 80, 50.00, 50.00, null, 0.91816370, 45.91, 5540.65, 5.96, 0.00, null, null, + checkInst(model, 80, 80, LocalDate.of(2019, 3, 22), 78, 50.00, null, 0.92012560, 46.01, 5628.68, null, 6.06, null, null, 371.34, 980.82); - checkInst(model, 83, 83, LocalDate.of(2019, 3, 25), 81, 50.00, 50.00, null, 0.91718432, 45.86, 5496.57, 5.92, 0.00, null, null, + checkInst(model, 81, 81, LocalDate.of(2019, 3, 23), 79, 50.00, null, 0.91914413, 45.96, 5584.69, null, 6.01, null, null, 365.33, 980.82); - checkInst(model, 84, 84, LocalDate.of(2019, 3, 26), 82, 50.00, 50.00, null, 0.91620598, 45.81, 5452.44, 5.87, 0.00, null, null, + checkInst(model, 82, 82, LocalDate.of(2019, 3, 24), 80, 50.00, null, 0.91816370, 45.91, 5540.65, null, 5.96, null, null, 359.37, 980.82); - checkInst(model, 85, 85, LocalDate.of(2019, 3, 27), 83, 50.00, 50.00, null, 0.91522868, 45.76, 5408.26, 5.82, 0.00, null, null, + checkInst(model, 83, 83, LocalDate.of(2019, 3, 25), 81, 50.00, null, 0.91718432, 45.86, 5496.57, null, 5.92, null, null, 353.45, 980.82); - checkInst(model, 86, 86, LocalDate.of(2019, 3, 28), 84, 50.00, 50.00, null, 0.91425243, 45.71, 5364.03, 5.78, 0.00, null, null, + checkInst(model, 84, 84, LocalDate.of(2019, 3, 26), 82, 50.00, null, 0.91620598, 45.81, 5452.44, null, 5.87, null, null, 347.58, 980.82); - checkInst(model, 87, 87, LocalDate.of(2019, 3, 29), 85, 50.00, 50.00, null, 0.91327722, 45.66, 5319.76, 5.73, 0.00, null, null, + checkInst(model, 85, 85, LocalDate.of(2019, 3, 27), 83, 50.00, null, 0.91522868, 45.76, 5408.26, null, 5.82, null, null, 341.76, 980.82); - checkInst(model, 88, 88, LocalDate.of(2019, 3, 30), 86, 50.00, 50.00, null, 0.91230305, 45.62, 5275.44, 5.68, 0.00, null, null, + checkInst(model, 86, 86, LocalDate.of(2019, 3, 28), 84, 50.00, null, 0.91425243, 45.71, 5364.03, null, 5.78, null, null, 335.98, 980.82); - checkInst(model, 89, 89, LocalDate.of(2019, 3, 31), 87, 50.00, 50.00, null, 0.91132992, 45.57, 5231.08, 5.63, 0.00, null, null, + checkInst(model, 87, 87, LocalDate.of(2019, 3, 29), 85, 50.00, null, 0.91327722, 45.66, 5319.76, null, 5.73, null, null, 330.25, 980.82); - checkInst(model, 90, 90, LocalDate.of(2019, 4, 1), 88, 50.00, 50.00, null, 0.91035783, 45.52, 5186.66, 5.59, 0.00, null, null, + checkInst(model, 88, 88, LocalDate.of(2019, 3, 30), 86, 50.00, null, 0.91230305, 45.62, 5275.44, null, 5.68, null, null, 324.57, 980.82); - checkInst(model, 91, 91, LocalDate.of(2019, 4, 2), 89, 50.00, 50.00, null, 0.90938677, 45.47, 5142.20, 5.54, 0.00, null, null, + checkInst(model, 89, 89, LocalDate.of(2019, 3, 31), 87, 50.00, null, 0.91132992, 45.57, 5231.08, null, 5.63, null, null, 318.94, 980.82); - checkInst(model, 92, 92, LocalDate.of(2019, 4, 3), 90, 50.00, 50.00, null, 0.90841675, 45.42, 5097.69, 5.49, 0.00, null, null, + checkInst(model, 90, 90, LocalDate.of(2019, 4, 1), 88, 50.00, null, 0.91035783, 45.52, 5186.66, null, 5.59, null, null, 313.35, 980.82); - checkInst(model, 93, 93, LocalDate.of(2019, 4, 4), 91, 50.00, 50.00, null, 0.90744776, 45.37, 5053.13, 5.44, 0.00, null, null, + checkInst(model, 91, 91, LocalDate.of(2019, 4, 2), 89, 50.00, null, 0.90938677, 45.47, 5142.20, null, 5.54, null, null, 307.81, 980.82); - checkInst(model, 94, 94, LocalDate.of(2019, 4, 5), 92, 50.00, 50.00, null, 0.90647981, 45.32, 5008.53, 5.40, 0.00, null, null, + checkInst(model, 92, 92, LocalDate.of(2019, 4, 3), 90, 50.00, null, 0.90841675, 45.42, 5097.69, null, 5.49, null, null, 302.32, 980.82); - checkInst(model, 95, 95, LocalDate.of(2019, 4, 6), 93, 50.00, 50.00, null, 0.90551289, 45.28, 4963.88, 5.35, 0.00, null, null, + checkInst(model, 93, 93, LocalDate.of(2019, 4, 4), 91, 50.00, null, 0.90744776, 45.37, 5053.13, null, 5.44, null, null, 296.88, 980.82); - checkInst(model, 96, 96, LocalDate.of(2019, 4, 7), 94, 50.00, 50.00, null, 0.90454700, 45.23, 4919.18, 5.30, 0.00, null, null, + checkInst(model, 94, 94, LocalDate.of(2019, 4, 5), 92, 50.00, null, 0.90647981, 45.32, 5008.53, null, 5.40, null, null, 291.48, 980.82); - checkInst(model, 97, 97, LocalDate.of(2019, 4, 8), 95, 50.00, 50.00, null, 0.90358215, 45.18, 4874.43, 5.25, 0.00, null, null, + checkInst(model, 95, 95, LocalDate.of(2019, 4, 6), 93, 50.00, null, 0.90551289, 45.28, 4963.88, null, 5.35, null, null, 286.13, 980.82); - checkInst(model, 98, 98, LocalDate.of(2019, 4, 9), 96, 50.00, 50.00, null, 0.90261832, 45.13, 4829.64, 5.20, 0.00, null, null, + checkInst(model, 96, 96, LocalDate.of(2019, 4, 7), 94, 50.00, null, 0.90454700, 45.23, 4919.18, null, 5.30, null, null, 280.83, 980.82); - checkInst(model, 99, 99, LocalDate.of(2019, 4, 10), 97, 50.00, 50.00, null, 0.90165552, 45.08, 4784.79, 5.16, 0.00, null, null, + checkInst(model, 97, 97, LocalDate.of(2019, 4, 8), 95, 50.00, null, 0.90358215, 45.18, 4874.43, null, 5.25, null, null, 275.58, 980.82); - checkInst(model, 100, 100, LocalDate.of(2019, 4, 11), 98, 50.00, 50.00, null, 0.90069374, 45.03, 4739.90, 5.11, 0.00, null, null, + checkInst(model, 98, 98, LocalDate.of(2019, 4, 9), 96, 50.00, null, 0.90261832, 45.13, 4829.64, null, 5.20, null, null, 270.38, 980.82); - checkInst(model, 101, 101, LocalDate.of(2019, 4, 12), 99, 50.00, 50.00, null, 0.89973299, 44.99, 4694.96, 5.06, 0.00, null, null, + checkInst(model, 99, 99, LocalDate.of(2019, 4, 10), 97, 50.00, null, 0.90165552, 45.08, 4784.79, null, 5.16, null, null, 265.22, 980.82); - checkInst(model, 102, 102, LocalDate.of(2019, 4, 13), 100, 50.00, 50.00, null, 0.89877327, 44.94, 4649.98, 5.01, 0.00, null, null, + checkInst(model, 100, 100, LocalDate.of(2019, 4, 11), 98, 50.00, null, 0.90069374, 45.03, 4739.90, null, 5.11, null, null, 260.11, 980.82); - checkInst(model, 103, 103, LocalDate.of(2019, 4, 14), 101, 50.00, 50.00, null, 0.89781457, 44.89, 4604.94, 4.97, 0.00, null, null, + checkInst(model, 101, 101, LocalDate.of(2019, 4, 12), 99, 50.00, null, 0.89973299, 44.99, 4694.96, null, 5.06, null, null, 255.05, 980.82); - checkInst(model, 104, 104, LocalDate.of(2019, 4, 15), 102, 50.00, 50.00, null, 0.89685689, 44.84, 4559.86, 4.92, 0.00, null, null, + checkInst(model, 102, 102, LocalDate.of(2019, 4, 13), 100, 50.00, null, 0.89877327, 44.94, 4649.98, null, 5.01, null, null, 250.04, 980.82); - checkInst(model, 105, 105, LocalDate.of(2019, 4, 16), 103, 50.00, 50.00, null, 0.89590024, 44.80, 4514.73, 4.87, 0.00, null, null, + checkInst(model, 103, 103, LocalDate.of(2019, 4, 14), 101, 50.00, null, 0.89781457, 44.89, 4604.94, null, 4.97, null, null, 245.07, 980.82); - checkInst(model, 106, 106, LocalDate.of(2019, 4, 17), 104, 50.00, 50.00, null, 0.89494460, 44.75, 4469.55, 4.82, 0.00, null, null, + checkInst(model, 104, 104, LocalDate.of(2019, 4, 15), 102, 50.00, null, 0.89685689, 44.84, 4559.86, null, 4.92, null, null, 240.15, 980.82); - checkInst(model, 107, 107, LocalDate.of(2019, 4, 18), 105, 50.00, 50.00, null, 0.89398999, 44.70, 4424.32, 4.77, 0.00, null, null, + checkInst(model, 105, 105, LocalDate.of(2019, 4, 16), 103, 50.00, null, 0.89590024, 44.80, 4514.73, null, 4.87, null, null, 235.28, 980.82); - checkInst(model, 108, 108, LocalDate.of(2019, 4, 19), 106, 50.00, 50.00, null, 0.89303639, 44.65, 4379.05, 4.72, 0.00, null, null, + checkInst(model, 106, 106, LocalDate.of(2019, 4, 17), 104, 50.00, null, 0.89494460, 44.75, 4469.55, null, 4.82, null, null, 230.46, 980.82); - checkInst(model, 109, 109, LocalDate.of(2019, 4, 20), 107, 50.00, 50.00, null, 0.89208381, 44.60, 4333.72, 4.68, 0.00, null, null, + checkInst(model, 107, 107, LocalDate.of(2019, 4, 18), 105, 50.00, null, 0.89398999, 44.70, 4424.32, null, 4.77, null, null, 225.69, 980.82); - checkInst(model, 110, 110, LocalDate.of(2019, 4, 21), 108, 50.00, 50.00, null, 0.89113225, 44.56, 4288.35, 4.63, 0.00, null, null, + checkInst(model, 108, 108, LocalDate.of(2019, 4, 19), 106, 50.00, null, 0.89303639, 44.65, 4379.05, null, 4.72, null, null, 220.97, 980.82); - checkInst(model, 111, 111, LocalDate.of(2019, 4, 22), 109, 50.00, 50.00, null, 0.89018170, 44.51, 4242.93, 4.58, 0.00, null, null, + checkInst(model, 109, 109, LocalDate.of(2019, 4, 20), 107, 50.00, null, 0.89208381, 44.60, 4333.72, null, 4.68, null, null, 216.29, 980.82); - checkInst(model, 112, 112, LocalDate.of(2019, 4, 23), 110, 50.00, 50.00, null, 0.88923216, 44.46, 4197.46, 4.53, 0.00, null, null, + checkInst(model, 110, 110, LocalDate.of(2019, 4, 21), 108, 50.00, null, 0.89113225, 44.56, 4288.35, null, 4.63, null, null, 211.66, 980.82); - checkInst(model, 113, 113, LocalDate.of(2019, 4, 24), 111, 50.00, 50.00, null, 0.88828364, 44.41, 4151.94, 4.48, 0.00, null, null, + checkInst(model, 111, 111, LocalDate.of(2019, 4, 22), 109, 50.00, null, 0.89018170, 44.51, 4242.93, null, 4.58, null, null, 207.08, 980.82); - checkInst(model, 114, 114, LocalDate.of(2019, 4, 25), 112, 50.00, 50.00, null, 0.88733613, 44.37, 4106.38, 4.43, 0.00, null, null, + checkInst(model, 112, 112, LocalDate.of(2019, 4, 23), 110, 50.00, null, 0.88923216, 44.46, 4197.46, null, 4.53, null, null, 202.55, 980.82); - checkInst(model, 115, 115, LocalDate.of(2019, 4, 26), 113, 50.00, 50.00, null, 0.88638963, 44.32, 4060.76, 4.38, 0.00, null, null, + checkInst(model, 113, 113, LocalDate.of(2019, 4, 24), 111, 50.00, null, 0.88828364, 44.41, 4151.94, null, 4.48, null, null, 198.07, 980.82); - checkInst(model, 116, 116, LocalDate.of(2019, 4, 27), 114, 50.00, 50.00, null, 0.88544414, 44.27, 4015.10, 4.34, 0.00, null, null, + checkInst(model, 114, 114, LocalDate.of(2019, 4, 25), 112, 50.00, null, 0.88733613, 44.37, 4106.38, null, 4.43, null, null, 193.64, 980.82); - checkInst(model, 117, 117, LocalDate.of(2019, 4, 28), 115, 50.00, 50.00, null, 0.88449966, 44.22, 3969.38, 4.29, 0.00, null, null, + checkInst(model, 115, 115, LocalDate.of(2019, 4, 26), 113, 50.00, null, 0.88638963, 44.32, 4060.76, null, 4.38, null, null, 189.26, 980.82); - checkInst(model, 118, 118, LocalDate.of(2019, 4, 29), 116, 50.00, 50.00, null, 0.88355619, 44.18, 3923.62, 4.24, 0.00, null, null, + checkInst(model, 116, 116, LocalDate.of(2019, 4, 27), 114, 50.00, null, 0.88544414, 44.27, 4015.10, null, 4.34, null, null, 184.92, 980.82); - checkInst(model, 119, 119, LocalDate.of(2019, 4, 30), 117, 50.00, 50.00, null, 0.88261372, 44.13, 3877.81, 4.19, 0.00, null, null, + checkInst(model, 117, 117, LocalDate.of(2019, 4, 28), 115, 50.00, null, 0.88449966, 44.22, 3969.38, null, 4.29, null, null, 180.63, 980.82); - checkInst(model, 120, 120, LocalDate.of(2019, 5, 1), 118, 50.00, 50.00, null, 0.88167226, 44.08, 3831.95, 4.14, 0.00, null, null, + checkInst(model, 118, 118, LocalDate.of(2019, 4, 29), 116, 50.00, null, 0.88355619, 44.18, 3923.62, null, 4.24, null, null, 176.39, 980.82); - checkInst(model, 121, 121, LocalDate.of(2019, 5, 2), 119, 50.00, 50.00, null, 0.88073180, 44.04, 3786.04, 4.09, 0.00, null, null, + checkInst(model, 119, 119, LocalDate.of(2019, 4, 30), 117, 50.00, null, 0.88261372, 44.13, 3877.81, null, 4.19, null, null, 172.20, 980.82); - checkInst(model, 122, 122, LocalDate.of(2019, 5, 3), 120, 50.00, 50.00, null, 0.87979234, 43.99, 3740.09, 4.04, 0.00, null, null, + checkInst(model, 120, 120, LocalDate.of(2019, 5, 1), 118, 50.00, null, 0.88167226, 44.08, 3831.95, null, 4.14, null, null, 168.06, 980.82); - checkInst(model, 123, 123, LocalDate.of(2019, 5, 4), 121, 50.00, 50.00, null, 0.87885389, 43.94, 3694.08, 3.99, 0.00, null, null, + checkInst(model, 121, 121, LocalDate.of(2019, 5, 2), 119, 50.00, null, 0.88073180, 44.04, 3786.04, null, 4.09, null, null, 163.97, 980.82); - checkInst(model, 124, 124, LocalDate.of(2019, 5, 5), 122, 50.00, 50.00, null, 0.87791644, 43.90, 3648.03, 3.94, 0.00, null, null, + checkInst(model, 122, 122, LocalDate.of(2019, 5, 3), 120, 50.00, null, 0.87979234, 43.99, 3740.09, null, 4.04, null, null, 159.93, 980.82); - checkInst(model, 125, 125, LocalDate.of(2019, 5, 6), 123, 50.00, 50.00, null, 0.87697999, 43.85, 3601.92, 3.90, 0.00, null, null, + checkInst(model, 123, 123, LocalDate.of(2019, 5, 4), 121, 50.00, null, 0.87885389, 43.94, 3694.08, null, 3.99, null, null, 155.94, 980.82); - checkInst(model, 126, 126, LocalDate.of(2019, 5, 7), 124, 50.00, 50.00, null, 0.87604453, 43.80, 3555.77, 3.85, 0.00, null, null, + checkInst(model, 124, 124, LocalDate.of(2019, 5, 5), 122, 50.00, null, 0.87791644, 43.90, 3648.03, null, 3.94, null, null, 152.00, 980.82); - checkInst(model, 127, 127, LocalDate.of(2019, 5, 8), 125, 50.00, 50.00, null, 0.87511008, 43.76, 3509.56, 3.80, 0.00, null, null, + checkInst(model, 125, 125, LocalDate.of(2019, 5, 6), 123, 50.00, null, 0.87697999, 43.85, 3601.92, null, 3.90, null, null, 148.10, 980.82); - checkInst(model, 128, 128, LocalDate.of(2019, 5, 9), 126, 50.00, 50.00, null, 0.87417662, 43.71, 3463.31, 3.75, 0.00, null, null, + checkInst(model, 126, 126, LocalDate.of(2019, 5, 7), 124, 50.00, null, 0.87604453, 43.80, 3555.77, null, 3.85, null, null, 144.25, 980.82); - checkInst(model, 129, 129, LocalDate.of(2019, 5, 10), 127, 50.00, 50.00, null, 0.87324416, 43.66, 3417.01, 3.70, 0.00, null, null, + checkInst(model, 127, 127, LocalDate.of(2019, 5, 8), 125, 50.00, null, 0.87511008, 43.76, 3509.56, null, 3.80, null, null, 140.45, 980.82); - checkInst(model, 130, 130, LocalDate.of(2019, 5, 11), 128, 50.00, 50.00, null, 0.87231269, 43.62, 3370.66, 3.65, 0.00, null, null, + checkInst(model, 128, 128, LocalDate.of(2019, 5, 9), 126, 50.00, null, 0.87417662, 43.71, 3463.31, null, 3.75, null, null, 136.70, 980.82); - checkInst(model, 131, 131, LocalDate.of(2019, 5, 12), 129, 50.00, 50.00, null, 0.87138221, 43.57, 3324.26, 3.60, 0.00, null, null, + checkInst(model, 129, 129, LocalDate.of(2019, 5, 10), 127, 50.00, null, 0.87324416, 43.66, 3417.01, null, 3.70, null, null, 133.00, 980.82); - checkInst(model, 132, 132, LocalDate.of(2019, 5, 13), 130, 50.00, 50.00, null, 0.87045273, 43.52, 3277.81, 3.55, 0.00, null, null, + checkInst(model, 130, 130, LocalDate.of(2019, 5, 11), 128, 50.00, null, 0.87231269, 43.62, 3370.66, null, 3.65, null, null, 129.35, 980.82); - checkInst(model, 133, 133, LocalDate.of(2019, 5, 14), 131, 50.00, 50.00, null, 0.86952424, 43.48, 3231.31, 3.50, 0.00, null, null, + checkInst(model, 131, 131, LocalDate.of(2019, 5, 12), 129, 50.00, null, 0.87138221, 43.57, 3324.26, null, 3.60, null, null, 125.75, 980.82); - checkInst(model, 134, 134, LocalDate.of(2019, 5, 15), 132, 50.00, 50.00, null, 0.86859674, 43.43, 3184.76, 3.45, 0.00, null, null, + checkInst(model, 132, 132, LocalDate.of(2019, 5, 13), 130, 50.00, null, 0.87045273, 43.52, 3277.81, null, 3.55, null, null, 122.20, 980.82); - checkInst(model, 135, 135, LocalDate.of(2019, 5, 16), 133, 50.00, 50.00, null, 0.86767023, 43.38, 3138.16, 3.40, 0.00, null, null, + checkInst(model, 133, 133, LocalDate.of(2019, 5, 14), 131, 50.00, null, 0.86952424, 43.48, 3231.31, null, 3.50, null, null, 118.70, 980.82); - checkInst(model, 136, 136, LocalDate.of(2019, 5, 17), 134, 50.00, 50.00, null, 0.86674471, 43.34, 3091.51, 3.35, 0.00, null, null, + checkInst(model, 134, 134, LocalDate.of(2019, 5, 15), 132, 50.00, null, 0.86859674, 43.43, 3184.76, null, 3.45, null, null, 115.25, 980.82); - checkInst(model, 137, 137, LocalDate.of(2019, 5, 18), 135, 50.00, 50.00, null, 0.86582017, 43.29, 3044.81, 3.30, 0.00, null, null, + checkInst(model, 135, 135, LocalDate.of(2019, 5, 16), 133, 50.00, null, 0.86767023, 43.38, 3138.16, null, 3.40, null, null, 111.85, 980.82); - checkInst(model, 138, 138, LocalDate.of(2019, 5, 19), 136, 50.00, 50.00, null, 0.86489662, 43.24, 2998.06, 3.25, 0.00, null, null, + checkInst(model, 136, 136, LocalDate.of(2019, 5, 17), 134, 50.00, null, 0.86674471, 43.34, 3091.51, null, 3.35, null, null, 108.50, 980.82); - checkInst(model, 139, 139, LocalDate.of(2019, 5, 20), 137, 50.00, 50.00, null, 0.86397406, 43.20, 2951.26, 3.20, 0.00, null, null, + checkInst(model, 137, 137, LocalDate.of(2019, 5, 18), 135, 50.00, null, 0.86582017, 43.29, 3044.81, null, 3.30, null, null, 105.20, 980.82); - checkInst(model, 140, 140, LocalDate.of(2019, 5, 21), 138, 50.00, 50.00, null, 0.86305248, 43.15, 2904.42, 3.15, 0.00, null, null, + checkInst(model, 138, 138, LocalDate.of(2019, 5, 19), 136, 50.00, null, 0.86489662, 43.24, 2998.06, null, 3.25, null, null, 101.95, 980.82); - checkInst(model, 141, 141, LocalDate.of(2019, 5, 22), 139, 50.00, 50.00, null, 0.86213188, 43.11, 2857.52, 3.10, 0.00, null, null, + checkInst(model, 139, 139, LocalDate.of(2019, 5, 20), 137, 50.00, null, 0.86397406, 43.20, 2951.26, null, 3.20, null, null, 98.75, 980.82); - checkInst(model, 142, 142, LocalDate.of(2019, 5, 23), 140, 50.00, 50.00, null, 0.86121227, 43.06, 2810.57, 3.05, 0.00, null, null, + checkInst(model, 140, 140, LocalDate.of(2019, 5, 21), 138, 50.00, null, 0.86305248, 43.15, 2904.42, null, 3.15, null, null, 95.60, 980.82); - checkInst(model, 143, 143, LocalDate.of(2019, 5, 24), 141, 50.00, 50.00, null, 0.86029363, 43.01, 2763.57, 3.00, 0.00, null, null, + checkInst(model, 141, 141, LocalDate.of(2019, 5, 22), 139, 50.00, null, 0.86213188, 43.11, 2857.52, null, 3.10, null, null, 92.50, 980.82); - checkInst(model, 144, 144, LocalDate.of(2019, 5, 25), 142, 50.00, 50.00, null, 0.85937598, 42.97, 2716.52, 2.95, 0.00, null, null, + checkInst(model, 142, 142, LocalDate.of(2019, 5, 23), 140, 50.00, null, 0.86121227, 43.06, 2810.57, null, 3.05, null, null, 89.45, 980.82); - checkInst(model, 145, 145, LocalDate.of(2019, 5, 26), 143, 50.00, 50.00, null, 0.85845930, 42.92, 2669.42, 2.90, 0.00, null, null, + checkInst(model, 143, 143, LocalDate.of(2019, 5, 24), 141, 50.00, null, 0.86029363, 43.01, 2763.57, null, 3.00, null, null, 86.45, 980.82); - checkInst(model, 146, 146, LocalDate.of(2019, 5, 27), 144, 50.00, 50.00, null, 0.85754361, 42.88, 2622.27, 2.85, 0.00, null, null, + checkInst(model, 144, 144, LocalDate.of(2019, 5, 25), 142, 50.00, null, 0.85937598, 42.97, 2716.52, null, 2.95, null, null, 83.50, 980.82); - checkInst(model, 147, 147, LocalDate.of(2019, 5, 28), 145, 50.00, 50.00, null, 0.85662889, 42.83, 2575.07, 2.80, 0.00, null, null, + checkInst(model, 145, 145, LocalDate.of(2019, 5, 26), 143, 50.00, null, 0.85845930, 42.92, 2669.42, null, 2.90, null, null, 80.60, 980.82); - checkInst(model, 148, 148, LocalDate.of(2019, 5, 29), 146, 50.00, 50.00, null, 0.85571514, 42.79, 2527.82, 2.75, 0.00, null, null, + checkInst(model, 146, 146, LocalDate.of(2019, 5, 27), 144, 50.00, null, 0.85754361, 42.88, 2622.27, null, 2.85, null, null, 77.75, 980.82); - checkInst(model, 149, 149, LocalDate.of(2019, 5, 30), 147, 50.00, 50.00, null, 0.85480237, 42.74, 2480.52, 2.70, 0.00, null, null, + checkInst(model, 147, 147, LocalDate.of(2019, 5, 28), 145, 50.00, null, 0.85662889, 42.83, 2575.07, null, 2.80, null, null, 74.95, 980.82); - checkInst(model, 150, 150, LocalDate.of(2019, 5, 31), 148, 50.00, 50.00, null, 0.85389057, 42.69, 2433.17, 2.65, 0.00, null, null, + checkInst(model, 148, 148, LocalDate.of(2019, 5, 29), 146, 50.00, null, 0.85571514, 42.79, 2527.82, null, 2.75, null, null, 72.20, 980.82); - checkInst(model, 151, 151, LocalDate.of(2019, 6, 1), 149, 50.00, 50.00, null, 0.85297975, 42.65, 2385.77, 2.60, 0.00, null, null, + checkInst(model, 149, 149, LocalDate.of(2019, 5, 30), 147, 50.00, null, 0.85480237, 42.74, 2480.52, null, 2.70, null, null, 69.50, 980.82); - checkInst(model, 152, 152, LocalDate.of(2019, 6, 2), 150, 50.00, 50.00, null, 0.85206990, 42.60, 2338.31, 2.55, 0.00, null, null, + checkInst(model, 150, 150, LocalDate.of(2019, 5, 31), 148, 50.00, null, 0.85389057, 42.69, 2433.17, null, 2.65, null, null, 66.85, 980.82); - checkInst(model, 153, 153, LocalDate.of(2019, 6, 3), 151, 50.00, 50.00, null, 0.85116101, 42.56, 2290.81, 2.50, 0.00, null, null, + checkInst(model, 151, 151, LocalDate.of(2019, 6, 1), 149, 50.00, null, 0.85297975, 42.65, 2385.77, null, 2.60, null, null, 64.25, 980.82); - checkInst(model, 154, 154, LocalDate.of(2019, 6, 4), 152, 50.00, 50.00, null, 0.85025310, 42.51, 2243.26, 2.45, 0.00, null, null, + checkInst(model, 152, 152, LocalDate.of(2019, 6, 2), 150, 50.00, null, 0.85206990, 42.60, 2338.31, null, 2.55, null, null, 61.70, 980.82); - checkInst(model, 155, 155, LocalDate.of(2019, 6, 5), 153, 50.00, 50.00, null, 0.84934616, 42.47, 2195.65, 2.40, 0.00, null, null, + checkInst(model, 153, 153, LocalDate.of(2019, 6, 3), 151, 50.00, null, 0.85116101, 42.56, 2290.81, null, 2.50, null, null, 59.20, 980.82); - checkInst(model, 156, 156, LocalDate.of(2019, 6, 6), 154, 50.00, 50.00, null, 0.84844018, 42.42, 2148.00, 2.34, 0.00, null, null, + checkInst(model, 154, 154, LocalDate.of(2019, 6, 4), 152, 50.00, null, 0.85025310, 42.51, 2243.26, null, 2.45, null, null, 56.75, 980.82); - checkInst(model, 157, 157, LocalDate.of(2019, 6, 7), 155, 50.00, 50.00, null, 0.84753517, 42.38, 2100.29, 2.29, 0.00, null, null, + checkInst(model, 155, 155, LocalDate.of(2019, 6, 5), 153, 50.00, null, 0.84934616, 42.47, 2195.65, null, 2.40, null, null, 54.35, 980.82); - checkInst(model, 158, 158, LocalDate.of(2019, 6, 8), 156, 50.00, 50.00, null, 0.84663113, 42.33, 2052.53, 2.24, 0.00, null, null, + checkInst(model, 156, 156, LocalDate.of(2019, 6, 6), 154, 50.00, null, 0.84844018, 42.42, 2148.00, null, 2.34, null, null, 52.01, 980.82); - checkInst(model, 159, 159, LocalDate.of(2019, 6, 9), 157, 50.00, 50.00, null, 0.84572805, 42.29, 2004.73, 2.19, 0.00, null, null, + checkInst(model, 157, 157, LocalDate.of(2019, 6, 7), 155, 50.00, null, 0.84753517, 42.38, 2100.29, null, 2.29, null, null, 49.72, 980.82); - checkInst(model, 160, 160, LocalDate.of(2019, 6, 10), 158, 50.00, 50.00, null, 0.84482593, 42.24, 1956.87, 2.14, 0.00, null, null, + checkInst(model, 158, 158, LocalDate.of(2019, 6, 8), 156, 50.00, null, 0.84663113, 42.33, 2052.53, null, 2.24, null, null, 47.48, 980.82); - checkInst(model, 161, 161, LocalDate.of(2019, 6, 11), 159, 50.00, 50.00, null, 0.84392477, 42.20, 1908.96, 2.09, 0.00, null, null, + checkInst(model, 159, 159, LocalDate.of(2019, 6, 9), 157, 50.00, null, 0.84572805, 42.29, 2004.73, null, 2.19, null, null, 45.29, 980.82); - checkInst(model, 162, 162, LocalDate.of(2019, 6, 12), 160, 50.00, 50.00, null, 0.84302458, 42.15, 1860.99, 2.04, 0.00, null, null, + checkInst(model, 160, 160, LocalDate.of(2019, 6, 10), 158, 50.00, null, 0.84482593, 42.24, 1956.87, null, 2.14, null, null, 43.15, 980.82); - checkInst(model, 163, 163, LocalDate.of(2019, 6, 13), 161, 50.00, 50.00, null, 0.84212535, 42.11, 1812.98, 1.99, 0.00, null, null, + checkInst(model, 161, 161, LocalDate.of(2019, 6, 11), 159, 50.00, null, 0.84392477, 42.20, 1908.96, null, 2.09, null, null, 41.06, 980.82); - checkInst(model, 164, 164, LocalDate.of(2019, 6, 14), 162, 50.00, 50.00, null, 0.84122707, 42.06, 1764.92, 1.94, 0.00, null, null, + checkInst(model, 162, 162, LocalDate.of(2019, 6, 12), 160, 50.00, null, 0.84302458, 42.15, 1860.99, null, 2.04, null, null, 39.02, 980.82); - checkInst(model, 165, 165, LocalDate.of(2019, 6, 15), 163, 50.00, 50.00, null, 0.84032975, 42.02, 1716.80, 1.88, 0.00, null, null, + checkInst(model, 163, 163, LocalDate.of(2019, 6, 13), 161, 50.00, null, 0.84212535, 42.11, 1812.98, null, 1.99, null, null, 37.03, 980.82); - checkInst(model, 166, 166, LocalDate.of(2019, 6, 16), 164, 50.00, 50.00, null, 0.83943340, 41.97, 1668.64, 1.83, 0.00, null, null, + checkInst(model, 164, 164, LocalDate.of(2019, 6, 14), 162, 50.00, null, 0.84122707, 42.06, 1764.92, null, 1.94, null, null, 35.09, 980.82); - checkInst(model, 167, 167, LocalDate.of(2019, 6, 17), 165, 50.00, 50.00, null, 0.83853799, 41.93, 1620.42, 1.78, 0.00, null, null, + checkInst(model, 165, 165, LocalDate.of(2019, 6, 15), 163, 50.00, null, 0.84032975, 42.02, 1716.80, null, 1.88, null, null, 33.21, 980.82); - checkInst(model, 168, 168, LocalDate.of(2019, 6, 18), 166, 50.00, 50.00, null, 0.83764354, 41.88, 1572.15, 1.73, 0.00, null, null, + checkInst(model, 166, 166, LocalDate.of(2019, 6, 16), 164, 50.00, null, 0.83943340, 41.97, 1668.64, null, 1.83, null, null, 31.38, 980.82); - checkInst(model, 169, 169, LocalDate.of(2019, 6, 19), 167, 50.00, 50.00, null, 0.83675005, 41.84, 1523.83, 1.68, 0.00, null, null, + checkInst(model, 167, 167, LocalDate.of(2019, 6, 17), 165, 50.00, null, 0.83853799, 41.93, 1620.42, null, 1.78, null, null, 29.60, 980.82); - checkInst(model, 170, 170, LocalDate.of(2019, 6, 20), 168, 50.00, 50.00, null, 0.83585751, 41.79, 1475.45, 1.63, 0.00, null, null, + checkInst(model, 168, 168, LocalDate.of(2019, 6, 18), 166, 50.00, null, 0.83764354, 41.88, 1572.15, null, 1.73, null, null, 27.87, 980.82); - checkInst(model, 171, 171, LocalDate.of(2019, 6, 21), 169, 50.00, 50.00, null, 0.83496592, 41.75, 1427.03, 1.58, 0.00, null, null, + checkInst(model, 169, 169, LocalDate.of(2019, 6, 19), 167, 50.00, null, 0.83675005, 41.84, 1523.83, null, 1.68, null, null, 26.19, 980.82); - checkInst(model, 172, 172, LocalDate.of(2019, 6, 22), 170, 50.00, 50.00, null, 0.83407528, 41.70, 1378.55, 1.52, 0.00, null, null, + checkInst(model, 170, 170, LocalDate.of(2019, 6, 20), 168, 50.00, null, 0.83585751, 41.79, 1475.45, null, 1.63, null, null, 24.56, 980.82); - checkInst(model, 173, 173, LocalDate.of(2019, 6, 23), 171, 50.00, 50.00, null, 0.83318560, 41.66, 1330.02, 1.47, 0.00, null, null, + checkInst(model, 171, 171, LocalDate.of(2019, 6, 21), 169, 50.00, null, 0.83496592, 41.75, 1427.03, null, 1.58, null, null, 22.98, 980.82); - checkInst(model, 174, 174, LocalDate.of(2019, 6, 24), 172, 50.00, 50.00, null, 0.83229686, 41.61, 1281.45, 1.42, 0.00, null, null, + checkInst(model, 172, 172, LocalDate.of(2019, 6, 22), 170, 50.00, null, 0.83407528, 41.70, 1378.55, null, 1.52, null, null, 21.46, 980.82); - checkInst(model, 175, 175, LocalDate.of(2019, 6, 25), 173, 50.00, 50.00, null, 0.83140907, 41.57, 1232.81, 1.37, 0.00, null, null, + checkInst(model, 173, 173, LocalDate.of(2019, 6, 23), 171, 50.00, null, 0.83318560, 41.66, 1330.02, null, 1.47, null, null, 19.99, 980.82); - checkInst(model, 176, 176, LocalDate.of(2019, 6, 26), 174, 50.00, 50.00, null, 0.83052222, 41.53, 1184.13, 1.32, 0.00, null, null, + checkInst(model, 174, 174, LocalDate.of(2019, 6, 24), 172, 50.00, null, 0.83229686, 41.61, 1281.45, null, 1.42, null, null, 18.57, 980.82); - checkInst(model, 177, 177, LocalDate.of(2019, 6, 27), 175, 50.00, 50.00, null, 0.82963633, 41.48, 1135.39, 1.26, 0.00, null, null, + checkInst(model, 175, 175, LocalDate.of(2019, 6, 25), 173, 50.00, null, 0.83140907, 41.57, 1232.81, null, 1.37, null, null, 17.20, 980.82); - checkInst(model, 178, 178, LocalDate.of(2019, 6, 28), 176, 50.00, 50.00, null, 0.82875137, 41.44, 1086.61, 1.21, 0.00, null, null, + checkInst(model, 176, 176, LocalDate.of(2019, 6, 26), 174, 50.00, null, 0.83052222, 41.53, 1184.13, null, 1.32, null, null, 15.88, 980.82); - checkInst(model, 179, 179, LocalDate.of(2019, 6, 29), 177, 50.00, 50.00, null, 0.82786736, 41.39, 1037.77, 1.16, 0.00, null, null, + checkInst(model, 177, 177, LocalDate.of(2019, 6, 27), 175, 50.00, null, 0.82963633, 41.48, 1135.39, null, 1.26, null, null, 14.62, 980.82); - checkInst(model, 180, 180, LocalDate.of(2019, 6, 30), 178, 50.00, 50.00, null, 0.82698430, 41.35, 988.88, 1.11, 0.00, null, null, + checkInst(model, 178, 178, LocalDate.of(2019, 6, 28), 176, 50.00, null, 0.82875137, 41.44, 1086.61, null, 1.21, null, null, 13.41, 980.82); - checkInst(model, 181, 181, LocalDate.of(2019, 7, 1), 179, 50.00, 50.00, null, 0.82610217, 41.31, 939.93, 1.06, 0.00, null, null, + checkInst(model, 179, 179, LocalDate.of(2019, 6, 29), 177, 50.00, null, 0.82786736, 41.39, 1037.77, null, 1.16, null, null, 12.25, 980.82); - checkInst(model, 182, 182, LocalDate.of(2019, 7, 2), 180, 50.00, 50.00, null, 0.82522099, 41.26, 890.93, 1.00, 0.00, null, null, + checkInst(model, 180, 180, LocalDate.of(2019, 6, 30), 178, 50.00, null, 0.82698430, 41.35, 988.88, null, 1.11, null, null, 11.14, 980.82); - checkInst(model, 183, 183, LocalDate.of(2019, 7, 3), 181, 50.00, 50.00, null, 0.82434075, 41.22, 841.89, 0.95, 0.00, null, null, + checkInst(model, 181, 181, LocalDate.of(2019, 7, 1), 179, 50.00, null, 0.82610217, 41.31, 939.93, null, 1.06, null, null, 10.08, 980.82); - checkInst(model, 184, 184, LocalDate.of(2019, 7, 4), 182, 50.00, 50.00, null, 0.82346144, 41.17, 792.79, 0.90, 0.00, null, null, + checkInst(model, 182, 182, LocalDate.of(2019, 7, 2), 180, 50.00, null, 0.82522099, 41.26, 890.93, null, 1.00, null, null, 9.08, 980.82); - checkInst(model, 185, 185, LocalDate.of(2019, 7, 5), 183, 50.00, 50.00, null, 0.82258308, 41.13, 743.63, 0.85, 0.00, null, null, + checkInst(model, 183, 183, LocalDate.of(2019, 7, 3), 181, 50.00, null, 0.82434075, 41.22, 841.89, null, 0.95, null, null, 8.13, 980.82); - checkInst(model, 186, 186, LocalDate.of(2019, 7, 6), 184, 50.00, 50.00, null, 0.82170565, 41.09, 694.43, 0.79, 0.00, null, null, + checkInst(model, 184, 184, LocalDate.of(2019, 7, 4), 182, 50.00, null, 0.82346144, 41.17, 792.79, null, 0.90, null, null, 7.23, 980.82); - checkInst(model, 187, 187, LocalDate.of(2019, 7, 7), 185, 50.00, 50.00, null, 0.82082916, 41.04, 645.17, 0.74, 0.00, null, null, + checkInst(model, 185, 185, LocalDate.of(2019, 7, 5), 183, 50.00, null, 0.82258308, 41.13, 743.63, null, 0.85, null, null, 6.38, 980.82); - checkInst(model, 188, 188, LocalDate.of(2019, 7, 8), 186, 50.00, 50.00, null, 0.81995360, 41.00, 595.86, 0.69, 0.00, null, null, + checkInst(model, 186, 186, LocalDate.of(2019, 7, 6), 184, 50.00, null, 0.82170565, 41.09, 694.43, null, 0.79, null, null, 5.59, 980.82); - checkInst(model, 189, 189, LocalDate.of(2019, 7, 9), 187, 50.00, 50.00, null, 0.81907897, 40.95, 546.49, 0.64, 0.00, null, null, + checkInst(model, 187, 187, LocalDate.of(2019, 7, 7), 185, 50.00, null, 0.82082916, 41.04, 645.17, null, 0.74, null, null, 4.85, 980.82); - checkInst(model, 190, 190, LocalDate.of(2019, 7, 10), 188, 50.00, 50.00, null, 0.81820528, 40.91, 497.08, 0.58, 0.00, null, null, + checkInst(model, 188, 188, LocalDate.of(2019, 7, 8), 186, 50.00, null, 0.81995360, 41.00, 595.86, null, 0.69, null, null, 4.16, 980.82); - checkInst(model, 191, 191, LocalDate.of(2019, 7, 11), 189, 50.00, 50.00, null, 0.81733252, 40.87, 447.61, 0.53, 0.00, null, null, + checkInst(model, 189, 189, LocalDate.of(2019, 7, 9), 187, 50.00, null, 0.81907897, 40.95, 546.49, null, 0.64, null, null, 3.52, 980.82); - checkInst(model, 192, 192, LocalDate.of(2019, 7, 12), 190, 50.00, 50.00, null, 0.81646069, 40.82, 398.08, 0.48, 0.00, null, null, + checkInst(model, 190, 190, LocalDate.of(2019, 7, 10), 188, 50.00, null, 0.81820528, 40.91, 497.08, null, 0.58, null, null, 2.94, 980.82); - checkInst(model, 193, 193, LocalDate.of(2019, 7, 13), 191, 50.00, 50.00, null, 0.81558979, 40.78, 348.51, 0.43, 0.00, null, null, + checkInst(model, 191, 191, LocalDate.of(2019, 7, 11), 189, 50.00, null, 0.81733252, 40.87, 447.61, null, 0.53, null, null, 2.41, 980.82); - checkInst(model, 194, 194, LocalDate.of(2019, 7, 14), 192, 50.00, 50.00, null, 0.81471983, 40.74, 298.88, 0.37, 0.00, null, null, + checkInst(model, 192, 192, LocalDate.of(2019, 7, 12), 190, 50.00, null, 0.81646069, 40.82, 398.08, null, 0.48, null, null, 1.93, 980.82); - checkInst(model, 195, 195, LocalDate.of(2019, 7, 15), 193, 50.00, 50.00, null, 0.81385078, 40.69, 249.20, 0.32, 0.00, null, null, + checkInst(model, 193, 193, LocalDate.of(2019, 7, 13), 191, 50.00, null, 0.81558979, 40.78, 348.51, null, 0.43, null, null, 1.50, 980.82); - checkInst(model, 196, 196, LocalDate.of(2019, 7, 16), 194, 50.00, 50.00, null, 0.81298267, 40.65, 199.47, 0.27, 0.00, null, null, + checkInst(model, 194, 194, LocalDate.of(2019, 7, 14), 192, 50.00, null, 0.81471983, 40.74, 298.88, null, 0.37, null, null, 1.13, 980.82); - checkInst(model, 197, 197, LocalDate.of(2019, 7, 17), 195, 50.00, 50.00, null, 0.81211548, 40.61, 149.68, 0.21, 0.00, null, null, + checkInst(model, 195, 195, LocalDate.of(2019, 7, 15), 193, 50.00, null, 0.81385078, 40.69, 249.20, null, 0.32, null, null, 0.81, 980.82); - checkInst(model, 198, 198, LocalDate.of(2019, 7, 18), 196, 50.00, 50.00, null, 0.81124922, 40.56, 99.84, 0.16, 0.00, null, null, + checkInst(model, 196, 196, LocalDate.of(2019, 7, 16), 194, 50.00, null, 0.81298267, 40.65, 199.47, null, 0.27, null, null, 0.54, 980.82); - checkInst(model, 199, 199, LocalDate.of(2019, 7, 19), 197, 50.00, 50.00, null, 0.81038388, 40.52, 49.95, 0.11, 0.00, null, null, + checkInst(model, 197, 197, LocalDate.of(2019, 7, 17), 195, 50.00, null, 0.81211548, 40.61, 149.68, null, 0.21, null, null, 0.33, 980.82); - checkInst(model, 200, 200, LocalDate.of(2019, 7, 20), 198, 50.00, 50.00, null, 0.80951946, 40.48, 0.00, 0.05, 0.00, null, null, + checkInst(model, 198, 198, LocalDate.of(2019, 7, 18), 196, 50.00, null, 0.81124922, 40.56, 99.84, null, 0.16, null, null, 0.17, + 980.82); + checkInst(model, 199, 199, LocalDate.of(2019, 7, 19), 197, 50.00, null, 0.81038388, 40.52, 49.95, null, 0.11, null, null, 0.06, + 980.82); + checkInst(model, 200, 200, LocalDate.of(2019, 7, 20), 198, 50.00, null, 0.80951946, 40.48, 0.00, null, 0.05, null, null, 0.01, 980.82); } @@ -952,404 +956,410 @@ void testOnTimePayment_term200_discountFee1000_netDisbursement9000_pay50_50() { void testExcessPayment_term200_discountFee1000_netDisbursement9000_pay70_80() { final ProjectedAmortizationScheduleModel model = generateModel(); - calculator.applyPayment(model, EXPECTED_DISBURSEMENT_DATE.plusDays(1), new BigDecimal("70")); - calculator.applyPayment(model, EXPECTED_DISBURSEMENT_DATE.plusDays(2), new BigDecimal("80")); + model.applyPayment(EXPECTED_DISBURSEMENT_DATE.plusDays(1), new BigDecimal("70")); + model.applyPayment(EXPECTED_DISBURSEMENT_DATE.plusDays(2), new BigDecimal("80")); - checkInst(model, 0, 0, EXPECTED_DISBURSEMENT_DATE, 0, -9000.00, null, null, 1.00000000, -9000.00, 9000.00, null, null, null, null, - 1000.00); + checkInst(model, 0, 0, EXPECTED_DISBURSEMENT_DATE, 0, -9000.00, null, 1.00000000, -9000.00, 9000.00, 9000.00, null, null, null, + 1000.00, 1000.00); - checkInst(model, 1, 1, LocalDate.of(2019, 1, 2), 0, 50.00, 50.00, 70.00, 1.00000000, 70.00, 8959.61, 9.61, 28.70, 13.44, 3.83, + checkInst(model, 1, 1, LocalDate.of(2019, 1, 2), 0, 50.00, 70.00, 1.00000000, 70.00, 8959.61, 8930.00, 9.61, 13.44, 3.83, 990.39, 986.56); - checkInst(model, 2, 2, LocalDate.of(2019, 1, 3), 0, 50.00, 50.00, 80.00, 1.00000000, 80.00, 8919.18, 9.57, 15.26, 15.26, 5.69, + checkInst(model, 2, 2, LocalDate.of(2019, 1, 3), 0, 50.00, 80.00, 1.00000000, 80.00, 8919.18, 8850.00, 9.57, 15.26, 5.69, 980.82, 971.30); - checkInst(model, 3, 3, LocalDate.of(2019, 1, 4), 1, 50.00, 50.00, null, 0.99893332, 49.95, 8878.70, 9.52, 0.00, null, null, 971.30); - checkInst(model, 4, 4, LocalDate.of(2019, 1, 5), 2, 50.00, 50.00, null, 0.99786779, 49.89, 8838.18, 9.48, 0.00, null, null, 971.30); - checkInst(model, 5, 5, LocalDate.of(2019, 1, 6), 3, 50.00, 50.00, null, 0.99680339, 49.84, 8797.62, 9.44, 0.00, null, null, 971.30); - checkInst(model, 6, 6, LocalDate.of(2019, 1, 7), 4, 50.00, 50.00, null, 0.99574012, 49.79, 8757.01, 9.39, 0.00, null, null, 971.30); - checkInst(model, 7, 7, LocalDate.of(2019, 1, 8), 5, 50.00, 50.00, null, 0.99467799, 49.73, 8716.36, 9.35, 0.00, null, null, 971.30); - checkInst(model, 8, 8, LocalDate.of(2019, 1, 9), 6, 50.00, 50.00, null, 0.99361699, 49.68, 8675.67, 9.31, 0.00, null, null, 971.30); - checkInst(model, 9, 9, LocalDate.of(2019, 1, 10), 7, 50.00, 50.00, null, 0.99255712, 49.63, 8634.94, 9.26, 0.00, null, null, + checkInst(model, 3, 3, LocalDate.of(2019, 1, 4), 1, 50.00, null, 0.99893332, 49.95, 8878.70, null, 9.52, null, null, 971.30, + 971.30); + checkInst(model, 4, 4, LocalDate.of(2019, 1, 5), 2, 50.00, null, 0.99786779, 49.89, 8838.18, null, 9.48, null, null, 961.82, + 971.30); + checkInst(model, 5, 5, LocalDate.of(2019, 1, 6), 3, 50.00, null, 0.99680339, 49.84, 8797.62, null, 9.44, null, null, 952.38, + 971.30); + checkInst(model, 6, 6, LocalDate.of(2019, 1, 7), 4, 50.00, null, 0.99574012, 49.79, 8757.01, null, 9.39, null, null, 942.99, + 971.30); + checkInst(model, 7, 7, LocalDate.of(2019, 1, 8), 5, 50.00, null, 0.99467799, 49.73, 8716.36, null, 9.35, null, null, 933.64, + 971.30); + checkInst(model, 8, 8, LocalDate.of(2019, 1, 9), 6, 50.00, null, 0.99361699, 49.68, 8675.67, null, 9.31, null, null, 924.33, 971.30); - checkInst(model, 10, 10, LocalDate.of(2019, 1, 11), 8, 50.00, 50.00, null, 0.99149839, 49.57, 8594.16, 9.22, 0.00, null, null, + checkInst(model, 9, 9, LocalDate.of(2019, 1, 10), 7, 50.00, null, 0.99255712, 49.63, 8634.94, null, 9.26, null, null, 915.07, 971.30); - checkInst(model, 11, 11, LocalDate.of(2019, 1, 12), 9, 50.00, 50.00, null, 0.99044078, 49.52, 8553.33, 9.18, 0.00, null, null, + checkInst(model, 10, 10, LocalDate.of(2019, 1, 11), 8, 50.00, null, 0.99149839, 49.57, 8594.16, null, 9.22, null, null, 905.85, 971.30); - checkInst(model, 12, 12, LocalDate.of(2019, 1, 13), 10, 50.00, 50.00, null, 0.98938430, 49.47, 8512.47, 9.13, 0.00, null, null, + checkInst(model, 11, 11, LocalDate.of(2019, 1, 12), 9, 50.00, null, 0.99044078, 49.52, 8553.33, null, 9.18, null, null, 896.67, 971.30); - checkInst(model, 13, 13, LocalDate.of(2019, 1, 14), 11, 50.00, 50.00, null, 0.98832895, 49.42, 8471.56, 9.09, 0.00, null, null, + checkInst(model, 12, 12, LocalDate.of(2019, 1, 13), 10, 50.00, null, 0.98938430, 49.47, 8512.47, null, 9.13, null, null, 887.54, 971.30); - checkInst(model, 14, 14, LocalDate.of(2019, 1, 15), 12, 50.00, 50.00, null, 0.98727472, 49.36, 8430.60, 9.05, 0.00, null, null, + checkInst(model, 13, 13, LocalDate.of(2019, 1, 14), 11, 50.00, null, 0.98832895, 49.42, 8471.56, null, 9.09, null, null, 878.45, 971.30); - checkInst(model, 15, 15, LocalDate.of(2019, 1, 16), 13, 50.00, 50.00, null, 0.98622162, 49.31, 8389.61, 9.00, 0.00, null, null, + checkInst(model, 14, 14, LocalDate.of(2019, 1, 15), 12, 50.00, null, 0.98727472, 49.36, 8430.60, null, 9.05, null, null, 869.40, 971.30); - checkInst(model, 16, 16, LocalDate.of(2019, 1, 17), 14, 50.00, 50.00, null, 0.98516964, 49.26, 8348.56, 8.96, 0.00, null, null, + checkInst(model, 15, 15, LocalDate.of(2019, 1, 16), 13, 50.00, null, 0.98622162, 49.31, 8389.61, null, 9.00, null, null, 860.40, 971.30); - checkInst(model, 17, 17, LocalDate.of(2019, 1, 18), 15, 50.00, 50.00, null, 0.98411879, 49.21, 8307.48, 8.91, 0.00, null, null, + checkInst(model, 16, 16, LocalDate.of(2019, 1, 17), 14, 50.00, null, 0.98516964, 49.26, 8348.56, null, 8.96, null, null, 851.44, 971.30); - checkInst(model, 18, 18, LocalDate.of(2019, 1, 19), 16, 50.00, 50.00, null, 0.98306905, 49.15, 8266.35, 8.87, 0.00, null, null, + checkInst(model, 17, 17, LocalDate.of(2019, 1, 18), 15, 50.00, null, 0.98411879, 49.21, 8307.48, null, 8.91, null, null, 842.53, 971.30); - checkInst(model, 19, 19, LocalDate.of(2019, 1, 20), 17, 50.00, 50.00, null, 0.98202044, 49.10, 8225.18, 8.83, 0.00, null, null, + checkInst(model, 18, 18, LocalDate.of(2019, 1, 19), 16, 50.00, null, 0.98306905, 49.15, 8266.35, null, 8.87, null, null, 833.66, 971.30); - checkInst(model, 20, 20, LocalDate.of(2019, 1, 21), 18, 50.00, 50.00, null, 0.98097294, 49.05, 8183.96, 8.78, 0.00, null, null, + checkInst(model, 19, 19, LocalDate.of(2019, 1, 20), 17, 50.00, null, 0.98202044, 49.10, 8225.18, null, 8.83, null, null, 824.83, 971.30); - checkInst(model, 21, 21, LocalDate.of(2019, 1, 22), 19, 50.00, 50.00, null, 0.97992656, 49.00, 8142.70, 8.74, 0.00, null, null, + checkInst(model, 20, 20, LocalDate.of(2019, 1, 21), 18, 50.00, null, 0.98097294, 49.05, 8183.96, null, 8.78, null, null, 816.05, 971.30); - checkInst(model, 22, 22, LocalDate.of(2019, 1, 23), 20, 50.00, 50.00, null, 0.97888129, 48.94, 8101.39, 8.69, 0.00, null, null, + checkInst(model, 21, 21, LocalDate.of(2019, 1, 22), 19, 50.00, null, 0.97992656, 49.00, 8142.70, null, 8.74, null, null, 807.31, 971.30); - checkInst(model, 23, 23, LocalDate.of(2019, 1, 24), 21, 50.00, 50.00, null, 0.97783715, 48.89, 8060.04, 8.65, 0.00, null, null, + checkInst(model, 22, 22, LocalDate.of(2019, 1, 23), 20, 50.00, null, 0.97888129, 48.94, 8101.39, null, 8.69, null, null, 798.62, 971.30); - checkInst(model, 24, 24, LocalDate.of(2019, 1, 25), 22, 50.00, 50.00, null, 0.97679411, 48.84, 8018.65, 8.61, 0.00, null, null, + checkInst(model, 23, 23, LocalDate.of(2019, 1, 24), 21, 50.00, null, 0.97783715, 48.89, 8060.04, null, 8.65, null, null, 789.97, 971.30); - checkInst(model, 25, 25, LocalDate.of(2019, 1, 26), 23, 50.00, 50.00, null, 0.97575219, 48.79, 7977.21, 8.56, 0.00, null, null, + checkInst(model, 24, 24, LocalDate.of(2019, 1, 25), 22, 50.00, null, 0.97679411, 48.84, 8018.65, null, 8.61, null, null, 781.36, 971.30); - checkInst(model, 26, 26, LocalDate.of(2019, 1, 27), 24, 50.00, 50.00, null, 0.97471138, 48.74, 7935.73, 8.52, 0.00, null, null, + checkInst(model, 25, 25, LocalDate.of(2019, 1, 26), 23, 50.00, null, 0.97575219, 48.79, 7977.21, null, 8.56, null, null, 772.80, 971.30); - checkInst(model, 27, 27, LocalDate.of(2019, 1, 28), 25, 50.00, 50.00, null, 0.97367168, 48.68, 7894.21, 8.47, 0.00, null, null, + checkInst(model, 26, 26, LocalDate.of(2019, 1, 27), 24, 50.00, null, 0.97471138, 48.74, 7935.73, null, 8.52, null, null, 764.28, 971.30); - checkInst(model, 28, 28, LocalDate.of(2019, 1, 29), 26, 50.00, 50.00, null, 0.97263309, 48.63, 7852.63, 8.43, 0.00, null, null, + checkInst(model, 27, 27, LocalDate.of(2019, 1, 28), 25, 50.00, null, 0.97367168, 48.68, 7894.21, null, 8.47, null, null, 755.81, 971.30); - checkInst(model, 29, 29, LocalDate.of(2019, 1, 30), 27, 50.00, 50.00, null, 0.97159560, 48.58, 7811.02, 8.39, 0.00, null, null, + checkInst(model, 28, 28, LocalDate.of(2019, 1, 29), 26, 50.00, null, 0.97263309, 48.63, 7852.63, null, 8.43, null, null, 747.38, 971.30); - checkInst(model, 30, 30, LocalDate.of(2019, 1, 31), 28, 50.00, 50.00, null, 0.97055922, 48.53, 7769.36, 8.34, 0.00, null, null, + checkInst(model, 29, 29, LocalDate.of(2019, 1, 30), 27, 50.00, null, 0.97159560, 48.58, 7811.02, null, 8.39, null, null, 738.99, 971.30); - checkInst(model, 31, 31, LocalDate.of(2019, 2, 1), 29, 50.00, 50.00, null, 0.96952395, 48.48, 7727.66, 8.30, 0.00, null, null, + checkInst(model, 30, 30, LocalDate.of(2019, 1, 31), 28, 50.00, null, 0.97055922, 48.53, 7769.36, null, 8.34, null, null, 730.65, 971.30); - checkInst(model, 32, 32, LocalDate.of(2019, 2, 2), 30, 50.00, 50.00, null, 0.96848979, 48.42, 7685.91, 8.25, 0.00, null, null, + checkInst(model, 31, 31, LocalDate.of(2019, 2, 1), 29, 50.00, null, 0.96952395, 48.48, 7727.66, null, 8.30, null, null, 722.35, 971.30); - checkInst(model, 33, 33, LocalDate.of(2019, 2, 3), 31, 50.00, 50.00, null, 0.96745672, 48.37, 7644.12, 8.21, 0.00, null, null, + checkInst(model, 32, 32, LocalDate.of(2019, 2, 2), 30, 50.00, null, 0.96848979, 48.42, 7685.91, null, 8.25, null, null, 714.10, 971.30); - checkInst(model, 34, 34, LocalDate.of(2019, 2, 4), 32, 50.00, 50.00, null, 0.96642476, 48.32, 7602.28, 8.16, 0.00, null, null, + checkInst(model, 33, 33, LocalDate.of(2019, 2, 3), 31, 50.00, null, 0.96745672, 48.37, 7644.12, null, 8.21, null, null, 705.89, 971.30); - checkInst(model, 35, 35, LocalDate.of(2019, 2, 5), 33, 50.00, 50.00, null, 0.96539390, 48.27, 7560.40, 8.12, 0.00, null, null, + checkInst(model, 34, 34, LocalDate.of(2019, 2, 4), 32, 50.00, null, 0.96642476, 48.32, 7602.28, null, 8.16, null, null, 697.73, 971.30); - checkInst(model, 36, 36, LocalDate.of(2019, 2, 6), 34, 50.00, 50.00, null, 0.96436413, 48.22, 7518.47, 8.07, 0.00, null, null, + checkInst(model, 35, 35, LocalDate.of(2019, 2, 5), 33, 50.00, null, 0.96539390, 48.27, 7560.40, null, 8.12, null, null, 689.61, 971.30); - checkInst(model, 37, 37, LocalDate.of(2019, 2, 7), 35, 50.00, 50.00, null, 0.96333547, 48.17, 7476.50, 8.03, 0.00, null, null, + checkInst(model, 36, 36, LocalDate.of(2019, 2, 6), 34, 50.00, null, 0.96436413, 48.22, 7518.47, null, 8.07, null, null, 681.54, 971.30); - checkInst(model, 38, 38, LocalDate.of(2019, 2, 8), 36, 50.00, 50.00, null, 0.96230790, 48.12, 7434.48, 7.98, 0.00, null, null, + checkInst(model, 37, 37, LocalDate.of(2019, 2, 7), 35, 50.00, null, 0.96333547, 48.17, 7476.50, null, 8.03, null, null, 673.51, 971.30); - checkInst(model, 39, 39, LocalDate.of(2019, 2, 9), 37, 50.00, 50.00, null, 0.96128143, 48.06, 7392.42, 7.94, 0.00, null, null, + checkInst(model, 38, 38, LocalDate.of(2019, 2, 8), 36, 50.00, null, 0.96230790, 48.12, 7434.48, null, 7.98, null, null, 665.53, 971.30); - checkInst(model, 40, 40, LocalDate.of(2019, 2, 10), 38, 50.00, 50.00, null, 0.96025606, 48.01, 7350.31, 7.89, 0.00, null, null, + checkInst(model, 39, 39, LocalDate.of(2019, 2, 9), 37, 50.00, null, 0.96128143, 48.06, 7392.42, null, 7.94, null, null, 657.59, 971.30); - checkInst(model, 41, 41, LocalDate.of(2019, 2, 11), 39, 50.00, 50.00, null, 0.95923178, 47.96, 7308.16, 7.85, 0.00, null, null, + checkInst(model, 40, 40, LocalDate.of(2019, 2, 10), 38, 50.00, null, 0.96025606, 48.01, 7350.31, null, 7.89, null, null, 649.70, 971.30); - checkInst(model, 42, 42, LocalDate.of(2019, 2, 12), 40, 50.00, 50.00, null, 0.95820859, 47.91, 7265.97, 7.80, 0.00, null, null, + checkInst(model, 41, 41, LocalDate.of(2019, 2, 11), 39, 50.00, null, 0.95923178, 47.96, 7308.16, null, 7.85, null, null, 641.85, 971.30); - checkInst(model, 43, 43, LocalDate.of(2019, 2, 13), 41, 50.00, 50.00, null, 0.95718649, 47.86, 7223.72, 7.76, 0.00, null, null, + checkInst(model, 42, 42, LocalDate.of(2019, 2, 12), 40, 50.00, null, 0.95820859, 47.91, 7265.97, null, 7.80, null, null, 634.05, 971.30); - checkInst(model, 44, 44, LocalDate.of(2019, 2, 14), 42, 50.00, 50.00, null, 0.95616548, 47.81, 7181.44, 7.71, 0.00, null, null, + checkInst(model, 43, 43, LocalDate.of(2019, 2, 13), 41, 50.00, null, 0.95718649, 47.86, 7223.72, null, 7.76, null, null, 626.29, 971.30); - checkInst(model, 45, 45, LocalDate.of(2019, 2, 15), 43, 50.00, 50.00, null, 0.95514557, 47.76, 7139.11, 7.67, 0.00, null, null, + checkInst(model, 44, 44, LocalDate.of(2019, 2, 14), 42, 50.00, null, 0.95616548, 47.81, 7181.44, null, 7.71, null, null, 618.58, 971.30); - checkInst(model, 46, 46, LocalDate.of(2019, 2, 16), 44, 50.00, 50.00, null, 0.95412674, 47.71, 7096.73, 7.62, 0.00, null, null, + checkInst(model, 45, 45, LocalDate.of(2019, 2, 15), 43, 50.00, null, 0.95514557, 47.76, 7139.11, null, 7.67, null, null, 610.91, 971.30); - checkInst(model, 47, 47, LocalDate.of(2019, 2, 17), 45, 50.00, 50.00, null, 0.95310899, 47.66, 7054.31, 7.58, 0.00, null, null, + checkInst(model, 46, 46, LocalDate.of(2019, 2, 16), 44, 50.00, null, 0.95412674, 47.71, 7096.73, null, 7.62, null, null, 603.29, 971.30); - checkInst(model, 48, 48, LocalDate.of(2019, 2, 18), 46, 50.00, 50.00, null, 0.95209233, 47.60, 7011.84, 7.53, 0.00, null, null, + checkInst(model, 47, 47, LocalDate.of(2019, 2, 17), 45, 50.00, null, 0.95310899, 47.66, 7054.31, null, 7.58, null, null, 595.71, 971.30); - checkInst(model, 49, 49, LocalDate.of(2019, 2, 19), 47, 50.00, 50.00, null, 0.95107676, 47.55, 6969.33, 7.49, 0.00, null, null, + checkInst(model, 48, 48, LocalDate.of(2019, 2, 18), 46, 50.00, null, 0.95209233, 47.60, 7011.84, null, 7.53, null, null, 588.18, 971.30); - checkInst(model, 50, 50, LocalDate.of(2019, 2, 20), 48, 50.00, 50.00, null, 0.95006227, 47.50, 6926.77, 7.44, 0.00, null, null, + checkInst(model, 49, 49, LocalDate.of(2019, 2, 19), 47, 50.00, null, 0.95107676, 47.55, 6969.33, null, 7.49, null, null, 580.69, 971.30); - checkInst(model, 51, 51, LocalDate.of(2019, 2, 21), 49, 50.00, 50.00, null, 0.94904886, 47.45, 6884.17, 7.40, 0.00, null, null, + checkInst(model, 50, 50, LocalDate.of(2019, 2, 20), 48, 50.00, null, 0.95006227, 47.50, 6926.77, null, 7.44, null, null, 573.25, 971.30); - checkInst(model, 52, 52, LocalDate.of(2019, 2, 22), 50, 50.00, 50.00, null, 0.94803653, 47.40, 6841.52, 7.35, 0.00, null, null, + checkInst(model, 51, 51, LocalDate.of(2019, 2, 21), 49, 50.00, null, 0.94904886, 47.45, 6884.17, null, 7.40, null, null, 565.85, 971.30); - checkInst(model, 53, 53, LocalDate.of(2019, 2, 23), 51, 50.00, 50.00, null, 0.94702529, 47.35, 6798.82, 7.31, 0.00, null, null, + checkInst(model, 52, 52, LocalDate.of(2019, 2, 22), 50, 50.00, null, 0.94803653, 47.40, 6841.52, null, 7.35, null, null, 558.50, 971.30); - checkInst(model, 54, 54, LocalDate.of(2019, 2, 24), 52, 50.00, 50.00, null, 0.94601512, 47.30, 6756.08, 7.26, 0.00, null, null, + checkInst(model, 53, 53, LocalDate.of(2019, 2, 23), 51, 50.00, null, 0.94702529, 47.35, 6798.82, null, 7.31, null, null, 551.19, 971.30); - checkInst(model, 55, 55, LocalDate.of(2019, 2, 25), 53, 50.00, 50.00, null, 0.94500603, 47.25, 6713.30, 7.21, 0.00, null, null, + checkInst(model, 54, 54, LocalDate.of(2019, 2, 24), 52, 50.00, null, 0.94601512, 47.30, 6756.08, null, 7.26, null, null, 543.93, 971.30); - checkInst(model, 56, 56, LocalDate.of(2019, 2, 26), 54, 50.00, 50.00, null, 0.94399801, 47.20, 6670.47, 7.17, 0.00, null, null, + checkInst(model, 55, 55, LocalDate.of(2019, 2, 25), 53, 50.00, null, 0.94500603, 47.25, 6713.30, null, 7.21, null, null, 536.72, 971.30); - checkInst(model, 57, 57, LocalDate.of(2019, 2, 27), 55, 50.00, 50.00, null, 0.94299107, 47.15, 6627.59, 7.12, 0.00, null, null, + checkInst(model, 56, 56, LocalDate.of(2019, 2, 26), 54, 50.00, null, 0.94399801, 47.20, 6670.47, null, 7.17, null, null, 529.55, 971.30); - checkInst(model, 58, 58, LocalDate.of(2019, 2, 28), 56, 50.00, 50.00, null, 0.94198521, 47.10, 6584.67, 7.08, 0.00, null, null, + checkInst(model, 57, 57, LocalDate.of(2019, 2, 27), 55, 50.00, null, 0.94299107, 47.15, 6627.59, null, 7.12, null, null, 522.43, 971.30); - checkInst(model, 59, 59, LocalDate.of(2019, 3, 1), 57, 50.00, 50.00, null, 0.94098042, 47.05, 6541.70, 7.03, 0.00, null, null, + checkInst(model, 58, 58, LocalDate.of(2019, 2, 28), 56, 50.00, null, 0.94198521, 47.10, 6584.67, null, 7.08, null, null, 515.35, 971.30); - checkInst(model, 60, 60, LocalDate.of(2019, 3, 2), 58, 50.00, 50.00, null, 0.93997669, 47.00, 6498.68, 6.99, 0.00, null, null, + checkInst(model, 59, 59, LocalDate.of(2019, 3, 1), 57, 50.00, null, 0.94098042, 47.05, 6541.70, null, 7.03, null, null, 508.32, 971.30); - checkInst(model, 61, 61, LocalDate.of(2019, 3, 3), 59, 50.00, 50.00, null, 0.93897404, 46.95, 6455.62, 6.94, 0.00, null, null, + checkInst(model, 60, 60, LocalDate.of(2019, 3, 2), 58, 50.00, null, 0.93997669, 47.00, 6498.68, null, 6.99, null, null, 501.33, 971.30); - checkInst(model, 62, 62, LocalDate.of(2019, 3, 4), 60, 50.00, 50.00, null, 0.93797246, 46.90, 6412.51, 6.89, 0.00, null, null, + checkInst(model, 61, 61, LocalDate.of(2019, 3, 3), 59, 50.00, null, 0.93897404, 46.95, 6455.62, null, 6.94, null, null, 494.39, 971.30); - checkInst(model, 63, 63, LocalDate.of(2019, 3, 5), 61, 50.00, 50.00, null, 0.93697195, 46.85, 6369.36, 6.85, 0.00, null, null, + checkInst(model, 62, 62, LocalDate.of(2019, 3, 4), 60, 50.00, null, 0.93797246, 46.90, 6412.51, null, 6.89, null, null, 487.50, 971.30); - checkInst(model, 64, 64, LocalDate.of(2019, 3, 6), 62, 50.00, 50.00, null, 0.93597251, 46.80, 6326.16, 6.80, 0.00, null, null, + checkInst(model, 63, 63, LocalDate.of(2019, 3, 5), 61, 50.00, null, 0.93697195, 46.85, 6369.36, null, 6.85, null, null, 480.65, 971.30); - checkInst(model, 65, 65, LocalDate.of(2019, 3, 7), 63, 50.00, 50.00, null, 0.93497413, 46.75, 6282.92, 6.76, 0.00, null, null, + checkInst(model, 64, 64, LocalDate.of(2019, 3, 6), 62, 50.00, null, 0.93597251, 46.80, 6326.16, null, 6.80, null, null, 473.85, 971.30); - checkInst(model, 66, 66, LocalDate.of(2019, 3, 8), 64, 50.00, 50.00, null, 0.93397681, 46.70, 6239.63, 6.71, 0.00, null, null, + checkInst(model, 65, 65, LocalDate.of(2019, 3, 7), 63, 50.00, null, 0.93497413, 46.75, 6282.92, null, 6.76, null, null, 467.09, 971.30); - checkInst(model, 67, 67, LocalDate.of(2019, 3, 9), 65, 50.00, 50.00, null, 0.93298056, 46.65, 6196.29, 6.66, 0.00, null, null, + checkInst(model, 66, 66, LocalDate.of(2019, 3, 8), 64, 50.00, null, 0.93397681, 46.70, 6239.63, null, 6.71, null, null, 460.38, 971.30); - checkInst(model, 68, 68, LocalDate.of(2019, 3, 10), 66, 50.00, 50.00, null, 0.93198538, 46.60, 6152.91, 6.62, 0.00, null, null, + checkInst(model, 67, 67, LocalDate.of(2019, 3, 9), 65, 50.00, null, 0.93298056, 46.65, 6196.29, null, 6.66, null, null, 453.72, 971.30); - checkInst(model, 69, 69, LocalDate.of(2019, 3, 11), 67, 50.00, 50.00, null, 0.93099125, 46.55, 6109.48, 6.57, 0.00, null, null, + checkInst(model, 68, 68, LocalDate.of(2019, 3, 10), 66, 50.00, null, 0.93198538, 46.60, 6152.91, null, 6.62, null, null, 447.10, 971.30); - checkInst(model, 70, 70, LocalDate.of(2019, 3, 12), 68, 50.00, 50.00, null, 0.92999818, 46.50, 6066.00, 6.52, 0.00, null, null, + checkInst(model, 69, 69, LocalDate.of(2019, 3, 11), 67, 50.00, null, 0.93099125, 46.55, 6109.48, null, 6.57, null, null, 440.53, 971.30); - checkInst(model, 71, 71, LocalDate.of(2019, 3, 13), 69, 50.00, 50.00, null, 0.92900618, 46.45, 6022.48, 6.48, 0.00, null, null, + checkInst(model, 70, 70, LocalDate.of(2019, 3, 12), 68, 50.00, null, 0.92999818, 46.50, 6066.00, null, 6.52, null, null, 434.01, 971.30); - checkInst(model, 72, 72, LocalDate.of(2019, 3, 14), 70, 50.00, 50.00, null, 0.92801523, 46.40, 5978.91, 6.43, 0.00, null, null, + checkInst(model, 71, 71, LocalDate.of(2019, 3, 13), 69, 50.00, null, 0.92900618, 46.45, 6022.48, null, 6.48, null, null, 427.53, 971.30); - checkInst(model, 73, 73, LocalDate.of(2019, 3, 15), 71, 50.00, 50.00, null, 0.92702534, 46.35, 5935.29, 6.38, 0.00, null, null, + checkInst(model, 72, 72, LocalDate.of(2019, 3, 14), 70, 50.00, null, 0.92801523, 46.40, 5978.91, null, 6.43, null, null, 421.10, 971.30); - checkInst(model, 74, 74, LocalDate.of(2019, 3, 16), 72, 50.00, 50.00, null, 0.92603650, 46.30, 5891.63, 6.34, 0.00, null, null, + checkInst(model, 73, 73, LocalDate.of(2019, 3, 15), 71, 50.00, null, 0.92702534, 46.35, 5935.29, null, 6.38, null, null, 414.72, 971.30); - checkInst(model, 75, 75, LocalDate.of(2019, 3, 17), 73, 50.00, 50.00, null, 0.92504872, 46.25, 5847.92, 6.29, 0.00, null, null, + checkInst(model, 74, 74, LocalDate.of(2019, 3, 16), 72, 50.00, null, 0.92603650, 46.30, 5891.63, null, 6.34, null, null, 408.38, 971.30); - checkInst(model, 76, 76, LocalDate.of(2019, 3, 18), 74, 50.00, 50.00, null, 0.92406200, 46.20, 5804.17, 6.24, 0.00, null, null, + checkInst(model, 75, 75, LocalDate.of(2019, 3, 17), 73, 50.00, null, 0.92504872, 46.25, 5847.92, null, 6.29, null, null, 402.09, 971.30); - checkInst(model, 77, 77, LocalDate.of(2019, 3, 19), 75, 50.00, 50.00, null, 0.92307632, 46.15, 5760.36, 6.20, 0.00, null, null, + checkInst(model, 76, 76, LocalDate.of(2019, 3, 18), 74, 50.00, null, 0.92406200, 46.20, 5804.17, null, 6.24, null, null, 395.85, 971.30); - checkInst(model, 78, 78, LocalDate.of(2019, 3, 20), 76, 50.00, 50.00, null, 0.92209170, 46.10, 5716.52, 6.15, 0.00, null, null, + checkInst(model, 77, 77, LocalDate.of(2019, 3, 19), 75, 50.00, null, 0.92307632, 46.15, 5760.36, null, 6.20, null, null, 389.65, 971.30); - checkInst(model, 79, 79, LocalDate.of(2019, 3, 21), 77, 50.00, 50.00, null, 0.92110813, 46.06, 5672.62, 6.10, 0.00, null, null, + checkInst(model, 78, 78, LocalDate.of(2019, 3, 20), 76, 50.00, null, 0.92209170, 46.10, 5716.52, null, 6.15, null, null, 383.50, 971.30); - checkInst(model, 80, 80, LocalDate.of(2019, 3, 22), 78, 50.00, 50.00, null, 0.92012560, 46.01, 5628.68, 6.06, 0.00, null, null, + checkInst(model, 79, 79, LocalDate.of(2019, 3, 21), 77, 50.00, null, 0.92110813, 46.06, 5672.62, null, 6.10, null, null, 377.40, 971.30); - checkInst(model, 81, 81, LocalDate.of(2019, 3, 23), 79, 50.00, 50.00, null, 0.91914413, 45.96, 5584.69, 6.01, 0.00, null, null, + checkInst(model, 80, 80, LocalDate.of(2019, 3, 22), 78, 50.00, null, 0.92012560, 46.01, 5628.68, null, 6.06, null, null, 371.34, 971.30); - checkInst(model, 82, 82, LocalDate.of(2019, 3, 24), 80, 50.00, 50.00, null, 0.91816370, 45.91, 5540.65, 5.96, 0.00, null, null, + checkInst(model, 81, 81, LocalDate.of(2019, 3, 23), 79, 50.00, null, 0.91914413, 45.96, 5584.69, null, 6.01, null, null, 365.33, 971.30); - checkInst(model, 83, 83, LocalDate.of(2019, 3, 25), 81, 50.00, 50.00, null, 0.91718432, 45.86, 5496.57, 5.92, 0.00, null, null, + checkInst(model, 82, 82, LocalDate.of(2019, 3, 24), 80, 50.00, null, 0.91816370, 45.91, 5540.65, null, 5.96, null, null, 359.37, 971.30); - checkInst(model, 84, 84, LocalDate.of(2019, 3, 26), 82, 50.00, 50.00, null, 0.91620598, 45.81, 5452.44, 5.87, 0.00, null, null, + checkInst(model, 83, 83, LocalDate.of(2019, 3, 25), 81, 50.00, null, 0.91718432, 45.86, 5496.57, null, 5.92, null, null, 353.45, 971.30); - checkInst(model, 85, 85, LocalDate.of(2019, 3, 27), 83, 50.00, 50.00, null, 0.91522868, 45.76, 5408.26, 5.82, 0.00, null, null, + checkInst(model, 84, 84, LocalDate.of(2019, 3, 26), 82, 50.00, null, 0.91620598, 45.81, 5452.44, null, 5.87, null, null, 347.58, 971.30); - checkInst(model, 86, 86, LocalDate.of(2019, 3, 28), 84, 50.00, 50.00, null, 0.91425243, 45.71, 5364.03, 5.78, 0.00, null, null, + checkInst(model, 85, 85, LocalDate.of(2019, 3, 27), 83, 50.00, null, 0.91522868, 45.76, 5408.26, null, 5.82, null, null, 341.76, 971.30); - checkInst(model, 87, 87, LocalDate.of(2019, 3, 29), 85, 50.00, 50.00, null, 0.91327722, 45.66, 5319.76, 5.73, 0.00, null, null, + checkInst(model, 86, 86, LocalDate.of(2019, 3, 28), 84, 50.00, null, 0.91425243, 45.71, 5364.03, null, 5.78, null, null, 335.98, 971.30); - checkInst(model, 88, 88, LocalDate.of(2019, 3, 30), 86, 50.00, 50.00, null, 0.91230305, 45.62, 5275.44, 5.68, 0.00, null, null, + checkInst(model, 87, 87, LocalDate.of(2019, 3, 29), 85, 50.00, null, 0.91327722, 45.66, 5319.76, null, 5.73, null, null, 330.25, 971.30); - checkInst(model, 89, 89, LocalDate.of(2019, 3, 31), 87, 50.00, 50.00, null, 0.91132992, 45.57, 5231.08, 5.63, 0.00, null, null, + checkInst(model, 88, 88, LocalDate.of(2019, 3, 30), 86, 50.00, null, 0.91230305, 45.62, 5275.44, null, 5.68, null, null, 324.57, 971.30); - checkInst(model, 90, 90, LocalDate.of(2019, 4, 1), 88, 50.00, 50.00, null, 0.91035783, 45.52, 5186.66, 5.59, 0.00, null, null, + checkInst(model, 89, 89, LocalDate.of(2019, 3, 31), 87, 50.00, null, 0.91132992, 45.57, 5231.08, null, 5.63, null, null, 318.94, 971.30); - checkInst(model, 91, 91, LocalDate.of(2019, 4, 2), 89, 50.00, 50.00, null, 0.90938677, 45.47, 5142.20, 5.54, 0.00, null, null, + checkInst(model, 90, 90, LocalDate.of(2019, 4, 1), 88, 50.00, null, 0.91035783, 45.52, 5186.66, null, 5.59, null, null, 313.35, 971.30); - checkInst(model, 92, 92, LocalDate.of(2019, 4, 3), 90, 50.00, 50.00, null, 0.90841675, 45.42, 5097.69, 5.49, 0.00, null, null, + checkInst(model, 91, 91, LocalDate.of(2019, 4, 2), 89, 50.00, null, 0.90938677, 45.47, 5142.20, null, 5.54, null, null, 307.81, 971.30); - checkInst(model, 93, 93, LocalDate.of(2019, 4, 4), 91, 50.00, 50.00, null, 0.90744776, 45.37, 5053.13, 5.44, 0.00, null, null, + checkInst(model, 92, 92, LocalDate.of(2019, 4, 3), 90, 50.00, null, 0.90841675, 45.42, 5097.69, null, 5.49, null, null, 302.32, 971.30); - checkInst(model, 94, 94, LocalDate.of(2019, 4, 5), 92, 50.00, 50.00, null, 0.90647981, 45.32, 5008.53, 5.40, 0.00, null, null, + checkInst(model, 93, 93, LocalDate.of(2019, 4, 4), 91, 50.00, null, 0.90744776, 45.37, 5053.13, null, 5.44, null, null, 296.88, 971.30); - checkInst(model, 95, 95, LocalDate.of(2019, 4, 6), 93, 50.00, 50.00, null, 0.90551289, 45.28, 4963.88, 5.35, 0.00, null, null, + checkInst(model, 94, 94, LocalDate.of(2019, 4, 5), 92, 50.00, null, 0.90647981, 45.32, 5008.53, null, 5.40, null, null, 291.48, 971.30); - checkInst(model, 96, 96, LocalDate.of(2019, 4, 7), 94, 50.00, 50.00, null, 0.90454700, 45.23, 4919.18, 5.30, 0.00, null, null, + checkInst(model, 95, 95, LocalDate.of(2019, 4, 6), 93, 50.00, null, 0.90551289, 45.28, 4963.88, null, 5.35, null, null, 286.13, 971.30); - checkInst(model, 97, 97, LocalDate.of(2019, 4, 8), 95, 50.00, 50.00, null, 0.90358215, 45.18, 4874.43, 5.25, 0.00, null, null, + checkInst(model, 96, 96, LocalDate.of(2019, 4, 7), 94, 50.00, null, 0.90454700, 45.23, 4919.18, null, 5.30, null, null, 280.83, 971.30); - checkInst(model, 98, 98, LocalDate.of(2019, 4, 9), 96, 50.00, 50.00, null, 0.90261832, 45.13, 4829.64, 5.20, 0.00, null, null, + checkInst(model, 97, 97, LocalDate.of(2019, 4, 8), 95, 50.00, null, 0.90358215, 45.18, 4874.43, null, 5.25, null, null, 275.58, 971.30); - checkInst(model, 99, 99, LocalDate.of(2019, 4, 10), 97, 50.00, 50.00, null, 0.90165552, 45.08, 4784.79, 5.16, 0.00, null, null, + checkInst(model, 98, 98, LocalDate.of(2019, 4, 9), 96, 50.00, null, 0.90261832, 45.13, 4829.64, null, 5.20, null, null, 270.38, 971.30); - checkInst(model, 100, 100, LocalDate.of(2019, 4, 11), 98, 50.00, 50.00, null, 0.90069374, 45.03, 4739.90, 5.11, 0.00, null, null, + checkInst(model, 99, 99, LocalDate.of(2019, 4, 10), 97, 50.00, null, 0.90165552, 45.08, 4784.79, null, 5.16, null, null, 265.22, 971.30); - checkInst(model, 101, 101, LocalDate.of(2019, 4, 12), 99, 50.00, 50.00, null, 0.89973299, 44.99, 4694.96, 5.06, 0.00, null, null, + checkInst(model, 100, 100, LocalDate.of(2019, 4, 11), 98, 50.00, null, 0.90069374, 45.03, 4739.90, null, 5.11, null, null, 260.11, 971.30); - checkInst(model, 102, 102, LocalDate.of(2019, 4, 13), 100, 50.00, 50.00, null, 0.89877327, 44.94, 4649.98, 5.01, 0.00, null, null, + checkInst(model, 101, 101, LocalDate.of(2019, 4, 12), 99, 50.00, null, 0.89973299, 44.99, 4694.96, null, 5.06, null, null, 255.05, 971.30); - checkInst(model, 103, 103, LocalDate.of(2019, 4, 14), 101, 50.00, 50.00, null, 0.89781457, 44.89, 4604.94, 4.97, 0.00, null, null, + checkInst(model, 102, 102, LocalDate.of(2019, 4, 13), 100, 50.00, null, 0.89877327, 44.94, 4649.98, null, 5.01, null, null, 250.04, 971.30); - checkInst(model, 104, 104, LocalDate.of(2019, 4, 15), 102, 50.00, 50.00, null, 0.89685689, 44.84, 4559.86, 4.92, 0.00, null, null, + checkInst(model, 103, 103, LocalDate.of(2019, 4, 14), 101, 50.00, null, 0.89781457, 44.89, 4604.94, null, 4.97, null, null, 245.07, 971.30); - checkInst(model, 105, 105, LocalDate.of(2019, 4, 16), 103, 50.00, 50.00, null, 0.89590024, 44.80, 4514.73, 4.87, 0.00, null, null, + checkInst(model, 104, 104, LocalDate.of(2019, 4, 15), 102, 50.00, null, 0.89685689, 44.84, 4559.86, null, 4.92, null, null, 240.15, 971.30); - checkInst(model, 106, 106, LocalDate.of(2019, 4, 17), 104, 50.00, 50.00, null, 0.89494460, 44.75, 4469.55, 4.82, 0.00, null, null, + checkInst(model, 105, 105, LocalDate.of(2019, 4, 16), 103, 50.00, null, 0.89590024, 44.80, 4514.73, null, 4.87, null, null, 235.28, 971.30); - checkInst(model, 107, 107, LocalDate.of(2019, 4, 18), 105, 50.00, 50.00, null, 0.89398999, 44.70, 4424.32, 4.77, 0.00, null, null, + checkInst(model, 106, 106, LocalDate.of(2019, 4, 17), 104, 50.00, null, 0.89494460, 44.75, 4469.55, null, 4.82, null, null, 230.46, 971.30); - checkInst(model, 108, 108, LocalDate.of(2019, 4, 19), 106, 50.00, 50.00, null, 0.89303639, 44.65, 4379.05, 4.72, 0.00, null, null, + checkInst(model, 107, 107, LocalDate.of(2019, 4, 18), 105, 50.00, null, 0.89398999, 44.70, 4424.32, null, 4.77, null, null, 225.69, 971.30); - checkInst(model, 109, 109, LocalDate.of(2019, 4, 20), 107, 50.00, 50.00, null, 0.89208381, 44.60, 4333.72, 4.68, 0.00, null, null, + checkInst(model, 108, 108, LocalDate.of(2019, 4, 19), 106, 50.00, null, 0.89303639, 44.65, 4379.05, null, 4.72, null, null, 220.97, 971.30); - checkInst(model, 110, 110, LocalDate.of(2019, 4, 21), 108, 50.00, 50.00, null, 0.89113225, 44.56, 4288.35, 4.63, 0.00, null, null, + checkInst(model, 109, 109, LocalDate.of(2019, 4, 20), 107, 50.00, null, 0.89208381, 44.60, 4333.72, null, 4.68, null, null, 216.29, 971.30); - checkInst(model, 111, 111, LocalDate.of(2019, 4, 22), 109, 50.00, 50.00, null, 0.89018170, 44.51, 4242.93, 4.58, 0.00, null, null, + checkInst(model, 110, 110, LocalDate.of(2019, 4, 21), 108, 50.00, null, 0.89113225, 44.56, 4288.35, null, 4.63, null, null, 211.66, 971.30); - checkInst(model, 112, 112, LocalDate.of(2019, 4, 23), 110, 50.00, 50.00, null, 0.88923216, 44.46, 4197.46, 4.53, 0.00, null, null, + checkInst(model, 111, 111, LocalDate.of(2019, 4, 22), 109, 50.00, null, 0.89018170, 44.51, 4242.93, null, 4.58, null, null, 207.08, 971.30); - checkInst(model, 113, 113, LocalDate.of(2019, 4, 24), 111, 50.00, 50.00, null, 0.88828364, 44.41, 4151.94, 4.48, 0.00, null, null, + checkInst(model, 112, 112, LocalDate.of(2019, 4, 23), 110, 50.00, null, 0.88923216, 44.46, 4197.46, null, 4.53, null, null, 202.55, 971.30); - checkInst(model, 114, 114, LocalDate.of(2019, 4, 25), 112, 50.00, 50.00, null, 0.88733613, 44.37, 4106.38, 4.43, 0.00, null, null, + checkInst(model, 113, 113, LocalDate.of(2019, 4, 24), 111, 50.00, null, 0.88828364, 44.41, 4151.94, null, 4.48, null, null, 198.07, 971.30); - checkInst(model, 115, 115, LocalDate.of(2019, 4, 26), 113, 50.00, 50.00, null, 0.88638963, 44.32, 4060.76, 4.38, 0.00, null, null, + checkInst(model, 114, 114, LocalDate.of(2019, 4, 25), 112, 50.00, null, 0.88733613, 44.37, 4106.38, null, 4.43, null, null, 193.64, 971.30); - checkInst(model, 116, 116, LocalDate.of(2019, 4, 27), 114, 50.00, 50.00, null, 0.88544414, 44.27, 4015.10, 4.34, 0.00, null, null, + checkInst(model, 115, 115, LocalDate.of(2019, 4, 26), 113, 50.00, null, 0.88638963, 44.32, 4060.76, null, 4.38, null, null, 189.26, 971.30); - checkInst(model, 117, 117, LocalDate.of(2019, 4, 28), 115, 50.00, 50.00, null, 0.88449966, 44.22, 3969.38, 4.29, 0.00, null, null, + checkInst(model, 116, 116, LocalDate.of(2019, 4, 27), 114, 50.00, null, 0.88544414, 44.27, 4015.10, null, 4.34, null, null, 184.92, 971.30); - checkInst(model, 118, 118, LocalDate.of(2019, 4, 29), 116, 50.00, 50.00, null, 0.88355619, 44.18, 3923.62, 4.24, 0.00, null, null, + checkInst(model, 117, 117, LocalDate.of(2019, 4, 28), 115, 50.00, null, 0.88449966, 44.22, 3969.38, null, 4.29, null, null, 180.63, 971.30); - checkInst(model, 119, 119, LocalDate.of(2019, 4, 30), 117, 50.00, 50.00, null, 0.88261372, 44.13, 3877.81, 4.19, 0.00, null, null, + checkInst(model, 118, 118, LocalDate.of(2019, 4, 29), 116, 50.00, null, 0.88355619, 44.18, 3923.62, null, 4.24, null, null, 176.39, 971.30); - checkInst(model, 120, 120, LocalDate.of(2019, 5, 1), 118, 50.00, 50.00, null, 0.88167226, 44.08, 3831.95, 4.14, 0.00, null, null, + checkInst(model, 119, 119, LocalDate.of(2019, 4, 30), 117, 50.00, null, 0.88261372, 44.13, 3877.81, null, 4.19, null, null, 172.20, 971.30); - checkInst(model, 121, 121, LocalDate.of(2019, 5, 2), 119, 50.00, 50.00, null, 0.88073180, 44.04, 3786.04, 4.09, 0.00, null, null, + checkInst(model, 120, 120, LocalDate.of(2019, 5, 1), 118, 50.00, null, 0.88167226, 44.08, 3831.95, null, 4.14, null, null, 168.06, 971.30); - checkInst(model, 122, 122, LocalDate.of(2019, 5, 3), 120, 50.00, 50.00, null, 0.87979234, 43.99, 3740.09, 4.04, 0.00, null, null, + checkInst(model, 121, 121, LocalDate.of(2019, 5, 2), 119, 50.00, null, 0.88073180, 44.04, 3786.04, null, 4.09, null, null, 163.97, 971.30); - checkInst(model, 123, 123, LocalDate.of(2019, 5, 4), 121, 50.00, 50.00, null, 0.87885389, 43.94, 3694.08, 3.99, 0.00, null, null, + checkInst(model, 122, 122, LocalDate.of(2019, 5, 3), 120, 50.00, null, 0.87979234, 43.99, 3740.09, null, 4.04, null, null, 159.93, 971.30); - checkInst(model, 124, 124, LocalDate.of(2019, 5, 5), 122, 50.00, 50.00, null, 0.87791644, 43.90, 3648.03, 3.94, 0.00, null, null, + checkInst(model, 123, 123, LocalDate.of(2019, 5, 4), 121, 50.00, null, 0.87885389, 43.94, 3694.08, null, 3.99, null, null, 155.94, 971.30); - checkInst(model, 125, 125, LocalDate.of(2019, 5, 6), 123, 50.00, 50.00, null, 0.87697999, 43.85, 3601.92, 3.90, 0.00, null, null, + checkInst(model, 124, 124, LocalDate.of(2019, 5, 5), 122, 50.00, null, 0.87791644, 43.90, 3648.03, null, 3.94, null, null, 152.00, 971.30); - checkInst(model, 126, 126, LocalDate.of(2019, 5, 7), 124, 50.00, 50.00, null, 0.87604453, 43.80, 3555.77, 3.85, 0.00, null, null, + checkInst(model, 125, 125, LocalDate.of(2019, 5, 6), 123, 50.00, null, 0.87697999, 43.85, 3601.92, null, 3.90, null, null, 148.10, 971.30); - checkInst(model, 127, 127, LocalDate.of(2019, 5, 8), 125, 50.00, 50.00, null, 0.87511008, 43.76, 3509.56, 3.80, 0.00, null, null, + checkInst(model, 126, 126, LocalDate.of(2019, 5, 7), 124, 50.00, null, 0.87604453, 43.80, 3555.77, null, 3.85, null, null, 144.25, 971.30); - checkInst(model, 128, 128, LocalDate.of(2019, 5, 9), 126, 50.00, 50.00, null, 0.87417662, 43.71, 3463.31, 3.75, 0.00, null, null, + checkInst(model, 127, 127, LocalDate.of(2019, 5, 8), 125, 50.00, null, 0.87511008, 43.76, 3509.56, null, 3.80, null, null, 140.45, 971.30); - checkInst(model, 129, 129, LocalDate.of(2019, 5, 10), 127, 50.00, 50.00, null, 0.87324416, 43.66, 3417.01, 3.70, 0.00, null, null, + checkInst(model, 128, 128, LocalDate.of(2019, 5, 9), 126, 50.00, null, 0.87417662, 43.71, 3463.31, null, 3.75, null, null, 136.70, 971.30); - checkInst(model, 130, 130, LocalDate.of(2019, 5, 11), 128, 50.00, 50.00, null, 0.87231269, 43.62, 3370.66, 3.65, 0.00, null, null, + checkInst(model, 129, 129, LocalDate.of(2019, 5, 10), 127, 50.00, null, 0.87324416, 43.66, 3417.01, null, 3.70, null, null, 133.00, 971.30); - checkInst(model, 131, 131, LocalDate.of(2019, 5, 12), 129, 50.00, 50.00, null, 0.87138221, 43.57, 3324.26, 3.60, 0.00, null, null, + checkInst(model, 130, 130, LocalDate.of(2019, 5, 11), 128, 50.00, null, 0.87231269, 43.62, 3370.66, null, 3.65, null, null, 129.35, 971.30); - checkInst(model, 132, 132, LocalDate.of(2019, 5, 13), 130, 50.00, 50.00, null, 0.87045273, 43.52, 3277.81, 3.55, 0.00, null, null, + checkInst(model, 131, 131, LocalDate.of(2019, 5, 12), 129, 50.00, null, 0.87138221, 43.57, 3324.26, null, 3.60, null, null, 125.75, 971.30); - checkInst(model, 133, 133, LocalDate.of(2019, 5, 14), 131, 50.00, 50.00, null, 0.86952424, 43.48, 3231.31, 3.50, 0.00, null, null, + checkInst(model, 132, 132, LocalDate.of(2019, 5, 13), 130, 50.00, null, 0.87045273, 43.52, 3277.81, null, 3.55, null, null, 122.20, 971.30); - checkInst(model, 134, 134, LocalDate.of(2019, 5, 15), 132, 50.00, 50.00, null, 0.86859674, 43.43, 3184.76, 3.45, 0.00, null, null, + checkInst(model, 133, 133, LocalDate.of(2019, 5, 14), 131, 50.00, null, 0.86952424, 43.48, 3231.31, null, 3.50, null, null, 118.70, 971.30); - checkInst(model, 135, 135, LocalDate.of(2019, 5, 16), 133, 50.00, 50.00, null, 0.86767023, 43.38, 3138.16, 3.40, 0.00, null, null, + checkInst(model, 134, 134, LocalDate.of(2019, 5, 15), 132, 50.00, null, 0.86859674, 43.43, 3184.76, null, 3.45, null, null, 115.25, 971.30); - checkInst(model, 136, 136, LocalDate.of(2019, 5, 17), 134, 50.00, 50.00, null, 0.86674471, 43.34, 3091.51, 3.35, 0.00, null, null, + checkInst(model, 135, 135, LocalDate.of(2019, 5, 16), 133, 50.00, null, 0.86767023, 43.38, 3138.16, null, 3.40, null, null, 111.85, 971.30); - checkInst(model, 137, 137, LocalDate.of(2019, 5, 18), 135, 50.00, 50.00, null, 0.86582017, 43.29, 3044.81, 3.30, 0.00, null, null, + checkInst(model, 136, 136, LocalDate.of(2019, 5, 17), 134, 50.00, null, 0.86674471, 43.34, 3091.51, null, 3.35, null, null, 108.50, 971.30); - checkInst(model, 138, 138, LocalDate.of(2019, 5, 19), 136, 50.00, 50.00, null, 0.86489662, 43.24, 2998.06, 3.25, 0.00, null, null, + checkInst(model, 137, 137, LocalDate.of(2019, 5, 18), 135, 50.00, null, 0.86582017, 43.29, 3044.81, null, 3.30, null, null, 105.20, 971.30); - checkInst(model, 139, 139, LocalDate.of(2019, 5, 20), 137, 50.00, 50.00, null, 0.86397406, 43.20, 2951.26, 3.20, 0.00, null, null, + checkInst(model, 138, 138, LocalDate.of(2019, 5, 19), 136, 50.00, null, 0.86489662, 43.24, 2998.06, null, 3.25, null, null, 101.95, 971.30); - checkInst(model, 140, 140, LocalDate.of(2019, 5, 21), 138, 50.00, 50.00, null, 0.86305248, 43.15, 2904.42, 3.15, 0.00, null, null, + checkInst(model, 139, 139, LocalDate.of(2019, 5, 20), 137, 50.00, null, 0.86397406, 43.20, 2951.26, null, 3.20, null, null, 98.75, 971.30); - checkInst(model, 141, 141, LocalDate.of(2019, 5, 22), 139, 50.00, 50.00, null, 0.86213188, 43.11, 2857.52, 3.10, 0.00, null, null, + checkInst(model, 140, 140, LocalDate.of(2019, 5, 21), 138, 50.00, null, 0.86305248, 43.15, 2904.42, null, 3.15, null, null, 95.60, 971.30); - checkInst(model, 142, 142, LocalDate.of(2019, 5, 23), 140, 50.00, 50.00, null, 0.86121227, 43.06, 2810.57, 3.05, 0.00, null, null, + checkInst(model, 141, 141, LocalDate.of(2019, 5, 22), 139, 50.00, null, 0.86213188, 43.11, 2857.52, null, 3.10, null, null, 92.50, 971.30); - checkInst(model, 143, 143, LocalDate.of(2019, 5, 24), 141, 50.00, 50.00, null, 0.86029363, 43.01, 2763.57, 3.00, 0.00, null, null, + checkInst(model, 142, 142, LocalDate.of(2019, 5, 23), 140, 50.00, null, 0.86121227, 43.06, 2810.57, null, 3.05, null, null, 89.45, 971.30); - checkInst(model, 144, 144, LocalDate.of(2019, 5, 25), 142, 50.00, 50.00, null, 0.85937598, 42.97, 2716.52, 2.95, 0.00, null, null, + checkInst(model, 143, 143, LocalDate.of(2019, 5, 24), 141, 50.00, null, 0.86029363, 43.01, 2763.57, null, 3.00, null, null, 86.45, 971.30); - checkInst(model, 145, 145, LocalDate.of(2019, 5, 26), 143, 50.00, 50.00, null, 0.85845930, 42.92, 2669.42, 2.90, 0.00, null, null, + checkInst(model, 144, 144, LocalDate.of(2019, 5, 25), 142, 50.00, null, 0.85937598, 42.97, 2716.52, null, 2.95, null, null, 83.50, 971.30); - checkInst(model, 146, 146, LocalDate.of(2019, 5, 27), 144, 50.00, 50.00, null, 0.85754361, 42.88, 2622.27, 2.85, 0.00, null, null, + checkInst(model, 145, 145, LocalDate.of(2019, 5, 26), 143, 50.00, null, 0.85845930, 42.92, 2669.42, null, 2.90, null, null, 80.60, 971.30); - checkInst(model, 147, 147, LocalDate.of(2019, 5, 28), 145, 50.00, 50.00, null, 0.85662889, 42.83, 2575.07, 2.80, 0.00, null, null, + checkInst(model, 146, 146, LocalDate.of(2019, 5, 27), 144, 50.00, null, 0.85754361, 42.88, 2622.27, null, 2.85, null, null, 77.75, 971.30); - checkInst(model, 148, 148, LocalDate.of(2019, 5, 29), 146, 50.00, 50.00, null, 0.85571514, 42.79, 2527.82, 2.75, 0.00, null, null, + checkInst(model, 147, 147, LocalDate.of(2019, 5, 28), 145, 50.00, null, 0.85662889, 42.83, 2575.07, null, 2.80, null, null, 74.95, 971.30); - checkInst(model, 149, 149, LocalDate.of(2019, 5, 30), 147, 50.00, 50.00, null, 0.85480237, 42.74, 2480.52, 2.70, 0.00, null, null, + checkInst(model, 148, 148, LocalDate.of(2019, 5, 29), 146, 50.00, null, 0.85571514, 42.79, 2527.82, null, 2.75, null, null, 72.20, 971.30); - checkInst(model, 150, 150, LocalDate.of(2019, 5, 31), 148, 50.00, 50.00, null, 0.85389057, 42.69, 2433.17, 2.65, 0.00, null, null, + checkInst(model, 149, 149, LocalDate.of(2019, 5, 30), 147, 50.00, null, 0.85480237, 42.74, 2480.52, null, 2.70, null, null, 69.50, 971.30); - checkInst(model, 151, 151, LocalDate.of(2019, 6, 1), 149, 50.00, 50.00, null, 0.85297975, 42.65, 2385.77, 2.60, 0.00, null, null, + checkInst(model, 150, 150, LocalDate.of(2019, 5, 31), 148, 50.00, null, 0.85389057, 42.69, 2433.17, null, 2.65, null, null, 66.85, 971.30); - checkInst(model, 152, 152, LocalDate.of(2019, 6, 2), 150, 50.00, 50.00, null, 0.85206990, 42.60, 2338.31, 2.55, 0.00, null, null, + checkInst(model, 151, 151, LocalDate.of(2019, 6, 1), 149, 50.00, null, 0.85297975, 42.65, 2385.77, null, 2.60, null, null, 64.25, 971.30); - checkInst(model, 153, 153, LocalDate.of(2019, 6, 3), 151, 50.00, 50.00, null, 0.85116101, 42.56, 2290.81, 2.50, 0.00, null, null, + checkInst(model, 152, 152, LocalDate.of(2019, 6, 2), 150, 50.00, null, 0.85206990, 42.60, 2338.31, null, 2.55, null, null, 61.70, 971.30); - checkInst(model, 154, 154, LocalDate.of(2019, 6, 4), 152, 50.00, 50.00, null, 0.85025310, 42.51, 2243.26, 2.45, 0.00, null, null, + checkInst(model, 153, 153, LocalDate.of(2019, 6, 3), 151, 50.00, null, 0.85116101, 42.56, 2290.81, null, 2.50, null, null, 59.20, 971.30); - checkInst(model, 155, 155, LocalDate.of(2019, 6, 5), 153, 50.00, 50.00, null, 0.84934616, 42.47, 2195.65, 2.40, 0.00, null, null, + checkInst(model, 154, 154, LocalDate.of(2019, 6, 4), 152, 50.00, null, 0.85025310, 42.51, 2243.26, null, 2.45, null, null, 56.75, 971.30); - checkInst(model, 156, 156, LocalDate.of(2019, 6, 6), 154, 50.00, 50.00, null, 0.84844018, 42.42, 2148.00, 2.34, 0.00, null, null, + checkInst(model, 155, 155, LocalDate.of(2019, 6, 5), 153, 50.00, null, 0.84934616, 42.47, 2195.65, null, 2.40, null, null, 54.35, 971.30); - checkInst(model, 157, 157, LocalDate.of(2019, 6, 7), 155, 50.00, 50.00, null, 0.84753517, 42.38, 2100.29, 2.29, 0.00, null, null, + checkInst(model, 156, 156, LocalDate.of(2019, 6, 6), 154, 50.00, null, 0.84844018, 42.42, 2148.00, null, 2.34, null, null, 52.01, 971.30); - checkInst(model, 158, 158, LocalDate.of(2019, 6, 8), 156, 50.00, 50.00, null, 0.84663113, 42.33, 2052.53, 2.24, 0.00, null, null, + checkInst(model, 157, 157, LocalDate.of(2019, 6, 7), 155, 50.00, null, 0.84753517, 42.38, 2100.29, null, 2.29, null, null, 49.72, 971.30); - checkInst(model, 159, 159, LocalDate.of(2019, 6, 9), 157, 50.00, 50.00, null, 0.84572805, 42.29, 2004.73, 2.19, 0.00, null, null, + checkInst(model, 158, 158, LocalDate.of(2019, 6, 8), 156, 50.00, null, 0.84663113, 42.33, 2052.53, null, 2.24, null, null, 47.48, 971.30); - checkInst(model, 160, 160, LocalDate.of(2019, 6, 10), 158, 50.00, 50.00, null, 0.84482593, 42.24, 1956.87, 2.14, 0.00, null, null, + checkInst(model, 159, 159, LocalDate.of(2019, 6, 9), 157, 50.00, null, 0.84572805, 42.29, 2004.73, null, 2.19, null, null, 45.29, 971.30); - checkInst(model, 161, 161, LocalDate.of(2019, 6, 11), 159, 50.00, 50.00, null, 0.84392477, 42.20, 1908.96, 2.09, 0.00, null, null, + checkInst(model, 160, 160, LocalDate.of(2019, 6, 10), 158, 50.00, null, 0.84482593, 42.24, 1956.87, null, 2.14, null, null, 43.15, 971.30); - checkInst(model, 162, 162, LocalDate.of(2019, 6, 12), 160, 50.00, 50.00, null, 0.84302458, 42.15, 1860.99, 2.04, 0.00, null, null, + checkInst(model, 161, 161, LocalDate.of(2019, 6, 11), 159, 50.00, null, 0.84392477, 42.20, 1908.96, null, 2.09, null, null, 41.06, 971.30); - checkInst(model, 163, 163, LocalDate.of(2019, 6, 13), 161, 50.00, 50.00, null, 0.84212535, 42.11, 1812.98, 1.99, 0.00, null, null, + checkInst(model, 162, 162, LocalDate.of(2019, 6, 12), 160, 50.00, null, 0.84302458, 42.15, 1860.99, null, 2.04, null, null, 39.02, 971.30); - checkInst(model, 164, 164, LocalDate.of(2019, 6, 14), 162, 50.00, 50.00, null, 0.84122707, 42.06, 1764.92, 1.94, 0.00, null, null, + checkInst(model, 163, 163, LocalDate.of(2019, 6, 13), 161, 50.00, null, 0.84212535, 42.11, 1812.98, null, 1.99, null, null, 37.03, 971.30); - checkInst(model, 165, 165, LocalDate.of(2019, 6, 15), 163, 50.00, 50.00, null, 0.84032975, 42.02, 1716.80, 1.88, 0.00, null, null, + checkInst(model, 164, 164, LocalDate.of(2019, 6, 14), 162, 50.00, null, 0.84122707, 42.06, 1764.92, null, 1.94, null, null, 35.09, 971.30); - checkInst(model, 166, 166, LocalDate.of(2019, 6, 16), 164, 50.00, 50.00, null, 0.83943340, 41.97, 1668.64, 1.83, 0.00, null, null, + checkInst(model, 165, 165, LocalDate.of(2019, 6, 15), 163, 50.00, null, 0.84032975, 42.02, 1716.80, null, 1.88, null, null, 33.21, 971.30); - checkInst(model, 167, 167, LocalDate.of(2019, 6, 17), 165, 50.00, 50.00, null, 0.83853799, 41.93, 1620.42, 1.78, 0.00, null, null, + checkInst(model, 166, 166, LocalDate.of(2019, 6, 16), 164, 50.00, null, 0.83943340, 41.97, 1668.64, null, 1.83, null, null, 31.38, 971.30); - checkInst(model, 168, 168, LocalDate.of(2019, 6, 18), 166, 50.00, 50.00, null, 0.83764354, 41.88, 1572.15, 1.73, 0.00, null, null, + checkInst(model, 167, 167, LocalDate.of(2019, 6, 17), 165, 50.00, null, 0.83853799, 41.93, 1620.42, null, 1.78, null, null, 29.60, 971.30); - checkInst(model, 169, 169, LocalDate.of(2019, 6, 19), 167, 50.00, 50.00, null, 0.83675005, 41.84, 1523.83, 1.68, 0.00, null, null, + checkInst(model, 168, 168, LocalDate.of(2019, 6, 18), 166, 50.00, null, 0.83764354, 41.88, 1572.15, null, 1.73, null, null, 27.87, 971.30); - checkInst(model, 170, 170, LocalDate.of(2019, 6, 20), 168, 50.00, 50.00, null, 0.83585751, 41.79, 1475.45, 1.63, 0.00, null, null, + checkInst(model, 169, 169, LocalDate.of(2019, 6, 19), 167, 50.00, null, 0.83675005, 41.84, 1523.83, null, 1.68, null, null, 26.19, 971.30); - checkInst(model, 171, 171, LocalDate.of(2019, 6, 21), 169, 50.00, 50.00, null, 0.83496592, 41.75, 1427.03, 1.58, 0.00, null, null, + checkInst(model, 170, 170, LocalDate.of(2019, 6, 20), 168, 50.00, null, 0.83585751, 41.79, 1475.45, null, 1.63, null, null, 24.56, 971.30); - checkInst(model, 172, 172, LocalDate.of(2019, 6, 22), 170, 50.00, 50.00, null, 0.83407528, 41.70, 1378.55, 1.52, 0.00, null, null, + checkInst(model, 171, 171, LocalDate.of(2019, 6, 21), 169, 50.00, null, 0.83496592, 41.75, 1427.03, null, 1.58, null, null, 22.98, 971.30); - checkInst(model, 173, 173, LocalDate.of(2019, 6, 23), 171, 50.00, 50.00, null, 0.83318560, 41.66, 1330.02, 1.47, 0.00, null, null, + checkInst(model, 172, 172, LocalDate.of(2019, 6, 22), 170, 50.00, null, 0.83407528, 41.70, 1378.55, null, 1.52, null, null, 21.46, 971.30); - checkInst(model, 174, 174, LocalDate.of(2019, 6, 24), 172, 50.00, 50.00, null, 0.83229686, 41.61, 1281.45, 1.42, 0.00, null, null, + checkInst(model, 173, 173, LocalDate.of(2019, 6, 23), 171, 50.00, null, 0.83318560, 41.66, 1330.02, null, 1.47, null, null, 19.99, 971.30); - checkInst(model, 175, 175, LocalDate.of(2019, 6, 25), 173, 50.00, 50.00, null, 0.83140907, 41.57, 1232.81, 1.37, 0.00, null, null, + checkInst(model, 174, 174, LocalDate.of(2019, 6, 24), 172, 50.00, null, 0.83229686, 41.61, 1281.45, null, 1.42, null, null, 18.57, 971.30); - checkInst(model, 176, 176, LocalDate.of(2019, 6, 26), 174, 50.00, 50.00, null, 0.83052222, 41.53, 1184.13, 1.32, 0.00, null, null, + checkInst(model, 175, 175, LocalDate.of(2019, 6, 25), 173, 50.00, null, 0.83140907, 41.57, 1232.81, null, 1.37, null, null, 17.20, 971.30); - checkInst(model, 177, 177, LocalDate.of(2019, 6, 27), 175, 50.00, 50.00, null, 0.82963633, 41.48, 1135.39, 1.26, 0.00, null, null, + checkInst(model, 176, 176, LocalDate.of(2019, 6, 26), 174, 50.00, null, 0.83052222, 41.53, 1184.13, null, 1.32, null, null, 15.88, 971.30); - checkInst(model, 178, 178, LocalDate.of(2019, 6, 28), 176, 50.00, 50.00, null, 0.82875137, 41.44, 1086.61, 1.21, 0.00, null, null, + checkInst(model, 177, 177, LocalDate.of(2019, 6, 27), 175, 50.00, null, 0.82963633, 41.48, 1135.39, null, 1.26, null, null, 14.62, 971.30); - checkInst(model, 179, 179, LocalDate.of(2019, 6, 29), 177, 50.00, 50.00, null, 0.82786736, 41.39, 1037.77, 1.16, 0.00, null, null, + checkInst(model, 178, 178, LocalDate.of(2019, 6, 28), 176, 50.00, null, 0.82875137, 41.44, 1086.61, null, 1.21, null, null, 13.41, 971.30); - checkInst(model, 180, 180, LocalDate.of(2019, 6, 30), 178, 50.00, 50.00, null, 0.82698430, 41.35, 988.88, 1.11, 0.00, null, null, + checkInst(model, 179, 179, LocalDate.of(2019, 6, 29), 177, 50.00, null, 0.82786736, 41.39, 1037.77, null, 1.16, null, null, 12.25, 971.30); - checkInst(model, 181, 181, LocalDate.of(2019, 7, 1), 179, 50.00, 50.00, null, 0.82610217, 41.31, 939.93, 1.06, 0.00, null, null, + checkInst(model, 180, 180, LocalDate.of(2019, 6, 30), 178, 50.00, null, 0.82698430, 41.35, 988.88, null, 1.11, null, null, 11.14, 971.30); - checkInst(model, 182, 182, LocalDate.of(2019, 7, 2), 180, 50.00, 50.00, null, 0.82522099, 41.26, 890.93, 1.00, 0.00, null, null, + checkInst(model, 181, 181, LocalDate.of(2019, 7, 1), 179, 50.00, null, 0.82610217, 41.31, 939.93, null, 1.06, null, null, 10.08, 971.30); - checkInst(model, 183, 183, LocalDate.of(2019, 7, 3), 181, 50.00, 50.00, null, 0.82434075, 41.22, 841.89, 0.95, 0.00, null, null, + checkInst(model, 182, 182, LocalDate.of(2019, 7, 2), 180, 50.00, null, 0.82522099, 41.26, 890.93, null, 1.00, null, null, 9.08, 971.30); - checkInst(model, 184, 184, LocalDate.of(2019, 7, 4), 182, 50.00, 50.00, null, 0.82346144, 41.17, 792.79, 0.90, 0.00, null, null, + checkInst(model, 183, 183, LocalDate.of(2019, 7, 3), 181, 50.00, null, 0.82434075, 41.22, 841.89, null, 0.95, null, null, 8.13, 971.30); - checkInst(model, 185, 185, LocalDate.of(2019, 7, 5), 183, 50.00, 50.00, null, 0.82258308, 41.13, 743.63, 0.85, 0.00, null, null, + checkInst(model, 184, 184, LocalDate.of(2019, 7, 4), 182, 50.00, null, 0.82346144, 41.17, 792.79, null, 0.90, null, null, 7.23, 971.30); - checkInst(model, 186, 186, LocalDate.of(2019, 7, 6), 184, 50.00, 50.00, null, 0.82170565, 41.09, 694.43, 0.79, 0.00, null, null, + checkInst(model, 185, 185, LocalDate.of(2019, 7, 5), 183, 50.00, null, 0.82258308, 41.13, 743.63, null, 0.85, null, null, 6.38, 971.30); - checkInst(model, 187, 187, LocalDate.of(2019, 7, 7), 185, 50.00, 50.00, null, 0.82082916, 41.04, 645.17, 0.74, 0.00, null, null, + checkInst(model, 186, 186, LocalDate.of(2019, 7, 6), 184, 50.00, null, 0.82170565, 41.09, 694.43, null, 0.79, null, null, 5.59, 971.30); - checkInst(model, 188, 188, LocalDate.of(2019, 7, 8), 186, 50.00, 50.00, null, 0.81995360, 41.00, 595.86, 0.69, 0.00, null, null, + checkInst(model, 187, 187, LocalDate.of(2019, 7, 7), 185, 50.00, null, 0.82082916, 41.04, 645.17, null, 0.74, null, null, 4.85, 971.30); - checkInst(model, 189, 189, LocalDate.of(2019, 7, 9), 187, 50.00, 50.00, null, 0.81907897, 40.95, 546.49, 0.64, 0.00, null, null, + checkInst(model, 188, 188, LocalDate.of(2019, 7, 8), 186, 50.00, null, 0.81995360, 41.00, 595.86, null, 0.69, null, null, 4.16, 971.30); - checkInst(model, 190, 190, LocalDate.of(2019, 7, 10), 188, 50.00, 50.00, null, 0.81820528, 40.91, 497.08, 0.58, 0.00, null, null, + checkInst(model, 189, 189, LocalDate.of(2019, 7, 9), 187, 50.00, null, 0.81907897, 40.95, 546.49, null, 0.64, null, null, 3.52, 971.30); - checkInst(model, 191, 191, LocalDate.of(2019, 7, 11), 189, 50.00, 50.00, null, 0.81733252, 40.87, 447.61, 0.53, 0.00, null, null, + checkInst(model, 190, 190, LocalDate.of(2019, 7, 10), 188, 50.00, null, 0.81820528, 40.91, 497.08, null, 0.58, null, null, 2.94, 971.30); - checkInst(model, 192, 192, LocalDate.of(2019, 7, 12), 190, 50.00, 50.00, null, 0.81646069, 40.82, 398.08, 0.48, 0.00, null, null, + checkInst(model, 191, 191, LocalDate.of(2019, 7, 11), 189, 50.00, null, 0.81733252, 40.87, 447.61, null, 0.53, null, null, 2.41, 971.30); - checkInst(model, 193, 193, LocalDate.of(2019, 7, 13), 191, 50.00, 50.00, null, 0.81558979, 40.78, 348.51, 0.43, 0.00, null, null, + checkInst(model, 192, 192, LocalDate.of(2019, 7, 12), 190, 50.00, null, 0.81646069, 40.82, 398.08, null, 0.48, null, null, 1.93, 971.30); - checkInst(model, 194, 194, LocalDate.of(2019, 7, 14), 192, 50.00, 50.00, null, 0.81471983, 40.74, 298.88, 0.37, 0.00, null, null, + checkInst(model, 193, 193, LocalDate.of(2019, 7, 13), 191, 50.00, null, 0.81558979, 40.78, 348.51, null, 0.43, null, null, 1.50, 971.30); - checkInst(model, 195, 195, LocalDate.of(2019, 7, 15), 193, 50.00, 50.00, null, 0.81385078, 40.69, 249.20, 0.32, 0.00, null, null, + checkInst(model, 194, 194, LocalDate.of(2019, 7, 14), 192, 50.00, null, 0.81471983, 40.74, 298.88, null, 0.37, null, null, 1.13, 971.30); - checkInst(model, 196, 196, LocalDate.of(2019, 7, 16), 194, 50.00, 50.00, null, 0.81298267, 40.65, 199.47, 0.27, 0.00, null, null, + checkInst(model, 195, 195, LocalDate.of(2019, 7, 15), 193, 50.00, null, 0.81385078, 40.69, 249.20, null, 0.32, null, null, 0.81, 971.30); - checkInst(model, 197, 197, LocalDate.of(2019, 7, 17), 195, 50.00, 50.00, null, 0.81211548, 40.61, 149.68, 0.21, 0.00, null, null, + checkInst(model, 196, 196, LocalDate.of(2019, 7, 16), 194, 50.00, null, 0.81298267, 40.65, 199.47, null, 0.27, null, null, 0.54, 971.30); - checkInst(model, 198, 198, LocalDate.of(2019, 7, 18), 196, 50.00, 50.00, null, 0.81124922, 40.56, 99.84, 0.16, 0.00, null, null, + checkInst(model, 197, 197, LocalDate.of(2019, 7, 17), 195, 50.00, null, 0.81211548, 40.61, 149.68, null, 0.21, null, null, 0.33, 971.30); - checkInst(model, 199, 199, LocalDate.of(2019, 7, 19), 197, 50.00, 50.00, null, 0.81038388, 40.52, 49.95, 0.11, 0.00, null, null, + checkInst(model, 198, 198, LocalDate.of(2019, 7, 18), 196, 50.00, null, 0.81124922, 40.56, 99.84, null, 0.16, null, null, 0.17, + 971.30); + checkInst(model, 199, 199, LocalDate.of(2019, 7, 19), 197, 50.00, null, 0.81038388, 40.52, 49.95, null, 0.11, null, null, 0.06, 971.30); assertEquals(200, model.projectedPayments().size(), "disbursement + 199 regular (period 200 removed, forecast was 0)"); @@ -1358,878 +1368,891 @@ void testExcessPayment_term200_discountFee1000_netDisbursement9000_pay70_80() { @Test void testLessPayment_term200_discountFee1000_netDisbursement9000_pay40() { final ProjectedAmortizationScheduleModel model = generateModel(); - calculator.applyPayment(model, EXPECTED_DISBURSEMENT_DATE.plusDays(1), new BigDecimal("40")); + model.applyPayment(EXPECTED_DISBURSEMENT_DATE.plusDays(1), new BigDecimal("40")); - checkInst(model, 0, 0, EXPECTED_DISBURSEMENT_DATE, 0, -9000.00, null, null, 1.00000000, -9000.00, 9000.00, null, null, null, null, - 1000.00); + checkInst(model, 0, 0, EXPECTED_DISBURSEMENT_DATE, 0, -9000.00, null, 1.00000000, -9000.00, 9000.00, 9000.00, null, null, null, + 1000.00, 1000.00); - checkInst(model, 1, 1, LocalDate.of(2019, 1, 2), 0, 50.00, 50.00, 40.00, 1.00000000, 40.00, 8959.61, 9.61, 7.69, 7.69, -1.92, + checkInst(model, 1, 1, LocalDate.of(2019, 1, 2), 0, 50.00, 40.00, 1.00000000, 40.00, 8959.61, 8960.00, 9.61, 7.69, -1.92, 990.39, 992.31); - checkInst(model, 2, 2, LocalDate.of(2019, 1, 3), 1, 50.00, 50.00, null, 0.99893332, 49.95, 8919.18, 9.57, 0.00, null, null, 992.31); - checkInst(model, 3, 3, LocalDate.of(2019, 1, 4), 2, 50.00, 50.00, null, 0.99786779, 49.89, 8878.70, 9.52, 0.00, null, null, 992.31); - checkInst(model, 4, 4, LocalDate.of(2019, 1, 5), 3, 50.00, 50.00, null, 0.99680339, 49.84, 8838.18, 9.48, 0.00, null, null, 992.31); - checkInst(model, 5, 5, LocalDate.of(2019, 1, 6), 4, 50.00, 50.00, null, 0.99574012, 49.79, 8797.62, 9.44, 0.00, null, null, 992.31); - checkInst(model, 6, 6, LocalDate.of(2019, 1, 7), 5, 50.00, 50.00, null, 0.99467799, 49.73, 8757.01, 9.39, 0.00, null, null, 992.31); - checkInst(model, 7, 7, LocalDate.of(2019, 1, 8), 6, 50.00, 50.00, null, 0.99361699, 49.68, 8716.36, 9.35, 0.00, null, null, 992.31); - checkInst(model, 8, 8, LocalDate.of(2019, 1, 9), 7, 50.00, 50.00, null, 0.99255712, 49.63, 8675.67, 9.31, 0.00, null, null, 992.31); - checkInst(model, 9, 9, LocalDate.of(2019, 1, 10), 8, 50.00, 50.00, null, 0.99149839, 49.57, 8634.94, 9.26, 0.00, null, null, + checkInst(model, 2, 2, LocalDate.of(2019, 1, 3), 1, 50.00, null, 0.99893332, 49.95, 8919.18, null, 9.57, null, null, 980.82, + 992.31); + checkInst(model, 3, 3, LocalDate.of(2019, 1, 4), 2, 50.00, null, 0.99786779, 49.89, 8878.70, null, 9.52, null, null, 971.30, + 992.31); + checkInst(model, 4, 4, LocalDate.of(2019, 1, 5), 3, 50.00, null, 0.99680339, 49.84, 8838.18, null, 9.48, null, null, 961.82, + 992.31); + checkInst(model, 5, 5, LocalDate.of(2019, 1, 6), 4, 50.00, null, 0.99574012, 49.79, 8797.62, null, 9.44, null, null, 952.38, + 992.31); + checkInst(model, 6, 6, LocalDate.of(2019, 1, 7), 5, 50.00, null, 0.99467799, 49.73, 8757.01, null, 9.39, null, null, 942.99, + 992.31); + checkInst(model, 7, 7, LocalDate.of(2019, 1, 8), 6, 50.00, null, 0.99361699, 49.68, 8716.36, null, 9.35, null, null, 933.64, + 992.31); + checkInst(model, 8, 8, LocalDate.of(2019, 1, 9), 7, 50.00, null, 0.99255712, 49.63, 8675.67, null, 9.31, null, null, 924.33, + 992.31); + checkInst(model, 9, 9, LocalDate.of(2019, 1, 10), 8, 50.00, null, 0.99149839, 49.57, 8634.94, null, 9.26, null, null, 915.07, 992.31); - checkInst(model, 10, 10, LocalDate.of(2019, 1, 11), 9, 50.00, 50.00, null, 0.99044078, 49.52, 8594.16, 9.22, 0.00, null, null, + checkInst(model, 10, 10, LocalDate.of(2019, 1, 11), 9, 50.00, null, 0.99044078, 49.52, 8594.16, null, 9.22, null, null, 905.85, 992.31); - checkInst(model, 11, 11, LocalDate.of(2019, 1, 12), 10, 50.00, 50.00, null, 0.98938430, 49.47, 8553.33, 9.18, 0.00, null, null, + checkInst(model, 11, 11, LocalDate.of(2019, 1, 12), 10, 50.00, null, 0.98938430, 49.47, 8553.33, null, 9.18, null, null, 896.67, 992.31); - checkInst(model, 12, 12, LocalDate.of(2019, 1, 13), 11, 50.00, 50.00, null, 0.98832895, 49.42, 8512.47, 9.13, 0.00, null, null, + checkInst(model, 12, 12, LocalDate.of(2019, 1, 13), 11, 50.00, null, 0.98832895, 49.42, 8512.47, null, 9.13, null, null, 887.54, 992.31); - checkInst(model, 13, 13, LocalDate.of(2019, 1, 14), 12, 50.00, 50.00, null, 0.98727472, 49.36, 8471.56, 9.09, 0.00, null, null, + checkInst(model, 13, 13, LocalDate.of(2019, 1, 14), 12, 50.00, null, 0.98727472, 49.36, 8471.56, null, 9.09, null, null, 878.45, 992.31); - checkInst(model, 14, 14, LocalDate.of(2019, 1, 15), 13, 50.00, 50.00, null, 0.98622162, 49.31, 8430.60, 9.05, 0.00, null, null, + checkInst(model, 14, 14, LocalDate.of(2019, 1, 15), 13, 50.00, null, 0.98622162, 49.31, 8430.60, null, 9.05, null, null, 869.40, 992.31); - checkInst(model, 15, 15, LocalDate.of(2019, 1, 16), 14, 50.00, 50.00, null, 0.98516964, 49.26, 8389.61, 9.00, 0.00, null, null, + checkInst(model, 15, 15, LocalDate.of(2019, 1, 16), 14, 50.00, null, 0.98516964, 49.26, 8389.61, null, 9.00, null, null, 860.40, 992.31); - checkInst(model, 16, 16, LocalDate.of(2019, 1, 17), 15, 50.00, 50.00, null, 0.98411879, 49.21, 8348.56, 8.96, 0.00, null, null, + checkInst(model, 16, 16, LocalDate.of(2019, 1, 17), 15, 50.00, null, 0.98411879, 49.21, 8348.56, null, 8.96, null, null, 851.44, 992.31); - checkInst(model, 17, 17, LocalDate.of(2019, 1, 18), 16, 50.00, 50.00, null, 0.98306905, 49.15, 8307.48, 8.91, 0.00, null, null, + checkInst(model, 17, 17, LocalDate.of(2019, 1, 18), 16, 50.00, null, 0.98306905, 49.15, 8307.48, null, 8.91, null, null, 842.53, 992.31); - checkInst(model, 18, 18, LocalDate.of(2019, 1, 19), 17, 50.00, 50.00, null, 0.98202044, 49.10, 8266.35, 8.87, 0.00, null, null, + checkInst(model, 18, 18, LocalDate.of(2019, 1, 19), 17, 50.00, null, 0.98202044, 49.10, 8266.35, null, 8.87, null, null, 833.66, 992.31); - checkInst(model, 19, 19, LocalDate.of(2019, 1, 20), 18, 50.00, 50.00, null, 0.98097294, 49.05, 8225.18, 8.83, 0.00, null, null, + checkInst(model, 19, 19, LocalDate.of(2019, 1, 20), 18, 50.00, null, 0.98097294, 49.05, 8225.18, null, 8.83, null, null, 824.83, 992.31); - checkInst(model, 20, 20, LocalDate.of(2019, 1, 21), 19, 50.00, 50.00, null, 0.97992656, 49.00, 8183.96, 8.78, 0.00, null, null, + checkInst(model, 20, 20, LocalDate.of(2019, 1, 21), 19, 50.00, null, 0.97992656, 49.00, 8183.96, null, 8.78, null, null, 816.05, 992.31); - checkInst(model, 21, 21, LocalDate.of(2019, 1, 22), 20, 50.00, 50.00, null, 0.97888129, 48.94, 8142.70, 8.74, 0.00, null, null, + checkInst(model, 21, 21, LocalDate.of(2019, 1, 22), 20, 50.00, null, 0.97888129, 48.94, 8142.70, null, 8.74, null, null, 807.31, 992.31); - checkInst(model, 22, 22, LocalDate.of(2019, 1, 23), 21, 50.00, 50.00, null, 0.97783715, 48.89, 8101.39, 8.69, 0.00, null, null, + checkInst(model, 22, 22, LocalDate.of(2019, 1, 23), 21, 50.00, null, 0.97783715, 48.89, 8101.39, null, 8.69, null, null, 798.62, 992.31); - checkInst(model, 23, 23, LocalDate.of(2019, 1, 24), 22, 50.00, 50.00, null, 0.97679411, 48.84, 8060.04, 8.65, 0.00, null, null, + checkInst(model, 23, 23, LocalDate.of(2019, 1, 24), 22, 50.00, null, 0.97679411, 48.84, 8060.04, null, 8.65, null, null, 789.97, 992.31); - checkInst(model, 24, 24, LocalDate.of(2019, 1, 25), 23, 50.00, 50.00, null, 0.97575219, 48.79, 8018.65, 8.61, 0.00, null, null, + checkInst(model, 24, 24, LocalDate.of(2019, 1, 25), 23, 50.00, null, 0.97575219, 48.79, 8018.65, null, 8.61, null, null, 781.36, 992.31); - checkInst(model, 25, 25, LocalDate.of(2019, 1, 26), 24, 50.00, 50.00, null, 0.97471138, 48.74, 7977.21, 8.56, 0.00, null, null, + checkInst(model, 25, 25, LocalDate.of(2019, 1, 26), 24, 50.00, null, 0.97471138, 48.74, 7977.21, null, 8.56, null, null, 772.80, 992.31); - checkInst(model, 26, 26, LocalDate.of(2019, 1, 27), 25, 50.00, 50.00, null, 0.97367168, 48.68, 7935.73, 8.52, 0.00, null, null, + checkInst(model, 26, 26, LocalDate.of(2019, 1, 27), 25, 50.00, null, 0.97367168, 48.68, 7935.73, null, 8.52, null, null, 764.28, 992.31); - checkInst(model, 27, 27, LocalDate.of(2019, 1, 28), 26, 50.00, 50.00, null, 0.97263309, 48.63, 7894.21, 8.47, 0.00, null, null, + checkInst(model, 27, 27, LocalDate.of(2019, 1, 28), 26, 50.00, null, 0.97263309, 48.63, 7894.21, null, 8.47, null, null, 755.81, 992.31); - checkInst(model, 28, 28, LocalDate.of(2019, 1, 29), 27, 50.00, 50.00, null, 0.97159560, 48.58, 7852.63, 8.43, 0.00, null, null, + checkInst(model, 28, 28, LocalDate.of(2019, 1, 29), 27, 50.00, null, 0.97159560, 48.58, 7852.63, null, 8.43, null, null, 747.38, 992.31); - checkInst(model, 29, 29, LocalDate.of(2019, 1, 30), 28, 50.00, 50.00, null, 0.97055922, 48.53, 7811.02, 8.39, 0.00, null, null, + checkInst(model, 29, 29, LocalDate.of(2019, 1, 30), 28, 50.00, null, 0.97055922, 48.53, 7811.02, null, 8.39, null, null, 738.99, 992.31); - checkInst(model, 30, 30, LocalDate.of(2019, 1, 31), 29, 50.00, 50.00, null, 0.96952395, 48.48, 7769.36, 8.34, 0.00, null, null, + checkInst(model, 30, 30, LocalDate.of(2019, 1, 31), 29, 50.00, null, 0.96952395, 48.48, 7769.36, null, 8.34, null, null, 730.65, 992.31); - checkInst(model, 31, 31, LocalDate.of(2019, 2, 1), 30, 50.00, 50.00, null, 0.96848979, 48.42, 7727.66, 8.30, 0.00, null, null, + checkInst(model, 31, 31, LocalDate.of(2019, 2, 1), 30, 50.00, null, 0.96848979, 48.42, 7727.66, null, 8.30, null, null, 722.35, 992.31); - checkInst(model, 32, 32, LocalDate.of(2019, 2, 2), 31, 50.00, 50.00, null, 0.96745672, 48.37, 7685.91, 8.25, 0.00, null, null, + checkInst(model, 32, 32, LocalDate.of(2019, 2, 2), 31, 50.00, null, 0.96745672, 48.37, 7685.91, null, 8.25, null, null, 714.10, 992.31); - checkInst(model, 33, 33, LocalDate.of(2019, 2, 3), 32, 50.00, 50.00, null, 0.96642476, 48.32, 7644.12, 8.21, 0.00, null, null, + checkInst(model, 33, 33, LocalDate.of(2019, 2, 3), 32, 50.00, null, 0.96642476, 48.32, 7644.12, null, 8.21, null, null, 705.89, 992.31); - checkInst(model, 34, 34, LocalDate.of(2019, 2, 4), 33, 50.00, 50.00, null, 0.96539390, 48.27, 7602.28, 8.16, 0.00, null, null, + checkInst(model, 34, 34, LocalDate.of(2019, 2, 4), 33, 50.00, null, 0.96539390, 48.27, 7602.28, null, 8.16, null, null, 697.73, 992.31); - checkInst(model, 35, 35, LocalDate.of(2019, 2, 5), 34, 50.00, 50.00, null, 0.96436413, 48.22, 7560.40, 8.12, 0.00, null, null, + checkInst(model, 35, 35, LocalDate.of(2019, 2, 5), 34, 50.00, null, 0.96436413, 48.22, 7560.40, null, 8.12, null, null, 689.61, 992.31); - checkInst(model, 36, 36, LocalDate.of(2019, 2, 6), 35, 50.00, 50.00, null, 0.96333547, 48.17, 7518.47, 8.07, 0.00, null, null, + checkInst(model, 36, 36, LocalDate.of(2019, 2, 6), 35, 50.00, null, 0.96333547, 48.17, 7518.47, null, 8.07, null, null, 681.54, 992.31); - checkInst(model, 37, 37, LocalDate.of(2019, 2, 7), 36, 50.00, 50.00, null, 0.96230790, 48.12, 7476.50, 8.03, 0.00, null, null, + checkInst(model, 37, 37, LocalDate.of(2019, 2, 7), 36, 50.00, null, 0.96230790, 48.12, 7476.50, null, 8.03, null, null, 673.51, 992.31); - checkInst(model, 38, 38, LocalDate.of(2019, 2, 8), 37, 50.00, 50.00, null, 0.96128143, 48.06, 7434.48, 7.98, 0.00, null, null, + checkInst(model, 38, 38, LocalDate.of(2019, 2, 8), 37, 50.00, null, 0.96128143, 48.06, 7434.48, null, 7.98, null, null, 665.53, 992.31); - checkInst(model, 39, 39, LocalDate.of(2019, 2, 9), 38, 50.00, 50.00, null, 0.96025606, 48.01, 7392.42, 7.94, 0.00, null, null, + checkInst(model, 39, 39, LocalDate.of(2019, 2, 9), 38, 50.00, null, 0.96025606, 48.01, 7392.42, null, 7.94, null, null, 657.59, 992.31); - checkInst(model, 40, 40, LocalDate.of(2019, 2, 10), 39, 50.00, 50.00, null, 0.95923178, 47.96, 7350.31, 7.89, 0.00, null, null, + checkInst(model, 40, 40, LocalDate.of(2019, 2, 10), 39, 50.00, null, 0.95923178, 47.96, 7350.31, null, 7.89, null, null, 649.70, 992.31); - checkInst(model, 41, 41, LocalDate.of(2019, 2, 11), 40, 50.00, 50.00, null, 0.95820859, 47.91, 7308.16, 7.85, 0.00, null, null, + checkInst(model, 41, 41, LocalDate.of(2019, 2, 11), 40, 50.00, null, 0.95820859, 47.91, 7308.16, null, 7.85, null, null, 641.85, 992.31); - checkInst(model, 42, 42, LocalDate.of(2019, 2, 12), 41, 50.00, 50.00, null, 0.95718649, 47.86, 7265.97, 7.80, 0.00, null, null, + checkInst(model, 42, 42, LocalDate.of(2019, 2, 12), 41, 50.00, null, 0.95718649, 47.86, 7265.97, null, 7.80, null, null, 634.05, 992.31); - checkInst(model, 43, 43, LocalDate.of(2019, 2, 13), 42, 50.00, 50.00, null, 0.95616548, 47.81, 7223.72, 7.76, 0.00, null, null, + checkInst(model, 43, 43, LocalDate.of(2019, 2, 13), 42, 50.00, null, 0.95616548, 47.81, 7223.72, null, 7.76, null, null, 626.29, 992.31); - checkInst(model, 44, 44, LocalDate.of(2019, 2, 14), 43, 50.00, 50.00, null, 0.95514557, 47.76, 7181.44, 7.71, 0.00, null, null, + checkInst(model, 44, 44, LocalDate.of(2019, 2, 14), 43, 50.00, null, 0.95514557, 47.76, 7181.44, null, 7.71, null, null, 618.58, 992.31); - checkInst(model, 45, 45, LocalDate.of(2019, 2, 15), 44, 50.00, 50.00, null, 0.95412674, 47.71, 7139.11, 7.67, 0.00, null, null, + checkInst(model, 45, 45, LocalDate.of(2019, 2, 15), 44, 50.00, null, 0.95412674, 47.71, 7139.11, null, 7.67, null, null, 610.91, 992.31); - checkInst(model, 46, 46, LocalDate.of(2019, 2, 16), 45, 50.00, 50.00, null, 0.95310899, 47.66, 7096.73, 7.62, 0.00, null, null, + checkInst(model, 46, 46, LocalDate.of(2019, 2, 16), 45, 50.00, null, 0.95310899, 47.66, 7096.73, null, 7.62, null, null, 603.29, 992.31); - checkInst(model, 47, 47, LocalDate.of(2019, 2, 17), 46, 50.00, 50.00, null, 0.95209233, 47.60, 7054.31, 7.58, 0.00, null, null, + checkInst(model, 47, 47, LocalDate.of(2019, 2, 17), 46, 50.00, null, 0.95209233, 47.60, 7054.31, null, 7.58, null, null, 595.71, 992.31); - checkInst(model, 48, 48, LocalDate.of(2019, 2, 18), 47, 50.00, 50.00, null, 0.95107676, 47.55, 7011.84, 7.53, 0.00, null, null, + checkInst(model, 48, 48, LocalDate.of(2019, 2, 18), 47, 50.00, null, 0.95107676, 47.55, 7011.84, null, 7.53, null, null, 588.18, 992.31); - checkInst(model, 49, 49, LocalDate.of(2019, 2, 19), 48, 50.00, 50.00, null, 0.95006227, 47.50, 6969.33, 7.49, 0.00, null, null, + checkInst(model, 49, 49, LocalDate.of(2019, 2, 19), 48, 50.00, null, 0.95006227, 47.50, 6969.33, null, 7.49, null, null, 580.69, 992.31); - checkInst(model, 50, 50, LocalDate.of(2019, 2, 20), 49, 50.00, 50.00, null, 0.94904886, 47.45, 6926.77, 7.44, 0.00, null, null, + checkInst(model, 50, 50, LocalDate.of(2019, 2, 20), 49, 50.00, null, 0.94904886, 47.45, 6926.77, null, 7.44, null, null, 573.25, 992.31); - checkInst(model, 51, 51, LocalDate.of(2019, 2, 21), 50, 50.00, 50.00, null, 0.94803653, 47.40, 6884.17, 7.40, 0.00, null, null, + checkInst(model, 51, 51, LocalDate.of(2019, 2, 21), 50, 50.00, null, 0.94803653, 47.40, 6884.17, null, 7.40, null, null, 565.85, 992.31); - checkInst(model, 52, 52, LocalDate.of(2019, 2, 22), 51, 50.00, 50.00, null, 0.94702529, 47.35, 6841.52, 7.35, 0.00, null, null, + checkInst(model, 52, 52, LocalDate.of(2019, 2, 22), 51, 50.00, null, 0.94702529, 47.35, 6841.52, null, 7.35, null, null, 558.50, 992.31); - checkInst(model, 53, 53, LocalDate.of(2019, 2, 23), 52, 50.00, 50.00, null, 0.94601512, 47.30, 6798.82, 7.31, 0.00, null, null, + checkInst(model, 53, 53, LocalDate.of(2019, 2, 23), 52, 50.00, null, 0.94601512, 47.30, 6798.82, null, 7.31, null, null, 551.19, 992.31); - checkInst(model, 54, 54, LocalDate.of(2019, 2, 24), 53, 50.00, 50.00, null, 0.94500603, 47.25, 6756.08, 7.26, 0.00, null, null, + checkInst(model, 54, 54, LocalDate.of(2019, 2, 24), 53, 50.00, null, 0.94500603, 47.25, 6756.08, null, 7.26, null, null, 543.93, 992.31); - checkInst(model, 55, 55, LocalDate.of(2019, 2, 25), 54, 50.00, 50.00, null, 0.94399801, 47.20, 6713.30, 7.21, 0.00, null, null, + checkInst(model, 55, 55, LocalDate.of(2019, 2, 25), 54, 50.00, null, 0.94399801, 47.20, 6713.30, null, 7.21, null, null, 536.72, 992.31); - checkInst(model, 56, 56, LocalDate.of(2019, 2, 26), 55, 50.00, 50.00, null, 0.94299107, 47.15, 6670.47, 7.17, 0.00, null, null, + checkInst(model, 56, 56, LocalDate.of(2019, 2, 26), 55, 50.00, null, 0.94299107, 47.15, 6670.47, null, 7.17, null, null, 529.55, 992.31); - checkInst(model, 57, 57, LocalDate.of(2019, 2, 27), 56, 50.00, 50.00, null, 0.94198521, 47.10, 6627.59, 7.12, 0.00, null, null, + checkInst(model, 57, 57, LocalDate.of(2019, 2, 27), 56, 50.00, null, 0.94198521, 47.10, 6627.59, null, 7.12, null, null, 522.43, 992.31); - checkInst(model, 58, 58, LocalDate.of(2019, 2, 28), 57, 50.00, 50.00, null, 0.94098042, 47.05, 6584.67, 7.08, 0.00, null, null, + checkInst(model, 58, 58, LocalDate.of(2019, 2, 28), 57, 50.00, null, 0.94098042, 47.05, 6584.67, null, 7.08, null, null, 515.35, 992.31); - checkInst(model, 59, 59, LocalDate.of(2019, 3, 1), 58, 50.00, 50.00, null, 0.93997669, 47.00, 6541.70, 7.03, 0.00, null, null, + checkInst(model, 59, 59, LocalDate.of(2019, 3, 1), 58, 50.00, null, 0.93997669, 47.00, 6541.70, null, 7.03, null, null, 508.32, 992.31); - checkInst(model, 60, 60, LocalDate.of(2019, 3, 2), 59, 50.00, 50.00, null, 0.93897404, 46.95, 6498.68, 6.99, 0.00, null, null, + checkInst(model, 60, 60, LocalDate.of(2019, 3, 2), 59, 50.00, null, 0.93897404, 46.95, 6498.68, null, 6.99, null, null, 501.33, 992.31); - checkInst(model, 61, 61, LocalDate.of(2019, 3, 3), 60, 50.00, 50.00, null, 0.93797246, 46.90, 6455.62, 6.94, 0.00, null, null, + checkInst(model, 61, 61, LocalDate.of(2019, 3, 3), 60, 50.00, null, 0.93797246, 46.90, 6455.62, null, 6.94, null, null, 494.39, 992.31); - checkInst(model, 62, 62, LocalDate.of(2019, 3, 4), 61, 50.00, 50.00, null, 0.93697195, 46.85, 6412.51, 6.89, 0.00, null, null, + checkInst(model, 62, 62, LocalDate.of(2019, 3, 4), 61, 50.00, null, 0.93697195, 46.85, 6412.51, null, 6.89, null, null, 487.50, 992.31); - checkInst(model, 63, 63, LocalDate.of(2019, 3, 5), 62, 50.00, 50.00, null, 0.93597251, 46.80, 6369.36, 6.85, 0.00, null, null, + checkInst(model, 63, 63, LocalDate.of(2019, 3, 5), 62, 50.00, null, 0.93597251, 46.80, 6369.36, null, 6.85, null, null, 480.65, 992.31); - checkInst(model, 64, 64, LocalDate.of(2019, 3, 6), 63, 50.00, 50.00, null, 0.93497413, 46.75, 6326.16, 6.80, 0.00, null, null, + checkInst(model, 64, 64, LocalDate.of(2019, 3, 6), 63, 50.00, null, 0.93497413, 46.75, 6326.16, null, 6.80, null, null, 473.85, 992.31); - checkInst(model, 65, 65, LocalDate.of(2019, 3, 7), 64, 50.00, 50.00, null, 0.93397681, 46.70, 6282.92, 6.76, 0.00, null, null, + checkInst(model, 65, 65, LocalDate.of(2019, 3, 7), 64, 50.00, null, 0.93397681, 46.70, 6282.92, null, 6.76, null, null, 467.09, 992.31); - checkInst(model, 66, 66, LocalDate.of(2019, 3, 8), 65, 50.00, 50.00, null, 0.93298056, 46.65, 6239.63, 6.71, 0.00, null, null, + checkInst(model, 66, 66, LocalDate.of(2019, 3, 8), 65, 50.00, null, 0.93298056, 46.65, 6239.63, null, 6.71, null, null, 460.38, 992.31); - checkInst(model, 67, 67, LocalDate.of(2019, 3, 9), 66, 50.00, 50.00, null, 0.93198538, 46.60, 6196.29, 6.66, 0.00, null, null, + checkInst(model, 67, 67, LocalDate.of(2019, 3, 9), 66, 50.00, null, 0.93198538, 46.60, 6196.29, null, 6.66, null, null, 453.72, 992.31); - checkInst(model, 68, 68, LocalDate.of(2019, 3, 10), 67, 50.00, 50.00, null, 0.93099125, 46.55, 6152.91, 6.62, 0.00, null, null, + checkInst(model, 68, 68, LocalDate.of(2019, 3, 10), 67, 50.00, null, 0.93099125, 46.55, 6152.91, null, 6.62, null, null, 447.10, 992.31); - checkInst(model, 69, 69, LocalDate.of(2019, 3, 11), 68, 50.00, 50.00, null, 0.92999818, 46.50, 6109.48, 6.57, 0.00, null, null, + checkInst(model, 69, 69, LocalDate.of(2019, 3, 11), 68, 50.00, null, 0.92999818, 46.50, 6109.48, null, 6.57, null, null, 440.53, 992.31); - checkInst(model, 70, 70, LocalDate.of(2019, 3, 12), 69, 50.00, 50.00, null, 0.92900618, 46.45, 6066.00, 6.52, 0.00, null, null, + checkInst(model, 70, 70, LocalDate.of(2019, 3, 12), 69, 50.00, null, 0.92900618, 46.45, 6066.00, null, 6.52, null, null, 434.01, 992.31); - checkInst(model, 71, 71, LocalDate.of(2019, 3, 13), 70, 50.00, 50.00, null, 0.92801523, 46.40, 6022.48, 6.48, 0.00, null, null, + checkInst(model, 71, 71, LocalDate.of(2019, 3, 13), 70, 50.00, null, 0.92801523, 46.40, 6022.48, null, 6.48, null, null, 427.53, 992.31); - checkInst(model, 72, 72, LocalDate.of(2019, 3, 14), 71, 50.00, 50.00, null, 0.92702534, 46.35, 5978.91, 6.43, 0.00, null, null, + checkInst(model, 72, 72, LocalDate.of(2019, 3, 14), 71, 50.00, null, 0.92702534, 46.35, 5978.91, null, 6.43, null, null, 421.10, 992.31); - checkInst(model, 73, 73, LocalDate.of(2019, 3, 15), 72, 50.00, 50.00, null, 0.92603650, 46.30, 5935.29, 6.38, 0.00, null, null, + checkInst(model, 73, 73, LocalDate.of(2019, 3, 15), 72, 50.00, null, 0.92603650, 46.30, 5935.29, null, 6.38, null, null, 414.72, 992.31); - checkInst(model, 74, 74, LocalDate.of(2019, 3, 16), 73, 50.00, 50.00, null, 0.92504872, 46.25, 5891.63, 6.34, 0.00, null, null, + checkInst(model, 74, 74, LocalDate.of(2019, 3, 16), 73, 50.00, null, 0.92504872, 46.25, 5891.63, null, 6.34, null, null, 408.38, 992.31); - checkInst(model, 75, 75, LocalDate.of(2019, 3, 17), 74, 50.00, 50.00, null, 0.92406200, 46.20, 5847.92, 6.29, 0.00, null, null, + checkInst(model, 75, 75, LocalDate.of(2019, 3, 17), 74, 50.00, null, 0.92406200, 46.20, 5847.92, null, 6.29, null, null, 402.09, 992.31); - checkInst(model, 76, 76, LocalDate.of(2019, 3, 18), 75, 50.00, 50.00, null, 0.92307632, 46.15, 5804.17, 6.24, 0.00, null, null, + checkInst(model, 76, 76, LocalDate.of(2019, 3, 18), 75, 50.00, null, 0.92307632, 46.15, 5804.17, null, 6.24, null, null, 395.85, 992.31); - checkInst(model, 77, 77, LocalDate.of(2019, 3, 19), 76, 50.00, 50.00, null, 0.92209170, 46.10, 5760.36, 6.20, 0.00, null, null, + checkInst(model, 77, 77, LocalDate.of(2019, 3, 19), 76, 50.00, null, 0.92209170, 46.10, 5760.36, null, 6.20, null, null, 389.65, 992.31); - checkInst(model, 78, 78, LocalDate.of(2019, 3, 20), 77, 50.00, 50.00, null, 0.92110813, 46.06, 5716.52, 6.15, 0.00, null, null, + checkInst(model, 78, 78, LocalDate.of(2019, 3, 20), 77, 50.00, null, 0.92110813, 46.06, 5716.52, null, 6.15, null, null, 383.50, 992.31); - checkInst(model, 79, 79, LocalDate.of(2019, 3, 21), 78, 50.00, 50.00, null, 0.92012560, 46.01, 5672.62, 6.10, 0.00, null, null, + checkInst(model, 79, 79, LocalDate.of(2019, 3, 21), 78, 50.00, null, 0.92012560, 46.01, 5672.62, null, 6.10, null, null, 377.40, 992.31); - checkInst(model, 80, 80, LocalDate.of(2019, 3, 22), 79, 50.00, 50.00, null, 0.91914413, 45.96, 5628.68, 6.06, 0.00, null, null, + checkInst(model, 80, 80, LocalDate.of(2019, 3, 22), 79, 50.00, null, 0.91914413, 45.96, 5628.68, null, 6.06, null, null, 371.34, 992.31); - checkInst(model, 81, 81, LocalDate.of(2019, 3, 23), 80, 50.00, 50.00, null, 0.91816370, 45.91, 5584.69, 6.01, 0.00, null, null, + checkInst(model, 81, 81, LocalDate.of(2019, 3, 23), 80, 50.00, null, 0.91816370, 45.91, 5584.69, null, 6.01, null, null, 365.33, 992.31); - checkInst(model, 82, 82, LocalDate.of(2019, 3, 24), 81, 50.00, 50.00, null, 0.91718432, 45.86, 5540.65, 5.96, 0.00, null, null, + checkInst(model, 82, 82, LocalDate.of(2019, 3, 24), 81, 50.00, null, 0.91718432, 45.86, 5540.65, null, 5.96, null, null, 359.37, 992.31); - checkInst(model, 83, 83, LocalDate.of(2019, 3, 25), 82, 50.00, 50.00, null, 0.91620598, 45.81, 5496.57, 5.92, 0.00, null, null, + checkInst(model, 83, 83, LocalDate.of(2019, 3, 25), 82, 50.00, null, 0.91620598, 45.81, 5496.57, null, 5.92, null, null, 353.45, 992.31); - checkInst(model, 84, 84, LocalDate.of(2019, 3, 26), 83, 50.00, 50.00, null, 0.91522868, 45.76, 5452.44, 5.87, 0.00, null, null, + checkInst(model, 84, 84, LocalDate.of(2019, 3, 26), 83, 50.00, null, 0.91522868, 45.76, 5452.44, null, 5.87, null, null, 347.58, 992.31); - checkInst(model, 85, 85, LocalDate.of(2019, 3, 27), 84, 50.00, 50.00, null, 0.91425243, 45.71, 5408.26, 5.82, 0.00, null, null, + checkInst(model, 85, 85, LocalDate.of(2019, 3, 27), 84, 50.00, null, 0.91425243, 45.71, 5408.26, null, 5.82, null, null, 341.76, 992.31); - checkInst(model, 86, 86, LocalDate.of(2019, 3, 28), 85, 50.00, 50.00, null, 0.91327722, 45.66, 5364.03, 5.78, 0.00, null, null, + checkInst(model, 86, 86, LocalDate.of(2019, 3, 28), 85, 50.00, null, 0.91327722, 45.66, 5364.03, null, 5.78, null, null, 335.98, 992.31); - checkInst(model, 87, 87, LocalDate.of(2019, 3, 29), 86, 50.00, 50.00, null, 0.91230305, 45.62, 5319.76, 5.73, 0.00, null, null, + checkInst(model, 87, 87, LocalDate.of(2019, 3, 29), 86, 50.00, null, 0.91230305, 45.62, 5319.76, null, 5.73, null, null, 330.25, 992.31); - checkInst(model, 88, 88, LocalDate.of(2019, 3, 30), 87, 50.00, 50.00, null, 0.91132992, 45.57, 5275.44, 5.68, 0.00, null, null, + checkInst(model, 88, 88, LocalDate.of(2019, 3, 30), 87, 50.00, null, 0.91132992, 45.57, 5275.44, null, 5.68, null, null, 324.57, 992.31); - checkInst(model, 89, 89, LocalDate.of(2019, 3, 31), 88, 50.00, 50.00, null, 0.91035783, 45.52, 5231.08, 5.63, 0.00, null, null, + checkInst(model, 89, 89, LocalDate.of(2019, 3, 31), 88, 50.00, null, 0.91035783, 45.52, 5231.08, null, 5.63, null, null, 318.94, 992.31); - checkInst(model, 90, 90, LocalDate.of(2019, 4, 1), 89, 50.00, 50.00, null, 0.90938677, 45.47, 5186.66, 5.59, 0.00, null, null, + checkInst(model, 90, 90, LocalDate.of(2019, 4, 1), 89, 50.00, null, 0.90938677, 45.47, 5186.66, null, 5.59, null, null, 313.35, 992.31); - checkInst(model, 91, 91, LocalDate.of(2019, 4, 2), 90, 50.00, 50.00, null, 0.90841675, 45.42, 5142.20, 5.54, 0.00, null, null, + checkInst(model, 91, 91, LocalDate.of(2019, 4, 2), 90, 50.00, null, 0.90841675, 45.42, 5142.20, null, 5.54, null, null, 307.81, 992.31); - checkInst(model, 92, 92, LocalDate.of(2019, 4, 3), 91, 50.00, 50.00, null, 0.90744776, 45.37, 5097.69, 5.49, 0.00, null, null, + checkInst(model, 92, 92, LocalDate.of(2019, 4, 3), 91, 50.00, null, 0.90744776, 45.37, 5097.69, null, 5.49, null, null, 302.32, 992.31); - checkInst(model, 93, 93, LocalDate.of(2019, 4, 4), 92, 50.00, 50.00, null, 0.90647981, 45.32, 5053.13, 5.44, 0.00, null, null, + checkInst(model, 93, 93, LocalDate.of(2019, 4, 4), 92, 50.00, null, 0.90647981, 45.32, 5053.13, null, 5.44, null, null, 296.88, 992.31); - checkInst(model, 94, 94, LocalDate.of(2019, 4, 5), 93, 50.00, 50.00, null, 0.90551289, 45.28, 5008.53, 5.40, 0.00, null, null, + checkInst(model, 94, 94, LocalDate.of(2019, 4, 5), 93, 50.00, null, 0.90551289, 45.28, 5008.53, null, 5.40, null, null, 291.48, 992.31); - checkInst(model, 95, 95, LocalDate.of(2019, 4, 6), 94, 50.00, 50.00, null, 0.90454700, 45.23, 4963.88, 5.35, 0.00, null, null, + checkInst(model, 95, 95, LocalDate.of(2019, 4, 6), 94, 50.00, null, 0.90454700, 45.23, 4963.88, null, 5.35, null, null, 286.13, 992.31); - checkInst(model, 96, 96, LocalDate.of(2019, 4, 7), 95, 50.00, 50.00, null, 0.90358215, 45.18, 4919.18, 5.30, 0.00, null, null, + checkInst(model, 96, 96, LocalDate.of(2019, 4, 7), 95, 50.00, null, 0.90358215, 45.18, 4919.18, null, 5.30, null, null, 280.83, 992.31); - checkInst(model, 97, 97, LocalDate.of(2019, 4, 8), 96, 50.00, 50.00, null, 0.90261832, 45.13, 4874.43, 5.25, 0.00, null, null, + checkInst(model, 97, 97, LocalDate.of(2019, 4, 8), 96, 50.00, null, 0.90261832, 45.13, 4874.43, null, 5.25, null, null, 275.58, 992.31); - checkInst(model, 98, 98, LocalDate.of(2019, 4, 9), 97, 50.00, 50.00, null, 0.90165552, 45.08, 4829.64, 5.20, 0.00, null, null, + checkInst(model, 98, 98, LocalDate.of(2019, 4, 9), 97, 50.00, null, 0.90165552, 45.08, 4829.64, null, 5.20, null, null, 270.38, 992.31); - checkInst(model, 99, 99, LocalDate.of(2019, 4, 10), 98, 50.00, 50.00, null, 0.90069374, 45.03, 4784.79, 5.16, 0.00, null, null, + checkInst(model, 99, 99, LocalDate.of(2019, 4, 10), 98, 50.00, null, 0.90069374, 45.03, 4784.79, null, 5.16, null, null, 265.22, 992.31); - checkInst(model, 100, 100, LocalDate.of(2019, 4, 11), 99, 50.00, 50.00, null, 0.89973299, 44.99, 4739.90, 5.11, 0.00, null, null, + checkInst(model, 100, 100, LocalDate.of(2019, 4, 11), 99, 50.00, null, 0.89973299, 44.99, 4739.90, null, 5.11, null, null, 260.11, 992.31); - checkInst(model, 101, 101, LocalDate.of(2019, 4, 12), 100, 50.00, 50.00, null, 0.89877327, 44.94, 4694.96, 5.06, 0.00, null, null, + checkInst(model, 101, 101, LocalDate.of(2019, 4, 12), 100, 50.00, null, 0.89877327, 44.94, 4694.96, null, 5.06, null, null, 255.05, 992.31); - checkInst(model, 102, 102, LocalDate.of(2019, 4, 13), 101, 50.00, 50.00, null, 0.89781457, 44.89, 4649.98, 5.01, 0.00, null, null, + checkInst(model, 102, 102, LocalDate.of(2019, 4, 13), 101, 50.00, null, 0.89781457, 44.89, 4649.98, null, 5.01, null, null, 250.04, 992.31); - checkInst(model, 103, 103, LocalDate.of(2019, 4, 14), 102, 50.00, 50.00, null, 0.89685689, 44.84, 4604.94, 4.97, 0.00, null, null, + checkInst(model, 103, 103, LocalDate.of(2019, 4, 14), 102, 50.00, null, 0.89685689, 44.84, 4604.94, null, 4.97, null, null, 245.07, 992.31); - checkInst(model, 104, 104, LocalDate.of(2019, 4, 15), 103, 50.00, 50.00, null, 0.89590024, 44.80, 4559.86, 4.92, 0.00, null, null, + checkInst(model, 104, 104, LocalDate.of(2019, 4, 15), 103, 50.00, null, 0.89590024, 44.80, 4559.86, null, 4.92, null, null, 240.15, 992.31); - checkInst(model, 105, 105, LocalDate.of(2019, 4, 16), 104, 50.00, 50.00, null, 0.89494460, 44.75, 4514.73, 4.87, 0.00, null, null, + checkInst(model, 105, 105, LocalDate.of(2019, 4, 16), 104, 50.00, null, 0.89494460, 44.75, 4514.73, null, 4.87, null, null, 235.28, 992.31); - checkInst(model, 106, 106, LocalDate.of(2019, 4, 17), 105, 50.00, 50.00, null, 0.89398999, 44.70, 4469.55, 4.82, 0.00, null, null, + checkInst(model, 106, 106, LocalDate.of(2019, 4, 17), 105, 50.00, null, 0.89398999, 44.70, 4469.55, null, 4.82, null, null, 230.46, 992.31); - checkInst(model, 107, 107, LocalDate.of(2019, 4, 18), 106, 50.00, 50.00, null, 0.89303639, 44.65, 4424.32, 4.77, 0.00, null, null, + checkInst(model, 107, 107, LocalDate.of(2019, 4, 18), 106, 50.00, null, 0.89303639, 44.65, 4424.32, null, 4.77, null, null, 225.69, 992.31); - checkInst(model, 108, 108, LocalDate.of(2019, 4, 19), 107, 50.00, 50.00, null, 0.89208381, 44.60, 4379.05, 4.72, 0.00, null, null, + checkInst(model, 108, 108, LocalDate.of(2019, 4, 19), 107, 50.00, null, 0.89208381, 44.60, 4379.05, null, 4.72, null, null, 220.97, 992.31); - checkInst(model, 109, 109, LocalDate.of(2019, 4, 20), 108, 50.00, 50.00, null, 0.89113225, 44.56, 4333.72, 4.68, 0.00, null, null, + checkInst(model, 109, 109, LocalDate.of(2019, 4, 20), 108, 50.00, null, 0.89113225, 44.56, 4333.72, null, 4.68, null, null, 216.29, 992.31); - checkInst(model, 110, 110, LocalDate.of(2019, 4, 21), 109, 50.00, 50.00, null, 0.89018170, 44.51, 4288.35, 4.63, 0.00, null, null, + checkInst(model, 110, 110, LocalDate.of(2019, 4, 21), 109, 50.00, null, 0.89018170, 44.51, 4288.35, null, 4.63, null, null, 211.66, 992.31); - checkInst(model, 111, 111, LocalDate.of(2019, 4, 22), 110, 50.00, 50.00, null, 0.88923216, 44.46, 4242.93, 4.58, 0.00, null, null, + checkInst(model, 111, 111, LocalDate.of(2019, 4, 22), 110, 50.00, null, 0.88923216, 44.46, 4242.93, null, 4.58, null, null, 207.08, 992.31); - checkInst(model, 112, 112, LocalDate.of(2019, 4, 23), 111, 50.00, 50.00, null, 0.88828364, 44.41, 4197.46, 4.53, 0.00, null, null, + checkInst(model, 112, 112, LocalDate.of(2019, 4, 23), 111, 50.00, null, 0.88828364, 44.41, 4197.46, null, 4.53, null, null, 202.55, 992.31); - checkInst(model, 113, 113, LocalDate.of(2019, 4, 24), 112, 50.00, 50.00, null, 0.88733613, 44.37, 4151.94, 4.48, 0.00, null, null, + checkInst(model, 113, 113, LocalDate.of(2019, 4, 24), 112, 50.00, null, 0.88733613, 44.37, 4151.94, null, 4.48, null, null, 198.07, 992.31); - checkInst(model, 114, 114, LocalDate.of(2019, 4, 25), 113, 50.00, 50.00, null, 0.88638963, 44.32, 4106.38, 4.43, 0.00, null, null, + checkInst(model, 114, 114, LocalDate.of(2019, 4, 25), 113, 50.00, null, 0.88638963, 44.32, 4106.38, null, 4.43, null, null, 193.64, 992.31); - checkInst(model, 115, 115, LocalDate.of(2019, 4, 26), 114, 50.00, 50.00, null, 0.88544414, 44.27, 4060.76, 4.38, 0.00, null, null, + checkInst(model, 115, 115, LocalDate.of(2019, 4, 26), 114, 50.00, null, 0.88544414, 44.27, 4060.76, null, 4.38, null, null, 189.26, 992.31); - checkInst(model, 116, 116, LocalDate.of(2019, 4, 27), 115, 50.00, 50.00, null, 0.88449966, 44.22, 4015.10, 4.34, 0.00, null, null, + checkInst(model, 116, 116, LocalDate.of(2019, 4, 27), 115, 50.00, null, 0.88449966, 44.22, 4015.10, null, 4.34, null, null, 184.92, 992.31); - checkInst(model, 117, 117, LocalDate.of(2019, 4, 28), 116, 50.00, 50.00, null, 0.88355619, 44.18, 3969.38, 4.29, 0.00, null, null, + checkInst(model, 117, 117, LocalDate.of(2019, 4, 28), 116, 50.00, null, 0.88355619, 44.18, 3969.38, null, 4.29, null, null, 180.63, 992.31); - checkInst(model, 118, 118, LocalDate.of(2019, 4, 29), 117, 50.00, 50.00, null, 0.88261372, 44.13, 3923.62, 4.24, 0.00, null, null, + checkInst(model, 118, 118, LocalDate.of(2019, 4, 29), 117, 50.00, null, 0.88261372, 44.13, 3923.62, null, 4.24, null, null, 176.39, 992.31); - checkInst(model, 119, 119, LocalDate.of(2019, 4, 30), 118, 50.00, 50.00, null, 0.88167226, 44.08, 3877.81, 4.19, 0.00, null, null, + checkInst(model, 119, 119, LocalDate.of(2019, 4, 30), 118, 50.00, null, 0.88167226, 44.08, 3877.81, null, 4.19, null, null, 172.20, 992.31); - checkInst(model, 120, 120, LocalDate.of(2019, 5, 1), 119, 50.00, 50.00, null, 0.88073180, 44.04, 3831.95, 4.14, 0.00, null, null, + checkInst(model, 120, 120, LocalDate.of(2019, 5, 1), 119, 50.00, null, 0.88073180, 44.04, 3831.95, null, 4.14, null, null, 168.06, 992.31); - checkInst(model, 121, 121, LocalDate.of(2019, 5, 2), 120, 50.00, 50.00, null, 0.87979234, 43.99, 3786.04, 4.09, 0.00, null, null, + checkInst(model, 121, 121, LocalDate.of(2019, 5, 2), 120, 50.00, null, 0.87979234, 43.99, 3786.04, null, 4.09, null, null, 163.97, 992.31); - checkInst(model, 122, 122, LocalDate.of(2019, 5, 3), 121, 50.00, 50.00, null, 0.87885389, 43.94, 3740.09, 4.04, 0.00, null, null, + checkInst(model, 122, 122, LocalDate.of(2019, 5, 3), 121, 50.00, null, 0.87885389, 43.94, 3740.09, null, 4.04, null, null, 159.93, 992.31); - checkInst(model, 123, 123, LocalDate.of(2019, 5, 4), 122, 50.00, 50.00, null, 0.87791644, 43.90, 3694.08, 3.99, 0.00, null, null, + checkInst(model, 123, 123, LocalDate.of(2019, 5, 4), 122, 50.00, null, 0.87791644, 43.90, 3694.08, null, 3.99, null, null, 155.94, 992.31); - checkInst(model, 124, 124, LocalDate.of(2019, 5, 5), 123, 50.00, 50.00, null, 0.87697999, 43.85, 3648.03, 3.94, 0.00, null, null, + checkInst(model, 124, 124, LocalDate.of(2019, 5, 5), 123, 50.00, null, 0.87697999, 43.85, 3648.03, null, 3.94, null, null, 152.00, 992.31); - checkInst(model, 125, 125, LocalDate.of(2019, 5, 6), 124, 50.00, 50.00, null, 0.87604453, 43.80, 3601.92, 3.90, 0.00, null, null, + checkInst(model, 125, 125, LocalDate.of(2019, 5, 6), 124, 50.00, null, 0.87604453, 43.80, 3601.92, null, 3.90, null, null, 148.10, 992.31); - checkInst(model, 126, 126, LocalDate.of(2019, 5, 7), 125, 50.00, 50.00, null, 0.87511008, 43.76, 3555.77, 3.85, 0.00, null, null, + checkInst(model, 126, 126, LocalDate.of(2019, 5, 7), 125, 50.00, null, 0.87511008, 43.76, 3555.77, null, 3.85, null, null, 144.25, 992.31); - checkInst(model, 127, 127, LocalDate.of(2019, 5, 8), 126, 50.00, 50.00, null, 0.87417662, 43.71, 3509.56, 3.80, 0.00, null, null, + checkInst(model, 127, 127, LocalDate.of(2019, 5, 8), 126, 50.00, null, 0.87417662, 43.71, 3509.56, null, 3.80, null, null, 140.45, 992.31); - checkInst(model, 128, 128, LocalDate.of(2019, 5, 9), 127, 50.00, 50.00, null, 0.87324416, 43.66, 3463.31, 3.75, 0.00, null, null, + checkInst(model, 128, 128, LocalDate.of(2019, 5, 9), 127, 50.00, null, 0.87324416, 43.66, 3463.31, null, 3.75, null, null, 136.70, 992.31); - checkInst(model, 129, 129, LocalDate.of(2019, 5, 10), 128, 50.00, 50.00, null, 0.87231269, 43.62, 3417.01, 3.70, 0.00, null, null, + checkInst(model, 129, 129, LocalDate.of(2019, 5, 10), 128, 50.00, null, 0.87231269, 43.62, 3417.01, null, 3.70, null, null, 133.00, 992.31); - checkInst(model, 130, 130, LocalDate.of(2019, 5, 11), 129, 50.00, 50.00, null, 0.87138221, 43.57, 3370.66, 3.65, 0.00, null, null, + checkInst(model, 130, 130, LocalDate.of(2019, 5, 11), 129, 50.00, null, 0.87138221, 43.57, 3370.66, null, 3.65, null, null, 129.35, 992.31); - checkInst(model, 131, 131, LocalDate.of(2019, 5, 12), 130, 50.00, 50.00, null, 0.87045273, 43.52, 3324.26, 3.60, 0.00, null, null, + checkInst(model, 131, 131, LocalDate.of(2019, 5, 12), 130, 50.00, null, 0.87045273, 43.52, 3324.26, null, 3.60, null, null, 125.75, 992.31); - checkInst(model, 132, 132, LocalDate.of(2019, 5, 13), 131, 50.00, 50.00, null, 0.86952424, 43.48, 3277.81, 3.55, 0.00, null, null, + checkInst(model, 132, 132, LocalDate.of(2019, 5, 13), 131, 50.00, null, 0.86952424, 43.48, 3277.81, null, 3.55, null, null, 122.20, 992.31); - checkInst(model, 133, 133, LocalDate.of(2019, 5, 14), 132, 50.00, 50.00, null, 0.86859674, 43.43, 3231.31, 3.50, 0.00, null, null, + checkInst(model, 133, 133, LocalDate.of(2019, 5, 14), 132, 50.00, null, 0.86859674, 43.43, 3231.31, null, 3.50, null, null, 118.70, 992.31); - checkInst(model, 134, 134, LocalDate.of(2019, 5, 15), 133, 50.00, 50.00, null, 0.86767023, 43.38, 3184.76, 3.45, 0.00, null, null, + checkInst(model, 134, 134, LocalDate.of(2019, 5, 15), 133, 50.00, null, 0.86767023, 43.38, 3184.76, null, 3.45, null, null, 115.25, 992.31); - checkInst(model, 135, 135, LocalDate.of(2019, 5, 16), 134, 50.00, 50.00, null, 0.86674471, 43.34, 3138.16, 3.40, 0.00, null, null, + checkInst(model, 135, 135, LocalDate.of(2019, 5, 16), 134, 50.00, null, 0.86674471, 43.34, 3138.16, null, 3.40, null, null, 111.85, 992.31); - checkInst(model, 136, 136, LocalDate.of(2019, 5, 17), 135, 50.00, 50.00, null, 0.86582017, 43.29, 3091.51, 3.35, 0.00, null, null, + checkInst(model, 136, 136, LocalDate.of(2019, 5, 17), 135, 50.00, null, 0.86582017, 43.29, 3091.51, null, 3.35, null, null, 108.50, 992.31); - checkInst(model, 137, 137, LocalDate.of(2019, 5, 18), 136, 50.00, 50.00, null, 0.86489662, 43.24, 3044.81, 3.30, 0.00, null, null, + checkInst(model, 137, 137, LocalDate.of(2019, 5, 18), 136, 50.00, null, 0.86489662, 43.24, 3044.81, null, 3.30, null, null, 105.20, 992.31); - checkInst(model, 138, 138, LocalDate.of(2019, 5, 19), 137, 50.00, 50.00, null, 0.86397406, 43.20, 2998.06, 3.25, 0.00, null, null, + checkInst(model, 138, 138, LocalDate.of(2019, 5, 19), 137, 50.00, null, 0.86397406, 43.20, 2998.06, null, 3.25, null, null, 101.95, 992.31); - checkInst(model, 139, 139, LocalDate.of(2019, 5, 20), 138, 50.00, 50.00, null, 0.86305248, 43.15, 2951.26, 3.20, 0.00, null, null, + checkInst(model, 139, 139, LocalDate.of(2019, 5, 20), 138, 50.00, null, 0.86305248, 43.15, 2951.26, null, 3.20, null, null, 98.75, 992.31); - checkInst(model, 140, 140, LocalDate.of(2019, 5, 21), 139, 50.00, 50.00, null, 0.86213188, 43.11, 2904.42, 3.15, 0.00, null, null, + checkInst(model, 140, 140, LocalDate.of(2019, 5, 21), 139, 50.00, null, 0.86213188, 43.11, 2904.42, null, 3.15, null, null, 95.60, 992.31); - checkInst(model, 141, 141, LocalDate.of(2019, 5, 22), 140, 50.00, 50.00, null, 0.86121227, 43.06, 2857.52, 3.10, 0.00, null, null, + checkInst(model, 141, 141, LocalDate.of(2019, 5, 22), 140, 50.00, null, 0.86121227, 43.06, 2857.52, null, 3.10, null, null, 92.50, 992.31); - checkInst(model, 142, 142, LocalDate.of(2019, 5, 23), 141, 50.00, 50.00, null, 0.86029363, 43.01, 2810.57, 3.05, 0.00, null, null, + checkInst(model, 142, 142, LocalDate.of(2019, 5, 23), 141, 50.00, null, 0.86029363, 43.01, 2810.57, null, 3.05, null, null, 89.45, 992.31); - checkInst(model, 143, 143, LocalDate.of(2019, 5, 24), 142, 50.00, 50.00, null, 0.85937598, 42.97, 2763.57, 3.00, 0.00, null, null, + checkInst(model, 143, 143, LocalDate.of(2019, 5, 24), 142, 50.00, null, 0.85937598, 42.97, 2763.57, null, 3.00, null, null, 86.45, 992.31); - checkInst(model, 144, 144, LocalDate.of(2019, 5, 25), 143, 50.00, 50.00, null, 0.85845930, 42.92, 2716.52, 2.95, 0.00, null, null, + checkInst(model, 144, 144, LocalDate.of(2019, 5, 25), 143, 50.00, null, 0.85845930, 42.92, 2716.52, null, 2.95, null, null, 83.50, 992.31); - checkInst(model, 145, 145, LocalDate.of(2019, 5, 26), 144, 50.00, 50.00, null, 0.85754361, 42.88, 2669.42, 2.90, 0.00, null, null, + checkInst(model, 145, 145, LocalDate.of(2019, 5, 26), 144, 50.00, null, 0.85754361, 42.88, 2669.42, null, 2.90, null, null, 80.60, 992.31); - checkInst(model, 146, 146, LocalDate.of(2019, 5, 27), 145, 50.00, 50.00, null, 0.85662889, 42.83, 2622.27, 2.85, 0.00, null, null, + checkInst(model, 146, 146, LocalDate.of(2019, 5, 27), 145, 50.00, null, 0.85662889, 42.83, 2622.27, null, 2.85, null, null, 77.75, 992.31); - checkInst(model, 147, 147, LocalDate.of(2019, 5, 28), 146, 50.00, 50.00, null, 0.85571514, 42.79, 2575.07, 2.80, 0.00, null, null, + checkInst(model, 147, 147, LocalDate.of(2019, 5, 28), 146, 50.00, null, 0.85571514, 42.79, 2575.07, null, 2.80, null, null, 74.95, 992.31); - checkInst(model, 148, 148, LocalDate.of(2019, 5, 29), 147, 50.00, 50.00, null, 0.85480237, 42.74, 2527.82, 2.75, 0.00, null, null, + checkInst(model, 148, 148, LocalDate.of(2019, 5, 29), 147, 50.00, null, 0.85480237, 42.74, 2527.82, null, 2.75, null, null, 72.20, 992.31); - checkInst(model, 149, 149, LocalDate.of(2019, 5, 30), 148, 50.00, 50.00, null, 0.85389057, 42.69, 2480.52, 2.70, 0.00, null, null, + checkInst(model, 149, 149, LocalDate.of(2019, 5, 30), 148, 50.00, null, 0.85389057, 42.69, 2480.52, null, 2.70, null, null, 69.50, 992.31); - checkInst(model, 150, 150, LocalDate.of(2019, 5, 31), 149, 50.00, 50.00, null, 0.85297975, 42.65, 2433.17, 2.65, 0.00, null, null, + checkInst(model, 150, 150, LocalDate.of(2019, 5, 31), 149, 50.00, null, 0.85297975, 42.65, 2433.17, null, 2.65, null, null, 66.85, 992.31); - checkInst(model, 151, 151, LocalDate.of(2019, 6, 1), 150, 50.00, 50.00, null, 0.85206990, 42.60, 2385.77, 2.60, 0.00, null, null, + checkInst(model, 151, 151, LocalDate.of(2019, 6, 1), 150, 50.00, null, 0.85206990, 42.60, 2385.77, null, 2.60, null, null, 64.25, 992.31); - checkInst(model, 152, 152, LocalDate.of(2019, 6, 2), 151, 50.00, 50.00, null, 0.85116101, 42.56, 2338.31, 2.55, 0.00, null, null, + checkInst(model, 152, 152, LocalDate.of(2019, 6, 2), 151, 50.00, null, 0.85116101, 42.56, 2338.31, null, 2.55, null, null, 61.70, 992.31); - checkInst(model, 153, 153, LocalDate.of(2019, 6, 3), 152, 50.00, 50.00, null, 0.85025310, 42.51, 2290.81, 2.50, 0.00, null, null, + checkInst(model, 153, 153, LocalDate.of(2019, 6, 3), 152, 50.00, null, 0.85025310, 42.51, 2290.81, null, 2.50, null, null, 59.20, 992.31); - checkInst(model, 154, 154, LocalDate.of(2019, 6, 4), 153, 50.00, 50.00, null, 0.84934616, 42.47, 2243.26, 2.45, 0.00, null, null, + checkInst(model, 154, 154, LocalDate.of(2019, 6, 4), 153, 50.00, null, 0.84934616, 42.47, 2243.26, null, 2.45, null, null, 56.75, 992.31); - checkInst(model, 155, 155, LocalDate.of(2019, 6, 5), 154, 50.00, 50.00, null, 0.84844018, 42.42, 2195.65, 2.40, 0.00, null, null, + checkInst(model, 155, 155, LocalDate.of(2019, 6, 5), 154, 50.00, null, 0.84844018, 42.42, 2195.65, null, 2.40, null, null, 54.35, 992.31); - checkInst(model, 156, 156, LocalDate.of(2019, 6, 6), 155, 50.00, 50.00, null, 0.84753517, 42.38, 2148.00, 2.34, 0.00, null, null, + checkInst(model, 156, 156, LocalDate.of(2019, 6, 6), 155, 50.00, null, 0.84753517, 42.38, 2148.00, null, 2.34, null, null, 52.01, 992.31); - checkInst(model, 157, 157, LocalDate.of(2019, 6, 7), 156, 50.00, 50.00, null, 0.84663113, 42.33, 2100.29, 2.29, 0.00, null, null, + checkInst(model, 157, 157, LocalDate.of(2019, 6, 7), 156, 50.00, null, 0.84663113, 42.33, 2100.29, null, 2.29, null, null, 49.72, 992.31); - checkInst(model, 158, 158, LocalDate.of(2019, 6, 8), 157, 50.00, 50.00, null, 0.84572805, 42.29, 2052.53, 2.24, 0.00, null, null, + checkInst(model, 158, 158, LocalDate.of(2019, 6, 8), 157, 50.00, null, 0.84572805, 42.29, 2052.53, null, 2.24, null, null, 47.48, 992.31); - checkInst(model, 159, 159, LocalDate.of(2019, 6, 9), 158, 50.00, 50.00, null, 0.84482593, 42.24, 2004.73, 2.19, 0.00, null, null, + checkInst(model, 159, 159, LocalDate.of(2019, 6, 9), 158, 50.00, null, 0.84482593, 42.24, 2004.73, null, 2.19, null, null, 45.29, 992.31); - checkInst(model, 160, 160, LocalDate.of(2019, 6, 10), 159, 50.00, 50.00, null, 0.84392477, 42.20, 1956.87, 2.14, 0.00, null, null, + checkInst(model, 160, 160, LocalDate.of(2019, 6, 10), 159, 50.00, null, 0.84392477, 42.20, 1956.87, null, 2.14, null, null, 43.15, 992.31); - checkInst(model, 161, 161, LocalDate.of(2019, 6, 11), 160, 50.00, 50.00, null, 0.84302458, 42.15, 1908.96, 2.09, 0.00, null, null, + checkInst(model, 161, 161, LocalDate.of(2019, 6, 11), 160, 50.00, null, 0.84302458, 42.15, 1908.96, null, 2.09, null, null, 41.06, 992.31); - checkInst(model, 162, 162, LocalDate.of(2019, 6, 12), 161, 50.00, 50.00, null, 0.84212535, 42.11, 1860.99, 2.04, 0.00, null, null, + checkInst(model, 162, 162, LocalDate.of(2019, 6, 12), 161, 50.00, null, 0.84212535, 42.11, 1860.99, null, 2.04, null, null, 39.02, 992.31); - checkInst(model, 163, 163, LocalDate.of(2019, 6, 13), 162, 50.00, 50.00, null, 0.84122707, 42.06, 1812.98, 1.99, 0.00, null, null, + checkInst(model, 163, 163, LocalDate.of(2019, 6, 13), 162, 50.00, null, 0.84122707, 42.06, 1812.98, null, 1.99, null, null, 37.03, 992.31); - checkInst(model, 164, 164, LocalDate.of(2019, 6, 14), 163, 50.00, 50.00, null, 0.84032975, 42.02, 1764.92, 1.94, 0.00, null, null, + checkInst(model, 164, 164, LocalDate.of(2019, 6, 14), 163, 50.00, null, 0.84032975, 42.02, 1764.92, null, 1.94, null, null, 35.09, 992.31); - checkInst(model, 165, 165, LocalDate.of(2019, 6, 15), 164, 50.00, 50.00, null, 0.83943340, 41.97, 1716.80, 1.88, 0.00, null, null, + checkInst(model, 165, 165, LocalDate.of(2019, 6, 15), 164, 50.00, null, 0.83943340, 41.97, 1716.80, null, 1.88, null, null, 33.21, 992.31); - checkInst(model, 166, 166, LocalDate.of(2019, 6, 16), 165, 50.00, 50.00, null, 0.83853799, 41.93, 1668.64, 1.83, 0.00, null, null, + checkInst(model, 166, 166, LocalDate.of(2019, 6, 16), 165, 50.00, null, 0.83853799, 41.93, 1668.64, null, 1.83, null, null, 31.38, 992.31); - checkInst(model, 167, 167, LocalDate.of(2019, 6, 17), 166, 50.00, 50.00, null, 0.83764354, 41.88, 1620.42, 1.78, 0.00, null, null, + checkInst(model, 167, 167, LocalDate.of(2019, 6, 17), 166, 50.00, null, 0.83764354, 41.88, 1620.42, null, 1.78, null, null, 29.60, 992.31); - checkInst(model, 168, 168, LocalDate.of(2019, 6, 18), 167, 50.00, 50.00, null, 0.83675005, 41.84, 1572.15, 1.73, 0.00, null, null, + checkInst(model, 168, 168, LocalDate.of(2019, 6, 18), 167, 50.00, null, 0.83675005, 41.84, 1572.15, null, 1.73, null, null, 27.87, 992.31); - checkInst(model, 169, 169, LocalDate.of(2019, 6, 19), 168, 50.00, 50.00, null, 0.83585751, 41.79, 1523.83, 1.68, 0.00, null, null, + checkInst(model, 169, 169, LocalDate.of(2019, 6, 19), 168, 50.00, null, 0.83585751, 41.79, 1523.83, null, 1.68, null, null, 26.19, 992.31); - checkInst(model, 170, 170, LocalDate.of(2019, 6, 20), 169, 50.00, 50.00, null, 0.83496592, 41.75, 1475.45, 1.63, 0.00, null, null, + checkInst(model, 170, 170, LocalDate.of(2019, 6, 20), 169, 50.00, null, 0.83496592, 41.75, 1475.45, null, 1.63, null, null, 24.56, 992.31); - checkInst(model, 171, 171, LocalDate.of(2019, 6, 21), 170, 50.00, 50.00, null, 0.83407528, 41.70, 1427.03, 1.58, 0.00, null, null, + checkInst(model, 171, 171, LocalDate.of(2019, 6, 21), 170, 50.00, null, 0.83407528, 41.70, 1427.03, null, 1.58, null, null, 22.98, 992.31); - checkInst(model, 172, 172, LocalDate.of(2019, 6, 22), 171, 50.00, 50.00, null, 0.83318560, 41.66, 1378.55, 1.52, 0.00, null, null, + checkInst(model, 172, 172, LocalDate.of(2019, 6, 22), 171, 50.00, null, 0.83318560, 41.66, 1378.55, null, 1.52, null, null, 21.46, 992.31); - checkInst(model, 173, 173, LocalDate.of(2019, 6, 23), 172, 50.00, 50.00, null, 0.83229686, 41.61, 1330.02, 1.47, 0.00, null, null, + checkInst(model, 173, 173, LocalDate.of(2019, 6, 23), 172, 50.00, null, 0.83229686, 41.61, 1330.02, null, 1.47, null, null, 19.99, 992.31); - checkInst(model, 174, 174, LocalDate.of(2019, 6, 24), 173, 50.00, 50.00, null, 0.83140907, 41.57, 1281.45, 1.42, 0.00, null, null, + checkInst(model, 174, 174, LocalDate.of(2019, 6, 24), 173, 50.00, null, 0.83140907, 41.57, 1281.45, null, 1.42, null, null, 18.57, 992.31); - checkInst(model, 175, 175, LocalDate.of(2019, 6, 25), 174, 50.00, 50.00, null, 0.83052222, 41.53, 1232.81, 1.37, 0.00, null, null, + checkInst(model, 175, 175, LocalDate.of(2019, 6, 25), 174, 50.00, null, 0.83052222, 41.53, 1232.81, null, 1.37, null, null, 17.20, 992.31); - checkInst(model, 176, 176, LocalDate.of(2019, 6, 26), 175, 50.00, 50.00, null, 0.82963633, 41.48, 1184.13, 1.32, 0.00, null, null, + checkInst(model, 176, 176, LocalDate.of(2019, 6, 26), 175, 50.00, null, 0.82963633, 41.48, 1184.13, null, 1.32, null, null, 15.88, 992.31); - checkInst(model, 177, 177, LocalDate.of(2019, 6, 27), 176, 50.00, 50.00, null, 0.82875137, 41.44, 1135.39, 1.26, 0.00, null, null, + checkInst(model, 177, 177, LocalDate.of(2019, 6, 27), 176, 50.00, null, 0.82875137, 41.44, 1135.39, null, 1.26, null, null, 14.62, 992.31); - checkInst(model, 178, 178, LocalDate.of(2019, 6, 28), 177, 50.00, 50.00, null, 0.82786736, 41.39, 1086.61, 1.21, 0.00, null, null, + checkInst(model, 178, 178, LocalDate.of(2019, 6, 28), 177, 50.00, null, 0.82786736, 41.39, 1086.61, null, 1.21, null, null, 13.41, 992.31); - checkInst(model, 179, 179, LocalDate.of(2019, 6, 29), 178, 50.00, 50.00, null, 0.82698430, 41.35, 1037.77, 1.16, 0.00, null, null, + checkInst(model, 179, 179, LocalDate.of(2019, 6, 29), 178, 50.00, null, 0.82698430, 41.35, 1037.77, null, 1.16, null, null, 12.25, 992.31); - checkInst(model, 180, 180, LocalDate.of(2019, 6, 30), 179, 50.00, 50.00, null, 0.82610217, 41.31, 988.88, 1.11, 0.00, null, null, + checkInst(model, 180, 180, LocalDate.of(2019, 6, 30), 179, 50.00, null, 0.82610217, 41.31, 988.88, null, 1.11, null, null, 11.14, 992.31); - checkInst(model, 181, 181, LocalDate.of(2019, 7, 1), 180, 50.00, 50.00, null, 0.82522099, 41.26, 939.93, 1.06, 0.00, null, null, + checkInst(model, 181, 181, LocalDate.of(2019, 7, 1), 180, 50.00, null, 0.82522099, 41.26, 939.93, null, 1.06, null, null, 10.08, 992.31); - checkInst(model, 182, 182, LocalDate.of(2019, 7, 2), 181, 50.00, 50.00, null, 0.82434075, 41.22, 890.93, 1.00, 0.00, null, null, + checkInst(model, 182, 182, LocalDate.of(2019, 7, 2), 181, 50.00, null, 0.82434075, 41.22, 890.93, null, 1.00, null, null, 9.08, 992.31); - checkInst(model, 183, 183, LocalDate.of(2019, 7, 3), 182, 50.00, 50.00, null, 0.82346144, 41.17, 841.89, 0.95, 0.00, null, null, + checkInst(model, 183, 183, LocalDate.of(2019, 7, 3), 182, 50.00, null, 0.82346144, 41.17, 841.89, null, 0.95, null, null, 8.13, 992.31); - checkInst(model, 184, 184, LocalDate.of(2019, 7, 4), 183, 50.00, 50.00, null, 0.82258308, 41.13, 792.79, 0.90, 0.00, null, null, + checkInst(model, 184, 184, LocalDate.of(2019, 7, 4), 183, 50.00, null, 0.82258308, 41.13, 792.79, null, 0.90, null, null, 7.23, 992.31); - checkInst(model, 185, 185, LocalDate.of(2019, 7, 5), 184, 50.00, 50.00, null, 0.82170565, 41.09, 743.63, 0.85, 0.00, null, null, + checkInst(model, 185, 185, LocalDate.of(2019, 7, 5), 184, 50.00, null, 0.82170565, 41.09, 743.63, null, 0.85, null, null, 6.38, 992.31); - checkInst(model, 186, 186, LocalDate.of(2019, 7, 6), 185, 50.00, 50.00, null, 0.82082916, 41.04, 694.43, 0.79, 0.00, null, null, + checkInst(model, 186, 186, LocalDate.of(2019, 7, 6), 185, 50.00, null, 0.82082916, 41.04, 694.43, null, 0.79, null, null, 5.59, 992.31); - checkInst(model, 187, 187, LocalDate.of(2019, 7, 7), 186, 50.00, 50.00, null, 0.81995360, 41.00, 645.17, 0.74, 0.00, null, null, + checkInst(model, 187, 187, LocalDate.of(2019, 7, 7), 186, 50.00, null, 0.81995360, 41.00, 645.17, null, 0.74, null, null, 4.85, 992.31); - checkInst(model, 188, 188, LocalDate.of(2019, 7, 8), 187, 50.00, 50.00, null, 0.81907897, 40.95, 595.86, 0.69, 0.00, null, null, + checkInst(model, 188, 188, LocalDate.of(2019, 7, 8), 187, 50.00, null, 0.81907897, 40.95, 595.86, null, 0.69, null, null, 4.16, 992.31); - checkInst(model, 189, 189, LocalDate.of(2019, 7, 9), 188, 50.00, 50.00, null, 0.81820528, 40.91, 546.49, 0.64, 0.00, null, null, + checkInst(model, 189, 189, LocalDate.of(2019, 7, 9), 188, 50.00, null, 0.81820528, 40.91, 546.49, null, 0.64, null, null, 3.52, 992.31); - checkInst(model, 190, 190, LocalDate.of(2019, 7, 10), 189, 50.00, 50.00, null, 0.81733252, 40.87, 497.08, 0.58, 0.00, null, null, + checkInst(model, 190, 190, LocalDate.of(2019, 7, 10), 189, 50.00, null, 0.81733252, 40.87, 497.08, null, 0.58, null, null, 2.94, 992.31); - checkInst(model, 191, 191, LocalDate.of(2019, 7, 11), 190, 50.00, 50.00, null, 0.81646069, 40.82, 447.61, 0.53, 0.00, null, null, + checkInst(model, 191, 191, LocalDate.of(2019, 7, 11), 190, 50.00, null, 0.81646069, 40.82, 447.61, null, 0.53, null, null, 2.41, 992.31); - checkInst(model, 192, 192, LocalDate.of(2019, 7, 12), 191, 50.00, 50.00, null, 0.81558979, 40.78, 398.08, 0.48, 0.00, null, null, + checkInst(model, 192, 192, LocalDate.of(2019, 7, 12), 191, 50.00, null, 0.81558979, 40.78, 398.08, null, 0.48, null, null, 1.93, 992.31); - checkInst(model, 193, 193, LocalDate.of(2019, 7, 13), 192, 50.00, 50.00, null, 0.81471983, 40.74, 348.51, 0.43, 0.00, null, null, + checkInst(model, 193, 193, LocalDate.of(2019, 7, 13), 192, 50.00, null, 0.81471983, 40.74, 348.51, null, 0.43, null, null, 1.50, 992.31); - checkInst(model, 194, 194, LocalDate.of(2019, 7, 14), 193, 50.00, 50.00, null, 0.81385078, 40.69, 298.88, 0.37, 0.00, null, null, + checkInst(model, 194, 194, LocalDate.of(2019, 7, 14), 193, 50.00, null, 0.81385078, 40.69, 298.88, null, 0.37, null, null, 1.13, 992.31); - checkInst(model, 195, 195, LocalDate.of(2019, 7, 15), 194, 50.00, 50.00, null, 0.81298267, 40.65, 249.20, 0.32, 0.00, null, null, + checkInst(model, 195, 195, LocalDate.of(2019, 7, 15), 194, 50.00, null, 0.81298267, 40.65, 249.20, null, 0.32, null, null, 0.81, 992.31); - checkInst(model, 196, 196, LocalDate.of(2019, 7, 16), 195, 50.00, 50.00, null, 0.81211548, 40.61, 199.47, 0.27, 0.00, null, null, + checkInst(model, 196, 196, LocalDate.of(2019, 7, 16), 195, 50.00, null, 0.81211548, 40.61, 199.47, null, 0.27, null, null, 0.54, 992.31); - checkInst(model, 197, 197, LocalDate.of(2019, 7, 17), 196, 50.00, 50.00, null, 0.81124922, 40.56, 149.68, 0.21, 0.00, null, null, + checkInst(model, 197, 197, LocalDate.of(2019, 7, 17), 196, 50.00, null, 0.81124922, 40.56, 149.68, null, 0.21, null, null, 0.33, 992.31); - checkInst(model, 198, 198, LocalDate.of(2019, 7, 18), 197, 50.00, 50.00, null, 0.81038388, 40.52, 99.84, 0.16, 0.00, null, null, + checkInst(model, 198, 198, LocalDate.of(2019, 7, 18), 197, 50.00, null, 0.81038388, 40.52, 99.84, null, 0.16, null, null, 0.17, 992.31); - checkInst(model, 199, 199, LocalDate.of(2019, 7, 19), 198, 50.00, 50.00, null, 0.80951946, 40.48, 49.95, 0.11, 0.00, null, null, + checkInst(model, 199, 199, LocalDate.of(2019, 7, 19), 198, 50.00, null, 0.80951946, 40.48, 49.95, null, 0.11, null, null, 0.06, 992.31); - checkInst(model, 200, 200, LocalDate.of(2019, 7, 20), 199, 50.00, 50.00, null, 0.80865597, 40.43, 0.00, 0.05, 0.00, null, null, + checkInst(model, 200, 200, LocalDate.of(2019, 7, 20), 199, 50.00, null, 0.80865597, 40.43, 0.00, null, 0.05, null, null, 0.01, 992.31); assertEquals(202, model.projectedPayments().size(), "disbursement + 200 regular + 1 additional"); - checkInst(model, 201, 201, LocalDate.of(2019, 7, 21), 200, null, 10.00, null, 0.80779339, 8.08, null, null, 0.00, null, null, null); + checkInst(model, 201, 201, LocalDate.of(2019, 7, 21), 200, null, null, 0.80779339, 8.08, null, null, null, null, null, null, null); } @Test void testNoPayment_term200_discountFee1000_netDisbursement9000_pay0_0_50() { final ProjectedAmortizationScheduleModel model = generateModel(); - calculator.applyPayment(model, EXPECTED_DISBURSEMENT_DATE.plusDays(1), BigDecimal.ZERO); - calculator.applyPayment(model, EXPECTED_DISBURSEMENT_DATE.plusDays(2), BigDecimal.ZERO); - calculator.applyPayment(model, EXPECTED_DISBURSEMENT_DATE.plusDays(3), new BigDecimal("50")); + model.applyPayment(EXPECTED_DISBURSEMENT_DATE.plusDays(1), BigDecimal.ZERO); + model.applyPayment(EXPECTED_DISBURSEMENT_DATE.plusDays(2), BigDecimal.ZERO); + model.applyPayment(EXPECTED_DISBURSEMENT_DATE.plusDays(3), new BigDecimal("50")); - checkInst(model, 0, 0, EXPECTED_DISBURSEMENT_DATE, 0, -9000.00, null, null, 1.00000000, -9000.00, 9000.00, null, null, null, null, - 1000.00); + checkInst(model, 0, 0, EXPECTED_DISBURSEMENT_DATE, 0, -9000.00, null, 1.00000000, -9000.00, 9000.00, 9000.00, null, null, null, + 1000.00, 1000.00); - checkInst(model, 1, 1, LocalDate.of(2019, 1, 2), 0, 50.00, 50.00, 0.00, 1.00000000, 0.00, 8959.61, 9.61, 9.61, 0.00, null, 1000.00); - checkInst(model, 2, 2, LocalDate.of(2019, 1, 3), 0, 50.00, 50.00, 0.00, 1.00000000, 0.00, 8919.18, 9.57, 9.61, 0.00, null, 1000.00); - checkInst(model, 3, 3, LocalDate.of(2019, 1, 4), 0, 50.00, 50.00, 50.00, 1.00000000, 50.00, 8878.70, 9.52, 9.61, 9.61, 0.09, + checkInst(model, 1, 1, LocalDate.of(2019, 1, 2), 0, 50.00, 0.00, 1.00000000, 0.00, 8959.61, 9000.00, 9.61, 0.00, null, 990.39, + 1000.00); + checkInst(model, 2, 2, LocalDate.of(2019, 1, 3), 0, 50.00, 0.00, 1.00000000, 0.00, 8919.18, 9000.00, 9.57, 0.00, null, 980.82, + 1000.00); + checkInst(model, 3, 3, LocalDate.of(2019, 1, 4), 0, 50.00, 50.00, 1.00000000, 50.00, 8878.70, 8950.00, 9.52, 9.61, 0.09, 971.30, 990.39); - checkInst(model, 4, 4, LocalDate.of(2019, 1, 5), 1, 50.00, 50.00, null, 0.99893332, 49.95, 8838.18, 9.48, 0.00, null, null, 990.39); - checkInst(model, 5, 5, LocalDate.of(2019, 1, 6), 2, 50.00, 50.00, null, 0.99786779, 49.89, 8797.62, 9.44, 0.00, null, null, 990.39); - checkInst(model, 6, 6, LocalDate.of(2019, 1, 7), 3, 50.00, 50.00, null, 0.99680339, 49.84, 8757.01, 9.39, 0.00, null, null, 990.39); - checkInst(model, 7, 7, LocalDate.of(2019, 1, 8), 4, 50.00, 50.00, null, 0.99574012, 49.79, 8716.36, 9.35, 0.00, null, null, 990.39); - checkInst(model, 8, 8, LocalDate.of(2019, 1, 9), 5, 50.00, 50.00, null, 0.99467799, 49.73, 8675.67, 9.31, 0.00, null, null, 990.39); - checkInst(model, 9, 9, LocalDate.of(2019, 1, 10), 6, 50.00, 50.00, null, 0.99361699, 49.68, 8634.94, 9.26, 0.00, null, null, + checkInst(model, 4, 4, LocalDate.of(2019, 1, 5), 1, 50.00, null, 0.99893332, 49.95, 8838.18, null, 9.48, null, null, 961.82, + 990.39); + checkInst(model, 5, 5, LocalDate.of(2019, 1, 6), 2, 50.00, null, 0.99786779, 49.89, 8797.62, null, 9.44, null, null, 952.38, + 990.39); + checkInst(model, 6, 6, LocalDate.of(2019, 1, 7), 3, 50.00, null, 0.99680339, 49.84, 8757.01, null, 9.39, null, null, 942.99, + 990.39); + checkInst(model, 7, 7, LocalDate.of(2019, 1, 8), 4, 50.00, null, 0.99574012, 49.79, 8716.36, null, 9.35, null, null, 933.64, + 990.39); + checkInst(model, 8, 8, LocalDate.of(2019, 1, 9), 5, 50.00, null, 0.99467799, 49.73, 8675.67, null, 9.31, null, null, 924.33, + 990.39); + checkInst(model, 9, 9, LocalDate.of(2019, 1, 10), 6, 50.00, null, 0.99361699, 49.68, 8634.94, null, 9.26, null, null, 915.07, 990.39); - checkInst(model, 10, 10, LocalDate.of(2019, 1, 11), 7, 50.00, 50.00, null, 0.99255712, 49.63, 8594.16, 9.22, 0.00, null, null, + checkInst(model, 10, 10, LocalDate.of(2019, 1, 11), 7, 50.00, null, 0.99255712, 49.63, 8594.16, null, 9.22, null, null, 905.85, 990.39); - checkInst(model, 11, 11, LocalDate.of(2019, 1, 12), 8, 50.00, 50.00, null, 0.99149839, 49.57, 8553.33, 9.18, 0.00, null, null, + checkInst(model, 11, 11, LocalDate.of(2019, 1, 12), 8, 50.00, null, 0.99149839, 49.57, 8553.33, null, 9.18, null, null, 896.67, 990.39); - checkInst(model, 12, 12, LocalDate.of(2019, 1, 13), 9, 50.00, 50.00, null, 0.99044078, 49.52, 8512.47, 9.13, 0.00, null, null, + checkInst(model, 12, 12, LocalDate.of(2019, 1, 13), 9, 50.00, null, 0.99044078, 49.52, 8512.47, null, 9.13, null, null, 887.54, 990.39); - checkInst(model, 13, 13, LocalDate.of(2019, 1, 14), 10, 50.00, 50.00, null, 0.98938430, 49.47, 8471.56, 9.09, 0.00, null, null, + checkInst(model, 13, 13, LocalDate.of(2019, 1, 14), 10, 50.00, null, 0.98938430, 49.47, 8471.56, null, 9.09, null, null, 878.45, 990.39); - checkInst(model, 14, 14, LocalDate.of(2019, 1, 15), 11, 50.00, 50.00, null, 0.98832895, 49.42, 8430.60, 9.05, 0.00, null, null, + checkInst(model, 14, 14, LocalDate.of(2019, 1, 15), 11, 50.00, null, 0.98832895, 49.42, 8430.60, null, 9.05, null, null, 869.40, 990.39); - checkInst(model, 15, 15, LocalDate.of(2019, 1, 16), 12, 50.00, 50.00, null, 0.98727472, 49.36, 8389.61, 9.00, 0.00, null, null, + checkInst(model, 15, 15, LocalDate.of(2019, 1, 16), 12, 50.00, null, 0.98727472, 49.36, 8389.61, null, 9.00, null, null, 860.40, 990.39); - checkInst(model, 16, 16, LocalDate.of(2019, 1, 17), 13, 50.00, 50.00, null, 0.98622162, 49.31, 8348.56, 8.96, 0.00, null, null, + checkInst(model, 16, 16, LocalDate.of(2019, 1, 17), 13, 50.00, null, 0.98622162, 49.31, 8348.56, null, 8.96, null, null, 851.44, 990.39); - checkInst(model, 17, 17, LocalDate.of(2019, 1, 18), 14, 50.00, 50.00, null, 0.98516964, 49.26, 8307.48, 8.91, 0.00, null, null, + checkInst(model, 17, 17, LocalDate.of(2019, 1, 18), 14, 50.00, null, 0.98516964, 49.26, 8307.48, null, 8.91, null, null, 842.53, 990.39); - checkInst(model, 18, 18, LocalDate.of(2019, 1, 19), 15, 50.00, 50.00, null, 0.98411879, 49.21, 8266.35, 8.87, 0.00, null, null, + checkInst(model, 18, 18, LocalDate.of(2019, 1, 19), 15, 50.00, null, 0.98411879, 49.21, 8266.35, null, 8.87, null, null, 833.66, 990.39); - checkInst(model, 19, 19, LocalDate.of(2019, 1, 20), 16, 50.00, 50.00, null, 0.98306905, 49.15, 8225.18, 8.83, 0.00, null, null, + checkInst(model, 19, 19, LocalDate.of(2019, 1, 20), 16, 50.00, null, 0.98306905, 49.15, 8225.18, null, 8.83, null, null, 824.83, 990.39); - checkInst(model, 20, 20, LocalDate.of(2019, 1, 21), 17, 50.00, 50.00, null, 0.98202044, 49.10, 8183.96, 8.78, 0.00, null, null, + checkInst(model, 20, 20, LocalDate.of(2019, 1, 21), 17, 50.00, null, 0.98202044, 49.10, 8183.96, null, 8.78, null, null, 816.05, 990.39); - checkInst(model, 21, 21, LocalDate.of(2019, 1, 22), 18, 50.00, 50.00, null, 0.98097294, 49.05, 8142.70, 8.74, 0.00, null, null, + checkInst(model, 21, 21, LocalDate.of(2019, 1, 22), 18, 50.00, null, 0.98097294, 49.05, 8142.70, null, 8.74, null, null, 807.31, 990.39); - checkInst(model, 22, 22, LocalDate.of(2019, 1, 23), 19, 50.00, 50.00, null, 0.97992656, 49.00, 8101.39, 8.69, 0.00, null, null, + checkInst(model, 22, 22, LocalDate.of(2019, 1, 23), 19, 50.00, null, 0.97992656, 49.00, 8101.39, null, 8.69, null, null, 798.62, 990.39); - checkInst(model, 23, 23, LocalDate.of(2019, 1, 24), 20, 50.00, 50.00, null, 0.97888129, 48.94, 8060.04, 8.65, 0.00, null, null, + checkInst(model, 23, 23, LocalDate.of(2019, 1, 24), 20, 50.00, null, 0.97888129, 48.94, 8060.04, null, 8.65, null, null, 789.97, 990.39); - checkInst(model, 24, 24, LocalDate.of(2019, 1, 25), 21, 50.00, 50.00, null, 0.97783715, 48.89, 8018.65, 8.61, 0.00, null, null, + checkInst(model, 24, 24, LocalDate.of(2019, 1, 25), 21, 50.00, null, 0.97783715, 48.89, 8018.65, null, 8.61, null, null, 781.36, 990.39); - checkInst(model, 25, 25, LocalDate.of(2019, 1, 26), 22, 50.00, 50.00, null, 0.97679411, 48.84, 7977.21, 8.56, 0.00, null, null, + checkInst(model, 25, 25, LocalDate.of(2019, 1, 26), 22, 50.00, null, 0.97679411, 48.84, 7977.21, null, 8.56, null, null, 772.80, 990.39); - checkInst(model, 26, 26, LocalDate.of(2019, 1, 27), 23, 50.00, 50.00, null, 0.97575219, 48.79, 7935.73, 8.52, 0.00, null, null, + checkInst(model, 26, 26, LocalDate.of(2019, 1, 27), 23, 50.00, null, 0.97575219, 48.79, 7935.73, null, 8.52, null, null, 764.28, 990.39); - checkInst(model, 27, 27, LocalDate.of(2019, 1, 28), 24, 50.00, 50.00, null, 0.97471138, 48.74, 7894.21, 8.47, 0.00, null, null, + checkInst(model, 27, 27, LocalDate.of(2019, 1, 28), 24, 50.00, null, 0.97471138, 48.74, 7894.21, null, 8.47, null, null, 755.81, 990.39); - checkInst(model, 28, 28, LocalDate.of(2019, 1, 29), 25, 50.00, 50.00, null, 0.97367168, 48.68, 7852.63, 8.43, 0.00, null, null, + checkInst(model, 28, 28, LocalDate.of(2019, 1, 29), 25, 50.00, null, 0.97367168, 48.68, 7852.63, null, 8.43, null, null, 747.38, 990.39); - checkInst(model, 29, 29, LocalDate.of(2019, 1, 30), 26, 50.00, 50.00, null, 0.97263309, 48.63, 7811.02, 8.39, 0.00, null, null, + checkInst(model, 29, 29, LocalDate.of(2019, 1, 30), 26, 50.00, null, 0.97263309, 48.63, 7811.02, null, 8.39, null, null, 738.99, 990.39); - checkInst(model, 30, 30, LocalDate.of(2019, 1, 31), 27, 50.00, 50.00, null, 0.97159560, 48.58, 7769.36, 8.34, 0.00, null, null, + checkInst(model, 30, 30, LocalDate.of(2019, 1, 31), 27, 50.00, null, 0.97159560, 48.58, 7769.36, null, 8.34, null, null, 730.65, 990.39); - checkInst(model, 31, 31, LocalDate.of(2019, 2, 1), 28, 50.00, 50.00, null, 0.97055922, 48.53, 7727.66, 8.30, 0.00, null, null, + checkInst(model, 31, 31, LocalDate.of(2019, 2, 1), 28, 50.00, null, 0.97055922, 48.53, 7727.66, null, 8.30, null, null, 722.35, 990.39); - checkInst(model, 32, 32, LocalDate.of(2019, 2, 2), 29, 50.00, 50.00, null, 0.96952395, 48.48, 7685.91, 8.25, 0.00, null, null, + checkInst(model, 32, 32, LocalDate.of(2019, 2, 2), 29, 50.00, null, 0.96952395, 48.48, 7685.91, null, 8.25, null, null, 714.10, 990.39); - checkInst(model, 33, 33, LocalDate.of(2019, 2, 3), 30, 50.00, 50.00, null, 0.96848979, 48.42, 7644.12, 8.21, 0.00, null, null, + checkInst(model, 33, 33, LocalDate.of(2019, 2, 3), 30, 50.00, null, 0.96848979, 48.42, 7644.12, null, 8.21, null, null, 705.89, 990.39); - checkInst(model, 34, 34, LocalDate.of(2019, 2, 4), 31, 50.00, 50.00, null, 0.96745672, 48.37, 7602.28, 8.16, 0.00, null, null, + checkInst(model, 34, 34, LocalDate.of(2019, 2, 4), 31, 50.00, null, 0.96745672, 48.37, 7602.28, null, 8.16, null, null, 697.73, 990.39); - checkInst(model, 35, 35, LocalDate.of(2019, 2, 5), 32, 50.00, 50.00, null, 0.96642476, 48.32, 7560.40, 8.12, 0.00, null, null, + checkInst(model, 35, 35, LocalDate.of(2019, 2, 5), 32, 50.00, null, 0.96642476, 48.32, 7560.40, null, 8.12, null, null, 689.61, 990.39); - checkInst(model, 36, 36, LocalDate.of(2019, 2, 6), 33, 50.00, 50.00, null, 0.96539390, 48.27, 7518.47, 8.07, 0.00, null, null, + checkInst(model, 36, 36, LocalDate.of(2019, 2, 6), 33, 50.00, null, 0.96539390, 48.27, 7518.47, null, 8.07, null, null, 681.54, 990.39); - checkInst(model, 37, 37, LocalDate.of(2019, 2, 7), 34, 50.00, 50.00, null, 0.96436413, 48.22, 7476.50, 8.03, 0.00, null, null, + checkInst(model, 37, 37, LocalDate.of(2019, 2, 7), 34, 50.00, null, 0.96436413, 48.22, 7476.50, null, 8.03, null, null, 673.51, 990.39); - checkInst(model, 38, 38, LocalDate.of(2019, 2, 8), 35, 50.00, 50.00, null, 0.96333547, 48.17, 7434.48, 7.98, 0.00, null, null, + checkInst(model, 38, 38, LocalDate.of(2019, 2, 8), 35, 50.00, null, 0.96333547, 48.17, 7434.48, null, 7.98, null, null, 665.53, 990.39); - checkInst(model, 39, 39, LocalDate.of(2019, 2, 9), 36, 50.00, 50.00, null, 0.96230790, 48.12, 7392.42, 7.94, 0.00, null, null, + checkInst(model, 39, 39, LocalDate.of(2019, 2, 9), 36, 50.00, null, 0.96230790, 48.12, 7392.42, null, 7.94, null, null, 657.59, 990.39); - checkInst(model, 40, 40, LocalDate.of(2019, 2, 10), 37, 50.00, 50.00, null, 0.96128143, 48.06, 7350.31, 7.89, 0.00, null, null, + checkInst(model, 40, 40, LocalDate.of(2019, 2, 10), 37, 50.00, null, 0.96128143, 48.06, 7350.31, null, 7.89, null, null, 649.70, 990.39); - checkInst(model, 41, 41, LocalDate.of(2019, 2, 11), 38, 50.00, 50.00, null, 0.96025606, 48.01, 7308.16, 7.85, 0.00, null, null, + checkInst(model, 41, 41, LocalDate.of(2019, 2, 11), 38, 50.00, null, 0.96025606, 48.01, 7308.16, null, 7.85, null, null, 641.85, 990.39); - checkInst(model, 42, 42, LocalDate.of(2019, 2, 12), 39, 50.00, 50.00, null, 0.95923178, 47.96, 7265.97, 7.80, 0.00, null, null, + checkInst(model, 42, 42, LocalDate.of(2019, 2, 12), 39, 50.00, null, 0.95923178, 47.96, 7265.97, null, 7.80, null, null, 634.05, 990.39); - checkInst(model, 43, 43, LocalDate.of(2019, 2, 13), 40, 50.00, 50.00, null, 0.95820859, 47.91, 7223.72, 7.76, 0.00, null, null, + checkInst(model, 43, 43, LocalDate.of(2019, 2, 13), 40, 50.00, null, 0.95820859, 47.91, 7223.72, null, 7.76, null, null, 626.29, 990.39); - checkInst(model, 44, 44, LocalDate.of(2019, 2, 14), 41, 50.00, 50.00, null, 0.95718649, 47.86, 7181.44, 7.71, 0.00, null, null, + checkInst(model, 44, 44, LocalDate.of(2019, 2, 14), 41, 50.00, null, 0.95718649, 47.86, 7181.44, null, 7.71, null, null, 618.58, 990.39); - checkInst(model, 45, 45, LocalDate.of(2019, 2, 15), 42, 50.00, 50.00, null, 0.95616548, 47.81, 7139.11, 7.67, 0.00, null, null, + checkInst(model, 45, 45, LocalDate.of(2019, 2, 15), 42, 50.00, null, 0.95616548, 47.81, 7139.11, null, 7.67, null, null, 610.91, 990.39); - checkInst(model, 46, 46, LocalDate.of(2019, 2, 16), 43, 50.00, 50.00, null, 0.95514557, 47.76, 7096.73, 7.62, 0.00, null, null, + checkInst(model, 46, 46, LocalDate.of(2019, 2, 16), 43, 50.00, null, 0.95514557, 47.76, 7096.73, null, 7.62, null, null, 603.29, 990.39); - checkInst(model, 47, 47, LocalDate.of(2019, 2, 17), 44, 50.00, 50.00, null, 0.95412674, 47.71, 7054.31, 7.58, 0.00, null, null, + checkInst(model, 47, 47, LocalDate.of(2019, 2, 17), 44, 50.00, null, 0.95412674, 47.71, 7054.31, null, 7.58, null, null, 595.71, 990.39); - checkInst(model, 48, 48, LocalDate.of(2019, 2, 18), 45, 50.00, 50.00, null, 0.95310899, 47.66, 7011.84, 7.53, 0.00, null, null, + checkInst(model, 48, 48, LocalDate.of(2019, 2, 18), 45, 50.00, null, 0.95310899, 47.66, 7011.84, null, 7.53, null, null, 588.18, 990.39); - checkInst(model, 49, 49, LocalDate.of(2019, 2, 19), 46, 50.00, 50.00, null, 0.95209233, 47.60, 6969.33, 7.49, 0.00, null, null, + checkInst(model, 49, 49, LocalDate.of(2019, 2, 19), 46, 50.00, null, 0.95209233, 47.60, 6969.33, null, 7.49, null, null, 580.69, 990.39); - checkInst(model, 50, 50, LocalDate.of(2019, 2, 20), 47, 50.00, 50.00, null, 0.95107676, 47.55, 6926.77, 7.44, 0.00, null, null, + checkInst(model, 50, 50, LocalDate.of(2019, 2, 20), 47, 50.00, null, 0.95107676, 47.55, 6926.77, null, 7.44, null, null, 573.25, 990.39); - checkInst(model, 51, 51, LocalDate.of(2019, 2, 21), 48, 50.00, 50.00, null, 0.95006227, 47.50, 6884.17, 7.40, 0.00, null, null, + checkInst(model, 51, 51, LocalDate.of(2019, 2, 21), 48, 50.00, null, 0.95006227, 47.50, 6884.17, null, 7.40, null, null, 565.85, 990.39); - checkInst(model, 52, 52, LocalDate.of(2019, 2, 22), 49, 50.00, 50.00, null, 0.94904886, 47.45, 6841.52, 7.35, 0.00, null, null, + checkInst(model, 52, 52, LocalDate.of(2019, 2, 22), 49, 50.00, null, 0.94904886, 47.45, 6841.52, null, 7.35, null, null, 558.50, 990.39); - checkInst(model, 53, 53, LocalDate.of(2019, 2, 23), 50, 50.00, 50.00, null, 0.94803653, 47.40, 6798.82, 7.31, 0.00, null, null, + checkInst(model, 53, 53, LocalDate.of(2019, 2, 23), 50, 50.00, null, 0.94803653, 47.40, 6798.82, null, 7.31, null, null, 551.19, 990.39); - checkInst(model, 54, 54, LocalDate.of(2019, 2, 24), 51, 50.00, 50.00, null, 0.94702529, 47.35, 6756.08, 7.26, 0.00, null, null, + checkInst(model, 54, 54, LocalDate.of(2019, 2, 24), 51, 50.00, null, 0.94702529, 47.35, 6756.08, null, 7.26, null, null, 543.93, 990.39); - checkInst(model, 55, 55, LocalDate.of(2019, 2, 25), 52, 50.00, 50.00, null, 0.94601512, 47.30, 6713.30, 7.21, 0.00, null, null, + checkInst(model, 55, 55, LocalDate.of(2019, 2, 25), 52, 50.00, null, 0.94601512, 47.30, 6713.30, null, 7.21, null, null, 536.72, 990.39); - checkInst(model, 56, 56, LocalDate.of(2019, 2, 26), 53, 50.00, 50.00, null, 0.94500603, 47.25, 6670.47, 7.17, 0.00, null, null, + checkInst(model, 56, 56, LocalDate.of(2019, 2, 26), 53, 50.00, null, 0.94500603, 47.25, 6670.47, null, 7.17, null, null, 529.55, 990.39); - checkInst(model, 57, 57, LocalDate.of(2019, 2, 27), 54, 50.00, 50.00, null, 0.94399801, 47.20, 6627.59, 7.12, 0.00, null, null, + checkInst(model, 57, 57, LocalDate.of(2019, 2, 27), 54, 50.00, null, 0.94399801, 47.20, 6627.59, null, 7.12, null, null, 522.43, 990.39); - checkInst(model, 58, 58, LocalDate.of(2019, 2, 28), 55, 50.00, 50.00, null, 0.94299107, 47.15, 6584.67, 7.08, 0.00, null, null, + checkInst(model, 58, 58, LocalDate.of(2019, 2, 28), 55, 50.00, null, 0.94299107, 47.15, 6584.67, null, 7.08, null, null, 515.35, 990.39); - checkInst(model, 59, 59, LocalDate.of(2019, 3, 1), 56, 50.00, 50.00, null, 0.94198521, 47.10, 6541.70, 7.03, 0.00, null, null, + checkInst(model, 59, 59, LocalDate.of(2019, 3, 1), 56, 50.00, null, 0.94198521, 47.10, 6541.70, null, 7.03, null, null, 508.32, 990.39); - checkInst(model, 60, 60, LocalDate.of(2019, 3, 2), 57, 50.00, 50.00, null, 0.94098042, 47.05, 6498.68, 6.99, 0.00, null, null, + checkInst(model, 60, 60, LocalDate.of(2019, 3, 2), 57, 50.00, null, 0.94098042, 47.05, 6498.68, null, 6.99, null, null, 501.33, 990.39); - checkInst(model, 61, 61, LocalDate.of(2019, 3, 3), 58, 50.00, 50.00, null, 0.93997669, 47.00, 6455.62, 6.94, 0.00, null, null, + checkInst(model, 61, 61, LocalDate.of(2019, 3, 3), 58, 50.00, null, 0.93997669, 47.00, 6455.62, null, 6.94, null, null, 494.39, 990.39); - checkInst(model, 62, 62, LocalDate.of(2019, 3, 4), 59, 50.00, 50.00, null, 0.93897404, 46.95, 6412.51, 6.89, 0.00, null, null, + checkInst(model, 62, 62, LocalDate.of(2019, 3, 4), 59, 50.00, null, 0.93897404, 46.95, 6412.51, null, 6.89, null, null, 487.50, 990.39); - checkInst(model, 63, 63, LocalDate.of(2019, 3, 5), 60, 50.00, 50.00, null, 0.93797246, 46.90, 6369.36, 6.85, 0.00, null, null, + checkInst(model, 63, 63, LocalDate.of(2019, 3, 5), 60, 50.00, null, 0.93797246, 46.90, 6369.36, null, 6.85, null, null, 480.65, 990.39); - checkInst(model, 64, 64, LocalDate.of(2019, 3, 6), 61, 50.00, 50.00, null, 0.93697195, 46.85, 6326.16, 6.80, 0.00, null, null, + checkInst(model, 64, 64, LocalDate.of(2019, 3, 6), 61, 50.00, null, 0.93697195, 46.85, 6326.16, null, 6.80, null, null, 473.85, 990.39); - checkInst(model, 65, 65, LocalDate.of(2019, 3, 7), 62, 50.00, 50.00, null, 0.93597251, 46.80, 6282.92, 6.76, 0.00, null, null, + checkInst(model, 65, 65, LocalDate.of(2019, 3, 7), 62, 50.00, null, 0.93597251, 46.80, 6282.92, null, 6.76, null, null, 467.09, 990.39); - checkInst(model, 66, 66, LocalDate.of(2019, 3, 8), 63, 50.00, 50.00, null, 0.93497413, 46.75, 6239.63, 6.71, 0.00, null, null, + checkInst(model, 66, 66, LocalDate.of(2019, 3, 8), 63, 50.00, null, 0.93497413, 46.75, 6239.63, null, 6.71, null, null, 460.38, 990.39); - checkInst(model, 67, 67, LocalDate.of(2019, 3, 9), 64, 50.00, 50.00, null, 0.93397681, 46.70, 6196.29, 6.66, 0.00, null, null, + checkInst(model, 67, 67, LocalDate.of(2019, 3, 9), 64, 50.00, null, 0.93397681, 46.70, 6196.29, null, 6.66, null, null, 453.72, 990.39); - checkInst(model, 68, 68, LocalDate.of(2019, 3, 10), 65, 50.00, 50.00, null, 0.93298056, 46.65, 6152.91, 6.62, 0.00, null, null, + checkInst(model, 68, 68, LocalDate.of(2019, 3, 10), 65, 50.00, null, 0.93298056, 46.65, 6152.91, null, 6.62, null, null, 447.10, 990.39); - checkInst(model, 69, 69, LocalDate.of(2019, 3, 11), 66, 50.00, 50.00, null, 0.93198538, 46.60, 6109.48, 6.57, 0.00, null, null, + checkInst(model, 69, 69, LocalDate.of(2019, 3, 11), 66, 50.00, null, 0.93198538, 46.60, 6109.48, null, 6.57, null, null, 440.53, 990.39); - checkInst(model, 70, 70, LocalDate.of(2019, 3, 12), 67, 50.00, 50.00, null, 0.93099125, 46.55, 6066.00, 6.52, 0.00, null, null, + checkInst(model, 70, 70, LocalDate.of(2019, 3, 12), 67, 50.00, null, 0.93099125, 46.55, 6066.00, null, 6.52, null, null, 434.01, 990.39); - checkInst(model, 71, 71, LocalDate.of(2019, 3, 13), 68, 50.00, 50.00, null, 0.92999818, 46.50, 6022.48, 6.48, 0.00, null, null, + checkInst(model, 71, 71, LocalDate.of(2019, 3, 13), 68, 50.00, null, 0.92999818, 46.50, 6022.48, null, 6.48, null, null, 427.53, 990.39); - checkInst(model, 72, 72, LocalDate.of(2019, 3, 14), 69, 50.00, 50.00, null, 0.92900618, 46.45, 5978.91, 6.43, 0.00, null, null, + checkInst(model, 72, 72, LocalDate.of(2019, 3, 14), 69, 50.00, null, 0.92900618, 46.45, 5978.91, null, 6.43, null, null, 421.10, 990.39); - checkInst(model, 73, 73, LocalDate.of(2019, 3, 15), 70, 50.00, 50.00, null, 0.92801523, 46.40, 5935.29, 6.38, 0.00, null, null, + checkInst(model, 73, 73, LocalDate.of(2019, 3, 15), 70, 50.00, null, 0.92801523, 46.40, 5935.29, null, 6.38, null, null, 414.72, 990.39); - checkInst(model, 74, 74, LocalDate.of(2019, 3, 16), 71, 50.00, 50.00, null, 0.92702534, 46.35, 5891.63, 6.34, 0.00, null, null, + checkInst(model, 74, 74, LocalDate.of(2019, 3, 16), 71, 50.00, null, 0.92702534, 46.35, 5891.63, null, 6.34, null, null, 408.38, 990.39); - checkInst(model, 75, 75, LocalDate.of(2019, 3, 17), 72, 50.00, 50.00, null, 0.92603650, 46.30, 5847.92, 6.29, 0.00, null, null, + checkInst(model, 75, 75, LocalDate.of(2019, 3, 17), 72, 50.00, null, 0.92603650, 46.30, 5847.92, null, 6.29, null, null, 402.09, 990.39); - checkInst(model, 76, 76, LocalDate.of(2019, 3, 18), 73, 50.00, 50.00, null, 0.92504872, 46.25, 5804.17, 6.24, 0.00, null, null, + checkInst(model, 76, 76, LocalDate.of(2019, 3, 18), 73, 50.00, null, 0.92504872, 46.25, 5804.17, null, 6.24, null, null, 395.85, 990.39); - checkInst(model, 77, 77, LocalDate.of(2019, 3, 19), 74, 50.00, 50.00, null, 0.92406200, 46.20, 5760.36, 6.20, 0.00, null, null, + checkInst(model, 77, 77, LocalDate.of(2019, 3, 19), 74, 50.00, null, 0.92406200, 46.20, 5760.36, null, 6.20, null, null, 389.65, 990.39); - checkInst(model, 78, 78, LocalDate.of(2019, 3, 20), 75, 50.00, 50.00, null, 0.92307632, 46.15, 5716.52, 6.15, 0.00, null, null, + checkInst(model, 78, 78, LocalDate.of(2019, 3, 20), 75, 50.00, null, 0.92307632, 46.15, 5716.52, null, 6.15, null, null, 383.50, 990.39); - checkInst(model, 79, 79, LocalDate.of(2019, 3, 21), 76, 50.00, 50.00, null, 0.92209170, 46.10, 5672.62, 6.10, 0.00, null, null, + checkInst(model, 79, 79, LocalDate.of(2019, 3, 21), 76, 50.00, null, 0.92209170, 46.10, 5672.62, null, 6.10, null, null, 377.40, 990.39); - checkInst(model, 80, 80, LocalDate.of(2019, 3, 22), 77, 50.00, 50.00, null, 0.92110813, 46.06, 5628.68, 6.06, 0.00, null, null, + checkInst(model, 80, 80, LocalDate.of(2019, 3, 22), 77, 50.00, null, 0.92110813, 46.06, 5628.68, null, 6.06, null, null, 371.34, 990.39); - checkInst(model, 81, 81, LocalDate.of(2019, 3, 23), 78, 50.00, 50.00, null, 0.92012560, 46.01, 5584.69, 6.01, 0.00, null, null, + checkInst(model, 81, 81, LocalDate.of(2019, 3, 23), 78, 50.00, null, 0.92012560, 46.01, 5584.69, null, 6.01, null, null, 365.33, 990.39); - checkInst(model, 82, 82, LocalDate.of(2019, 3, 24), 79, 50.00, 50.00, null, 0.91914413, 45.96, 5540.65, 5.96, 0.00, null, null, + checkInst(model, 82, 82, LocalDate.of(2019, 3, 24), 79, 50.00, null, 0.91914413, 45.96, 5540.65, null, 5.96, null, null, 359.37, 990.39); - checkInst(model, 83, 83, LocalDate.of(2019, 3, 25), 80, 50.00, 50.00, null, 0.91816370, 45.91, 5496.57, 5.92, 0.00, null, null, + checkInst(model, 83, 83, LocalDate.of(2019, 3, 25), 80, 50.00, null, 0.91816370, 45.91, 5496.57, null, 5.92, null, null, 353.45, 990.39); - checkInst(model, 84, 84, LocalDate.of(2019, 3, 26), 81, 50.00, 50.00, null, 0.91718432, 45.86, 5452.44, 5.87, 0.00, null, null, + checkInst(model, 84, 84, LocalDate.of(2019, 3, 26), 81, 50.00, null, 0.91718432, 45.86, 5452.44, null, 5.87, null, null, 347.58, 990.39); - checkInst(model, 85, 85, LocalDate.of(2019, 3, 27), 82, 50.00, 50.00, null, 0.91620598, 45.81, 5408.26, 5.82, 0.00, null, null, + checkInst(model, 85, 85, LocalDate.of(2019, 3, 27), 82, 50.00, null, 0.91620598, 45.81, 5408.26, null, 5.82, null, null, 341.76, 990.39); - checkInst(model, 86, 86, LocalDate.of(2019, 3, 28), 83, 50.00, 50.00, null, 0.91522868, 45.76, 5364.03, 5.78, 0.00, null, null, + checkInst(model, 86, 86, LocalDate.of(2019, 3, 28), 83, 50.00, null, 0.91522868, 45.76, 5364.03, null, 5.78, null, null, 335.98, 990.39); - checkInst(model, 87, 87, LocalDate.of(2019, 3, 29), 84, 50.00, 50.00, null, 0.91425243, 45.71, 5319.76, 5.73, 0.00, null, null, + checkInst(model, 87, 87, LocalDate.of(2019, 3, 29), 84, 50.00, null, 0.91425243, 45.71, 5319.76, null, 5.73, null, null, 330.25, 990.39); - checkInst(model, 88, 88, LocalDate.of(2019, 3, 30), 85, 50.00, 50.00, null, 0.91327722, 45.66, 5275.44, 5.68, 0.00, null, null, + checkInst(model, 88, 88, LocalDate.of(2019, 3, 30), 85, 50.00, null, 0.91327722, 45.66, 5275.44, null, 5.68, null, null, 324.57, 990.39); - checkInst(model, 89, 89, LocalDate.of(2019, 3, 31), 86, 50.00, 50.00, null, 0.91230305, 45.62, 5231.08, 5.63, 0.00, null, null, + checkInst(model, 89, 89, LocalDate.of(2019, 3, 31), 86, 50.00, null, 0.91230305, 45.62, 5231.08, null, 5.63, null, null, 318.94, 990.39); - checkInst(model, 90, 90, LocalDate.of(2019, 4, 1), 87, 50.00, 50.00, null, 0.91132992, 45.57, 5186.66, 5.59, 0.00, null, null, + checkInst(model, 90, 90, LocalDate.of(2019, 4, 1), 87, 50.00, null, 0.91132992, 45.57, 5186.66, null, 5.59, null, null, 313.35, 990.39); - checkInst(model, 91, 91, LocalDate.of(2019, 4, 2), 88, 50.00, 50.00, null, 0.91035783, 45.52, 5142.20, 5.54, 0.00, null, null, + checkInst(model, 91, 91, LocalDate.of(2019, 4, 2), 88, 50.00, null, 0.91035783, 45.52, 5142.20, null, 5.54, null, null, 307.81, 990.39); - checkInst(model, 92, 92, LocalDate.of(2019, 4, 3), 89, 50.00, 50.00, null, 0.90938677, 45.47, 5097.69, 5.49, 0.00, null, null, + checkInst(model, 92, 92, LocalDate.of(2019, 4, 3), 89, 50.00, null, 0.90938677, 45.47, 5097.69, null, 5.49, null, null, 302.32, 990.39); - checkInst(model, 93, 93, LocalDate.of(2019, 4, 4), 90, 50.00, 50.00, null, 0.90841675, 45.42, 5053.13, 5.44, 0.00, null, null, + checkInst(model, 93, 93, LocalDate.of(2019, 4, 4), 90, 50.00, null, 0.90841675, 45.42, 5053.13, null, 5.44, null, null, 296.88, 990.39); - checkInst(model, 94, 94, LocalDate.of(2019, 4, 5), 91, 50.00, 50.00, null, 0.90744776, 45.37, 5008.53, 5.40, 0.00, null, null, + checkInst(model, 94, 94, LocalDate.of(2019, 4, 5), 91, 50.00, null, 0.90744776, 45.37, 5008.53, null, 5.40, null, null, 291.48, 990.39); - checkInst(model, 95, 95, LocalDate.of(2019, 4, 6), 92, 50.00, 50.00, null, 0.90647981, 45.32, 4963.88, 5.35, 0.00, null, null, + checkInst(model, 95, 95, LocalDate.of(2019, 4, 6), 92, 50.00, null, 0.90647981, 45.32, 4963.88, null, 5.35, null, null, 286.13, 990.39); - checkInst(model, 96, 96, LocalDate.of(2019, 4, 7), 93, 50.00, 50.00, null, 0.90551289, 45.28, 4919.18, 5.30, 0.00, null, null, + checkInst(model, 96, 96, LocalDate.of(2019, 4, 7), 93, 50.00, null, 0.90551289, 45.28, 4919.18, null, 5.30, null, null, 280.83, 990.39); - checkInst(model, 97, 97, LocalDate.of(2019, 4, 8), 94, 50.00, 50.00, null, 0.90454700, 45.23, 4874.43, 5.25, 0.00, null, null, + checkInst(model, 97, 97, LocalDate.of(2019, 4, 8), 94, 50.00, null, 0.90454700, 45.23, 4874.43, null, 5.25, null, null, 275.58, 990.39); - checkInst(model, 98, 98, LocalDate.of(2019, 4, 9), 95, 50.00, 50.00, null, 0.90358215, 45.18, 4829.64, 5.20, 0.00, null, null, + checkInst(model, 98, 98, LocalDate.of(2019, 4, 9), 95, 50.00, null, 0.90358215, 45.18, 4829.64, null, 5.20, null, null, 270.38, 990.39); - checkInst(model, 99, 99, LocalDate.of(2019, 4, 10), 96, 50.00, 50.00, null, 0.90261832, 45.13, 4784.79, 5.16, 0.00, null, null, + checkInst(model, 99, 99, LocalDate.of(2019, 4, 10), 96, 50.00, null, 0.90261832, 45.13, 4784.79, null, 5.16, null, null, 265.22, 990.39); - checkInst(model, 100, 100, LocalDate.of(2019, 4, 11), 97, 50.00, 50.00, null, 0.90165552, 45.08, 4739.90, 5.11, 0.00, null, null, + checkInst(model, 100, 100, LocalDate.of(2019, 4, 11), 97, 50.00, null, 0.90165552, 45.08, 4739.90, null, 5.11, null, null, 260.11, 990.39); - checkInst(model, 101, 101, LocalDate.of(2019, 4, 12), 98, 50.00, 50.00, null, 0.90069374, 45.03, 4694.96, 5.06, 0.00, null, null, + checkInst(model, 101, 101, LocalDate.of(2019, 4, 12), 98, 50.00, null, 0.90069374, 45.03, 4694.96, null, 5.06, null, null, 255.05, 990.39); - checkInst(model, 102, 102, LocalDate.of(2019, 4, 13), 99, 50.00, 50.00, null, 0.89973299, 44.99, 4649.98, 5.01, 0.00, null, null, + checkInst(model, 102, 102, LocalDate.of(2019, 4, 13), 99, 50.00, null, 0.89973299, 44.99, 4649.98, null, 5.01, null, null, 250.04, 990.39); - checkInst(model, 103, 103, LocalDate.of(2019, 4, 14), 100, 50.00, 50.00, null, 0.89877327, 44.94, 4604.94, 4.97, 0.00, null, null, + checkInst(model, 103, 103, LocalDate.of(2019, 4, 14), 100, 50.00, null, 0.89877327, 44.94, 4604.94, null, 4.97, null, null, 245.07, 990.39); - checkInst(model, 104, 104, LocalDate.of(2019, 4, 15), 101, 50.00, 50.00, null, 0.89781457, 44.89, 4559.86, 4.92, 0.00, null, null, + checkInst(model, 104, 104, LocalDate.of(2019, 4, 15), 101, 50.00, null, 0.89781457, 44.89, 4559.86, null, 4.92, null, null, 240.15, 990.39); - checkInst(model, 105, 105, LocalDate.of(2019, 4, 16), 102, 50.00, 50.00, null, 0.89685689, 44.84, 4514.73, 4.87, 0.00, null, null, + checkInst(model, 105, 105, LocalDate.of(2019, 4, 16), 102, 50.00, null, 0.89685689, 44.84, 4514.73, null, 4.87, null, null, 235.28, 990.39); - checkInst(model, 106, 106, LocalDate.of(2019, 4, 17), 103, 50.00, 50.00, null, 0.89590024, 44.80, 4469.55, 4.82, 0.00, null, null, + checkInst(model, 106, 106, LocalDate.of(2019, 4, 17), 103, 50.00, null, 0.89590024, 44.80, 4469.55, null, 4.82, null, null, 230.46, 990.39); - checkInst(model, 107, 107, LocalDate.of(2019, 4, 18), 104, 50.00, 50.00, null, 0.89494460, 44.75, 4424.32, 4.77, 0.00, null, null, + checkInst(model, 107, 107, LocalDate.of(2019, 4, 18), 104, 50.00, null, 0.89494460, 44.75, 4424.32, null, 4.77, null, null, 225.69, 990.39); - checkInst(model, 108, 108, LocalDate.of(2019, 4, 19), 105, 50.00, 50.00, null, 0.89398999, 44.70, 4379.05, 4.72, 0.00, null, null, + checkInst(model, 108, 108, LocalDate.of(2019, 4, 19), 105, 50.00, null, 0.89398999, 44.70, 4379.05, null, 4.72, null, null, 220.97, 990.39); - checkInst(model, 109, 109, LocalDate.of(2019, 4, 20), 106, 50.00, 50.00, null, 0.89303639, 44.65, 4333.72, 4.68, 0.00, null, null, + checkInst(model, 109, 109, LocalDate.of(2019, 4, 20), 106, 50.00, null, 0.89303639, 44.65, 4333.72, null, 4.68, null, null, 216.29, 990.39); - checkInst(model, 110, 110, LocalDate.of(2019, 4, 21), 107, 50.00, 50.00, null, 0.89208381, 44.60, 4288.35, 4.63, 0.00, null, null, + checkInst(model, 110, 110, LocalDate.of(2019, 4, 21), 107, 50.00, null, 0.89208381, 44.60, 4288.35, null, 4.63, null, null, 211.66, 990.39); - checkInst(model, 111, 111, LocalDate.of(2019, 4, 22), 108, 50.00, 50.00, null, 0.89113225, 44.56, 4242.93, 4.58, 0.00, null, null, + checkInst(model, 111, 111, LocalDate.of(2019, 4, 22), 108, 50.00, null, 0.89113225, 44.56, 4242.93, null, 4.58, null, null, 207.08, 990.39); - checkInst(model, 112, 112, LocalDate.of(2019, 4, 23), 109, 50.00, 50.00, null, 0.89018170, 44.51, 4197.46, 4.53, 0.00, null, null, + checkInst(model, 112, 112, LocalDate.of(2019, 4, 23), 109, 50.00, null, 0.89018170, 44.51, 4197.46, null, 4.53, null, null, 202.55, 990.39); - checkInst(model, 113, 113, LocalDate.of(2019, 4, 24), 110, 50.00, 50.00, null, 0.88923216, 44.46, 4151.94, 4.48, 0.00, null, null, + checkInst(model, 113, 113, LocalDate.of(2019, 4, 24), 110, 50.00, null, 0.88923216, 44.46, 4151.94, null, 4.48, null, null, 198.07, 990.39); - checkInst(model, 114, 114, LocalDate.of(2019, 4, 25), 111, 50.00, 50.00, null, 0.88828364, 44.41, 4106.38, 4.43, 0.00, null, null, + checkInst(model, 114, 114, LocalDate.of(2019, 4, 25), 111, 50.00, null, 0.88828364, 44.41, 4106.38, null, 4.43, null, null, 193.64, 990.39); - checkInst(model, 115, 115, LocalDate.of(2019, 4, 26), 112, 50.00, 50.00, null, 0.88733613, 44.37, 4060.76, 4.38, 0.00, null, null, + checkInst(model, 115, 115, LocalDate.of(2019, 4, 26), 112, 50.00, null, 0.88733613, 44.37, 4060.76, null, 4.38, null, null, 189.26, 990.39); - checkInst(model, 116, 116, LocalDate.of(2019, 4, 27), 113, 50.00, 50.00, null, 0.88638963, 44.32, 4015.10, 4.34, 0.00, null, null, + checkInst(model, 116, 116, LocalDate.of(2019, 4, 27), 113, 50.00, null, 0.88638963, 44.32, 4015.10, null, 4.34, null, null, 184.92, 990.39); - checkInst(model, 117, 117, LocalDate.of(2019, 4, 28), 114, 50.00, 50.00, null, 0.88544414, 44.27, 3969.38, 4.29, 0.00, null, null, + checkInst(model, 117, 117, LocalDate.of(2019, 4, 28), 114, 50.00, null, 0.88544414, 44.27, 3969.38, null, 4.29, null, null, 180.63, 990.39); - checkInst(model, 118, 118, LocalDate.of(2019, 4, 29), 115, 50.00, 50.00, null, 0.88449966, 44.22, 3923.62, 4.24, 0.00, null, null, + checkInst(model, 118, 118, LocalDate.of(2019, 4, 29), 115, 50.00, null, 0.88449966, 44.22, 3923.62, null, 4.24, null, null, 176.39, 990.39); - checkInst(model, 119, 119, LocalDate.of(2019, 4, 30), 116, 50.00, 50.00, null, 0.88355619, 44.18, 3877.81, 4.19, 0.00, null, null, + checkInst(model, 119, 119, LocalDate.of(2019, 4, 30), 116, 50.00, null, 0.88355619, 44.18, 3877.81, null, 4.19, null, null, 172.20, 990.39); - checkInst(model, 120, 120, LocalDate.of(2019, 5, 1), 117, 50.00, 50.00, null, 0.88261372, 44.13, 3831.95, 4.14, 0.00, null, null, + checkInst(model, 120, 120, LocalDate.of(2019, 5, 1), 117, 50.00, null, 0.88261372, 44.13, 3831.95, null, 4.14, null, null, 168.06, 990.39); - checkInst(model, 121, 121, LocalDate.of(2019, 5, 2), 118, 50.00, 50.00, null, 0.88167226, 44.08, 3786.04, 4.09, 0.00, null, null, + checkInst(model, 121, 121, LocalDate.of(2019, 5, 2), 118, 50.00, null, 0.88167226, 44.08, 3786.04, null, 4.09, null, null, 163.97, 990.39); - checkInst(model, 122, 122, LocalDate.of(2019, 5, 3), 119, 50.00, 50.00, null, 0.88073180, 44.04, 3740.09, 4.04, 0.00, null, null, + checkInst(model, 122, 122, LocalDate.of(2019, 5, 3), 119, 50.00, null, 0.88073180, 44.04, 3740.09, null, 4.04, null, null, 159.93, 990.39); - checkInst(model, 123, 123, LocalDate.of(2019, 5, 4), 120, 50.00, 50.00, null, 0.87979234, 43.99, 3694.08, 3.99, 0.00, null, null, + checkInst(model, 123, 123, LocalDate.of(2019, 5, 4), 120, 50.00, null, 0.87979234, 43.99, 3694.08, null, 3.99, null, null, 155.94, 990.39); - checkInst(model, 124, 124, LocalDate.of(2019, 5, 5), 121, 50.00, 50.00, null, 0.87885389, 43.94, 3648.03, 3.94, 0.00, null, null, + checkInst(model, 124, 124, LocalDate.of(2019, 5, 5), 121, 50.00, null, 0.87885389, 43.94, 3648.03, null, 3.94, null, null, 152.00, 990.39); - checkInst(model, 125, 125, LocalDate.of(2019, 5, 6), 122, 50.00, 50.00, null, 0.87791644, 43.90, 3601.92, 3.90, 0.00, null, null, + checkInst(model, 125, 125, LocalDate.of(2019, 5, 6), 122, 50.00, null, 0.87791644, 43.90, 3601.92, null, 3.90, null, null, 148.10, 990.39); - checkInst(model, 126, 126, LocalDate.of(2019, 5, 7), 123, 50.00, 50.00, null, 0.87697999, 43.85, 3555.77, 3.85, 0.00, null, null, + checkInst(model, 126, 126, LocalDate.of(2019, 5, 7), 123, 50.00, null, 0.87697999, 43.85, 3555.77, null, 3.85, null, null, 144.25, 990.39); - checkInst(model, 127, 127, LocalDate.of(2019, 5, 8), 124, 50.00, 50.00, null, 0.87604453, 43.80, 3509.56, 3.80, 0.00, null, null, + checkInst(model, 127, 127, LocalDate.of(2019, 5, 8), 124, 50.00, null, 0.87604453, 43.80, 3509.56, null, 3.80, null, null, 140.45, 990.39); - checkInst(model, 128, 128, LocalDate.of(2019, 5, 9), 125, 50.00, 50.00, null, 0.87511008, 43.76, 3463.31, 3.75, 0.00, null, null, + checkInst(model, 128, 128, LocalDate.of(2019, 5, 9), 125, 50.00, null, 0.87511008, 43.76, 3463.31, null, 3.75, null, null, 136.70, 990.39); - checkInst(model, 129, 129, LocalDate.of(2019, 5, 10), 126, 50.00, 50.00, null, 0.87417662, 43.71, 3417.01, 3.70, 0.00, null, null, + checkInst(model, 129, 129, LocalDate.of(2019, 5, 10), 126, 50.00, null, 0.87417662, 43.71, 3417.01, null, 3.70, null, null, 133.00, 990.39); - checkInst(model, 130, 130, LocalDate.of(2019, 5, 11), 127, 50.00, 50.00, null, 0.87324416, 43.66, 3370.66, 3.65, 0.00, null, null, + checkInst(model, 130, 130, LocalDate.of(2019, 5, 11), 127, 50.00, null, 0.87324416, 43.66, 3370.66, null, 3.65, null, null, 129.35, 990.39); - checkInst(model, 131, 131, LocalDate.of(2019, 5, 12), 128, 50.00, 50.00, null, 0.87231269, 43.62, 3324.26, 3.60, 0.00, null, null, + checkInst(model, 131, 131, LocalDate.of(2019, 5, 12), 128, 50.00, null, 0.87231269, 43.62, 3324.26, null, 3.60, null, null, 125.75, 990.39); - checkInst(model, 132, 132, LocalDate.of(2019, 5, 13), 129, 50.00, 50.00, null, 0.87138221, 43.57, 3277.81, 3.55, 0.00, null, null, + checkInst(model, 132, 132, LocalDate.of(2019, 5, 13), 129, 50.00, null, 0.87138221, 43.57, 3277.81, null, 3.55, null, null, 122.20, 990.39); - checkInst(model, 133, 133, LocalDate.of(2019, 5, 14), 130, 50.00, 50.00, null, 0.87045273, 43.52, 3231.31, 3.50, 0.00, null, null, + checkInst(model, 133, 133, LocalDate.of(2019, 5, 14), 130, 50.00, null, 0.87045273, 43.52, 3231.31, null, 3.50, null, null, 118.70, 990.39); - checkInst(model, 134, 134, LocalDate.of(2019, 5, 15), 131, 50.00, 50.00, null, 0.86952424, 43.48, 3184.76, 3.45, 0.00, null, null, + checkInst(model, 134, 134, LocalDate.of(2019, 5, 15), 131, 50.00, null, 0.86952424, 43.48, 3184.76, null, 3.45, null, null, 115.25, 990.39); - checkInst(model, 135, 135, LocalDate.of(2019, 5, 16), 132, 50.00, 50.00, null, 0.86859674, 43.43, 3138.16, 3.40, 0.00, null, null, + checkInst(model, 135, 135, LocalDate.of(2019, 5, 16), 132, 50.00, null, 0.86859674, 43.43, 3138.16, null, 3.40, null, null, 111.85, 990.39); - checkInst(model, 136, 136, LocalDate.of(2019, 5, 17), 133, 50.00, 50.00, null, 0.86767023, 43.38, 3091.51, 3.35, 0.00, null, null, + checkInst(model, 136, 136, LocalDate.of(2019, 5, 17), 133, 50.00, null, 0.86767023, 43.38, 3091.51, null, 3.35, null, null, 108.50, 990.39); - checkInst(model, 137, 137, LocalDate.of(2019, 5, 18), 134, 50.00, 50.00, null, 0.86674471, 43.34, 3044.81, 3.30, 0.00, null, null, + checkInst(model, 137, 137, LocalDate.of(2019, 5, 18), 134, 50.00, null, 0.86674471, 43.34, 3044.81, null, 3.30, null, null, 105.20, 990.39); - checkInst(model, 138, 138, LocalDate.of(2019, 5, 19), 135, 50.00, 50.00, null, 0.86582017, 43.29, 2998.06, 3.25, 0.00, null, null, + checkInst(model, 138, 138, LocalDate.of(2019, 5, 19), 135, 50.00, null, 0.86582017, 43.29, 2998.06, null, 3.25, null, null, 101.95, 990.39); - checkInst(model, 139, 139, LocalDate.of(2019, 5, 20), 136, 50.00, 50.00, null, 0.86489662, 43.24, 2951.26, 3.20, 0.00, null, null, + checkInst(model, 139, 139, LocalDate.of(2019, 5, 20), 136, 50.00, null, 0.86489662, 43.24, 2951.26, null, 3.20, null, null, 98.75, 990.39); - checkInst(model, 140, 140, LocalDate.of(2019, 5, 21), 137, 50.00, 50.00, null, 0.86397406, 43.20, 2904.42, 3.15, 0.00, null, null, + checkInst(model, 140, 140, LocalDate.of(2019, 5, 21), 137, 50.00, null, 0.86397406, 43.20, 2904.42, null, 3.15, null, null, 95.60, 990.39); - checkInst(model, 141, 141, LocalDate.of(2019, 5, 22), 138, 50.00, 50.00, null, 0.86305248, 43.15, 2857.52, 3.10, 0.00, null, null, + checkInst(model, 141, 141, LocalDate.of(2019, 5, 22), 138, 50.00, null, 0.86305248, 43.15, 2857.52, null, 3.10, null, null, 92.50, 990.39); - checkInst(model, 142, 142, LocalDate.of(2019, 5, 23), 139, 50.00, 50.00, null, 0.86213188, 43.11, 2810.57, 3.05, 0.00, null, null, + checkInst(model, 142, 142, LocalDate.of(2019, 5, 23), 139, 50.00, null, 0.86213188, 43.11, 2810.57, null, 3.05, null, null, 89.45, 990.39); - checkInst(model, 143, 143, LocalDate.of(2019, 5, 24), 140, 50.00, 50.00, null, 0.86121227, 43.06, 2763.57, 3.00, 0.00, null, null, + checkInst(model, 143, 143, LocalDate.of(2019, 5, 24), 140, 50.00, null, 0.86121227, 43.06, 2763.57, null, 3.00, null, null, 86.45, 990.39); - checkInst(model, 144, 144, LocalDate.of(2019, 5, 25), 141, 50.00, 50.00, null, 0.86029363, 43.01, 2716.52, 2.95, 0.00, null, null, + checkInst(model, 144, 144, LocalDate.of(2019, 5, 25), 141, 50.00, null, 0.86029363, 43.01, 2716.52, null, 2.95, null, null, 83.50, 990.39); - checkInst(model, 145, 145, LocalDate.of(2019, 5, 26), 142, 50.00, 50.00, null, 0.85937598, 42.97, 2669.42, 2.90, 0.00, null, null, + checkInst(model, 145, 145, LocalDate.of(2019, 5, 26), 142, 50.00, null, 0.85937598, 42.97, 2669.42, null, 2.90, null, null, 80.60, 990.39); - checkInst(model, 146, 146, LocalDate.of(2019, 5, 27), 143, 50.00, 50.00, null, 0.85845930, 42.92, 2622.27, 2.85, 0.00, null, null, + checkInst(model, 146, 146, LocalDate.of(2019, 5, 27), 143, 50.00, null, 0.85845930, 42.92, 2622.27, null, 2.85, null, null, 77.75, 990.39); - checkInst(model, 147, 147, LocalDate.of(2019, 5, 28), 144, 50.00, 50.00, null, 0.85754361, 42.88, 2575.07, 2.80, 0.00, null, null, + checkInst(model, 147, 147, LocalDate.of(2019, 5, 28), 144, 50.00, null, 0.85754361, 42.88, 2575.07, null, 2.80, null, null, 74.95, 990.39); - checkInst(model, 148, 148, LocalDate.of(2019, 5, 29), 145, 50.00, 50.00, null, 0.85662889, 42.83, 2527.82, 2.75, 0.00, null, null, + checkInst(model, 148, 148, LocalDate.of(2019, 5, 29), 145, 50.00, null, 0.85662889, 42.83, 2527.82, null, 2.75, null, null, 72.20, 990.39); - checkInst(model, 149, 149, LocalDate.of(2019, 5, 30), 146, 50.00, 50.00, null, 0.85571514, 42.79, 2480.52, 2.70, 0.00, null, null, + checkInst(model, 149, 149, LocalDate.of(2019, 5, 30), 146, 50.00, null, 0.85571514, 42.79, 2480.52, null, 2.70, null, null, 69.50, 990.39); - checkInst(model, 150, 150, LocalDate.of(2019, 5, 31), 147, 50.00, 50.00, null, 0.85480237, 42.74, 2433.17, 2.65, 0.00, null, null, + checkInst(model, 150, 150, LocalDate.of(2019, 5, 31), 147, 50.00, null, 0.85480237, 42.74, 2433.17, null, 2.65, null, null, 66.85, 990.39); - checkInst(model, 151, 151, LocalDate.of(2019, 6, 1), 148, 50.00, 50.00, null, 0.85389057, 42.69, 2385.77, 2.60, 0.00, null, null, + checkInst(model, 151, 151, LocalDate.of(2019, 6, 1), 148, 50.00, null, 0.85389057, 42.69, 2385.77, null, 2.60, null, null, 64.25, 990.39); - checkInst(model, 152, 152, LocalDate.of(2019, 6, 2), 149, 50.00, 50.00, null, 0.85297975, 42.65, 2338.31, 2.55, 0.00, null, null, + checkInst(model, 152, 152, LocalDate.of(2019, 6, 2), 149, 50.00, null, 0.85297975, 42.65, 2338.31, null, 2.55, null, null, 61.70, 990.39); - checkInst(model, 153, 153, LocalDate.of(2019, 6, 3), 150, 50.00, 50.00, null, 0.85206990, 42.60, 2290.81, 2.50, 0.00, null, null, + checkInst(model, 153, 153, LocalDate.of(2019, 6, 3), 150, 50.00, null, 0.85206990, 42.60, 2290.81, null, 2.50, null, null, 59.20, 990.39); - checkInst(model, 154, 154, LocalDate.of(2019, 6, 4), 151, 50.00, 50.00, null, 0.85116101, 42.56, 2243.26, 2.45, 0.00, null, null, + checkInst(model, 154, 154, LocalDate.of(2019, 6, 4), 151, 50.00, null, 0.85116101, 42.56, 2243.26, null, 2.45, null, null, 56.75, 990.39); - checkInst(model, 155, 155, LocalDate.of(2019, 6, 5), 152, 50.00, 50.00, null, 0.85025310, 42.51, 2195.65, 2.40, 0.00, null, null, + checkInst(model, 155, 155, LocalDate.of(2019, 6, 5), 152, 50.00, null, 0.85025310, 42.51, 2195.65, null, 2.40, null, null, 54.35, 990.39); - checkInst(model, 156, 156, LocalDate.of(2019, 6, 6), 153, 50.00, 50.00, null, 0.84934616, 42.47, 2148.00, 2.34, 0.00, null, null, + checkInst(model, 156, 156, LocalDate.of(2019, 6, 6), 153, 50.00, null, 0.84934616, 42.47, 2148.00, null, 2.34, null, null, 52.01, 990.39); - checkInst(model, 157, 157, LocalDate.of(2019, 6, 7), 154, 50.00, 50.00, null, 0.84844018, 42.42, 2100.29, 2.29, 0.00, null, null, + checkInst(model, 157, 157, LocalDate.of(2019, 6, 7), 154, 50.00, null, 0.84844018, 42.42, 2100.29, null, 2.29, null, null, 49.72, 990.39); - checkInst(model, 158, 158, LocalDate.of(2019, 6, 8), 155, 50.00, 50.00, null, 0.84753517, 42.38, 2052.53, 2.24, 0.00, null, null, + checkInst(model, 158, 158, LocalDate.of(2019, 6, 8), 155, 50.00, null, 0.84753517, 42.38, 2052.53, null, 2.24, null, null, 47.48, 990.39); - checkInst(model, 159, 159, LocalDate.of(2019, 6, 9), 156, 50.00, 50.00, null, 0.84663113, 42.33, 2004.73, 2.19, 0.00, null, null, + checkInst(model, 159, 159, LocalDate.of(2019, 6, 9), 156, 50.00, null, 0.84663113, 42.33, 2004.73, null, 2.19, null, null, 45.29, 990.39); - checkInst(model, 160, 160, LocalDate.of(2019, 6, 10), 157, 50.00, 50.00, null, 0.84572805, 42.29, 1956.87, 2.14, 0.00, null, null, + checkInst(model, 160, 160, LocalDate.of(2019, 6, 10), 157, 50.00, null, 0.84572805, 42.29, 1956.87, null, 2.14, null, null, 43.15, 990.39); - checkInst(model, 161, 161, LocalDate.of(2019, 6, 11), 158, 50.00, 50.00, null, 0.84482593, 42.24, 1908.96, 2.09, 0.00, null, null, + checkInst(model, 161, 161, LocalDate.of(2019, 6, 11), 158, 50.00, null, 0.84482593, 42.24, 1908.96, null, 2.09, null, null, 41.06, 990.39); - checkInst(model, 162, 162, LocalDate.of(2019, 6, 12), 159, 50.00, 50.00, null, 0.84392477, 42.20, 1860.99, 2.04, 0.00, null, null, + checkInst(model, 162, 162, LocalDate.of(2019, 6, 12), 159, 50.00, null, 0.84392477, 42.20, 1860.99, null, 2.04, null, null, 39.02, 990.39); - checkInst(model, 163, 163, LocalDate.of(2019, 6, 13), 160, 50.00, 50.00, null, 0.84302458, 42.15, 1812.98, 1.99, 0.00, null, null, + checkInst(model, 163, 163, LocalDate.of(2019, 6, 13), 160, 50.00, null, 0.84302458, 42.15, 1812.98, null, 1.99, null, null, 37.03, 990.39); - checkInst(model, 164, 164, LocalDate.of(2019, 6, 14), 161, 50.00, 50.00, null, 0.84212535, 42.11, 1764.92, 1.94, 0.00, null, null, + checkInst(model, 164, 164, LocalDate.of(2019, 6, 14), 161, 50.00, null, 0.84212535, 42.11, 1764.92, null, 1.94, null, null, 35.09, 990.39); - checkInst(model, 165, 165, LocalDate.of(2019, 6, 15), 162, 50.00, 50.00, null, 0.84122707, 42.06, 1716.80, 1.88, 0.00, null, null, + checkInst(model, 165, 165, LocalDate.of(2019, 6, 15), 162, 50.00, null, 0.84122707, 42.06, 1716.80, null, 1.88, null, null, 33.21, 990.39); - checkInst(model, 166, 166, LocalDate.of(2019, 6, 16), 163, 50.00, 50.00, null, 0.84032975, 42.02, 1668.64, 1.83, 0.00, null, null, + checkInst(model, 166, 166, LocalDate.of(2019, 6, 16), 163, 50.00, null, 0.84032975, 42.02, 1668.64, null, 1.83, null, null, 31.38, 990.39); - checkInst(model, 167, 167, LocalDate.of(2019, 6, 17), 164, 50.00, 50.00, null, 0.83943340, 41.97, 1620.42, 1.78, 0.00, null, null, + checkInst(model, 167, 167, LocalDate.of(2019, 6, 17), 164, 50.00, null, 0.83943340, 41.97, 1620.42, null, 1.78, null, null, 29.60, 990.39); - checkInst(model, 168, 168, LocalDate.of(2019, 6, 18), 165, 50.00, 50.00, null, 0.83853799, 41.93, 1572.15, 1.73, 0.00, null, null, + checkInst(model, 168, 168, LocalDate.of(2019, 6, 18), 165, 50.00, null, 0.83853799, 41.93, 1572.15, null, 1.73, null, null, 27.87, 990.39); - checkInst(model, 169, 169, LocalDate.of(2019, 6, 19), 166, 50.00, 50.00, null, 0.83764354, 41.88, 1523.83, 1.68, 0.00, null, null, + checkInst(model, 169, 169, LocalDate.of(2019, 6, 19), 166, 50.00, null, 0.83764354, 41.88, 1523.83, null, 1.68, null, null, 26.19, 990.39); - checkInst(model, 170, 170, LocalDate.of(2019, 6, 20), 167, 50.00, 50.00, null, 0.83675005, 41.84, 1475.45, 1.63, 0.00, null, null, + checkInst(model, 170, 170, LocalDate.of(2019, 6, 20), 167, 50.00, null, 0.83675005, 41.84, 1475.45, null, 1.63, null, null, 24.56, 990.39); - checkInst(model, 171, 171, LocalDate.of(2019, 6, 21), 168, 50.00, 50.00, null, 0.83585751, 41.79, 1427.03, 1.58, 0.00, null, null, + checkInst(model, 171, 171, LocalDate.of(2019, 6, 21), 168, 50.00, null, 0.83585751, 41.79, 1427.03, null, 1.58, null, null, 22.98, 990.39); - checkInst(model, 172, 172, LocalDate.of(2019, 6, 22), 169, 50.00, 50.00, null, 0.83496592, 41.75, 1378.55, 1.52, 0.00, null, null, + checkInst(model, 172, 172, LocalDate.of(2019, 6, 22), 169, 50.00, null, 0.83496592, 41.75, 1378.55, null, 1.52, null, null, 21.46, 990.39); - checkInst(model, 173, 173, LocalDate.of(2019, 6, 23), 170, 50.00, 50.00, null, 0.83407528, 41.70, 1330.02, 1.47, 0.00, null, null, + checkInst(model, 173, 173, LocalDate.of(2019, 6, 23), 170, 50.00, null, 0.83407528, 41.70, 1330.02, null, 1.47, null, null, 19.99, 990.39); - checkInst(model, 174, 174, LocalDate.of(2019, 6, 24), 171, 50.00, 50.00, null, 0.83318560, 41.66, 1281.45, 1.42, 0.00, null, null, + checkInst(model, 174, 174, LocalDate.of(2019, 6, 24), 171, 50.00, null, 0.83318560, 41.66, 1281.45, null, 1.42, null, null, 18.57, 990.39); - checkInst(model, 175, 175, LocalDate.of(2019, 6, 25), 172, 50.00, 50.00, null, 0.83229686, 41.61, 1232.81, 1.37, 0.00, null, null, + checkInst(model, 175, 175, LocalDate.of(2019, 6, 25), 172, 50.00, null, 0.83229686, 41.61, 1232.81, null, 1.37, null, null, 17.20, 990.39); - checkInst(model, 176, 176, LocalDate.of(2019, 6, 26), 173, 50.00, 50.00, null, 0.83140907, 41.57, 1184.13, 1.32, 0.00, null, null, + checkInst(model, 176, 176, LocalDate.of(2019, 6, 26), 173, 50.00, null, 0.83140907, 41.57, 1184.13, null, 1.32, null, null, 15.88, 990.39); - checkInst(model, 177, 177, LocalDate.of(2019, 6, 27), 174, 50.00, 50.00, null, 0.83052222, 41.53, 1135.39, 1.26, 0.00, null, null, + checkInst(model, 177, 177, LocalDate.of(2019, 6, 27), 174, 50.00, null, 0.83052222, 41.53, 1135.39, null, 1.26, null, null, 14.62, 990.39); - checkInst(model, 178, 178, LocalDate.of(2019, 6, 28), 175, 50.00, 50.00, null, 0.82963633, 41.48, 1086.61, 1.21, 0.00, null, null, + checkInst(model, 178, 178, LocalDate.of(2019, 6, 28), 175, 50.00, null, 0.82963633, 41.48, 1086.61, null, 1.21, null, null, 13.41, 990.39); - checkInst(model, 179, 179, LocalDate.of(2019, 6, 29), 176, 50.00, 50.00, null, 0.82875137, 41.44, 1037.77, 1.16, 0.00, null, null, + checkInst(model, 179, 179, LocalDate.of(2019, 6, 29), 176, 50.00, null, 0.82875137, 41.44, 1037.77, null, 1.16, null, null, 12.25, 990.39); - checkInst(model, 180, 180, LocalDate.of(2019, 6, 30), 177, 50.00, 50.00, null, 0.82786736, 41.39, 988.88, 1.11, 0.00, null, null, + checkInst(model, 180, 180, LocalDate.of(2019, 6, 30), 177, 50.00, null, 0.82786736, 41.39, 988.88, null, 1.11, null, null, 11.14, 990.39); - checkInst(model, 181, 181, LocalDate.of(2019, 7, 1), 178, 50.00, 50.00, null, 0.82698430, 41.35, 939.93, 1.06, 0.00, null, null, + checkInst(model, 181, 181, LocalDate.of(2019, 7, 1), 178, 50.00, null, 0.82698430, 41.35, 939.93, null, 1.06, null, null, 10.08, 990.39); - checkInst(model, 182, 182, LocalDate.of(2019, 7, 2), 179, 50.00, 50.00, null, 0.82610217, 41.31, 890.93, 1.00, 0.00, null, null, + checkInst(model, 182, 182, LocalDate.of(2019, 7, 2), 179, 50.00, null, 0.82610217, 41.31, 890.93, null, 1.00, null, null, 9.08, 990.39); - checkInst(model, 183, 183, LocalDate.of(2019, 7, 3), 180, 50.00, 50.00, null, 0.82522099, 41.26, 841.89, 0.95, 0.00, null, null, + checkInst(model, 183, 183, LocalDate.of(2019, 7, 3), 180, 50.00, null, 0.82522099, 41.26, 841.89, null, 0.95, null, null, 8.13, 990.39); - checkInst(model, 184, 184, LocalDate.of(2019, 7, 4), 181, 50.00, 50.00, null, 0.82434075, 41.22, 792.79, 0.90, 0.00, null, null, + checkInst(model, 184, 184, LocalDate.of(2019, 7, 4), 181, 50.00, null, 0.82434075, 41.22, 792.79, null, 0.90, null, null, 7.23, 990.39); - checkInst(model, 185, 185, LocalDate.of(2019, 7, 5), 182, 50.00, 50.00, null, 0.82346144, 41.17, 743.63, 0.85, 0.00, null, null, + checkInst(model, 185, 185, LocalDate.of(2019, 7, 5), 182, 50.00, null, 0.82346144, 41.17, 743.63, null, 0.85, null, null, 6.38, 990.39); - checkInst(model, 186, 186, LocalDate.of(2019, 7, 6), 183, 50.00, 50.00, null, 0.82258308, 41.13, 694.43, 0.79, 0.00, null, null, + checkInst(model, 186, 186, LocalDate.of(2019, 7, 6), 183, 50.00, null, 0.82258308, 41.13, 694.43, null, 0.79, null, null, 5.59, 990.39); - checkInst(model, 187, 187, LocalDate.of(2019, 7, 7), 184, 50.00, 50.00, null, 0.82170565, 41.09, 645.17, 0.74, 0.00, null, null, + checkInst(model, 187, 187, LocalDate.of(2019, 7, 7), 184, 50.00, null, 0.82170565, 41.09, 645.17, null, 0.74, null, null, 4.85, 990.39); - checkInst(model, 188, 188, LocalDate.of(2019, 7, 8), 185, 50.00, 50.00, null, 0.82082916, 41.04, 595.86, 0.69, 0.00, null, null, + checkInst(model, 188, 188, LocalDate.of(2019, 7, 8), 185, 50.00, null, 0.82082916, 41.04, 595.86, null, 0.69, null, null, 4.16, 990.39); - checkInst(model, 189, 189, LocalDate.of(2019, 7, 9), 186, 50.00, 50.00, null, 0.81995360, 41.00, 546.49, 0.64, 0.00, null, null, + checkInst(model, 189, 189, LocalDate.of(2019, 7, 9), 186, 50.00, null, 0.81995360, 41.00, 546.49, null, 0.64, null, null, 3.52, 990.39); - checkInst(model, 190, 190, LocalDate.of(2019, 7, 10), 187, 50.00, 50.00, null, 0.81907897, 40.95, 497.08, 0.58, 0.00, null, null, + checkInst(model, 190, 190, LocalDate.of(2019, 7, 10), 187, 50.00, null, 0.81907897, 40.95, 497.08, null, 0.58, null, null, 2.94, 990.39); - checkInst(model, 191, 191, LocalDate.of(2019, 7, 11), 188, 50.00, 50.00, null, 0.81820528, 40.91, 447.61, 0.53, 0.00, null, null, + checkInst(model, 191, 191, LocalDate.of(2019, 7, 11), 188, 50.00, null, 0.81820528, 40.91, 447.61, null, 0.53, null, null, 2.41, 990.39); - checkInst(model, 192, 192, LocalDate.of(2019, 7, 12), 189, 50.00, 50.00, null, 0.81733252, 40.87, 398.08, 0.48, 0.00, null, null, + checkInst(model, 192, 192, LocalDate.of(2019, 7, 12), 189, 50.00, null, 0.81733252, 40.87, 398.08, null, 0.48, null, null, 1.93, 990.39); - checkInst(model, 193, 193, LocalDate.of(2019, 7, 13), 190, 50.00, 50.00, null, 0.81646069, 40.82, 348.51, 0.43, 0.00, null, null, + checkInst(model, 193, 193, LocalDate.of(2019, 7, 13), 190, 50.00, null, 0.81646069, 40.82, 348.51, null, 0.43, null, null, 1.50, 990.39); - checkInst(model, 194, 194, LocalDate.of(2019, 7, 14), 191, 50.00, 50.00, null, 0.81558979, 40.78, 298.88, 0.37, 0.00, null, null, + checkInst(model, 194, 194, LocalDate.of(2019, 7, 14), 191, 50.00, null, 0.81558979, 40.78, 298.88, null, 0.37, null, null, 1.13, 990.39); - checkInst(model, 195, 195, LocalDate.of(2019, 7, 15), 192, 50.00, 50.00, null, 0.81471983, 40.74, 249.20, 0.32, 0.00, null, null, + checkInst(model, 195, 195, LocalDate.of(2019, 7, 15), 192, 50.00, null, 0.81471983, 40.74, 249.20, null, 0.32, null, null, 0.81, 990.39); - checkInst(model, 196, 196, LocalDate.of(2019, 7, 16), 193, 50.00, 50.00, null, 0.81385078, 40.69, 199.47, 0.27, 0.00, null, null, + checkInst(model, 196, 196, LocalDate.of(2019, 7, 16), 193, 50.00, null, 0.81385078, 40.69, 199.47, null, 0.27, null, null, 0.54, 990.39); - checkInst(model, 197, 197, LocalDate.of(2019, 7, 17), 194, 50.00, 50.00, null, 0.81298267, 40.65, 149.68, 0.21, 0.00, null, null, + checkInst(model, 197, 197, LocalDate.of(2019, 7, 17), 194, 50.00, null, 0.81298267, 40.65, 149.68, null, 0.21, null, null, 0.33, 990.39); - checkInst(model, 198, 198, LocalDate.of(2019, 7, 18), 195, 50.00, 50.00, null, 0.81211548, 40.61, 99.84, 0.16, 0.00, null, null, + checkInst(model, 198, 198, LocalDate.of(2019, 7, 18), 195, 50.00, null, 0.81211548, 40.61, 99.84, null, 0.16, null, null, 0.17, 990.39); - checkInst(model, 199, 199, LocalDate.of(2019, 7, 19), 196, 50.00, 50.00, null, 0.81124922, 40.56, 49.95, 0.11, 0.00, null, null, + checkInst(model, 199, 199, LocalDate.of(2019, 7, 19), 196, 50.00, null, 0.81124922, 40.56, 49.95, null, 0.11, null, null, 0.06, 990.39); - checkInst(model, 200, 200, LocalDate.of(2019, 7, 20), 197, 50.00, 50.00, null, 0.81038388, 40.52, 0.00, 0.05, 0.00, null, null, + checkInst(model, 200, 200, LocalDate.of(2019, 7, 20), 197, 50.00, null, 0.81038388, 40.52, 0.00, null, 0.05, null, null, 0.01, 990.39); assertEquals(203, model.projectedPayments().size(), "disbursement + 200 regular + 2 additional"); - checkInst(model, 201, 201, LocalDate.of(2019, 7, 21), 198, null, 50.00, null, 0.80951946, 40.48, null, null, 0.00, null, null, - null); - checkInst(model, 202, 202, LocalDate.of(2019, 7, 22), 199, null, 50.00, null, 0.80865597, 40.43, null, null, 0.00, null, null, - null); + checkInst(model, 201, 201, LocalDate.of(2019, 7, 21), 198, null, null, 0.80951946, 40.48, null, null, null, null, null, null, null); + checkInst(model, 202, 202, LocalDate.of(2019, 7, 22), 199, null, null, 0.80865597, 40.43, null, null, null, null, null, null, null); } @Test void testLessPayment_term10_discountFee50_netDisbursement450_pay40() { final BigDecimal smallDiscountFee = new BigDecimal("50"); final BigDecimal smallNetDisbursement = new BigDecimal("450"); - final ProjectedAmortizationScheduleModel initial = calculator.generateModel(smallDiscountFee, smallNetDisbursement, TPV, RATE, - DAY_COUNT, EXPECTED_DISBURSEMENT_DATE, MC, CURRENCY); - final ProjectedAmortizationScheduleModel model = calculator.addDisbursement(initial, smallDiscountFee, smallNetDisbursement, - EXPECTED_DISBURSEMENT_DATE); + final ProjectedAmortizationScheduleModel initial = ProjectedAmortizationScheduleModel.generate(smallDiscountFee, + smallNetDisbursement, TPV, RATE, DAY_COUNT, EXPECTED_DISBURSEMENT_DATE, MC, CURRENCY, EXPECTED_DISBURSEMENT_DATE); + final ProjectedAmortizationScheduleModel model = initial.regenerate(smallDiscountFee, smallNetDisbursement, + EXPECTED_DISBURSEMENT_DATE, EXPECTED_DISBURSEMENT_DATE); - calculator.applyPayment(model, EXPECTED_DISBURSEMENT_DATE.plusDays(1), new BigDecimal("40")); + model.applyPayment(EXPECTED_DISBURSEMENT_DATE.plusDays(1), new BigDecimal("40")); assertEquals(12, model.projectedPayments().size(), "disbursement + 10 regular + 1 tail"); - checkInst(model, 0, 0, EXPECTED_DISBURSEMENT_DATE, 0, -450.00, null, null, 1.00000000, -450.00, 450.00, null, null, null, null, + checkInst(model, 0, 0, EXPECTED_DISBURSEMENT_DATE, 0, -450.00, null, 1.00000000, -450.00, 450.00, 450.00, null, null, null, 50.00, 50.00); - checkInst(model, 1, 1, LocalDate.of(2019, 1, 2), 0, 50.00, 50.00, 40.00, 1.00000000, 40.00, 408.83, 8.83, 7.07, 7.06, -1.77, 42.94); - checkInst(model, 2, 2, LocalDate.of(2019, 1, 3), 1, 50.00, 50.00, null, 0.98074794, 49.04, 366.86, 8.03, 0.00, null, null, 42.94); - checkInst(model, 3, 3, LocalDate.of(2019, 1, 4), 2, 50.00, 50.00, null, 0.96186652, 48.09, 324.06, 7.20, 0.00, null, null, 42.94); - checkInst(model, 4, 4, LocalDate.of(2019, 1, 5), 3, 50.00, 50.00, null, 0.94334860, 47.17, 280.42, 6.36, 0.00, null, null, 42.94); - checkInst(model, 5, 5, LocalDate.of(2019, 1, 6), 4, 50.00, 50.00, null, 0.92518720, 46.26, 235.93, 5.50, 0.00, null, null, 42.94); - checkInst(model, 6, 6, LocalDate.of(2019, 1, 7), 5, 50.00, 50.00, null, 0.90737544, 45.37, 190.56, 4.63, 0.00, null, null, 42.94); - checkInst(model, 7, 7, LocalDate.of(2019, 1, 8), 6, 50.00, 50.00, null, 0.88990659, 44.50, 144.30, 3.74, 0.00, null, null, 42.94); - checkInst(model, 8, 8, LocalDate.of(2019, 1, 9), 7, 50.00, 50.00, null, 0.87277405, 43.64, 97.13, 2.83, 0.00, null, null, 42.94); - checkInst(model, 9, 9, LocalDate.of(2019, 1, 10), 8, 50.00, 50.00, null, 0.85597135, 42.80, 49.04, 1.91, 0.00, null, null, 42.94); - checkInst(model, 10, 10, LocalDate.of(2019, 1, 11), 9, 50.00, 50.00, null, 0.83949214, 41.97, 0.00, 0.96, 0.00, null, null, 42.94); - - checkInst(model, 11, 11, LocalDate.of(2019, 1, 12), 10, null, 10.00, null, 0.82333018, 8.23, null, null, 0.00, null, null, null); + checkInst(model, 1, 1, LocalDate.of(2019, 1, 2), 0, 50.00, 40.00, 1.00000000, 40.00, 408.83, 410.00, 8.83, 7.06, -1.77, 41.17, + 42.94); + checkInst(model, 2, 2, LocalDate.of(2019, 1, 3), 1, 50.00, null, 0.98074794, 49.04, 366.86, null, 8.03, null, null, 33.14, 42.94); + checkInst(model, 3, 3, LocalDate.of(2019, 1, 4), 2, 50.00, null, 0.96186652, 48.09, 324.06, null, 7.20, null, null, 25.94, 42.94); + checkInst(model, 4, 4, LocalDate.of(2019, 1, 5), 3, 50.00, null, 0.94334860, 47.17, 280.42, null, 6.36, null, null, 19.58, 42.94); + checkInst(model, 5, 5, LocalDate.of(2019, 1, 6), 4, 50.00, null, 0.92518720, 46.26, 235.93, null, 5.50, null, null, 14.08, 42.94); + checkInst(model, 6, 6, LocalDate.of(2019, 1, 7), 5, 50.00, null, 0.90737544, 45.37, 190.56, null, 4.63, null, null, 9.45, 42.94); + checkInst(model, 7, 7, LocalDate.of(2019, 1, 8), 6, 50.00, null, 0.88990659, 44.50, 144.30, null, 3.74, null, null, 5.71, 42.94); + checkInst(model, 8, 8, LocalDate.of(2019, 1, 9), 7, 50.00, null, 0.87277405, 43.64, 97.13, null, 2.83, null, null, 2.88, 42.94); + checkInst(model, 9, 9, LocalDate.of(2019, 1, 10), 8, 50.00, null, 0.85597135, 42.80, 49.04, null, 1.91, null, null, 0.97, 42.94); + checkInst(model, 10, 10, LocalDate.of(2019, 1, 11), 9, 50.00, null, 0.83949214, 41.97, 0.00, null, 0.96, null, null, 0.01, 42.94); + + checkInst(model, 11, 11, LocalDate.of(2019, 1, 12), 10, null, null, 0.82333018, 8.23, null, null, null, null, null, null, null); } @Test void testExcessPayment_term10_discountFee50_netDisbursement450_pay110() { final BigDecimal smallDiscountFee = new BigDecimal("50"); final BigDecimal smallNetDisbursement = new BigDecimal("450"); - final ProjectedAmortizationScheduleModel initial = calculator.generateModel(smallDiscountFee, smallNetDisbursement, TPV, RATE, - DAY_COUNT, EXPECTED_DISBURSEMENT_DATE, MC, CURRENCY); - final ProjectedAmortizationScheduleModel model = calculator.addDisbursement(initial, smallDiscountFee, smallNetDisbursement, - EXPECTED_DISBURSEMENT_DATE); + final ProjectedAmortizationScheduleModel initial = ProjectedAmortizationScheduleModel.generate(smallDiscountFee, + smallNetDisbursement, TPV, RATE, DAY_COUNT, EXPECTED_DISBURSEMENT_DATE, MC, CURRENCY, EXPECTED_DISBURSEMENT_DATE); + final ProjectedAmortizationScheduleModel model = initial.regenerate(smallDiscountFee, smallNetDisbursement, + EXPECTED_DISBURSEMENT_DATE, EXPECTED_DISBURSEMENT_DATE); - calculator.applyPayment(model, EXPECTED_DISBURSEMENT_DATE.plusDays(1), new BigDecimal("110")); + model.applyPayment(EXPECTED_DISBURSEMENT_DATE.plusDays(1), new BigDecimal("110")); assertEquals(10, model.projectedPayments().size(), "disbursement + 9 regular (period 10 removed, forecast was 0)"); - checkInst(model, 0, 0, EXPECTED_DISBURSEMENT_DATE, 0, -450.00, null, null, 1.00000000, -450.00, 450.00, null, null, null, null, + checkInst(model, 0, 0, EXPECTED_DISBURSEMENT_DATE, 0, -450.00, null, 1.00000000, -450.00, 450.00, 450.00, null, null, null, 50.00, 50.00); - checkInst(model, 1, 1, LocalDate.of(2019, 1, 2), 0, 50.00, 50.00, 110.00, 1.00000000, 110.00, 408.83, 8.83, 18.30, 18.30, 9.47, + checkInst(model, 1, 1, LocalDate.of(2019, 1, 2), 0, 50.00, 110.00, 1.00000000, 110.00, 408.83, 340.00, 8.83, 18.30, 9.47, 41.17, 31.70); - checkInst(model, 2, 2, LocalDate.of(2019, 1, 3), 1, 50.00, 50.00, null, 0.98074794, 49.04, 366.86, 8.03, 0.00, null, null, 31.70); - checkInst(model, 3, 3, LocalDate.of(2019, 1, 4), 2, 50.00, 50.00, null, 0.96186652, 48.09, 324.06, 7.20, 0.00, null, null, 31.70); - checkInst(model, 4, 4, LocalDate.of(2019, 1, 5), 3, 50.00, 50.00, null, 0.94334860, 47.17, 280.42, 6.36, 0.00, null, null, 31.70); - checkInst(model, 5, 5, LocalDate.of(2019, 1, 6), 4, 50.00, 50.00, null, 0.92518720, 46.26, 235.93, 5.50, 0.00, null, null, 31.70); - checkInst(model, 6, 6, LocalDate.of(2019, 1, 7), 5, 50.00, 50.00, null, 0.90737544, 45.37, 190.56, 4.63, 0.00, null, null, 31.70); - checkInst(model, 7, 7, LocalDate.of(2019, 1, 8), 6, 50.00, 50.00, null, 0.88990659, 44.50, 144.30, 3.74, 0.00, null, null, 31.70); - checkInst(model, 8, 8, LocalDate.of(2019, 1, 9), 7, 50.00, 50.00, null, 0.87277405, 43.64, 97.13, 2.83, 0.00, null, null, 31.70); - checkInst(model, 9, 9, LocalDate.of(2019, 1, 10), 8, 50.00, 40.00, null, 0.85597135, 34.24, 49.04, 1.91, 0.00, null, null, 31.70); + checkInst(model, 2, 2, LocalDate.of(2019, 1, 3), 1, 50.00, null, 0.98074794, 49.04, 366.86, null, 8.03, null, null, 33.14, 31.70); + checkInst(model, 3, 3, LocalDate.of(2019, 1, 4), 2, 50.00, null, 0.96186652, 48.09, 324.06, null, 7.20, null, null, 25.94, 31.70); + checkInst(model, 4, 4, LocalDate.of(2019, 1, 5), 3, 50.00, null, 0.94334860, 47.17, 280.42, null, 6.36, null, null, 19.58, 31.70); + checkInst(model, 5, 5, LocalDate.of(2019, 1, 6), 4, 50.00, null, 0.92518720, 46.26, 235.93, null, 5.50, null, null, 14.08, 31.70); + checkInst(model, 6, 6, LocalDate.of(2019, 1, 7), 5, 50.00, null, 0.90737544, 45.37, 190.56, null, 4.63, null, null, 9.45, 31.70); + checkInst(model, 7, 7, LocalDate.of(2019, 1, 8), 6, 50.00, null, 0.88990659, 44.50, 144.30, null, 3.74, null, null, 5.71, 31.70); + checkInst(model, 8, 8, LocalDate.of(2019, 1, 9), 7, 50.00, null, 0.87277405, 43.64, 97.13, null, 2.83, null, null, 2.88, 31.70); + checkInst(model, 9, 9, LocalDate.of(2019, 1, 10), 8, 50.00, null, 0.85597135, 34.24, 49.04, null, 1.91, null, null, 0.97, 31.70); } // ============================================================================================== @@ -2314,17 +2337,18 @@ void testApplyRateChange_beforeDisburseDate() { } private ProjectedAmortizationScheduleModel generateModel() { - final ProjectedAmortizationScheduleModel model = calculator.generateModel(DISCOUNT_FEE, NET_DISBURSEMENT, TPV, RATE, DAY_COUNT, - EXPECTED_DISBURSEMENT_DATE, MC, CURRENCY); - return calculator.addDisbursement(model, DISCOUNT_FEE, NET_DISBURSEMENT, EXPECTED_DISBURSEMENT_DATE); + final ProjectedAmortizationScheduleModel model = ProjectedAmortizationScheduleModel.generate(DISCOUNT_FEE, NET_DISBURSEMENT, TPV, + RATE, DAY_COUNT, EXPECTED_DISBURSEMENT_DATE, MC, CURRENCY, EXPECTED_DISBURSEMENT_DATE); + return model.regenerate(DISCOUNT_FEE, NET_DISBURSEMENT, EXPECTED_DISBURSEMENT_DATE, EXPECTED_DISBURSEMENT_DATE); } + @SuppressWarnings("ParameterNumber") private void checkInst(final ProjectedAmortizationScheduleModel model, final int index, final int expectedNo, - final LocalDate expectedDate, final long expectedPaymentsLeft, final Double expectedPayment, - final Double expectedForecastPayment, final Double expectedActualPayment, final Double expectedDiscountFactor, - final Double expectedNpvValue, final Double expectedBalance, final Double expectedAmortization, - final Double expectedNetAmortization, final Double expectedActualAmortization, final Double expectedIncomeModification, - final Double expectedDeferredBalance) { + final LocalDate expectedDate, final long expectedPaymentsLeft, final Double expectedPayment, final Double expectedActualPayment, + final Double expectedDiscountFactor, final Double expectedNpvValue, final Double expectedExpectedBalance, + final Double expectedActualBalance, final Double expectedAmortization, final Double expectedActualAmortization, + final Double expectedIncomeModification, final Double expectedExpectedDiscountFeeBalance, + final Double expectedActualDiscountFeeBalance) { final ProjectedPayment inst = model.projectedPayments().get(index); final String p = "inst " + expectedNo + ": "; @@ -2332,16 +2356,16 @@ private void checkInst(final ProjectedAmortizationScheduleModel model, final int assertEquals(expectedDate, inst.date(), p + "date"); assertEquals(expectedPaymentsLeft, inst.paymentsLeft(), p + "paymentsLeft"); assertMoneyValue(expectedPayment, inst.expectedPaymentAmount(), 2, p + "expectedPayment"); - assertMoneyValue(expectedForecastPayment, inst.forecastPaymentAmount(), 2, p + "forecastPayment"); assertMoneyValue(expectedActualPayment, inst.actualPaymentAmount(), 2, p + "actualPayment"); assertValue(expectedDiscountFactor, inst.discountFactor(), 8, p + "discountFactor"); assertMoneyValue(expectedNpvValue, inst.npvValue(), 2, p + "npvValue"); - assertMoneyValue(expectedBalance, inst.balance(), 2, p + "balance"); + assertMoneyValue(expectedExpectedBalance, inst.expectedBalance(), 2, p + "expectedBalance"); + assertMoneyValue(expectedActualBalance, inst.actualBalance(), 2, p + "actualBalance"); assertMoneyValue(expectedAmortization, inst.expectedAmortizationAmount(), 2, p + "expectedAmortization"); - assertMoneyValue(expectedNetAmortization, inst.totalAmortizedAmount(), 2, p + "netAmortization"); assertMoneyValue(expectedActualAmortization, inst.actualAmortizationAmount(), 2, p + "actualAmort"); assertMoneyValue(expectedIncomeModification, inst.incomeModification(), 2, p + "incomeModification"); - assertMoneyValue(expectedDeferredBalance, inst.deferredBalance(), 2, p + "deferredBalance"); + assertMoneyValue(expectedExpectedDiscountFeeBalance, inst.expectedDiscountFeeBalance(), 2, p + "expectedDiscountFeeBalance"); + assertMoneyValue(expectedActualDiscountFeeBalance, inst.actualDiscountFeeBalance(), 2, p + "actualDiscountFeeBalance"); } private void assertMoneyValue(final Double expected, final Money actual, final int scale, final String msg) { diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanApplicationCRUDTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanApplicationCRUDTest.java index 2a8cd2e8af7..cb79524f1a0 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanApplicationCRUDTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanApplicationCRUDTest.java @@ -862,8 +862,8 @@ public void testWorkingCapitalDiscountAttributes() { .withClientId(clientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // - .withTotalPayment(BigDecimal.valueOf(5500)) // + .withPeriodPaymentRate(new BigDecimal("18")) // + .withTotalPayment(BigDecimal.valueOf(100000)) // .withDiscount(discountProposed) // .buildSubmitJson()); @@ -1065,7 +1065,7 @@ private Long createProductWithAllOverridables() { .withPrincipalAmountMax(BigDecimal.valueOf(50000)) // .withPrincipalAmountDefault(BigDecimal.valueOf(10000)) // .withMinPeriodPaymentRate(BigDecimal.ONE) // - .withMaxPeriodPaymentRate(BigDecimal.valueOf(2)) // + .withMaxPeriodPaymentRate(BigDecimal.valueOf(20)) // .withPeriodPaymentRate(BigDecimal.ONE) // .withDelinquencyBucketId(delinquencyBucketId) // .withAllowAttributeOverrides(Map.of(// @@ -1092,7 +1092,7 @@ private Long createProductWithKnownDefaults(final Integer repaymentEvery, final .withPrincipalAmountMax(BigDecimal.valueOf(50000)) // .withPrincipalAmountDefault(BigDecimal.valueOf(10000)) // .withMinPeriodPaymentRate(BigDecimal.ONE) // - .withMaxPeriodPaymentRate(BigDecimal.valueOf(2)) // + .withMaxPeriodPaymentRate(BigDecimal.valueOf(20)) // .withPeriodPaymentRate(BigDecimal.ONE) // .withDelinquencyBucketId(delinquencyBucketId) // .withRepaymentEvery(repaymentEvery) // diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanApprovalRejectionTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanApprovalRejectionTest.java index e0fe209c79f..f7a5acf2ce6 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanApprovalRejectionTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanApprovalRejectionTest.java @@ -88,8 +88,8 @@ public void testApproveWithPrincipalAndDiscountOverride() { .withClientId(clientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // - .withTotalPayment(BigDecimal.valueOf(5500)) // + .withPeriodPaymentRate(new BigDecimal("18")) // + .withTotalPayment(BigDecimal.valueOf(100000)) // .withDiscount(BigDecimal.valueOf(100)) // .buildSubmitJson()); @@ -151,8 +151,8 @@ public void testUndoApprovalResetsToCreatedState() { .withClientId(clientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // - .withTotalPayment(BigDecimal.valueOf(5500)) // + .withPeriodPaymentRate(new BigDecimal("18")) // + .withTotalPayment(BigDecimal.valueOf(100000)) // .withDiscount(BigDecimal.valueOf(100)) // .buildSubmitJson()); @@ -262,8 +262,8 @@ public void testApproveWithDateBeforeSubmittedOnDateFails() { .withClientId(clientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // - .withTotalPayment(BigDecimal.valueOf(5500)) // + .withPeriodPaymentRate(new BigDecimal("18")) // + .withTotalPayment(BigDecimal.valueOf(100000)) // .withSubmittedOnDate(submittedOnDate) // .buildSubmitJson()); @@ -342,8 +342,8 @@ public void testApproveWithDiscountExceedingCreatedValueFails() { .withClientId(clientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // - .withTotalPayment(BigDecimal.valueOf(5500)) // + .withPeriodPaymentRate(new BigDecimal("18")) // + .withTotalPayment(BigDecimal.valueOf(100000)) // .withDiscount(BigDecimal.valueOf(100)) // .buildSubmitJson()); @@ -386,8 +386,8 @@ public void testApproveAndUndoByExternalId() { .withClientId(clientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // - .withTotalPayment(BigDecimal.valueOf(5500)) // + .withPeriodPaymentRate(new BigDecimal("18")) // + .withTotalPayment(BigDecimal.valueOf(100000)) // .withExternalId(externalId) // .buildSubmitJson()); @@ -413,8 +413,8 @@ public void testRejectByExternalId() { .withClientId(clientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // - .withTotalPayment(BigDecimal.valueOf(5500)) // + .withPeriodPaymentRate(new BigDecimal("18")) // + .withTotalPayment(BigDecimal.valueOf(100000)) // .withExternalId(externalId) // .buildSubmitJson()); @@ -432,8 +432,8 @@ private Long submitLoan(final Long clientId, final Long productId) { .withClientId(clientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // - .withTotalPayment(BigDecimal.valueOf(5500)) // + .withPeriodPaymentRate(new BigDecimal("18")) // + .withTotalPayment(BigDecimal.valueOf(100000)) // .buildSubmitJson()); } diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanCreditBalanceRefundTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanCreditBalanceRefundTest.java index c9a6cb43510..59775a223b3 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanCreditBalanceRefundTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanCreditBalanceRefundTest.java @@ -254,7 +254,7 @@ private Long createOverpaidLoan(final BigDecimal overpaymentAmount, final LocalD private Long createApprovedAndDisbursedLoan(final Long productId, final BigDecimal principal, final BigDecimal disburseAmount, final LocalDate approvedOnDate) { final Long loanId = submitAndTrackLoan(new WorkingCapitalLoanApplicationTestBuilder().withClientId(createdClientId) - .withProductId(productId).withPrincipal(principal).withPeriodPaymentRate(BigDecimal.ONE).buildSubmitJson()); + .withProductId(productId).withPrincipal(principal).withPeriodPaymentRate(new BigDecimal("18")).buildSubmitJson()); loanHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder.buildApproveJson(approvedOnDate, principal, null)); loanHelper.disburseById(loanId, WorkingCapitalLoanDisbursementTestBuilder.buildDisburseJson(approvedOnDate, disburseAmount)); return loanId; diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanDelinquencyActionIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanDelinquencyActionIntegrationTest.java index 68ba89360e8..1306337d317 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanDelinquencyActionIntegrationTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanDelinquencyActionIntegrationTest.java @@ -447,8 +447,8 @@ private Long submitAndApproveLoan(final Long clientId, final Long productId) { private Long submitAndApproveLoanWithExternalId(final Long clientId, final Long productId, final String externalId) { final WorkingCapitalLoanApplicationTestBuilder builder = new WorkingCapitalLoanApplicationTestBuilder().withClientId(clientId) - .withProductId(productId).withPrincipal(BigDecimal.valueOf(10000)).withPeriodPaymentRate(BigDecimal.ONE) - .withTotalPayment(BigDecimal.valueOf(10000)); + .withProductId(productId).withPrincipal(BigDecimal.valueOf(10000)).withPeriodPaymentRate(new BigDecimal("18")) + .withTotalPayment(BigDecimal.valueOf(100000)); if (externalId != null) { builder.withExternalId(externalId); } diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanDelinquencyRangeScheduleIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanDelinquencyRangeScheduleIntegrationTest.java index d4cd244c50e..dd38803b6eb 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanDelinquencyRangeScheduleIntegrationTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanDelinquencyRangeScheduleIntegrationTest.java @@ -129,8 +129,8 @@ public void testRangeScheduleEndpointReturnsEmptyForUndisbursedLoan() { .withClientId(clientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(10000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // - .withTotalPayment(BigDecimal.valueOf(11000)) // + .withPeriodPaymentRate(new BigDecimal("18")) // + .withTotalPayment(BigDecimal.valueOf(100000)) // .buildSubmitJson()); assertNotNull(loanId); log.info("Created WC loan with id: {}", loanId); @@ -176,8 +176,8 @@ public void testRangeScheduleExpectedAmountIncludesDiscount() { .withClientId(clientId) // .withProductId(productId) // .withPrincipal(principal) // - .withPeriodPaymentRate(BigDecimal.ONE) // - .withTotalPayment(BigDecimal.valueOf(10000)) // + .withPeriodPaymentRate(new BigDecimal("18")) // + .withTotalPayment(BigDecimal.valueOf(100000)) // .buildSubmitJson()); // Approve with discount diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanDisbursementTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanDisbursementTest.java index 9e33796fcc7..e149e4321de 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanDisbursementTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanDisbursementTest.java @@ -123,7 +123,7 @@ public void testDisburseWorkingCapitalLoan() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); final LocalDate approvedOnDate = LocalDate.now(ZoneId.systemDefault()); @@ -180,7 +180,7 @@ public void testDisburseWithClassificationIdStoredOnTransaction() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); final LocalDate approvedOnDate = LocalDate.now(ZoneId.systemDefault()); @@ -215,7 +215,7 @@ public void testDisburseWithNonExistentClassificationIdFails() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder @@ -242,7 +242,7 @@ public void testDisburseWithClassificationIdFromWrongCodeBookFails() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder @@ -268,7 +268,7 @@ public void testDisburseWithAllRequestFieldsAndVerifyResponse() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(approvedPrincipal) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); final LocalDate approvedOnDate = LocalDate.now(ZoneId.systemDefault()); @@ -354,7 +354,7 @@ public void testUndoDisburseWorkingCapitalLoan() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); final LocalDate approvedOnDate = LocalDate.now(ZoneId.systemDefault()); @@ -404,7 +404,7 @@ public void testDisbursementExternalBusinessEventPublished() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); final LocalDate approvedOnDate = LocalDate.now(ZoneId.systemDefault()); @@ -441,7 +441,7 @@ public void testUndoDisbursementExternalBusinessEventPublished() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); final LocalDate approvedOnDate = LocalDate.now(ZoneId.systemDefault()); @@ -478,7 +478,7 @@ public void testUndoDisbursalWithNote() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); final LocalDate approvedOnDate = LocalDate.now(ZoneId.systemDefault()); @@ -503,7 +503,7 @@ public void testDisburseWithMissingActualDisbursementDate() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); final LocalDate approvedOnDate = LocalDate.now(ZoneId.systemDefault()); @@ -526,7 +526,7 @@ public void testDisburseWithMissingTransactionAmount() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); final LocalDate approvedOnDate = LocalDate.now(ZoneId.systemDefault()); @@ -552,7 +552,7 @@ public void testDisburseWithTransactionAmountExceedingApproved() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); final LocalDate approvedOnDate = LocalDate.now(ZoneId.systemDefault()); @@ -575,7 +575,7 @@ public void testDisburseWithNegativeTransactionAmount() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); final LocalDate approvedOnDate = LocalDate.now(ZoneId.systemDefault()); @@ -599,7 +599,7 @@ public void testDisburseWithFutureDate() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); final LocalDate approvedOnDate = LocalDate.now(ZoneId.systemDefault()); @@ -622,7 +622,7 @@ public void testDisburseWithDateBeforeApproval() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); final LocalDate approvedOnDate = LocalDate.now(ZoneId.systemDefault()); @@ -646,7 +646,7 @@ public void testDisburseWithActualDateBeforeSubmittedDate() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .withSubmittedOnDate(submittedOnDate) // .buildSubmitJson()); @@ -671,7 +671,7 @@ public void testDisburseWithNoteExceedingLength() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder @@ -697,7 +697,7 @@ public void testDisburseWithDiscountExceedingCreated() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(approvedPrincipal) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder @@ -721,7 +721,7 @@ public void testDisburseWithDiscountFailsWhenProductDisallowsDiscountOverride() .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(approvedPrincipal) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId, @@ -745,7 +745,7 @@ public void testDisburseWithDuplicateTransactionExternalId() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId1, WorkingCapitalLoanApplicationTestBuilder .buildApproveJson(LocalDate.now(ZoneId.systemDefault()), BigDecimal.valueOf(5000), null)); @@ -757,7 +757,7 @@ public void testDisburseWithDuplicateTransactionExternalId() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(3000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId2, WorkingCapitalLoanApplicationTestBuilder .buildApproveJson(LocalDate.now(ZoneId.systemDefault()), BigDecimal.valueOf(3000), null)); @@ -778,7 +778,7 @@ public void testDisburseWhenLoanNotApproved() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); final String disburseJson = WorkingCapitalLoanDisbursementTestBuilder.buildDisburseJson(LocalDate.now(ZoneId.systemDefault()), @@ -809,7 +809,7 @@ public void testUndoDisbursalWhenLoanNotDisbursed() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); final LocalDate approvedOnDate = LocalDate.now(ZoneId.systemDefault()); @@ -841,7 +841,7 @@ public void testUndoDisbursalWithNoteExceedingLength() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder @@ -866,7 +866,7 @@ public void testGetTransactionsListAfterDisburse() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder @@ -903,7 +903,7 @@ public void testGetTransactionByIdAfterDisburse() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(6000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder @@ -941,7 +941,7 @@ public void testGetTransactionsListEmptyWhenNotDisbursed() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder @@ -962,7 +962,7 @@ public void testGetTransactionByNonExistentIdReturns404() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder .buildApproveJson(LocalDate.now(ZoneId.systemDefault()), BigDecimal.valueOf(5000), null)); @@ -984,7 +984,7 @@ public void testGetTransactionsByLoanExternalId() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .withExternalId(loanExternalId) // .buildSubmitJson()); @@ -1013,7 +1013,7 @@ public void testGetTransactionByLoanIdAndTransactionExternalId() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(7000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder @@ -1038,7 +1038,7 @@ public void testStateTransitionByLoanExternalId_ApproveAndDisburse() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .withExternalId(loanExternalId) // .buildSubmitJson()); @@ -1066,7 +1066,7 @@ public void testGetTransactionByExternalLoanIdAndTransactionId() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(8000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .withExternalId(loanExternalId) // .buildSubmitJson()); @@ -1095,7 +1095,7 @@ public void testGetTransactionByExternalLoanIdAndTransactionExternalId() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(9000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .withExternalId(loanExternalId) // .buildSubmitJson()); @@ -1120,7 +1120,7 @@ public void testDisburseWithInvalidPaymentTypeId() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder @@ -1143,7 +1143,7 @@ public void testDisburseWithPaymentDetailsStringExceedingLength() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder @@ -1166,7 +1166,7 @@ public void testDisburseGeneratesAmortizationSchedule() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder @@ -1193,7 +1193,7 @@ public void testUndoDisbursalRegeneratesAmortizationScheduleToExpectedDate() { .withClientId(createdClientId) // .withProductId(productId) // .withPrincipal(BigDecimal.valueOf(5000)) // - .withPeriodPaymentRate(BigDecimal.ONE) // + .withPeriodPaymentRate(new BigDecimal("18")) // .buildSubmitJson()); applicationHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanRepaymentAccountingTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanRepaymentAccountingTest.java index 11402db9472..a28da346c93 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanRepaymentAccountingTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanRepaymentAccountingTest.java @@ -262,7 +262,7 @@ private Long createCashBasedProduct() { private Long createApprovedAndDisbursedLoan(final Long productId, final BigDecimal principal, final LocalDate approvedOnDate) { final Long loanId = submitAndTrack(new WorkingCapitalLoanApplicationTestBuilder().withClientId(createdClientId) - .withProductId(productId).withPrincipal(principal).withPeriodPaymentRate(BigDecimal.ONE).buildSubmitJson()); + .withProductId(productId).withPrincipal(principal).withPeriodPaymentRate(new BigDecimal("18")).buildSubmitJson()); loanHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder.buildApproveJson(approvedOnDate, principal, null)); loanHelper.disburseById(loanId, WorkingCapitalLoanDisbursementTestBuilder.buildDisburseJson(approvedOnDate, principal)); return loanId; diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanRepaymentTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanRepaymentTest.java index ae8b2e5b000..bbbbab689b6 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanRepaymentTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingCapitalLoanRepaymentTest.java @@ -104,8 +104,8 @@ void cleanupEntities() { public void testRepaymentUpdatesTransactionAllocationBalanceAndStatus() { final Long productId = createProductWithDiscountAllowed(); final Long loanId = submitAndTrack(new WorkingCapitalLoanApplicationTestBuilder().withClientId(createdClientId) - .withProductId(productId).withPrincipal(BigDecimal.valueOf(5000)).withPeriodPaymentRate(BigDecimal.ONE) - .withTotalPayment(BigDecimal.valueOf(5500)).withDiscount(BigDecimal.valueOf(100)).buildSubmitJson()); + .withProductId(productId).withPrincipal(BigDecimal.valueOf(5000)).withPeriodPaymentRate(new BigDecimal("18")) + .withTotalPayment(BigDecimal.valueOf(100000)).withDiscount(BigDecimal.valueOf(100)).buildSubmitJson()); final LocalDate approvedOnDate = Utils.getLocalDateOfTenant(); loanHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder.buildApproveJson(approvedOnDate, BigDecimal.valueOf(5000), BigDecimal.valueOf(100))); @@ -132,8 +132,8 @@ public void testRepaymentRaisesExternalBusinessEvent() { externalEventHelper.enableBusinessEvent(WC_REPAYMENT_TXN_EVENT); final Long productId = createProduct(); final Long loanId = submitAndTrack(new WorkingCapitalLoanApplicationTestBuilder().withClientId(createdClientId) - .withProductId(productId).withPrincipal(BigDecimal.valueOf(5000)).withPeriodPaymentRate(BigDecimal.ONE) - .withTotalPayment(BigDecimal.valueOf(5500)).buildSubmitJson()); + .withProductId(productId).withPrincipal(BigDecimal.valueOf(5000)).withPeriodPaymentRate(new BigDecimal("18")) + .withTotalPayment(BigDecimal.valueOf(100000)).buildSubmitJson()); final LocalDate approvedOnDate = Utils.getLocalDateOfTenant(); loanHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder.buildApproveJson(approvedOnDate, BigDecimal.valueOf(5000), null)); @@ -196,8 +196,9 @@ public void testRepaymentWithInvalidClassificationIdFails() { @Test public void testRepaymentWhenLoanNotDisbursedFails() { final Long productId = createProduct(); - final Long loanId = submitAndTrack(new WorkingCapitalLoanApplicationTestBuilder().withClientId(createdClientId) - .withProductId(productId).withPrincipal(BigDecimal.valueOf(5000)).withPeriodPaymentRate(BigDecimal.ONE).buildSubmitJson()); + final Long loanId = submitAndTrack( + new WorkingCapitalLoanApplicationTestBuilder().withClientId(createdClientId).withProductId(productId) + .withPrincipal(BigDecimal.valueOf(5000)).withPeriodPaymentRate(new BigDecimal("18")).buildSubmitJson()); final LocalDate approvedOnDate = Utils.getLocalDateOfTenant(); loanHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder.buildApproveJson(approvedOnDate, BigDecimal.valueOf(5000), null)); @@ -211,8 +212,9 @@ public void testRepaymentWhenLoanNotDisbursedFails() { public void testRepaymentWithDateBeforeDisbursementFails() { final LocalDate approvedOnDate = Utils.getLocalDateOfTenant(); final Long productId = createProduct(); - final Long loanId = submitAndTrack(new WorkingCapitalLoanApplicationTestBuilder().withClientId(createdClientId) - .withProductId(productId).withPrincipal(BigDecimal.valueOf(5000)).withPeriodPaymentRate(BigDecimal.ONE).buildSubmitJson()); + final Long loanId = submitAndTrack( + new WorkingCapitalLoanApplicationTestBuilder().withClientId(createdClientId).withProductId(productId) + .withPrincipal(BigDecimal.valueOf(5000)).withPeriodPaymentRate(new BigDecimal("18")).buildSubmitJson()); loanHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder.buildApproveJson(approvedOnDate, BigDecimal.valueOf(5000), null)); loanHelper.disburseById(loanId, @@ -241,7 +243,7 @@ public void testRepaymentByExternalId() { final Long productId = createProduct(); final String loanExternalId = "wcl-loan-ext-" + UUID.randomUUID().toString().replace("-", "").substring(0, 8); final Long loanId = submitAndTrack(new WorkingCapitalLoanApplicationTestBuilder().withClientId(createdClientId) - .withProductId(productId).withPrincipal(BigDecimal.valueOf(5000)).withPeriodPaymentRate(BigDecimal.ONE) + .withProductId(productId).withPrincipal(BigDecimal.valueOf(5000)).withPeriodPaymentRate(new BigDecimal("18")) .withExternalId(loanExternalId).buildSubmitJson()); final LocalDate approvedOnDate = Utils.getLocalDateOfTenant(); loanHelper.approveById(loanId, @@ -295,7 +297,7 @@ public void testRepaymentAmortizationMatchesProvidedReferenceSchedule() { final Long productId = createProductForReferenceSchedule(); final LocalDate disbursementDate = LocalDate.of(2019, 1, 1); final Long loanId = submitAndTrack(new WorkingCapitalLoanApplicationTestBuilder().withClientId(createdClientId) - .withProductId(productId).withPrincipal(BigDecimal.valueOf(9000)).withPeriodPaymentRate(new BigDecimal("0.18")) + .withProductId(productId).withPrincipal(BigDecimal.valueOf(9000)).withPeriodPaymentRate(new BigDecimal("18")) .withTotalPayment(BigDecimal.valueOf(100000)).withDiscount(BigDecimal.valueOf(1000)).withSubmittedOnDate(disbursementDate) .buildSubmitJson()); loanHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder.buildApproveJson(disbursementDate, BigDecimal.valueOf(9000), @@ -316,7 +318,7 @@ public void testRepaymentAmortizationMatchesProvidedReferenceSchedule() { assertEqualBigDecimal(BigDecimal.valueOf(1000), schedule.get("discountFeeAmount")); assertEqualBigDecimal(BigDecimal.valueOf(9000), schedule.get("netDisbursementAmount")); assertEqualBigDecimal(BigDecimal.valueOf(100000), schedule.get("totalPaymentValue")); - assertEqualBigDecimal(new BigDecimal("0.18"), schedule.get("periodPaymentRate")); + assertEqualBigDecimal(new BigDecimal("18"), schedule.get("periodPaymentRate")); assertEquals(360, schedule.get("npvDayCount").getAsInt()); assertTrue(schedule.get("expectedPaymentAmount").getAsBigDecimal().compareTo(BigDecimal.ZERO) > 0, "expectedPaymentAmount should be positive"); @@ -331,8 +333,8 @@ public void testRepaymentAmortizationMatchesProvidedReferenceSchedule() { assertEquals(expectedRows.size(), paymentByDate.size(), "Fixture and API schedule row count differ"); for (ExpectedScheduleRow row : expectedRows) { assertScheduleRow(paymentByDate.get(row.paymentDate()), row.expectedPaymentAmount(), row.actualPaymentAmount(), - row.discountFactor(), row.npvValue(), row.balance(), row.expectedAmortization(), row.actualAmortization(), - row.incomeModification(), row.deferredBalance(), row.paymentDate().toString()); + row.discountFactor(), row.npvValue(), row.expectedBalance(), row.expectedAmortization(), row.actualAmortization(), + row.incomeModification(), row.expectedDiscountFeeBalance(), row.paymentDate().toString()); } } @@ -343,7 +345,7 @@ private Long createApprovedAndDisbursedLoan(final Long productId, final BigDecim private Long createApprovedAndDisbursedLoan(final Long productId, final BigDecimal principal, final BigDecimal disburseAmount, final LocalDate approvedOnDate) { final Long loanId = submitAndTrack(new WorkingCapitalLoanApplicationTestBuilder().withClientId(createdClientId) - .withProductId(productId).withPrincipal(principal).withPeriodPaymentRate(BigDecimal.ONE).buildSubmitJson()); + .withProductId(productId).withPrincipal(principal).withPeriodPaymentRate(new BigDecimal("18")).buildSubmitJson()); loanHelper.approveById(loanId, WorkingCapitalLoanApplicationTestBuilder.buildApproveJson(approvedOnDate, principal, null)); loanHelper.disburseById(loanId, WorkingCapitalLoanDisbursementTestBuilder.buildDisburseJson(approvedOnDate, disburseAmount)); return loanId; @@ -363,17 +365,17 @@ private static void assertEqualBigDecimal(final BigDecimal expected, final JsonE private static void assertScheduleRow(final JsonObject payment, final String expectedPaymentAmount, final String expectedActualPaymentAmount, final String expectedDiscountFactor, final String expectedNpvValue, final String expectedBalance, final String expectedExpectedAmortization, final String expectedActualAmortization, - final String expectedIncomeModification, final String expectedDeferredBalance, final String rowDateLabel) { + final String expectedIncomeModification, final String expectedDiscountFeeBalance, final String rowDateLabel) { assertNotNull(payment, "Expected payment row to exist for date " + rowDateLabel); assertAmount(payment, "expectedPaymentAmount", expectedPaymentAmount, rowDateLabel); assertAmountOrNull(payment, "actualPaymentAmount", expectedActualPaymentAmount, rowDateLabel); assertDiscountFactor(payment, expectedDiscountFactor, rowDateLabel); assertAmount(payment, "npvValue", expectedNpvValue, rowDateLabel); - assertAmount(payment, "balance", expectedBalance, rowDateLabel); + assertAmount(payment, "expectedBalance", expectedBalance, rowDateLabel); assertAmount(payment, "expectedAmortizationAmount", expectedExpectedAmortization, rowDateLabel); assertAmountOrNull(payment, "actualAmortizationAmount", expectedActualAmortization, rowDateLabel); assertAmountOrNull(payment, "incomeModification", expectedIncomeModification, rowDateLabel); - assertAmount(payment, "deferredBalance", expectedDeferredBalance, rowDateLabel); + assertAmount(payment, "expectedDiscountFeeBalance", expectedDiscountFeeBalance, rowDateLabel); } private static void assertDiscountFactor(final JsonObject payment, final String expectedDiscountFactor, final String rowDateLabel) { @@ -420,211 +422,211 @@ private static List buildExpectedScheduleRows() { expectedRow("1/2/2019", "50", "50", "1", "50", "8959.61", "9.61", "9.61", "0.00", "990.39"), expectedRow("1/3/2019", "50", "50", "1", "50", "8919.18", "9.57", "9.57", "0.00", "980.82"), expectedRow("1/4/2019", "50", "50", "1", "50", "8878.70", "9.52", "9.52", "0.00", "971.30"), - expectedRow("1/5/2019", "50", null, "0.9989333245", "49.94666623", "8838.18", "9.48", null, null, "971.30"), - expectedRow("1/6/2019", "50", null, "0.9978677868", "49.89338934", "8797.62", "9.44", null, null, "971.30"), - expectedRow("1/7/2019", "50", null, "0.9968033857", "49.84016929", "8757.01", "9.39", null, null, "971.30"), - expectedRow("1/8/2019", "50", null, "0.99574012", "49.787006", "8716.36", "9.35", null, null, "971.30"), - expectedRow("1/9/2019", "50", null, "0.9946779885", "49.73389942", "8675.67", "9.31", null, null, "971.30"), - expectedRow("1/10/2019", "50", null, "0.9936169898", "49.68084949", "8634.94", "9.26", null, null, "971.30"), - expectedRow("1/11/2019", "50", null, "0.992557123", "49.62785615", "8594.16", "9.22", null, null, "971.30"), - expectedRow("1/12/2019", "50", null, "0.9914983866", "49.57491933", "8553.33", "9.18", null, null, "971.30"), - expectedRow("1/13/2019", "50", null, "0.9904407796", "49.52203898", "8512.47", "9.13", null, null, "971.30"), - expectedRow("1/14/2019", "50", null, "0.9893843007", "49.46921504", "8471.56", "9.09", null, null, "971.30"), - expectedRow("1/15/2019", "50", null, "0.9883289487", "49.41644744", "8430.60", "9.05", null, null, "971.30"), - expectedRow("1/16/2019", "50", null, "0.9872747225", "49.36373612", "8389.61", "9.00", null, null, "971.30"), - expectedRow("1/17/2019", "50", null, "0.9862216208", "49.31108104", "8348.56", "8.96", null, null, "971.30"), - expectedRow("1/18/2019", "50", null, "0.9851696423", "49.25848212", "8307.48", "8.91", null, null, "971.30"), - expectedRow("1/19/2019", "50", null, "0.984118786", "49.2059393", "8266.35", "8.87", null, null, "971.30"), - expectedRow("1/20/2019", "50", null, "0.9830690507", "49.15345253", "8225.18", "8.83", null, null, "971.30"), - expectedRow("1/21/2019", "50", null, "0.982020435", "49.10102175", "8183.96", "8.78", null, null, "971.30"), - expectedRow("1/22/2019", "50", null, "0.9809729379", "49.0486469", "8142.70", "8.74", null, null, "971.30"), - expectedRow("1/23/2019", "50", null, "0.9799265581", "48.99632791", "8101.39", "8.69", null, null, "971.30"), - expectedRow("1/24/2019", "50", null, "0.9788812945", "48.94406473", "8060.04", "8.65", null, null, "971.30"), - expectedRow("1/25/2019", "50", null, "0.9778371458", "48.89185729", "8018.65", "8.61", null, null, "971.30"), - expectedRow("1/26/2019", "50", null, "0.9767941109", "48.83970555", "7977.21", "8.56", null, null, "971.30"), - expectedRow("1/27/2019", "50", null, "0.9757521886", "48.78760943", "7935.73", "8.52", null, null, "971.30"), - expectedRow("1/28/2019", "50", null, "0.9747113777", "48.73556888", "7894.21", "8.47", null, null, "971.30"), - expectedRow("1/29/2019", "50", null, "0.973671677", "48.68358385", "7852.63", "8.43", null, null, "971.30"), - expectedRow("1/30/2019", "50", null, "0.9726330853", "48.63165426", "7811.02", "8.39", null, null, "971.30"), - expectedRow("1/31/2019", "50", null, "0.9715956014", "48.57978007", "7769.36", "8.34", null, null, "971.30"), - expectedRow("2/1/2019", "50", null, "0.9705592242", "48.52796121", "7727.66", "8.30", null, null, "971.30"), - expectedRow("2/2/2019", "50", null, "0.9695239525", "48.47619762", "7685.91", "8.25", null, null, "971.30"), - expectedRow("2/3/2019", "50", null, "0.968489785", "48.42448925", "7644.12", "8.21", null, null, "971.30"), - expectedRow("2/4/2019", "50", null, "0.9674567207", "48.37283604", "7602.28", "8.16", null, null, "971.30"), - expectedRow("2/5/2019", "50", null, "0.9664247584", "48.32123792", "7560.40", "8.12", null, null, "971.30"), - expectedRow("2/6/2019", "50", null, "0.9653938968", "48.26969484", "7518.47", "8.07", null, null, "971.30"), - expectedRow("2/7/2019", "50", null, "0.9643641348", "48.21820674", "7476.50", "8.03", null, null, "971.30"), - expectedRow("2/8/2019", "50", null, "0.9633354712", "48.16677356", "7434.48", "7.98", null, null, "971.30"), - expectedRow("2/9/2019", "50", null, "0.9623079049", "48.11539525", "7392.42", "7.94", null, null, "971.30"), - expectedRow("2/10/2019", "50", null, "0.9612814347", "48.06407173", "7350.31", "7.89", null, null, "971.30"), - expectedRow("2/11/2019", "50", null, "0.9602560593", "48.01280297", "7308.16", "7.85", null, null, "971.30"), - expectedRow("2/12/2019", "50", null, "0.9592317777", "47.96158889", "7265.97", "7.80", null, null, "971.30"), - expectedRow("2/13/2019", "50", null, "0.9582085887", "47.91042944", "7223.72", "7.76", null, null, "971.30"), - expectedRow("2/14/2019", "50", null, "0.9571864911", "47.85932456", "7181.44", "7.71", null, null, "971.30"), - expectedRow("2/15/2019", "50", null, "0.9561654838", "47.80827419", "7139.11", "7.67", null, null, "971.30"), - expectedRow("2/16/2019", "50", null, "0.9551455655", "47.75727827", "7096.73", "7.62", null, null, "971.30"), - expectedRow("2/17/2019", "50", null, "0.9541267351", "47.70633676", "7054.31", "7.58", null, null, "971.30"), - expectedRow("2/18/2019", "50", null, "0.9531089916", "47.65544958", "7011.84", "7.53", null, null, "971.30"), - expectedRow("2/19/2019", "50", null, "0.9520923336", "47.60461668", "6969.33", "7.49", null, null, "971.30"), - expectedRow("2/20/2019", "50", null, "0.95107676", "47.553838", "6926.77", "7.44", null, null, "971.30"), - expectedRow("2/21/2019", "50", null, "0.9500622698", "47.50311349", "6884.17", "7.40", null, null, "971.30"), - expectedRow("2/22/2019", "50", null, "0.9490488616", "47.45244308", "6841.52", "7.35", null, null, "971.30"), - expectedRow("2/23/2019", "50", null, "0.9480365345", "47.40182672", "6798.82", "7.31", null, null, "971.30"), - expectedRow("2/24/2019", "50", null, "0.9470252872", "47.35126436", "6756.08", "7.26", null, null, "971.30"), - expectedRow("2/25/2019", "50", null, "0.9460151185", "47.30075593", "6713.30", "7.21", null, null, "971.30"), - expectedRow("2/26/2019", "50", null, "0.9450060274", "47.25030137", "6670.47", "7.17", null, null, "971.30"), - expectedRow("2/27/2019", "50", null, "0.9439980126", "47.19990063", "6627.59", "7.12", null, null, "971.30"), - expectedRow("2/28/2019", "50", null, "0.9429910731", "47.14955366", "6584.67", "7.08", null, null, "971.30"), - expectedRow("3/1/2019", "50", null, "0.9419852077", "47.09926038", "6541.70", "7.03", null, null, "971.30"), - expectedRow("3/2/2019", "50", null, "0.9409804151", "47.04902076", "6498.68", "6.99", null, null, "971.30"), - expectedRow("3/3/2019", "50", null, "0.9399766944", "46.99883472", "6455.62", "6.94", null, null, "971.30"), - expectedRow("3/4/2019", "50", null, "0.9389740443", "46.94870222", "6412.51", "6.89", null, null, "971.30"), - expectedRow("3/5/2019", "50", null, "0.9379724637", "46.89862319", "6369.36", "6.85", null, null, "971.30"), - expectedRow("3/6/2019", "50", null, "0.9369719515", "46.84859758", "6326.16", "6.80", null, null, "971.30"), - expectedRow("3/7/2019", "50", null, "0.9359725065", "46.79862533", "6282.92", "6.76", null, null, "971.30"), - expectedRow("3/8/2019", "50", null, "0.9349741276", "46.74870638", "6239.63", "6.71", null, null, "971.30"), - expectedRow("3/9/2019", "50", null, "0.9339768136", "46.69884068", "6196.29", "6.66", null, null, "971.30"), - expectedRow("3/10/2019", "50", null, "0.9329805635", "46.64902817", "6152.91", "6.62", null, null, "971.30"), - expectedRow("3/11/2019", "50", null, "0.931985376", "46.5992688", "6109.48", "6.57", null, null, "971.30"), - expectedRow("3/12/2019", "50", null, "0.93099125", "46.5495625", "6066.00", "6.52", null, null, "971.30"), - expectedRow("3/13/2019", "50", null, "0.9299981845", "46.49990922", "6022.48", "6.48", null, null, "971.30"), - expectedRow("3/14/2019", "50", null, "0.9290061782", "46.45030891", "5978.91", "6.43", null, null, "971.30"), - expectedRow("3/15/2019", "50", null, "0.9280152301", "46.40076151", "5935.29", "6.38", null, null, "971.30"), - expectedRow("3/16/2019", "50", null, "0.927025339", "46.35126695", "5891.63", "6.34", null, null, "971.30"), - expectedRow("3/17/2019", "50", null, "0.9260365038", "46.30182519", "5847.92", "6.29", null, null, "971.30"), - expectedRow("3/18/2019", "50", null, "0.9250487234", "46.25243617", "5804.17", "6.24", null, null, "971.30"), - expectedRow("3/19/2019", "50", null, "0.9240619966", "46.20309983", "5760.36", "6.20", null, null, "971.30"), - expectedRow("3/20/2019", "50", null, "0.9230763224", "46.15381612", "5716.52", "6.15", null, null, "971.30"), - expectedRow("3/21/2019", "50", null, "0.9220916995", "46.10458497", "5672.62", "6.10", null, null, "971.30"), - expectedRow("3/22/2019", "50", null, "0.9211081269", "46.05540634", "5628.68", "6.06", null, null, "971.30"), - expectedRow("3/23/2019", "50", null, "0.9201256034", "46.00628017", "5584.69", "6.01", null, null, "971.30"), - expectedRow("3/24/2019", "50", null, "0.919144128", "45.9572064", "5540.65", "5.96", null, null, "971.30"), - expectedRow("3/25/2019", "50", null, "0.9181636995", "45.90818498", "5496.57", "5.92", null, null, "971.30"), - expectedRow("3/26/2019", "50", null, "0.9171843168", "45.85921584", "5452.44", "5.87", null, null, "971.30"), - expectedRow("3/27/2019", "50", null, "0.9162059788", "45.81029894", "5408.26", "5.82", null, null, "971.30"), - expectedRow("3/28/2019", "50", null, "0.9152286843", "45.76143422", "5364.03", "5.78", null, null, "971.30"), - expectedRow("3/29/2019", "50", null, "0.9142524323", "45.71262162", "5319.76", "5.73", null, null, "971.30"), - expectedRow("3/30/2019", "50", null, "0.9132772217", "45.66386108", "5275.44", "5.68", null, null, "971.30"), - expectedRow("3/31/2019", "50", null, "0.9123030513", "45.61515256", "5231.08", "5.63", null, null, "971.30"), - expectedRow("4/1/2019", "50", null, "0.91132992", "45.566496", "5186.66", "5.59", null, null, "971.30"), - expectedRow("4/2/2019", "50", null, "0.9103578267", "45.51789134", "5142.20", "5.54", null, null, "971.30"), - expectedRow("4/3/2019", "50", null, "0.9093867703", "45.46933852", "5097.69", "5.49", null, null, "971.30"), - expectedRow("4/4/2019", "50", null, "0.9084167498", "45.42083749", "5053.13", "5.44", null, null, "971.30"), - expectedRow("4/5/2019", "50", null, "0.9074477639", "45.3723882", "5008.53", "5.40", null, null, "971.30"), - expectedRow("4/6/2019", "50", null, "0.9064798116", "45.32399058", "4963.88", "5.35", null, null, "971.30"), - expectedRow("4/7/2019", "50", null, "0.9055128918", "45.27564459", "4919.18", "5.30", null, null, "971.30"), - expectedRow("4/8/2019", "50", null, "0.9045470035", "45.22735017", "4874.43", "5.25", null, null, "971.30"), - expectedRow("4/9/2019", "50", null, "0.9035821453", "45.17910727", "4829.64", "5.20", null, null, "971.30"), - expectedRow("4/10/2019", "50", null, "0.9026183164", "45.13091582", "4784.79", "5.16", null, null, "971.30"), - expectedRow("4/11/2019", "50", null, "0.9016555156", "45.08277578", "4739.90", "5.11", null, null, "971.30"), - expectedRow("4/12/2019", "50", null, "0.9006937418", "45.03468709", "4694.96", "5.06", null, null, "971.30"), - expectedRow("4/13/2019", "50", null, "0.8997329939", "44.98664969", "4649.98", "5.01", null, null, "971.30"), - expectedRow("4/14/2019", "50", null, "0.8987732707", "44.93866354", "4604.94", "4.97", null, null, "971.30"), - expectedRow("4/15/2019", "50", null, "0.8978145713", "44.89072857", "4559.86", "4.92", null, null, "971.30"), - expectedRow("4/16/2019", "50", null, "0.8968568945", "44.84284473", "4514.73", "4.87", null, null, "971.30"), - expectedRow("4/17/2019", "50", null, "0.8959002393", "44.79501196", "4469.55", "4.82", null, null, "971.30"), - expectedRow("4/18/2019", "50", null, "0.8949446045", "44.74723022", "4424.32", "4.77", null, null, "971.30"), - expectedRow("4/19/2019", "50", null, "0.893989989", "44.69949945", "4379.05", "4.72", null, null, "971.30"), - expectedRow("4/20/2019", "50", null, "0.8930363918", "44.65181959", "4333.72", "4.68", null, null, "971.30"), - expectedRow("4/21/2019", "50", null, "0.8920838118", "44.60419059", "4288.35", "4.63", null, null, "971.30"), - expectedRow("4/22/2019", "50", null, "0.8911322479", "44.55661239", "4242.93", "4.58", null, null, "971.30"), - expectedRow("4/23/2019", "50", null, "0.890181699", "44.50908495", "4197.46", "4.53", null, null, "971.30"), - expectedRow("4/24/2019", "50", null, "0.889232164", "44.4616082", "4151.94", "4.48", null, null, "971.30"), - expectedRow("4/25/2019", "50", null, "0.8882836418", "44.41418209", "4106.38", "4.43", null, null, "971.30"), - expectedRow("4/26/2019", "50", null, "0.8873361315", "44.36680657", "4060.76", "4.38", null, null, "971.30"), - expectedRow("4/27/2019", "50", null, "0.8863896318", "44.31948159", "4015.10", "4.34", null, null, "971.30"), - expectedRow("4/28/2019", "50", null, "0.8854441417", "44.27220708", "3969.38", "4.29", null, null, "971.30"), - expectedRow("4/29/2019", "50", null, "0.8844996601", "44.22498301", "3923.62", "4.24", null, null, "971.30"), - expectedRow("4/30/2019", "50", null, "0.883556186", "44.1778093", "3877.81", "4.19", null, null, "971.30"), - expectedRow("5/1/2019", "50", null, "0.8826137183", "44.13068592", "3831.95", "4.14", null, null, "971.30"), - expectedRow("5/2/2019", "50", null, "0.8816722559", "44.0836128", "3786.04", "4.09", null, null, "971.30"), - expectedRow("5/3/2019", "50", null, "0.8807317977", "44.03658989", "3740.09", "4.04", null, null, "971.30"), - expectedRow("5/4/2019", "50", null, "0.8797923427", "43.98961714", "3694.08", "3.99", null, null, "971.30"), - expectedRow("5/5/2019", "50", null, "0.8788538898", "43.94269449", "3648.03", "3.94", null, null, "971.30"), - expectedRow("5/6/2019", "50", null, "0.8779164379", "43.8958219", "3601.92", "3.90", null, null, "971.30"), - expectedRow("5/7/2019", "50", null, "0.876979986", "43.8489993", "3555.77", "3.85", null, null, "971.30"), - expectedRow("5/8/2019", "50", null, "0.8760445329", "43.80222665", "3509.56", "3.80", null, null, "971.30"), - expectedRow("5/9/2019", "50", null, "0.8751100777", "43.75550389", "3463.31", "3.75", null, null, "971.30"), - expectedRow("5/10/2019", "50", null, "0.8741766193", "43.70883096", "3417.01", "3.70", null, null, "971.30"), - expectedRow("5/11/2019", "50", null, "0.8732441565", "43.66220782", "3370.66", "3.65", null, null, "971.30"), - expectedRow("5/12/2019", "50", null, "0.8723126884", "43.61563442", "3324.26", "3.60", null, null, "971.30"), - expectedRow("5/13/2019", "50", null, "0.8713822138", "43.56911069", "3277.81", "3.55", null, null, "971.30"), - expectedRow("5/14/2019", "50", null, "0.8704527318", "43.52263659", "3231.31", "3.50", null, null, "971.30"), - expectedRow("5/15/2019", "50", null, "0.8695242412", "43.47621206", "3184.76", "3.45", null, null, "971.30"), - expectedRow("5/16/2019", "50", null, "0.868596741", "43.42983705", "3138.16", "3.40", null, null, "971.30"), - expectedRow("5/17/2019", "50", null, "0.8676702302", "43.38351151", "3091.51", "3.35", null, null, "971.30"), - expectedRow("5/18/2019", "50", null, "0.8667447076", "43.33723538", "3044.81", "3.30", null, null, "971.30"), - expectedRow("5/19/2019", "50", null, "0.8658201723", "43.29100861", "2998.06", "3.25", null, null, "971.30"), - expectedRow("5/20/2019", "50", null, "0.8648966231", "43.24483116", "2951.26", "3.20", null, null, "971.30"), - expectedRow("5/21/2019", "50", null, "0.8639740591", "43.19870296", "2904.42", "3.15", null, null, "971.30"), - expectedRow("5/22/2019", "50", null, "0.8630524792", "43.15262396", "2857.52", "3.10", null, null, "971.30"), - expectedRow("5/23/2019", "50", null, "0.8621318823", "43.10659411", "2810.57", "3.05", null, null, "971.30"), - expectedRow("5/24/2019", "50", null, "0.8612122673", "43.06061337", "2763.57", "3.00", null, null, "971.30"), - expectedRow("5/25/2019", "50", null, "0.8602936333", "43.01468167", "2716.52", "2.95", null, null, "971.30"), - expectedRow("5/26/2019", "50", null, "0.8593759792", "42.96879896", "2669.42", "2.90", null, null, "971.30"), - expectedRow("5/27/2019", "50", null, "0.8584593039", "42.9229652", "2622.27", "2.85", null, null, "971.30"), - expectedRow("5/28/2019", "50", null, "0.8575436064", "42.87718032", "2575.07", "2.80", null, null, "971.30"), - expectedRow("5/29/2019", "50", null, "0.8566288857", "42.83144429", "2527.82", "2.75", null, null, "971.30"), - expectedRow("5/30/2019", "50", null, "0.8557151407", "42.78575703", "2480.52", "2.70", null, null, "971.30"), - expectedRow("5/31/2019", "50", null, "0.8548023703", "42.74011852", "2433.17", "2.65", null, null, "971.30"), - expectedRow("6/1/2019", "50", null, "0.8538905736", "42.69452868", "2385.77", "2.60", null, null, "971.30"), - expectedRow("6/2/2019", "50", null, "0.8529797495", "42.64898747", "2338.31", "2.55", null, null, "971.30"), - expectedRow("6/3/2019", "50", null, "0.8520698969", "42.60349484", "2290.81", "2.50", null, null, "971.30"), - expectedRow("6/4/2019", "50", null, "0.8511610148", "42.55805074", "2243.26", "2.45", null, null, "971.30"), - expectedRow("6/5/2019", "50", null, "0.8502531022", "42.51265511", "2195.65", "2.40", null, null, "971.30"), - expectedRow("6/6/2019", "50", null, "0.8493461581", "42.46730791", "2148.00", "2.34", null, null, "971.30"), - expectedRow("6/7/2019", "50", null, "0.8484401814", "42.42200907", "2100.29", "2.29", null, null, "971.30"), - expectedRow("6/8/2019", "50", null, "0.8475351711", "42.37675855", "2052.53", "2.24", null, null, "971.30"), - expectedRow("6/9/2019", "50", null, "0.8466311261", "42.3315563", "2004.73", "2.19", null, null, "971.30"), - expectedRow("6/10/2019", "50", null, "0.8457280454", "42.28640227", "1956.87", "2.14", null, null, "971.30"), - expectedRow("6/11/2019", "50", null, "0.844825928", "42.2412964", "1908.96", "2.09", null, null, "971.30"), - expectedRow("6/12/2019", "50", null, "0.8439247729", "42.19623865", "1860.99", "2.04", null, null, "971.30"), - expectedRow("6/13/2019", "50", null, "0.8430245791", "42.15122895", "1812.98", "1.99", null, null, "971.30"), - expectedRow("6/14/2019", "50", null, "0.8421253454", "42.10626727", "1764.92", "1.94", null, null, "971.30"), - expectedRow("6/15/2019", "50", null, "0.841227071", "42.06135355", "1716.80", "1.88", null, null, "971.30"), - expectedRow("6/16/2019", "50", null, "0.8403297547", "42.01648774", "1668.64", "1.83", null, null, "971.30"), - expectedRow("6/17/2019", "50", null, "0.8394333956", "41.97166978", "1620.42", "1.78", null, null, "971.30"), - expectedRow("6/18/2019", "50", null, "0.8385379925", "41.92689963", "1572.15", "1.73", null, null, "971.30"), - expectedRow("6/19/2019", "50", null, "0.8376435446", "41.88217723", "1523.83", "1.68", null, null, "971.30"), - expectedRow("6/20/2019", "50", null, "0.8367500508", "41.83750254", "1475.45", "1.63", null, null, "971.30"), - expectedRow("6/21/2019", "50", null, "0.83585751", "41.7928755", "1427.03", "1.58", null, null, "971.30"), - expectedRow("6/22/2019", "50", null, "0.8349659213", "41.74829607", "1378.55", "1.52", null, null, "971.30"), - expectedRow("6/23/2019", "50", null, "0.8340752837", "41.70376418", "1330.02", "1.47", null, null, "971.30"), - expectedRow("6/24/2019", "50", null, "0.833185596", "41.6592798", "1281.45", "1.42", null, null, "971.30"), - expectedRow("6/25/2019", "50", null, "0.8322968574", "41.61484287", "1232.81", "1.37", null, null, "971.30"), - expectedRow("6/26/2019", "50", null, "0.8314090667", "41.57045334", "1184.13", "1.32", null, null, "971.30"), - expectedRow("6/27/2019", "50", null, "0.8305222231", "41.52611115", "1135.39", "1.26", null, null, "971.30"), - expectedRow("6/28/2019", "50", null, "0.8296363254", "41.48181627", "1086.61", "1.21", null, null, "971.30"), - expectedRow("6/29/2019", "50", null, "0.8287513727", "41.43756863", "1037.77", "1.16", null, null, "971.30"), - expectedRow("6/30/2019", "50", null, "0.8278673639", "41.39336819", "988.88", "1.11", null, null, "971.30"), - expectedRow("7/1/2019", "50", null, "0.8269842981", "41.3492149", "939.93", "1.06", null, null, "971.30"), - expectedRow("7/2/2019", "50", null, "0.8261021742", "41.30510871", "890.93", "1.00", null, null, "971.30"), - expectedRow("7/3/2019", "50", null, "0.8252209913", "41.26104956", "841.89", "0.95", null, null, "971.30"), - expectedRow("7/4/2019", "50", null, "0.8243407483", "41.21703741", "792.79", "0.90", null, null, "971.30"), - expectedRow("7/5/2019", "50", null, "0.8234614442", "41.17307221", "743.63", "0.85", null, null, "971.30"), - expectedRow("7/6/2019", "50", null, "0.8225830781", "41.1291539", "694.43", "0.79", null, null, "971.30"), - expectedRow("7/7/2019", "50", null, "0.8217056489", "41.08528244", "645.17", "0.74", null, null, "971.30"), - expectedRow("7/8/2019", "50", null, "0.8208291556", "41.04145778", "595.86", "0.69", null, null, "971.30"), - expectedRow("7/9/2019", "50", null, "0.8199535973", "40.99767987", "546.49", "0.64", null, null, "971.30"), - expectedRow("7/10/2019", "50", null, "0.8190789729", "40.95394865", "497.08", "0.58", null, null, "971.30"), - expectedRow("7/11/2019", "50", null, "0.8182052815", "40.91026407", "447.61", "0.53", null, null, "971.30"), - expectedRow("7/12/2019", "50", null, "0.8173325219", "40.8666261", "398.08", "0.48", null, null, "971.30"), - expectedRow("7/13/2019", "50", null, "0.8164606934", "40.82303467", "348.51", "0.43", null, null, "971.30"), - expectedRow("7/14/2019", "50", null, "0.8155897948", "40.77948974", "298.88", "0.37", null, null, "971.30"), - expectedRow("7/15/2019", "50", null, "0.8147198252", "40.73599126", "249.20", "0.32", null, null, "971.30"), - expectedRow("7/16/2019", "50", null, "0.8138507835", "40.69253918", "199.47", "0.27", null, null, "971.30"), - expectedRow("7/17/2019", "50", null, "0.8129826688", "40.64913344", "149.68", "0.21", null, null, "971.30"), - expectedRow("7/18/2019", "50", null, "0.8121154802", "40.60577401", "99.84", "0.16", null, null, "971.30"), - expectedRow("7/19/2019", "50", null, "0.8112492165", "40.56246082", "49.95", "0.11", null, null, "971.30"), - expectedRow("7/20/2019", "50", null, "0.8103838768", "40.51919384", "0.00", "0.05", null, null, "971.30")); + expectedRow("1/5/2019", "50", null, "0.9989333245", "49.94666623", "8838.18", "9.48", null, null, "961.82"), + expectedRow("1/6/2019", "50", null, "0.9978677868", "49.89338934", "8797.62", "9.44", null, null, "952.38"), + expectedRow("1/7/2019", "50", null, "0.9968033857", "49.84016929", "8757.01", "9.39", null, null, "942.99"), + expectedRow("1/8/2019", "50", null, "0.99574012", "49.787006", "8716.36", "9.35", null, null, "933.64"), + expectedRow("1/9/2019", "50", null, "0.9946779885", "49.73389942", "8675.67", "9.31", null, null, "924.33"), + expectedRow("1/10/2019", "50", null, "0.9936169898", "49.68084949", "8634.94", "9.26", null, null, "915.07"), + expectedRow("1/11/2019", "50", null, "0.992557123", "49.62785615", "8594.16", "9.22", null, null, "905.85"), + expectedRow("1/12/2019", "50", null, "0.9914983866", "49.57491933", "8553.33", "9.18", null, null, "896.67"), + expectedRow("1/13/2019", "50", null, "0.9904407796", "49.52203898", "8512.47", "9.13", null, null, "887.54"), + expectedRow("1/14/2019", "50", null, "0.9893843007", "49.46921504", "8471.56", "9.09", null, null, "878.45"), + expectedRow("1/15/2019", "50", null, "0.9883289487", "49.41644744", "8430.60", "9.05", null, null, "869.40"), + expectedRow("1/16/2019", "50", null, "0.9872747225", "49.36373612", "8389.61", "9.00", null, null, "860.40"), + expectedRow("1/17/2019", "50", null, "0.9862216208", "49.31108104", "8348.56", "8.96", null, null, "851.44"), + expectedRow("1/18/2019", "50", null, "0.9851696423", "49.25848212", "8307.48", "8.91", null, null, "842.53"), + expectedRow("1/19/2019", "50", null, "0.984118786", "49.2059393", "8266.35", "8.87", null, null, "833.66"), + expectedRow("1/20/2019", "50", null, "0.9830690507", "49.15345253", "8225.18", "8.83", null, null, "824.83"), + expectedRow("1/21/2019", "50", null, "0.982020435", "49.10102175", "8183.96", "8.78", null, null, "816.05"), + expectedRow("1/22/2019", "50", null, "0.9809729379", "49.0486469", "8142.70", "8.74", null, null, "807.31"), + expectedRow("1/23/2019", "50", null, "0.9799265581", "48.99632791", "8101.39", "8.69", null, null, "798.62"), + expectedRow("1/24/2019", "50", null, "0.9788812945", "48.94406473", "8060.04", "8.65", null, null, "789.97"), + expectedRow("1/25/2019", "50", null, "0.9778371458", "48.89185729", "8018.65", "8.61", null, null, "781.36"), + expectedRow("1/26/2019", "50", null, "0.9767941109", "48.83970555", "7977.21", "8.56", null, null, "772.80"), + expectedRow("1/27/2019", "50", null, "0.9757521886", "48.78760943", "7935.73", "8.52", null, null, "764.28"), + expectedRow("1/28/2019", "50", null, "0.9747113777", "48.73556888", "7894.21", "8.47", null, null, "755.81"), + expectedRow("1/29/2019", "50", null, "0.973671677", "48.68358385", "7852.63", "8.43", null, null, "747.38"), + expectedRow("1/30/2019", "50", null, "0.9726330853", "48.63165426", "7811.02", "8.39", null, null, "738.99"), + expectedRow("1/31/2019", "50", null, "0.9715956014", "48.57978007", "7769.36", "8.34", null, null, "730.65"), + expectedRow("2/1/2019", "50", null, "0.9705592242", "48.52796121", "7727.66", "8.30", null, null, "722.35"), + expectedRow("2/2/2019", "50", null, "0.9695239525", "48.47619762", "7685.91", "8.25", null, null, "714.10"), + expectedRow("2/3/2019", "50", null, "0.968489785", "48.42448925", "7644.12", "8.21", null, null, "705.89"), + expectedRow("2/4/2019", "50", null, "0.9674567207", "48.37283604", "7602.28", "8.16", null, null, "697.73"), + expectedRow("2/5/2019", "50", null, "0.9664247584", "48.32123792", "7560.40", "8.12", null, null, "689.61"), + expectedRow("2/6/2019", "50", null, "0.9653938968", "48.26969484", "7518.47", "8.07", null, null, "681.54"), + expectedRow("2/7/2019", "50", null, "0.9643641348", "48.21820674", "7476.50", "8.03", null, null, "673.51"), + expectedRow("2/8/2019", "50", null, "0.9633354712", "48.16677356", "7434.48", "7.98", null, null, "665.53"), + expectedRow("2/9/2019", "50", null, "0.9623079049", "48.11539525", "7392.42", "7.94", null, null, "657.59"), + expectedRow("2/10/2019", "50", null, "0.9612814347", "48.06407173", "7350.31", "7.89", null, null, "649.70"), + expectedRow("2/11/2019", "50", null, "0.9602560593", "48.01280297", "7308.16", "7.85", null, null, "641.85"), + expectedRow("2/12/2019", "50", null, "0.9592317777", "47.96158889", "7265.97", "7.80", null, null, "634.05"), + expectedRow("2/13/2019", "50", null, "0.9582085887", "47.91042944", "7223.72", "7.76", null, null, "626.29"), + expectedRow("2/14/2019", "50", null, "0.9571864911", "47.85932456", "7181.44", "7.71", null, null, "618.58"), + expectedRow("2/15/2019", "50", null, "0.9561654838", "47.80827419", "7139.11", "7.67", null, null, "610.91"), + expectedRow("2/16/2019", "50", null, "0.9551455655", "47.75727827", "7096.73", "7.62", null, null, "603.29"), + expectedRow("2/17/2019", "50", null, "0.9541267351", "47.70633676", "7054.31", "7.58", null, null, "595.71"), + expectedRow("2/18/2019", "50", null, "0.9531089916", "47.65544958", "7011.84", "7.53", null, null, "588.18"), + expectedRow("2/19/2019", "50", null, "0.9520923336", "47.60461668", "6969.33", "7.49", null, null, "580.69"), + expectedRow("2/20/2019", "50", null, "0.95107676", "47.553838", "6926.77", "7.44", null, null, "573.25"), + expectedRow("2/21/2019", "50", null, "0.9500622698", "47.50311349", "6884.17", "7.40", null, null, "565.85"), + expectedRow("2/22/2019", "50", null, "0.9490488616", "47.45244308", "6841.52", "7.35", null, null, "558.50"), + expectedRow("2/23/2019", "50", null, "0.9480365345", "47.40182672", "6798.82", "7.31", null, null, "551.19"), + expectedRow("2/24/2019", "50", null, "0.9470252872", "47.35126436", "6756.08", "7.26", null, null, "543.93"), + expectedRow("2/25/2019", "50", null, "0.9460151185", "47.30075593", "6713.30", "7.21", null, null, "536.72"), + expectedRow("2/26/2019", "50", null, "0.9450060274", "47.25030137", "6670.47", "7.17", null, null, "529.55"), + expectedRow("2/27/2019", "50", null, "0.9439980126", "47.19990063", "6627.59", "7.12", null, null, "522.43"), + expectedRow("2/28/2019", "50", null, "0.9429910731", "47.14955366", "6584.67", "7.08", null, null, "515.35"), + expectedRow("3/1/2019", "50", null, "0.9419852077", "47.09926038", "6541.70", "7.03", null, null, "508.32"), + expectedRow("3/2/2019", "50", null, "0.9409804151", "47.04902076", "6498.68", "6.99", null, null, "501.33"), + expectedRow("3/3/2019", "50", null, "0.9399766944", "46.99883472", "6455.62", "6.94", null, null, "494.39"), + expectedRow("3/4/2019", "50", null, "0.9389740443", "46.94870222", "6412.51", "6.89", null, null, "487.50"), + expectedRow("3/5/2019", "50", null, "0.9379724637", "46.89862319", "6369.36", "6.85", null, null, "480.65"), + expectedRow("3/6/2019", "50", null, "0.9369719515", "46.84859758", "6326.16", "6.80", null, null, "473.85"), + expectedRow("3/7/2019", "50", null, "0.9359725065", "46.79862533", "6282.92", "6.76", null, null, "467.09"), + expectedRow("3/8/2019", "50", null, "0.9349741276", "46.74870638", "6239.63", "6.71", null, null, "460.38"), + expectedRow("3/9/2019", "50", null, "0.9339768136", "46.69884068", "6196.29", "6.66", null, null, "453.72"), + expectedRow("3/10/2019", "50", null, "0.9329805635", "46.64902817", "6152.91", "6.62", null, null, "447.10"), + expectedRow("3/11/2019", "50", null, "0.931985376", "46.5992688", "6109.48", "6.57", null, null, "440.53"), + expectedRow("3/12/2019", "50", null, "0.93099125", "46.5495625", "6066.00", "6.52", null, null, "434.01"), + expectedRow("3/13/2019", "50", null, "0.9299981845", "46.49990922", "6022.48", "6.48", null, null, "427.53"), + expectedRow("3/14/2019", "50", null, "0.9290061782", "46.45030891", "5978.91", "6.43", null, null, "421.10"), + expectedRow("3/15/2019", "50", null, "0.9280152301", "46.40076151", "5935.29", "6.38", null, null, "414.72"), + expectedRow("3/16/2019", "50", null, "0.927025339", "46.35126695", "5891.63", "6.34", null, null, "408.38"), + expectedRow("3/17/2019", "50", null, "0.9260365038", "46.30182519", "5847.92", "6.29", null, null, "402.09"), + expectedRow("3/18/2019", "50", null, "0.9250487234", "46.25243617", "5804.17", "6.24", null, null, "395.85"), + expectedRow("3/19/2019", "50", null, "0.9240619966", "46.20309983", "5760.36", "6.20", null, null, "389.65"), + expectedRow("3/20/2019", "50", null, "0.9230763224", "46.15381612", "5716.52", "6.15", null, null, "383.50"), + expectedRow("3/21/2019", "50", null, "0.9220916995", "46.10458497", "5672.62", "6.10", null, null, "377.40"), + expectedRow("3/22/2019", "50", null, "0.9211081269", "46.05540634", "5628.68", "6.06", null, null, "371.34"), + expectedRow("3/23/2019", "50", null, "0.9201256034", "46.00628017", "5584.69", "6.01", null, null, "365.33"), + expectedRow("3/24/2019", "50", null, "0.919144128", "45.9572064", "5540.65", "5.96", null, null, "359.37"), + expectedRow("3/25/2019", "50", null, "0.9181636995", "45.90818498", "5496.57", "5.92", null, null, "353.45"), + expectedRow("3/26/2019", "50", null, "0.9171843168", "45.85921584", "5452.44", "5.87", null, null, "347.58"), + expectedRow("3/27/2019", "50", null, "0.9162059788", "45.81029894", "5408.26", "5.82", null, null, "341.76"), + expectedRow("3/28/2019", "50", null, "0.9152286843", "45.76143422", "5364.03", "5.78", null, null, "335.98"), + expectedRow("3/29/2019", "50", null, "0.9142524323", "45.71262162", "5319.76", "5.73", null, null, "330.25"), + expectedRow("3/30/2019", "50", null, "0.9132772217", "45.66386108", "5275.44", "5.68", null, null, "324.57"), + expectedRow("3/31/2019", "50", null, "0.9123030513", "45.61515256", "5231.08", "5.63", null, null, "318.94"), + expectedRow("4/1/2019", "50", null, "0.91132992", "45.566496", "5186.66", "5.59", null, null, "313.35"), + expectedRow("4/2/2019", "50", null, "0.9103578267", "45.51789134", "5142.20", "5.54", null, null, "307.81"), + expectedRow("4/3/2019", "50", null, "0.9093867703", "45.46933852", "5097.69", "5.49", null, null, "302.32"), + expectedRow("4/4/2019", "50", null, "0.9084167498", "45.42083749", "5053.13", "5.44", null, null, "296.88"), + expectedRow("4/5/2019", "50", null, "0.9074477639", "45.3723882", "5008.53", "5.40", null, null, "291.48"), + expectedRow("4/6/2019", "50", null, "0.9064798116", "45.32399058", "4963.88", "5.35", null, null, "286.13"), + expectedRow("4/7/2019", "50", null, "0.9055128918", "45.27564459", "4919.18", "5.30", null, null, "280.83"), + expectedRow("4/8/2019", "50", null, "0.9045470035", "45.22735017", "4874.43", "5.25", null, null, "275.58"), + expectedRow("4/9/2019", "50", null, "0.9035821453", "45.17910727", "4829.64", "5.20", null, null, "270.38"), + expectedRow("4/10/2019", "50", null, "0.9026183164", "45.13091582", "4784.79", "5.16", null, null, "265.22"), + expectedRow("4/11/2019", "50", null, "0.9016555156", "45.08277578", "4739.90", "5.11", null, null, "260.11"), + expectedRow("4/12/2019", "50", null, "0.9006937418", "45.03468709", "4694.96", "5.06", null, null, "255.05"), + expectedRow("4/13/2019", "50", null, "0.8997329939", "44.98664969", "4649.98", "5.01", null, null, "250.04"), + expectedRow("4/14/2019", "50", null, "0.8987732707", "44.93866354", "4604.94", "4.97", null, null, "245.07"), + expectedRow("4/15/2019", "50", null, "0.8978145713", "44.89072857", "4559.86", "4.92", null, null, "240.15"), + expectedRow("4/16/2019", "50", null, "0.8968568945", "44.84284473", "4514.73", "4.87", null, null, "235.28"), + expectedRow("4/17/2019", "50", null, "0.8959002393", "44.79501196", "4469.55", "4.82", null, null, "230.46"), + expectedRow("4/18/2019", "50", null, "0.8949446045", "44.74723022", "4424.32", "4.77", null, null, "225.69"), + expectedRow("4/19/2019", "50", null, "0.893989989", "44.69949945", "4379.05", "4.72", null, null, "220.97"), + expectedRow("4/20/2019", "50", null, "0.8930363918", "44.65181959", "4333.72", "4.68", null, null, "216.29"), + expectedRow("4/21/2019", "50", null, "0.8920838118", "44.60419059", "4288.35", "4.63", null, null, "211.66"), + expectedRow("4/22/2019", "50", null, "0.8911322479", "44.55661239", "4242.93", "4.58", null, null, "207.08"), + expectedRow("4/23/2019", "50", null, "0.890181699", "44.50908495", "4197.46", "4.53", null, null, "202.55"), + expectedRow("4/24/2019", "50", null, "0.889232164", "44.4616082", "4151.94", "4.48", null, null, "198.07"), + expectedRow("4/25/2019", "50", null, "0.8882836418", "44.41418209", "4106.38", "4.43", null, null, "193.64"), + expectedRow("4/26/2019", "50", null, "0.8873361315", "44.36680657", "4060.76", "4.38", null, null, "189.26"), + expectedRow("4/27/2019", "50", null, "0.8863896318", "44.31948159", "4015.10", "4.34", null, null, "184.92"), + expectedRow("4/28/2019", "50", null, "0.8854441417", "44.27220708", "3969.38", "4.29", null, null, "180.63"), + expectedRow("4/29/2019", "50", null, "0.8844996601", "44.22498301", "3923.62", "4.24", null, null, "176.39"), + expectedRow("4/30/2019", "50", null, "0.883556186", "44.1778093", "3877.81", "4.19", null, null, "172.20"), + expectedRow("5/1/2019", "50", null, "0.8826137183", "44.13068592", "3831.95", "4.14", null, null, "168.06"), + expectedRow("5/2/2019", "50", null, "0.8816722559", "44.0836128", "3786.04", "4.09", null, null, "163.97"), + expectedRow("5/3/2019", "50", null, "0.8807317977", "44.03658989", "3740.09", "4.04", null, null, "159.93"), + expectedRow("5/4/2019", "50", null, "0.8797923427", "43.98961714", "3694.08", "3.99", null, null, "155.94"), + expectedRow("5/5/2019", "50", null, "0.8788538898", "43.94269449", "3648.03", "3.94", null, null, "152.00"), + expectedRow("5/6/2019", "50", null, "0.8779164379", "43.8958219", "3601.92", "3.90", null, null, "148.10"), + expectedRow("5/7/2019", "50", null, "0.876979986", "43.8489993", "3555.77", "3.85", null, null, "144.25"), + expectedRow("5/8/2019", "50", null, "0.8760445329", "43.80222665", "3509.56", "3.80", null, null, "140.45"), + expectedRow("5/9/2019", "50", null, "0.8751100777", "43.75550389", "3463.31", "3.75", null, null, "136.70"), + expectedRow("5/10/2019", "50", null, "0.8741766193", "43.70883096", "3417.01", "3.70", null, null, "133.00"), + expectedRow("5/11/2019", "50", null, "0.8732441565", "43.66220782", "3370.66", "3.65", null, null, "129.35"), + expectedRow("5/12/2019", "50", null, "0.8723126884", "43.61563442", "3324.26", "3.60", null, null, "125.75"), + expectedRow("5/13/2019", "50", null, "0.8713822138", "43.56911069", "3277.81", "3.55", null, null, "122.20"), + expectedRow("5/14/2019", "50", null, "0.8704527318", "43.52263659", "3231.31", "3.50", null, null, "118.70"), + expectedRow("5/15/2019", "50", null, "0.8695242412", "43.47621206", "3184.76", "3.45", null, null, "115.25"), + expectedRow("5/16/2019", "50", null, "0.868596741", "43.42983705", "3138.16", "3.40", null, null, "111.85"), + expectedRow("5/17/2019", "50", null, "0.8676702302", "43.38351151", "3091.51", "3.35", null, null, "108.50"), + expectedRow("5/18/2019", "50", null, "0.8667447076", "43.33723538", "3044.81", "3.30", null, null, "105.20"), + expectedRow("5/19/2019", "50", null, "0.8658201723", "43.29100861", "2998.06", "3.25", null, null, "101.95"), + expectedRow("5/20/2019", "50", null, "0.8648966231", "43.24483116", "2951.26", "3.20", null, null, "98.75"), + expectedRow("5/21/2019", "50", null, "0.8639740591", "43.19870296", "2904.42", "3.15", null, null, "95.60"), + expectedRow("5/22/2019", "50", null, "0.8630524792", "43.15262396", "2857.52", "3.10", null, null, "92.50"), + expectedRow("5/23/2019", "50", null, "0.8621318823", "43.10659411", "2810.57", "3.05", null, null, "89.45"), + expectedRow("5/24/2019", "50", null, "0.8612122673", "43.06061337", "2763.57", "3.00", null, null, "86.45"), + expectedRow("5/25/2019", "50", null, "0.8602936333", "43.01468167", "2716.52", "2.95", null, null, "83.50"), + expectedRow("5/26/2019", "50", null, "0.8593759792", "42.96879896", "2669.42", "2.90", null, null, "80.60"), + expectedRow("5/27/2019", "50", null, "0.8584593039", "42.9229652", "2622.27", "2.85", null, null, "77.75"), + expectedRow("5/28/2019", "50", null, "0.8575436064", "42.87718032", "2575.07", "2.80", null, null, "74.95"), + expectedRow("5/29/2019", "50", null, "0.8566288857", "42.83144429", "2527.82", "2.75", null, null, "72.20"), + expectedRow("5/30/2019", "50", null, "0.8557151407", "42.78575703", "2480.52", "2.70", null, null, "69.50"), + expectedRow("5/31/2019", "50", null, "0.8548023703", "42.74011852", "2433.17", "2.65", null, null, "66.85"), + expectedRow("6/1/2019", "50", null, "0.8538905736", "42.69452868", "2385.77", "2.60", null, null, "64.25"), + expectedRow("6/2/2019", "50", null, "0.8529797495", "42.64898747", "2338.31", "2.55", null, null, "61.70"), + expectedRow("6/3/2019", "50", null, "0.8520698969", "42.60349484", "2290.81", "2.50", null, null, "59.20"), + expectedRow("6/4/2019", "50", null, "0.8511610148", "42.55805074", "2243.26", "2.45", null, null, "56.75"), + expectedRow("6/5/2019", "50", null, "0.8502531022", "42.51265511", "2195.65", "2.40", null, null, "54.35"), + expectedRow("6/6/2019", "50", null, "0.8493461581", "42.46730791", "2148.00", "2.34", null, null, "52.01"), + expectedRow("6/7/2019", "50", null, "0.8484401814", "42.42200907", "2100.29", "2.29", null, null, "49.72"), + expectedRow("6/8/2019", "50", null, "0.8475351711", "42.37675855", "2052.53", "2.24", null, null, "47.48"), + expectedRow("6/9/2019", "50", null, "0.8466311261", "42.3315563", "2004.73", "2.19", null, null, "45.29"), + expectedRow("6/10/2019", "50", null, "0.8457280454", "42.28640227", "1956.87", "2.14", null, null, "43.15"), + expectedRow("6/11/2019", "50", null, "0.844825928", "42.2412964", "1908.96", "2.09", null, null, "41.06"), + expectedRow("6/12/2019", "50", null, "0.8439247729", "42.19623865", "1860.99", "2.04", null, null, "39.02"), + expectedRow("6/13/2019", "50", null, "0.8430245791", "42.15122895", "1812.98", "1.99", null, null, "37.03"), + expectedRow("6/14/2019", "50", null, "0.8421253454", "42.10626727", "1764.92", "1.94", null, null, "35.09"), + expectedRow("6/15/2019", "50", null, "0.841227071", "42.06135355", "1716.80", "1.88", null, null, "33.21"), + expectedRow("6/16/2019", "50", null, "0.8403297547", "42.01648774", "1668.64", "1.83", null, null, "31.38"), + expectedRow("6/17/2019", "50", null, "0.8394333956", "41.97166978", "1620.42", "1.78", null, null, "29.60"), + expectedRow("6/18/2019", "50", null, "0.8385379925", "41.92689963", "1572.15", "1.73", null, null, "27.87"), + expectedRow("6/19/2019", "50", null, "0.8376435446", "41.88217723", "1523.83", "1.68", null, null, "26.19"), + expectedRow("6/20/2019", "50", null, "0.8367500508", "41.83750254", "1475.45", "1.63", null, null, "24.56"), + expectedRow("6/21/2019", "50", null, "0.83585751", "41.7928755", "1427.03", "1.58", null, null, "22.98"), + expectedRow("6/22/2019", "50", null, "0.8349659213", "41.74829607", "1378.55", "1.52", null, null, "21.46"), + expectedRow("6/23/2019", "50", null, "0.8340752837", "41.70376418", "1330.02", "1.47", null, null, "19.99"), + expectedRow("6/24/2019", "50", null, "0.833185596", "41.6592798", "1281.45", "1.42", null, null, "18.57"), + expectedRow("6/25/2019", "50", null, "0.8322968574", "41.61484287", "1232.81", "1.37", null, null, "17.20"), + expectedRow("6/26/2019", "50", null, "0.8314090667", "41.57045334", "1184.13", "1.32", null, null, "15.88"), + expectedRow("6/27/2019", "50", null, "0.8305222231", "41.52611115", "1135.39", "1.26", null, null, "14.62"), + expectedRow("6/28/2019", "50", null, "0.8296363254", "41.48181627", "1086.61", "1.21", null, null, "13.41"), + expectedRow("6/29/2019", "50", null, "0.8287513727", "41.43756863", "1037.77", "1.16", null, null, "12.25"), + expectedRow("6/30/2019", "50", null, "0.8278673639", "41.39336819", "988.88", "1.11", null, null, "11.14"), + expectedRow("7/1/2019", "50", null, "0.8269842981", "41.3492149", "939.93", "1.06", null, null, "10.08"), + expectedRow("7/2/2019", "50", null, "0.8261021742", "41.30510871", "890.93", "1.00", null, null, "9.08"), + expectedRow("7/3/2019", "50", null, "0.8252209913", "41.26104956", "841.89", "0.95", null, null, "8.13"), + expectedRow("7/4/2019", "50", null, "0.8243407483", "41.21703741", "792.79", "0.90", null, null, "7.23"), + expectedRow("7/5/2019", "50", null, "0.8234614442", "41.17307221", "743.63", "0.85", null, null, "6.38"), + expectedRow("7/6/2019", "50", null, "0.8225830781", "41.1291539", "694.43", "0.79", null, null, "5.59"), + expectedRow("7/7/2019", "50", null, "0.8217056489", "41.08528244", "645.17", "0.74", null, null, "4.85"), + expectedRow("7/8/2019", "50", null, "0.8208291556", "41.04145778", "595.86", "0.69", null, null, "4.16"), + expectedRow("7/9/2019", "50", null, "0.8199535973", "40.99767987", "546.49", "0.64", null, null, "3.52"), + expectedRow("7/10/2019", "50", null, "0.8190789729", "40.95394865", "497.08", "0.58", null, null, "2.94"), + expectedRow("7/11/2019", "50", null, "0.8182052815", "40.91026407", "447.61", "0.53", null, null, "2.41"), + expectedRow("7/12/2019", "50", null, "0.8173325219", "40.8666261", "398.08", "0.48", null, null, "1.93"), + expectedRow("7/13/2019", "50", null, "0.8164606934", "40.82303467", "348.51", "0.43", null, null, "1.50"), + expectedRow("7/14/2019", "50", null, "0.8155897948", "40.77948974", "298.88", "0.37", null, null, "1.13"), + expectedRow("7/15/2019", "50", null, "0.8147198252", "40.73599126", "249.20", "0.32", null, null, "0.81"), + expectedRow("7/16/2019", "50", null, "0.8138507835", "40.69253918", "199.47", "0.27", null, null, "0.54"), + expectedRow("7/17/2019", "50", null, "0.8129826688", "40.64913344", "149.68", "0.21", null, null, "0.33"), + expectedRow("7/18/2019", "50", null, "0.8121154802", "40.60577401", "99.84", "0.16", null, null, "0.17"), + expectedRow("7/19/2019", "50", null, "0.8112492165", "40.56246082", "49.95", "0.11", null, null, "0.06"), + expectedRow("7/20/2019", "50", null, "0.8103838768", "40.51919384", "0.00", "0.05", null, null, "0.01")); } private static ExpectedScheduleRow expectedRow(final String paymentDate, final String expectedPaymentAmount, - final String actualPaymentAmount, final String discountFactor, final String npvValue, final String balance, + final String actualPaymentAmount, final String discountFactor, final String npvValue, final String expectedBalance, final String expectedAmortization, final String actualAmortization, final String incomeModification, - final String deferredBalance) { + final String expectedDiscountFeeBalance) { return new ExpectedScheduleRow(parseDateString(paymentDate), expectedPaymentAmount, actualPaymentAmount, discountFactor, npvValue, - balance, expectedAmortization, actualAmortization, incomeModification, deferredBalance); + expectedBalance, expectedAmortization, actualAmortization, incomeModification, expectedDiscountFeeBalance); } private static LocalDate parseDateString(final String dateText) { @@ -632,8 +634,8 @@ private static LocalDate parseDateString(final String dateText) { } private record ExpectedScheduleRow(LocalDate paymentDate, String expectedPaymentAmount, String actualPaymentAmount, - String discountFactor, String npvValue, String balance, String expectedAmortization, String actualAmortization, - String incomeModification, String deferredBalance) { + String discountFactor, String npvValue, String expectedBalance, String expectedAmortization, String actualAmortization, + String incomeModification, String expectedDiscountFeeBalance) { } private Long createProduct() {