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 >
