-
Notifications
You must be signed in to change notification settings - Fork 2.2k
FINERACT-2312: Adjustment to savings account products by adding a new accounting account interest receivables account. #4876
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
e2bdec1 to
833b5e5
Compare
|
@adamsaghy Hi, can you help me to Review |
fineract-core/src/main/java/org/apache/fineract/accounting/common/AccountingConstants.java
Show resolved
Hide resolved
|
@04Gomez Please drop this generic "Savings Accounts Improvements" and start using clear, descriptive short description for the PRs which tells exactly what this intended to do! |
|
@adamsaghy Just to clarify, this PR is indeed related to the overall "Savings Accounts Improvements" initiative. The team decided to split the changes into multiple PRs to improve clarity and facilitate the review process, while keeping a consistent title to reflect that they all belong to the same scope. |
The Fineract story id just fine to connect them. The PR title should tell exactly what it is doing and "improvements" is too generic and useless. Kindly asking you to rename it! |
1647841 to
a342e5b
Compare
|
@adamsaghy |
|
Hi, @adamsaghy , can you review this PR? please |
|
@04Gomez All PR should involve proper testing attached! |
f2a4b88 to
aef6128
Compare
|
Hi, @adamsaghy, good day, you can review the PR? Please. |
The requested test has already been added for your review, thank you. |
| private static final Set<String> SAVINGS_PRODUCT_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList( | ||
| SavingsApiConstants.localeParamName, SavingsApiConstants.monthDayFormatParamName, nameParamName, shortNameParamName, | ||
| descriptionParamName, currencyCodeParamName, digitsAfterDecimalParamName, inMultiplesOfParamName, | ||
| interestReceivableAccount, descriptionParamName, currencyCodeParamName, digitsAfterDecimalParamName, inMultiplesOfParamName, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please dont insert randomly the new gl account. Move this account to the place where the accounts are listed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done, the modified is already.
We detected the double use of the variable, the excess was eliminated and only the necessary one was used.
Tank you
...rc/test/java/org/apache/fineract/integrationtests/SavingsProductCreationIntegrationTest.java
Show resolved
Hide resolved
adamsaghy
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please kindly check my comments!
b755b20 to
126500f
Compare
|
Hi @adamsaghy, can you help me to Review, please |
|
Can you review, please, @adamsaghy |
|
Hi @adamsaghy , can you help me to Review, please |
| responseSpec, savingsProductID); | ||
| Assertions.assertNotNull(savingsProductsResponse); | ||
| Assertions.assertNotNull(savingsProductsResponse.getAccountingMappings()); | ||
| Assertions.assertNotNull(savingsProductsResponse.getAccountingMappings().getInterestReceivableAccount()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Checking whether mapping is null or not is not enough!
Please make sure you are providing a particular GL account to the interest receivable mapping and check whether that particular GL account was set!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @adamsaghy , I'll be following up on the PR.
In addition to this point, this PR is only for creating the Product with the interest receivables accounting account. Can we add this test you mentioned to this PR #4885 ?
We already use the accounting account in this PR. It should be noted that the PR is related to the changes in ticket FINERACT-2312
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, this must be tested as part of this PR hence the mapping got implemented here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay I understand
| return SavingsProductHelper.createSavingsProduct(savingsProductJSON, requestSpec, responseSpec); | ||
| } | ||
|
|
||
| public static Integer createSavingsProductWithAccrualAccountingWithOutOverdraftAllowed(final String minOpenningBalance, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Testing whether interest receivable mapping can be updated or removed from the loan product is missing!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
adamsaghy
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please review my comments!
6faf069 to
accf63c
Compare
|
Hi @adamsaghy Can you review the changes, pls? thank you |
|
Hi @adamsaghy, I hope you're well. excuse me, do you have any comments on the PR? |
| final int placeHolderTypeId, final GLAccountType expectedAccountType, final PortfolioProductType portfolioProductType) { | ||
| final Long accountId = this.fromApiJsonHelper.extractLongNamed(paramName, element); | ||
| if (accountId != null) { // optional entries may be null | ||
| if (accountId != null && accountId > 0) { // optional entries may be null |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove this nonsense accountId > 0....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
| } | ||
| } else { | ||
| if (accountMapping.getGlAccount() != null && !Objects.equals(accountMapping.getGlAccount().getId(), accountId)) { | ||
| if (accountMapping.getGlAccount() != null && accountId > 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove this nonsense accountId > 0....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
| changes.put(paramName, accountId); | ||
| accountMapping.setGlAccount(glAccount); | ||
| this.accountMappingRepository.saveAndFlush(accountMapping); | ||
| } else if (accountId == 0) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this.fromApiJsonHelper.extractLongNamed(paramName, element) never returns 0... it return null if value was not provided...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
| Assertions.assertNotNull(savingsProductsResponse.getAccountingMappings()); | ||
| Assertions.assertNotNull(savingsProductsResponse.getAccountingMappings().getInterestReceivableAccount()); | ||
|
|
||
| Assertions.assertEquals(assetAccount.getAccountID(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NO!
I want you to provide a particular GL account which is ONLY set to interest receivable mapping and I want you to make sure that particular GL account id was set and returned! I dont want you to use this logic which sets the very same GL account to multiple GL mappings!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the review. I've already assigned a unique account for interest receivable and generated the validations with that account.
| } | ||
|
|
||
| @Test | ||
| public void testSavingsProductWithOverdraftUpdate_AllowsOverdraft() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have made correction
| @Test | ||
| public void testSavingsProductWithOverdraftDelete_AllowsOverdraft() { | ||
| // --- ARRANGE --- | ||
| final Account assetAccount = this.accountHelper.createAssetAccount(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have made correction
| if (Boolean.parseBoolean(this.allowOverdraft)) { | ||
| map.put("interestReceivableAccountId", ID); | ||
| } else { | ||
| map.put("interestReceivableAccountId", "0"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is invalid and BACKEND should NEVER accept 0 value for any Id!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
adamsaghy
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please review my comments!
8aa19c3 to
67654fc
Compare
|
Hi @adamsaghy, I've already made the changes. thank you. |
|
Hi @adamsaghy, hoping you're well. Sorry, do you have any comments on the PR? I've already highlighted the previous comments. |
| this.accountMappingRepository.saveAndFlush(accountMapping); | ||
| } | ||
| } | ||
| } else { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is this? I dont think we need this!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, i removed this
| } else { | ||
| final ProductToGLAccountMapping accountMapping = this.accountMappingRepository.findCoreProductToFinAccountMapping(productId, | ||
| portfolioProductType.getValue(), accountTypeId); | ||
| if (portfolioProductType.isSavingProduct()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For backward compatibility, i dont think we should allow to delete any mappings. There could be existing savings account which rely on these mappings. We can update, but not delete...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I understand, thanks for the feedback.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🎉
3742cba to
4cee03f
Compare
… accounting account interest receivables account.
23eb4c3 to
ffe6983
Compare
This quality of life patch reduces static weaving log message priority,
reducing the default gradle build output by about 60 lines.
example gradle run with these messages:
> Configure project :custom
ℹ Skipping static weaving configuration for non-Java project: custom
> Configure project :fineract-accounting
Configuring EclipseLink static weaving for fineract-accounting
> Configure project :fineract-branch
Configuring EclipseLink static weaving for fineract-branch
...
* update release notice years in NOTICE_RELEASE and NOTICE_SOURCE
* step 5
* simplify mention of tests: "Ensure all tests pass for this commit both in CI and locally"
* recommend GPG signing annotated release tag
* step 8: improve svn commands
* This way is simpler and more efficient, especially with a bunch of release candidate dirs in the staging area.
* step 10: mention need to test rc before +1 vote -- See:
* https://www.apache.org/legal/release-policy.html#release-approval
* https://www.apache.org/legal/release-policy.html#approving-a-release
* step 12: only PMC members can upload releases
* step 13: simplify & explain "finalize branch" instructions
* Document what worked for me for 1.12.1.
* I didn't need to create the extra `merge-$VERSION` branch and do the recursive merge.
* document how asciidoctor upgrade is blocked
* see "official docs - deps stuck" thread on fineract dev mailing list
* https://lists.apache.org/thread/7mmsj13spb11vgz0z38fhwgzwtq03brr
* can't upgrade to 4.x because of one of these:
* asciidoctor/asciidoctorj-pdf#25
* jruby/jruby#5573
* asciidoctor/asciidoctorj-pdf#16
* improve asciidoc config - opt for simplicity where the complexity adds nothing
* compat-mode is off by default, no need for it here
* default optimization should be fine
* media should have been screen | print | prepress, just leave it as default instead
* page size? I really don't think this is going to be printed much, just go with default
* PDF version 1.8 is invalid, just use the default unless we someday have a good reason to pin this
* reduce copyright years sources of truth
* see also: https://docs.asciidoctor.org/pdf-converter/latest/asciidoc-attributes/
* remove unnecessary asciidoctorj 3.0.0 version string -- no need to pin this
* remove prompt character from Bash shell examples
* it isn't properly syntax-highlighted and it looks confusing with line numbers (which we might want to add)
* it isn't necessary
* the prompt character ("%" in this case) is not typically included in shell code examples because it makes it harder to copy and paste shell code examples
* $ is likely more common than % (at least on Debian/Ubuntu), but either way I'd say exclude it
* fix source code syntax labels - use "bash" only when it is actually Bash shell code
* persistence.adoc
* fix broken enumerated list
* resolves these warnings seen with, e.g.: `gradle --info doc`
* `Jul 27, 2025 8:26:48 PM uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/parser.rb parse_list_item`
* `WARNING: chapters/architecture/persistence.adoc: line 104: list item index: expected 1, got 2`
* `Jul 27, 2025 8:26:48 PM uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/parser.rb parse_list`
* `WARNING: chapters/architecture/persistence.adoc: line 110: list item index: expected 1, got 3`
* fix wrapping (we use hardbreaks)
* fix typo: `s/plane text/plain text/`
* switch to rouge syntax highlighter - it handles more source languages
* fix broken long shell code lines
* fix .avro file syntax highlighting (it's JSON)
* configuration-gpg.adoc
* fix accidental block continuation
* One little plus sign was making `= Email` appear verbatim in rendered output because it was interpreted as a list continuation.
* See https://docs.asciidoctor.org/asciidoc/latest/lists/continuation/#list-continuation
* recommend more secure keys
* add a line continuation for an enumerated list
* architecture-overview.puml: remove this unused (likely a "Hello World") diagram
* release-schedule.puml: fix pluralization of days
* purely aesthetic: doesn't affect chart rendering
* fix src/bin/binary tarball name typos
* missed a few in e090da2
* fix release branch name
* must match `release/{revnumber}`, per gitVersioning stanza in top level build.gradle
* harden.adoc: fix broken link to CISA
* fineract-doc/build.gradle
* ensure HTML task has diagrams and images availble
FINERACT-2317: Add documentation for approved amount modification endpoints
Bump actions/cache from 4.2.3 to 4.2.4
Bumps [actions/cache](https://github.com/actions/cache) from 4.2.3 to 4.2.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@5a3ec84...0400d5f)
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: 4.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
FINERACT-2314: IP tracking (apache#4825)
Co-authored-by: Juan Pablo Alvarez Hernandez <work_jpa@hotmailcom>
FINERACT-2340: remove nonexistant project "fineract-api" (apache#4924)
FINERACT-2326: The journal entries should be ordered in explicit order
FINERACT-2338: Allow backdated interest change on progressive loans - documentation
FINERACT-2326: Improve null-safety
FINERACT-2338: Allow backdated interest change on progressive loans
- charge-off handling
- write-off handling
- closed loans
- external owner changes
FINERACT-2326: Tax component and group issue serialization
FINERACT-2326: Charges with Tax group Id ignored
FINERACT-2323: support the multiple legs for journal entries
FINERACT-2326: [DOC] Interest rate change documentation
FINERACT-2324: Remove getLoanTransactions from accounting
FINERACT-2326: Fix swagger generation
FINERACT-2343: Fix update currency api validation
FINERACT-2343: added e2e tests for business date and currency validation
FINERACT-2326: Improve command query param regexp to allow hyphens
FINERACT-2326: Fix swagger generation
FINERACT-2326: Fix swagger generation
Bump actions/checkout from 4.2.2 to 5.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 5.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@11bd719...08c6903)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 5.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
FINERACT-2326: Extract out external dependencies from Client and Group entity
FINERACT-2330: Buy-Down fees Accounting for non merchant product
FINERACT-2326: Missing user permission for Capitalized Income and Buydown fee
FINERACT-2181: Update dependency node to v22
FINERACT-2181: Update dependency com.puppycrawl.tools:checkstyle to v11
FINERACT-2326: Fix UserLoanPermissionTest
FINERACT-2326: Use Hibernate Validator
FINERACT-2232: DeferredIncomeApi as CapitalizedIncomeApi
FINERACT-2326: Introduce FineractProgressiveLoanBeanConfiguration to allow conditionally register beans in `fineract-progressive-loan` module
FINERACT-2326: Rework business date validation and dto handling
FINERACT-2233: Rework journal entry handling logic in Loan module
FINERACT-2279: Add contract termination documentation
FINERACT-1981: Reschedule loan with interest rate change from zero breaks repayment schedule and loan status to OVERPAID
FINERACT-1981: Reschedule loan with interest rate change from zero breaks repayment schedule and loan status to OVERPAID - E2E tests
FINERACT-2312: Adjustment to savings account products by adding a new accounting account interest receivables account. (apache#4876)
FINERACT-2312: Accruals added for savings accounts (apache#4885)
cambios para reverse
test
… accounting account interest receivables account. (apache#4876)
… accounting account interest receivables account. (apache#4876)
author Aman-Mittal <aman.mittal3052000@gmail.com> 1755282444 +0530 committer Aman-Mittal <aman.mittal3052000@gmail.com> 1756043679 +0530 parent 0f53f77 author Aman-Mittal <aman.mittal3052000@gmail.com> 1755282444 +0530 committer Aman-Mittal <aman.mittal3052000@gmail.com> 1756043674 +0530 parent 0f53f77 author Aman-Mittal <aman.mittal3052000@gmail.com> 1755282444 +0530 committer Aman-Mittal <aman.mittal3052000@gmail.com> 1756043668 +0530 parent 0f53f77 author Aman-Mittal <aman.mittal3052000@gmail.com> 1755282444 +0530 committer Aman-Mittal <aman.mittal3052000@gmail.com> 1756043655 +0530 parent 0f53f77 author Aman-Mittal <aman.mittal3052000@gmail.com> 1755282444 +0530 committer Aman-Mittal <aman.mittal3052000@gmail.com> 1756043650 +0530 parent 0f53f77 author Aman-Mittal <aman.mittal3052000@gmail.com> 1755282444 +0530 committer Aman-Mittal <aman.mittal3052000@gmail.com> 1756043640 +0530 parent 0f53f77 author Aman-Mittal <aman.mittal3052000@gmail.com> 1755282444 +0530 committer Aman-Mittal <aman.mittal3052000@gmail.com> 1756043234 +0530 # This is a combination of 30 commits. # This is the 1st commit message: minor sonarqube fixes apply java sptless changes spotless apply Bump actions/checkout from 4.2.2 to 5.0.0 Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 5.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@11bd719...08c6903) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> FINERACT-2326: Extract out external dependencies from Client and Group entity FINERACT-2330: Buy-Down fees Accounting for non merchant product FINERACT-2326: Missing user permission for Capitalized Income and Buydown fee # This is the commit message #2: FINERACT-2181: Update dependency node to v22 # This is the commit message #3: FINERACT-2181: Update dependency com.puppycrawl.tools:checkstyle to v11 # This is the commit message #4: FINERACT-2326: Fix UserLoanPermissionTest # This is the commit message apache#5: FINERACT-2326: Use Hibernate Validator # This is the commit message apache#6: FINERACT-2232: DeferredIncomeApi as CapitalizedIncomeApi # This is the commit message apache#7: FINERACT-2326: Introduce FineractProgressiveLoanBeanConfiguration to allow conditionally register beans in `fineract-progressive-loan` module # This is the commit message apache#8: FINERACT-2326: Rework business date validation and dto handling # This is the commit message apache#9: FINERACT-2233: Rework journal entry handling logic in Loan module # This is the commit message apache#10: FINERACT-2279: Add contract termination documentation # This is the commit message apache#11: FINERACT-1981: Reschedule loan with interest rate change from zero breaks repayment schedule and loan status to OVERPAID # This is the commit message apache#12: FINERACT-1981: Reschedule loan with interest rate change from zero breaks repayment schedule and loan status to OVERPAID - E2E tests Implemented Sonar Fixes # This is the commit message apache#13: FINERACT-2312: Adjustment to savings account products by adding a new accounting account interest receivables account. (apache#4876) # This is the commit message apache#14: FINERACT-2312: Accruals added for savings accounts (apache#4885) # This is the commit message apache#15: added e2e tests for validation of progressive Loan schedule handling - Reschedule installment (Extend repayment period) # This is the commit message apache#16: FINERACT-1981: Progressive Loan schedule handling - Reschedule installment (Extend repayment period) # This is the commit message apache#17: FINERACT-2330: Buy-Down fees adjustment Acct for non merchant product # This is the commit message apache#18: FINERACT-2330: added e2e tests for buy down fee for non-merchant # This is the commit message apache#19: FINERACT-2327: when Interest Refund was created manually, we should only return the newly created Interest Refund transaction identifiers in the result. # This is the commit message apache#20: FINERACT-2317: Fix updating the available disbursed amount to zero after loan approval # This is the commit message apache#21: FINERACT-2317: added e2e tests for update available disb amount validation with zero value # This is the commit message apache#22: FINERACT-2326: Backdated loan charge-off accrual fix # This is the commit message apache#23: FINERACT-1926: Add previous owner to ExternalAssetOwnerTransfer # This is the commit message apache#24: FINERACT-1926: added e2e tests for asset owner event changes with previous owner # This is the commit message apache#25: Bump actions/setup-java from 4.7.1 to 5.0.0 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.7.1 to 5.0.0. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](actions/setup-java@c5195ef...dded088) --- updated-dependencies: - dependency-name: actions/setup-java dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> # This is the commit message apache#26: FINERACT-2337 Fix docker publish for tags # This is the commit message apache#27: FINERACT-2349: final 1.12.1 release doc updates Tidy up docs post-1.12.1 release, alongside updates to https://cwiki.apache.org/confluence/display/FINERACT/ # This is the commit message apache#28: FINERACT-2326: Deregister static mocks # This is the commit message apache#29: Bump actions/checkout from 4.2.2 to 5.0.0 Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 5.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@11bd719...08c6903) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> # This is the commit message apache#30: FINERACT-2326: Extract out external dependencies from Client and Group entity FINERACT-2326: Missing user permission for Capitalized Income and Buydown fee FINERACT-2181: Update dependency node to v22 FINERACT-2181: Update dependency com.puppycrawl.tools:checkstyle to v11 FINERACT-2326: Fix UserLoanPermissionTest FINERACT-2232: DeferredIncomeApi as CapitalizedIncomeApi FINERACT-2326: Introduce FineractProgressiveLoanBeanConfiguration to allow conditionally register beans in `fineract-progressive-loan` module FINERACT-2326: Rework business date validation and dto handling FINERACT-2279: Add contract termination documentation FINERACT-1981: Reschedule loan with interest rate change from zero breaks repayment schedule and loan status to OVERPAID - E2E tests FINERACT-2312: Accruals added for savings accounts (apache#4885) FINERACT-1981: Progressive Loan schedule handling - Reschedule installment (Extend repayment period) FINERACT-2330: Buy-Down fees adjustment Acct for non merchant product FINERACT-2330: added e2e tests for buy down fee for non-merchant FINERACT-2327: when Interest Refund was created manually, we should only return the newly created Interest Refund transaction identifiers in the result. FINERACT-2317: added e2e tests for update available disb amount validation with zero value FINERACT-2326: Backdated loan charge-off accrual fix FINERACT-1926: Add previous owner to ExternalAssetOwnerTransfer FINERACT-1926: added e2e tests for asset owner event changes with previous owner Bump actions/setup-java from 4.7.1 to 5.0.0 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.7.1 to 5.0.0. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](actions/setup-java@c5195ef...dded088) --- updated-dependencies: - dependency-name: actions/setup-java dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> FINERACT-2337 Fix docker publish for tags FINERACT-2349: final 1.12.1 release doc updates Tidy up docs post-1.12.1 release, alongside updates to https://cwiki.apache.org/confluence/display/FINERACT/ FINERACT-2326: Deregister static mocks
* Bump actions/checkout from 4.2.2 to 5.0.0 Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 5.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@11bd719...08c6903) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * FINERACT-2326: Extract out external dependencies from Client and Group entity * FINERACT-2330: Buy-Down fees Accounting for non merchant product * FINERACT-2326: Missing user permission for Capitalized Income and Buydown fee * FINERACT-2181: Update dependency node to v22 * FINERACT-2181: Update dependency com.puppycrawl.tools:checkstyle to v11 * FINERACT-2326: Fix UserLoanPermissionTest * FINERACT-2326: Use Hibernate Validator * FINERACT-2232: DeferredIncomeApi as CapitalizedIncomeApi * FINERACT-2326: Introduce FineractProgressiveLoanBeanConfiguration to allow conditionally register beans in `fineract-progressive-loan` module * FINERACT-2326: Rework business date validation and dto handling * FINERACT-2233: Rework journal entry handling logic in Loan module * FINERACT-2279: Add contract termination documentation * FINERACT-1981: Reschedule loan with interest rate change from zero breaks repayment schedule and loan status to OVERPAID * FINERACT-1981: Reschedule loan with interest rate change from zero breaks repayment schedule and loan status to OVERPAID - E2E tests * FINERACT-2312: Adjustment to savings account products by adding a new accounting account interest receivables account. (apache#4876) * FINERACT-2312: Accruals added for savings accounts (apache#4885) * added e2e tests for validation of progressive Loan schedule handling - Reschedule installment (Extend repayment period) * FINERACT-1981: Progressive Loan schedule handling - Reschedule installment (Extend repayment period) * FINERACT-2330: Buy-Down fees adjustment Acct for non merchant product * FINERACT-2330: added e2e tests for buy down fee for non-merchant * FINERACT-2327: when Interest Refund was created manually, we should only return the newly created Interest Refund transaction identifiers in the result. * FINERACT-2317: Fix updating the available disbursed amount to zero after loan approval * FINERACT-2317: added e2e tests for update available disb amount validation with zero value * FINERACT-2326: Backdated loan charge-off accrual fix * FINERACT-1926: Add previous owner to ExternalAssetOwnerTransfer * FINERACT-1926: added e2e tests for asset owner event changes with previous owner * Bump actions/setup-java from 4.7.1 to 5.0.0 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.7.1 to 5.0.0. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](actions/setup-java@c5195ef...dded088) --- updated-dependencies: - dependency-name: actions/setup-java dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * FINERACT-2337 Fix docker publish for tags * FINERACT-2349: final 1.12.1 release doc updates Tidy up docs post-1.12.1 release, alongside updates to https://cwiki.apache.org/confluence/display/FINERACT/ * FINERACT-2326: Deregister static mocks --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jose Alberto Hernandez <alberto@black-box.local> Co-authored-by: Soma Sörös <soma.soros@dpc.hu> Co-authored-by: Mend Renovate <bot@renovateapp.com> Co-authored-by: mariiaKraievska <riaskay3@gmail.com> Co-authored-by: Adam Saghy <adamsaghy@gmail.com> Co-authored-by: Oleksii Novikov <alexey.novikov@onix-systems.com> Co-authored-by: Peter Kovacs <peter.kovacs@dpc.hu> Co-authored-by: 04Gomez <232241024@alumnos.utn.edu.mx> Co-authored-by: Christopher Sayhaed Giron Vega <87887001+sayhaed@users.noreply.github.com> Co-authored-by: Rustam Zeinalov <truezeynalov@gmail.com> Co-authored-by: MarianaDmytrivBinariks <mdmytriv@binariks.com> Co-authored-by: Attila Budai <budai.attila.istvan@gmail.com> Co-authored-by: adam.magyari <magyari.adam96@gmail.com> Co-authored-by: Arun K <javamak@gmail.com> Co-authored-by: Adam Monsen <haircut@gmail.com>
… accounting account interest receivables account. (apache#4876)
Description
Adjustment to savings account products by adding a new accounting account interest receivables account.
Ignore if these details are present on the associated Apache Fineract JIRA ticket.
Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!
FYI our guidelines for code reviews are at https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide.