What is Double-Entry Accounting?
Double-entry accounting is a method where every financial transaction affects at least two accounts: one is debited, and another is credited. The total debits always equal total credits, keeping the accounting equation balanced.Key principle: For every transaction, total debits = total credits. This ensures the books always balance and errors are easily detected.
The Accounting Equation
- Assets: What the organization owns (cash, loans receivable, fixed assets)
- Liabilities: What the organization owes (member savings, payables)
- Equity: The organization’s net worth (retained earnings, reserves)
Debits and Credits
Basic Rules
| Account Type | Increase | Decrease | Normal Balance |
|---|---|---|---|
| Assets (Cash, Loans Receivable, Fixed Assets) | Debit | Credit | Debit |
| Liabilities (Member Savings, Payables) | Credit | Debit | Credit |
| Equity (Retained Earnings, Reserves) | Credit | Debit | Credit |
| Income (Interest Income, Fees) | Credit | Debit | Credit |
| Expenses (Operating Expenses, Salaries) | Debit | Credit | Debit |
Memory aid: DEALER
- Debits increase: Dividends (distributions), Expenses, Assets, Losses
- Credits increase: Equity (except distributions), Accounts payable, Revenue (Income)
Transaction Examples (from Agatabo)
Example 1: Member Deposits Cash
Transaction: Member Alice deposits 100,000 RWF to her savings account Journal entry created:| Account | Type | Debit | Credit |
|---|---|---|---|
| Cash (organization:org123) | Asset | 100,000 | |
| Member Savings (organizationUser:alice) | Liability | 100,000 |
- Organization has more cash (asset increases)
- Organization owes more to Alice (liability increases)
- Accounting equation remains balanced
Example 2: Loan Disbursement
Transaction: Organization lends 500,000 RWF to member Bob Journal entry created:| Account | Type | Debit | Credit |
|---|---|---|---|
| Loan Receivable (loan:bob-loan-123) | Asset | 500,000 | |
| Cash (organization:org123) | Asset | 500,000 |
- Cash decreases (credit to decrease asset)
- Loan Receivable increases (debit to increase asset)
- Total assets unchanged (one asset traded for another)
Example 3: Loan Payment with Interest
Transaction: Member Bob repays 110,000 RWF (100,000 principal + 10,000 interest) Journal entry created:| Account | Type | Debit | Credit |
|---|---|---|---|
| Cash (organization:org123) | Asset | 110,000 | |
| Loan Receivable (loan:bob-loan-123) | Asset | 100,000 | |
| Interest Income (organization:org123) | Income | 10,000 |
- Cash increases by 110,000 (debit to increase asset)
- Loan Receivable decreases by 100,000 (credit to decrease asset)
- Interest Income increases by 10,000 (credit to increase income)
Example 4: Recording an Expense
Transaction: Pay 50,000 RWF rent for office space Journal entry created:| Account | Type | Debit | Credit |
|---|---|---|---|
| Operating Expense (organization:org123) | Expense | 50,000 | |
| Cash (organization:org123) | Asset | 50,000 |
- Cash decreases by 50,000 (credit to decrease asset)
- Expense increases by 50,000 (debit to increase expense, reduces profit)
Example 5: Dividend Distribution
Transaction: Distribute 200,000 RWF dividends to members (50 members × 4,000 RWF each) Journal entry created:| Account | Type | Debit | Credit |
|---|---|---|---|
| Retained Earnings (organization:org123) | Equity | 200,000 | |
| Member Savings (organizationUser:alice) | Liability | 4,000 | |
| Member Savings (organizationUser:bob) | Liability | 4,000 | |
| Member Savings (organizationUser:carol) | Liability | 4,000 | |
| … (50 members total) | Liability | … |
- Retained earnings decreases by 200,000 (debit to decrease equity)
- Each member’s savings balance increases (credit to increase liability)
- Total liabilities increase by 200,000
Example 6: Reserve Allocation
Transaction: Allocate 1,000,000 RWF from retained earnings to emergency fund reserve Journal entry created:| Account | Type | Debit | Credit |
|---|---|---|---|
| Reserve Allocation (reserve:emergency-fund) | Equity | 1,000,000 | |
| Retained Earnings (organization:org123) | Equity | 1,000,000 |
- Reserve balance increases by 1,000,000 (debit to increase equity)
- Retained earnings decreases by 1,000,000 (credit to decrease equity)
- Total equity unchanged (internal transfer within equity)
Example 7: Member Withdraws Savings
Transaction: Member Alice withdraws 50,000 RWF from her savings Journal entry created:| Account | Type | Debit | Credit |
|---|---|---|---|
| Member Savings (organizationUser:alice) | Liability | 50,000 | |
| Cash (organization:org123) | Asset | 50,000 |
- Alice’s savings balance decreases by 50,000 (debit to decrease liability)
- Cash decreases by 50,000 (credit to decrease asset)
- Both assets and liabilities decrease equally
Scope Keys and Per-Entity Accounts
Agatabo uses scope keys to create separate accounts for different entities: Format:{entity_type}:{entity_id}
Examples:
organizationUser:alice123- Alice’s personal SAVINGS accountorganizationUser:bob456- Bob’s personal SAVINGS accountloan:loan-789- Specific loan’s LOAN_RECEIVABLE accountreserve:emergency-fund- Emergency fund RESERVE_ALLOCATION accountorganization:org123- Organization-wide CASH account
- Each member has their own SAVINGS account (all are liabilities, but tracked separately)
- Each loan has its own LOAN_RECEIVABLE account
- Each reserve has its own RESERVE_ALLOCATION account
- Enables per-member, per-loan, per-reserve accounting
Why Agatabo Uses Double-Entry
Benefits:Accuracy & Error Detection:
- Errors are immediately apparent (debits must equal credits)
- Unbalanced entries are rejected by the system
- Self-checking mechanism prevents many common mistakes
- See both sides of every transaction (what’s given and what’s received)
- Understand impact on multiple accounts simultaneously
- Clear audit trail for every financial event
- Balance Sheet generated from account balances
- Income Statement from income and expense accounts
- Cash Flow Statement from account changes
- Required for formal financial reporting
- Meets accounting standards (GAAP, IFRS)
- Provides complete audit trail
- Supports external audits and reviews
- Track exactly where money comes from and goes to
- Understand financial health at a glance
- Make informed decisions based on complete data
- Monitor profitability, liquidity, and solvency
Journal Entries in Agatabo
Every transaction in Agatabo creates a journal entry with: Components:- Kind: Type of transaction (SAVINGS_DEPOSIT, LOAN_DISBURSEMENT, DIVIDEND_DISTRIBUTION, RESERVE_TOP_UP, EXPENSE_PAYMENT, etc.)
- Transaction date: When transaction occurred
- Status: POSTED (permanent, affects balances) or DRAFT (temporary, can be edited)
- Lines: 2 or more lines showing debits and credits (must balance)
- Metadata: Title, description, supporting documents
- Idempotency key: Prevents duplicate entries
Common Questions
Q: Do I need to understand debits and credits to use Agatabo?
A: No! Agatabo creates journal entries automatically when you record deposits, loans, expenses, dividends, and reserves. Understanding double-entry helps with:- Troubleshooting discrepancies
- Creating manual journal entries
- Advanced accounting tasks
- Financial statement interpretation
Q: What if debits don’t equal credits?
A: Agatabo won’t allow posting unbalanced entries:- All automatic entries are validated before creation
- Manual journal entries are rejected if debits ≠ credits
- System enforces balance requirement at all times
Q: Why does my cash go up (debit) but member savings also go up (credit)?
A: Because they’re different account types:- Cash (asset) increases with debit
- Member Savings (liability) increases with credit
Q: What’s the difference between Income and Revenue?
A: In Agatabo (and many accounting systems):- Income: Preferred term for earned revenue (INTEREST_INCOME, FEE_INCOME, PENALTY_INCOME)
- Revenue: General term for money earned
Q: Why are member savings a liability?
A: Because the organization owes these funds to members:- Members can withdraw their savings at any time
- Organization has an obligation to return the funds on demand
- This is a liability (money owed to others)
Q: How do reserves work in double-entry?
A: Reserves are equity accounts (designated retained earnings):- Both Retained Earnings and Reserve Allocations are equity
- Allocating to reserves moves money from general equity to designated equity
- Total equity doesn’t change (internal reclassification)
- Both sides of the entry are equity accounts
Visual Guide: Account Flow
Best Practices
For non-accountants:
- Trust automatic journal entries (they’re correct)
- Focus on business transactions, not accounting mechanics
- Review financial reports (Balance Sheet, Income Statement) instead of raw journal entries
- Ask an accountant if creating manual entries
- Review journal entries regularly for accuracy
- Verify trial balance balances monthly
- Document all manual journal entries clearly
- Use consistent account names and classifications
- Train staff on basic double-entry concepts
- Monitor for unusual transactions or patterns
Need Help?
Viewing Journal Entries
See transaction details and audit trail
General Ledger Overview
Complete accounting system overview
Balance Sheet
See accounting equation in action
Income Statement
View revenue and expenses
Manual Journal Entries
Create manual accounting entries