v0.1.292

daydreamlive/DEMONv0.1.292Jan 6, 2026by github-actions[bot]

AI Summary

The primary command is streamlined to `tally up`, and new features include report diffing, consistent config resolution, and experimental supplemental data sources for enriching transaction data.

Key Highlights

  • Renamed primary command to `tally up` (deprecating `tally run`)
  • Added report diff feature to track changes between runs
  • Introduced consistent config resolution across all commands
  • Added experimental supplemental data sources for transaction enrichment

New Features

  • Report Diff Feature
  • Consistent Config Resolution
  • Supplemental Data Sources (Experimental)
  • Rule Mode Setting
  • Subcategory Grouping

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.