v0.1.292

supertone-oss-archive/supertonicv0.1.292Jan 6, 2026by github-actions[bot]

AI Summary

This release introduces the `tally up` command as the primary interface, replaces the legacy `tally run`, and adds a new Report Diff feature to track changes between runs. It also introduces experimental Supplemental Data Sources for enriching transactions and improves HTML report customization options.

Key Highlights

  • New `tally up` command replaces `tally run` (with deprecation warning).
  • Report Diff feature allows users to see what changed since the last run using the `--diff` flag.
  • Experimental Supplemental Data Sources enable enriching transactions with data from external CSV files using Python list comprehensions.
  • HTML report now supports subcategory grouping and custom titles.
  • Config resolution is now consistent across all commands.

New Features

  • Report Diff feature (`tally up --diff`)
  • Supplemental Data Sources (Experimental) with `let:` and `field:` directives
  • Rule Mode setting (`first_match` vs `most_specific`)
  • Subcategory Grouping in HTML Report
  • Custom Report Title support (`title:`)

Full Release Notes

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