What's Changed
tally up Replaces tally run
The primary command is now tally up - shorter and clearer. tally run still works but shows a deprecation warning.
# New
tally up --config config/
# Old (deprecated)
tally run config/Report Diff Feature
See what changed each time you run tally up. Helps catch rule changes, understand version upgrade impacts, and debug "why did my totals change?"
tally up
# Output includes:
# Changes since last run:
# Totals: spending $45,231 → $46,892 (+$1,661)
# Merchants: +3 new, 1 removed, 2 tag changes
# Use --diff for details.
tally up --diff # Show detailed changesConsistent Config Resolution
All commands now use the same config detection logic: auto-detect ./config or ./tally/config, with --config flag to override. No more inconsistent positional arguments across commands.
tally up # Auto-detect config
tally up --config ~/budget/ # Override location
tally explain Netflix -c config/Supplemental Data Sources (Experimental)
Enrich transactions with data from other CSV files using Python list comprehensions. Match Amazon transactions to order details, PayPal payments to merchant names, or any cross-reference scenario.
Note: This feature is experimental and will evolve based on feedback.
# settings.yaml
data_sources:
- name: amazon_orders
file: data/orders.csv
format: "{date},{item},{amount}"
supplemental: true # Query-only, won't generate transactions# merchants.rules
[Amazon - Verified]
let: orders = [r for r in amazon_orders if r.amount == txn.amount]
match: contains("AMAZON") and len(orders) > 0
category: Shopping
subcategory: Online
field: items = [r.item for r in orders] # Add to transaction detailsNew rule directives:
let:- Cache expensive queries in named variablesfield:- Add computed fields to transactions (visible in HTML report)
Rule Mode Setting
Control how rules are matched when multiple patterns match:
# settings.yaml
rule_mode: first_match # Default - first matching rule wins
rule_mode: most_specific # Most specific pattern winsSubcategory Grouping in HTML Report
Toggle between merchant view and subcategory view in the HTML report. Click the grouping toggle to see spending aggregated by subcategory instead of merchant.
Custom Report Title
Replace year: with title: for custom report headers:
# settings.yaml
title: "2025 Household Budget" # New
# year: 2025 # DeprecatedBug Fixes
- Fix category percentage calculation when filtering by subcategory
- Fix popup click propagation in HTML report
- Fix
tally updatenot offering stable release when on prerelease - Fix JSON export crash accessing missing data
- Fix single-character delimiter handling
- Fix currency formatting throughout HTML report and CLI
Improvements
- Cash Flow Summary in CLI output
- Investment category in monthly trend charts
- Transactions sorted by date descending within merchant view
- Quiet mode implied for
--format jsonand--format markdown
Install
Linux / macOS:
curl -fsSL https://tallyai.money/install.sh | bashWindows PowerShell:
irm https://tallyai.money/install.ps1 | iexOr download the zip for your platform below.
See https://tallyai.money for more info.