What are Reserves?
Reserves (also called Reserve Allocations) are designated portions of your organization’s retained earnings set aside for specific future purposes. Think of them as internal accounting designations that earmark funds within your organization’s equity for particular goals or contingencies.Key concept: Reserves are accounting designations, not separate bank accounts. The actual cash remains in your bank accounts - reserves simply track how much of your retained earnings is earmarked for specific purposes through ledger account entries.
Why Create Reserves?
Key benefits:
- Plan for future major expenses (building fund, equipment replacement)
- Set aside emergency contingency funds
- Demonstrate financial prudence to members and auditors
- Track progress toward specific savings goals
- Separate operational funds from designated savings
- Ensure funds are available when needed for specific purposes
- Protect important initiatives from being spent on day-to-day operations
- Create accountability for special-purpose funds
Common Reserve Types
| Reserve Name | Purpose | Typical Target |
|---|---|---|
| Emergency Reserve | Unexpected expenses, cash flow problems, economic downturns | 3-6 months operating expenses |
| Equipment Replacement | Future purchase of computers, furniture, vehicles | Based on equipment lifecycle |
| Building Fund | Saving toward purchasing or constructing office space | Project cost estimate |
| Loan Loss Reserve | Cover potential bad debts from loan defaults | 5-10% of loans outstanding |
| Dividend Reserve | Funds designated for future member dividend payments | Planned dividend amount |
| Expansion Fund | Growth initiatives, new branches, additional services | Expansion plan budget |
| Statutory Reserve | Legally required reserves (varies by country) | Per regulations |
Naming tip: Choose descriptive names that clearly indicate the reserve’s purpose. Reserve names must be unique within your organization.
How Reserves Work
Reserves operate through a ledger-based accounting system:Reserve Structure
Each reserve allocation:- Has a unique ReserveAllocationMeta record (database metadata)
- Gets a dedicated Ledger Account with role
RESERVE_ALLOCATION(tracks balance) - Uses scope key format:
reserve:{reserveAllocationId}(links ledger account to specific reserve) - Appears as EQUITY on the balance sheet (like retained earnings)
Creating a Reserve
When you create a new reserve:- Name the reserve: “Emergency Fund”, “Building Fund”, etc. (unique per organization)
- Add description (optional): Purpose, goals, target amount
- Set active status: Active reserves can receive allocations (default: true)
- System creates ledger account: Automatic RESERVE_ALLOCATION ledger account with zero balance
Allocating to Reserves (Top Up)
When you allocate money to a reserve: Journal Entry Created:- Funds transfer from Retained Earnings to the Reserve (accounting designation)
- Total organization equity remains unchanged (money moved within equity, not created)
- Reserve balance increases by the allocation amount
- Retained earnings (undesignated) decreases by the allocation amount
- Organization must have sufficient retained earnings
- Reserve must be active (
isActive: true) - Amount must be at least 0.01
Important: This does NOT move physical cash between bank accounts. It’s a pure accounting entry that designates a portion of your retained earnings for a specific purpose.
Releasing from Reserves (Withdrawal)
When you release money from a reserve back to general use: Journal Entry Created:- Funds transfer from Reserve back to Retained Earnings
- Total organization equity remains unchanged
- Reserve balance decreases by the release amount
- Retained earnings (undesignated) increases
- Funds become available for general use (no longer earmarked)
- Reserve must have sufficient balance
- Reserve must be active
- Amount must be at least 0.01
- Reserve purpose completed (e.g., building purchased)
- Reserve no longer needed
- Transferring funds to different reserve (release + top up other reserve)
- Converting reserved funds to general use
Reserve-Funded Expenses
Agatabo supports spending directly from reserves for expenses, creating a two-journal-entry pattern: Pattern: Reserve-Funded Expense When you record an expense and specify a reserve allocation: Entry 1: RESERVE_RELEASE (Parent)- Reserve balance decreases (funds released)
- Bank account balance decreases (cash spent)
- Expense recorded on Profit & Loss
- Parent-child relationship links reserve release to expense
- Reserve must have sufficient balance for expense + bank charges
- Creates two linked journal entries automatically
- Atomic transaction (both entries succeed or both fail)
What You CANNOT Do with Reserves
Reserve Information
Each reserve allocation includes:Required Fields
Name:- Descriptive name (e.g., “Emergency Fund”, “Building Fund”)
- Must be unique within the organization
- Can be updated after creation
- Used in ledger account name: ” Reserve Allocation”
Optional Fields
Description:- Purpose and goals
- Target amount information
- Usage guidelines
- Any relevant policies
isActive):
- Boolean flag: true (active) or false (inactive)
- Active reserves can receive top-ups and releases
- Inactive reserves reject balance operations
- Can be toggled without deleting the reserve
Automatically Generated
ID: Unique identifier (UUID) Ledger Account: Automatically created linked account- Role: RESERVE_ALLOCATION
- Scope Key:
reserve:{reserveId} - Account Type: EQUITY
- Balance: Calculated from journal entries
- Calculated from ledger account balance
- Updated automatically via journal entries
- Cannot be set directly (use top-up/release operations)
- Queryable via
/reserve-allocations/:id/transactionsendpoint - Includes running balance for each transaction
- Filterable by transaction type and date range
Reserve Operations
What You Can Do
Create Reserve
Set up new reserve allocations
Top Up (Allocate)
Add funds to reserves from retained earnings
Release (Withdraw)
Release funds back to retained earnings
Fund Expenses
Spend directly from reserve for expenses
View Transactions
View reserve balances and transaction history
Update Reserve
Edit name, description, or active status
Delete Constraints
You can delete a reserve allocation only if:- ✅ Balance is exactly zero (no funds allocated)
- ✅ No transaction history (no posted journal entries)
- ✅ You have
reserves:writepermission
Integration with Other Features
Retained Earnings
Reserves draw from retained earnings (accumulated profit over time): Relationship:Expenses
Reserve-funded expenses create two journal entries:- RESERVE_RELEASE: Moves funds from reserve to retained earnings
- RESERVE_EXPENSE: Spends from cash (linked to release entry)
- Track which expenses came from which reserves
- Prevent overspending reserve allocations
- Better reserve fund reporting
- Separate restricted from unrestricted spending
Balance Sheet
Reserves appear on the Balance Sheet under Equity section: Example Balance Sheet (Equity Section):Budget Planning
Use reserves as part of annual budget planning: Strategy examples:- Allocate 10% of monthly profit to emergency reserve
- Schedule quarterly equipment replacement allocations
- Set annual dividend reserve targets
- Track progress toward building fund goal
Validation and Constraints
Input Validation
Name:- ✅ Must be non-empty string
- ✅ Must be unique within organization
- ❌ Cannot be blank
- ❌ Cannot duplicate existing reserve name
- ✅ Must be at least 0.01
- ✅ Must match organization’s currency decimal places
- ❌ Cannot be negative or zero
- ✅ Must be boolean (true or false)
- Reserve must be active for balance operations
Business Logic Validation
Top-Up Constraints:- Must have sufficient retained earnings
- Reserve must be active
- Validates amount against monetary policy
- Must have sufficient reserve balance (unless
skipNegativeBalanceCheck: true) - Reserve must be active
- Amount cannot exceed current balance
- Reserve must have sufficient balance for expense amount + bank charges
- Creates two linked journal entries atomically
- Balance must be exactly zero
- No transaction history (no posted journal entries)
- Only reserves with no activity can be deleted
- All balance operations require idempotency key (header:
x-idempotency-key) - Prevents duplicate top-ups/releases from retries
- Safe for network failures and refreshes
Reserve vs. Expense vs. Bank Account
Common confusion clarified:| Scenario | Where to Record | Why |
|---|---|---|
| Setting aside money for future building purchase | Reserve Top-Up (allocate to Building Fund) | Designates retained earnings for specific future use |
| Actually paying for building construction | Expense (optionally from reserve) or Fixed Asset | Actual spending of cash |
| Moving cash from current account to savings account | Bank Transfer (manual journal entry) | Physical movement of cash between accounts |
| Profit at year-end that is unallocated | Retained Earnings (automatic) | Not automatically reserved |
| Spending from emergency fund on repairs | Reserve-Funded Expense | Links expense to reserve purpose |
Example Reserve Strategy
Small tontine (50 members, 10M RWF total assets, 8M RWF retained earnings):Year 1 Plan
-
Emergency Reserve: Target 2,000,000 RWF (3 months operating expenses)
- Allocate 200,000 RWF monthly for 10 months
- Use only for unexpected operational emergencies
- Examples: Equipment breakdown, bank fees spike, cash flow gap
-
Loan Loss Reserve: Target 500,000 RWF (5% of 10M loan portfolio)
- Allocate 50,000 RWF monthly for 10 months
- Release when writing off bad debts (optional)
- Demonstrates prudent risk management
-
Equipment Reserve: Target 1,000,000 RWF (planned computer upgrade)
- Allocate 100,000 RWF monthly for 10 months
- Release when purchasing computers and furniture
- Ensures funds available when needed
Usage Example
Scenario: Emergency equipment repair costs 150,000 RWF Option 1: Reserve-Funded ExpenseBest Practices
Reserve management tips:Creation:
- Create 3-5 main reserves (not too many to track effectively)
- Use clear, descriptive names indicating purpose
- Document reserve policies in bylaws or financial guidelines
- Set target amounts based on organizational needs
- Emergency reserve: 3-6 months of operating expenses
- Loan loss reserve: 5-10% of total loans outstanding
- Equipment reserve: Based on replacement cycle and costs
- Building fund: Based on purchase/construction estimates
- Allocate regularly (monthly or quarterly) rather than sporadically
- Consistent small allocations easier than large lump sums
- Build allocation into monthly budget process
- Treat as priority expense (pay yourself first)
- Review reserve balances quarterly
- Compare actual vs. target balances
- Adjust allocation amounts based on progress
- Report reserve balances to members at meetings
- Release from reserves only when using funds for stated purpose
- Document reason for releases (especially large amounts)
- Get committee approval for releases over threshold (e.g., 500,000 RWF)
- Use reserve-funded expenses to maintain audit trail
- Deactivate reserves that are no longer needed (don’t delete - preserves history)
- Only delete reserves with zero balance and no transaction history
- Update descriptions annually to reflect current goals
- Review reserve strategy annually and adjust as needed
Permissions Required
| Action | Permission | Scope |
|---|---|---|
| View reserves | reserves:read | ANY |
| Create reserve | reserves:write | ANY |
| Top up reserve | reserves:write | ANY |
| Release from reserve | reserves:write | ANY |
| Update reserve | reserves:write | ANY |
| Delete reserve | reserves:write | ANY |
| View transactions | reserves:read | ANY |
Typical roles: Administrators and Accountants usually have
reserves:write. Regular members typically have reserves:read (view only) or no access.Related Topics
Creating Reserves
Set up new reserve allocations
Reserve Allocations
Add funds to reserves (Top Up)
Reserve Withdrawals
Release funds from reserves
Reserve Reporting
View reserve balances and transaction history
Reserve-Funded Expenses
Spend directly from reserves
Balance Sheet
View reserves on financial reports