diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/AccrualBasedAccountingProcessorForLoan.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/AccrualBasedAccountingProcessorForLoan.java index f8d84c9c0..622a17b6b 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/AccrualBasedAccountingProcessorForLoan.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/AccrualBasedAccountingProcessorForLoan.java @@ -39,14 +39,9 @@ public class AccrualBasedAccountingProcessorForLoan implements AccountingProcess createJournalEntriesForDisbursements(loanDTO, loanTransactionDTO, office); } - /*** Handle Interest Postings ***/ - if (loanTransactionDTO.getTransactionType().isApplyInterest()) { - createJournalEntriesForInterestPostings(loanDTO, loanTransactionDTO, office); - } - - /*** Handle Apply charges ***/ - else if (loanTransactionDTO.getTransactionType().isApplyCharges()) { - createJournalEntriesForApplyCharges(loanDTO, loanTransactionDTO, office); + /*** Handle Accruals ***/ + if (loanTransactionDTO.getTransactionType().isAccrual()) { + createJournalEntriesForAccruals(loanDTO, loanTransactionDTO, office); } /*** @@ -98,37 +93,6 @@ public class AccrualBasedAccountingProcessorForLoan implements AccountingProcess } - /** - * Recognise the receivable interest
- * Debit "Interest Receivable" and Credit "Income from Interest" - * - * @param loanDTO - * @param loanTransactionDTO - * @param office - */ - private void createJournalEntriesForInterestPostings(final LoanDTO loanDTO, final LoanTransactionDTO loanTransactionDTO, - final Office office) { - - // loan properties - final Long loanProductId = loanDTO.getLoanProductId(); - final Long loanId = loanDTO.getLoanId(); - final String currencyCode = loanDTO.getCurrencyCode(); - - // transaction properties - final String transactionId = loanTransactionDTO.getTransactionId(); - final Date transactionDate = loanTransactionDTO.getTransactionDate(); - final BigDecimal amount = loanTransactionDTO.getAmount(); - final boolean isReversed = loanTransactionDTO.isReversed(); - final Long paymentTypeId = loanTransactionDTO.getPaymentTypeId(); - - // create journal entries for recognising interest (or reversal) - if (amount != null && !(amount.compareTo(BigDecimal.ZERO) == 0)) { - this.helper.createAccrualBasedJournalEntriesAndReversalsForLoan(office, currencyCode, - ACCRUAL_ACCOUNTS_FOR_LOAN.INTEREST_RECEIVABLE, ACCRUAL_ACCOUNTS_FOR_LOAN.INTEREST_ON_LOANS, loanProductId, - paymentTypeId, loanId, transactionId, transactionDate, amount, isReversed); - } - } - /** * * Handles repayments using the following posting rules
@@ -238,8 +202,8 @@ public class AccrualBasedAccountingProcessorForLoan implements AccountingProcess } /** - * Create Journal Entries for application of charges (fees and payments) - * using the following rules
+ * Recognize the receivable interest
+ * Debit "Interest Receivable" and Credit "Income from Interest" * * Fees: Debit Fees Receivable and credit Income from * Fees
@@ -253,7 +217,7 @@ public class AccrualBasedAccountingProcessorForLoan implements AccountingProcess * @param loanTransactionDTO * @param office */ - private void createJournalEntriesForApplyCharges(final LoanDTO loanDTO, final LoanTransactionDTO loanTransactionDTO, final Office office) { + private void createJournalEntriesForAccruals(final LoanDTO loanDTO, final LoanTransactionDTO loanTransactionDTO, final Office office) { // loan properties final Long loanProductId = loanDTO.getLoanProductId(); @@ -263,11 +227,18 @@ public class AccrualBasedAccountingProcessorForLoan implements AccountingProcess // transaction properties final String transactionId = loanTransactionDTO.getTransactionId(); final Date transactionDate = loanTransactionDTO.getTransactionDate(); + final BigDecimal interestAmount = loanTransactionDTO.getInterest(); final BigDecimal feesAmount = loanTransactionDTO.getFees(); final BigDecimal penaltiesAmount = loanTransactionDTO.getPenalties(); final boolean isReversed = loanTransactionDTO.isReversed(); final Long paymentTypeId = loanTransactionDTO.getPaymentTypeId(); + // create journal entries for recognizing interest (or reversal) + if (interestAmount != null && !(interestAmount.compareTo(BigDecimal.ZERO) == 0)) { + this.helper.createAccrualBasedJournalEntriesAndReversalsForLoan(office, currencyCode, + ACCRUAL_ACCOUNTS_FOR_LOAN.INTEREST_RECEIVABLE, ACCRUAL_ACCOUNTS_FOR_LOAN.INTEREST_ON_LOANS, loanProductId, + paymentTypeId, loanId, transactionId, transactionDate, interestAmount, isReversed); + } // create journal entries for the fees application (or reversal) if (feesAmount != null && !(feesAmount.compareTo(BigDecimal.ZERO) == 0)) { this.helper.createAccrualBasedJournalEntriesAndReversalsForLoan(office, currencyCode, @@ -275,7 +246,7 @@ public class AccrualBasedAccountingProcessorForLoan implements AccountingProcess loanId, transactionId, transactionDate, feesAmount, isReversed); } // create journal entries for the penalties application (or reversal) - else if (penaltiesAmount != null && !(penaltiesAmount.compareTo(BigDecimal.ZERO) == 0)) { + if (penaltiesAmount != null && !(penaltiesAmount.compareTo(BigDecimal.ZERO) == 0)) { this.helper.createAccrualBasedJournalEntriesAndReversalsForLoan(office, currencyCode, ACCRUAL_ACCOUNTS_FOR_LOAN.PENALTIES_RECEIVABLE, ACCRUAL_ACCOUNTS_FOR_LOAN.INCOME_FROM_PENALTIES, loanProductId, paymentTypeId, loanId, transactionId, transactionDate, penaltiesAmount, isReversed); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanTransactionEnumData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanTransactionEnumData.java index bd896b49e..9cd4b074e 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanTransactionEnumData.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanTransactionEnumData.java @@ -19,10 +19,9 @@ public class LoanTransactionEnumData { private final boolean repaymentAtDisbursement; private final boolean repayment; private final boolean contra; - private final boolean applyInterest; private final boolean waiveInterest; private final boolean waiveCharges; - private final boolean applyCharges; + private final boolean accrual; private final boolean writeOff; private final boolean recoveryRepayment; private final boolean initiateTransfer; @@ -42,8 +41,7 @@ public class LoanTransactionEnumData { this.contra = Long.valueOf(3).equals(this.id); this.waiveInterest = Long.valueOf(4).equals(this.id); this.waiveCharges = Long.valueOf(9).equals(this.id); - this.applyCharges = Long.valueOf(10).equals(this.id); - this.applyInterest = Long.valueOf(11).equals(this.id); + this.accrual = Long.valueOf(10).equals(this.id); this.writeOff = Long.valueOf(6).equals(this.id); this.recoveryRepayment = Long.valueOf(8).equals(this.id); this.initiateTransfer = Long.valueOf(12).equals(this.id); @@ -105,12 +103,8 @@ public class LoanTransactionEnumData { return this.recoveryRepayment; } - public boolean isApplyCharges() { - return this.applyCharges; - } - - public boolean isApplyInterest() { - return this.applyInterest; + public boolean isAccrual() { + return this.accrual; } public boolean isInitiateTransfer() { diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java index 094ffb7d2..44d5a8b80 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java @@ -555,7 +555,7 @@ public class Loan extends AbstractPersistable { } } - final LoanTransaction applyLoanChargeTransaction = LoanTransaction.applyLoanCharge(this, getOffice(), chargeAmount, + final LoanTransaction applyLoanChargeTransaction = LoanTransaction.accrueLoanCharge(this, getOffice(), chargeAmount, transactionDate, feeCharges, penaltyCharges); this.loanTransactions.add(applyLoanChargeTransaction); return applyLoanChargeTransaction; @@ -1787,9 +1787,17 @@ public class Loan extends AbstractPersistable { } final Money interestApplied = Money.of(getCurrency(), this.summary.getTotalInterestCharged()); - final LoanTransaction interestAppliedTransaction = LoanTransaction.applyInterest(getOffice(), this, interestApplied, - actualDisbursementDate); - this.loanTransactions.add(interestAppliedTransaction); + + /** + * Add an interest applied transaction of the interest is accrued + * upfront (Up front accrual) + **/ + + if (isUpfrontAccrualAccountingEnabledOnLoanProduct()) { + final LoanTransaction interestAppliedTransaction = LoanTransaction.accrueInterest(getOffice(), this, interestApplied, + actualDisbursementDate); + this.loanTransactions.add(interestAppliedTransaction); + } // changedTransactionDetail = // reprocessTransactionForDisbursement(changedTransactionDetail); @@ -1990,7 +1998,13 @@ public class Loan extends AbstractPersistable { disbursentMoney = disbursentMoney.plus(charge.amount()); } } else { - handleChargeAppliedTransaction(charge, disbursedOn); + /** + * create a Charge applied transaction if Upfront Accrual is + * enabled + **/ + if (isUpfrontAccrualAccountingEnabledOnLoanProduct()) { + handleChargeAppliedTransaction(charge, disbursedOn); + } } } if (disbursentMoney.isGreaterThanZero()) { @@ -3208,8 +3222,12 @@ public class Loan extends AbstractPersistable { return this.loanProduct.isCashBasedAccountingEnabled(); } - private Boolean isAccrualBasedAccountingEnabledOnLoanProduct() { - return this.loanProduct.isAccrualBasedAccountingEnabled(); + public Boolean isUpfrontAccrualAccountingEnabledOnLoanProduct() { + return this.loanProduct.isUpfrontAccrualAccountingEnabled(); + } + + private Boolean isPeriodicAccrualAccountingEnabledOnLoanProduct() { + return this.loanProduct.isPeriodicAccrualAccountingEnabled(); } private Long productId() { @@ -3238,8 +3256,8 @@ public class Loan extends AbstractPersistable { accountingBridgeData.put("currency", currencyData); accountingBridgeData.put("calculatedInterest", this.summary.getTotalInterestCharged()); accountingBridgeData.put("cashBasedAccountingEnabled", isCashBasedAccountingEnabledOnLoanProduct()); - accountingBridgeData.put("upfrontAccrualBasedAccountingEnabled", isAccrualBasedAccountingEnabledOnLoanProduct()); - accountingBridgeData.put("periodicAccrualBasedAccountingEnabled", isAccrualBasedAccountingEnabledOnLoanProduct()); + accountingBridgeData.put("upfrontAccrualBasedAccountingEnabled", isUpfrontAccrualAccountingEnabledOnLoanProduct()); + accountingBridgeData.put("periodicAccrualBasedAccountingEnabled", isPeriodicAccrualAccountingEnabledOnLoanProduct()); final List> newLoanTransactions = new ArrayList>(); for (final LoanTransaction transaction : this.loanTransactions) { diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransaction.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransaction.java index 02c91051a..4cc87f9c5 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransaction.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransaction.java @@ -127,9 +127,18 @@ public final class LoanTransaction extends AbstractPersistable { return new LoanTransaction(loan, office, LoanTransactionType.WAIVE_INTEREST, waived.getAmount(), waiveDate, null); } - public static LoanTransaction applyInterest(final Office office, final Loan loan, final Money amount, + public static LoanTransaction accrueInterest(final Office office, final Loan loan, final Money amount, final LocalDate interestAppliedDate) { - return new LoanTransaction(loan, office, LoanTransactionType.APPLY_INTEREST, amount.getAmount(), interestAppliedDate, null); + BigDecimal principalPortion = null; + BigDecimal feesPortion = null; + BigDecimal penaltiesPortion = null; + BigDecimal interestPortion = amount.getAmount(); + BigDecimal overPaymentPortion = null; + boolean reversed = false; + PaymentDetail paymentDetail = null; + String externalId = null; + return new LoanTransaction(loan, office, LoanTransactionType.ACCRUAL.getValue(), interestAppliedDate.toDate(), interestPortion, + principalPortion, interestPortion, feesPortion, penaltiesPortion, overPaymentPortion, reversed, paymentDetail, externalId); } public static LoanTransaction initiateTransfer(final Office office, final Loan loan, final LocalDate transferDate) { @@ -165,10 +174,11 @@ public final class LoanTransaction extends AbstractPersistable { loanTransaction.reversed, loanTransaction.paymentDetail, loanTransaction.externalId); } - public static LoanTransaction applyLoanCharge(final Loan loan, final Office office, final Money amount, final LocalDate applyDate, + public static LoanTransaction accrueLoanCharge(final Loan loan, final Office office, final Money amount, final LocalDate applyDate, final Money feeCharges, final Money penaltyCharges) { - final LoanTransaction applyCharge = new LoanTransaction(loan, office, LoanTransactionType.APPLY_CHARGES, amount.getAmount(), - applyDate, null); + String externalId = null; + final LoanTransaction applyCharge = new LoanTransaction(loan, office, LoanTransactionType.ACCRUAL, amount.getAmount(), applyDate, + externalId); applyCharge.updateChargesComponents(feeCharges, penaltyCharges); return applyCharge; } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransactionType.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransactionType.java index 4213d9150..5337d056b 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransactionType.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransactionType.java @@ -21,8 +21,11 @@ public enum LoanTransactionType { */ RECOVERY_REPAYMENT(8, "loanTransactionType.recoveryRepayment"), // WAIVE_CHARGES(9, "loanTransactionType.waiveCharges"), // - APPLY_CHARGES(10, "loanTransactionType.applyCharges"), // - APPLY_INTEREST(11, "loanTransactionType.applyInterest"), + /** + * Transaction represents an Accrual (For either interest, charge or a + * penalty + **/ + ACCRUAL(10, "loanTransactionType.accrual"), // /*** * A Loan Transfer involves two steps, first a "initiate" Loan transfer @@ -32,10 +35,9 @@ public enum LoanTransactionType { INITIATE_TRANSFER(12, "loanTransactionType.initiateTransfer"), // APPROVE_TRANSFER(13, "loanTransactionType.approveTransfer"), // WITHDRAW_TRANSFER(14, "loanTransactionType.withdrawTransfer"), // - REJECT_TRANSFER(15, "loanTransactionType.rejectTransfer"), - - REFUND(16, "loanTransactionType.refund"), CHARGE_PAYMENT(17, "loanTransactionType.chargePayment"), - ACCRUAL_ACCOUNTING(17,"loanTransactionType.accrualAccounting"); + REJECT_TRANSFER(15, "loanTransactionType.rejectTransfer"), // + REFUND(16, "loanTransactionType.refund"), // + CHARGE_PAYMENT(17, "loanTransactionType.chargePayment"); private final Integer value; private final String code; @@ -87,10 +89,7 @@ public enum LoanTransactionType { loanTransactionType = LoanTransactionType.WAIVE_CHARGES; break; case 10: - loanTransactionType = LoanTransactionType.APPLY_CHARGES; - break; - case 11: - loanTransactionType = LoanTransactionType.APPLY_INTEREST; + loanTransactionType = LoanTransactionType.ACCRUAL; break; case 12: loanTransactionType = LoanTransactionType.INITIATE_TRANSFER; @@ -141,8 +140,8 @@ public enum LoanTransactionType { return this.value.equals(LoanTransactionType.WAIVE_CHARGES.getValue()); } - public boolean isApplyCharges() { - return this.value.equals(LoanTransactionType.APPLY_CHARGES.getValue()); + public boolean isAccrual() { + return this.value.equals(LoanTransactionType.ACCRUAL.getValue()); } public boolean isWriteOff() { diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanAccrualWritePlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanAccrualWritePlatformServiceImpl.java index 98d802cd3..a0660b678 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanAccrualWritePlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanAccrualWritePlatformServiceImpl.java @@ -116,8 +116,8 @@ public class LoanAccrualWritePlatformServiceImpl implements LoanAccrualWritePlat TransactionStatus transactionStatus = this.transactionManager.getTransaction(new DefaultTransactionDefinition()); try { this.jdbcTemplate.update(transactionSql, scheduleAccrualData.getLoanId(), scheduleAccrualData.getOfficeId(), - LoanTransactionType.ACCRUAL_ACCOUNTING.getValue(), scheduleAccrualData.getDueDate(), amount, interestportion, - feeportion, penaltyportion); + LoanTransactionType.ACCRUAL.getValue(), scheduleAccrualData.getDueDate(), amount, interestportion, feeportion, + penaltyportion); final Long transactonId = this.jdbcTemplate.queryForLong("SELECT LAST_INSERT_ID()"); Map transactionMap = toMapData(transactonId, amount, interestportion, feeportion, penaltyportion, @@ -158,7 +158,7 @@ public class LoanAccrualWritePlatformServiceImpl implements LoanAccrualWritePlat final BigDecimal feeportion, final BigDecimal penaltyportion, final LoanScheduleAccrualData loanScheduleAccrualData) { final Map thisTransactionData = new LinkedHashMap(); - final LoanTransactionEnumData transactionType = LoanEnumerations.transactionType(LoanTransactionType.ACCRUAL_ACCOUNTING); + final LoanTransactionEnumData transactionType = LoanEnumerations.transactionType(LoanTransactionType.ACCRUAL); thisTransactionData.put("id", id); thisTransactionData.put("officeId", loanScheduleAccrualData.getOfficeId()); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java index 24568f85f..d12a8a3a3 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java @@ -985,9 +985,12 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf final ChangedTransactionDetail changedTransactionDetail = loan.addLoanCharge(loanCharge, existingTransactionIds, existingReversedTransactionIds); - // we want to apply charge transactions only for those loans charges - // that are applied when a loan is active - if (loan.status().isActive()) { + /** + * we want to apply charge transactions only for those loans charges + * that are applied when a loan is active and the loan product uses + * Upfront Accruals + **/ + if (loan.isUpfrontAccrualAccountingEnabledOnLoanProduct() && (loan.status().isActive())) { final LoanTransaction applyLoanChargeTransaction = loan.handleChargeAppliedTransaction(loanCharge, null); this.loanTransactionRepository.save(applyLoanChargeTransaction); /*** @@ -1847,9 +1850,12 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf final ChangedTransactionDetail changedTransactionDetail = loan.addLoanCharge(loanCharge, existingTransactionIds, existingReversedTransactionIds); - // we want to apply charge transactions only for those loans charges - // that are applied when a loan is active - if (loan.status().isActive()) { + /** + * we want to apply charge transactions only for those loans charges + * that are applied when a loan is active and the loan product has + * Upfront Accrual accounting enabled + **/ + if (loan.isUpfrontAccrualAccountingEnabledOnLoanProduct() && loan.status().isActive()) { final LoanTransaction applyLoanChargeTransaction = loan.handleChargeAppliedTransaction(loanCharge, null); this.loanTransactionRepository.save(applyLoanChargeTransaction); this.loanRepository.saveAndFlush(loan); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProduct.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProduct.java index b77804018..006d596c3 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProduct.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProduct.java @@ -614,14 +614,14 @@ public class LoanProduct extends AbstractPersistable { } public boolean isAccrualBasedAccountingEnabled() { - return isUpfrontAccrualAccounting() || isPeriodicAccrualAccounting(); + return isUpfrontAccrualAccountingEnabled() || isPeriodicAccrualAccountingEnabled(); } - public boolean isUpfrontAccrualAccounting() { + public boolean isUpfrontAccrualAccountingEnabled() { return AccountingRuleType.ACCRUAL_UPFRONT.getValue().equals(this.accountingRule); } - public boolean isPeriodicAccrualAccounting() { + public boolean isPeriodicAccrualAccountingEnabled() { return AccountingRuleType.ACCRUAL_PERIODIC.getValue().equals(this.accountingRule); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanEnumerations.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanEnumerations.java index 0c738d6be..754142ca3 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanEnumerations.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanEnumerations.java @@ -277,13 +277,9 @@ public class LoanEnumerations { optionData = new LoanTransactionEnumData(LoanTransactionType.WAIVE_CHARGES.getValue().longValue(), LoanTransactionType.WAIVE_CHARGES.getCode(), "Waive loan charges"); break; - case APPLY_CHARGES: - optionData = new LoanTransactionEnumData(LoanTransactionType.APPLY_CHARGES.getValue().longValue(), - LoanTransactionType.APPLY_CHARGES.getCode(), "Apply Charge"); - break; - case APPLY_INTEREST: - optionData = new LoanTransactionEnumData(LoanTransactionType.APPLY_INTEREST.getValue().longValue(), - LoanTransactionType.APPLY_INTEREST.getCode(), "Apply Interest"); + case ACCRUAL: + optionData = new LoanTransactionEnumData(LoanTransactionType.ACCRUAL.getValue().longValue(), + LoanTransactionType.ACCRUAL.getCode(), "Accrual"); break; case APPROVE_TRANSFER: optionData = new LoanTransactionEnumData(LoanTransactionType.APPROVE_TRANSFER.getValue().longValue(), @@ -309,10 +305,6 @@ public class LoanEnumerations { optionData = new LoanTransactionEnumData(LoanTransactionType.CHARGE_PAYMENT.getValue().longValue(), LoanTransactionType.CHARGE_PAYMENT.getCode(), "Charge Payment"); break; - case ACCRUAL_ACCOUNTING: - optionData = new LoanTransactionEnumData(LoanTransactionType.ACCRUAL_ACCOUNTING.getValue().longValue(), - LoanTransactionType.ACCRUAL_ACCOUNTING.getCode(), "Accrual Accounting"); - break; default: break; }