You do not need to manage the general ledger manually. Agatabo creates journal entries automatically whenever you perform a business operation — recording a deposit, disbursing a loan, paying an expense. The accounting happens behind the scenes. This page explains how the system works so you can understand your reports, investigate discrepancies, and — when necessary — create manual adjustments.
Double-Entry Bookkeeping
Agatabo uses double-entry accounting: every transaction affects at least two accounts, with total debits always equalling total credits. This is not just an accounting convention — it is what makes your financial reports self-consistent and fraud-resistant. An unbalanced entry is mathematically impossible to post; Agatabo rejects it outright. The accounting equation that double-entry preserves is:Journal Entries
A journal entry is the atomic record of a single financial event. Each entry contains:| Field | Description |
|---|---|
| Kind | The type of transaction — one of 21 predefined kinds (see below) |
| Transaction Date | When the event occurred |
| Status | POSTED (permanent, affects balances) or DRAFT (can be edited, does not affect balances) |
| Lines | Two or more debit/credit lines that must balance |
| Title / Description | Human-readable summary for audit and reporting |
| Idempotency Key | Prevents duplicate entries from network retries |
The 21 Journal Entry Kinds
Savings & Member FeesSAVINGS_DEPOSIT— Member deposits funds into their savings accountENTRY_FEE— New member pays the initial membership fee
LOAN_DISBURSEMENT— Loan principal disbursed to a borrowerLOAN_PAYMENT— Member makes a loan repayment (principal + interest + penalties)LOAN_PENALTY— Late-payment penalty applied to a loanLOAN_DEFAULT— Loan written off as bad debtINTEREST_PAID_IN_ADVANCE— Upfront interest payment collected at disbursement
EXPENSE_PAYMENT— Standard operating expense paid from cashBANK_CHARGE— Bank fee linked to a parent expense, asset, or loan transaction
RESERVE_TOP_UP— Allocate retained earnings into a reserveRESERVE_RELEASE— Return reserve funds to undesignated retained earningsRESERVE_EXPENSE— Expense paid directly from a reserve (child of a RESERVE_RELEASE)
DIVIDEND_DISTRIBUTION— Retained earnings distributed to member savings accounts
ASSET_CASH_PURCHASE— Asset purchased with cashASSET_COLLATERAL— Asset received as loan collateralASSET_GIFT— Asset received as a donationASSET_DISPOSAL— Asset sold or disposed of
CASH_OPENING— Opening cash balance when setting up an accountREVERSAL— Reversal of a previously posted entryPERIOD_CLOSE— Transfers net income to retained earnings at period endMANUAL_JOURNAL— Any manual adjustment created by an accountant
Ledger Accounts
Ledger accounts are the individual categories that accumulate the effect of every journal entry over time. They fall into five account types:| Type | What It Represents | Normal Balance |
|---|---|---|
| ASSET | Resources the organisation owns or is owed | Debit |
| LIABILITY | Obligations the organisation owes to members or others | Credit |
| EQUITY | The organisation’s net worth — retained earnings and reserves | Credit |
| INCOME | Revenue earned during a period | Credit |
| EXPENSE | Costs incurred during a period | Debit |
All 20 Account Roles
| Role | Type | Purpose | Scope Pattern |
|---|---|---|---|
CASH | ASSET | Cash on hand or in bank accounts | cash:{bankAccountId} |
LOAN_RECEIVABLE | ASSET | Outstanding loan principal | loan:{id} |
INTEREST_RECEIVABLE | ASSET | Accrued loan interest not yet paid | loan:{id} |
PENALTY_RECEIVABLE | ASSET | Unpaid late-payment penalties | loan:{id} |
FIXED_ASSET | ASSET | Equipment, furniture, buildings | fixedAsset:{id} |
SAVINGS | LIABILITY | Individual member deposit balances | organizationUser:{id} |
BORROWER_SURPLUS_LIABILITY | LIABILITY | Overpayments from borrowers | loan:{id} |
RETAINED_EARNINGS | EQUITY | Accumulated organisational profits | organization:{id} |
RESERVE_ALLOCATION | EQUITY | Designated reserve funds | reserve:{id} |
OPENING_EQUITY | EQUITY | Initial capital contributed at setup | organization:{id} |
OTHER_EQUITY | EQUITY | Miscellaneous equity items | organization:{id} |
INTEREST_INCOME | INCOME | Interest earned on loans | organization:{id} |
PENALTY_INCOME | INCOME | Late-payment penalty revenue | organization:{id} |
ENTRY_FEE_INCOME | INCOME | Membership fee revenue | organization:{id} |
DISBURSEMENT_FEE_INCOME | INCOME | Loan processing fee revenue | organization:{id} |
BAD_DEBT_RECOVERY_INCOME | INCOME | Previously written-off debt recovered | organization:{id} |
OTHER_INCOME | INCOME | Miscellaneous revenue | organization:{id} |
OPERATING_EXPENSE | EXPENSE | General operating costs | organization:{id} |
BANK_CHARGE_EXPENSE | EXPENSE | Bank fees and charges | organization:{id} |
BAD_DEBT_EXPENSE | EXPENSE | Loan write-offs | organization:{id} |
Scope Keys
Scope keys link ledger accounts to specific entities, enabling per-member, per-loan, and per-reserve accounting. The format is{entity_type}:{entity_id}.
| Scope Pattern | Used For |
|---|---|
organization:{orgId} | Organisation-wide accounts: retained earnings, income, expenses |
cash:{bankAccountId} | One CASH account per bank account |
organizationUser:{userId} | One SAVINGS account per member |
loan:{loanId} | One set of receivable accounts per loan |
reserve:{reserveId} | One RESERVE_ALLOCATION account per reserve |
fixedAsset:{assetId} | One FIXED_ASSET account per asset |
Transaction Examples with Journal Entries
Deposit — Member saves 500,000 RWF
Loan Disbursement — 2,000,000 RWF to Member Bob
Dividend Distribution — 5,000,000 RWF to 50 Members
Reserve Allocation — 1,000,000 RWF to Emergency Fund
Guidance by Role
For treasurers and administrators — Trust Agatabo’s automatic journal entries. You do not need to understand debits and credits to record daily transactions. Focus on entering accurate transaction data: correct amounts, correct dates, correct bank accounts. Review your Balance Sheet and Profit & Loss reports periodically to understand your organisation’s financial position. Involve an accountant before creating any manual journal entries. For accountants — The system enforces proper double-entry throughout. All automatic entries are balanced and validated before posting. Use manual journal entries sparingly, always with clear descriptions. Verify the trial balance before closing each accounting period. Export journal entries for external audit using the journal entries view.Double-Entry Accounting
Learn the accounting principles behind every journal entry.
Balance Sheet
See how ledger balances roll up into the balance sheet.
Period Closing
Close accounting periods and generate automated closing entries.
Audit Trail
Track who made changes and when across your organization.