diff --git a/src/app/deposits/fixed-deposits/fixed-deposit-account-view/custom-dialogs/payment-dialog/payment-dialog.component.html b/src/app/deposits/fixed-deposits/fixed-deposit-account-view/custom-dialogs/payment-dialog/payment-dialog.component.html
index 870c04a21..646c9f4f9 100644
--- a/src/app/deposits/fixed-deposits/fixed-deposit-account-view/custom-dialogs/payment-dialog/payment-dialog.component.html
+++ b/src/app/deposits/fixed-deposits/fixed-deposit-account-view/custom-dialogs/payment-dialog/payment-dialog.component.html
@@ -61,7 +61,7 @@
} @else {
- Current Balance
+ FD Maturity Balance (renews as-is below)
{{ renewalPreview.currentBalance | formatNumber }}
@@ -69,18 +69,26 @@
{{ renewalPreview.gapDays }}
- Savings Account Interest Rate
+ Deposit Account Link
+ {{ renewalPreview.linkedAccountNo }}
+
+
+ Its Interest Rate
{{ renewalPreview.linkedAccountRate }}%
-
-
Gap-Period Interest to be Credited
+
+ Gap-Period Interest → paid to {{ renewalPreview.linkedAccountNo }}
+ {{ renewalPreview.gapInterestAmount | formatNumber }}
-
- New Balance for the Renewed Term
- {{ renewalPreview.projectedBalance | formatNumber }}
-
+
+
+ This gap interest was earned at the linked account's own rate, not the FD's -- it is credited straight
+ to account {{ renewalPreview.linkedAccountNo }} (the FD's Deposit Account Link), separately from
+ whatever you choose below. The FD itself renews from its own maturity balance, unchanged.
+
}
}
}
diff --git a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-terms-step/fixed-deposit-product-terms-step.component.ts b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-terms-step/fixed-deposit-product-terms-step.component.ts
index 5824a1591..d1abb4ad6 100644
--- a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-terms-step/fixed-deposit-product-terms-step.component.ts
+++ b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-terms-step/fixed-deposit-product-terms-step.component.ts
@@ -74,6 +74,7 @@ export class FixedDepositProductTermsStepComponent implements OnInit, OnChanges
this.periodFrequencyData = this.fixedDepositProductsTemplate.periodFrequencyTypeOptions || [];
const isEditing = !!this.fixedDepositProductsTemplate.id;
+ const defaultPeriodTypeId = this.periodFrequencyData[0]?.id ?? null;
const defaultAveragePeriod = this.averagePeriodData[0]?.value || 'Monthly';
const savedEnumTypeId =
this.fixedDepositProductsTemplate.interestCalculationType?.id || this.interestCalculationTypeData?.[0]?.id || 1;
@@ -84,12 +85,16 @@ export class FixedDepositProductTermsStepComponent implements OnInit, OnChanges
: (this.interestCalculationTypeOptionData?.[0]?.id ?? null);
this.fixedDepositProductTermsForm.patchValue({
- // Hidden, unedited-by-anyone fields -- left blank (like their max-/in-multiples-of- siblings
- // already correctly are) rather than forced to a real default, or every single product edit
- // submitted a "real" value against a product that had none, and a checker's "Proposed changes"
- // review showed these two as "changed" on every unrelated edit, never anything a maker touched.
- minDepositTerm: this.fixedDepositProductsTemplate.minDepositTerm ?? '',
- minDepositTermTypeId: this.fixedDepositProductsTemplate.minDepositTermType?.id ?? '',
+ // Hidden, unedited-by-anyone fields. On EDIT, left as the product's own saved value with no
+ // forced fallback (like their max-/in-multiples-of- siblings already correctly are), or a
+ // checker's "Proposed changes" review showed these as changed on every unrelated edit, never
+ // anything a maker touched. On CREATE there is no saved value yet, and the backend requires
+ // minDepositTerm -- default it (and its unit) here same as before, since the field is hidden
+ // and no one gets a chance to fill it in themselves.
+ minDepositTerm: isEditing ? (this.fixedDepositProductsTemplate.minDepositTerm ?? '') : 1,
+ minDepositTermTypeId: isEditing
+ ? (this.fixedDepositProductsTemplate.minDepositTermType?.id ?? '')
+ : defaultPeriodTypeId,
maxDepositTerm: this.fixedDepositProductsTemplate.maxDepositTerm ?? '',
maxDepositTermTypeId: this.fixedDepositProductsTemplate.maxDepositTermType?.id ?? '',
inMultiplesOfDepositTerm: this.fixedDepositProductsTemplate.inMultiplesOfDepositTerm ?? '',