How openmf/fineract works
Apache Fineract is a modular core-banking platform. Its documented entry workflow is an authenticated, tenant-scoped REST request that produces a banking result; the README demonstrates listing clients. The tree shows broader banking domains including loans, savings, transfers, accounting, and customer notes. Sampled code confirms selected search, database-metadata, content-storage, and business-day processing responsibilities, but most domain wiring was not sampled, so those connections are not asserted here.
Main entry points: ClientSearchService.java Client search · DatabaseQueryService.java Database metadata · PostgreSQLQueryService.java PostgreSQL adapter · MySQLQueryService.java MySQL adapter
Components 26
Banking domains
- Client search
fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/search/ClientSearchService.java - Client records
fineract-provider/src/main/java/org/apache/fineract/spm/domain/Component.java - Account transfers
fineract-account-transfer/src/main/java/org/apache/fineract/portfolio/account/api/AccountTransfersApiResource.java - Scheduled transfers
fineract-account-transfer/src/main/java/org/apache/fineract/portfolio/account/jobs/executestandinginstructions/StandingInstructionItemProcessor.java - Transfer records
fineract-account-transfer/src/main/java/org/apache/fineract/portfolio/account/domain/AccountTransferRepository.java - Accounting
fineract-accounting/src/main/java/org/apache/fineract/accounting/journalentry/service/JournalEntryWritePlatformService.java - GL closures
fineract-accounting/src/main/java/org/apache/fineract/accounting/closure/api/GLClosuresApiResource.java - Savings accounts
fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformService.java - Savings state
fineract-core/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountTransactionData.java
Credit operations
- Loan accounts
fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanAccountDomainService.java - Loan state
fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java - Loan schedules
fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/ProgressiveLoanInterestScheduleModelParserService.java - Working capital
fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/service/ProjectedAmortizationScheduleModelParserService.java
Platform services
- Business-day processing
fineract-cob/src/main/java/org/apache/fineract/cob/service/RetrieveIdService.java - Savings COB IDs
fineract-savings/src/main/java/org/apache/fineract/cob/savings/RetrieveSavingsIdService.java - Ad hoc search
fineract-provider/src/main/java/org/apache/fineract/portfolio/search/service/SearchReadService.java - Database metadata
fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/DatabaseQueryService.java - PostgreSQL adapter
fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/PostgreSQLQueryService.java - MySQL adapter
fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/MySQLQueryService.java - File content store
fineract-document/src/main/java/org/apache/fineract/infrastructure/contentstore/service/FileContentStoreService.java - S3 content store
fineract-document/src/main/java/org/apache/fineract/infrastructure/contentstore/service/S3ContentStoreService.java
Extensions
- Customer notes
custom/acme/note/service/src/main/java/com/acme/fineract/portfolio/note/service/AcmeNoteWritePlatformService.java - External events
custom/acme/event/externalevent/src/main/java/com/acme/fineract/event/externalevent/AcmeExternalEventSourceProviderConfig.java - Investor search
fineract-investor/src/main/java/org/apache/fineract/investor/service/search/ExternalAssetOwnerSearchService.java - Asset-owner data
fineract-investor/src/main/java/org/apache/fineract/investor/domain/search/SearchingExternalAssetOwnerRepository.java
Other components
- API client
Connections 6
- API client → Client search: requests clients
README.md - Client search → Client records: searches records
fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/search/ClientSearchService.java - PostgreSQL adapter → Database metadata: implements
fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/PostgreSQLQueryService.java - MySQL adapter → Database metadata: implements
fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/MySQLQueryService.java - Investor search → Asset-owner data: searches and maps
fineract-investor/src/main/java/org/apache/fineract/investor/service/search/ExternalAssetOwnerSearchService.java - File content store → S3 content store: alternative backend