App Integration & Data Flows

The MFI Suite is not a bundle of separate products bolted together — it is one data model with one ledger. This page shows how the apps integrate: the architecture at a glance, the end-to-end flows as swimlanes, and a map of which app talks to which.

One platform, one data model

Channels feed the core; the member (CIF) is the spine every account hangs off; and every money movement converges on the General Ledger. Risk, regulatory and analytics read from the core and the ledger.

CHANNELSPublic WebsiteiBANKMember PortalUSSDWhatsAppMobile AppsMEMBER (CIF + KYC)Single customer record — every account, loan, share & case hangs off the memberCORE BANKING APPSSavings & TelleringLoansSharesCardsGroup LendingPAYMENT RAILSM-Pesa DarajaAirtelMTN MoMoPesalinkRTGS / EFTACCOUNTING — GENERAL LEDGEREvery money event posts a real-time, balanced double-entry journal hereRISK, REPORTING & COMPLIANCEIFRS 9 ECLTreasury & ALMCredit BureauRegulatory PackData Warehouse
Architecture — channels → member → core apps → payment rails → general ledger → risk, reporting & compliance.

Integration map — who talks to whom

Each integration point is event-driven: a trigger in one app produces a defined effect in another.

Source appTalks toTriggerEffect
Members (CIF)Savings · Loans · Shares · CardsAccount opened / member frozenEvery account references the member; a freeze or blacklist cascades to all products & channels
SavingsAccounting (GL)Deposit · withdrawal · transfer · interestReal-time balanced journal per transaction
Mobile MoneySavingsValidated Daraja / Airtel / MTN callbackCredits the member savings account; unmatched receipts go to a suspense queue
LoansPayment railDisbursement approvedTriggers M-Pesa B2C or EFT payout
LoansAccounting (GL)Disbursement · accrual · repayment · write-offPosts the matching double-entry journal
LoansIFRS 9 ECLQuarterly runActive book feeds staging + ECL; result becomes the provisioning journal
IFRS 9 ECLAccounting (GL)Run committedProvisioning journal (impairment) posted
Channels (USSD / WhatsApp / iBANK)Savings · LoansMember self-serviceBalance, mini-statement, transfer, loan repayment, statements
All appsRegulatory PackMonthly / quarterly returnsCBK / SASRA / BoU templates read across every module
All appsData WarehouseNightly exportStar-schema export for BI / analytics

Flow 1 — Member onboarding & activation

From first capture to an active member with internet-banking access — KYC and the two-person rule sit in the middle.

Channel / FieldofficerMembers (CIF)KYC & ComplianceiBANK / Portal1Captureapplicant2Create CIF +KYCdocuments3AML & riskscore4Two-personapproval5Member setto Active6Portalinvite +first login
Onboarding swimlane — Channel → Members (CIF) → KYC & Compliance → iBANK.

Flow 2 — Mobile-money deposit

A member top-up via M-Pesa flows from the channel, through the validated Daraja callback, into savings, and posts to the ledger.

Member / ChannelMobile Money(Daraja)Savings appAccounting (GL)1Member initiatesdeposit (STK /paybill)2Daraja callbackvalidated (HMAC,idempotent)3Post to member savingsaccount4Auto journal: DrCash/Bank · Cr Membersavings
Deposit swimlane — Channel → Mobile Money → Savings → Accounting.

Flow 3 — Loan origination → disbursement

Application through disbursement, with credit scoring and dual-control approval; disbursement fans out to the payout rail and the ledger.

Member / OfficerLoansApprovals(2-person)Payment railAccounting (GL)1Apply: amount,product,collateral2Credit score +bureau pull3Committee 3-of-5/ two-person4Generateschedule +disburse5M-Pesa B2C / EFTpayout6Journal: Dr Loanbook · Cr Cash
Loan swimlane — Member → Loans → Approvals → payout rail + Accounting.

Flow 4 — Loan repayment & allocation

Repayments are allocated by waterfall, update the schedule, and post interest income + principal to the ledger.

Member / ChannelLoansAccounting (GL)1Pay instalment (STK /standing order)2Allocate: penalty,fees, interest,principal3Update schedule (paid/ due / overdue)4Journal: Dr Cash · CrInterest income +principal
Repayment swimlane — Channel → Loans (waterfall) → Accounting.

Flow 5 — IFRS 9 provisioning at quarter-end

The ECL engine reads the live loan book, computes expected credit loss, posts the provisioning journal, and feeds regulatory returns.

LoansIFRS 9 ECLengineAccounting (GL)Regulatoryreporting1Active loan book+ DPD / SICRtriggers2Stage 1/2/3classify · PD xLGD x EAD3ECL + variancevs prior quarter4Provisioningjournal: DrImpairment · Cr5CBK / SASRAreturns +Balance Sheet
IFRS 9 swimlane — Loans → ECL engine → Accounting → Regulatory reporting.

Integration principles

  • The member (CIF) is the spine. One customer record carries identity, KYC, contacts and consent; every savings account, loan, share and support case links back to it.
  • Real-time, double-entry accounting. Every money event (teller, M-Pesa, loan, fee, write-off) posts a balanced journal the moment it happens — so the Trial Balance, P&L and Balance Sheet are always live.
  • Soft-coupled modules. Each app guards cross-module calls, so modules can be licensed and installed independently (feature gates) without breaking.
  • Idempotent, signed callbacks. Mobile-money callbacks are HMAC-verified and de-duplicated; a repeated callback never double-posts.
  • Two-person rule & audit-immutable journals. Disbursements, large transfers and manual journals require dual control; posted journals cannot be edited or deleted.
  • Country profile drives the rails. One config selects the regulator pack, rails (M-Pesa / Airtel / MTN / Pesalink), GL chart and channels per country.
Was this page helpful?