General Ledger & Accounting Module

The Accounting module (/gl) maintains the institutional general ledger for BiiTrust. It guarantees strict double-entry compliance, organizes the chart of accounts, tracks capital funding sources, powers manual journal vouchers, and delivers real-time financial statements.


1. Key Definitions & Accounting Concepts

ConceptExplanation
General Ledger (GL)The primary accounting record holding all financial accounts, transactions, and balances of the institution.
Double-Entry PrincipleThe fundamental bookkeeping law where every transaction has equal and offsetting entries: $\sum \text{Debits} = \sum \text{Credits}$.
Chart of Accounts (COA)A structured index of financial accounts categorized into Assets, Liabilities, Equity, Income, and Expenses.
Journal Voucher (JV)A documented accounting entry recording non-automated transactions, such as bank interest, rent accruals, or asset depreciation.
Contra-Asset AccountAn account with a credit balance that offsets an asset, such as 1290 Allowance for Loan Impairment offsetting 1210 Loans Receivable.
Suspense AccountA temporary holding account used when a transaction cannot immediately be allocated (e.g., unmatched M-Pesa receipts).
Trial BalanceA financial report listing the closing balances of all general ledger accounts at a specific point in time to ensure debits equal credits.
Period-End ClosingThe monthly or annual procedural lock that prevents backdated postings to closed fiscal periods and rolls net profit into Retained Earnings.

2. Chart of Accounts Structure (/gl/accounts)

BiiTrust organizes its chart of accounts into a standard five-tier numbering hierarchy:

Account RangeCategoryNormal BalancePurposeKey Accounts
1000 – 1999AssetsDebitResources owned by the institution1101 Branch Cash Drawer
1110 M-Pesa Clearing
1120 Commercial Bank Accounts
1210 Loans Receivable (Principal)
1290 Allowance for Loan Impairment (Contra)
2000 – 2999LiabilitiesCreditObligations owed to third parties2101 Client Security Deposits
2190 M-Pesa Suspense (Unallocated)
2200 Commercial Borrowings & Lines of Credit
2300 Accrued Taxes & Payroll Withholding
3000 – 3999EquityCreditInstitutional net worth & reserves3100 Share Capital
3200 Retained Earnings
3300 Statutory Credit Risk Reserve
4000 – 4999Income / RevenueCreditEarnings from financial operations4110 Interest Income on Loans
4120 Loan Application & Processing Fees
4130 Late Repayment Penalty Income
4190 Bad Debt Recoveries
5000 – 5999ExpensesDebitOperating costs and credit losses5110 Loan Impairment & Provision Expense
5200 Staff Salaries & Benefits
5300 Branch Rent & Utilities
5400 Bank & Mobile Money Transaction Fees

3. Automated Event Journaling

The core engine of BiiTrust automatically posts balanced, immutable journal entries in response to operational activities. Frontline staff do not need to create manual accounting entries for daily transactions:

1. Loan Disbursement Event

When a loan of KES 50,000 is disbursed via M-Pesa with a 2% processing fee deducted upfront:

  • Debit: 1210 Loans Receivable (Gross Principal) $\to$ KES 50,000
  • Credit: 4120 Loan Processing Fee Income $\to$ KES 1,000
  • Credit: 1110 M-Pesa Disbursement Clearing $\to$ KES 49,000

2. Loan Repayment Event

When a borrower pays KES 12,000 at the branch counter:

  • Debit: 1101 Branch Cash Drawer $\to$ KES 12,000
  • Credit: 4130 Late Penalty Income $\to$ KES 500
  • Credit: 4110 Loan Interest Income $\to$ KES 2,500
  • Credit: 1210 Loans Receivable (Principal) $\to$ KES 9,000

3. Payment Reversal Event

When an authorized manager reverses a mistaken payment:

  • The system reads the exact legs of the original payment and posts an automated reversing journal:
    • Debit: 1210 Loans Receivable $\to$ KES 9,000
    • Debit: 4110 Loan Interest Income $\to$ KES 2,500
    • Debit: 4130 Late Penalty Income $\to$ KES 500
    • Credit: 1101 Branch Cash Drawer $\to$ KES 12,000

4. Loan Write-Off Event

When a loan of KES 35,000 principal is written off after exhausting all recovery avenues:

  • Debit: 1290 Allowance for Loan Impairment $\to$ KES 35,000
  • Credit: 1210 Loans Receivable $\to$ KES 35,000

4. Manual Journal Vouchers (/gl/vouchers/new)

Non-loan financial activities (such as paying office rent, recording bank charges, or adjusting asset depreciation) are recorded using the Journal Voucher screen:

┌────────────────────────────────────────────────────────────────────────────────────────┐
│ New Journal Voucher                                                     [ Post Voucher ]│
├────────────────────────────────────────────────────────────────────────────────────────┤
│ Date: [ 2026-09-16 ]        Branch: [ Nairobi CBD (BRX-001) ]       Ref: [ JV-2026-089 ]│
│ Narrative: [ Branch office monthly electricity and internet connectivity ]              │
├──────┬───────────────────────────────┬────────────────────────┬─────────────┬──────────┤
│ Line │ Account                       │ Description            │ Debit (KES) │ Credit   │
├──────┼───────────────────────────────┼────────────────────────┼─────────────┼──────────┤
│ 1    │ 5300 Office Utilities & Rent  │ Kenya Power Bill       │ 8,500.00    │ —        │
│ 2    │ 5300 Office Utilities & Rent  │ Safaricom Fibre Link   │ 6,000.00    │ —        │
│ 3    │ 1120 KCB Operating Account    │ Direct Bank Transfer   │ —           │ 14,500.00│
├──────┴───────────────────────────────┴────────────────────────┼─────────────┼──────────┤
│ Total Balanced Lines: 3                                        │ 14,500.00   │ 14,500.00│
│ Balance Difference: KES 0.00 (Balanced ✓)                      │             │          │
└────────────────────────────────────────────────────────────────────────────────────────┘

Steps to Record a Journal Voucher:

  1. Open Accounting $\to$ New Voucher (/gl/vouchers/new).
  2. Select the Value Date and the relevant Branch (cost center).
  3. Enter a clear Narrative / Memo explaining the operational business rationale.
  4. Add line items:
    • Search for the target account by code or title (e.g., 5300 or Utilities).
    • Enter line-specific descriptions and specify either a Debit or Credit amount.
  5. The live balance indicator displays green (Balanced ✓) when $\sum \text{Debits} = \sum \text{Credits}$.
  6. Upload supporting scanned documents (e.g., utility bill invoice, bank transfer receipt).
  7. Click Post Voucher. The voucher is permanently committed to the ledger with your user signature.

5. Real-Time Financial Statements

The ledger delivers instant financial statements without requiring batch closing or manual spreadsheet consolidation:

1. Trial Balance (/gl/trial-balance)

  • Lists every active account in the chart of accounts with its opening balance, debit movements, credit movements, and closing net balance.
  • Filters allow instant scoping to a single branch or institution-wide consolidation.
  • Verifies overall mathematical integrity across all branches.

2. Balance Sheet / Statement of Financial Position (/gl/balance-sheet)

  • Assets: Cash on hand, bank balances, M-Pesa float, gross loan portfolio less loan impairment allowance, fixed assets.
  • Liabilities: Security deposits held for borrowers, external credit facilities, accrued vendor expenses.
  • Equity: Paid-up capital, statutory reserve funds, retained earnings.
  • Displays key liquidity and leverage ratios at the top of the report.

3. Income Statement / Statement of Comprehensive Income (/gl/income)

  • Revenue: Interest income on personal and SME loans, origination fees, late penalties, recovery of previously written-off debts.
  • Credit Loss Expense: Additions to loan impairment allowances calculated under IFRS 9 ECL models.
  • Operating Expenses: Personnel salaries, branch office leases, travel, communication, IT hosting, regulatory licensing.
  • Net Operating Surplus (Profit / Loss): Real-time bottom-line performance.

6. Period-End Hard Closing & Audit Controls

To ensure regulatory compliance and prevent retroactive alteration of audited accounts:

  1. Monthly Close: At month-end, the Chief Accountant locks the fiscal period in /settings/accounting.
  2. Post-Lock Prevention: Once a period is locked, the database rejects any attempt to backdate journal vouchers, repayments, or disbursements into that month.
  3. Audit Trail: Every journal entry records the generating subsystem, user ID, client IP address, and an immutable cryptographic SHA-256 hash chaining back to the previous entry.