For the teller module, we need to be able to identity all cash transaction done by a teller easily, this identification helps us switch out the fund source for all teller transactions (loan disbursements, repayments, savings deposits etc) with the cash account mapped to a teller.
Currently, payment types are user defined, so there is no way for me to identify a payment type as a Cash payment.
To help with the same and based on the assumption that inn the future we will be doing a lot of other activity based on payment types, I am planning to move payment types from user defined code values to their own table.
To do so I will be making the following changes
1) Firstly, removing foreign key associations from m_payment details to code value
Migrate all payment related code values to a new table (m_payment_type). This table would have a flag to identify cash payment types (is_cash_payment).
The primary key value for migrated data in m_payment_type would be their original code value Id's, so now I can add foreign keys from m_payment_details to this table
2) I would add API's to create/edit and delete payment types and consume them under "Organization tab" in the community app
To ensure that existing api's do not break, the same signature would be maintained for all repayment templates etc (where payment type is treated as a code value)
|