[ 
https://issues.apache.org/jira/browse/FINERACT-3018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

김다연 updated FINERACT-3018:
--------------------------
    Affects Version/s: 1.16.1

> Fixed deposit accounts are numbered with the client account number format 
> instead of the savings one
> ----------------------------------------------------------------------------------------------------
>
>                 Key: FINERACT-3018
>                 URL: https://issues.apache.org/jira/browse/FINERACT-3018
>             Project: Apache Fineract
>          Issue Type: Bug
>          Components: Savings
>    Affects Versions: 1.15.0, 1.16.1
>            Reporter: 김다연
>            Priority: Minor
>
> When a fixed deposit application is submitted, 
> {{DepositApplicationProcessWritePlatformServiceJpaRepositoryImpl#submitFDApplication}}
>  looks up the account number format with {{EntityAccountType.CLIENT}}. Every 
> other deposit path uses {{EntityAccountType.SAVINGS}}: 
> {{submitRDApplication}}, savings submission 
> ({{SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl}}), and the 
> account created when an FD/RD is reinvested on maturity 
> ({{DepositAccountDomainServiceJpa#autoGenerateAccountNumber}}). The number 
> itself is built by {{AccountNumberGenerator#generate(SavingsAccount, ...)}}, 
> so a client format is applied to a savings account.
> *Steps to reproduce* (develop 70a374c255, PostgreSQL)
> 1. Create a client account number format with an office name prefix, and a 
> savings one with a savings product short name prefix:
> {code}
> POST /fineract-provider/api/v1/accountnumberformats
> { "accountType": 1, "prefixType": 1 }
> POST /fineract-provider/api/v1/accountnumberformats
> { "accountType": 3, "prefixType": 301 }
> {code}
> 2. For one client in Head Office, submit a savings account, a fixed deposit 
> and a recurring deposit application, then read their {{accountNo}}.
> Actual result:
> ||Account||id||accountNo||Format used||
> |client|1|Head Offic000000001|client|
> |savings|1|J46X000000001|savings|
> |fixed deposit|2|Head Offic000000002|*client*|
> |recurring deposit|3|23EB000000003|savings|
> Expected result: the fixed deposit is numbered with the savings format, like 
> the recurring deposit: its product short name followed by 000000002.
> 3. Change the client format to the client type prefix ({{PUT 
> /accountnumberformats/1}} with {{"prefixType": 101}}) and submit another 
> fixed deposit.
> Actual result: {{000000004}}, with no prefix and no error. 
> {{generate(SavingsAccount, ...)}} does not put a client type into its 
> property map, so the prefix is dropped. A savings account submitted at the 
> same time gets {{J46X000000005}}.
> *Impact*
> * The savings format, which the account number preferences screen and the 
> user manual describe as the one for savings accounts, is ignored for fixed 
> deposits but applied to recurring deposits. A fixed deposit also changes 
> format when it is reinvested on maturity.
> * With an office name or custom prefix on the client format, a fixed deposit 
> number looks like a client number. Clients and savings accounts have separate 
> id sequences, so fixed deposit id N gets the same string as client id N.
> *History*
> The lookup came in with MIFOSX-1511 (commit 637f062ce3, 2014). Before it, 
> fixed and recurring deposits both used the savings account number generator; 
> that commit moved recurring deposits to {{SAVINGS}} and fixed deposits to 
> {{CLIENT}}. It was reported as MIFOSX-2410, which was moved to 
> [openMF/community-app#1721|https://github.com/openMF/community-app/issues/1721]
>  (still open), and in MIFOSX-2650, but the backend was never changed.
> *Suggested fix*
> Use {{EntityAccountType.SAVINGS}} in {{submitFDApplication}}, and add fixed 
> and recurring deposit cases to {{AccountNumberPreferencesTest}}, which today 
> covers clients, loans, savings, groups and centers. Existing account numbers 
> are not changed; fixed deposits submitted after the fix follow the savings 
> format, which is worth a line in the release notes. Numbers stay unique: they 
> are built from the savings account id, and the random account number conflict 
> check already looks at the savings table.
> One side effect: an installation that relies on fixed deposits picking up the 
> client format (for example a client format with a prefix and no savings 
> format) will see new fixed deposits numbered like other savings accounts, and 
> it can no longer give fixed deposits a prefix different from regular savings. 
> A separate account type for deposits, as asked in MIFOSX-2650, would cover 
> that, but it is a new feature and not part of this fix.
> I'd like to work on this and will open a PR.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to