Problems & solutions · Custom Software

Microfinance Software Problems: The 5 That Cost Real Money, and How to Avoid Them

Microfinance Institution Software architecture and database illustration showing common problems and fixes.
The short answer

The most expensive failure in a microfinance core replacement is a weekend cutover. Members detect a wrong balance within one meeting cycle, because a woman who has paid the same instalment for eleven weeks knows what her card should say, and once a group has seen two wrong balances the officer starts keeping a paper list again to protect herself. You then have three records instead of one, branch reconciliation gets worse rather than better, and the repayment discipline that solidarity lending runs on takes the damage. Recovering that trust costs more than the parallel running you skipped, and it is not something a support ticket fixes.

Why does replacing the whole core in one release go wrong?

The board approves a core banking replacement, so the scope becomes a core banking replacement: loans, savings, shares, general ledger, branch teller operations, mobile money, member app, prudential reporting and migration, delivered together because a core is a single thing. Eighteen months later the project is still integrating the second mobile money operator and the field officers are still carrying paper collection sheets, which is where the actual losses are.

Microfinance makes this worse because your risk is not concentrated in the ledger. It sits in the window between a group meeting and the branch, in an unmatched paybill payment, and in an arrears classification that does not match what your platform computes. Each of those pays back on its own, and bundling them behind one go live means none of them pays back until all are finished.

The fix is to sequence by where the money leaks. In Digital Heroes delivery experience a focused first release covering group and individual loan origination, disbursement, the offline field collection application, officer cash accounts and branch reconciliation runs $90,000 to $180,000 and ships in 16 to 22 weeks. The full core adding savings and share products, one or two mobile money rails, prudential and investor reporting, a member self service application and migration off the legacy system runs $250,000 to $600,000 phased across 9 to 18 months. Take the field layer first, leave the legacy core as the ledger for a while, and let the recovered cash fund the rest.

What goes wrong when loan balances and savings ledgers are migrated?

The migration plan says move members, loans, balances and savings. What that omits is arrears history, and arrears history is where the undocumented decisions live: a loan rescheduled by a branch manager in 2023 with no record of the authority, a group cover that was posted as a payment rather than as a loan from the group fund, a compulsory savings balance partly applied to a written off account. None of that reconciles cleanly, and all of it affects a member's balance today.

In retail banking a wrong balance produces a call centre complaint. In microfinance it produces a group meeting where thirty people watch an officer fail to explain a figure, and the group's confidence is the collateral behind an unsecured loan. That is a credit issue, not a service one.

The fix is parallel running measured in weeks, not a cutover weekend. Move balances, run both systems, compare daily to the unit, and only retire the legacy core when the difference has been zero for a full repayment cycle. Treat arrears history as its own reconciliation exercise with a credit person involved, not a data load, because most of the awkward cases need a decision about what happened rather than a mapping rule. Print member statements from the new system and check them against passbooks in one branch before rolling further. Anyone who tells you migration is a weekend has not done it.

Why do mobile money integrations break after launch?

The paybill works in the sandbox and works in the first week. Then the failure modes arrive. A callback is delivered twice and the member is credited twice. A callback is delayed by hours and arrives after the officer has already recorded a cash payment for the same instalment. A member pays the right amount to the right paybill with a reference belonging to her sister, or to a member who left last year. The operator's end of day settlement file does not match what your system posted, and nobody notices for a fortnight because there is no automated comparison.

What makes this specific to microfinance is that the payer and the borrower are frequently different people, and the reference is typed by hand by someone standing in a shop. Matching cannot rely on a clean identifier because a clean identifier is not what arrives.

Three fixes. Store every inbound notification raw before anything is interpreted, so a matching rule can be rerun later without losing the source. Apply idempotency on the operator transaction identifier so a repeated callback cannot post twice, which is the single most common live incident in this category. And match in tiers, exact reference first, then phone number against member records, then name and amount against expected instalments, with anything unmatched going to a suspense account that ages visibly. Unmatched money is a liability, and pretending otherwise is how institutions end up with a balance nobody can explain to an examiner. Pull the operator's own settlement file daily and compare it to your postings automatically. Never trust the callback alone.

What happens when officer cash custody and offline sync are not covered?

The application records a repayment when an officer accepts it at a meeting. That is a payment in the software and it is not a payment in reality, because no money has moved anywhere. The officer is holding cash, sometimes overnight if the meeting is remote and the branch closed, and that cash is an institutional asset sitting in a bag on a motorbike. Loan servicing platforms have no concept of an officer float, a cash in transit balance, a banking slip that closes the float, or a shortfall recovered under a documented process, so the slow leak in that window stays invisible while the software reports a clean collection rate.

Offline fails alongside it, and for the same reason: the design assumed a completed request. Meetings happen under trees, in church halls and in market yards, on entry level Android phones that must last a full route. A design that requires connectivity produces receipts written on paper and entered that evening from memory, which is the data quality problem you were paying to remove.

The fix on both is structural. Give every officer a cash account that opens at zero each morning, credits every receipt she issues, and only clears when a branch cashier accepts and counts. Issue receipt numbers to her device in blocks so a voided or missing number is visible immediately, and put a ceiling on the float that forces banking before the next route. Build the collection application offline first: the device holds the group roster, schedules and balances before she leaves, records receipts locally with a device issued identifier, gives the member a receipt she can hold, and replays the queue when signal returns. Resolve conflicts by rule, rejecting a duplicate on its identifier and letting a head office schedule change override a cached copy, with anything unresolved going to a supervisor queue showing both versions.

Should you build custom or configure what you already own?

Configure and do not build if you are under roughly 8,000 active borrowers, lend individually, and take repayment by bank transfer or a single mobile money paybill. Apache Fineract is genuinely capable, the licence costs nothing, and a good implementation partner will get you live for far less than a build. Mambu is the right answer if you want a hosted core, your products are close to standard, and you would rather pay a subscription than own a system. Musoni was designed with field operations in mind and fits an institution whose model matches the way it was built.

Build when two or more of these are true. Your credit policy on group cover, savings liens and cycle eligibility is genuinely yours and you change it more than once a year, so every change in a packaged system becomes a fork you then maintain. Your officers work offline for a meaningful part of the week and your losses live in the cash window between a meeting and the branch. Your regulator's classification and provisioning rules do not match what your platform computes and you are already rebuilding returns in a spreadsheet.

A hybrid is legitimate and underused: keep Fineract as the ledger and build the field layer, officer cash accounts and reporting around it. That gets the leak closed without funding a full core, and it leaves the option to replace the ledger later once you know what you actually need from it.

How do hidden costs get into the quote?

Four places that reliably move the number.

  • Mobile money rails. Each operator is weeks rather than days, because sandbox access, live approval, callback handling and the end of day settlement file are separate work. A quote saying mobile money integration without naming the operators and the countries has priced one of them.
  • Migration. The single most underestimated line. Live balances, arrears history and savings ledgers have to move and then reconcile to the unit, with weeks of parallel running. Ask for it priced by number of accounts and a stated parallel period.
  • Multi country operation. Each jurisdiction multiplies the reporting layer, and prudential templates and deadlines are not transferable. Price per regulator, not per institution.
  • Deposit licence scope. Savings and share products carry obligations that lending alone does not, including lien behaviour and member equity across years. If you take deposits, say so in the first meeting, because it changes the ledger design rather than adding a module.

What separates a microfinance core that works from one that fails?

Four things, testable before you sign.

Ask them to draw the ledger before they draw a screen. A team that has done this puts member, group, loan account, savings account, officer cash account and suspense on the board as accounts with double entry between them, and they will tell you unprompted why the officer cash account is the one that saves you money. A team that draws users, loans and payments has built a lending application and is about to learn field banking on your budget.

The group is modelled as a balance, not a label. When a group covers a member from the meeting collection or the group fund, that is a posting with a counter entry against the member, the arrears clock keeps running on the original instalment because the regulator does not care who paid, and the decision about whether a savings lien is called is your credit policy expressed as a rule your committee can change without a vendor ticket.

Classifications are computed, not stored. The system holds raw instalment, posting and reschedule events, then computes the central bank's prudential bands, the portfolio at risk measure your social investor expects, and your board view as separate named policies over the same data. When a circular changes you revise one policy, rerun history, and show the examiner the old and new figures side by side.

You own it, in writing before kickoff: the repository, the cloud accounts and the unrestricted right to hire another firm. At Digital Heroes the code is yours from the first commit. In a regulated institution this is not only commercial hygiene, because a core banking system whose source you cannot access is a concentration risk an examiner will eventually raise with your board.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. McKinsey found that tech debt can amount to 20-40% of the value of a company's entire technology estate before depreciation, and CIOs report that 10-20% of the budget for new products is diverted to resolving tech-debt issues. Source: McKinsey & Company (2020) →
  2. In PMI's 2014 Pulse of the Profession report on requirements management, inaccurate requirements management is cited as a leading cause of project failure, with 47% of unsuccessful projects failing to meet goals due to poor requirements management. Source: Project Management Institute (PMI) (2014) →
  3. A study (led by Prof. Pak-Lok Poon, published in Frontiers of Computer Science, 2024) reviewing decades of spreadsheet-quality research found that about 94% of spreadsheets used in business decision-making contain errors, illustrating the hidden risk of manual spreadsheet workarounds that custom software is built to replace. Source: Central Queensland University / phys.org (Prof. Pak-Lok Poon et al.) (2024) →
  4. Gartner estimates RPA can eliminate up to 25,000 hours of avoidable rework caused by human errors in the finance function each year, equating to savings of roughly $878,000 for an organization with 40 full-time accounting staff (based on interviews with more than 150 corporate controllers and chief accounting officers). Source: Gartner (2019) →
Jordan P. · Senior Growth Strategist · New York

Growth strategy at an agency means figuring out which lever actually moves revenue before anyone spends on it. Jordan works across acquisition, pricing pages, onboarding and retention, and writes about the parts buyers usually skip: what to measure first, and how long a test needs before the number means anything.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

An officer's phone was stolen with unsynced receipts on it. What should happen?
The receipt number blocks issued to that device are immediately voided and reissued, so any number in the missing range that later appears is flagged rather than accepted. Group balances stay as the last synced state, and the branch reconstructs the meeting from the member receipts, which is why physical or messaged receipts at the meeting matter. Ask a prospective developer this question directly, because the answer reveals whether they have run a real field deployment.
How do we treat a payment made by a member's relative from a different phone number?
Match in tiers rather than rejecting it. Exact reference first, then the phone number against member records, then name and amount against expected instalments, and only then to suspense. The important design rule is that the raw notification is stored before interpretation, so when a branch identifies the payer two days later the match can be applied and audited rather than posted as a manual journal that hides what happened.
Can we keep Apache Fineract as the ledger and build only the field layer?
Yes, and it is a reasonable middle path that more institutions should consider. Fineract holds the loan and savings ledger while you build the offline collection application, officer cash accounts, reconciliation and the reporting policies your regulator actually wants. It closes the cash leak without funding a full core replacement, and it leaves you free to replace the ledger later once you know precisely what you need from it.
Our platform computes portfolio at risk differently from our examiner. What do we do?
Stop treating any single figure as the number. Store the raw instalment, posting and reschedule events and compute each classification as a separate named policy, so the prudential bands, the internationally recognised portfolio at risk over 30 days measure and your board view all derive from one dataset. Rescheduled loans usually need flagging and a seasoning period in a worse bucket, and that rule belongs in a policy you can revise rather than in code.
How long should we run the old and new systems in parallel?
Until the daily balance comparison has been zero for a full repayment cycle, which for weekly group lending usually means several weeks rather than several days. Compare to the unit, not to the nearest rounding, and check statements from the new system against member passbooks in one branch before extending. The cost of parallel running is staff time. The cost of skipping it is group confidence, which is the collateral behind an unsecured book.
Does a savings and credit cooperative need a different design from a lending only institution?
Materially, yes. Share capital earns a declared dividend rather than interest, member equity has to be tracked across years, and a general meeting approves allocations, none of which exist in lending first platforms. Savings also need proper lien behaviour, where part of a member balance is visible to her but held against a loan and released automatically on settlement. Bolting a wallet onto a loan system fails at exactly that point.
What is the first thing to build if we can only fund one release?
The field layer: offline collection with device issued receipts, officer cash accounts with float ceilings, and branch reconciliation. It is where the recoverable money is, it needs no change to your ledger, and it produces a visible daily number, which officers are open and by how much, that anyone in management can act on. The recovered cash frequently funds the next phase, which is the argument that gets a board to approve the rest.
How do we handle a member who leaves the group but still owes?
Keep the loan account and the group guarantee as separate objects so departure does not silently transfer or extinguish either. The group's exposure continues under whatever your credit policy says, any cover already posted stays as a balance owed by the member to the group fund, and the arrears clock continues on the original schedule. The failure to avoid is a system that closes group membership and orphans the loan, which is how balances become unexplainable a year later.
How much should a small business expect to pay for custom software?
Across 2,000+ Digital Heroes projects, a small business system that replaces spreadsheets or one core workflow typically lands between $40,000 and $80,000, with more complex first versions running up to $150,000. The two levers that move the number most are integrations and user roles, not the team's hourly rate. Any quote under $15,000 for a full production system means the vendor has not understood your scope yet.
Can I build my product on a no-code tool like Bubble instead of hiring developers?
For testing whether anyone wants the product, yes, and Bubble's paid plans start at $29 a month, which is the cheapest validation you will ever buy. The ceiling arrives with complex data relationships, heavy integrations, performance at a few thousand users, and the fact that you cannot export a Bubble app to servers you control. A path many Digital Heroes clients take: prove demand on no-code, then rebuild custom once revenue justifies it, treating the no-code version as a paid prototype rather than a foundation.
Is it cheaper to customize Salesforce than to build a custom CRM from scratch?
If you use less than a third of what Salesforce does, a custom CRM is often cheaper by year three. Salesforce Enterprise lists at $165 per user per month, so 25 seats cost about $49,500 a year before admin and consultant fees, while a focused custom CRM runs $60,000 to $100,000 once plus 15 to 20% a year in maintenance. If you genuinely need Salesforce's ecosystem, reporting, and app marketplace, customizing it beats rebuilding it; the mistake is paying enterprise prices to use it as a glorified contact list.
How small can the first version of my software be and still be worth building?
One workflow, end to end, for one type of user: the single process that currently burns the most hours or loses the most money. In Digital Heroes delivery experience, first versions scoped to 6 to 10 weeks of build time ship, get used, and generate the feedback that makes version two obviously right, while 9-month first versions routinely launch with features nobody touches. Everything you cut from v1 gets cheaper to build later, because real usage reorders the roadmap for you.
How much should a small business budget for its first custom app or website?
For a focused first build, most small businesses land between $8,000 and $60,000: roughly $8,000 to $45,000 for a custom website and $25,000 to $60,000 for an internal tool or simple web app, based on Digital Heroes delivery across 2,000+ projects. Customer-facing products with payments, logins, or a mobile app start around $40,000. Quotes far below these bands usually mean a template with your logo on it, not software shaped around your workflow.
We run everything on Airtable and spreadsheets. When is it time to go custom?
The switch usually makes sense when you hit one of two walls: Airtable's record caps (125,000 records per base on the Business plan) or logic the tool cannot express, like multi-step approvals with conditional pricing. There is also a simple cost signal: 25 people on Business at roughly $45 per seat per month is about $13,500 a year, forever, for a tool you are already fighting. Custom is worth it when the workflow is core to how you make money; for peripheral processes, staying on Airtable is the right call.
How many people should be working on my software project?
Three to five for a typical focused build: a project lead, one or two engineers, a designer, and part-time QA, which is the standard shape across 2,000+ Digital Heroes projects. Larger platforms justify 6 to 10, but a ten-person team on a small first version usually signals bill padding rather than horsepower. What predicts success is whether a senior engineer is writing your code daily, not the headcount on the proposal.
How do I calculate whether custom software will pay for itself?
Divide the build cost by the monthly benefit, where benefit is hours saved times loaded hourly cost, plus subscription fees replaced, plus any revenue the software unlocks. Three staff saving 10 hours a week each at a $40 loaded rate is about $62,000 a year, which pays back a $60,000 build in roughly 12 months. Across Digital Heroes internal-tool projects, 12 to 24 months is the normal payback range, and anything projecting under 6 months usually means the spreadsheet is hiding costs.
Who can build a custom software system?

Digital Heroes builds custom software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?