Skip to content
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

FINERACT-1806: Charge-off Expense Accounting entries based on charge-off reason instead of fraud flag #4144

Draft
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

kulminsky
Copy link
Contributor

Charge-off Expense Accounting entries based on charge-off reason instead of fraud flag

  1. New Advance Accounting rule to be added to map charge-off reason code with accounting mapping
  2. User should be able to map reasons to any expense GL (General Ledger) account
  • dropdown
  • Can be configure multiple rules, but no duplication (cannot configured twice the same reason code)
  1. When advance accounting is mapped- the default mapping for fraud flag will be overridden

Description

Describe the changes made and why they were made.

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!

  • Write the commit message as per https://github.com/apache/fineract/#pull-requests

  • Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.

  • Create/update unit or integration tests for verifying the changes made.

  • Follow coding conventions at https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions.

  • Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes

  • Submission is not a "code dump". (Large changes can be made "in repository" via a branch. Ask on the developer mailing list for guidance, if required.)

FYI our guidelines for code reviews are at https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide.

@kulminsky kulminsky force-pushed the FINERACT-1806/Charge-off-Expense-Accounting-entries-based-on-charge-off-reason-instead-of-fraud-flag branch from ad84a5b to 8ecfc1f Compare November 6, 2024 13:35
@@ -30,7 +30,9 @@ public enum AccountingRuleType {
NONE(1, "accountingRuleType.none", "No accounting"), //
CASH_BASED(2, "accountingRuleType.cash", "Cash based accounting"), //
ACCRUAL_PERIODIC(3, "accountingRuleType.accrual.periodic", "Periodic accrual accounting"), //
ACCRUAL_UPFRONT(4, "accountingRuleType.accrual.upfront", "Upfront accrual accounting"); //
ACCRUAL_UPFRONT(4, "accountingRuleType.accrual.upfront", "Upfront accrual accounting"), //
CHARGE_OFF_FRAUD(5, "accountingRuleType.chargeOffFraud", "Charge-off accounting for fraud"), CHARGE_OFF_DELINQUENT(6,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Charge-off is not a separate accounting rule type. Please undo this.

@@ -209,6 +209,16 @@ public void createLoanProductToGLAccountMapping(final Long loanProductId, final
this.loanProductToGLAccountMappingHelper.savePaymentChannelToFundSourceMappings(command, element, loanProductId, null);
this.loanProductToGLAccountMappingHelper.saveChargesToIncomeAccountMappings(command, element, loanProductId, null);
break;
case CHARGE_OFF_FRAUD:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We dont need this.... we should save all the configured mapping, but we dont need to differentiate them yet

private static final int FINANCIAL_ACCOUNT_TYPE_EXPENSE = GLAccountType.EXPENSE.getValue();
private static final String CHARGE_OFF_FRAUD_EXPENSE = LoanProductAccountingParams.CHARGE_OFF_FRAUD_EXPENSE.getValue();

@BeforeEach
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont see any added value of having classes that are fully mocked out... I would rather see integration test that is testing whether incoming request got saved properly, and we can fetch created mappings. It can be updated, etc.

@kulminsky kulminsky force-pushed the FINERACT-1806/Charge-off-Expense-Accounting-entries-based-on-charge-off-reason-instead-of-fraud-flag branch from 8ecfc1f to c392b6b Compare November 7, 2024 12:39
@kulminsky kulminsky marked this pull request as draft November 7, 2024 12:40
@@ -388,4 +388,15 @@ private GLAccountType getGLAccountType(final JsonElement element, final String p
return gLAccountType;
}

public void mapChargeOffReasonToExpenseAccount(JsonElement element, Long loanProductId, String expenseAccountParam) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess we dont need this anymore

@@ -208,6 +208,7 @@ public void createLoanProductToGLAccountMapping(final Long loanProductId, final
// advanced accounting mappings
this.loanProductToGLAccountMappingHelper.savePaymentChannelToFundSourceMappings(command, element, loanProductId, null);
this.loanProductToGLAccountMappingHelper.saveChargesToIncomeAccountMappings(command, element, loanProductId, null);
this.loanProductToGLAccountMappingHelper.saveChargeOffReasonToExpenseAccountMappings(command, element, loanProductId, null);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dont forget to add to CASH_BASED accounting as well

@kulminsky kulminsky force-pushed the FINERACT-1806/Charge-off-Expense-Accounting-entries-based-on-charge-off-reason-instead-of-fraud-flag branch 2 times, most recently from 20f03cf to e4f92fd Compare November 11, 2024 07:38
@kulminsky kulminsky force-pushed the FINERACT-1806/Charge-off-Expense-Accounting-entries-based-on-charge-off-reason-instead-of-fraud-flag branch from e4f92fd to 8712a40 Compare November 12, 2024 06:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants