Layer tags on top of categories

Layer tags on top of categories. One transaction can be both Groceries (category) and #vacation, #shared, and #reimbursable (tags).

No spam, ever. Unsubscribe anytime.

  • Free, no account
  • Works offline
  • Source-available
Budgie new expense form with the tag sheet open on a searchable grid of tag chips

One transaction, two ways to file it

Three screens: pick tags on the expense form, read them back on the list, then total them up under Analytics.

  1. Tags are the second dimension

    A category says what you bought. A tag says which trip, which project, which person — chosen on the same form, from your own flat list.

  2. The list keeps them visible

    Every tagged row carries one tag chip and a count of the rest, so a long list stays scannable without opening a single transaction.

  3. Then the totals follow

    Analytics carries a Tags tab beside Categories: income and spending per tag, each with its share of the period.

Budgie new expense form with the tag sheet open on a searchable grid of tag chips
Tags sit next to Category
Search, or add a new one
Budgie transaction list where each row shows a tag chip beside its category and date
One tag chip, plus a count
Budgie analytics Tags tab listing income and spending totals for each tag
A Tags tab beside Categories
Every tag, ranked by spend
  1. Tags sit next to Category
  2. Search, or add a new one
  1. One tag chip, plus a count
  1. A Tags tab beside Categories
  2. Every tag, ranked by spend

Tags, by the numbers

No limit

on tags per transactionLayer as many tags as you need on one expense.

1

primary tag per transactionPromote one tag and it stands out as a highlighted pill.

Every

tag you use gets its own totalAnalytics lists spending per tag, plus an Untagged bucket.

Scan tags without opening a row

A tagged row shows one tag chip, plus a count when it has more.

  1. Category says what you bought
  2. The tag adds your own label
Budgie transaction list with a category label and a tag chip on each row

What you get

Flat, reusable tags

Tags are flat, reusable, and combine freely — no rigid hierarchy

Primary tag stands out

One tag per transaction can be promoted to “primary” and stands out as a highlighted pill

Per-tag totals

Tag-based analytics: per-tag totals plus an “Untagged” bucket

Everything included

  • Selector stays open across multi-selections; commit with a Done pill
  • Merge tags across the database — same mass-reassignment story as categories

The details

For when you want to know exactly how it behaves.

Why categories alone are not enough

Categories answer “what kind of expense”; tags answer “for which project, person, or purpose.” Tag a stretch of transactions #vacation-2026 and the analytics tab gives you a per-tag P&L without rebuilding the category tree.

Promote one tag per transaction to “primary” — it shows as a highlighted pill on the transaction list so you can scan at a glance. To change which tag is primary, open the tag selector and long-press a different tag card there.

Guides on the blog

Questions

How are tags different from categories?

Categories answer “what kind of expense”; tags answer “for which project, person, or purpose.” Use both together — one transaction can be Groceries (category) AND #vacation #shared (tags).

How many tags can I add to a transaction?

No limit. Layer as many as you need; one of them can be promoted to “primary” so it stands out as a highlighted pill on the transaction list.

What does “primary tag” mean?

The primary tag shows as a highlighted pill on the transaction list so you can scan a long list for #vacation or #shared without opening rows. Open the tag selector and long-press a tag card there to make it primary.

Can I rename or merge tags?

Both. Same flow as categories — rename is non-destructive; merge mass-reassigns the transactions and removes the source tag.

Ready to take Budgie for a spin?

Join the waitlist — be first to try the offline-first expense tracker.