Skip to main content

Overview

The Reports module provides powerful analytics and export capabilities, helping you understand your financial patterns and share data with accountants, tax preparers, or personal finance tools.

Dashboard Analytics

Real-time financial summaries with income, expenses, and cash flow

Excel Export

Export all transactions to Excel format for analysis

CSV Export

Lightweight CSV format for importing into other tools

PDF Reports

Professional PDF reports in tabular or visual formats

Dashboard Statistics

Get a comprehensive financial summary with GET /reports/dashboard:
GET /reports/dashboard
Optionally filter by account:
GET /reports/dashboard?accountId=wallet-uuid

Response Format

{
  "summary": {
    "income": 150000.00,
    "expense": 98500.50,
    "cashFlow": 51499.50,
    "totalAvailable": 175000.00
  },
  "chartData": [
    {
      "categoryName": "Food & Dining",
      "total": 35000.00,
      "color": "#10B981"
    },
    {
      "categoryName": "Transportation",
      "total": 22000.00,
      "color": "#3B82F6"
    },
    {
      "categoryName": "Housing",
      "total": 41500.50,
      "color": "#F59E0B"
    }
  ],
  "expensesAnalysis": {
    "fixed": 65000.00,
    "variable": 33500.50
  }
}

Summary Fields

Total of all INCOME transactions (excludes transfers)
Total of all EXPENSE transactions (excludes transfers)
Net cash flow: income - expensePositive = surplus, Negative = deficit
Sum of all account balances (your total net worth)

Chart Data

The chartData array provides expense breakdown by category:
  • Grouped by top-level categories
  • Sorted by total amount (highest first)
  • Includes category color for visualization
  • Perfect for pie charts or bar graphs

Expenses Analysis

Breaks down expenses into:
  • fixed: Categories marked with isFixed: true (rent, subscriptions, insurance)
  • variable: All other expense categories
This helps identify where you have control over spending.

Excel Export

Export all your transactions to Excel format with GET /reports/export:
GET /reports/export
Optional filtering by account:
GET /reports/export?accountId=wallet-uuid

Excel File Structure

The exported file includes a worksheet named “Mis Transacciones” with columns:
ColumnDescription
FechaTransaction date
TipoTransaction type (INCOME, EXPENSE, TRANSFER)
CategoríaCategory name (or “Sin Categoría”)
DescripciónTransaction description
MontoTransaction amount
MonedaCurrency code (ARS, USD, EUR)

Download Response

Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Content-Disposition: attachment; filename="movimientos.xlsx"
Transactions are ordered by date (most recent first) and include all non-deleted transactions.

CSV Export

For a lighter export format, use GET /reports/export/csv:
GET /reports/export/csv
Optional filtering:
GET /reports/export/csv?accountId=wallet-uuid

CSV Format

Fecha,Tipo,Categoría,Descripción,Monto,Moneda
2026-03-04T14:30:00.000Z,EXPENSE,Food & Dining,Grocery shopping,1500.75,ARS
2026-03-03T10:00:00.000Z,INCOME,Salary,Monthly salary,150000.00,ARS
2026-03-02T18:20:00.000Z,TRANSFER,Transferencia,To savings,5000.00,USD

Download Response

Content-Type: text/csv
Content-Disposition: attachment; filename="movimientos.csv"
CSV exports are ideal for importing into spreadsheet applications, accounting software, or data analysis tools.

PDF Export (Tabular)

Generate a quick PDF table of transactions with GET /reports/export/pdf/table:
GET /reports/export/pdf/table
Optional filtering:
GET /reports/export/pdf/table?accountId=wallet-uuid

PDF Features

  • Fast generation using PDFKit
  • Tabular layout optimized for printing
  • Handles large transaction volumes efficiently
  • Black and white for professional appearance

Download Response

Content-Type: application/pdf
Content-Disposition: attachment; filename="movimientos_tabla.pdf"
Performance: The tabular PDF is optimized for speed and can handle thousands of transactions without performance issues.

PDF Export (Visual)

Generate a beautifully designed PDF report with GET /reports/export/pdf/visual:
GET /reports/export/pdf/visual
Optional filtering:
GET /reports/export/pdf/visual?accountId=wallet-uuid

Visual Features

  • Rich HTML/CSS design rendered via Puppeteer
  • Charts and graphs for visual insights
  • Branded layout with colors and styling
  • Perfect for presentations or formal reporting

Download Response

Content-Type: application/pdf
Content-Disposition: attachment; filename="reporte_visual.pdf"
Performance Note: Visual PDFs take longer to generate due to browser rendering. For large datasets, use the tabular format instead.

Filtering by Account

All report endpoints support filtering by a specific account:
# Dashboard for specific account
GET /reports/dashboard?accountId=wallet-uuid

# Excel export for specific account
GET /reports/export?accountId=wallet-uuid

# CSV export for specific account
GET /reports/export/csv?accountId=wallet-uuid

# PDF export for specific account
GET /reports/export/pdf/table?accountId=wallet-uuid
GET /reports/export/pdf/visual?accountId=wallet-uuid
This allows you to:
  • Generate account-specific reports
  • Track spending per wallet or credit card
  • Share specific account data with others

Report Data Sources

All reports use the same data sources:
Only non-deleted transactions are included (deletedAt: null). Soft-deleted transactions are excluded from all reports.
Category information (name, color, icon) is joined from the categories table. Transactions without categories show “Sin Categoría”.
Account balances are aggregated from the accounts table. The balance field reflects all historical transactions.
Expense categorization uses the isFixed flag on categories. Categories not marked as fixed are considered variable.

Best Practices

Export your data monthly as a backup. Store Excel or CSV files in cloud storage for safekeeping.
If you have thousands of transactions, use the tabular PDF or CSV format for faster generation.
Use the visual PDF format when sharing reports with stakeholders or for formal presentations.
The dashboard endpoint is lightweight and perfect for mobile apps or frequent status checks.
When analyzing specific financial goals or accounts, use the accountId filter to focus your reports.

Analytics Insights

Understanding Cash Flow

Your cash flow (income - expense) tells you if you’re living within your means:
{
  "cashFlow": 51499.50  // Positive = Good!
}
  • Positive cash flow: You’re saving money each month
  • Negative cash flow: You’re spending more than you earn
  • Zero cash flow: You’re breaking even

Fixed vs Variable Analysis

The expenses analysis helps you understand spending flexibility:
{
  "expensesAnalysis": {
    "fixed": 65000.00,    // 66% of expenses
    "variable": 33500.50  // 34% of expenses
  }
}
Optimization Tip: If fixed expenses exceed 60% of total expenses, look for opportunities to reduce subscriptions, negotiate bills, or refinance loans.

Category Breakdown

Use chartData to identify your top spending categories:
[
  { "categoryName": "Housing", "total": 41500.50 },  // 42%
  { "categoryName": "Food & Dining", "total": 35000.00 },  // 36%
  { "categoryName": "Transportation", "total": 22000.00 }  // 22%
]
The top 3 categories typically account for 70-80% of total spending.

Common Workflows

Monthly Financial Review

# 1. Get dashboard summary
GET /reports/dashboard

# 2. Review cash flow
# - Positive? Great! Increase savings.
# - Negative? Review chart data to find cuts.

# 3. Export for detailed analysis
GET /reports/export

# 4. Open Excel and create pivot tables for deeper insights

Tax Preparation

# 1. Export full year of transactions
GET /reports/export/csv

# 2. Filter in spreadsheet for:
# - Deductible expenses (business, medical, donations)
# - Taxable income
# - Investment gains/losses

# 3. Share CSV with accountant or import to tax software

Account-Specific Analysis

# Check credit card spending
GET /reports/dashboard?accountId=credit-card-uuid

# Generate credit card statement
GET /reports/export/pdf/visual?accountId=credit-card-uuid

# Compare to credit limit and plan payments

Budget Planning

# 1. Get previous month's analytics
GET /reports/dashboard

# 2. Review chartData to see actual spending by category

# 3. Set next month's budgets based on actuals:
# - Categories over budget: reduce next month
# - Categories under budget: opportunity to reallocate

Build docs developers (and LLMs) love