What are Fixed Assets?
Fixed assets are long-term tangible items owned by your organization that provide value over time, such as equipment, furniture, vehicles, or property. Unlike expenses that are consumed immediately, fixed assets are investments that serve the organization for years.Why Track Fixed Assets?
Key benefits:
- Maintain accurate record of organizational property
- Know total asset value for financial reporting
- Track source of asset acquisition (purchase, donation, collateral, existing)
- Calculate organization’s net worth
- Provide transparency to members about major investments
- Support balance sheet preparation and financial analysis
- Document ownership and prevent loss or theft
- Prepare for audits with complete asset records
Asset Acquisition Types
Agatabo supports three ways to acquire fixed assets:| Type | Description | Journal Entry | Use Case |
|---|---|---|---|
| Cash Purchase | Asset bought with organization funds | Dr FIXED_ASSET / Cr CASH | Office furniture, computers, equipment purchased from bank account |
| Collateral | Asset seized from defaulted loan | Dr FIXED_ASSET / Cr BAD_DEBT_RECOVERY + BORROWER_SURPLUS_LIABILITY | Property or equipment taken when borrower cannot repay loan |
| Gift | Asset donated to organization | Dr FIXED_ASSET / Cr OTHER_EQUITY | Equipment, land, or property received as donation |
1. Cash Purchase
When you purchase an asset using organization funds: Journal Entry:- Funds deducted from selected bank account
- Asset recorded at purchase price
- Bank account balance decreases
- Total assets unchanged (cash → fixed asset)
- Can record wire fees, processing fees, etc.
- Creates separate BANK_CHARGE journal entry
- Linked to asset via parentAssetId
2. Collateral Seizure
When a borrower defaults and you seize pledged collateral: Prerequisites:- Loan must be DEFAULTED
- Loan must have written-off bad debt (from defaulting process)
- Collateral was pledged as security
- Bad debt recovery:
min(collateral value, bad debt amount) - Borrower surplus:
max(0, collateral value - bad debt amount)
- Asset recorded at collateral valuation
- Recovers previously written-off bad debt (income)
- Creates liability to borrower if collateral exceeds bad debt
- No cash movement (collateral conversion)
3. Gift (Donation)
When someone donates an asset to the organization: Journal Entry:- Asset recorded at fair market value
- Increases organization equity (net worth)
- No cash movement
- Represents external contribution
- Use fair market value (current selling price)
- May require professional appraisal for large assets
- Document valuation method in description
Asset Information
Each fixed asset record includes:Required Fields
Title:- Name or description of the asset
- Example: “HP Laptop - Serial ABC123”, “Toyota Land Cruiser - Plate RAB 456C”
- Required, non-empty string
- Acquisition value or purchase price
- Must be at least 0.01
- Represents asset value on balance sheet
- When asset was acquired
- ISO date format (YYYY-MM-DD)
- Can be historical (past dates allowed)
- CASH_PURCHASE, COLLATERAL, or GIFT
- Cannot be changed after creation (immutable)
Optional Fields
Description:- Detailed information about the asset
- Include: serial number, warranty info, vendor, location, condition
- Example: “Dell Latitude laptop purchased from ABC Computers, 3-year warranty expires 2029-06-01, assigned to Treasurer”
- Which account paid for the purchase
- Falls back to default account if not specified
- Which loan was defaulted
- Required for COLLATERAL acquisitions
- System validates loan has bad debt
- Upload receipts, invoices, appraisals, photos
- Stored as JSON array
- Include ownership proof, purchase records
- Additional fees paid during purchase
- Wire fees, processing charges, etc.
- Creates linked BANK_CHARGE entry
- Send email notification about asset acquisition
- Optional boolean flag
Automatically Generated
Asset ID: Unique identifier (UUID) Journal Entry ID: Links to accounting entry Organization ID: Scope to organization Created At / Updated At: TimestampsWhat You Can Do with Assets
Create Assets
Endpoint:POST /assets
Record new asset acquisitions with full journal entry creation.
Learn how to add assets →
View Assets
Endpoint:GET /assets/:id
View complete asset details including:
- All asset information
- Journal entry details
- Linked bank charges
- Acquisition breakdown
Edit Assets
Endpoint:PUT /assets/:id
Update asset information using reverse-and-repost pattern:
- System reverses original journal entry
- Creates new entry with updated values
- Maintains complete audit trail
- All old entries marked as REVERSED
- Title
- Amount
- Description
- Acquisition date
- Bank account (cash purchases)
- Source loan (collateral - recalculates bad debt recovery)
- Documents
- Acquisition kind (immutable - delete and recreate if needed)
Delete Assets
Endpoint:DELETE /assets/:id
Remove assets recorded in error:
- Reverses acquisition journal entry
- Reverses all linked bank charges
- Restores bank account balance (cash purchases)
- Maintains audit trail (soft delete)
- May create negative balance if bank account insufficient
- Cannot delete if referenced by other transactions (future constraint)
Integration with Other Features
Bank Accounts
Cash purchases decrease bank account balances through CASH ledger credits. How it works:- Select bank account for purchase
- System creates journal entry crediting CASH
- Bank balance decreases automatically
- Transaction appears in bank history
Loans and Collateral
Collateral seizure integrates with loan defaulting process. Workflow:- Borrower defaults on secured loan
- System marks loan as DEFAULTED
- Writes off uncollectible amount as bad debt
- Create asset with COLLATERAL acquisition kind
- Link to defaulted loan
- System calculates bad debt recovery automatically
- Loan must be DEFAULTED status
- Loan must have written-off bad debt amount
- Collateral must have been pledged as security
Balance Sheet
Fixed assets appear on Balance Sheet under Assets section. Breakdown by acquisition kind:- Physical Assets - Cash Purchase: XXX,XXX RWF
- Physical Assets - Collateral: XXX,XXX RWF
- Physical Assets - Gift: XXX,XXX RWF
- Cash + Loans Receivable + Fixed Assets + Other Assets = Total Assets
- Assets = Liabilities + Equity
- Fixed assets increase organizational value
Depreciation
What this means:- Assets recorded at purchase/acquisition value
- Value never decreases over time in Agatabo
- No accumulated depreciation accounts
- No depreciation expense calculated
- Balance sheet shows historical cost, not current value
- Track depreciation in separate spreadsheet
- Use external accounting software for tax depreciation
- Manually adjust asset values periodically (edit assets)
- Maintain depreciation schedule outside Agatabo
- ASSET_DISPOSAL journal kind exists (placeholder for future)
- No implementation for asset sale/disposal yet
- May be added in future versions
Asset Disposal (Not Yet Implemented)
Coming in future: Asset disposal/sale functionality is planned but not yet implemented. Currently, you can only delete assets (reversal), not record sales or disposals properly.
- No dedicated disposal endpoint
- Cannot record asset sales
- Cannot track gain/loss on disposal
- Delete function is reversal, not disposal
- Delete asset to remove from balance sheet
- Manually record sale proceeds as income (manual journal entry)
- Document disposal in notes/external records
Validation and Constraints
Input Validation
Amount:- ✅ Must be at least 0.01
- ✅ Must match currency decimal places
- ❌ Cannot be negative or zero
- ✅ Must be non-empty string
- ❌ Cannot be blank
- ✅ Must be valid ISO date
- ✅ Can be historical (past dates)
- ❌ Cannot be in closed accounting period
- ✅ Must be one of: CASH_PURCHASE, COLLATERAL, GIFT, ASSET_OPENING
- ❌ Cannot be changed after creation (immutable)
- ✅ Must exist and belong to organization
- ✅ Must be DEFAULTED status
- ✅ Must have written-off bad debt
- ❌ Cannot use loan without bad debt
Business Logic Validation
Balance checks:- Verifies bank account won’t go negative (cash purchases)
- Can skip via
skipNegativeBalanceCheckparameter - Validates total amounts against available cash
- Cannot create asset in closed period
- Cannot edit asset in closed period
- Cannot delete asset in closed period
- All operations require idempotency key
- Prevents duplicate assets from retries
- Safe for network failures
Permissions Required
| Action | Permission | Scope |
|---|---|---|
| View assets | assets:read | ANY |
| Create asset | assets:write | ANY |
| Edit asset | assets:write | ANY |
| Delete asset | assets:write | ANY |
Typical roles: Administrators and Accountants have
assets:write. Regular members may have assets:read (view only) or no access.Best Practices
Asset management tips:Recording:
- Record assets immediately after acquisition
- Use descriptive titles with serial numbers, models
- Upload photos and receipts for documentation
- Include all relevant details in description field
- Format: “Type - Brand Model - Identifier”
- Example: “Laptop - HP Elitebook 840 - Serial ABC123”
- Example: “Vehicle - Toyota RAB 456C”
- Makes asset inventory scannable
- Always upload purchase receipts
- Include warranty information
- Photo documentation for physical condition
- Appraisal reports for donations/gifts
- Cash purchases: Use actual purchase price
- Collateral: Use professional appraisal or market value
- Gifts: Use fair market value (may require appraisal)
- Opening assets: Use current reasonable value
- Record all associated fees (wire fees, registration, etc.)
- Don’t hide true cost of acquisition
- Use bank charge amount field for automatic linking
- Create asset tag or numbering system
- Physical annual inventory count
- Reconcile physical count with Agatabo records
- Mark disposed/missing assets
- Only record when collateral physically seized
- Use professional valuation for accuracy
- Document legal process in description
- Track borrower surplus liability settlement
- Review asset list quarterly
- Verify assets still exist physically
- Update descriptions if asset relocated/reassigned
- Consider depreciation for reporting (external)
Related Topics
Adding Fixed Assets
Record new organizational assets
Depreciation
Understand depreciation (not implemented)
Asset Disposal
Remove assets from records (future)
Balance Sheet
View total asset value
Loan Defaulting
How collateral seizure works
Bank Accounts
Understand cash purchase impact