Hi Felix,
My POV was directed for the whole community . . . and was not a
"counterpoint" to anyone.
Maybe an extension of thought and method? (why the broader Fineract mission
is good for unbanked and a "how to" example.).



On Sun, Aug 31, 2025 at 7:41 AM Felix van Hove <fvanh...@gmx.de.invalid>
wrote:

> Paul, I've thought a long time on your email. I think I find it
> difficult to answer, because - to a certain extend - I agree with you
> and James. It might be good to position Fineract broadly like this.
>
> But a discussion on a roadmap, with all parties involved, is of
> importance. To ask on the mailing list "Who is willing to fix a buggy
> feature X? Who will support it in the future?" and decommission it
> afterwards, because no one showed up, - appears too simple to me.
>
> Though I think I had more confidence in this happening, if I saw *any*
> new feature being proposed during my time, serving the same people that
> the Collection Sheet serves.
>
> Felix
>
>
>
> On 30/08/2025 22:49, Paul wrote:
> > Great feedback, Felix, Zayyad.
> > I would like to share a perspective from history and why the big picture
> > approach and broader mission is so important.
> >
> > There was a phrase in use when I was a baby. "Separate, but Equal." This
> > was a phrase used to justify keeping US school systems segregated by
> race.
> > "Separate but Equal" was a lie. The systems were never equal in funding,
> > quality or anything else.
> > Finance and access is the same.
> >
> > *What does that have to do with Fineract?*
> > Mission solely dedicated to the unbanked shrinks the number of people
> > willing to join the community.
> > Others may be sympathetic, but won't directly participate by
> contributing.
> > I happen to be interested in the unbanked and personally support that
> > mission.
> >
> > HOWEVER, my main interest in Fineract is to support a commercial
> enterprise
> > Open Source core banking system. A core banking system which integrates
> > embedds services anywhere, not just microfinance and money transfers.
> >
> > When the Fineract mission was focused on the unbanked, it was seriously
> > under participated IMO. With its slight change in mission which is still
> > inclusive of the underbanked, participation is increasing and releases
> are
> > beginning to become more regular. The unbanked needs to be supported
> with a
> > system capable of full integration with the rest of the world, not a
> > "separate but equal system".
> >
> > I hope my history story makes sense to at least support my POV.
> >
> > *How Fineract works for the unbanked with its current mission
> statement.  *
> >
> > MIFOS is solely dedicated to the underserved and has the frontend to do
> so.
> > In my opinion, if collection sheets are still used in working with
> > unbanked, then MIFOS community should adopt and help maintain them them
> as
> > a current, modern, secure function so that the MIFOS frontend works with
> > the Fineract backend. MIFOS like all other users of Fineract get the
> > benefit of a stronger core banking system and vendors with dedicated
> > purpose work together to maintain their particular core channels within
> > Fineract.
> >
> > The image is a generalization to convey the concept. (It may not be
> precise
> > as to the vendors and players, but should reinforce my POV.)
> > So, you, your interest or company wants a function or to maintain an
> > existing function? GREAT!
> > Step up! Own that solution within Fineract.
> > [image: image.png]
> > I speak solely for myself and my POV, but this approach will generate 10X
> > deeper support than segregated methods.
> >
> > In the past, there was insufficient community, but I think there was also
> > "community orchestration" missing to a degree.
> >
> > *Fail Model:*
> > Hoping it all gets done and telling the community at large "do something"
> > doesn't work.
> >
> > *Success Model: *
> > When a platform is useful across a whole ecosystem, then it can be
> jointly
> > maintained with nominal management. People are willing to help. Just like
> > musicians want to play music, they want to work together. In RARE
> > circumstances, the community is so SINGLE minded, the build, like JAZZ,
> > happens spontaneously and all agree, its really cool.
> >
> > *However, the bulk of the world needs direction and orchestration* to
> "make
> > music" of product delivery. Because of those many different interests,
> > Fineract needs process to harmonize and create results.
> >
> > In the end, there also must be a binary decision, "yes or no" to support
> an
> > issue. It comes down to; " will a community member support a function
> > important to their channel?"
> >
> > I'm not a developer, my useful skills are domain knowledge and
> > instructional orchestration (process). So I challenge all community
> members
> > to find a channel required to fulfill your channel or interest and
> > volunteer to "own it" through a date certain. Better yet, form a small
> team
> > of like minds and assure that function is ALWAYS current and secure.
> >
> > This is a challenge to all community members and targeting no one.
> >
> > Paul
> >
> > On Sat, Aug 30, 2025 at 3:34 PM James Dailey <jdai...@apache.org> wrote:
> >
> >> Zayyad, Felix and others -
> >>
> >> Indeed.  And all of this was laid out for many years as the strategy.
> >>
> >> When I was on the Board of Mifos (the non profit, not the project) we
> >> decided to contribute the MifosX code to the ASF to ensure both:
> >>    a) a broader financial services industry approach, and
> >>    b) a more established foundational home for the core of the project.
> >>
> >> There were other reasons, but those remain primary in my mind.
> >>
> >> The concept was that Mifos org, which is a Vendor in the ASF parlance,
> >> would continue its Financial Inclusion mission and make sure that the
> >> releases that were coming out of the project would retain the flavor and
> >> intent of the original mifos project (which I started and designed in
> >> 2001).  The Mifos AdminUI /CommunityApp open source front end UI gave
> it a
> >> place in the ecosystem and a way to ensure that alignment.
> >>
> >> But, importantly, when we made this decision, we deliberately wanted to
> >> see more financial institutions and fintechs use the backend system, AND
> >> vitally, to help maintain it, with contributions upstream.  That is the
> >> sign of a healthy open source project.
> >>
> >> I don't speak for Mifos, but I believe that the vision at Mifos remains
> >> about financial inclusion.   But the vision of Fineract and the mission
> of
> >> the project is different.  We actually VOTED on this revised statement
> as a
> >> community, I think five years ago.
> >>
> >> So, if you are seeing a difference between Mifos and Fineract, then we
> >> have succeeded in an important goal.  The two are NOT THE SAME.  This is
> >> NOT mifos.
> >>
> >> This has been called out in many many Reports to the ASF Board.  See the
> >> wiki pages for those.  The key theme is Vendor neutrality - we do not
> >> privilege any vendor.
> >>
> >> And, I would argue that this is the right healthy direction for this
> >> Fineract project.  Microfinance serves an important role in the world,
> and
> >> continues despite many expecting it to decline or go away.  And, the
> >> mission of the original concept of Mifos was not about Microfinance but
> >> about financial inclusion.  However that happens.
> >>
> >> And, fundamentally, I personally remain focused on this - disrupting the
> >> financial industry with open source software that can functionally be
> the
> >> basis of any bank or fintech globally.  It should lower the cost of
> >> financial inclusion, it should do that via any kind of institution at a
> >> structural level.  Unbanked and underbanked are included.
> >>
> >> So, if you are not seeing what you want here, then you can invest more
> >> time and resources to make it more of what you want, but I would also
> >> suggest that the fundamental thing is to have healthy vendors that move
> the
> >> project forward with lots of "built on top of" functionality that serve
> a
> >> wide range of financial institutions.  If those components are also open
> >> source, that's ok, but it isn't essential.
> >>
> >> ** Deprecation process **
> >> Deprecating features is a natural part of any system evolution - we need
> >> to prune the tree from time to time.  If users are demanding those
> features
> >> then they should speak up - as this thread illustrated - and mechanisms
> >> need to be put in place to "protect them".  Here of course, I am
> referring
> >> to my last email and testing, to start with.
> >>
> >> And, we should do a better job of documenting the product roadmap, and
> >> having clear discussions about deprecating features - Before they are
> >> deprecated.
> >>
> >> That starts with you listing your required feature set and documenting
> it
> >> somewhere perhaps - or relying on the Vendor to speak up for your
> interests
> >> if you don't.
> >>
> >> And, this is a good discussion to have.  Perhaps a community call on
> this
> >> topic would be welcomed in coming weeks.
> >>
> >> James
> >>
> >>
> >>
> >> On Sat, Aug 30, 2025 at 3:13 AM Zayyad A. Said <
> >> zay...@intrasofttechnologies.com> wrote:
> >>
> >>> Hello Fineract community,
> >>>
> >>> I concur with the observations below from Felix.
> >>>
> >>> We have been implementing Mifos since 2011 and we have seen the project
> >>> transitioning from Mifos 2.x to Mifos X and now with the new
> developments.
> >>> The current focus seems to have shifted from the original mission of
> >>> "Creating a world of 3 Billion Maries where each of the 2 billion poor
> and
> >>> unbanked has access to the financial resources needed to create a
> better
> >>> life for themselves and their family."
> >>>
> >>> Group lending has been used for decades and Mifos was originally
> intended
> >>> for and served the model, the new features being introduced are geared
> >>> towards commercial use. We saw this coming and we had to maintain old
> fork
> >>> for our MFI clients where we continue to improve based on their needs.
> >>>
> >>> While I have no problem with having new features, I seem not to
> >>> understand why we want to deprecate features of group lending that are
> >>> still being used even if with the minority of users globally yet they
> do no
> >>> harm to the security and overall performance of the project.
> >>>
> >>> I suggest the leadership to rethink the idea of deprecating collection
> >>> sheet functionality and other key features used in group lending.
> >>>
> >>> Best Regards,
> >>>
> >>> Zayyad A. Said
> >>> Intrasoft Technologies Limited
> >>>
> >>>   *********
> >>>
> >>> *Zayyad A. Said | Chief Executive Officer*
> >>>
> >>> Suite H32, Delamere Flats - Milimani Road, Nairobi.
> >>>
> >>> Cell No.: +254 716 615274 | Skype: *zsaid2011*
> >>>
> >>> Email: zay...@intrasofttechnologies.com
> >>>
> >>> Schedule Meetings: https://calendly.com/zayyadsaid
> >>>
> >>> <https://calendly.com/zayyadsaid>
> >>>
> >>>
> >>> *" You can achieve what you want if you just help enough others get
> what
> >>> they want.."*
> >>>
> >>> *Note: Save the environment, please don't print this email unless its
> >>> really necessary for you to do that.*
> >>>
> >>> On Sat, Aug 30, 2025, 11:20 Felix van Hove <fvanh...@gmx.de.invalid>
> >>> wrote:
> >>>
> >>>> Let me chip in with a more personal perspective.
> >>>>
> >>>> I'm following the development of the Mifos web app and - to a certain
> >>>> extend - Fineract for a couple of months only. My impression from the
> >>>> influx of new features in Fineract is that these are predominantly not
> >>>> for microfinance or small entities, which Mifos once set out to
> support.
> >>>> In fact - Fineract only states that its efforts are also "including
> the
> >>>> unbanked and underbanked" - not its focus.
> >>>>
> >>>> I see the deprecation of the Collection Sheet feature in this context.
> >>>> How many new features have been added in the last 12 months that help
> >>>> the "unbanked"? How many have been added that help larger commercial
> >>>> entities and are of no benefit for "the unbanked"?
> >>>>
> >>>> My personal contributions depend solely on Mifos/Fineract supporting
> >>>> efforts for financial inclusion. I regard it as of utter importance
> >>>> respective features don't come as a plugin, but first class citizens.
> >>>>
> >>>> My knowledge regarding fintech is very limited. If I'm wrong or
> >>>> misrespresent things, please tell me.
> >>>>
> >>>> Felix
> >>>>
> >>>> On 29/08/2025 21:01, James Dailey wrote:
> >>>>> Devs -  Are we done with this?
> >>>>>
> >>>>> First, I am NOT ruling out this functionality as important but if no
> >>>> one is
> >>>>> actually demanding it, and no one is willing to maintain it, then it
> >>>>> doesn't get maintained.  That is the nature of open source projects.
> >>>>>
> >>>>> Second, it can happen that an outside vendor (e.g. Mifos) that relies
> >>>>> on this Collection Sheet functionality (or any functionality)
> >>>> inadvertently
> >>>>> drops that from their front end release.  Because the tests at
> >>>> Fineract do
> >>>>> not cover this fully, no one at the Vendor and no one at the Fineract
> >>>>> project will see the functionality fail in a build until a customer
> or
> >>>>> implementer notices. So, tests are vital for ensuring ongoing
> >>>>> maintainability.
> >>>>>
> >>>>> Third, if this type of thing isn't "naturally" part of the core -
> then
> >>>> it
> >>>>> will make a lot more sense to have it be an outside extension - in
> >>>> which
> >>>>> case the tests have to be written for the API calls, and a Vendor
> >>>> should
> >>>>> try to get such tests contributed.   I could be wrong about this, I
> >>>> would
> >>>>> be happy to debate where this belongs.
> >>>>>
> >>>>> @Edward Cable <edca...@mifos.org> - what is the assessment and
> status
> >>>> of
> >>>>> needed functionality and where do you think it should live?
> >>>>>
> >>>>> Thanks,
> >>>>> James
> >>>>>
> >>>>> On Mon, Aug 18, 2025 at 8:21 AM James Dailey <jdai...@apache.org>
> >>>> wrote:
> >>>>>
> >>>>>> Sifiso -
> >>>>>>
> >>>>>> Do we have a way to reach the tens of thousands of institutions you
> >>>>>> believe are there?
> >>>>>>
> >>>>>> My belief (just anecdotal information) is that it’s more like a few
> >>>>>> hundred institutions and that out of that number, less than 10% are
> >>>> on a
> >>>>>> recent release.  And, of that smaller number, few, if any, are still
> >>>> using
> >>>>>> Collection Sheets.  I could be wrong - I’d like the data!  I’d say
> >>>> that
> >>>>>> vendors can show up with their data here to help make this vendor
> >>>> neutral
> >>>>>> space more informed.
> >>>>>>
> >>>>>> If group lending and group-member lending and collection sheets are
> >>>> still
> >>>>>> needed, then perhaps those project volunteers can contribute the
> >>>> needed
> >>>>>> updates to keep the functionality useful.
> >>>>>>
> >>>>>> Thanks
> >>>>>> Thanks
> >>>>>>
> >>>>>>
> >>>>>> On Mon, Aug 18, 2025 at 6:48 AM Sifiso Mtetwa <
> >>>> sif...@skyburgsystems.org>
> >>>>>> wrote:
> >>>>>>
> >>>>>>> Hi guys,
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> This is an interesting topic. I have been wondering why, in
> general,
> >>>> we
> >>>>>>> seem to be deprecating more and more system functions. The
> individual
> >>>>>>> collection sheet has served us well over the years and still does,
> If
> >>>>>>> anything we could improve on its functionality by maybe adding a
> bulk
> >>>>>>> collection sheet template with little detail compared to a full
> loan
> >>>>>>> repayment bulk import template.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> Fineract is used by tens of thousands of organisations throughout
> the
> >>>>>>> world and most of them are not on this listing and may not have a
> >>>> voice to
> >>>>>>> air their concerns. Maybe we can find a way of exposing this thread
> >>>> to
> >>>>>>> include more voters.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> Regards,
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> *From:* James Dailey [mailto:jdai...@apache.org]
> >>>>>>> *Sent:* Saturday, 16 August 2025 02:53
> >>>>>>> *To:* dev@fineract.apache.org
> >>>>>>> *Subject:* Re: Collection Sheet Deprecation was [Re: Questions and
> >>>>>>> Observations on FINERACT-2290 (Collection Sheet API Refactor)]
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> Ed
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> I agree this needs to be discussed but it is important to
> acknowledge
> >>>>>>> that THIS Fineract listserv is the only official (and required)
> >>>> discussion
> >>>>>>> space.  It is not the intention to bury anything in “an email
> >>>> thread”.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> When I started up Mifos we spent a lot of time looking at
> Collection
> >>>>>>> Sheets and designing process flows around them. I fully know that
> >>>> this
> >>>>>>> design direction was important back then in 2002-2006.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> However if there is no one here asking for them to be retained
> >>>> besides
> >>>>>>> you, then that is a sign that they have perhaps reached an end of
> >>>> their
> >>>>>>> utility.  Or, that the users are not actually here, which is a
> >>>> different
> >>>>>>> problem.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> So,… If there is a group using collection sheets in production AND
> >>>> they
> >>>>>>> are not on some permanent forked (old) version, then now is the
> time
> >>>> to
> >>>>>>> speak up.  Here.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> Generally, I’m fairly certain we can refactor this with an eye
> toward
> >>>>>>> extracting it from the core.  Repeating the logic in two places
> >>>> makes no
> >>>>>>> sense either.  Collection sheets are kind of assembled from
> >>>>>>> constituent loans and savings.  The balances and due payments
> should
> >>>> be
> >>>>>>> calculated in the underlying components.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> As the system gets restructured we need to decide to keep this at
> >>>> all, to
> >>>>>>> keep it in a new place, or as some external concept/plug in. Why
> >>>> wouldn’t
> >>>>>>> we want a separate component?
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> Cheers
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> On Thu, Aug 14, 2025 at 4:16 PM Ed Cable <edca...@mifos.org>
> wrote:
> >>>>>>>
> >>>>>>> I'll leave the other thread for discussion of the API versioning
> and
> >>>>>>> refactoring related to Collection Sheet API but wanted to create a
> >>>> separate
> >>>>>>> thread regarding the deprecation of the Collection Sheet.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> In general, for this and removal of any functionality, it's
> something
> >>>>>>> that needs to be discussed openly with the community and with a
> vote
> >>>> and
> >>>>>>> not a decision buried in a mailing list thread.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> For the collection sheet specifically, more thought has to be given
> >>>> to
> >>>>>>> its deprecation as the centrality and highly coupled nature of the
> >>>>>>> collection sheet is being understated as it isn't merely a report
> >>>> that's to
> >>>>>>> be printed or a form filled out via a mobile application. It's a
> >>>>>>> significant portion of the user interface and highly coupled to
> many
> >>>> of the
> >>>>>>> microfinance features around groups/centers/meeting scheduling,
> staff
> >>>>>>> assignment, etc.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> I do agree that from a UI perspective, the collection sheet and
> other
> >>>>>>> microfinance-centric functionalities and flows should be viewable
> >>>> based on
> >>>>>>> a configurable setting. As it doesn't lend itself to the optimal
> user
> >>>>>>> experience for a large portion of current Fineract user base.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> I also am supportive of a strategy of slimming Fineract to its core
> >>>>>>> services and functionality above core Fineract services and APIs
> can
> >>>> be
> >>>>>>> extracted out.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> So I do think we should give thoughtful consideration to what
> >>>> abstracting
> >>>>>>> out the collection sheet and corresponding microfinance
> >>>> functionality would
> >>>>>>> look like and what that effort would entail to abstract it out
> >>>> without
> >>>>>>> adversely impacting the original user base of the software but it's
> >>>> not as
> >>>>>>> simple as deprecating these API.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> I welcome others' thoughts and inputs as I know even with
> >>>> microfinance
> >>>>>>> itself, the methodology has evolved and group lending and the
> >>>> concept of a
> >>>>>>> collection sheet isn't as central as it once was
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> Thanks,
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> Ed
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> On Wed, Aug 13, 2025 at 6:36 PM Kapil Panchal <
> >>>>>>> kapil.panchal.developm...@gmail.com> wrote:
> >>>>>>>
> >>>>>>> Hi James,
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> I can proceed by marking this feature as @Deprecated and/or
> >>>> performing a
> >>>>>>> safe refactor to remove the API.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> For API versioning I agree to Aleksandar Vidakovic's proposal on
> >>>> adapting
> >>>>>>> to the SpringBoot v7/Spring Framework v4. If I may, Aleksandar
> >>>>>>> Vidakovic takes the lead on this project and I can help to support
> >>>> the
> >>>>>>> conversion?
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> Thanks,
> >>>>>>>
> >>>>>>> Kapil
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> On Thu, Aug 14, 2025 at 5:07 AM James Dailey <jdai...@apache.org>
> >>>> wrote:
> >>>>>>>
> >>>>>>> Hi Kapil
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> I might suggest looking at this as an opportunity to remove the
> >>>>>>> collection sheet entirely from the Fineract namespace.  It’s a
> legacy
> >>>>>>> concept I and others designed a long time ago, originally in 2002
> >>>> based on
> >>>>>>> collection sheets we gathered from a dozen countries. It is
> strongly
> >>>> tied
> >>>>>>> to concepts in microfinance field operations, and especially when
> >>>> there was
> >>>>>>> no data connectivity.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> It belongs perhaps as a sort of external microservice - data
> loading
> >>>> via
> >>>>>>> a bulk import could still be enabled.
> >>>>>>>
> >>>>>>> The API versioning is a good idea but needs to be more holistic
> >>>> across
> >>>>>>> the platform I think.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> On Mon, Aug 11, 2025 at 4:43 AM Ádám Sághy <adamsa...@gmail.com>
> >>>> wrote:
> >>>>>>>
> >>>>>>> Hi Kapil,
> >>>>>>>
> >>>>>>> Thank you for raising the concerns below. I’ll need some additional
> >>>>>>> details to fully understand your points:
> >>>>>>>
> >>>>>>> 1.      *Collection Sheet API* – You mentioned it appears
> >>>> non-functional
> >>>>>>> and contains several logical errors.
> >>>>>>>
> >>>>>>> o    If it’s indeed not working, that’s a separate, high-priority
> >>>>>>> discussion.
> >>>>>>>
> >>>>>>> o    Could you clarify which logical errors you were referring to,
> >>>> and
> >>>>>>> what specifically makes you think it’s non-functional?
> >>>>>>>
> >>>>>>> 2.      *Service annotations* – You noted that service methods are
> >>>> not
> >>>>>>> annotated with @Service and that beans are defined manually.
> >>>>>>>
> >>>>>>> o    Are you referring to the
> >>>>>>> CollectionSheetWritePlatformServiceJpaRepositoryImpl bean being
> >>>> defined
> >>>>>>> via configuration?
> >>>>>>>
> >>>>>>> 3.      *Repository wrappers annotated with **@Service* – You
> >>>> mentioned
> >>>>>>> that this mandates full unit test coverage but that they should
> >>>> ideally be
> >>>>>>> annotated with @Component.
> >>>>>>>
> >>>>>>> o    Could you point out the exact classes you had in mind?
> >>>>>>>
> >>>>>>> As for the other points, I agree we can refactor and remove
> redundant
> >>>>>>> logic—please feel free to suggest specific improvements or start
> >>>> work on
> >>>>>>> them immediately!
> >>>>>>>
> >>>>>>> However, be careful by moving anything into the fineract-core… We
> are
> >>>>>>> aiming to keep it as small as possible as everything is built on
> top
> >>>> of
> >>>>>>> this module! If collection sheet are used for loans and savings -
> for
> >>>>>>> example - than the recommended move is NOT to move this logic into
> >>>> core!
> >>>>>>>
> >>>>>>> Either:
> >>>>>>>
> >>>>>>> - we split the logic into fineract-loan and fineract-savings
> >>>>>>>
> >>>>>>> - Move the logic into a new module
> >>>>>>>
> >>>>>>> - Leave it in fineract-provider for now
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> Shall you have any questions, please let us know!
> >>>>>>>
> >>>>>>> Regards,
> >>>>>>> Adam
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> On 2025. Aug 11., at 12:09, Kapil Panchal <
> >>>>>>> kapil.panchal.developm...@gmail.com> wrote:
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> Hi Adam,
> >>>>>>>
> >>>>>>> I’m currently working on *FINERACT-2290* and have a few questions
> >>>> before
> >>>>>>> I submit a pull request.
> >>>>>>>
> >>>>>>> The *Collection Sheet API* in its current state appears
> >>>> non-functional
> >>>>>>> and contains several logical errors. It seems there was an earlier
> >>>> attempt
> >>>>>>> to convert from a JSON string request parameter to a class-based
> >>>> request
> >>>>>>> object, but:
> >>>>>>>
> >>>>>>> Certain fields are missing.
> >>>>>>>
> >>>>>>> The serializer is not correctly populating the objects, which
> causes
> >>>> the
> >>>>>>> conditional checks to be bypassed and results in incorrect (false)
> >>>>>>> responses.
> >>>>>>>
> >>>>>>> This change set is *high risk* because it touches most of the loan
> >>>> and
> >>>>>>> savings product logic. I’ve had to refactor almost all major
> methods.
> >>>>>>> Extensive integration and end-to-end testing will be required to
> >>>> ensure
> >>>>>>> there are no regressions, especially in edge cases. At present,
> >>>> there are
> >>>>>>> no unit or integration tests for this functionality, and test
> >>>> creation is
> >>>>>>> outside the current ticket scope. I’ve been iterating on this for a
> >>>> while,
> >>>>>>> and only today have I reached a stable state after several
> >>>> experimental and
> >>>>>>> build-breaking attempts.
> >>>>>>>
> >>>>>>> *Key Observations:*
> >>>>>>>
> >>>>>>> Service methods are not annotated with @Service; instead, beans are
> >>>>>>> defined manually.
> >>>>>>>
> >>>>>>> Repository wrappers are annotated with @Service. This mandates full
> >>>> unit
> >>>>>>> test coverage for these methods, but they should ideally be
> >>>> annotated with
> >>>>>>> @Component.
> >>>>>>>
> >>>>>>> I agree with prior discussions on separating bean validation —
> >>>> having a
> >>>>>>> dedicated @Component validation class allows the request object to
> >>>> handle
> >>>>>>> checks independent of database queries.
> >>>>>>>
> >>>>>>> Validation components can also perform database-related
> validations;
> >>>>>>> these can be injected into service classes for cleaner
> architecture.
> >>>>>>>
> >>>>>>> Such validation components should be placed in *Fineract-Core* so
> >>>> they
> >>>>>>> are reusable across modules, reducing future refactoring needs.
> >>>>>>>
> >>>>>>> The current design of having commands in *Fineract-Core* and
> >>>>>>> handlers/services/repositories in respective modules is good — it
> >>>> cleanly
> >>>>>>> decouples command definition from execution.
> >>>>>>>
> >>>>>>> There is extensive use of this. in singleton contexts (API,
> Service,
> >>>>>>> Repository). While not harmful, it’s unnecessary boilerplate.
> >>>>>>>
> >>>>>>> Multiple redundant intermediate DTOs exist where the request DTO
> >>>> itself
> >>>>>>> could be reused for data transfer.
> >>>>>>>
> >>>>>>> I found redundant logic — e.g., a for loop with a break statement
> >>>> that
> >>>>>>> effectively executes only once; this can be simplified.
> >>>>>>>
> >>>>>>> Some JDBC template queries use reserved SQL keywords, causing
> >>>> exceptions.
> >>>>>>> Refactoring these queries resolves the issue and returns proper
> >>>> response
> >>>>>>> objects.
> >>>>>>>
> >>>>>>> *Suggestions:*
> >>>>>>>
> >>>>>>> *Where appropriate, large tickets should be broken into subtasks to
> >>>>>>> manage complexity and reviewability.*
> >>>>>>>
> >>>>>>> It may help to have a dedicated *developer-only Slack channel *for
> >>>>>>> technical discussions. This could complement other community spaces
> >>>> if
> >>>>>>> there’s a need to keep certain conversations more focused.
> >>>>>>>
> >>>>>>> What are your thoughts on the above?
> >>>>>>>
> >>>>>>> Thanks,
> >>>>>>> Kapil
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> --
> >>>>>>>
> >>>>>>> *Ed Cable*
> >>>>>>>
> >>>>>>> President/CEO, Mifos Initiative
> >>>>>>>
> >>>>>>> edca...@mifos.org | Skype: edcable | Mobile: +1.484.477.8649
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> *Collectively Creating a World of 3 Billion Maries | *
> >>>> http://mifos.org
> >>>>>>> <http://facebook.com/mifos>  <http://www.twitter.com/mifos>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>
> >>>>
> >>>>
> >
>
>

-- 
--
Paul

Reply via email to