Ralph Hopman created FINERACT-2498:
--------------------------------------

             Summary: Add GROUP as a Guarantor Type to Support Group Savings 
Accounts as Loan Collateral
                 Key: FINERACT-2498
                 URL: https://issues.apache.org/jira/browse/FINERACT-2498
             Project: Apache Fineract
          Issue Type: Improvement
          Components: Savings
            Reporter: Ralph Hopman
            Assignee: Ralph Hopman


Currently, the guarantor functionality only supports three types:
 * *CUSTOMER (1)* - Existing clients
 * *STAFF (2)* - Staff members
 * *EXTERNAL (3)* - External persons

The system allows *group savings accounts* to be used as loan collateral 
through guarantors, but there is no proper GROUP guarantor type. This causes 
validation failures when attempting to use a group savings account as 
collateral because the validation logic tries to find a *client* with the 
group's ID, resulting in "entity not found" errors when client and group IDs 
don't overlap.

The test {{testOnHoldTransactionsApiForGroupSavingsAccount}} in 
{{GroupSavingsIntegrationTest}} currently fails in CI when there are 
non-overlapping IDs between {{m_client}} and {{m_group}} tables.

Tests and implementations incorrectly use {{guarantorTypeId = 1}} 
(CUSTOMER/CLIENT) with a group entity ID, which only works by coincidence when 
client and group IDs happen to overlap.
h2. Proposed Solution

Add *GROUP (4)* as a new guarantor type with proper validation support 
throughout the codebase to correctly handle group savings accounts as loan 
collateral.

This solution is {*}backward compatible{*}: Existing API clients using types 1, 
2, or 3 will continue to work unchanged. Type 4 is purely additive.
h2. Testing
 # Integration test 
{{GroupSavingsIntegrationTest.testOnHoldTransactionsApiForGroupSavingsAccount}} 
should pass with non-overlapping client/group IDs
 # New test using {{GuarantorTestBuilder.existingGroupWithGuaranteeAmount()}} 
to test group guarantors



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to