Savings

Related Tables

meetings, recur_on_day, recurrence_detail - two entries get created per savings offering, 1. for period of interest calculation 2. freq of interest posting
prd_offering - one entry for every product offering creation.
prd_offering_meeting - two entries which maps a savings product offering to two meeting created in "meeting" table.
savings_offerings - contains the savings product offering specific information

account - contains core account information for savings account
savings_account - contains savings specific information
savings_performance - contains details of total deposits, total withdrawals, total_interest, missed_deposits

savings_activity_details - contains details about deposit, withdrawn, interest posted and adjustments (the entries from this table are shown on the UI "View Savings Activity Details")
account_payment -

account_trxn -
savings_trxn_detail -
savings_schedule -

NOTES: About editing Savings products

  • On every edit operation new entries gets created in meeting tables, those should get updated not created again.
  • Start Date (Start Date for and Active product can not be edited so it should be read only like GL Code)
  • "View Change logs" seems to be working correctly for all the editable fields in "Edit Savings Product Offering"

Savings Matrix

  1. Group Model (with Individual Tracking/Accountability): Center and Group (per individual mode)
  2. Group Model (with no Individual Tracking/Accountability): Group (Complete Group mode)
  3. Individual Model: Client

 

Center

Group (Per Individual)

Client

Group (Complete)

Voluntary

  • saving_schedules created for each client (active/on hold)
  • each client can pay anything not just the 'recommend amount' and schedule is marked as paid
  • each client may withdraw up to 'max withdrawal' per transaction
  • making an 'unspecified' payment payment is against the center itself and no schedule associated with client is updated
  • overpaying a clients 'recommended deposit' means 'savings installment' is paid up to that amount and marked as paid and a 'unscheduled' payment is made for the rest of the excess against the client that paid making two entries in account_trxn.
  • saving_schedules created for each client (active/on hold)
  • saving_schedules created for client (active/on hold)
  • savings schedules are created for Group only, no tracking of clients
  • can pay anything not just the 'recommend amount' and schedule is marked as paid
  • prepayments are handled as 'unscheduled payments' against group customer.
  • overpaying the 'recommended deposit' means 'savings installment' is paid up to that amount and marked as paid and a 'unscheduled' payment is made for the rest of the excess against the group that paid making two entries in account_trxn.

Mandatory

  • saving_schedules created for each client (active/on hold)
  • each client must pay 'mandatory amount' before schedule is marked as paid
  • each client may withdraw up to 'max withdrawal' per transaction
  • making an 'unspecified' payment is against the center itself and no schedule associated with client is updated
  • underpaying a clients 'mandatory deposit' means 'savings installment' remains unpaid
  • overpaying a clients 'mandatory deposit' means 'savings installment' is paid in full and marked as paid and a 'unspecified' payment is made for the rest of the excess. The difference with this 'unspecified' payment is that it is tracked against the client and not the center in the 'account_trxn' table.

b

c

d

Interest Calculation and Posting

see Savings Interest Calculation and Posting

Savings Schedules (Notes)

- While creating Mandatory Savings Product, you can not enter a zero amount for "Recommended amount for deposit at every meeting". But during creation of Savings Account it allows to enter zero as "Recommended amount for deposit at every meeting" which results in zero amount schedule. The transaction gets recorded for that zero due, this is probably not a bug, but it can be improved. Same situation is for Voluntary Savings Account