Skip to main content

Overview

Journal entries are the fundamental accounting records in Agatabo. Every financial transaction (member deposits, loan disbursements, expenses, dividends, reserve allocations) creates a journal entry showing exactly how accounts were debited and credited.
Automatic creation: Most journal entries are created automatically when you perform business operations. You record transactions, and Agatabo handles the accounting.

Accessing Journal Entries

1

Navigate to General Ledger

Click General Ledger in sidebar
2

Select Journal Entries

View searchable list of all journal entries
3

Apply filters

Filter by date, kind, status, or search for specific entries
4

Click entry to view details

See full transaction details, all debit/credit lines, and metadata

Journal Entry Information

Each entry displays:

Journal Entry Kinds

Agatabo uses these transaction types:

Savings & Deposits

  • SAVINGS_DEPOSIT: Member deposits funds to savings account
  • ENTRY_FEE: Membership fee payment

Loans

  • LOAN_DISBURSEMENT: Loan principal disbursed to member
  • LOAN_PAYMENT: Member makes loan payment (principal + interest)
  • LOAN_PENALTY: Late payment penalty applied
  • LOAN_DEFAULT: Loan written off as bad debt
  • INTEREST_PAID_IN_ADVANCE: Upfront interest payment

Expenses

  • EXPENSE_PAYMENT: Operating expense payment
  • BANK_CHARGE: Bank fees and charges

Reserves

  • RESERVE_TOP_UP: Allocate funds from retained earnings to reserve
  • RESERVE_RELEASE: Release funds from reserve back to retained earnings
  • RESERVE_EXPENSE: Expense paid directly from reserve funds (creates parent RESERVE_RELEASE + child RESERVE_EXPENSE)

Dividends

  • DIVIDEND_DISTRIBUTION: Distribute retained earnings to member savings accounts

Fixed Assets

  • ASSET_CASH_PURCHASE: Purchase asset with cash
  • ASSET_COLLATERAL: Acquire asset as loan collateral
  • ASSET_GIFT: Receive donated asset
  • ASSET_DISPOSAL: Sell or dispose of asset
  • CASH_OPENING: Record opening cash balance

Administrative

  • REVERSAL: Reverse a previous journal entry
  • PERIOD_CLOSE: Close accounting period and transfer net income to retained earnings
View complete ledger overview →

Understanding Journal Lines

Each journal entry consists of 2 or more lines that must balance (total debits = total credits).

Example 1: Member Deposit


Example 2: Dividend Distribution


Example 3: Reserve Allocation


Filtering Journal Entries

Filter by Date Range

Parameters:
  • from: Start date (ISO format: YYYY-MM-DD)
  • to: End date (ISO format: YYYY-MM-DD)
Examples:

Filter by Kind

Parameter: kind (journal_entry_kind enum) Common filters:
Get all available kinds:

Filter by Status

Parameter: status (DRAFT or POSTED) DRAFT:
  • Entry created but not yet finalized
  • Does not affect account balances
  • Can be edited or deleted
  • Not included in financial reports
  • Used for preparing entries before posting
POSTED:
  • Entry finalized and locked
  • Affects account balances immediately
  • Cannot be edited or deleted (permanent)
  • Included in all financial reports
  • Creates audit trail
Examples:

Filter by Entity Reference

Member filter:
Shows all entries affecting this member (deposits, withdrawals, dividends, loans) Loan filter:
Shows all entries for this loan (disbursement, payments, penalties) Reserve filter:
Shows all entries for this reserve (top-ups, releases, expenses) Dividend pool filter:
Shows all entries for this dividend pool (distributions) Bank account filter:
Shows all entries affecting this bank account

Filter by Creator

Parameter: createdBy=organizationUserId Shows all entries created by a specific user (useful for audit). Example:

Filter by Parent/Reversal

Parent entry:
Shows child entries of a specific parent (e.g., reserve-funded expenses) Reversed entry:
Shows the reversal entry for a specific entry

Search by Text

Parameter: searchTerm=text Searches in:
  • Entry description
  • Entry title
  • Account names
  • Member names
  • Related entity details
Examples:

Pagination

Parameters:
  • page: Page number (default: 1)
  • limit: Items per page (default: 20, max varies by endpoint)
Example:
Response includes pagination metadata:

Viewing Entry Details

Click on any journal entry to see: Full transaction information:
  • All debit and credit lines with account details
  • Scope keys showing which specific entity each line affects
  • Running balance (before/after) for each affected account
  • Transaction amount and balance verification
Metadata:
  • Created by (user who created the entry)
  • Created at timestamp
  • Transaction date (when it occurred)
  • Idempotency key (prevents duplicates)
References:
  • Source entity links (loan ID, member ID, reserve ID, dividend pool ID)
  • Parent journal entry (for multi-step transactions)
  • Reversed entry (if entry was reversed)
Supporting documents:
  • Attached receipts, invoices, or documentation
  • Document type and description
Audit trail:
  • Who created the entry
  • When it was created
  • What triggered its creation
  • Related transactions

Common Use Cases

Finding a Specific Transaction

By transaction date and amount:
1

Filter by date range

Set from/to dates around transaction date
2

Sort by transaction date

Most recent first
3

Scan for amount

Look for matching transaction amount
4

Click to view details

Verify it’s the correct transaction

Reviewing All Transactions for a Member

View member’s financial history:
1

Filter by member

Set organizationUserId parameter
2

Sort by transaction date

Chronological order
3

Review all entries

See deposits, withdrawals, loans, dividends
4

Verify balances

Check that savings balance matches entries

Investigating an Accounting Error

Find and diagnose discrepancies:
1

Run trial balance

Identify which account is unbalanced
2

Get account details

View account’s current balance
3

View account activity

List all entries affecting the account
4

Find problematic entry

Look for unbalanced or incorrect entries
5

Contact accountant

Report issue for correction (may require reversal)

Auditing Dividend Distributions

Verify dividend distribution accuracy:
1

Filter by dividend pool

Set dividendPoolId parameter
2

View distribution entry

See DIVIDEND_DISTRIBUTION journal entry
3

Check all credit lines

Verify each member received correct amount
4

Verify total

Confirm total credits equal total debit to retained earnings

Tracking Reserve Activity

Monitor reserve allocations and releases:
1

Filter by reserve

Set reserveAllocationId parameter
2

Filter by kind

Show RESERVE_TOP_UP, RESERVE_RELEASE, and RESERVE_EXPENSE
3

Review chronologically

See all top-ups and releases over time
4

Verify current balance

Ensure balance matches expected based on entries

Reversing Journal Entries

Reversals are permanent: Reversing a journal entry creates a new REVERSAL entry that exactly offsets the original. Both entries remain in the ledger permanently for audit trail. Most transactions should not be reversed manually - use proper business operations to correct errors.

When to Reverse

Appropriate uses:
  • Correcting accounting errors (wrong account, wrong amount)
  • Voiding duplicate entries
  • Correcting period mismatches (transaction in wrong accounting period)
Inappropriate uses:
  • Normal business corrections (use proper operations instead)
  • Member requested refunds (use withdrawal transaction)
  • Loan payment errors (use loan adjustment features)

How Reversals Work

Original entry:
Reversal entry (automatically created):
Net effect:
  • Original entry remains in ledger (for audit)
  • Reversal entry offsets it (nullifies impact)
  • Both entries permanently recorded
  • Account balances return to pre-transaction state

API Endpoint

Permission required: ledger:write - Only accountants and administrators can reverse entries.

Reconciliation

Journal entries should match external records: Cash reconciliation:
  • Compare journal entries (kind=CASH_*) with bank statements
  • Ensure all deposits, withdrawals, and fees are recorded
  • Investigate discrepancies immediately
Member savings reconciliation:
  • Compare entries affecting SAVINGS accounts with member expectations
  • Verify deposits and withdrawals match member records
  • Check dividend distributions are correct
Loan reconciliation:
  • Ensure loan disbursements match loan schedules
  • Verify payments applied correctly (principal vs. interest)
  • Check penalties and fees are accurate

Exporting Journal Entries

Use cases:
  • External audit (provide transaction log to auditors)
  • Analysis (download to Excel for pivot tables)
  • Compliance (transaction log for regulators)
  • Backup (archive accounting records)
How to export:
1

Apply desired filters

Date range, kind, status, etc.
2

Click Export

Choose export format
3

Select format

Excel (.xlsx), CSV (.csv), or PDF
4

Download file

Save exported journal entries
Export includes:
  • All visible journal entries matching filters
  • All debit and credit lines for each entry
  • Account details, amounts, dates, descriptions
  • Formatted for readability in chosen format

Best Practices

Working with journal entries:Regular Review:
  • Review journal entries monthly for accuracy
  • Spot-check automatic entries to verify correctness
  • Monitor for unusual or unexpected entries
  • Report suspicious entries to management immediately
Filtering:
  • Use specific filters to narrow results (date + kind + entity)
  • Start broad, then narrow down when searching
  • Save common filter combinations for frequent use
Manual Entries:
  • NEVER create manual journal entries without accountant approval
  • Understand double-entry basics before attempting manual entries
  • Always document reason for manual entries clearly
  • Verify entry balances before posting
Audit Trail:
  • Keep exported journal entry reports for 7+ years
  • Cross-reference with source documents during audits
  • Maintain documentation for all manual entries
  • Track all reversals with clear explanations
Error Prevention:
  • Trust automatic entries (they’re tested and correct)
  • Don’t reverse entries unless absolutely necessary
  • Use proper business operations to correct most errors
  • Consult accountant before manual interventions

Technical Details

API Endpoints

Search journal entries:
Get specific journal entry:
Get journal entry kinds:
Get account activity:
Get role transactions:

Permissions Required

Typical roles:
  • Administrators and Accountants: ledger:read and ledger:write (ANY scope) - can view and modify all entries
  • Treasurers: ledger:read (ANY scope) - can view all entries but not modify
  • Regular members: ledger:read (own organizationUserId scope) - can only view their own transactions

Need Help?

Double-Entry Accounting

Learn accounting basics

Ledger Roles

Understand account roles

General Ledger Overview

Complete accounting system overview

Manual Journal Entries

Create manual accounting entries

Reconciliation

Reconcile accounts and detect errors