
General Ledger & Finance
Financial control built into every lending transaction.
Every loan event posts as a balanced journal into your chart of accounts, rolls into the trial balance and statements, and traces back to the borrower and payment behind it.
- Trial balance
- Balanced · TSh 1,124.7M
- Repayment · Loan #1956
- Journal posted · Dr = Cr
- Bank reconciliation
- Difference resolved to TSh 0
One control center for the whole finance operation
Behind the lending platform sits a finance control center. Cash, the loan book, income, expenses and payables are one live position — and every line is the product of posted, balanced journals, not a spreadsheet assembled at month-end.
| Date | Event | Debit | Credit | Status |
|---|---|---|---|---|
| 15 Sep · 10:12 | Loan repayment · #1956 | Cash & bank | Loans receivable / interest | Posted |
| 18 Sep · 14:42 | Loan disbursement · #4107 | Loans receivable | Cash & bank | Posted |
| 18 Sep · 16:00 | Interest accrual · portfolio | Interest receivable | Interest income | Posted |
| 18 Sep · 16:30 | Insurance premium · #4107 | Cash & bank | Insurance payable | Posted |
From a month-end spreadsheet to balanced books
Drag the slider: the same September books, kept in a workbook versus posted in Ustawi.
| 15 Sep | #1956 repaymt | 433,830 | int split? |
| 18 Sep | #4107 disb. | 1,200,000 | posted? |
| 18 Sep | Insurance prem | 24,000 | income?? |
| 30 Sep | TB difference | #REF! | ask Kimaro |
Every loan event becomes accounting
This is the signature of the app. A loan does not just change a balance — it creates accounting. Each event is mapped to accounts and posted as a balanced double-entry journal, so the general ledger and the trial balance are always a true picture of what the lending operation actually did.
Tap a stage to stop on it. Hover pauses the animation.
| Dr | 1200 Loans receivable | TSh 1,200,000 |
| Cr | 1100 Cash & bank | TSh 1,200,000 |
The exact entries and accounts depend on your configured accounting treatment.
Every journal entry has a full record
A posting is not an anonymous number. Each journal carries its source event, reference, description, the accounts it moved, and — where approvals apply — who created it and who approved it.
| Dr | 1200 Loans receivable | TSh 1,200,000 |
| Cr | 1100 Cash & bank | TSh 1,200,000 |
Whether a journal requires maker-checker approval is configured per institution.
Loan accounting, event by event
Each kind of loan event maps to its own posting. Disbursement, repayment split across principal, interest and fees, interest accrual, fee income, an insurance premium recognised as a liability, and a write-off — each becomes a balanced journal.
| Dr | Loans receivable | TSh 1,200,000 |
| Cr | Cash & bank | TSh 1,200,000 |
| Dr | Cash & bank | TSh 185,000 |
| Cr | Loans receivable | TSh 140,000 |
| Cr | Interest income | TSh 40,000 |
| Cr | Fee income | TSh 5,000 |
| Dr | Interest receivable | TSh 62,000 |
| Cr | Interest income | TSh 62,000 |
| Dr | Cash & bank | TSh 118,000 |
| Cr | Fee income | TSh 100,000 |
| Cr | VAT payable | TSh 18,000 |
| Dr | Cash & bank | TSh 24,000 |
| Cr | Insurance payable | TSh 24,000 |
| Dr | Loan loss allowance | TSh 300,000 |
| Cr | Loans receivable | TSh 300,000 |
Postings are configured per institution. The exact entries and accounts depend on your configured accounting treatment, and VAT follows your configured tax treatment.
A chart of accounts you configure
Loan events post into a structured chart of accounts — assets, liabilities, equity, income and expenses — so the books are organised the way an accountant expects, and every posting lands in a known account.
- 1100Cash & bank
- 1200Loans receivable
- 1250Loan loss allowance
- 1300Interest receivable
- 1400Other receivables
- 2100Member deposits
- 2200Insurance payable
- 2300Accounts payable
- 2400VAT payable
- 3100Share capital
- 3200Retained earnings
- 4100Interest income
- 4200Fee income
- 5100Staff costs
- 5200Rent
- 5300Operating expenses
- 5400Interest expense
- 5500Provision expense
You structure accounts around your institution's chart of accounts — these codes and names are not mandatory.
The general ledger, account by account
Open any account and see its movements — opening balance, every debit and credit, the running balance, the journal reference and the source transaction behind each line. Filter by account, date range and branch, and export the view.
| Date | Description | Journal ref | Dr | Cr | Running balance |
|---|---|---|---|---|---|
| 01 Sep | Opening balance | — | — | — | TSh 88,400,000 |
| 05 Sep | Interest accrual | JE-2026-09140 | — | TSh 4,200,000 | TSh 92,600,000 |
| 12 Sep | Interest accrual | JE-2026-09161 | — | TSh 1,900,000 | TSh 94,500,000 |
| 15 Sep | Repayment · Loan #1956 (interest) | JE-2026-09168 | — | TSh 152,118 | TSh 94,652,118 |
| 18 Sep | Interest accrual | JE-2026-09184 | — | TSh 1,547,882 | TSh 96,200,000 |
Each line expands to its journal detail and the source loan transaction that created it.
VAT-aware account classification
Interest, fees and other income can be classified consistently at the chart-of-accounts level, so applicable VAT treatment is applied per your institution's configured accounting and tax treatment — and the same classification feeds financial and tax reporting.
| Dr | Cash & bank | TSh 118,000 |
| Cr | Fee income | TSh 100,000 |
| Cr | VAT payable | TSh 18,000 |
The VAT rate, exact entries and accounts depend on your configured accounting and tax treatment. Ustawi supports consistent classification — it does not guarantee tax compliance.
Insurance is recorded as a liability, never income
A credit-life or asset premium collected with a loan is money owed onward to the insurer, so it posts as a GL liability — not as income. Ustawi tracks the premium from collection through settlement.
- Loan issued
Policy attached to the loan
- Premium calculated
Per the loan and product
- Premium collected
Received with the loan cash flow
- Recorded as liability
Cr Insurance payable — never income
- Policy / claim activity
Tracked against the policy
- Settlement / reconciliation
Liability settled to the insurer
| Dr | Cash & bank | TSh 24,000 |
| Cr | Insurance payable | TSh 24,000 |
The exact accounts depend on your configured accounting treatment.
Statements you can trace to the source
Financial statements, straight from the ledger
The trial balance, income statement, balance sheet and cash flow are generated from the same posted journals — a view of the books, not a separately rebuilt model. Account statements, a journal register, receivables, payables and branch financials come from the same source.
| Account | Debit | Credit |
|---|---|---|
| 1100 Cash & bank | TSh 184,600,000 | — |
| 1200 Loans receivable | TSh 842,500,000 | — |
| 1250 Loan loss allowance | — | TSh 21,100,000 |
| 1300 Interest receivable | TSh 12,400,000 | — |
| 1400 Other receivables | TSh 3,800,000 | — |
| 2100 Member deposits | — | TSh 812,000,000 |
| 2200 Insurance payable | — | TSh 4,600,000 |
| 2300 Accounts payable | — | TSh 18,400,000 |
| 2400 VAT payable | — | TSh 300,000 |
| 3100 Share capital | — | TSh 100,000,000 |
| 3200 Retained earnings | — | TSh 57,300,000 |
| 4100 Interest income | — | TSh 96,200,000 |
| 4200 Fee income | — | TSh 14,800,000 |
| 5100 Staff costs | TSh 33,100,000 | — |
| 5200 Rent | TSh 5,400,000 | — |
| 5300 Operating expenses | TSh 14,100,000 | — |
| 5400 Interest expense | TSh 22,400,000 | — |
| 5500 Provision expense | TSh 6,400,000 | — |
| Total | TSh 1,124,700,000 | TSh 1,124,700,000 |
- Trial balance
- Income statement (P&L)
- Balance sheet
- Cash flow statement
- General ledger
- Account statements
- Journal register
- Receivables (AR)
- Payables (AP)
- Branch financial reports
Trace a financial number back to its source
A figure in the income statement is the top of a chain, not a typed value. Open interest income and drill down through the account, the period ledger, the journal, the loan, the borrower and the payment that created it — the answer to "where did this come from?" is a drill-down, not a rebuild.
Statement → Account → Ledger → Journal → Loan → Borrower → Payment
See your own loan book roll up into a balanced trial balance.
Reconciliation, controls and close
Bank and mobile-money reconciliation
Cash is reconciled, not assumed. The ledger balance is matched against the bank statement with uncleared items shown explicitly, and incoming mobile-money payments are reconciled against what was expected — so a difference is a line to work, not a month-end surprise.
Incoming payments match to the loan and reconcile against the expected amount.
Period close is gated on a readiness checklist
A period does not close on a click. Ustawi surfaces a readiness checklist — journals posted, bank and cash reconciled, receivables and payables reviewed, the trial balance balanced and exceptions cleared — and the close is controlled. Reopening is controlled and auditable too.
- All journals posted
- Bank reconciliation completed
- Cash reconciled
- Receivables reviewed
- Payables reviewed
- Trial balance balanced
- Exceptions reviewed
Which checks gate the close is configured per institution.
- 1 · Reason recorded
- 2 · Correction posted
- 3 · Re-close
Reopen is recorded and auditable — not a silent edit.
Controls built into the accounting
The controls that make finance trustworthy are part of the design — not a policy document bolted on afterwards.
Every posted journal balances — debits equal credits.
Every material accounting action is captured with actor and timestamp.
A closed period cannot be silently changed — reopen is controlled.
Loan events map to configured accounts, consistently.
Maker-checker on sensitive accounting actions, where configured.
Cash and payments reconciled against bank and payment records.
One ledger behind every branch and report
One ledger. Multiple branches.
Branch is a real dimension in the ledger — journals and balances carry it — so the institution total is a roll-up of branch figures, and a branch trial balance and branch financials are available, not just portfolio and PAR by branch.
| Branch | Portfolio | Collections | Expenses | PAR30 |
|---|---|---|---|---|
| Kijitonyama | TSh 182.4M | TSh 21.4M | TSh 1.3M | 3.8% |
| Kariakoo | TSh 208.3M | TSh 24.1M | TSh 1.5M | 4.4% |
| Temeke | TSh 150.9M | TSh 17.8M | TSh 1.0M | 5.1% |
| Arusha | TSh 167.6M | TSh 19.2M | TSh 1.1M | 2.9% |
| Mwanza | TSh 133.3M | TSh 15.6M | TSh 0.9M | 4.0% |
Branch is a configured GL dimension, so a branch-level trial balance and financials are available from the same posted journals.
Finance and regulatory reporting from the same records
Finance and regulatory reporting work from connected operational records — the same loans, payments and postings run from origination through to portfolio and regulatory reporting. The GL is designed to support traceable financial records and reporting; it supports traceability, it does not by itself make an institution compliant.
Connected across the Ustawi platform
General Ledger & Finance is the financial control center the rest of the platform posts into — every app's activity reconciles back to the same books.
The loan events that become accounting.
Explore app →Repayments post against the loan and the ledger.
Explore app →Premiums recognised as a GL liability.
Explore app →Reporting from the same connected records.
Explore app →Bank and mobile-money events reconciled to the ledger.
Explore app →For the whole finance team
Who uses it
Finance is a shared operation. Each role gets the view and the outcome it needs from the same ledger.
Owns the close, the statements and the controls.
Posts manual/adjusting journals and reconciles accounts.
Sees branch financials and PAR from the same ledger.
Ties portfolio performance back to the books.
Traces reported numbers to source records.
Reads P&L, balance sheet and cash flow live.
A day in finance
What the finance team actually does with the app across a working day — and into month-end close.
- Review cash & bank position; check overnight postings
- Reconcile mobile-money receipts against expected repayments
- Post manual/adjusting journals (accruals, corrections)
- Review receivables and payables aging
- Resolve reconciliation exceptions with branches
- Generate management reports from the ledger
- Run the period-close readiness checklist
Getting live
How we get you live
A structured rollout, from configuring the chart of accounts to running your first controlled close.

- 01Discover
Understand your finance operation, statements and reporting needs.
- 02Configure
Set up your chart of accounts and loan-event account mappings.
- 03Migrate
Load opening balances into the ledger.
- 04Reconcile
Reconcile cash, bank and mobile-money against the books.
- 05Pilot
Run live postings and a trial close with monitoring on.
- 06Go live
Operate at volume, with support through your first close.
See General Ledger & Finance in a live demo
Request a DemoFrequently asked questions
Real double-entry — every loan event is mapped to accounts and posted as a balanced journal, so debits always equal credits.