Layaway Plan

Module: Layaway / EMA Plans

1. Overview

The Layaway Plan form is a master configuration screen in the Layaway / EMA Plans module. It allows administrators to define layaway plan templates that govern how customers can reserve products through installment-based payments. A plan defines down payment rules, installment tenure, late penalty charges, cancellation terms, inventory locking behavior, and order generation policies.


AttributeValue
Form NameLayaway Plan
ModuleLayaway / EMA Plans
Form TypeMaster Configuration
Primary TableemaLayawayPlanHDR
Approval WorkflowYes – MasterDataValueID_ApprovalStatus
Multi-Location SupportYes – via emaLayawayPlanLocationDTL
Soft DeleteYes – Active flag on HDR

2. Database

SioniqAdminDB

3. Primary Tables

3.1 HDR Table

Table NameDescription
emaLayawayPlanHDRMain header record storing all plan-level configuration fields. One row per layaway plan.

3.2 DTL Tables

Table NameDescription
emaLayawayPlanLocationDTLStores applicable business units / locations for the plan.
emaLayawayPlanMetalDTLMetal setup entries (Group Category level) for the plan.
emaLayawayPlanProductCategoryDTLCategory-level metal setup entries.
emaLayawayPlanProductSubCategoryDTLSub-category level metal setup entries.
emaLayawayPlanProductArticleDTLArticle-level metal setup entries.
emaLayawayPlanMetalBrandDTLBrand setup at metal (group category) level.
emaLayawayPlanProductCategoryBrandDTLBrand setup at category level.
emaLayawayPlanProductSubCategoryBrandDTLBrand setup at sub-category level.
emaLayawayPlanProductArticleBrandDTLBrand setup at article level.
emaLayawayPlanStoneDTLStone setup at Stone Group level.
emaLayawayPlanStoneCategoryDTLStone setup at Stone Category level.
emaLayawayPlanStoneSubCategoryDTLStone setup at Stone Sub-Category level.
emaLayawayPlanStoneAttributeDTLStone setup at Stone Attribute level.
emaLayawayPlanStoneArticleDTLStone setup at Stone Article level.
emaLayawayPlanSoftLockConditionDTLSoft lock condition header – stores MinDaysBeforeDeliveryForResale and Order Generation Trigger Mode.
emaLayawayPlanSoftLockConditionDefaultDTLDefault order generation policy rows (policy = Default).
emaLayawayPlanSoftLockConditionMetalDTLOrder generation policy rows at metal/group-category level.
emaLayawayPlanSoftLockConditionProductCategoryDTLOrder generation policy rows at product category level.
emaLayawayPlanSoftLockConditionProductSubCategoryDTLOrder generation policy rows at product sub-category level.
emaLayawayPlanSoftLockConditionProductArticleDTLOrder generation policy rows at product article level.
emaLayawayPlanSoftLockConditionMetalValueDTLSchedule-based value rows linked to metal-level soft lock conditions.
emaLayawayPlanSoftLockConditionProductCategoryValueDTLSchedule-based value rows linked to category-level soft lock conditions.
emaLayawayPlanSoftLockConditionProductSubCategoryValueDTLSchedule-based value rows linked to sub-category soft lock conditions.
emaLayawayPlanSoftLockConditionProductArticleValueDTLSchedule-based value rows linked to article-level soft lock conditions.
emaLayawayPlanSoftLockConditionInventoryAgeDTLInventory age comparison rows within soft lock conditions.

Table Relationship Diagram

emaLayawayPlanHDR PK LayawayPlanID Name, MinInvoiceAmount, MaxInvoiceAmount DownPayment / Penalty / Cancellation / Refund InstallmentCollection config, Active MasterDataValueID_ApprovalStatus emaLayawayPlanLocationDTL FK1 LayawayPlanID FK2 RefLocationID ── Metal Setup DTLs ── emaLayawayPlanMetalDTL FK1 LayawayPlanID SetupType, FK2 MetalID, FK3 PurityID emaLayawayPlanProductCategoryDTL FK1 LayawayPlanID SetupType, FK2 MetalID FK4 ProductCategoryID, FK3 PurityID emaLayawayPlanProductSubCategoryDTL FK1 LayawayPlanID SetupType, FK2 MetalID FK4 ProductCategoryID FK5 ProductSubCategoryID, FK3 PurityID emaLayawayPlanProductArticleDTL FK1 LayawayPlanID SetupType FK3 ProductArticleCatalogID, FK2 PurityID ── Brand Setup DTLs ── emaLayawayPlanMetalBrandDTL FK1 LayawayPlanID SetupType, FK2 MetalID, FK3 ProductBrandID emaLayawayPlanProductCategoryBrandDTL FK1 LayawayPlanID SetupType, FK2 MetalID FK4 ProductCategoryID, FK3 ProductBrandID emaLayawayPlanProductSubCategoryBrandDTL FK1 LayawayPlanID SetupType, FK2 MetalID FK4 ProductCategoryID FK5 ProductSubCategoryID, FK3 ProductBrandID emaLayawayPlanProductArticleBrandDTL FK1 LayawayPlanID SetupType, FK3 ProductArticleCatalogID FK2 ProductBrandID ── Stone Setup DTLs ── emaLayawayPlanStoneDTL FK1 LayawayPlanID StoneSetupType, FK2 StoneID emaLayawayPlanStoneCategoryDTL FK1 LayawayPlanID StoneSetupType, FK2 StoneID, FK3 StoneCategoryID emaLayawayPlanStoneSubCategoryDTL FK1 LayawayPlanID StoneSetupType, FK2 StoneID FK3 StoneCategoryID, FK4 StoneSubCategoryID emaLayawayPlanStoneAttributeDTL FK1 LayawayPlanID StoneSetupType, FK2 StoneID FK3 StoneCategoryID, FK4 StoneSubCategoryID StoneAttributeType, FK5 StoneAttributeID emaLayawayPlanStoneArticleDTL FK1 LayawayPlanID StoneSetupType, FK2 StoneArticleCatalogID ── Soft Lock Condition Chain ── emaLayawayPlanSoftLockConditionDTL PK LayawayPlanSoftLockConditionID FK1 LayawayPlanID MinDaysBeforeDeliveryForResale MasterDataValueID_LayawayOrderGenerationTriggerMode emaLayawayPlanSoftLockConditionDefaultDTL PK LayawayPlanSoftLockConditionDefaultID FK1 LayawayPlanSoftLockConditionID MasterDataValueID_LayawayOrderGenerationPolicy ScheduleBasedOn, BeforeDeliveryDays, AfterSaleDays emaLayawayPlanSoftLockConditionMetalDTL FK1 LayawayPlanSoftLockConditionID MasterDataValueID_LayawayOrderGenerationPolicy MetalID, FK2 LayawayPlanSoftLockConditionMetalValueID emaLayawayPlanSoftLockConditionMetalValueDTL PK LayawayPlanSoftLockConditionMetalValueID MasterDataValueID_LayawayOrderGenerationScheduleBasedOn OrderGenerateBeforeDeliveryDays / AfterSaleDays emaLayawayPlanSoftLockConditionProductCategoryDTL FK1 LayawayPlanSoftLockConditionID Policy, MetalID, ProductCategoryID FK2 LayawayPlanSoftLockConditionProductCategoryValueID emaLayawayPlanSoftLockConditionProductCategoryValueDTL PK LayawayPlanSoftLockConditionProductCategoryValueID MasterDataValueID_LayawayOrderGenerationScheduleBasedOn OrderGenerateBeforeDeliveryDays / AfterSaleDays emaLayawayPlanSoftLockConditionProductSubCategoryDTL FK1 LayawayPlanSoftLockConditionID Policy, MetalID, ProductCategoryID ProductSubCategoryID, SubCategoryType FK2 LayawayPlanSoftLockConditionProductSubCategoryValueID emaLayawayPlanSoftLockConditionProductSubCategoryValueDTL PK LayawayPlanSoftLockConditionProductSubCategoryValueID MasterDataValueID_LayawayOrderGenerationScheduleBasedOn OrderGenerateBeforeDeliveryDays / AfterSaleDays emaLayawayPlanSoftLockConditionProductArticleDTL FK1 LayawayPlanSoftLockConditionID Policy, ProductArticleCatalogID FK2 LayawayPlanSoftLockConditionProductArticleValueID emaLayawayPlanSoftLockConditionProductArticleValueDTL PK LayawayPlanSoftLockConditionProductArticleValueID MasterDataValueID_LayawayOrderGenerationScheduleBasedOn OrderGenerateBeforeDeliveryDays / AfterSaleDays emaLayawayPlanSoftLockConditionInventoryAgeDTL FK1 LayawayPlanSoftLockConditionID Policy, MasterDataValueID_ComparisionOperator InventoryAgeInDays, ScheduleBasedOn BeforeDeliveryDays, AfterSaleDays ── Reference / Lookup Tables ── admLocation PK LocationID, Name Active invMetal PK MetalID, Name Active invPurity PK PurityID, Purity Active invProductCategory PK ProductCategoryID, Name FK2 MetalID, Active invProductSubCategory PK ProductSubCategoryID FK MetalID, FK ProductCategoryID, Active invProductArticleCatalog PK ProductArticleCatalogID FK MetalID, FK ProductCategoryID, Active invProductBrand PK ProductBrandID, Name FK MetalID, Active invStone PK StoneID, Name, Active ActiveFrom, ActiveUntil invStoneCategory PK StoneCategoryID FK1 StoneID, Name, Active invStoneSubCategory PK StoneSubCategoryID FK StoneCategoryID, FK StoneID, Active invStoneAttribute PK StoneAttributeID MasterDataValueID_StoneAttributeType, Active invStoneArticleCatalog PK StoneArticleCatalogID FK StoneID, FK StoneCategoryID, Active admMasterDataValueDTL PK MasterDataValueID MasterDataCategory, Value, Active Legend HDR Table DTL Tables linked to HDR (Metal / Brand / Stone / Location) Soft Lock Condition Chain DTLs Soft Lock Value DTLs (Schedule / Days) Reference / Lookup Tables

Transaction Flow Diagram

Start: User clicks Save Validate Mandatory Fields Show Error Fail Pass INSERT emaLayawayPlanHDR INSERT emaLayawayPlanLocationDTL Metal Setup added? Yes INSERT Metal DTLs (Category / SubCat / Article) No Brand Setup added? Yes INSERT Brand DTLs (Category / SubCat / Article) No Stone Setup added? Yes INSERT Stone DTLs (Category / SubCat / Attr / Article) No Inventory Locking Mode = Soft Lock? No Yes INSERT emaLayawayPlanSoftLockConditionDTL INSERT emaLayawayPlanSoftLockConditionDefaultDTL Policy = Group Category added? Yes INSERT emaLayawayPlanSoftLockConditionMetalDTL No INSERT emaLayawayPlanSoftLockConditionMetalValueDTL Policy = Category added? Yes INSERT emaLayawayPlanSoftLockConditionProductCategoryDTL No INSERT emaLayawayPlanSoftLockConditionProductCategoryValueDTL Policy = Sub Category added? Yes INSERT emaLayawayPlanSoftLockConditionProductSubCategoryDTL No INSERT emaLayawayPlanSoftLockConditionProductSubCategoryValueDTL Policy = Article added? Yes INSERT emaLayawayPlanSoftLockConditionProductArticleDTL No INSERT emaLayawayPlanSoftLockConditionProductArticleValueDTL Policy = Inventory Age added? Yes INSERT emaLayawayPlanSoftLockConditionInventoryAgeDTL No Set ApprovalStatus = Pending End: Record Saved Legend Start / End Decision HDR Insert / Approval Status DTL Inserts (Location / Metal / Brand / Stone) Soft Lock Policy DTL Inserts Soft Lock Value DTL Inserts Error / Stop

4. Reference / Lookup Tables

Table NameUsed For
admLocationBusiness Unit / Location multi-selection
invMetalMetal dropdown in Metal Setup and Brand Setup sections
invPurityPurity dropdown in Metal Setup section
invProductCategoryCategory dropdown in Metal Setup and Order Generation Policy
invProductSubCategorySub-Category dropdown in Metal Setup
invProductArticleCatalogArticle dropdown in Metal Setup and Order Generation Policy
invProductBrandBrand dropdown in Brand Setup section
invStoneStone Group dropdown in Stone Setup
invStoneCategoryStone Category dropdown in Stone Setup
invStoneSubCategoryStone Sub-Category dropdown in Stone Setup
invStoneArticleCatalogStone Article dropdown in Stone Setup
invStoneAttributeStone Attribute dropdown in Stone Setup
admMasterDataValueDTLAll dropdown lists (charge types, locking mode, settlement mode, collection modes, etc.)

5. Form Controls & Functionalities

5.1 Basic Information

Active  (Toggle)

Description:

Controls the active/inactive status of the Layaway Plan record.

Control Properties:
  • Default Value: Checked (True)
  • User Entry: User can Toggle On/Off
  • Mandatory: No
Behavior:
  • Toggled On (True): Plan is Active and available for use in transactions.
  • Toggled Off (False): Plan is Inactive and no longer available for use in transactions.
  • Not restricted by Roles and Rights Configuration — available to all users.
Saved in & as:
  • emaLayawayPlanHDR → Active (bit)

Name  (Textbox)

Description:

Unique name for the Layaway Plan.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual input
  • Mandatory: Yes
  • Allowed Characters: Alphanumeric
Saved in & as:
  • emaLayawayPlanHDR → Name

Min Invoice Value  (Textbox)

Description:

Minimum invoice amount eligible for this layaway plan.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: Yes
  • Allowed Characters: Numeric (decimal)
Validation:

Must be less than Max Invoice Value.

Saved in & as:
  • emaLayawayPlanHDR → MinInvoiceAmount

Max Invoice Value  (Textbox)

Description:

Maximum invoice amount eligible for this layaway plan.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: Yes
  • Allowed Characters: Numeric (decimal)
Validation:

Must be greater than Min Invoice Value.

Saved in & as:
  • emaLayawayPlanHDR → MaxInvoiceAmount

5.2 Down Payment

Down Payment Calculation Type  (Single Selection Dropdown)

Description:

Defines how the down payment amount is calculated.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = DownPayment_MasterDataValueID_LayawayChargeType
  • User Entry: Selection from dropdown
  • Mandatory: Yes
  • Options:
    • Flat Amount — A fixed amount is charged as the down payment regardless of the invoice value.
    • Percentage On Total Payment — Down payment is calculated as a percentage of the total invoice amount.
Saved in & as:
  • emaLayawayPlanHDR → DownPayment__MasterDataValueID_LayawayChargeType

Down Payment Value  (Textbox)

Description:

The actual down payment amount or percentage value depending on the selected calculation type.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: Yes
  • Allowed Characters: Numeric (decimal)
Saved in & as:
  • emaLayawayPlanHDR → DownPaymentValue

Processing Fee  (Textbox)

Description:

One-time processing fee charged at the time of plan creation.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: No
  • Allowed Characters: Numeric (decimal)
Saved in & as:
  • emaLayawayPlanHDR → ProcessingFee

5.3 Installment Tenure

Installment Tenure (Months)  (Textbox)

Description:

Total duration of the layaway plan in months.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: Yes
  • Allowed Characters: Numeric (integer)
Saved in & as:
  • emaLayawayPlanHDR → InstallmentTenureMonths

Lock Tenure  (Checkbox)

Description:

When checked, the installment tenure cannot be changed after the layaway plan is applied to a transaction.

Control Properties:
  • Default Value: Unchecked (False)
  • User Entry: User can Check/Uncheck
  • Mandatory: No
Behavior:
  • Checked (True): Tenure is locked and cannot be modified in transaction.
  • Unchecked (False): Tenure can be adjusted at transaction level.
Saved in & as:
  • emaLayawayPlanHDR → IsTenureLocked

5.4 Late Payment Penalty

Late Payment Penalty Type  (Single Selection Dropdown)

Description:

Defines the method used to calculate the late payment penalty charge.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = LatePenalty_MasterDataValueID_LayawayChargeType
  • User Entry: Selection from dropdown
  • Mandatory: No
  • Options: Flat Amount, Percentage On Down Payment, Percentage On Total Payment
Saved in & as:
  • emaLayawayPlanHDR → LatePenalty_MasterDataValueID_LayawayChargeType

Penalty Value  (Textbox)

Description:

The penalty amount or percentage applied when a payment is overdue.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: Yes (when Late Payment Penalty Type is selected)
  • Allowed Characters: Numeric (decimal)
Saved in & as:
  • emaLayawayPlanHDR → LatePenaltyValue

Grace Period (Days)  (Textbox)

Description:

Number of days after due date before the late penalty is applied.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: No
  • Allowed Characters: Numeric (integer)
Saved in & as:
  • emaLayawayPlanHDR → LatePenaltyGracePeriodDays

5.5 Advance Conversion Charge

Advance Conversion Charge Type  (Single Selection Dropdown)

Description:

Defines how the advance conversion charge is calculated when advance amount is converted.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = AdvanceConversion_MasterDataValueID_LayawayChargeType
  • User Entry: Selection from dropdown
  • Mandatory: No
  • Options: Flat Amount, Percentage On Down Payment, Percentage On Total Payment
Saved in & as:
  • emaLayawayPlanHDR → AdvanceConversion_MasterDataValueID_LayawayChargeType

Advance Conversion Charge  (Textbox)

Description:

The advance conversion charge amount or percentage.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: Yes (when Advance Conversion Charge Type is selected)
  • Allowed Characters: Numeric (decimal)
Saved in & as:
  • emaLayawayPlanHDR → AdvanceConversionChargeValue

5.6 Cancellation Charge

Cancellation Charge Type  (Single Selection Dropdown)

Description:

Defines the method used to calculate the cancellation charge.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = Cancellation_MasterDataValueID_LayawayChargeType
  • User Entry: Selection from dropdown
  • Mandatory: No
  • Options:
    • Flat Amount — A fixed amount is charged as the cancellation fee regardless of the invoice or payment value.
    • Percentage On Down Payment — Cancellation charge is calculated as a percentage of the down payment amount collected.
    • Percentage On Total Payment — Cancellation charge is calculated as a percentage of the total invoice amount.
Saved in & as:
  • emaLayawayPlanHDR → Cancellation_MasterDataValueID_LayawayChargeType

Cancellation Charge  (Textbox)

Description:

The cancellation charge amount or percentage.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: Yes (when Cancellation Charge Type is selected)
  • Allowed Characters: Numeric (decimal)
Saved in & as:
  • emaLayawayPlanHDR → CancellationChargeValue

5.7 Refund Settlement

Refund Settlement Mode  (Single Selection Dropdown)

Description:

Defines the mode through which refund is settled to the customer on cancellation.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = MasterDataValueID_LayawayRefundSettlementMode
  • User Entry: Selection from dropdown
  • Mandatory: No
  • Options: Cash, Bank Transfer, UPI Transfer, Advance Conversion
Saved in & as:
  • emaLayawayPlanHDR → MasterDataValueID_LayawayRefundSettlementMode

Refund Timeline (Days)  (Textbox)

Description:

Number of days within which the refund must be processed after cancellation.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: No
  • Allowed Characters: Numeric (integer)
Saved in & as:
  • emaLayawayPlanHDR → RefundTimelineDays

5.8 Installment Collection Mode

Installment Collection Mode  (Single Selection Dropdown)

Description:

Defines the schedule type for collecting installments.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = MasterDataValueID_LayawayInstallmentCollectionMode
  • User Entry: Selection from dropdown
  • Mandatory: Yes
  • Options: Monthly Fixed Window, Monthly Flexible, Bi-Weekly Fixed Day, Bi-Weekly Flexible, Custom Interval
Behavior:
  • Monthly Fixed Window → Shows From Day and To Day dropdowns.
  • Bi-Weekly Fixed Day → Shows Week Day dropdown.
  • Custom Interval → Shows Collection Interval Days textbox.
  • Monthly Flexible / Bi-Weekly Flexible → No additional sub-fields required.
Saved in & as:
  • emaLayawayPlanHDR → MasterDataValueID_LayawayInstallmentCollectionMode

From Day  (Single Selection Dropdown)

Description:

Start day of the collection window within a month.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = From_MasterDataValueID_Day
  • User Entry: Selection from dropdown
  • Mandatory: Yes (when Collection Mode = Monthly Fixed Window)
Behavior:

Visible only when Installment Collection Mode = Monthly Fixed Window.

Saved in & as:
  • emaLayawayPlanHDR → From_MasterDataValueID_Day

To Day  (Single Selection Dropdown)

Description:

End day of the collection window within a month.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = To_MasterDataValueID_Day
  • User Entry: Selection from dropdown
  • Mandatory: Yes (when Collection Mode = Monthly Fixed Window)
Behavior:

Visible only when Installment Collection Mode = Monthly Fixed Window. To Day must be ≥ From Day.

Saved in & as:
  • emaLayawayPlanHDR → To_MasterDataValueID_Day

Week Day  (Single Selection Dropdown)

Description:

The specific day of the week on which bi-weekly installment collection is scheduled.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = MasterDataValueID_WeekDay
  • User Entry: Selection from dropdown
  • Mandatory: Yes (when Collection Mode = Bi-Weekly Fixed Day)
Behavior:

Visible only when Installment Collection Mode = Bi-Weekly Fixed Day.

Saved in & as:
  • emaLayawayPlanHDR → MasterDataValueID_WeekDay

Collection Interval Days  (Textbox)

Description:

Number of days between each installment collection when using Custom Interval mode.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: Yes (when Collection Mode = Custom Interval)
  • Allowed Characters: Numeric (integer)
Behavior:

Visible only when Installment Collection Mode = Custom Interval.

Saved in & as:
  • emaLayawayPlanHDR → CollectionIntervalDays

5.9 Installment Collection Settings

Auto Deactivate on Missed Collections  (Checkbox)

Description:

When checked, the layaway plan is automatically deactivated when the maximum missed installments threshold is reached.

Control Properties:
  • Default Value: Unchecked (False)
  • User Entry: User can Check/Uncheck
  • Mandatory: No
Behavior:
  • Checked (True): Enables Max Missed Installments and Max Overdue Days fields.
  • Unchecked (False): Hides / disables those fields.
Saved in & as:
  • emaLayawayPlanHDR → IsAutoDeactivateOnMissedCollection

Max Missed Installments  (Textbox)

Description:

Maximum number of missed installments allowed before auto-deactivation.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: Yes (when Auto Deactivate = Checked)
  • Allowed Characters: Numeric (integer)
Behavior:

Visible only when Auto Deactivate on Missed Collections = Checked.

Saved in & as:
  • emaLayawayPlanHDR → MaxMissedInstallmentCount

Max Overdue Days  (Textbox)

Description:

Maximum number of overdue days before triggering auto-deactivation.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: Yes (when Auto Deactivate = Checked)
  • Allowed Characters: Numeric (integer)
Behavior:

Visible only when Auto Deactivate on Missed Collections = Checked.

Saved in & as:
  • emaLayawayPlanHDR → MaxOverdueDays

Allow Collection of Pending Installments  (Checkbox)

Description:

When checked, allows collecting previously pending installments in addition to the current due installment.

Control Properties:
  • Default Value: Unchecked (False)
  • User Entry: User can Check/Uncheck
  • Mandatory: No
Behavior:
  • Checked (True): Enables Max Pending Installments Allowed field.
  • Unchecked (False): Hides / disables that field.
Saved in & as:
  • emaLayawayPlanHDR → IsPendingInstallmentCollectionAllowed

Max Pending Installments Allowed  (Textbox)

Description:

Maximum count of pending installments that can be collected in one transaction.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: Yes (when Allow Pending Installments = Checked)
  • Allowed Characters: Numeric (integer)
Behavior:

Visible only when Allow Collection of Pending Installments = Checked.

Saved in & as:
  • emaLayawayPlanHDR → MaxPendingInstallmentCollectionCount

Allow Collection of Advance Installments  (Checkbox)

Description:

When checked, allows customers to pay installments in advance of the due date.

Control Properties:
  • Default Value: Unchecked (False)
  • User Entry: User can Check/Uncheck
  • Mandatory: No
Behavior:
  • Checked (True): Enables Max Advance Installments Allowed field.
  • Unchecked (False): Hides / disables that field.
Saved in & as:
  • emaLayawayPlanHDR → IsAdvanceInstallmentCollectionAllowed

Max Advance Installments Allowed  (Textbox)

Description:

Maximum number of future installments that can be collected in advance.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: Yes (when Allow Advance Installments = Checked)
  • Allowed Characters: Numeric (integer)
Behavior:

Visible only when Allow Collection of Advance Installments = Checked.

Saved in & as:
  • emaLayawayPlanHDR → MaxAdvanceInstallmentCollectionCount

Allow Partial Installment Collection  (Checkbox)

Description:

When checked, allows customers to pay a partial amount of an installment.

Control Properties:
  • Default Value: Unchecked (False)
  • User Entry: User can Check/Uncheck
  • Mandatory: No
Behavior:
  • Checked (True): Enables Max Partial Payments Per Installment field.
  • Unchecked (False): Hides / disables that field.
Saved in & as:
  • emaLayawayPlanHDR → IsPartialInstallmentCollectionAllowed

Max Partial Payments Per Installment  (Textbox)

Description:

Maximum number of partial payments allowed per installment cycle.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: Yes (when Allow Partial Installment Collection = Checked)
  • Allowed Characters: Numeric (integer)
Behavior:

Visible only when Allow Partial Installment Collection = Checked.

Saved in & as:
  • emaLayawayPlanHDR → MaxPartialPaymentsPerInstallment

5.10 Business Unit

Business Unit  (Multi-Selection Dropdown)

Description:

Selects the locations/branches where this layaway plan is applicable. Supports multi-selection.

Control Properties:
  • Default Value: —
  • Data Source: admLocation
  • Filter Condition:
    • Active = True, listed from LocationID
  • User Entry: Multi-selection from dropdown
  • Mandatory: Yes
Saved in & as:
  • emaLayawayPlanLocationDTL → RefLocationID (one row per selected location)

5.11 Inventory Locking Mode

Inventory Locking Mode  (Single Selection Dropdown)

Description:

Defines how inventory is reserved when a layaway plan is applied to a transaction.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = MasterDataValueID_LayawayInventoryLockingMode
  • User Entry: Selection from dropdown
  • Mandatory: Yes
  • Options: Hard Lock, Soft Lock
Behavior:
  • Hard Lock: Inventory is fully reserved and cannot be sold to others.
  • Soft Lock: Inventory can be resold with conditions defined in the Soft Lock Condition section below.
Saved in & as:
  • emaLayawayPlanHDR → MasterDataValueID_LayawayInventoryLockingMode

5.12 Soft Lock Conditions (Visible only when Inventory Locking Mode = Soft Lock)

Min Days Before Delivery for Resale  (Textbox)

Description:

Minimum number of days before the delivery date that a soft-locked item can be resold.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: Yes (when Inventory Locking Mode = Soft Lock)
  • Allowed Characters: Numeric (integer)
Saved in & as:
  • emaLayawayPlanSoftLockConditionDTL → MinDaysBeforeDeliveryForResale

Order Generation Trigger Mode  (Single Selection Dropdown)

Description:

Defines when the resale order is generated for a soft-locked item.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = MasterDataValueID_LayawayOrderGenerationTriggerMode
  • User Entry: Selection from dropdown
  • Mandatory: Yes (when Inventory Locking Mode = Soft Lock)
  • Options: Immediate, Scheduled
Saved in & as:
  • emaLayawayPlanSoftLockConditionDTL → MasterDataValueID_LayawayOrderGenerationTriggerMode

5.13 Order Generation Policy (Repeatable Section – Multiple rows allowed)

Multiple Order Generation Policy rows can be added. Default policy is mandatory and can only be added once. All other policy types (Group Category, Category, Sub Category, Article, Inventory Age) can be added multiple times. Duplicate Group Category entries are not allowed (e.g., "Gold" can only appear once per policy type).

Order Generation Policy  (Single Selection Dropdown)

Description:

Specifies the policy level at which the order generation schedule is defined.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = MasterDataValueID_LayawayorderGenerationPolicy
  • User Entry: Selection from dropdown
  • Mandatory: Yes (when Order Generation Trigger Mode = Scheduled)
  • Options: Default, Group Category, Category, Sub Category, Article, Inventory Age
Behavior:
  • Default → Shows the following fields:
    • Schedule Based On (Dropdown) – Options: Delivery Date, Sale Date
    • Days Before Delivery (Textbox) – Visible when Schedule Based On = Delivery Date
    • Days After Sale (Textbox) – Visible when Schedule Based On = Sale Date
    • Mandatory to add at least once. Cannot be added multiple times.
  • Group Category → Shows the following fields:
    • Group Category (Multi-select Dropdown) – Source: invMetal, Active = True, listed from MetalID
    • Schedule Based On (Dropdown) – Options: Delivery Date, Sale Date
    • Days Before Delivery (Textbox) – Visible when Schedule Based On = Delivery Date
    • Days After Sale (Textbox) – Visible when Schedule Based On = Sale Date
    • Saved in: emaLayawayPlanSoftLockConditionMetalDTL + emaLayawayPlanSoftLockConditionMetalValueDTL
  • Category → Shows the following fields:
    • Group Category (Dropdown) – Source: invMetal, Active = True, listed from MetalID
    • Category (Multi-select Dropdown) – Source: invProductCategory, Active = True, listed from ProductCategoryID, filtered by selected MetalID
    • Schedule Based On (Dropdown) – Options: Delivery Date, Sale Date
    • Days Before Delivery (Textbox) – Visible when Schedule Based On = Delivery Date
    • Days After Sale (Textbox) – Visible when Schedule Based On = Sale Date
    • Saved in: emaLayawayPlanSoftLockConditionProductCategoryDTL + emaLayawayPlanSoftLockConditionProductCategoryValueDTL
  • Sub Category → Shows the following fields:
    • Group Category (Dropdown) – Source: invMetal, Active = True, listed from MetalID
    • Category (Dropdown) – Source: invProductCategory, Active = True, listed from ProductCategoryID, filtered by selected MetalID
    • Sub Category Type (Dropdown) – Source: admMasterDataValueDTL, Active = True, listed from MasterDataValueID, MasterDataCategory = MasterDataValueID_ProductSubCategoryType
    • Sub Category (Multi-select Dropdown) – Source: invProductSubCategory, Active = True, listed from ProductSubCategoryID, filtered by Category and Sub Category Type
    • Schedule Based On (Dropdown) – Options: Delivery Date, Sale Date
    • Days Before Delivery (Textbox) – Visible when Schedule Based On = Delivery Date
    • Days After Sale (Textbox) – Visible when Schedule Based On = Sale Date
    • Saved in: emaLayawayPlanSoftLockConditionProductSubCategoryDTL + emaLayawayPlanSoftLockConditionProductSubCategoryValueDTL
  • Article → Shows the following fields:
    • Group Category (Dropdown) – Source: invMetal, Active = True, listed from MetalID (for filtration)
    • Category (Dropdown) – Source: invProductCategory, Active = True, listed from ProductCategoryID, filtered by MetalID (for filtration)
    • Article (Multi-select Dropdown) – Source: invProductArticleCatalog, Active = True, listed from ProductArticleCatalogID, filtered by MetalID and CategoryID
    • Schedule Based On (Dropdown) – Options: Delivery Date, Sale Date
    • Days Before Delivery (Textbox) – Visible when Schedule Based On = Delivery Date
    • Days After Sale (Textbox) – Visible when Schedule Based On = Sale Date
    • Saved in: emaLayawayPlanSoftLockConditionProductArticleDTL + emaLayawayPlanSoftLockConditionProductArticleValueDTL
  • Inventory Age → Shows the following fields:
    • Comparison Operator (Dropdown) – Source: admMasterDataValueDTL, Active = True, listed from MasterDataValueID, MasterDataCategory = MasterDataValueID_ComparisionOperator
    • Inventory Age (Days) (Textbox) – Numeric, integer
    • Schedule Based On (Dropdown) – Options: Delivery Date, Sale Date
    • Days Before Delivery (Textbox) – Visible when Schedule Based On = Delivery Date
    • Days After Sale (Textbox) – Visible when Schedule Based On = Sale Date
    • Saved in: emaLayawayPlanSoftLockConditionInventoryAgeDTL
Saved in & as:
  • emaLayawayPlanSoftLockConditionDefaultDTL → MasterDataValueID_LayawayOrderGenerationPolicy (if Default)
  • emaLayawayPlanSoftLockConditionMetalDTL → MasterDataValueID_LayawayOrderGenerationPolicy (if Group Category)
  • emaLayawayPlanSoftLockConditionProductCategoryDTL → MasterDataValueID_LayawayOrderGenerationPolicy (if Category)
  • emaLayawayPlanSoftLockConditionProductSubCategoryDTL → MasterDataValueID_LayawayOrderGenerationPolicy (if Sub Category)
  • emaLayawayPlanSoftLockConditionProductArticleDTL → MasterDataValueID_LayawayOrderGenerationPolicy (if Article)
  • emaLayawayPlanSoftLockConditionInventoryAgeDTL → MasterDataValueID_LayawayOrderGenerationPolicy (if Inventory Age)

Schedule Based On  (Single Selection Dropdown)

Description:

Defines whether the order generation schedule is calculated based on delivery date or sale date.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = MasterDataValueID_LayawayOrderGenerationScheduleBasedOn
  • Options: Delivery Date, Sale Date
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Saved in & as:
  • emaLayawayPlanSoftLockConditionDefaultDTL → MasterDataValueID_LayawayOrderGenerationScheduleBasedOn
  • emaLayawayPlanSoftLockConditionMetalValueDTL → MasterDataValueID_LayawayOrderGenerationScheduleBasedOn
  • emaLayawayPlanSoftLockConditionProductCategoryValueDTL → MasterDataValueID_LayawayOrderGenerationScheduleBasedOn
  • emaLayawayPlanSoftLockConditionProductSubCategoryValueDTL → MasterDataValueID_LayawayOrderGenerationScheduleBasedOn
  • emaLayawayPlanSoftLockConditionProductArticleValueDTL → MasterDataValueID_LayawayOrderGenerationScheduleBasedOn
  • emaLayawayPlanSoftLockConditionInventoryAgeDTL → MasterDataValueID_LayawayOrderGenerationScheduleBasedOn

Days Before Delivery  (Textbox)

Description:

Number of days before delivery date to trigger order generation.

Control Properties:
  • Default Value: Empty
  • Mandatory: Yes (when Schedule Based On = Delivery Date)
  • Allowed Characters: Numeric (integer)
Saved in & as:
  • Respective Value DTL → OrderGenerateBeforeDeliveryDays

Days After Sale  (Textbox)

Description:

Number of days after sale date to trigger order generation.

Control Properties:
  • Default Value: Empty
  • Mandatory: Yes (when Schedule Based On = Sale Date)
  • Allowed Characters: Numeric (integer)
Saved in & as:
  • Respective Value DTL → OrderGenerateAfterSaleDays

Add Button (Order Generation Policy)  (Button)

Description:

Adds the configured order generation policy row to the plan.

Control Properties:
  • User Entry: Manual click
  • Mandatory: No
Behavior:
  • Validates that all required sub-fields for the selected policy are filled.
  • Adds a row to the respective DTL table based on selected policy type.
  • Prevents duplicate Default entries.
  • Prevents duplicate Group Category values across rows of the same type.
  • Added rows are displayed in an inline grid (Include section) below the Add button. Each row shows the policy type and configured values with a Remove option.

5.13.1 Order Generation Policy – Sub Fields

Group Category  (Single / Multi-Selection Dropdown)

Description:

Filters by metal group category. Used as a filtration field in Group Category, Category, Sub Category, and Article policy types.

Control Properties:
  • Default Value: —
  • Data Source: invMetal & invProductArticleCatalog
  • Filter Condition:
    • Active = True, listed from MetalID
    • Filtered by linked ProductArticleCatalogID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
  • Multi-select: Yes (when policy = Group Category)
Behavior:

Visible when Order Generation Policy = Group Category, Category, Sub Category, or Article.

Saved in & as:
  • emaLayawayPlanSoftLockConditionMetalDTL → MetalID
  • emaLayawayPlanSoftLockConditionProductCategoryDTL → MetalID
  • emaLayawayPlanSoftLockConditionProductSubCategoryDTL → MetalID
  • emaLayawayPlanSoftLockConditionProductArticleDTL → used for filtration of invProductArticleCatalog

Category  (Multi-Selection Dropdown)

Description:

Selects product categories filtered by the selected Group Category.

Control Properties:
  • Default Value: —
  • Data Source: invProductCategory & invProductArticleCatalog
  • Filter Condition:
    • Active = True, listed from ProductCategoryID
    • Filtered by selected MetalID
    • Filtered by linked ProductArticleCatalogID
  • User Entry: Multi-selection from dropdown
  • Mandatory: Yes
Behavior:

Visible when Order Generation Policy = Category, Sub Category, or Article.

Saved in & as:
  • emaLayawayPlanSoftLockConditionProductCategoryDTL → ProductCategoryID
  • emaLayawayPlanSoftLockConditionProductSubCategoryDTL → ProductCategoryID
  • emaLayawayPlanSoftLockConditionProductArticleDTL → used for filtration of invProductArticleCatalog

Sub Category Type  (Single Selection Dropdown)

Description:

Defines the type of sub-category to filter sub-categories.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = MasterDataValueID_ProductSubCategoryType
  • User Entry: Selection from dropdown
  • Mandatory: Yes
  • Options: ProductSubCategory1 to ProductSubCategory15 (Dynamic)
Behavior:

Visible only when Order Generation Policy = Sub Category.

Saved in & as:
  • emaLayawayPlanSoftLockConditionProductSubCategoryDTL → MasterDataValueID_ProductSubCategoryType

Sub Category  (Multi-Selection Dropdown)

Description:

Selects sub-categories filtered by Category and Sub Category Type.

Control Properties:
  • Default Value: —
  • Data Source: invProductSubCategory & invProductArticleCatalog
  • Filter Condition:
    • Active = True, listed from ProductSubCategoryID
    • Filtered by selected ProductCategoryID and MasterDataValueID_ProductSubCategoryType
    • Filtered by linked ProductArticleCatalogID
  • User Entry: Multi-selection from dropdown
  • Mandatory: Yes
Behavior:

Visible only when Order Generation Policy = Sub Category.

Saved in & as:
  • emaLayawayPlanSoftLockConditionProductSubCategoryDTL → ProductSubCategoryID

Article  (Multi-Selection Dropdown)

Description:

Selects product articles filtered by Group Category and Category.

Control Properties:
  • Default Value: —
  • Data Source: invProductArticleCatalog
  • Filter Condition:
    • Active = True, listed from ProductArticleCatalogID
    • Filtered by selected MetalID and ProductCategoryID
  • User Entry: Multi-selection from dropdown
  • Mandatory: Yes
Behavior:

Visible only when Order Generation Policy = Article.

Saved in & as:
  • emaLayawayPlanSoftLockConditionProductArticleDTL → ProductArticleCatalogID

Comparison Operator  (Single Selection Dropdown)

Description:

Defines the comparison operator used to evaluate the inventory age condition.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = MasterDataValueID_ComparisionOperator
  • User Entry: Selection from dropdown
  • Mandatory: Yes
  • Options:
    • Equal To (=) — Inventory age is exactly equal to the specified days.
    • Not Equal To (<>) — Inventory age is not equal to the specified days.
    • Greater Than (>) — Inventory age is more than the specified days.
    • Less Than (<) — Inventory age is less than the specified days.
    • Greater Than or Equal To (>=) — Inventory age is more than or equal to the specified days.
    • Less Than or Equal To (<=) — Inventory age is less than or equal to the specified days.
Behavior:

Visible only when Order Generation Policy = Inventory Age.

Saved in & as:
  • emaLayawayPlanSoftLockConditionInventoryAgeDTL → MasterDataValueID_ComparisionOperator

Inventory Age (Days)  (Textbox)

Description:

The inventory age value in days used for the comparison condition.

Control Properties:
  • Default Value: Empty
  • User Entry: Manual numeric input
  • Mandatory: Yes
  • Allowed Characters: Numeric (integer)
Behavior:

Visible only when Order Generation Policy = Inventory Age.

Saved in & as:
  • emaLayawayPlanSoftLockConditionInventoryAgeDTL → InventoryAgeInDays

5.14 Metal Setup (Repeatable Section)

Configures metal/purity-level applicability for the plan. Setup Type drives which filtration dropdowns appear.

Setup Type (Metal)  (Single Selection Dropdown)

Description:

Determines the level of metal setup — Group Category, Category, Sub Category, or Article.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = MasterDataValueID_VendorWastageSetupType
  • User Entry: Selection from dropdown
  • Options: Group Category, Category, Sub Category, Article
  • Mandatory: Yes
Behavior:
  • Group Category → Shows Group Category + Purity dropdowns.
  • Category → Shows Group Category + Category + Purity dropdowns.
  • Sub Category → Shows Group Category + Category + Sub Category Type + Sub Category + Purity dropdowns.
  • Article → Shows Article + Purity dropdowns (all for filtration).
Saved in & as:
  • emaLayawayPlanMetalDTL → MasterDataValueID_VendorWastageSetupType
  • emaLayawayPlanProductCategoryDTL → MasterDataValueID_VendorWastageSetupType
  • emaLayawayPlanProductSubCategoryDTL → MasterDataValueID_VendorWastageSetupType
  • emaLayawayPlanProductArticleDTL → MasterDataValueID_VendorWastageSetupType

5.14.1 Metal Setup – Sub Fields

Group Category (Metal)  (Single Selection Dropdown)

Description:

Selects the metal group category for the metal setup entry.

Control Properties:
  • Default Value: —
  • Data Source: invMetal & invProductArticleCatalog
  • Filter Condition:
    • Active = True, listed from MetalID
    • Filtered by linked ProductArticleCatalogID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Behavior:

Visible when Setup Type = Group Category, Category, Sub Category.

Saved in & as:
  • emaLayawayPlanMetalDTL → MetalID
  • emaLayawayPlanProductCategoryDTL → MetalID
  • emaLayawayPlanProductSubCategoryDTL → MetalID

Category (Metal)  (Single Selection Dropdown)

Description:

Selects the product category filtered by the selected Group Category.

Control Properties:
  • Default Value: —
  • Data Source: invProductCategory & invProductArticleCatalog
  • Filter Condition:
    • Active = True, listed from ProductCategoryID
    • Filtered by selected MetalID
    • Filtered by linked ProductArticleCatalogID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Behavior:

Visible when Setup Type = Category or Sub Category.

Saved in & as:
  • emaLayawayPlanProductCategoryDTL → ProductCategoryID
  • emaLayawayPlanProductSubCategoryDTL → ProductCategoryID

Sub Category Type (Metal)  (Single Selection Dropdown)

Description:

Defines the type of sub-category to filter sub-categories in metal setup.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = MasterDataValueID_ProductSubCategoryType
  • User Entry: Selection from dropdown
  • Mandatory: Yes
  • Options: ProductSubCategory1 to ProductSubCategory15 (Dynamic)
Behavior:

Visible only when Setup Type = Sub Category.

Saved in & as:
  • emaLayawayPlanProductSubCategoryDTL → MasterDataValueID_ProductSubCategoryType

Sub Category (Metal)  (Single Selection Dropdown)

Description:

Selects the product sub-category filtered by Category and Sub Category Type.

Control Properties:
  • Default Value: —
  • Data Source: invProductSubCategory & invProductArticleCatalog
  • Filter Condition:
    • Active = True, listed from ProductSubCategoryID
    • Filtered by selected ProductCategoryID and MasterDataValueID_ProductSubCategoryType
    • Filtered by linked ProductArticleCatalogID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Behavior:

Visible only when Setup Type = Sub Category.

Saved in & as:
  • emaLayawayPlanProductSubCategoryDTL → ProductSubCategoryID

Article (Metal)  (Single Selection Dropdown)

Description:

Selects the product article for metal setup. All dropdowns shown are for filtration.

Control Properties:
  • Default Value: —
  • Data Source: invProductArticleCatalog
  • Filter Condition:
    • Active = True, listed from ProductArticleCatalogID
    • Filtered by selected MetalID and ProductCategoryID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Behavior:

Visible only when Setup Type = Article.

Saved in & as:
  • emaLayawayPlanProductArticleDTL → ProductArticleCatalogID

Purity  (Single Selection Dropdown)

Description:

Selects the purity level applicable for the metal setup entry.

Control Properties:
  • Default Value: —
  • Data Source: invPurity
  • Filter Condition:
    • Active = True, listed from PurityID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Behavior:

Visible for all Setup Types in Metal Setup.

Saved in & as:
  • emaLayawayPlanMetalDTL → PurityID
  • emaLayawayPlanProductCategoryDTL → PurityID
  • emaLayawayPlanProductSubCategoryDTL → PurityID
  • emaLayawayPlanProductArticleDTL → PurityID

Add Button (Metal Setup)  (Button)

Description:

Adds the configured metal setup row to the plan.

Control Properties:
  • User Entry: Manual click
  • Mandatory: No
Behavior:
  • Validates that all required fields for the selected Setup Type are filled.
  • Inserts a row into the respective Metal DTL table based on selected Setup Type.
  • Added rows are displayed in an inline grid (Include section) below the Add button showing Setup Type, Metal, Purity with a Remove option.

5.15 Brand Setup (Repeatable Section)

Same structure as Metal Setup but instead of Purity, the Brand field is shown. Setup Type options are: Brand, Group Category, Category, Sub Category, Article.

Setup Type (Brand)  (Single Selection Dropdown)

Description:

Determines the level of brand setup.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
  • User Entry: Selection from dropdown
  • Options: Brand, Group Category, Category, Sub Category, Article
  • Mandatory: Yes
Behavior:
  • Brand → Shows Brand dropdown.
  • Group Category → Shows Group Category + Brand dropdowns.
  • Category → Shows Group Category + Category + Brand dropdowns.
  • Sub Category → Shows Group Category + Category + Sub Category Type + Sub Category + Brand dropdowns.
  • Article → Shows Article + Brand dropdowns.
Saved in & as:
  • emaLayawayPlanMetalBrandDTL → MasterDataValueID_VendorWastageSetupType
  • emaLayawayPlanProductCategoryBrandDTL, emaLayawayPlanProductSubCategoryBrandDTL, emaLayawayPlanProductArticleBrandDTL similarly.

5.15.1 Brand Setup – Sub Fields

Group Category (Brand)  (Single Selection Dropdown)

Description:

Selects the metal group category for the brand setup entry.

Control Properties:
  • Default Value: —
  • Data Source: invMetal & invProductArticleCatalog
  • Filter Condition:
    • Active = True, listed from MetalID
    • Filtered by linked ProductArticleCatalogID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Behavior:

Visible when Setup Type = Group Category, Category, Sub Category.

Saved in & as:
  • emaLayawayPlanMetalBrandDTL → MetalID
  • emaLayawayPlanProductCategoryBrandDTL → MetalID
  • emaLayawayPlanProductSubCategoryBrandDTL → MetalID

Category (Brand)  (Single Selection Dropdown)

Description:

Selects the product category filtered by the selected Group Category.

Control Properties:
  • Default Value: —
  • Data Source: invProductCategory & invProductArticleCatalog
  • Filter Condition:
    • Active = True, listed from ProductCategoryID
    • Filtered by selected MetalID
    • Filtered by linked ProductArticleCatalogID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Behavior:

Visible when Setup Type = Category or Sub Category.

Saved in & as:
  • emaLayawayPlanProductCategoryBrandDTL → ProductCategoryID
  • emaLayawayPlanProductSubCategoryBrandDTL → ProductCategoryID

Sub Category Type (Brand)  (Single Selection Dropdown)

Description:

Defines the type of sub-category to filter sub-categories in brand setup.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = MasterDataValueID_ProductSubCategoryType
  • User Entry: Selection from dropdown
  • Mandatory: Yes
  • Options: ProductSubCategory1 to ProductSubCategory15 (Dynamic)
Behavior:

Visible only when Setup Type = Sub Category.

Saved in & as:
  • emaLayawayPlanProductSubCategoryBrandDTL → MasterDataValueID_ProductSubCategoryType

Sub Category (Brand)  (Single Selection Dropdown)

Description:

Selects the product sub-category filtered by Category and Sub Category Type.

Control Properties:
  • Default Value: —
  • Data Source: invProductSubCategory & invProductArticleCatalog
  • Filter Condition:
    • Active = True, listed from ProductSubCategoryID
    • Filtered by selected ProductCategoryID and MasterDataValueID_ProductSubCategoryType
    • Filtered by linked ProductArticleCatalogID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Behavior:

Visible only when Setup Type = Sub Category.

Saved in & as:
  • emaLayawayPlanProductSubCategoryBrandDTL → ProductSubCategoryID

Article (Brand)  (Single Selection Dropdown)

Description:

Selects the product article for brand setup. All dropdowns shown are for filtration.

Control Properties:
  • Default Value: —
  • Data Source: invProductArticleCatalog
  • Filter Condition:
    • Active = True, listed from ProductArticleCatalogID
    • Filtered by selected MetalID and ProductCategoryID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Behavior:

Visible only when Setup Type = Article.

Saved in & as:
  • emaLayawayPlanProductArticleBrandDTL → ProductArticleCatalogID

Brand  (Single Selection Dropdown)

Description:

Selects the product brand applicable for the brand setup entry.

Control Properties:
  • Default Value: —
  • Data Source: invProductBrand
  • Filter Condition:
    • Active = True, listed from ProductBrandID
    • Filtered by selected MetalID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Behavior:

Visible for all Setup Types in Brand Setup.

Saved in & as:
  • emaLayawayPlanMetalBrandDTL → ProductBrandID
  • emaLayawayPlanProductCategoryBrandDTL → ProductBrandID
  • emaLayawayPlanProductSubCategoryBrandDTL → ProductBrandID
  • emaLayawayPlanProductArticleBrandDTL → ProductBrandID

Add Button (Brand Setup)  (Button)

Description:

Adds the configured brand setup row to the plan.

Control Properties:
  • User Entry: Manual click
  • Mandatory: No
Behavior:
  • Validates that all required fields for the selected Setup Type are filled.
  • Inserts a row into the respective Brand DTL table based on selected Setup Type.
  • Added rows are displayed in an inline grid (Include section) below the Add button showing Setup Type, Metal, Brand with a Remove option.

5.16 Stone Setup (Repeatable Section)

Configures stone-level applicability. At least one of Metal Setup, Brand Setup, or Stone Setup must be configured. Setup Type options: Stone Group, Stone Category, Stone Sub Category, Stone Attribute, Stone Article.

Setup Type (Stone)  (Single Selection Dropdown)

Description:

Determines the level of stone setup.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = MasterDataValueID_VendorStoneRateSetUpType
  • User Entry: Selection from dropdown
  • Options: Stone Group, Stone Category, Stone Sub Category, Stone Attribute, Stone Article
  • Mandatory: Yes
Behavior:
  • Stone Group → Shows Stone Group dropdown.
  • Stone Category → Shows Stone Group + Stone Category dropdowns.
  • Stone Sub Category → Shows Stone Group + Stone Category + Stone Sub Category dropdowns.
  • Stone Attribute → Shows Stone Group + Stone Category + Stone Sub Category + Stone Attribute Type + Stone Attribute dropdowns.
  • Stone Article → Shows Stone Article dropdown (with all attribute dropdowns for filtration).
Saved in & as:
  • emaLayawayPlanStoneDTL → MasterDataValueID_VendorStoneRateSetUpType
  • emaLayawayPlanStoneCategoryDTL, emaLayawayPlanStoneSubCategoryDTL, emaLayawayPlanStoneAttributeDTL, emaLayawayPlanStoneArticleDTL similarly.

5.16.1 Stone Setup – Sub Fields

Stone Group  (Single Selection Dropdown)

Description:

Selects the stone group for the stone setup entry.

Control Properties:
  • Default Value: —
  • Data Source: invStone & invStoneArticleCatalog
  • Filter Condition:
    • Active = True, listed from StoneID
    • Filtered by linked StoneArticleCatalogID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Behavior:

Visible when Setup Type = Stone Group, Stone Category, Stone Sub Category, Stone Attribute.

Saved in & as:
  • emaLayawayPlanStoneDTL → StoneID
  • emaLayawayPlanStoneCategoryDTL → StoneID
  • emaLayawayPlanStoneSubCategoryDTL → StoneID
  • emaLayawayPlanStoneAttributeDTL → StoneID

Stone Category  (Single Selection Dropdown)

Description:

Selects the stone category filtered by the selected Stone Group.

Control Properties:
  • Default Value: —
  • Data Source: invStoneCategory & invStoneArticleCatalog
  • Filter Condition:
    • Active = True, listed from StoneCategoryID
    • Filtered by selected StoneID
    • Filtered by linked StoneArticleCatalogID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Behavior:

Visible when Setup Type = Stone Category, Stone Sub Category, Stone Attribute.

Saved in & as:
  • emaLayawayPlanStoneCategoryDTL → StoneCategoryID
  • emaLayawayPlanStoneSubCategoryDTL → StoneCategoryID
  • emaLayawayPlanStoneAttributeDTL → StoneCategoryID

Stone Sub Category  (Single Selection Dropdown)

Description:

Selects the stone sub-category filtered by the selected Stone Category.

Control Properties:
  • Default Value: —
  • Data Source: invStoneSubCategory & invStoneArticleCatalog
  • Filter Condition:
    • Active = True, listed from StoneSubCategoryID
    • Filtered by selected StoneCategoryID and StoneID
    • Filtered by linked StoneArticleCatalogID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Behavior:

Visible when Setup Type = Stone Sub Category or Stone Attribute.

Saved in & as:
  • emaLayawayPlanStoneSubCategoryDTL → StoneSubCategoryID
  • emaLayawayPlanStoneAttributeDTL → StoneSubCategoryID

Stone Attribute Type  (Single Selection Dropdown)

Description:

Defines the type of stone attribute to filter stone attributes.

Control Properties:
  • Default Value: —
  • Data Source: admMasterDataValueDTL
  • Filter Condition:
    • Active = True, listed from MasterDataValueID
    • MasterDataCategory = MasterDataValueID_StoneAttributeType
  • User Entry: Selection from dropdown
  • Mandatory: Yes
  • Options: Dynamic — populated based on user-defined categories in the system. Options are not fixed at configuration time.
Behavior:

Visible only when Setup Type = Stone Attribute.

Saved in & as:
  • emaLayawayPlanStoneAttributeDTL → MasterDataValueID_StoneAttributeType

Stone Attribute  (Single Selection Dropdown)

Description:

Selects the stone attribute filtered by Stone Attribute Type.

Control Properties:
  • Default Value: —
  • Data Source: invStoneAttribute & invStoneArticleCatalog
  • Filter Condition:
    • Active = True, listed from StoneAttributeID
    • Filtered by selected MasterDataValueID_StoneAttributeType
    • Filtered by linked StoneArticleCatalogID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Behavior:

Visible only when Setup Type = Stone Attribute.

Saved in & as:
  • emaLayawayPlanStoneAttributeDTL → StoneAttributeID

Stone Article  (Single Selection Dropdown)

Description:

Selects the stone article. All attribute dropdowns shown are for filtration purposes.

Control Properties:
  • Default Value: —
  • Data Source: invStoneArticleCatalog
  • Filter Condition:
    • Active = True, listed from StoneArticleCatalogID
    • Filtered by selected StoneID, StoneCategoryID, StoneSubCategoryID
  • User Entry: Selection from dropdown
  • Mandatory: Yes
Behavior:

Visible only when Setup Type = Stone Article.

Saved in & as:
  • emaLayawayPlanStoneArticleDTL → StoneArticleCatalogID

Add Button (Stone Setup)  (Button)

Description:

Adds the configured stone setup row to the plan.

Control Properties:
  • User Entry: Manual click
  • Mandatory: No
Behavior:
  • Validates that all required fields for the selected Setup Type are filled.
  • Inserts a row into the respective Stone DTL table based on selected Setup Type.
  • Added rows are displayed in an inline grid (Include section) below the Add button showing Setup Type, Stone Group, and related fields with a Remove option.
  • At least one of Metal Setup, Brand Setup, or Stone Setup must have at least one row added before saving.

5.17 Form Action Buttons

Save Button  (Button)

Description:

Submits and saves the Layaway Plan form.

Control Properties:
  • User Entry: Manual click
  • Mandatory: Yes
Behavior:
  • Validates all mandatory fields before saving.
  • On success: inserts HDR and all DTL records. Sets ApprovalStatus = Pending.
  • On failure: displays inline validation error messages next to the respective fields.

Clear Button  (Button)

Description:

Clears all entered data on the form without navigating away.

Control Properties:
  • User Entry: Manual click
  • Mandatory: No
Behavior:

Discards all unsaved changes and resets all form fields to their default state.

6. Table View

6.1 Column List

#Column HeaderSource FieldRemarks
1NameNamePlan name
2Min Invoice AmountMinInvoiceAmountNumeric
3Max Invoice AmountMaxInvoiceAmountNumeric
4Installment Tenure (Months)InstallmentTenureMonthsInteger
5Inventory Locking ModeMasterDataValueID_LayawayInventoryLockingModeDisplay master data value name
6Collection ModeMasterDataValueID_LayawayInstallmentCollectionModeDisplay master data value name
7StatusActiveActive / Inactive
8Approval StatusMasterDataValueID_ApprovalStatusPending / Approved / Rejected
9ActionsAdd, Edit, Delete, Export, Export All

6.2 Add Button

Description:

Opens the Layaway Plan form in Add mode to create a new record.

Behavior:
  • Visible and accessible only to users who have Add permission assigned in Roles and Rights Configuration.
  • If the user does not have Add rights, the button is either hidden or disabled based on the Rights Configuration setup.
  • Opens a blank form with all fields in their default state.

6.3 Edit Button

Description:

Opens the Layaway Plan form pre-populated with all HDR and DTL data for the selected record.

Behavior:
  • Visible and accessible only to users who have Edit permission assigned in Roles and Rights Configuration.
  • If the user does not have Edit rights, the button is either hidden or disabled based on the Rights Configuration setup.
  • Available only when Approval Status = Pending or Rejected.
  • Disabled if Active = False.
  • On Save: HDR updated in place; all DTL records deleted and re-inserted.
Edit Scenario 1 — No Linked Transactions:
  • Condition: No active transactions linked to this plan.
  • Behavior: All plan fields are fully editable. No restrictions apply. Complete plan configuration can be changed.
Edit Scenario 2 — Linked Transactions Exist:
  • Condition: At least one active customer or transaction is linked to this plan.
  • Behavior: Only the following fields are editable. All other fields are read-only.
Editable Fields (When Linked Transactions Exist):
  • Name
  • Min Invoice Value
  • Max Invoice Value
  • Down Payment Value — Increase only
  • Processing Fee — Increase only
  • Penalty Value — Increase only
  • Grace Period (Days)
  • Advance Conversion Charge
  • Cancellation Charge
  • Refund Timeline (Days)
  • Installment Collection Mode — Mode itself is Not Editable. Only the following sub-fields are editable:
    • From Day
    • To Day
    • Week Day
    • Collection Interval Days
  • Auto Deactivate on Missed Collections — If existing value = True: Not Editable. If existing value = False: Editable.
  • Allow Collection of Pending Installments — If existing value = True: Not Editable. If existing value = False: Editable.
  • Allow Collection of Advance Installments — If existing value = True: Not Editable. If existing value = False: Editable.
  • Allow Partial Installment Collection — If existing value = True: Not Editable. If existing value = False: Editable.
  • Max Missed Installments
  • Max Overdue Days
  • Max Pending Installments Allowed
  • Max Advance Installments Allowed
  • Max Partial Payments Per Installment
  • Business Unit — Existing selected Business Units are Not Editable. New Business Unit selection is allowed.
  • Days Before Delivery
  • Days After Sale
  • Inventory Age (Days)

6.4 Delete Button

Description:

Deactivates the Layaway Plan record.

Behavior:
  • Visible and accessible only to users who have Delete permission assigned in Roles and Rights Configuration.
  • If the user does not have Delete rights, the button is either hidden or disabled based on the Rights Configuration setup.
  • Shows a confirmation prompt before deletion.
  • Disabled if already Inactive.
Dependency Check Before Deletion:
  • System checks for downstream dependencies in linked modules (e.g., Active Layaway Transactions, Benefit Template Mapping, Member Joining).
  • If dependencies exist: deletion is blocked with error message — "Layaway Plan record cannot be deleted as it is linked with active transactions."
  • If no dependencies exist: Active = False is set on HDR only. All child DTL records are retained. Hard delete is not performed.

6.5 Export Button

Description:

Exports the currently selected / filtered records from the Table View to a downloadable file.

Behavior:
  • Exports only the records visible in the current filtered/paginated view.
  • File format: e.g., Excel, CSV.
  • Exported columns match the Table View columns.

6.6 Export All Button

Description:

Exports all records from the Layaway Plan table regardless of current filters or pagination.

Behavior:
  • Exports all records from emaLayawayPlanHDR where Active = True.
  • File format: e.g., Excel, CSV.
  • Exported columns match the Table View columns.

7. Functional Specifications

7.1 Save Behavior (Add Mode)

7.2 Edit Save Behavior

7.3.1 HDR Table – emaLayawayPlanHDR

ColumnValue on Save
LayawayPlanIDNew GUID (system generated)
NameUser input
MinInvoiceAmountUser input
MaxInvoiceAmountUser input
DownPayment__MasterDataValueID_LayawayChargeTypeSelected MasterDataValueID
DownPaymentValueUser input
ProcessingFeeUser input or 0
InstallmentTenureMonthsUser input
IsTenureLockedCheckbox value (True/False)
MasterDataValueID_LayawayInventoryLockingModeSelected MasterDataValueID
LatePenalty_MasterDataValueID_LayawayChargeTypeSelected MasterDataValueID or NULL
LatePenaltyGracePeriodDaysUser input or NULL
LatePenaltyValueUser input or NULL
AdvanceConversion_MasterDataValueID_LayawayChargeTypeSelected MasterDataValueID or NULL
AdvanceConversionChargeValueUser input or NULL
Cancellation_MasterDataValueID_LayawayChargeTypeSelected MasterDataValueID or NULL
CancellationChargeValueUser input or NULL
MasterDataValueID_LayawayRefundSettlementModeSelected MasterDataValueID or NULL
RefundTimelineDaysUser input or NULL
MasterDataValueID_LayawayInstallmentCollectionModeSelected MasterDataValueID
From_MasterDataValueID_DaySelected MasterDataValueID or NULL
To_MasterDataValueID_DaySelected MasterDataValueID or NULL
MasterDataValueID_WeekDaySelected MasterDataValueID or NULL
CollectionIntervalDaysUser input or NULL
IsAutoDeactivateOnMissedCollectionCheckbox value
MaxMissedInstallmentCountUser input or NULL
MaxOverdueDaysUser input or NULL
IsPendingInstallmentCollectionAllowedCheckbox value
MaxPendingInstallmentCollectionCountUser input or NULL
IsAdvanceInstallmentCollectionAllowedCheckbox value
MaxAdvanceInstallmentCollectionCountUser input or NULL
IsPartialInstallmentCollectionAllowedCheckbox value
MaxPartialPaymentsPerInstallmentUser input or NULL
ActiveTrue
MasterDataValueID_ApprovalStatusPending (MasterDataValueID)

7.3.2 DTL Tables

emaLayawayPlanLocationDTL — One row per selected Business Unit.

ColumnValue on Save
LayawayPlanLocationIDNew GUID
LayawayPlanIDFK from HDR
RefLocationIDSelected LocationID from admLocation

emaLayawayPlanMetalDTL — One row per Group Category metal setup entry.

ColumnValue on Save
LayawayPlanMetalIDNew GUID
LayawayPlanIDFK from HDR
MasterDataValueID_VendorWastageSetupTypeSelected Setup Type MasterDataValueID
MetalIDSelected Metal (Group Category)
PurityIDSelected Purity or NULL

emaLayawayPlanProductCategoryDTL — One row per Category-level metal setup entry.

ColumnValue on Save
LayawayPlanProductCategoryIDNew GUID
LayawayPlanIDFK from HDR
MasterDataValueID_VendorWastageSetupTypeSelected Setup Type MasterDataValueID
MetalIDSelected Metal
ProductCategoryIDSelected Category
PurityIDSelected Purity or NULL

emaLayawayPlanProductSubCategoryDTL — One row per Sub-Category-level metal setup entry.

ColumnValue on Save
LayawayPlanProductSubCategoryIDNew GUID
LayawayPlanIDFK from HDR
MasterDataValueID_VendorWastageSetupTypeSelected Setup Type MasterDataValueID
MetalIDSelected Metal
ProductCategoryIDSelected Category
ProductSubCategoryIDSelected Sub-Category
MasterDataValueID_ProductSubCategoryTypeSelected Sub-Category Type MasterDataValueID
PurityIDSelected Purity or NULL

emaLayawayPlanProductArticleDTL — One row per Article-level metal setup entry.

ColumnValue on Save
LayawayPlanProductArticleIDNew GUID
LayawayPlanIDFK from HDR
MasterDataValueID_VendorWastageSetupTypeSelected Setup Type MasterDataValueID
ProductArticleCatalogIDSelected Article
PurityIDSelected Purity or NULL

emaLayawayPlanMetalBrandDTL — One row per Brand setup entry at metal level.

ColumnValue on Save
LayawayPlanMetalBrandIDNew GUID
LayawayPlanIDFK from HDR
MasterDataValueID_VendorWastageSetupTypeSelected Setup Type MasterDataValueID
MetalIDSelected Metal
ProductBrandIDSelected Brand

emaLayawayPlanProductCategoryBrandDTL — One row per Category-level brand setup entry.

ColumnValue on Save
LayawayPlanProductCategoryBrandIDNew GUID
LayawayPlanIDFK from HDR
MasterDataValueID_VendorWastageSetupTypeSelected Setup Type MasterDataValueID
MetalIDSelected Metal
ProductCategoryIDSelected Category
ProductBrandIDSelected Brand

emaLayawayPlanProductSubCategoryBrandDTL — One row per Sub-Category-level brand setup entry.

ColumnValue on Save
LayawayPlanProductSubCategoryBrandIDNew GUID
LayawayPlanIDFK from HDR
MasterDataValueID_VendorWastageSetupTypeSelected Setup Type MasterDataValueID
MetalIDSelected Metal
ProductCategoryIDSelected Category
ProductSubCategoryIDSelected Sub-Category
MasterDataValueID_ProductSubCategoryTypeSelected Sub-Category Type MasterDataValueID
ProductBrandIDSelected Brand

emaLayawayPlanProductArticleBrandDTL — One row per Article-level brand setup entry.

ColumnValue on Save
LayawayPlanProductArticleBrandIDNew GUID
LayawayPlanIDFK from HDR
MasterDataValueID_VendorWastageSetupTypeSelected Setup Type MasterDataValueID
ProductArticleCatalogIDSelected Article
ProductBrandIDSelected Brand

emaLayawayPlanStoneDTL — One row per Stone Group setup entry.

ColumnValue on Save
LayawayPlanStoneIDNew GUID
LayawayPlanIDFK from HDR
MasterDataValueID_VendorStoneRateSetUpTypeSelected Setup Type MasterDataValueID
StoneIDSelected Stone Group

emaLayawayPlanStoneCategoryDTL — One row per Stone Category-level setup entry.

ColumnValue on Save
LayawayPlanStoneCategoryIDNew GUID
LayawayPlanIDFK from HDR
MasterDataValueID_VendorStoneRateSetUpTypeSelected Setup Type MasterDataValueID
StoneIDSelected Stone Group
StoneCategoryIDSelected Stone Category

emaLayawayPlanStoneSubCategoryDTL — One row per Stone Sub-Category-level setup entry.

ColumnValue on Save
LayawayPlanStoneSubCategoryIDNew GUID
LayawayPlanIDFK from HDR
MasterDataValueID_VendorStoneRateSetUpTypeSelected Setup Type MasterDataValueID
StoneIDSelected Stone Group
StoneCategoryIDSelected Stone Category
StoneSubCategoryIDSelected Stone Sub-Category

emaLayawayPlanStoneAttributeDTL — One row per Stone Attribute-level setup entry.

ColumnValue on Save
LayawayPlanStoneAttributeIDNew GUID
LayawayPlanIDFK from HDR
MasterDataValueID_VendorStoneRateSetUpTypeSelected Setup Type MasterDataValueID
StoneIDSelected Stone Group
StoneCategoryIDSelected Stone Category
StoneSubCategoryIDSelected Stone Sub-Category
MasterDataValueID_StoneAttributeTypeSelected Stone Attribute Type MasterDataValueID
StoneAttributeIDSelected Stone Attribute

emaLayawayPlanStoneArticleDTL — One row per Stone Article-level setup entry.

ColumnValue on Save
LayawayPlanStoneArticleIDNew GUID
LayawayPlanIDFK from HDR
MasterDataValueID_VendorStoneRateSetUpTypeSelected Setup Type MasterDataValueID
StoneArticleCatalogIDSelected Stone Article

emaLayawayPlanSoftLockConditionDTL — One row per plan (only when Inventory Locking Mode = Soft Lock).

ColumnValue on Save
LayawayPlanSoftLockConditionIDNew GUID
LayawayPlanIDFK from HDR
MinDaysBeforeDeliveryForResaleUser input or NULL
MasterDataValueID_LayawayOrderGenerationTriggerModeSelected MasterDataValueID

emaLayawayPlanSoftLockConditionDefaultDTL — One row (mandatory Default policy row).

ColumnValue on Save
LayawayPlanSoftLockConditionDefaultIDNew GUID
LayawayPlanSoftLockConditionIDFK from SoftLockConditionDTL
MasterDataValueID_LayawayOrderGenerationPolicyDefault MasterDataValueID
MasterDataValueID_LayawayOrderGenerationScheduleBasedOnSelected value
OrderGenerateBeforeDeliveryDaysUser input or NULL
OrderGenerateAfterSaleDaysUser input or NULL

emaLayawayPlanSoftLockConditionMetalDTL — One row per Group Category policy entry.

ColumnValue on Save
LayawayPlanSoftLockConditionMetalIDNew GUID
LayawayPlanSoftLockConditionIDFK from SoftLockConditionDTL
MasterDataValueID_LayawayOrderGenerationPolicyGroup Category MasterDataValueID
MetalIDSelected Metal
LayawayPlanSoftLockConditionMetalValueIDFK to MetalValueDTL

emaLayawayPlanSoftLockConditionMetalValueDTL — One row per Group Category policy value.

ColumnValue on Save
LayawayPlanSoftLockConditionMetalValueIDNew GUID
MasterDataValueID_LayawayOrderGenerationScheduleBasedOnSelected Schedule Based On value
OrderGenerateBeforeDeliveryDaysUser input or NULL
OrderGenerateAfterSaleDaysUser input or NULL

emaLayawayPlanSoftLockConditionProductCategoryDTL — One row per Category policy entry.

ColumnValue on Save
LayawayPlanSoftLockConditionProductCategoryIDNew GUID
LayawayPlanSoftLockConditionIDFK from SoftLockConditionDTL
MasterDataValueID_LayawayOrderGenerationPolicyCategory MasterDataValueID
MetalIDSelected Metal
ProductCategoryIDSelected Category
LayawayPlanSoftLockConditionProductCategoryValueIDFK to ProductCategoryValueDTL

emaLayawayPlanSoftLockConditionProductCategoryValueDTL — One row per Category policy value.

ColumnValue on Save
LayawayPlanSoftLockConditionProductCategoryValueIDNew GUID
MasterDataValueID_LayawayOrderGenerationScheduleBasedOnSelected Schedule Based On value
OrderGenerateBeforeDeliveryDaysUser input or NULL
OrderGenerateAfterSaleDaysUser input or NULL

emaLayawayPlanSoftLockConditionProductSubCategoryDTL — One row per Sub Category policy entry.

ColumnValue on Save
LayawayPlanSoftLockConditionProductSubCategoryIDNew GUID
LayawayPlanSoftLockConditionIDFK from SoftLockConditionDTL
MasterDataValueID_LayawayOrderGenerationPolicySub Category MasterDataValueID
MetalIDSelected Metal
ProductCategoryIDSelected Category
ProductSubCategoryIDSelected Sub-Category
MasterDataValueID_ProductSubCategoryTypeSelected Sub-Category Type MasterDataValueID
LayawayPlanSoftLockConditionProductSubCategoryValueIDFK to ProductSubCategoryValueDTL

emaLayawayPlanSoftLockConditionProductSubCategoryValueDTL — One row per Sub Category policy value.

ColumnValue on Save
LayawayPlanSoftLockConditionProductSubCategoryValueIDNew GUID
MasterDataValueID_LayawayOrderGenerationScheduleBasedOnSelected Schedule Based On value
OrderGenerateBeforeDeliveryDaysUser input or NULL
OrderGenerateAfterSaleDaysUser input or NULL

emaLayawayPlanSoftLockConditionProductArticleDTL — One row per Article policy entry.

ColumnValue on Save
LayawayPlanSoftLockConditionProductArticleIDNew GUID
LayawayPlanSoftLockConditionIDFK from SoftLockConditionDTL
MasterDataValueID_LayawayOrderGenerationPolicyArticle MasterDataValueID
ProductArticleCatalogIDSelected Article
LayawayPlanSoftLockConditionProductArticleValueIDFK to ProductArticleValueDTL

emaLayawayPlanSoftLockConditionProductArticleValueDTL — One row per Article policy value.

ColumnValue on Save
LayawayPlanSoftLockConditionProductArticleValueIDNew GUID
MasterDataValueID_LayawayOrderGenerationScheduleBasedOnSelected Schedule Based On value
OrderGenerateBeforeDeliveryDaysUser input or NULL
OrderGenerateAfterSaleDaysUser input or NULL

emaLayawayPlanSoftLockConditionInventoryAgeDTL — One row per Inventory Age policy entry.

ColumnValue on Save
LayawayPlanSoftLockConditionDefaultIDNew GUID
LayawayPlanSoftLockConditionIDFK from SoftLockConditionDTL
MasterDataValueID_LayawayOrderGenerationPolicyInventory Age MasterDataValueID
MasterDataValueID_ComparisionOperatorSelected operator
InventoryAgeInDaysUser input
MasterDataValueID_LayawayOrderGenerationScheduleBasedOnSelected value
OrderGenerateBeforeDeliveryDaysUser input or NULL
OrderGenerateAfterSaleDaysUser input or NULL