Technical Design Document

Form Name: Advance Plan  |  Form Type: Master Form  |  Database: SioniqAdminDB
Prepared: March 2026  |  Tool: Visio  |  Font: Verdana 10pt

Table of Contents

  1. Overview
  2. Database
  3. Primary Tables
  4. Reference / Update Tables
  5. Form Controls & Functionalities
  6. Table View
  7. Custom Data Control
  8. Functional Specifications
  9. Account Stock Group & Average Cost Functional Specifications
  10. Transaction Type Settings

1. Overview

The Advance Plan module is a master configuration form used to define structured advance deposit plans offered to customers. Each plan captures the plan type, structural configuration, instalment schedule, collection rules, commission settings, early closure conditions, channel access restrictions, and instalment rule values.

When a user creates an Advance Plan, they specify the plan's identity (name, short name, plan type, customer deposit type), structural behaviour (instalment-based or open-contribution), maturity parameters, rate-fixing options, discount applicability, commission rules, and collection window constraints. The plan further supports per-instalment channel blocking (online/offline) and per-action-type channel access control.

Each instalment in the plan is linked to an instalment rule that governs how the instalment amount is determined. Four rule types are supported: Fixed Selection (user selects from a list of fixed amounts), Ranged Selection (any amount within a defined start–end range, optionally in multiples), Predefined Term Amount (a distinct fixed amount per instalment), and Progressive Term Formula (amount increases or decreases progressively based on a formula applied from instalment 2 onwards).

On save, the form inserts one header record into emaADPPlanHDR and a set of detail records across multiple DTL tables covering instalment definitions, instalment rules, rule values, formula components, channel access, and early closure conditions. The plan is subject to an approval workflow governed by the MasterDataValueID_ApprovalStatus field.

2. Database

SioniqAdminDB

3. Primary Tables

  1. emaADPPlanHDR
  2. emaADPPlanRuleDTL
  3. emaADPPlanInstallmentDTL
  4. emaADPPlanInstallmentRuleDTL
  5. emaADPPlanInstallmentRuleValueDTL
  6. emaADPPlanInstallmentRuleValueFormulaDTL
  7. emaADPPlanChannelAccessDTL
  8. emaADPPlanEarlyClosureConditionDTL

4. Reference / Update Tables

Table NamePurpose
MasterDataValueSource for all MasterDataValueID-based dropdowns (Plan Type, Customer Deposit Type, Plan Structure Type, Maturity Payout Calculation Method, ADP Instalment Rule Type, ADP Action Type, Comparison Operator, Comparison Connector, Instalment Progression Type, Calculation Type, ADP Instalment Formula Component Type, Approval Status)
MasterDataValue (Day)Source for From_MasterDataValueID_Day and To_MasterDataValueID_Day dropdowns (days 1–30)

5. Form Controls & Functionalities

5.1 Header Level

Plan Type (Single Selection Dropdown)

Description: Defines the category of the advance plan, which determines the overall behaviour and deposit structure.

Control Properties: Behavior: Saved in & as:
Name (Textbox)

Description: The full descriptive name of the advance plan.

Control Properties: Behavior: No conditional visibility.
Validation: Must not be blank. Must be unique across active plans. (Confirm uniqueness constraint with team)
Saved in & as:
Short Name (Textbox)

Description: An abbreviated identifier for the advance plan, used in lists and reports.

Control Properties: Behavior: No conditional visibility.
Validation: Must not be blank.
Saved in & as:
Customer Deposit Type (Single Selection Dropdown)

Description: Specifies whether the deposit collected from the customer is in the form of metal or monetary amount.

Control Properties: Behavior: Saved in & as:
Rotation No (Textbox)

Description: A numeric rotation identifier for the plan, used to differentiate plan cycles or batches.

Control Properties: Behavior: No conditional visibility.
Validation: Must be a positive integer.
Saved in & as:
Plan Structure Type (Single Selection Dropdown)

Description: Defines how the plan's collection amounts are structured — either as fixed instalments or as open contributions.

Control Properties: Behavior: Saved in & as:
Total No. of Installments (Textbox)

Description: Specifies the total number of instalments in the plan. This value drives the generation of instalment rows in the detail grid.

Control Properties: Behavior: Visible only when Plan Structure Type = Installment-Based. On entry, generates the corresponding number of instalment rows in the instalment detail grid.
Validation: Must be a positive integer greater than 0.
Saved in & as:
Maturity Period (Days) (Textbox)

Description: Defines the plan's maturity duration in days from enrolment.

Control Properties: Behavior: No conditional visibility.
Validation: Must be a positive integer.
Saved in & as:
Lucky Draw Applicable (Checkbox)

Description: Indicates whether the plan is eligible for lucky draw participation.

Control Properties: Behavior: Saved in & as:
Enrollment Gift Applicable (Checkbox)

Description: Indicates whether an enrollment gift is offered upon joining this plan.

Control Properties: Behavior: Saved in & as:
Rate Fixing Allowed (Checkbox)

Description: Determines whether a rate-fixing option is available for this plan.

Control Properties: Behavior: Saved in & as:
Partial Rate Fixing Allowed (Checkbox)

Description: Indicates whether partial rate fixing is permitted, i.e. only a portion of the holding can be rate-fixed.

Control Properties: Behavior: Visible only when Rate Fixing Allowed = Checked (True). Saved in & as:
Allow Maturity Payout (Checkbox)

Description: Controls whether a maturity payout is disbursed to the plan member upon plan completion.

Control Properties: Behavior: Saved in & as:
Maturity Payout Calculation Method (Single Selection Dropdown)

Description: Specifies the method used to calculate the maturity payout amount.

Control Properties: Behavior: Visible only when Allow Maturity Payout = Checked (True).
Saved in & as:
Installment Discount Applicable (Checkbox)

Description: Indicates whether an instalment discount scheme applies to this plan.

Control Properties: Behavior: Saved in & as:
Discount Installment Count (Textbox)

Description: Specifies how many instalments are eligible for a discount.

Control Properties: Behavior: Visible only when Installment Discount Applicable = Checked (True). On entry, generates the corresponding number of discount rows in the Installment Discount Distribution popup.
Validation: Must be ≤ Total No. of Installments.
Saved in & as:
Commission Applicable (Checkbox)

Description: Controls whether a commission is applicable for this advance plan.

Control Properties: Behavior: Saved in & as:
Commission Calculation Method (Single Selection Dropdown)

Description: Defines how the commission amount is calculated — as a fixed amount or a percentage.

Control Properties: Behavior: Visible only when Commission Applicable = Checked (True).
Saved in & as:
Commission Trigger Event (Single Selection Dropdown)

Description: Specifies the business event that triggers the commission calculation and payment.

Control Properties: Behavior: Visible only when Commission Applicable = Checked (True). Saved in & as:
Commission Value (Textbox)

Description: The fixed commission amount or percentage applicable at the header level (used when Commission Trigger Event ≠ Per Installment).

Control Properties: Behavior: Visible only when Commission Applicable = Checked AND Commission Trigger Event ≠ Per Installment.
Saved in & as:
ADP Enrollment Limit (Single Selection Dropdown)

Description: Defines whether the plan has an unlimited or limited enrolment capacity.

Control Properties: Behavior: Saved in & as:
Maximum Enrollment Count (Textbox)

Description: Specifies the maximum number of member enrolments permitted for this plan.

Control Properties: Behavior: Visible only when ADP Enrollment Limit = Limited.
Validation: Must be a positive integer.
Saved in & as:
ADP Installment Rule Type (Single Selection Dropdown)

Description: Sets the default instalment rule type applied to all instalments in the plan. This drives which input fields are shown in the instalment rule configuration section.

Control Properties: Behavior: Saved in & as:
Allow Early Plan Closure (Checkbox)

Description: Enables the early plan closure feature, revealing the closure eligibility condition configuration popup.

Control Properties: Behavior: Saved in & as:
Member Enrollment Limit (Textbox)

Description: Specifies the maximum number of plan enrolments allowed per individual member.

Control Properties: Behavior: Visible only when Allow Early Plan Closure popup is active. (Confirm placement — UI Page 2 suggests this is near the early closure popup)
Saved in & as:

5.2 Detail Level

Collection Window Type (Single Selection Dropdown)

Description: Defines the type of collection window used for instalment collection scheduling.

Control Properties: Behavior: Saved in & as:
From Day (Single Selection Dropdown)

Description: The start day of the primary collection window period (day of month, 1–30).

Control Properties: Behavior: Visible only when Collection Window Type ≠ Open Collection.
Saved in & as:
To Day (Single Selection Dropdown)

Description: The end day of the primary collection window period (day of month, 1–30).

Control Properties: Behavior: Visible only when Collection Window Type ≠ Open Collection.
Saved in & as:
Collection Cutoff Period (Days) (Textbox)

Description: The number of days after the collection window close before the instalment is considered overdue.

Control Properties: Saved in & as:
Min Gap Between Installments (Days) (Textbox)

Description: The minimum number of days that must elapse between successive instalment collections.

Control Properties: Saved in & as:
Auto Deactivate on Missed Collections (Checkbox)

Description: When enabled, the plan membership is automatically deactivated if the member misses a defined number of collections.

Control Properties: Behavior: Saved in & as:
Max Missed Installments (Textbox)

Description: Maximum number of missed instalments before automatic deactivation is triggered.

Control Properties: Behavior: Visible only when Auto Deactivate on Missed Collections = Checked.
Saved in & as:
Max Overdue Days (Textbox)

Description: Maximum number of overdue days allowed before auto-deactivation is triggered.

Control Properties: Behavior: Visible only when Auto Deactivate on Missed Collections = Checked.
Saved in & as:
Max Missed Collection Occurrences (Textbox)

Description: Maximum number of times a member can miss a collection window before auto-deactivation triggers.

Control Properties: Behavior: Visible only when Auto Deactivate on Missed Collections = Checked.
Saved in & as:
Auto Deactivate Member (Checkbox)

Description: When checked, the member account itself (not just the plan membership) is auto-deactivated after a defined period.

Control Properties: Behavior: Saved in & as:
Member Auto Deactivation Period (Days) (Textbox)

Description: The number of days after which a member is automatically deactivated if the plan conditions are breached.

Control Properties: Behavior: Visible only when Auto Deactivate Member = Checked.
Saved in & as:
Allow Collection of Pending Installments (Checkbox)

Description: Permits collection of outstanding overdue instalments.

Control Properties: Behavior: Saved in & as:
Max Pending Installments Allowed (Textbox)

Description: Maximum number of pending instalments that can be collected in one transaction.

Control Properties: Behavior: Visible only when Allow Collection of Pending Installments = Checked.
Saved in & as:
Allow Collection of Advance Installments (Checkbox)

Description: Permits collection of future (advance) instalments ahead of their scheduled date.

Control Properties: Behavior: Saved in & as:
Max Advance Installments Allowed (Textbox)

Description: Maximum number of advance instalments permitted in a single collection.

Control Properties: Behavior: Visible only when Allow Collection of Advance Installments = Checked.
Saved in & as:
Allow Partial Installment Collection (Checkbox)

Description: Allows partial payment of an instalment amount.

Control Properties: Behavior: Saved in & as:
Max Partial Payments Per Installment (Textbox)

Description: Maximum number of partial payments allowed per instalment.

Control Properties: Behavior: Visible only when Allow Partial Installment Collection = Checked.
Saved in & as:
Amount — Fixed Selection (Textbox)

Description: A fixed instalment amount option that the plan member will select from during enrolment.

Control Properties: Behavior: Visible only when Installment Rule Type = Fixed Selection. The user enters an amount and clicks Add; each added amount creates one row in the display grid and one record in emaADPPlanInstallmentRuleValueDTL.
Saved in & as:
Starting Amount (Textbox)

Description: The minimum (starting) instalment amount for Ranged Selection or Progressive Term Formula rule types.

Control Properties: Behavior: Visible only when Installment Rule Type = Ranged Selection or Progressive Term Formula.
Saved in & as:
Ending Amount (Textbox)

Description: The maximum (ending) instalment amount for Ranged Selection or Progressive Term Formula rule types.

Control Properties: Behavior: Visible only when Installment Rule Type = Ranged Selection or Progressive Term Formula.
Saved in & as:
Multiple With (Textbox)

Description: Defines the increment step for Ranged Selection; the collected amount must be a multiple of this value within the defined range.

Control Properties: Behavior: Visible only when Installment Rule Type = Ranged Selection or Progressive Term Formula.
Saved in & as:
Installment Amount — Predefined Term Amount (Grid — Textbox per row)

Description: A per-instalment amount grid where each instalment row has an editable Amount field. The number of rows equals Total No. of Installments.

Control Properties: Behavior: Visible only when Installment Rule Type = Predefined Term Amount. One editable Amount cell per instalment row. Each row generates a separate emaADPPlanInstallmentRuleDTL record and a corresponding emaADPPlanInstallmentRuleValueDTL record.
Saved in & as:
Progressive Term Formula Grid (Grid Table — Dropdown and Textbox per row)

Description: A grid shown when Installment Rule Type = Progressive Term Formula. Rows are generated from instalment 2 through Total No. of Installments (instalment 1 uses the Starting Amount). Each row has Progression Type (dropdown), Calculation Type (dropdown), and Progressive Value (textbox).

Progression Type (Single Selection Dropdown per row)

Calculation Type (Single Selection Dropdown per row)

Progressive Value (Textbox per row)

Additional Behavior: Each row also generates an emaADPPlanInstallmentRuleValueFormulaDTL record for the formula expression components.
Commission Value / Percentage per Installment (Grid — Textbox per row)

Description: When Commission Trigger Event = Per Installment, a grid is displayed showing each instalment number and an editable Commission Value/Percentage textbox.

Control Properties: Behavior: Visible only when Commission Applicable = Checked AND Commission Trigger Event = Per Installment. Number of rows = TotalInstallmentCount.
Saved in & as:
Collection Channel Restrictions — Block Online / Block Offline per Installment (Grid — Checkbox per row)

Description: A grid showing each instalment number with two checkbox columns — Block Online and Block Offline — to restrict which collection channels are available per instalment.

Control Properties: Behavior: One row per instalment. Checking Block Online sets IsOnlineCollectionBlocked = True for that instalment. Checking Block Offline sets IsOfflineCollectionBlocked = True.
Saved in & as:
Channel Access Control — Online / Offline per Action Type (Grid — Checkbox per row)

Description: A grid displaying each action type (Enrollment, Collection, Closing) with Online and Offline checkbox columns to control which channels are permitted per action.

Control Properties: Behavior: One row per action type. Checking Online = unchecked means channel is allowed; checking Block means channel is blocked. (Confirm whether checkbox = Blocked or checkbox = Allowed with team)
Saved in & as:

5.3 Associated Popups / Panels

Installment Discount Distribution (Popup Panel)

Description: A popup that appears when Installment Discount Applicable = Checked. Displays a grid of instalments (count = Discount Installment Count) with a checkbox selector and a Discount Percentage input per row.

Visible when: Installment Discount Applicable = Checked (True).
Early Plan Closure Condition (Popup Panel)

Description: A popup that appears when Allow Early Plan Closure = Checked. Allows the user to define one or more eligibility conditions for early closure, combined with logical connectors, and displays the resulting expression.

Visible when: Allow Early Plan Closure = Checked (True).

Closure Eligibility Basis (Single Selection Dropdown):

Comparison Operator (Single Selection Dropdown):

Value (Textbox):

+ Button: Adds an additional condition row (with Connector dropdown).

Connector (Single Selection Dropdown — for additional rows):

Expression (Textbox — Read only):

Sort Order: Saved in emaADPPlanEarlyClosureConditionDTL → SortOrder (auto-incremented per row).

6. Table View

Data Source: emaADPPlanHDR

Filter Condition:

Columns to Display (in order):

#Column LabelSource Column
1Plan NameName
2Short NameShortName
3Plan TypeMasterDataValueID_ADPPlanType (display value)
4Plan Structure TypeMasterDataValueID_ADPPlanStructureType (display value)
5Total InstallmentsTotalInstallmentCount
6Maturity Period (Days)MaturityPeriodInDays
7Approval StatusMasterDataValueID_ApprovalStatus (display value)
8ActiveActive

Table Control Properties:

7. Custom Data Control

Not applicable for this module. The Advance Plan form does not utilise a dynamic custom data control framework; all fields are statically defined and mapped to fixed database columns.

8. Functional Specifications

8.1 Source Tables & Data Filtration Conditions

Source TableFilter ConditionUsed For
MasterDataValueActive = True AND MasterDataCategory = 'ADP Plan Type'Plan Type dropdown
MasterDataValueActive = True AND MasterDataCategory = 'ADP Plan Customer Deposit Type'Customer Deposit Type dropdown
MasterDataValueActive = True AND MasterDataCategory = 'ADP Plan Structure Type'Plan Structure Type dropdown
MasterDataValueActive = True AND MasterDataCategory = 'ADP Maturity Payout Calculation Method'Maturity Payout Calculation Method dropdown
MasterDataValueActive = True AND MasterDataCategory = 'ADP Commission Calculation Method'Commission Calculation Method dropdown
MasterDataValueActive = True AND MasterDataCategory = 'ADP Commission Trigger Event'Commission Trigger Event dropdown
MasterDataValueActive = True AND MasterDataCategory = 'ADP Enrollment Limit'ADP Enrollment Limit dropdown
MasterDataValueActive = True AND MasterDataCategory = 'ADP Installment Rule Type'Installment Rule Type dropdown
MasterDataValueActive = True AND MasterDataCategory = 'ADP Collection Window Type'Collection Window Type dropdown
MasterDataValue (Day)Active = True, Day values 1–30From Day / To Day dropdowns
MasterDataValueActive = True AND MasterDataCategory = 'ADP Action Type'Channel Access Control action type rows
MasterDataValueActive = True AND MasterDataCategory = 'ADP Closure Eligibility Basis'Closure Eligibility Basis dropdown in popup
MasterDataValueActive = True AND MasterDataCategory = 'Comparison Operator'Comparison Operator dropdown in popup
MasterDataValueActive = True AND MasterDataCategory = 'Comparison Connector'Connector dropdown in popup
MasterDataValueActive = True AND MasterDataCategory = 'ADP Installment Progression Type'Progression Type dropdown in Progressive formula grid
MasterDataValueActive = True AND MasterDataCategory = 'ADP Calculation Type'Calculation Type dropdown in Progressive formula grid
MasterDataValueActive = True AND MasterDataCategory = 'ADP Installment Formula Component Type'Formula component type in emaADPPlanInstallmentRuleValueFormulaDTL

8.2 Transaction Saving Tables

8.2.1 HDR Table — emaADPPlanHDR

One record is inserted per new Advance Plan. On edit, the existing record is updated.

ColumnValue on Save
ADPPlanIDNew GUID (auto-generated)
NameValue from Name textbox
ShortNameValue from Short Name textbox
MasterDataValueID_ADPPlanTypeSelected Plan Type MasterDataValueID
MasterDataValueID_ADPPlanCustomerDepositTypeSelected Customer Deposit Type MasterDataValueID
MetalIDLinked metal ID if applicable (Confirm source with team)
RotationNoValue from Rotation No textbox
MasterDataValueID_ADPPlanStructureTypeSelected Plan Structure Type MasterDataValueID
TotalInstallmentCountValue from Total No. of Installments textbox
MaturityPeriodInDaysValue from Maturity Period textbox
IsLuckyDrawApplicableTrue / False from checkbox
HasEnrollmentGiftTrue / False from checkbox
AllowEarlyPlanClosureTrue / False from checkbox
EarlyPlanClosureConditionJsonFormatJSON expression string from closure popup
EarlyPlanClosureConditionStringFormatHuman-readable expression from closure popup
IsRateFixingAllowedTrue / False from checkbox
IsPartialRateFixingAllowedTrue / False from checkbox
AllowMaturityPayoutTrue / False from checkbox
MasterDataValueID_MaturityPayoutCalculationMethodSelected MasterDataValueID (null if AllowMaturityPayout = False)
IsInstallmentDiscountApplicableTrue / False from checkbox
DiscountInstallmentCountValue from Discount Installment Count textbox (null if not applicable)
IsCommissionApplicableTrue / False from checkbox
Comission_MasterDataValueID_CalculationTypeSelected MasterDataValueID (null if Commission = False)
MasterDataValueID_ADPCommissionTriggerEventSelected MasterDataValueID (null if Commission = False)
CommissionValueValue from Commission Value textbox (null if Per Installment)
MasterDataValueID_ADPEnrollmentLimitSelected MasterDataValueID
MaximumEnrollmentCountValue from Max Enrollment Count textbox (null if Unlimited)
MasterDataValueID_ADPInstallmentRuleTypeSelected MasterDataValueID
ActiveTrue (default on creation)
MasterDataValueID_ApprovalStatusPending Approval (default) (Confirm default status with team)

8.2.2 DTL Tables

emaADPPlanRuleDTL — One row per plan, containing all collection window and deactivation rule settings.

ColumnValue on Save
ADPPlanRuleIDNew GUID
ADPPlanIDFK to emaADPPlanHDR.ADPPlanID
MasterDataValueID_ADPCollectionWindowTypeSelected Collection Window Type
FromDaysValue derived from From Day (1st) dropdown
ToDaysValue derived from To Day (1st) dropdown
From_MasterDataValueID_DaySelected From Day MasterDataValueID
To_MasterDataValueID_DaySelected To Day MasterDataValueID
MinimumInstallmentGapInDaysValue from Min Gap textbox
CollectionCutoffPeriodInDaysValue from Collection Cutoff Period textbox
IsAutoDeactivateOnMissedCollectionTrue / False
MaxMissedInstallmentCountValue (null if IsAutoDeactivate = False)
MaxOverdueDaysValue (null if IsAutoDeactivate = False)
MaxMissedCollectionOccurrencesValue (null if IsAutoDeactivate = False)
IsAutoDeactivateMemberTrue / False
MemberAutoDeactivationPeriodInDaysValue (null if IsAutoDeactivateMember = False)
IsPendingInstallmentCollectionAllowedTrue / False
MaxPendingInstallmentCollectionCountValue (null if not allowed)
IsAdvanceInstallmentCollectionAllowedTrue / False
MaxAdvanceInstallmentCollectionCountValue (null if not allowed)
IsPartialInstallmentCollectionAllowedTrue / False
MaxPartialPaymentsPerInstallmentValue (null if not allowed)

emaADPPlanInstallmentDTL — One row per instalment (total rows = TotalInstallmentCount). Stores term details, discount settings, commission (per instalment), and channel blocking flags.

ColumnValue on Save
ADPPlanInstallmentIDNew GUID per row
ADPPlanIDFK to emaADPPlanHDR.ADPPlanID
TermNameAuto-generated label e.g. "Installment 1"
TermNoSequential integer (1, 2, 3 … n)
SortOrderSame as TermNo
IsDiscountAppliedTrue if instalment is selected in discount popup, else False
IsInstallmentDiscountApplicableTrue if instalment row participates in discount scheme
DiscountPercentageValue from Discount Percentage in popup (null if not applicable)
CommissionValuePer-instalment commission value (null if Commission Trigger ≠ Per Installment)
IsOnlineCollectionBlockedTrue / False from Collection Channel Restrictions grid
IsOfflineCollectionBlockedTrue / False from Collection Channel Restrictions grid
ADPPlanInstallmentRuleIDFK to emaADPPlanInstallmentRuleDTL (assigned per rule type logic — see below)

Installment Rule assignment logic per rule type:

emaADPPlanInstallmentRuleDTL — One row per instalment rule. Links the instalment to its rule type.

ColumnValue on Save
ADPPlanInstallmentRuleIDNew GUID
MasterDataValueID_ADPInstallmentRuleTypeSelected Installment Rule Type MasterDataValueID

emaADPPlanInstallmentRuleValueDTL — Stores the value configuration for each rule. One row per Fixed Selection amount; one row per rule for Ranged / Predefined / Progressive types.

ColumnValue on Save
ADPPlanInstallmentRuleValueIDNew GUID
ADPPlanInstallmentRuleIDFK to emaADPPlanInstallmentRuleDTL
MasterDataValueID_ADPInstallmentRuleTypeSame as parent rule type
InstallmentAmountFixed amount value (Fixed Selection or Predefined per term)
StartingInstallmentAmountStarting Amount (Ranged / Progressive)
EndingInstallmentAmountEnding Amount (Ranged / Progressive)
MultipleWithMultiple With value (Ranged / Progressive)
MasterDataValueID_ADPInstallmentProgressionTypeProgression Type (Progressive only)
MasterDataValueID_CalculationTypeCalculation Type (Progressive only)
ProgressionValueProgressive Value per row (Progressive only)
FormulaExpressionJsonFormatJSON formula expression string
FormulaExpressionStringFormatHuman-readable formula string

8.2.3 VRL Tables

emaADPPlanInstallmentRuleValueFormulaDTL — One row per formula component for Progressive Term Formula installments. Stores the individual expression components used to build the progressive formula.

ColumnValue on Save
ADPPlanInstallmentRuleValueFormulaIDNew GUID
ADPPlanInstallmentRuleValueIDFK to emaADPPlanInstallmentRuleValueDTL
MasterDataValueID_ADPInstallmentFormulaComponentTypeFormula component type MasterDataValueID
ADPPlanInstallmentIDFK to emaADPPlanInstallmentDTL (the instalment this formula applies to)
TermNoInstalment term number
decimal(18,9) valueNumeric component value
MasterDataValueID_OperatorOperator MasterDataValueID for formula expression
SortOrderSequence of component within formula

emaADPPlanChannelAccessDTL — One row per action type (Enrollment, Collection, Closing). Stores online/offline blocking per action.

ColumnValue on Save
ADPPlanChannelAccessIDNew GUID
ADPPlanIDFK to emaADPPlanHDR.ADPPlanID
MasterDataValueID_ADPActionTypeAction Type MasterDataValueID (one row each for Enrollment, Collection, Closing)
IsOnlineBlockedTrue / False from grid checkbox
IsOfflineBlockedTrue / False from grid checkbox

emaADPPlanEarlyClosureConditionDTL — One row per condition line added in the Early Plan Closure popup. Visible only when AllowEarlyPlanClosure = True.

ColumnValue on Save
ADPPlanEarlyClosureConditionIDNew GUID
ADPPlanIDFK to emaADPPlanHDR.ADPPlanID
MasterDataValueID_ADPClosureEligibilityBasisSelected Closure Eligibility Basis
MasterDataValueID_ComparisionOperatorSelected Comparison Operator
ValueEntered numeric value
MasterDataValueID_ComparisionConnectorSelected Connector (null for first row)
SortOrderAuto-incremented row sequence

9. Account Stock Group & Average Cost Functional Specifications

Not applicable for this module. The Advance Plan form is a master configuration module and does not involve stock, inventory, or average cost transactions.

10. Transaction Type Settings

Not applicable for this module. The Advance Plan form is a master setup form and does not generate financial transactions or utilise transaction type configurations.


— End of Technical Design Document — Advance Plan — SioniqAdminDB —