mcpField
C
custom-report

custom-report

github.com/openaccountantData & databases103426 installsUpdated 29w ago
Repository

About custom-report

custom-report is a financial reporting workflow skill for selecting date ranges, categories, transaction types, and amount thresholds. It combines category summaries with transaction details and can export reports as CSV or Markdown.

Key features

  1. 01Filters by date range and category
  2. 02Selects income, expenses, or both
  3. 03Supports minimum transaction amounts
  4. 04Combines summaries and transaction details
  5. 05Exports reports as CSV or Markdown

Use cases

  1. 01Creating a report for a chosen quarter
  2. 02Reviewing spending in selected categories
  3. 03Exporting filtered financial data for further analysis

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/openaccountant/skills --skill custom-report

After installing, type/custom-reportin Claude Code to confirm it loaded.

Details

From the project README

Custom Report

Overview

Generate tailored financial reports by specifying date ranges, category filters, transaction types, and output format. Combine spending summaries with transaction-level detail in a single report.

Wilson Tools Used

  • spending_summary — aggregate spending by category for the specified period
  • transaction_search — pull detailed transactions matching filters
  • export_transactions — export report data to CSV or Markdown

Workflow

  1. Ask the user what the report should cover:
    • Date range: specific dates, "last 3 months," "Q1 2025," "year to date"
    • Categories: all, specific categories, or exclude certain categories
    • Transaction type: expenses only, income only, or both
    • Minimum amount: optional threshold (e.g., "only transactions over $50")
  2. Use spending_summary to generate category-level aggregates for the date range.
  3. Use transaction_search to pull individual transactions matching the filters.
  4. Compile the report with:
    • Summary table (category totals, percentages)
    • Top transactions by amount
    • Transaction count and average per category
    • Date range and filter parameters noted at the top
  5. Ask the user for output format: terminal display, Markdown file, or CSV export.
  6. If Markdown or CSV, use export_transactions to write the file.

Without Wilson

You can build custom reports in a spreadsheet:

Google Sheets / Excel Setup
  1. Import or paste your transactions into a sheet with columns: Date, Description, Amount, Category.
  2. Date filtering: Add a filter or use =FILTER(A:D, A:A >= DATE(2025,1,1), A:A <= DATE(2025,3,31)) for Q1 2025.
  3. Category summary pivot table:
    • Select your data > Insert > Pivot Table
    • Rows: Category
    • Values: SUM of Amount, COUNT of Amount
    • Filter: Date range
  4. Manual summary formulas:
    Total Expenses:  =SUMIFS(C:C, C:C, "<0", A:A, ">="&DATE(2025,1,1), A:A, "<="&DATE(2025,3,31))
    Total Income:    =SUMIFS(C:C, C:C, ">0", A:A, ">="&DATE(2025,1,1), A:A, "<="&DATE(2025,3,31))
    Category Total:  =SUMIFS(C:C, D:D, "Groceries", A:A, ">="&DATE(2025,1,1), A:A, "<="&DATE(2025,3,31))
    
  5. Top transactions: Sort by Amount (ascending for biggest expenses) and take the top 10.
CLI Alternative (csvkit)
# Filter by date range
csvgrep -c Date -r "2025-0[1-3]" transactions.csv | csvsort -c Amount | head -20
# Summary by category
csvstat -c Amount --group Category transactions.csv

Important Notes

  • Date ranges are inclusive on both ends.
  • Spending summary shows absolute values (positive numbers) for expenses to improve readability.
  • Reports can be re-run with different parameters without re-importing data.
  • Markdown export includes a YAML header with report metadata (date generated, filters applied).

Comments

Markdown supported