Victor Romero created FINERACT-2821:
---------------------------------------

             Summary: Minimum dividend eligibility period is reset to the 
payout window
                 Key: FINERACT-2821
                 URL: https://issues.apache.org/jira/browse/FINERACT-2821
             Project: Apache Fineract
          Issue Type: Bug
            Reporter: Victor Romero


Reported by Khamit

Minimum dividend eligibility period is reset to the payout window

 

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



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

Reply via email to