Hello Khamit, This is the jira ticket: https://issues.apache.org/jira/browse/FINERACT-2821
El lun, 7 sept 2026 a las 19:16, Хамит Кадырбеков (< [email protected]>) escribió: > Hello Fineract developers, > > I reproduced the following behavior in the actual > ShareProductDividendAssembler on develop > e4474a0f4a4c65a75e7758e47db1fd277e5fcfef (the source is identical in tag > 1.15.0): > > - 100 approved shares purchased on 2026-01-01; > - product minimum active period: 90 days; > - dividend window: 2026-07-01 through 2026-08-01; > - a single active account, USD 100.00 to distribute. > > The purchase age is 212 days. The assembler first clips the purchase date > to July 1 and then tests 31 days against the 90-day minimum. It returns > null; the production caller maps this to eligible.shares.not.found. > > I interpret the documented minimum active period as eligibility age, in > which case this account should qualify and receive 100.00. Please confirm > whether the intended policy instead counts only days inside each payout > window; that would exclude even longstanding holdings whenever the window > is shorter than the configured minimum. > > I prepared a patch that checks age before clipping the share-day weighting > date. A 12-case native suite covers threshold equality, recent purchases > and equal in-window weights for accounts with different older purchase > dates. The original source fails seven cases under the holding-age > interpretation. Only database read interfaces are mocked; the assembler and > monetary calculations are real. No HTTP/database payout reproduction is > claimed. > > I found FINERACT-148/329 about dividend total rounding and FINERACT-608 > about allocation; this report concerns the eligibility date instead. If the > proposed interpretation is correct, could you create or identify a Jira > issue for the correction? > > The proposed correction passes all 12 native cases. Spotless and > Checkstyle main/test checks pass. > > Attachments: a detailed report with reproduction commands, a source-only > patch, a patch including the native JUnit tests, and JSON test vectors. > > Regards, > Khamit >
