Business and corporate clients in Apache Fineract

Model SME and corporate borrowers in Apache Fineract with the entity legal form, data tables for business fields and beneficial owner records, and loan products that fit non-person clients.

On this page

How business and corporate clients fit into Apache Fineract

A lender that already serves individuals in Apache Fineract and now needs to serve SMEs and other organizations does not need a second system. Fineract models these borrowers as clients with a legal form, and the extra fields a business needs are added through data tables attached to the client record. The design choice is therefore about how the existing client model is extended, not about where business borrowers live.

This design matters when the lender's credit files, KYC checks and approval paths start to differ between a person and a company. A business client needs registration details, a legal form, directors or signatories, and beneficial owner information that an individual does not. Those fields change what a KYC reviewer must check before activation, which approvers sign off, and whether one product, such as a working capital or term loan, can be offered to both entity types. Decide early which of these differences the product rules must enforce and which the operations team will check by hand.

The public Fineract documentation covers client data and KYC documents, along with configurable products and business rules. It does not give a field-by-field specification for entity clients in each release, so confirm the exact legal form options, client fields and any entity-specific behavior against the release you plan to deploy, using the Apache Fineract platform documentation and a test instance. Ask the implementation team to show, with real screens or API responses from that release, how a non-person client is created, how a datatable attached to it is validated, and how a loan product behaves when the borrower is an organization.

Which business fields belong in data tables

Business clients in Fineract need a small set of attributes beyond the standard client record. Each field below should be placed deliberately: as a mandatory data table entry checked before activation, or as an optional entry that staff maintain over time. The cards describe the decision each field supports and who should review it.

Company registration number

The registration number identifies the legal entity in its home registry and is the first thing a credit reviewer checks against public records. Make it mandatory in a data table attached to client activation so that an entity cannot become active without it. Ask the compliance lead to confirm the exact format for each jurisdiction you serve, since registry numbers differ in structure and length.

Tax identification number

The tax ID supports tax reporting, withholding and duplicate detection across legal entities. Treat it as mandatory where local rules require it for business accounts, and optional elsewhere with a clear owner. The tax team should confirm which identifier is required for each country, because some jurisdictions issue separate numbers for VAT and corporate income tax.

Incorporation date

The incorporation date shows how long the business has operated, which often drives eligibility rules for SME products and the credit policy's minimum trading history. Make it mandatory when a product has a minimum age rule, and enforce that rule with an entity-datatable check on loan application. The credit risk team should own the threshold and confirm it against the product terms.

Industry classification code

The industry code drives sector exposure limits, concentration reporting and pricing tiers for restricted sectors. Use a code value list maintained by the risk team rather than free text, so reports group businesses consistently. Make it mandatory for lending clients, since an unclassified borrower cannot be included in sector reporting, and optional for savings-only entities.

Annual turnover

Annual turnover supports affordability assessment and sizing of the loan limit, and it changes over time, so it needs a record date as well as a value. Treat it as mandatory before any loan activation and refresh it on a schedule set by the credit policy. The credit committee should confirm the source document each figure must cite, such as audited accounts or management accounts.

Authorized signatory details

Signatories are the individuals who can bind the business to a loan or withdraw from its savings account, so their details need the same verification as a natural person's KYC. Record name, role, identity reference and effective dates in a data table, and make it mandatory for any account that a signatory can operate. Operations and legal should jointly confirm which roles the mandate must cover and how changes are approved.

Which modelling option fits which lending book

This table compares three ways to represent a business borrower in Fineract: a client per legal entity, a group or center for related companies, and a data table for shareholding. Read each row to see the reporting and KYC consequences, and the lending book where each option fits best. Most implementations combine the first and third options.

Modelling optionReporting and KYC consequencesBest fit for SME lendingBest fit for corporate lending
One client per legal entityEach company carries its own KYC record, legal form and loan exposure, so per-borrower reporting is directStrong fit when each SME borrows on its own and has no shared exposureWorks for standalone entities, but group exposure must be tracked outside the client record
Group or center for related companiesGroups aggregate members for meetings and collections, but are not a legal ownership record, so group KYC still needs entity-level checksUseful where SMEs share a supply chain or cooperative structure and meet as a unitWeak fit for corporate groups, since parent and subsidiary links are not legal ownership and need separate records
Data table for shareholdingBeneficial owner details sit in a data table attached to the client, so reports need a join and access to personal data must be scopedGood fit for owner-managed firms where a few individuals hold most sharesNeeded for complex ownership chains, but the layers above the first owner usually need a documented, separate register
Data table for group exposureConnected-party limits are recorded as attributes, which supports reporting but does not enforce limits automaticallyPractical for tracking owners who guarantee several SME loansUsually required, paired with a credit process that reviews aggregate exposure
Separate legal-entity register outside FineractKeeps the legal hierarchy under the institution's control, with links back to client IDsOften more effort than the lending book justifiesCommon for large corporate books that must show full ownership chains to assessors

Recording beneficial owners and controlling persons

A lender needs beneficial owner records alongside the entity itself, because the legal entity on file tells you who the borrower is but not which natural persons ultimately own or control it. Those individuals are the people your know-your-customer and anti-money-laundering controls must identify and, in most regimes, verify. In Fineract, the client record captures the business, its legal form and its registration details, so the owner and controller information has to be modelled as a separate, deliberate addition rather than assumed to be there. Decide early whether each owner is held as a related person client, as entries in a data table attached to the business client, or as a combination of both, because that choice determines who can see the data, how it is searched for duplicates, and whether an owner can later be onboarded as a borrower in their own right.

Linking the two is where implementations usually diverge. A data table keyed to the business client holds ownership percentages, role, date of appointment and verification status in a single place, which suits owners who will never borrow personally. A related person client gives each owner a full client record that can carry its own identifiers, documents and loans, which suits owners who are also guarantors or borrowers. Whichever route you choose, test that a loan application for the business cannot be activated when the owner section is incomplete, using the entity-datatable check described in the sibling section on requiring data before activation. Confirm with the field that the percentage thresholds, the definition of control and the verification standard are set by counsel or your regulator, not by the platform, and record that source in the design document.

Before the build starts, ask your compliance team to confirm four points: which ownership and control tests apply in each market you lend in, how often owner data must be refreshed and who triggers the refresh, what evidence must be retained for each owner and for how long, and how screening results for owners are recorded and reviewed. Fineract does not decide any of these for you. It will store what you define, so the data table fields and the approval steps are only as good as the policy behind them. Agree the answers in writing, then translate them into mandatory fields, code values and the checks that stop activation, and have the compliance lead sign off on a sample file before migration of existing business clients begins.

Set up business clients in Fineract

This sequence turns a generic Fineract client record into a business entity that captures legal form, industry, beneficial owners and KYC evidence before any loan can be activated. Each step closes with a check, so the team can confirm the setup works before real onboarding starts.

  1. Confirm legal form and KYC requirements

    Compliance and product owners agree which legal forms you will onboard, such as sole proprietors, partnerships, limited companies and cooperatives, and list the documents each one must provide, including registration extracts, tax identifiers, and proof of authority for the person signing. Record which fields are mandatory and which are optional. Ask your compliance adviser to confirm the requirements for your jurisdiction, because this list drives every later step. The step is done when the signed-off requirements matrix exists and every field in it maps to a data source or document.

  2. Create data tables for business fields

    An engineer creates entity data tables in Fineract for the business attributes the matrix does not cover by default, such as trading name, registration date, annual turnover band, number of employees and bank account details. Use one table for the main business profile and a separate child table for beneficial owners. Confirm in your Fineract version how data tables are defined and whether child tables are supported for the client entity. The check is that each table appears in the API metadata for the client entity and that a test record can be written and read back.

  3. Configure code values for legal form and industry

    An administrator adds code values for the dropdown fields the data tables depend on, such as legal form, industry sector, company size band and ownership type. Keep the lists short and agreed with risk and reporting teams, because changing a code value later affects historical reporting. Store the codes in the same language and format your regulatory returns expect. The check is that a test record can select every code value through the API, and that an unknown code is rejected rather than silently stored.

  4. Define the business client template and approvals

    A product owner builds the client template for business entities, setting the default legal form, name fields, address and contact fields, and the data tables that appear at onboarding. Decide which roles can create, approve and activate a business client, and confirm how Fineract's approval steps for client creation are configured in your release. Separate the maker and checker roles in the user setup. The check is that a user who created a business client cannot also approve it, and that the template loads with the expected fields in a test session.

  5. Attach required data to activation

    Configure the entity data table checks so that activating a business client fails unless the KYC-critical fields and the beneficial owner records are present. Scope the check to the client entity and, where your design requires it, to the loan or savings actions that follow. Document which checks block activation and which only warn. The check is a deliberate test: attempt to activate a business client with one mandatory field missing, confirm the request fails with a clear error, then add the field and confirm activation succeeds.

  6. Configure beneficial owner capture

    Set up the child data table for beneficial owners so that each business client can hold several owner records, each with name, identity details, ownership percentage or control basis, and a verification status. Agree with compliance how ownership thresholds are defined and which owners must be verified before activation. Confirm how many owner rows your Fineract version and reporting layer handle for a single client. The check is that a business client with two owners can be created, that owner rows can be updated without touching the main profile, and that a client with no owner rows fails the activation check.

  7. Link loan products and test with sample entities

    Link the business client template to the loan products that accept non-person borrowers, and confirm that products meant for individuals are not offered to business clients by mistake. Check how eligibility rules, guarantor requirements and collateral fields apply to entities, since group and individual assumptions may not fit. Then create illustrative test businesses covering a sole proprietor, a limited company and a cooperative, and run each through onboarding, activation and a test loan application. The step is done when every test case produces the expected outcome and the results are recorded for sign-off.

Security and data protection for business client records

Business client records hold beneficial owner identities and financial data that few staff should see in full. The controls below sit at the platform, transport and audit layers, and each one needs a decision made before the first real client is entered.

Office and role scoping for business data

Beneficial owner details and company financials should be visible only to the offices and roles that need them for onboarding and credit decisions. In Fineract, office hierarchy and role permissions define what each user can see and change, so the access matrix for business clients should be written per office and per role before go-live. Check that a loan officer in one branch cannot open business client files or data tables in another, and test this with real user accounts rather than assuming it from the role names.

Changing the default login

The Fineract README ships a default development login, and it must be replaced before any real business client data is loaded. Treat the change as a gate: the default account should be disabled or its password rotated, and the operator accounts should be tied to named staff. Confirm this on every environment, including staging copies that contain production-like records, because copied data carries the same exposure.

HTTPS for every API call

Business client records include identity documents, company registration numbers and owner details, all of which travel in REST requests. The Fineract documentation strongly encourages HTTPS only and configures SSL through environment variables such as FINERACT_SERVER_SSL_ENABLED. Confirm that TLS terminates where you intend, that plain HTTP is closed at every ingress, and that internal traffic to the database and any front end is also encrypted where your policy requires it.

Audit trail for business client changes

Changes to a company's legal name, ownership or financing terms need a record of who changed what and when. Fineract's audit facilities and the data table history should be confirmed for the business client fields you add, since an audit trail that covers loans but not the custom business fields leaves a gap. Ask your team to confirm exactly which entities and fields are logged, where the logs are stored, and how long they are kept.

Access to ownership and financial data

Beneficial owner records and business financial statements are the most sensitive fields on a non-person client. Decide which of these are held in data tables that can be restricted, which are visible to credit staff only, and which are exported in reports. Review report and API access separately from screen access, because a user who cannot open a record may still reach it through a report or a batch call.

Review of access and changes

Access to business client data should be reviewed on a schedule and when staff change roles or leave. Build a recurring check that compares user accounts and office assignments against current staff lists, and that samples recent changes to business client records. Document who performs the review, what evidence is kept, and what happens to findings, so the process can be shown to an internal or external assessor.

Questions lenders ask before modelling business clients

How much effort does a business client model in Apache Fineract take?

The effort depends on how many distinct parts the model has, not on the Fineract code itself. The main drivers are the number of client product types you need (for example, a small trader product and a larger corporate product), how many business-specific data fields sit in data tables, how many approval rules apply before activation, and how many existing business records must be migrated. Each product type adds configuration, testing and documentation. Each approval rule adds role design and test cases. Ask any partner to break its estimate down by these four drivers so you can see which ones move the total.

Can our own team configure business clients in Fineract without a partner?

Yes, if you have engineers or administrators who know Fineract's REST API, its configuration model and its database. Fineract is a headless platform with no built-in user interface, so your team also needs to decide how staff will enter and review business records, typically through a front end such as the Mifos X web application or your own tooling. The harder parts are usually data design, approval flows and testing that activations fail when required data is missing. Assess whether your team can own those tasks after go-live, because configuration changes will need the same skills during upgrades.

What does the work need from our compliance and credit teams?

Your credit team must define what a business client is for each product, which legal forms you accept, what financial statements or guarantees are required, and how limits are set. Your compliance team must define the beneficial owner information you collect, the thresholds that trigger verification, the documents you keep, and who signs off on exceptions. These decisions come first because they determine the data tables, mandatory fields and approval steps that the build implements. Changes made later usually mean rework across products and test data, so ask for these decisions to be recorded in writing before design starts.

How long does a business client implementation take?

Duration depends on scope, so it cannot be stated in general terms. The timeline grows with the number of product types, the number of data tables and approval rules, the volume of data to migrate, the number of integrations that read business client data, and how many review cycles your credit and compliance teams need. Ask for a timeline that separates design, build, data preparation, testing and rollout, and that names the decisions each phase depends on. A timeline without those dependencies is hard to check.

What should a vendor quote for business client modelling include?

A useful quote lists the written scope in terms of deliverables: the entity and legal form design, the data tables and their fields, the beneficial owner model, how each lending product applies to non-person clients, the approval and activation rules, test cases, migration steps if any, documentation and handover. It should separate one-time work from recurring work such as support, upgrades and testing retainers. It should also state the assumptions behind the price, including who supplies the credit and compliance decisions and what happens if those decisions change. DeployOpen does not publish a price list, and a quote follows from the written scope.

Is a fixed-scope engagement suitable for business client modelling?

It often is, provided the business rules are decided before the build starts. Most DeployOpen engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work begins. That structure suits work with a clear boundary, such as configuring a defined set of business client products and their data tables. It fits less well when credit policy is still changing, because each change will alter scope. If your policy is still in development, consider a short design phase with a fixed scope, followed by a separate build scope once decisions are signed off.

Which figures for Fineract business client work are not yet confirmed?

No supplied figures exist for the effort, cost or duration of business client modelling, so treat any number you see with caution and ask where it comes from. Confirm with the project and your own environment the exact Fineract release you will run, the current support status of that release, and the database you will use, because PostgreSQL is the recommended platform for Fineract. Confirm with your credit and compliance leads the thresholds and document requirements. Ask any partner to show the assumptions behind each figure in its quote.

How DeployOpen works on this

DeployOpen plans, configures and documents business and corporate client models in Apache Fineract inside infrastructure you control. Each engagement starts from a written scope that sets which legal forms, data tables, beneficial owner records and lending products are in and out.

How we scope

  • Confirm which legal forms your business clients use and map each to a Fineract client type and data table.
  • List the business-specific fields your credit and KYC teams need, and who owns each one.
  • Agree in writing which lending products will accept non-person clients and which controls apply to them.

How we build

  • Configure data tables for business attributes and attach them to client actions where they must be captured.
  • Model beneficial owner records and test that activation fails when required ownership data is missing.
  • Test corporate loan products end to end in a non-production tenant before any data moves into production.

How we hand over

  • Deliver a document set covering the client model, data table definitions, validation rules and test evidence.
  • Walk your operations and compliance staff through how to onboard, update and close business clients.
  • Record configuration decisions so auditors and future administrators can trace why each field exists.

How we support

  • Offer ongoing support as a retainer for changes to business client fields, products and controls after go-live.
  • Review how new Fineract releases affect your data tables and client configuration before you upgrade.
  • Confirm the support scope, response expectations and upgrade handling in writing before the retainer starts.

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.