Chart of Accounts
The Chart of Accounts is the foundation of your organization's financial structure. It organizes all financial accounts into a systematic framework that supports accurate financial reporting and analysis. In Crane Ledger, accounts are hierarchical, numbered, and strictly typed to ensure proper double-entry bookkeeping.
What is a Chart of Accounts?
A Chart of Accounts is a complete listing of all accounts used by an organization to record financial transactions. It serves as:
- Transaction destination - every financial transaction affects at least two accounts
- Reporting framework - accounts roll up into financial statements
- Analysis tool - accounts provide insights into financial performance
- Audit trail - accounts maintain the complete financial history
Account Types
Crane Ledger uses five fundamental account types, each with specific debit/credit rules:
Asset Accounts (Normally Debit Balance)
Assets represent economic resources owned by the organization:
| Account Code | Account Name | Purpose |
|---|---|---|
| 1000-1999 | Current Assets | Cash, accounts receivable, inventory |
| 1001 | Cash | Primary operating cash account |
| 1101 | Accounts Receivable | Money owed by customers |
| 1201 | Inventory | Goods held for sale |
| 1301 | Prepaid Expenses | Payments made for future benefits |
Assets = Liabilities + Equity + Revenue - Expenses
Liability Accounts (Normally Credit Balance)
Liabilities represent obligations to pay or deliver goods/services:
| Account Code | Account Name | Purpose |
|---|---|---|
| 2000-2999 | Current Liabilities | Short-term obligations |
| 2001 | Accounts Payable | Money owed to vendors |
| 2101 | Accrued Expenses | Expenses incurred but not paid |
| 2201 | Short-term Loans | Loans due within one year |
| 2301 | Taxes Payable | Taxes owed to government |
Equity Accounts (Normally Credit Balance)
Equity represents ownership interest in the organization:
| Account Code | Account Name | Purpose |
|---|---|---|
| 3000-3999 | Equity Accounts | Owner's investment and retained earnings |
| 3001 | Owner's Capital | Initial and additional investments |
| 3101 | Retained Earnings | Accumulated profits |
| 3201 | Dividends | Distributions to owners |
Revenue Accounts (Normally Credit Balance)
Revenue represents income earned from business operations:
| Account Code | Account Name | Purpose |
|---|---|---|
| 4000-4999 | Operating Revenue | Sales and service income |
| 4001 | Sales Revenue | Primary sales income |
| 4101 | Service Revenue | Income from services |
| 4201 | Interest Income | Income from investments |
| 4301 | Other Income | Miscellaneous revenue |
Expense Accounts (Normally Debit Balance)
Expenses represent costs incurred to generate revenue:
| Account Code | Account Name | Purpose |
|---|---|---|
| 5000-5999 | Operating Expenses | Costs of doing business |
| 5001 | Cost of Goods Sold | Direct cost of products sold |
| 5101 | Salaries & Wages | Employee compensation |
| 5201 | Rent Expense | Office/facility rental costs |
| 5301 | Utilities | Electricity, water, internet |
| 5401 | Marketing | Advertising and promotion costs |
Account Hierarchy
Accounts can be organized hierarchically to support detailed analysis:
Parent-Child Relationships
1000 ASSETS
├── 1100 Current Assets
│ ├── 1101 Cash and Cash Equivalents
│ │ ├── 1101-001 Petty Cash
│ │ └── 1101-002 Operating Account
│ ├── 1201 Accounts Receivable
│ └── 1301 Inventory
└── 1600 Fixed Assets
├── 1611 Buildings
└── 1621 Equipment
Hierarchical Benefits
- Roll-up reporting - child accounts automatically aggregate to parents
- Detailed analysis - drill down from summary to specific accounts
- Flexible structure - add detail where needed, keep summaries elsewhere
- Comparative analysis - compare similar accounts across hierarchy levels
Account Codes and Numbering
Standard Numbering Convention
Crane Ledger uses a structured numbering system:
1XXX = Assets
2XXX = Liabilities
3XXX = Equity
4XXX = Revenue
5XXX = Expenses
6XXX = Other Revenue/Expenses
7XXX = Special accounts
8XXX = System accounts
9XXX = Temporary/closing accounts
Code Structure
[Type][Category][Subcategory]-[Detail]
Examples:
1001 = Asset (1), Current Asset (0), Cash (01)
5101 = Expense (5), Operating (1), Salaries (01)
4101 = Revenue (4), Sales (1), Product Sales (01)
Best Practices for Account Codes
- Reserve ranges - Leave gaps for future accounts
- Logical grouping - Similar accounts should have similar codes
- Standard prefixes - Use industry-standard account ranges
- Consistent length - Use consistent code lengths within categories
Creating Accounts
Basic Account Creation
POST /organizations/{org_id}/accounts
{
"code": "1001",
"name": "Operating Cash Account",
"type": "asset",
"currency_id": "CUR_USD",
"description": "Primary checking account"
}
Hierarchical Account Creation
POST /organizations/{org_id}/accounts
{
"code": "1100",
"name": "Current Assets",
"type": "asset",
"parent_account_id": "ACT_1000",
"description": "Summary account for current assets"
}
Account Properties
| Property | Required | Description |
|---|---|---|
code | Yes | Unique account code within organization |
name | Yes | Human-readable account name |
type | Yes | Asset, liability, equity, revenue, expense |
currency_id | Yes | Account currency |
parent_account_id | No | Parent account for hierarchy |
description | No | Additional account information |
is_system | No | System accounts cannot be deleted |
Standard Chart of Accounts
Small Business Chart
ASSETS
├── 1001 Cash - Operating
├── 1101 Accounts Receivable
├── 1201 Inventory
└── 1301 Prepaid Expenses
LIABILITIES
├── 2001 Accounts Payable
└── 2101 Sales Tax Payable
EQUITY
├── 3001 Owner's Capital
└── 3101 Retained Earnings
REVENUE
├── 4001 Sales Revenue
└── 4101 Service Revenue
EXPENSES
├── 5001 Cost of Goods Sold
├── 5101 Salaries & Wages
├── 5201 Rent Expense
├── 5301 Utilities
├── 5401 Insurance
├── 5501 Advertising
└── 5601 Office Supplies
Professional Services Chart
ASSETS
├── 1001 Cash - Operating
├── 1101 Accounts Receivable
├── 1201 Work in Progress
└── 1301 Prepaid Insurance
LIABILITIES
├── 2001 Accounts Payable
└── 2101 Accrued Salaries
EQUITY
├── 3001 Partner Capital
└── 3101 Retained Earnings
REVENUE
├── 4001 Professional Fees
├── 4101 Consulting Revenue
└── 4201 Training Revenue
EXPENSES
├── 5001 Salaries & Benefits
├── 5101 Rent & Occupancy
├── 5201 Professional Development
├── 5301 Marketing & Business Development
├── 5401 Technology & Software
├── 5501 Office Expenses
└── 5601 Travel & Entertainment
Real Estate Investment Chart
ASSETS
├── 1001 Cash - Operating
├── 1101 Accounts Receivable
├── 1201 Prepaid Property Taxes
├── 1301 Security Deposits
├── 1600 Fixed Assets
│ ├── 1611 Buildings
│ └── 1621 Improvements
└── 1700 Investment Properties
├── 1711 Property A
└── 1721 Property B
LIABILITIES
├── 2001 Mortgage Payable - Property A
├── 2101 Mortgage Payable - Property B
├── 2201 Accounts Payable
└── 2301 Property Tax Payable
EQUITY
├── 3001 Owner's Capital
└── 3101 Retained Earnings
REVENUE
├── 4001 Rental Income
├── 4101 Parking Income
├── 4201 Laundry Income
└── 4301 Other Income
EXPENSES
├── 5001 Property Management
├── 5101 Maintenance & Repairs
├── 5201 Property Taxes
├── 5301 Insurance
├── 5401 Utilities
├── 5501 Legal & Professional
├── 5601 Marketing
└── 5701 Depreciation
Account Management
Updating Accounts
PUT /organizations/{org_id}/accounts/{account_id}
{
"name": "Updated Account Name",
"description": "Updated description"
}
Note: Account codes and types cannot be changed after creation.
Account Balances
Accounts maintain real-time balances through double-entry transactions:
GET /organizations/{org_id}/accounts/{account_id}
{
"id": "ACT_12345",
"code": "1001",
"name": "Operating Cash",
"type": "asset",
"balance": {
"amount": 15750.00,
"currency": "USD",
"formatted": "$15,750.00"
}
}
Account Hierarchy Queries
# Get all accounts with hierarchy
GET /organizations/{org_id}/accounts?include_hierarchy=true
# Get child accounts of a parent
GET /organizations/{org_id}/accounts?parent_id={parent_account_id}
Double-Entry Accounting Rules
Debit/Credit Rules by Account Type
| Account Type | Increases with | Decreases with | Normal Balance |
|---|---|---|---|
| Asset | Debit | Credit | Debit |
| Liability | Credit | Debit | Credit |
| Equity | Credit | Debit | Credit |
| Revenue | Credit | Debit | Credit |
| Expense | Debit | Credit | Debit |
Transaction Examples
Recording Cash Sales:
Debit 1001 Cash $100.00
Credit 4001 Sales Revenue $100.00
Paying Rent:
Debit 5201 Rent Expense $500.00
Credit 1001 Cash $500.00
Receiving Invoice Payment:
Debit 1001 Cash $250.00
Credit 1101 Accounts Receivable $250.00
Best Practices
Account Setup
- Start with standard chart - Use industry-standard account structures
- Customize for your business - Add accounts specific to your operations
- Plan for growth - Design hierarchy to accommodate future expansion
- Document account purposes - Use descriptions to explain account usage
Ongoing Management
- Regular review - Audit accounts quarterly for accuracy
- Consistent coding - Follow established numbering conventions
- Minimize unused accounts - Deactivate accounts not in use
- Balance verification - Regularly check account balances against statements
Performance Considerations
- Limit hierarchy depth - Keep account trees manageable (3-4 levels max)
- Batch account creation - Create related accounts together
- Monitor usage - Track which accounts are actively used
- Archive old accounts - Deactivate accounts no longer needed
Common Mistakes to Avoid
❌ Wrong Account Types
// DON'T: Put expense in asset account
{
"code": "1501",
"name": "Office Supplies Expense",
"type": "asset" // Wrong! Should be "expense"
}
❌ Inconsistent Numbering
// DON'T: Skip numbers randomly
"1001", "1003", "1007", "1011" // Inconsistent
// DO: Leave space for future accounts
"1001", "1010", "1020", "1030" // Predictable pattern
❌ Too Many Detail Accounts
// DON'T: Excessive detail
"5401-001", "5401-002", "5401-003" // Too granular
// DO: Use hierarchy instead
"5401 Advertising" (parent)
├── "5401-001 Google Ads"
├── "5401-002 Facebook Ads"
└── "5401-003 Print Media"
Integration with Transactions
Account Validation
All transactions validate account types and balances:
// Valid transaction
{
"description": "Cash sale",
"entries": [
{ "account_id": "ACT_1001", "entry_type": "debit", "amount": 100 },
{ "account_id": "ACT_4001", "entry_type": "credit", "amount": 100 }
]
}
Balance Impact
Each transaction entry affects account balances according to double-entry rules:
- Debit entries increase asset/expense accounts, decrease liability/equity/revenue accounts
- Credit entries increase liability/equity/revenue accounts, decrease asset/expense accounts
- Balance validation ensures all transactions balance (total debits = total credits)
Need help?
Create a free account to access our support portal. Once signed in, use the Support tab in your dashboard to submit a support ticket — our team typically responds within 24 hours.
- ✨ For LLMs/AI assistants: Read our structured API reference