Hello Khamit,

Here you have it: https://issues.apache.org/jira/browse/FINERACT-2818

El lun, 7 sept 2026 a las 19:18, Хамит Кадырбеков (<
[email protected]>) escribió:

> Hello Fineract developers,
>
> I reproduced a standard savings posting calendar defect on develop
> e4474a0f4a4c65a75e7758e47db1fd277e5fcfef. SavingsHelper.java is identical
> in tag 1.15.0.
>
> Call SavingsHelper.determineInterestPostingPeriods with
> start=upTo=2025-03-31, QUATERLY, financialYearBeginningMonth=1 and an empty
> manual-posting list. The returned first interval ends 2025-06-30 instead of
> 2025-03-31. Under normal next-day posting, the first posting is therefore
> scheduled for July 1 instead of April 1. BIANNUAL with start=2025-06-30
> similarly skips to December 31.
>
> Both branches compare their boundary with strict isAfter. Accepting
> equality fixes the boundary selection. The final interval intentionally
> extending beyond upTo is not the issue here; the nearest valid boundary is
> skipped only for an equal start date.
>
> The native suite has 435 cases (all fiscal start months, leap/common
> years, boundary neighbors and daily/monthly/annual controls). The original
> source fails precisely the 144 equality cases. The production
> SavingsAccount calls this helper with a calculation start that normally
> falls back to activation date. I have not run an HTTP/database account
> reproduction or measured customer loss.
>
> I prepared a minimal patch, the native JUnit suite, input/output vectors
> and logs. The scoped duplicate search found related anniversary-date issues
> but no exact match. Could you create or point me to the appropriate Jira
> issue for a PR?
>
> The correction passes all 435 new tests and all nine existing anniversary
> tests. 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
>

Reply via email to