WEB-246: add deferred income liability account handling for buy-down fee in loan product accounting form

This commit is contained in:
mark.vituska
2025-07-04 10:00:24 +02:00
parent cfea98cdec
commit 25aa2f70f4
2 changed files with 13 additions and 3 deletions
@@ -264,7 +264,10 @@
</mifosx-gl-account-selector>
<mifosx-gl-account-selector
*ngIf="deferredIncomeRecognition?.capitalizedIncome?.enableIncomeCapitalization"
*ngIf="
deferredIncomeRecognition?.capitalizedIncome?.enableIncomeCapitalization ||
deferredIncomeRecognition?.buyDownFee?.enableBuyDownFee
"
class="flex-48"
[inputFormControl]="loanProductAccountingForm.controls.deferredIncomeLiabilityAccountId"
[glAccountList]="liabilityAccountData"
@@ -157,6 +157,7 @@ export class LoanProductAccountingStepComponent implements OnInit, OnChanges {
}
if (this.deferredIncomeRecognition.buyDownFee.enableBuyDownFee) {
this.loanProductAccountingForm.patchValue({
deferredIncomeLiabilityAccountId: accountingMappings.deferredIncomeLiabilityAccount.id,
buyDownExpenseAccountId: accountingMappings.buyDownExpenseAccount.id,
incomeFromBuyDownAccountId: accountingMappings.incomeFromBuyDownAccount.id
});
@@ -600,17 +601,23 @@ export class LoanProductAccountingStepComponent implements OnInit, OnChanges {
setDeferredIncomeRecognitionControls() {
if (this.isAccountingAccrualBased) {
if (this.deferredIncomeRecognition) {
if (this.deferredIncomeRecognition.capitalizedIncome.enableIncomeCapitalization) {
if (
this.deferredIncomeRecognition.capitalizedIncome.enableIncomeCapitalization ||
this.deferredIncomeRecognition.buyDownFee.enableBuyDownFee
) {
this.loanProductAccountingForm.addControl(
'deferredIncomeLiabilityAccountId',
new UntypedFormControl('', Validators.required)
);
} else {
this.loanProductAccountingForm.removeControl('deferredIncomeLiabilityAccountId');
}
if (this.deferredIncomeRecognition.capitalizedIncome.enableIncomeCapitalization) {
this.loanProductAccountingForm.addControl(
'incomeFromCapitalizationAccountId',
new UntypedFormControl('', Validators.required)
);
} else {
this.loanProductAccountingForm.removeControl('deferredIncomeLiabilityAccountId');
this.loanProductAccountingForm.removeControl('incomeFromCapitalizationAccountId');
}
if (this.deferredIncomeRecognition.buyDownFee.enableBuyDownFee) {