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
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)
Filter by Kind
Parameter:kind (journal_entry_kind enum)
Common filters:
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
- Entry finalized and locked
- Affects account balances immediately
- Cannot be edited or deleted (permanent)
- Included in all financial reports
- Creates audit trail
Filter by Entity Reference
Member filter:Filter by Creator
Parameter:createdBy=organizationUserId
Shows all entries created by a specific user (useful for audit).
Example:
Filter by Parent/Reversal
Parent entry:Search by Text
Parameter:searchTerm=text
Searches in:
- Entry description
- Entry title
- Account names
- Member names
- Related entity details
Pagination
Parameters:- page: Page number (default: 1)
- limit: Items per page (default: 20, max varies by endpoint)
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
- Created by (user who created the entry)
- Created at timestamp
- Transaction date (when it occurred)
- Idempotency key (prevents duplicates)
- 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)
- Attached receipts, invoices, or documentation
- Document type and description
- 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
When to Reverse
Appropriate uses:- Correcting accounting errors (wrong account, wrong amount)
- Voiding duplicate entries
- Correcting period mismatches (transaction in wrong accounting period)
- 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:- 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
- Compare entries affecting SAVINGS accounts with member expectations
- Verify deposits and withdrawals match member records
- Check dividend distributions are correct
- 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)
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
- 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
- Use specific filters to narrow results (date + kind + entity)
- Start broad, then narrow down when searching
- Save common filter combinations for frequent use
- 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
- 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
- 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:Permissions Required
Typical roles:
- Administrators and Accountants:
ledger:readandledger: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