actual-reports
v1.0.0
Published
Professional accounting reports for Actual Budget - P&L, Balance Sheet, Trial Balance, General Ledger, and more
Downloads
103
Maintainers
Readme
Actual Reports
Professional accounting reports for Actual Budget. Generate print-ready financial reports from your Actual Budget data with a clean web interface.
Features
- Read-Only Access - Your budget data is never modified
- Professional Reports - Standard accounting report formats
- Print Ready - Optimized layouts for printing
- CSV Export - Export data for use in spreadsheets
- Multi-Period Views - Compare data across months, quarters, or years
- Modern Interface - Clean, responsive web UI
Available Reports
| Report | Description | |--------|-------------| | Profit & Loss | Income and expenses with optional grouping by month/quarter/year | | Balance Sheet | Assets, liabilities, and equity as of a specific date | | Trial Balance | All accounts with debit/credit balances, CSV export | | General Ledger | Detailed transaction listing by account | | Chart of Accounts | Complete list of all categories and accounts |
Quick Start
Install with npm/bun
# Using bun (recommended)
bun add -g actual-reports
# Using npm
npm install -g actual-reportsRun
actual-reportsOpen http://localhost:3000 in your browser.
From Source
# Clone the repository
git clone https://github.com/actualbudget/actual-reports.git
cd actual-reports
# Install dependencies
bun install
# Start the server
bun run startRequirements
- Bun v1.0+ (or Node.js 18+)
- Actual Budget with local database files (typically in
~/Documents/Actual/)
Usage
- Select a budget from the dropdown menu
- Choose a report type (P&L, Balance Sheet, Trial Balance, etc.)
- Select the time period (Year, Quarter, Month, or Custom range)
- View, print, or export your report
Printing
Click the print button or use Cmd/Ctrl + P. Reports are optimized for landscape printing.
CSV Export
Trial Balance reports include a CSV download button for spreadsheet import.
Configuration
Port
Set a custom port using the PORT environment variable:
PORT=8080 actual-reportsData Directory
By default, Actual Reports reads budget databases from ~/Documents/Actual/. This is where Actual Budget stores local data.
API Reference
Endpoints
| Method | Endpoint | Description |
|--------|----------|-------------|
| GET | /api/budgets | List all available budgets |
| GET | /api/budgets/:id/years | Get available years for a budget |
| GET | /api/budgets/:id/reports/pnl | Profit & Loss report |
| GET | /api/budgets/:id/reports/balance-sheet | Balance Sheet report |
| GET | /api/budgets/:id/reports/trial-balance | Trial Balance report |
| GET | /api/budgets/:id/reports/general-ledger | General Ledger report |
| GET | /api/budgets/:id/reports/chart-of-accounts | Chart of Accounts |
Common Query Parameters
| Parameter | Type | Description |
|-----------|------|-------------|
| period | string | year, quarter, month, or custom |
| year | number | Year for the report |
| month | number | Month (0-11) when period is month |
| quarter | number | Quarter (0-3) when period is quarter |
| startDate | string | Start date (ISO) when period is custom |
| endDate | string | End date (ISO) when period is custom |
| includeOffBudget | boolean | Include off-budget accounts |
P&L Specific Parameters
| Parameter | Type | Description |
|-----------|------|-------------|
| grouping | string | monthly, quarterly, or annual for comparative view |
Tech Stack
- Runtime: Bun
- Backend: Hono
- Frontend: React 19, Tailwind CSS
- Database: SQLite (read-only via bun:sqlite)
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Development
# Start with hot reload
bun run dev
# Build client only
bun run build:clientSecurity
This application provides read-only access to your Actual Budget data. No modifications are ever made to your budget files.
License
Related Projects
- Actual Budget - The budgeting app this tool generates reports for
- Actual Server - Self-hosted Actual Budget server
