Skip to content

Account Management

Accounts are the foundation of your financial tracking. This guide explains how to set up and manage your Chart of Accounts.

Account Types

Finance Report supports five account types, following standard accounting principles:

Type Description Normal Balance Examples
Asset Resources you own Debit Bank accounts, Cash, Investments
Liability Debts you owe Credit Credit cards, Loans, Mortgages
Equity Net worth / Owner's stake Credit Opening balance, Retained earnings
Income Money earned Credit Salary, Interest, Dividends
Expense Money spent Debit Groceries, Rent, Utilities
pie title Account Type Distribution (Example)
    "Assets" : 45
    "Liabilities" : 20
    "Equity" : 10
    "Income" : 10
    "Expense" : 15

Creating an Account

Via Web Interface

  1. Navigate to AccountsNew Account
  2. Fill in the account details:
  3. Name: Descriptive name (e.g., "Chase Checking")
  4. Type: Select from Asset, Liability, Equity, Income, or Expense
  5. Currency: Default is USD
  6. Description: Optional notes

  7. Click Create Account

Via API

curl -X POST https://report.zitian.party/api/accounts \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Chase Checking",
    "type": "ASSET",
    "currency": "USD",
    "description": "Primary checking account"
  }'

Personal Finance Setup

Assets/
├── Checking Account
├── Savings Account
├── Investment Account
└── Cash on Hand

Liabilities/
├── Credit Card - Visa
├── Credit Card - Amex
└── Student Loan

Equity/
└── Opening Balance

Income/
├── Salary
├── Interest Income
├── Dividend Income
└── Other Income

Expenses/
├── Housing/
│   ├── Rent/Mortgage
│   └── Utilities
├── Transportation/
│   ├── Gas
│   └── Car Insurance
├── Food/
│   ├── Groceries
│   └── Dining Out
├── Entertainment
└── Miscellaneous

Small Business Setup

Assets/
├── Business Checking
├── Accounts Receivable
├── Inventory
└── Equipment

Liabilities/
├── Accounts Payable
├── Credit Line
└── Loans Payable

Equity/
├── Owner's Capital
└── Retained Earnings

Income/
├── Sales Revenue
├── Service Revenue
└── Interest Income

Expenses/
├── Cost of Goods Sold
├── Payroll
├── Rent
├── Utilities
├── Insurance
└── Office Supplies

Account Properties

Property Type Required Description
name string Unique account name
type enum ASSET, LIABILITY, EQUITY, INCOME, EXPENSE
currency string ISO 4217 code (default: USD)
description string Optional notes
is_active boolean Whether account can be used (default: true)
parent_id UUID Parent account for hierarchy

Managing Accounts

View Account Balance

The account balance is calculated from all posted journal entries:

Balance = Sum(Debits) - Sum(Credits)  [for Asset/Expense accounts]
Balance = Sum(Credits) - Sum(Debits)  [for Liability/Equity/Income accounts]

Deactivate an Account

Inactive accounts cannot be used in new journal entries but preserve historical data:

curl -X PUT https://report.zitian.party/api/accounts/{id} \
  -H "Content-Type: application/json" \
  -d '{"is_active": false}'

Cannot Delete

Accounts with journal entries cannot be deleted, only deactivated.

Account Hierarchy

Use parent accounts to organize your Chart of Accounts:

# Create parent account
curl -X POST https://report.zitian.party/api/accounts \
  -d '{"name": "Bank Accounts", "type": "ASSET"}'

# Create child account
curl -X POST https://report.zitian.party/api/accounts \
  -d '{"name": "Chase Checking", "type": "ASSET", "parent_id": "<parent-id>"}'

Best Practices

Naming Convention

Use clear, descriptive names. Include the institution name for bank accounts.

Start Simple

Begin with basic accounts. Add more detailed categories as needed.

Consistent Currency

Use the same currency for related accounts unless you specifically need multi-currency tracking.

Don't Duplicate

Avoid creating multiple accounts for the same purpose. Use descriptions or tags instead.

Next Steps