Apache Fineract working capital loans

A guide to what the Fineract working capital loan product is designed to do, why version 1.15.0 is not ready for production, and how to evaluate it safely before committing to a build.

On this page

When Apache Fineract working capital loans fit your lending model

Apache Fineract's working capital loan product is designed for zero-interest, discount or fee-based financing with sales-based repayments, and the 1.15.0 release is not ready for production. If your lending model depends on this product going live this year, treat that gap as the first decision in your plan, not a detail to resolve during the build. The product design targets lenders who finance a business's sales receivables or short-cycle working capital, where repayment follows the borrower's trading activity rather than a fixed monthly schedule. Discount-style and fee-based pricing are part of the same design, so a lender offering a discounted advance or a flat fee instead of periodic interest should confirm that the product's pricing structure matches its own offer before going further.

The boundary to keep in view is the difference between what the Apache Fineract platform documentation describes as the design and what your organization can run in production. The documentation covers effective interest rate (EIR) treatment for discount fee income, deferral and NPV calculation, along with excess payments, shortfalls, breach handling and delinquency actions. Those descriptions tell you what the product is meant to do. They do not tell you that the behavior has been proven under your volumes, your accounting rules or your regulator's expectations. Ask the project and your own test team to confirm which parts of the design are stable in the release you plan to use, and record the answer in writing.

Evaluate before you commit a build budget or a go-live date. A short, structured assessment should answer four questions: whether your product fits the design, which EIR and deferral outcomes your finance team must reproduce, how sales-based repayment data will reach Fineract, and what fallback product you will run if the feature is not ready. Each answer shapes the data model, the integration scope and the test plan. Teams that skip this step often discover late that a discount product needs a different accounting mapping or that daily payment periods do not match how their borrowers actually repay.

What the working capital product is designed to do

The Fineract documentation describes the working capital loan as a set of design capabilities covering pricing, repayment, income recognition and exception handling. Each card below is a capability to verify against your own product design and test data before anyone relies on it in production.

Zero-interest, discount or fee-based pricing

The product can be designed as a zero-interest loan, a discount-based loan or a fee-based loan. For a supplier or merchant financing product, the pricing model determines what the borrower pays and where the lender's income comes from. Before configuring anything, decide which model your credit policy and product approval actually require, then confirm the documented pricing options cover that model without workarounds.

Flexible sales-based repayments

Repayments are designed to follow the borrower's sales rather than a fixed monthly schedule. This suits businesses with variable revenue, such as seasonal merchants. The design question is how repayment amounts are derived from sales data, who supplies that data, how often it arrives, and what happens when it is late or inaccurate. Confirm the data feed and its controls before finalizing the product.

EIR method for discount fee income

Discount fees are designed to be recognized using the effective interest rate method, which covers income recognition, deferral and net present value calculation. Finance and accounting teams should agree the recognition policy with their auditors and check that the EIR outputs match their chosen accounting treatment. Test the deferral and NPV results against a manually calculated sample before relying on the ledger postings.

One-day payment periods

Each payment period in the working capital design is exactly one day. This is a structural choice that differs from the monthly schedules most loan teams know. It changes how delinquency is counted, how the close of business job is scheduled, and how reports are read. Confirm that daily periods fit your servicing volumes, operations staffing and downstream reconciliation before committing to the product.

Excess, shortfall and no-payment handling

The documentation covers how the product handles excess payments, shortfalls and days with no payment. Each case affects balances, the next period's expected amount and customer communication. Write down the expected outcome for each case in your product specification, then build test accounts that reproduce them so the documented behavior can be checked against your rules.

Breach, near-breach and delinquency actions

The design includes breach and near-breach handling, along with delinquency actions. A near-breach state gives the lender time to intervene before a covenant or repayment threshold is crossed. Define the thresholds, the owner of each action and the notices sent, and confirm with credit risk how these states feed provisioning and collections. Treat these states as untested until your own scenarios pass.

Why Apache Fineract 1.15.0 is not ready for production

The working capital loan feature should be treated as a design to evaluate, not as a production module, in any plan built on Apache Fineract 1.15.0. The readiness position is the first fact a planning team needs, because it changes what the project can absorb: a sponsor should not approve a go-live date, a product configuration sign-off or a data migration that depends on working capital loans until the position is confirmed in writing. Stable release status for the platform as a whole does not transfer to every module within it.

Read the 1.15.0 release page and the release notes for the tag itself, then compare them with the working capital section of the platform documentation. Look for explicit wording about production readiness, known limitations, changes to the EIR and deferral logic, and any open items for this product. Record the exact release identifier and the documentation build you reviewed, because the documentation and the code can move at different speeds. Use the Apache Fineract 1.15.0 release page as the starting point and the platform documentation for the product description.

Before any go-live decision, ask the project, through its public channels, a short list of questions: whether the feature is intended for production use in the release you plan to run, which open issues affect repayment handling, excess payments and delinquency actions, and whether a later release is expected to change the design. Then test those answers in your own environment with a non-production tenant, using your own sales-based repayment scenarios. Any result you cannot explain should stop the feature from entering the production scope until the project or a qualified partner has resolved it.

Which evaluation path fits your team

This path suits a team that wants to learn how the working capital product models zero-interest, discount or fee-based financing, and how sales-based repayments behave, before committing any business plan to it. The work happens in a non-production tenant with synthetic clients and invented sales data, so nothing touches live borrowers. The goal is to understand the design, not to sign off on production use.

  • Product mapping: Write down each business rule your product needs (fee or discount structure, repayment on sales, EIR income recognition) and check which ones the documentation describes and which you must confirm in the running build.
  • Edge cases: Run excess payments, shortfalls, missed payments, breach and near-breach cases, and delinquency actions, and record the outcome of each.
  • Accounting output: Trace where discount fee income is recognized and deferred, and compare the journal entries with what your finance team expects.
  • Ownership: A product owner and a finance reviewer should run the scenarios together, with an engineer handling test data and configuration.
  • Stop condition: Stop when the open questions are written down with the vendor or project maintainers, or when a scenario fails in a way the design cannot explain.

Before leaving this path, confirm in writing which behaviors you have verified and which remain open.

How to evaluate the working capital product safely

This sequence moves from confirming release status to a documented go or no-go decision, so you test the working capital product in isolation and only judge it against numbers you have checked independently. Each step produces a record you can hand to your risk and product owners.

  1. Confirm release status and documentation version

    Check the Fineract website and the 1.15.0 release notes to confirm which release is current, and read the platform documentation version that matches it. Record the release tag, the documentation build date and the known-issue list for working capital loans. Your team owns this step, with a DeployOpen engineer if you want a second reader. It is done when the evaluation record names the exact version under test and every open question about the feature is written down with an owner. Ask the project which features are still in design so you do not assume a stable behavior that the documentation does not promise.

  2. Stand up an isolated PostgreSQL tenant

    Deploy a non-production Fineract instance with PostgreSQL as the database, since the project recommends PostgreSQL and the official Docker image ships only its JDBC driver. Create a separate tenant with no copy of production client data, and change the default development login before anyone uses the instance. Confirm the tenant is selected through the Fineract-Platform-TenantId header on test requests. The step is done when a smoke test creates a client and a test loan account, and the environment is documented as isolated from production networks and credentials.

  3. Configure a test working capital product

    Create a working capital loan product in the test tenant with the fee, discount or interest settings you intend to evaluate, using only synthetic clients and offices. Record every product parameter, including the EIR treatment and the repayment rules, in a configuration sheet that a reviewer can reproduce. Because each payment period is one day, confirm that your product design and your finance team's expectations agree on that before you run any scenario. The output is an approved configuration sheet and a product that loads without errors through the API.

  4. Run the five payment scenarios

    Drive the same product through excess payment, shortfall, no payment, breach and near-breach cases using scripted API calls, one scenario per loan account. Capture the balance, schedule and status after each day-level run so the results can be compared later. Your test lead owns the scripts, and each run must record the input dates, amounts and the expected outcome written before execution. The step is done when every scenario has an expected result, an actual result and a recorded difference, with any mismatch logged as a defect against the release under test.

  5. Verify EIR income and NPV outputs independently

    Recalculate the discount fee income recognition, deferral and NPV figures outside Fineract, using a spreadsheet or a small script written by someone who did not configure the product. Compare each period's recognized income and deferred balance with the Fineract output and investigate any difference larger than your agreed tolerance. Agree the tolerance with finance before you start, and keep the independent model with its assumptions. The output is a reconciliation table showing matched and unmatched periods, which becomes the core evidence for or against the product.

  6. Test delinquency actions

    Move the test loans through the delinquency states your configuration produces and confirm which actions Fineract takes, including any notices, status changes and accrual stops. Compare each action with the policy your collections team has written, and note any action the product does not perform so that a manual process can be designed for it. The step is done when each delinquency path has a documented result and each gap has an owner and a proposed control. Do not assume that a documented action has been tested in your configuration until you have seen it run.

  7. Record go or no-go criteria

    Bring the scenario results, the reconciliation table and the delinquency findings to a review with product, finance, risk and security owners. Compare the evidence with criteria written in advance, such as the release status, the unresolved defects, the reconciliation tolerance and the required controls, and record a go, no-go or conditional decision with a named approver. If the decision is no-go, document what would need to change for a later review. The output is a signed evaluation record, which is the basis for any further build or for keeping the product out of production.

What drives evaluation and build effort

This table lists the factors that most change the effort to evaluate and build a working capital loan setup in Fineract, and what keeps each one manageable. Read it as a scoping checklist: the drivers with the widest rows are the ones to settle in writing before any build starts. The main takeaway is that scenario count and accounting mapping decide most of the work, and both are easier to control when fixed early.

DriverWhy it changes effortHow to keep it down
Number and complexity of payment scenariosThe product design covers excess payments, shortfalls, no payment, breach and near-breach handling, and delinquency actions. Each combination needs a defined expected outcome and a test case.Agree a short list of business scenarios with the credit team first. Mark which ones are in the first release and which are deferred.
Custom accounting mappingDiscount fee income, deferral and NPV results must land in ledger accounts that match your chart of accounts. Mapping gaps usually surface late, when finance first reviews journal output.Design the chart of accounts and mapping table before configuring products. Ask finance to sign off sample journal entries for each scenario.
EIR validation against finance and audit requirementsThe effective interest rate method drives income recognition. Finance and external auditors will expect the calculations to be reproducible, so independent checks take time.Build an independent calculation for a set of sample loans and reconcile it with Fineract output. Keep the workings as evidence for the assessor.
General ledger and reporting integrationWorking capital balances, fee income and delinquency data feed the ledger and management reports. Each feed is a separate interface to test, including period-end behavior.Limit reporting requirements to those the first release needs. Confirm which reports use the ledger and which read loan data directly.
PostgreSQL and environment setupPostgreSQL is the recommended database for Fineract, and MariaDB and MySQL are deprecated under FSIP-9. Test data volumes, batch runs and environment parity all depend on this layer.Standardize on PostgreSQL in every environment from the start. Keep a staging environment that matches production configuration closely enough to test batch jobs.
Repeating tests after upgradesFineract ships quarterly releases, and each upgrade can change behavior around loan calculations. Every scenario and EIR check may need to run again.Automate the scenario and EIR regression suite early. Pin the release you test against and record which tests must rerun for each upgrade.
Confirming production readiness of the productThe 1.15.0 release does not mark working capital loans as ready for production. Assumptions made during the build may not hold once the feature matures.Ask the project and your own risk team what status applies to the feature at your chosen release. Record that decision in the design document.

How working capital loans connect to the rest of Fineract

A working capital loan does not run in isolation. It draws on the same accounting, API, tenant, identity, event and reporting layers as every other Fineract product, so each connection needs its own check before a pilot. The cards below name what to confirm in your own environment, since the behavior of each link for this product should be verified in testing rather than assumed.

Accounting and general ledger feed

Working capital loans post discount fee income, deferrals and repayments through Fineract's accounting layer. Map each income, receivable and deferral event to a ledger account before the first test loan is disbursed, and confirm which journal entries the product generates for early, late and excess payments. Reconcile the output against the external ERP at period end, because the EIR deferral schedule drives recognized income.

REST API for front ends

Fineract is headless, so a front end such as the Mifos X web application or your own channel calls the REST API to create, disburse and repay working capital loans. Confirm which endpoints and request fields the product uses, how daily payment periods appear in responses, and how the front end displays sales-based repayment schedules that change with actual sales data.

Business event publishing

When enabled, Fineract can publish business events to ActiveMQ, other JMS brokers or Apache Kafka. Publishing is off by default, so decide whether loan lifecycle events such as disbursement, breach or delinquency actions feed downstream systems, and test that each event fires and carries the fields your consumers need. Plan consumer handling for duplicate or out-of-order messages.

Tenant configuration

Fineract is multi-tenant, and every API request carries a tenant identifier header that selects connections from a tenants database. Working capital products, charges and accounting setup are defined per tenant, so confirm that a product configured in a test tenant is not visible or usable in production, and that tenant-level settings do not leak across institutions in a shared deployment.

Authentication with OAuth2 or basic auth

Fineract supports OAuth2 and HTTP basic authentication. The documented development login must be replaced before any real deployment. Decide which identity provider issues tokens for loan officers and approvers, test that product configuration and loan actions are limited by role, and confirm that HTTPS is enforced for every call that carries credentials or customer data.

Reporting on loan performance

Reports on working capital portfolios need sales data, repayment status and delinquency states, which come from Fineract's data model and reporting features. Test whether the standard reports and any Pentaho-based reports you plan to use show daily payment periods, excess and shortfall amounts and breach status correctly, and secure report endpoints before exposing them to analysts.

Questions teams ask before testing working capital loans

Can working capital loans go live in production on Fineract 1.15.0?

The working capital loan product is not ready for production in 1.15.0, so it should be evaluated in a non-production environment only. Fineract's documentation describes the product design, but a feature described in documentation is not the same as one proven for live lending. Treat the 1.15.0 release as the starting point for testing, then confirm the current status of working capital loans with the Apache Fineract project before any go-live decision. Ask the project directly through its mailing lists and issue tracker whether the open items you depend on have been resolved in a later release.

What does an evaluation of working capital loans cost, and what drives it?

Most of the cost comes from people's time: configuring products, building test scenarios for sales-based repayments, and reviewing how the EIR method and discount fees post to the ledger. Software licensing is not a cost driver because Fineract is licensed under Apache-2.0. The main cost drivers are the number of repayment scenarios you need to cover, how much of your existing loan product logic must be mirrored, whether you need a test environment with realistic data volumes, and how much accounting review is required. Ask any partner for a fixed-scope quote that lists scenarios, environments, deliverables and who performs each activity.

How long does testing working capital loans take, and what does it depend on?

Duration depends on scope rather than on a fixed rule, so confirm it against a written plan for your own product. The biggest variables are the number of loan variants you test, the depth of coverage for excess payments, shortfalls, missed payments, breach and near-breach handling, and delinquency actions, and whether accounting outputs must be reconciled to your general ledger. Access to an environment, staff availability for reviews, and the time needed to clarify behavior with the project also affect the schedule. Ask for milestones tied to specific test cases rather than a single end date.

What must our team provide before testing starts?

You need to provide a clear description of the product you want to emulate, including interest or discount method, fee structure, repayment logic, and delinquency rules. You also need access to a non-production Fineract environment with PostgreSQL, a chart of accounts for mapping, sample client and loan data, and named business owners who can approve expected results. Finance and risk staff should define what a correct accounting entry looks like, because test results are only as useful as the expected outcomes they are checked against. Missing expected outcomes are the most common reason testing stalls.

Can our internal team evaluate working capital loans without outside help?

An internal team with Fineract experience and a finance reviewer can run a basic evaluation, provided it has time, a test environment and clear expected results. The work requires understanding the REST API, Fineract's configuration of products and business rules, and the accounting effects of EIR income recognition. Teams without that combination often spend longer working out how the product behaves than testing it. An outside partner adds the most value when you need independent test design, structured evidence for a risk or audit review, or a second opinion on accounting outcomes.

How do Fineract upgrades affect the results of our tests?

Any test result is tied to the exact release and configuration tested, so an upgrade can change behavior and invalidate earlier conclusions. Fineract releases are created quarterly, and end-of-life releases are archived, so plan to retest on any version you intend to run. Record the release tag, database version and configuration for every test run. Confirm with the project how the working capital feature changes between releases, and check the release notes for any change to repayment or accounting logic before reusing old evidence.

What should we ask a partner to include in a quote?

Ask for a written scope listing the product variants, repayment scenarios, environments, accounting reviews and deliverables, along with who performs each task and what you must supply. Request a clear statement of what is one-time work and what recurs, such as retesting after each release or ongoing support. Ask how the partner will handle the 1.15.0 readiness position, how results are documented, and what happens if the project changes behavior during the engagement. Confirm that the partner prepares evidence for your auditors but does not issue audit opinions or certifications.

What a fixed-scope evaluation covers

A DeployOpen evaluation of the Fineract working capital loan product starts with a written scope that names the product configurations under test, the repayment scenarios and the decisions the evaluation must support. The scenarios should be listed explicitly: a zero-interest product, a discount-fee product and a fee-based product, each run through excess payments, shortfalls, days with no payment, breach and near-breach cases and the delinquency actions the product is configured to trigger. Because each payment period is one day in this design, the scope should also state how many simulated days, sales-volume patterns and business-date changes are covered. The scope, deliverables and timelines are agreed in writing before any work starts, so the client knows exactly what the evaluation will and will not answer.

The scope also fixes the environments. Testing normally runs on a non-production Fineract 1.15.0 deployment in infrastructure the client controls, with a PostgreSQL database, a tenant configured for the test, and a seeded set of clients and accounts. The written scope should confirm which environment is used, who holds the test credentials (the default development login must be changed before any real use), and how test data is loaded and reset between runs. The main deliverables are a test report that records each scenario, its expected and observed EIR income recognition, deferral and NPV results, and any defects, plus a go or no-go memo that gives a recommendation with the conditions that would change it. Ask whether the memo also lists the items the client must test themselves.

What remains with the client is equally important. The client owns the decision to use or not use the product, the accounting policy for discount fee income, the controls over who can configure products, and any regulatory assessment of the design. DeployOpen does not issue audit reports or certifications. The client also keeps the test environment, the configuration exports and the evidence files, and should confirm in advance how long these are retained and who can access them. Any follow-on work, such as a retainer for re-testing after a fix, is quoted separately from the written scope.

How DeployOpen scopes and supports Fineract module work

DeployOpen plans, implements, customizes, hardens, documents and supports self-hosted open-source platforms inside the client's own infrastructure. For Apache Fineract working capital loans, that means starting from a written scope that states whether the product is for evaluation, testing or production, and building only what that scope covers.

How we scope

  • Written scope states which working capital loan behaviors are in and out, including zero-interest, discount or fee-based terms.
  • Scope records the daily payment period, sales-based repayment inputs and the EIR income recognition method the client needs.
  • Scope names the Fineract 1.15.0 version, the PostgreSQL database and the environment each test run will use.

How we build

  • Build a non-production Fineract environment in the client's own cloud account, data center or air-gapped network.
  • Configure a working capital test product and run sample sales, excess payment, shortfall and no-payment scenarios.
  • Test breach, near-breach and delinquency actions against expected accounting entries, and log every gap found.

How we hand over

  • Deliver configuration records, test scripts, scenario results and a list of open risks tied to the 1.15.0 status.
  • Document the go or no-go criteria the client's own risk and compliance owners must sign off before any production use.
  • Walk the client's engineers through the evaluation environment, configuration exports and the runbook.

How we support

  • Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.
  • Ongoing support, upgrades and continuous testing are available as a retainer, scoped to the client's Fineract release.
  • Re-test the working capital configuration after each quarterly Fineract release before any change reaches production.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.