You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@fineract.apache.org by "Piotr Wargulak (Jira)" <ji...@apache.org> on 2026/10/05 12:02:00 UTC

[jira] [Created] (FINERACT-2897) Allow subclasses to customise payment allocation in AdvancedPaymentScheduleTransactionProcessor

Piotr Wargulak created FINERACT-2897:
----------------------------------------

             Summary: Allow subclasses to customise payment allocation in AdvancedPaymentScheduleTransactionProcessor
                 Key: FINERACT-2897
                 URL: https://issues.apache.org/jira/browse/FINERACT-2897
             Project: Apache Fineract
          Issue Type: Improvement
            Reporter: Piotr Wargulak


Customising how a payment is distributed across allocation buckets currently means copying AdvancedPaymentScheduleTransactionProcessor whole. An example is limiting how much of an in-advance payment a given charge may absorb.

processPaymentAllocation is private and reached from many places inside the class. Several core classes check instanceof AdvancedPaymentScheduleTransactionProcessor, so a replacement must also extend it. A subclass cannot redirect those calls, so an extension ends up as a full copy that has to be kept in step with every release.

*Proposed change:*
 * Make processPaymentAllocation protected, or extract a protected hook for the per-bucket amount, called where the amount for a bucket is decided.

 * Default behaviour is unchanged.

 * Add a test with a subclass overriding the hook, to show the extension point works and is reached from every call site.



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