The proposed technical design for mandatory savings.
Following are the data base changes proposed for implementing mandatory savings.
-
Add following fields to m_savings_product
-
Capture savings type Volunteer/ Mandatory (Volunteer = 1, Mandatory=2):
savings_type TINYINT(1) NOT NULL DEFAULT '1'
-
Mandatory recommended Deposit Amount:
mandatory_recommended_deposit_amount DECIMAL(19,6) NULL DEFAULT NULL
-
Add following fields to m_savings_account (inherit from savings product if not provided)
-
Capture savings type Volunteer/ Mandatory (Volunteer = 1, Mandatory=2):
savings_type TINYINT(1) NOT NULL DEFAULT '1'
-
Mandatory recommended Deposit Amount:
mandatory_recommended_deposit_amount DECIMAL(19,6) NULL DEFAULT NULL
-
Create a new table m_mandatory_savings_overdue
total_overdue_amount: The total overdue amount to be payable towards mandatory savings account. no_of_overdue_installments: The total number of installments which are not paid towards mandatory savings account.
-
Create a new table m_mandatory_savings_overdue_history
overdue_amount: The recommended mandatory amount which is overdue. due_date: The date on which the recommended mandatory amount is due and not paid
Right now the mandatory savings are supported only for clients who are part of group/center to follow the meeting frequency for collecting mandatory savings.
Link the savings account with Calendar instance of group/center to which client belongs to. A batch job should calculate the overdue amount based on inherited calendar frequency to maintain an overdue details.
The collection sheet should display the overdue amount/due amount for a meeting but allow to deposit any amount (less/more than actual due amount).
|