Download Latest Version tally-linux-amd64.zip (12.9 MB)
Email in envelope

Get an email when there's a new version of Tally

Home / v0.1.292
Name Modified Size InfoDownloads / Week
Parent folder
tally-linux-amd64.zip 2026-01-06 12.9 MB
tally-macos-amd64.zip 2026-01-06 9.8 MB
tally-macos-arm64.zip 2026-01-06 9.8 MB
tally-windows-amd64.zip 2026-01-06 9.5 MB
README.md 2026-01-06 3.6 kB
Tally v0.1.292 source code.tar.gz 2026-01-06 2.9 MB
Tally v0.1.292 source code.zip 2026-01-06 2.9 MB
Totals: 7 Items   47.8 MB 0

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.

:::bash
# 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?"

:::bash
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 changes

Consistent 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.

:::bash
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.

:::yaml
# settings.yaml
data_sources:
  - name: amazon_orders
    file: data/orders.csv
    format: "{date},{item},{amount}"
    supplemental: true  # Query-only, won't generate transactions

:::ini
# 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 details

New rule directives: - let: - Cache expensive queries in named variables - field: - Add computed fields to transactions (visible in HTML report)

Rule Mode Setting

Control how rules are matched when multiple patterns match:

:::yaml
# settings.yaml
rule_mode: first_match    # Default - first matching rule wins
rule_mode: most_specific  # Most specific pattern wins

Subcategory 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:

:::yaml
# settings.yaml
title: "2025 Household Budget"  # New
# year: 2025                    # Deprecated

Bug Fixes

  • Fix category percentage calculation when filtering by subcategory
  • Fix popup click propagation in HTML report
  • Fix tally update not 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 json and --format markdown

Install

Linux / macOS:

:::bash
curl -fsSL https://tallyai.money/install.sh | bash

Windows PowerShell:

:::powershell
irm https://tallyai.money/install.ps1 | iex

Or download the zip for your platform below.

See https://tallyai.money for more info.

Source: README.md, updated 2026-01-06