Tags

Tags are flexible reporting dimensions that cut across your chart of accounts. Organize them into groups — Department, Project, Location, Cost Center — and attach one or more to almost any record: transactions, invoices, bills, journal entries, line entries, customers, vendors, and products. Then filter lists and reports by tag to see activity for a single department, project, or location without creating a forest of sub-accounts.

Key capabilities

  • Tag groups to organize related tags (e.g. Department, Project, Cost Center, Location)
  • Tags can be grouped or standalone (a tag's group is optional)
  • A polymorphic attachment model — tag eight entity types: transaction, invoice, bill, journal entry, line entry, customer, vendor, product
  • Multiple tags per record, and the same tag reused across many records
  • No duplicates — re-attaching the same tag returns the existing link instead of duplicating
  • Bulk attach and detach to tag (or untag) many tags on one record at once
  • Fuzzy tag search by name
  • Filter any list or report by tag to slice activity by dimension
  • AI tag-name suggestions based on your existing tags and optional context
  • Usage count per tag so you can see what's actually in use
  • Cascading cleanup: deleting a group deletes its tags; deleting a tag removes it from every entity
  • Pagination throughout; tag changes are recorded in the audit log (with the group name as context)

How it works

A tag optionally belongs to a group. Attaching a tag to a record links it to that entity, so any entity type can be tagged — and reports filter by those links.

flowchart TD
  group["Tag group (e.g. Department)"] --> tag["Tag (e.g. Marketing)"]
  tag --> attach["Attach to entity"]
  attach --> ent["transaction / invoice / bill / journal_entry / customer / vendor / product"]
  ent --> filter["Filter lists & reports by tag"]

How to use it

  1. Open Tags (/books/tags) and click New Group to create a category like Department, Project, or Location.
  2. Add tags within each group (e.g. under Department: Marketing, Engineering, Sales).
  3. When creating or editing a transaction, invoice, bill, or journal entry, assign one or more tags — use bulk attach to add several at once.
  4. Search tags by name (fuzzy matching tolerates typos) when the list grows large.
  5. Filter any list or report by tag to see activity for a specific department, project, or location.
  6. Use the AI Suggest tags action to get name ideas that avoid duplicating tags you already have.

Pro tips

  • Reach for tags instead of sub-accounts for cross-cutting dimensions like "by department" or "by project" — they keep the chart of accounts lean.
  • Group your tags: a tidy Department/Project/Location structure makes reporting filters obvious and prevents one-off duplicates.
  • Tagging line entries (not just whole transactions) lets you split a single transaction across dimensions for precise allocation.
  • Check a tag's usage count before deleting it — deletion removes the tag from every record it's attached to.
  • Let AI suggest tag names when you're standardizing a new dimension; pass your existing tags so it doesn't repeat them.

In-depth guide

Taggable entity types

Entity What it is
Transaction Bank/ledger transaction
Invoice Customer invoice
Bill Vendor bill
Journal entry Journal entry
Line entry Individual journal line
Customer Customer
Vendor Vendor
Product Product

Scoping & usage

  • Surfaced info: whether a tag is grouped or standalone, a usage count (number of entities it's attached to), and whether it's in use.
  • Business scoping: tags and links are scoped to a single business, so a tag can only be attached to that business's records, and tag filters only ever see that business's data.

Filtering by tag

  • Filtering matches records against their tag links for a given entity type and set of tags.
  • "Show me all transactions tagged Marketing" resolves to a single efficient lookup.

Cascade behavior

  • Delete a group: cascades to delete the tags inside it.
  • Delete a tag: removes its links from every record.
  • Detach: detaching a single tag from one entity (or bulk-detaching) removes only those links and leaves the tag itself intact for reuse.

Accounting impact

Tags don't post to the ledger — they're a parallel reporting dimension layered on top of double-entry data. That's their advantage: you can report P&L "by project" or spend "by department" without inflating the chart of accounts with combinatorial sub-accounts, and you can re-slice the same transactions along any dimension you've tagged.

Edge cases

  • Re-attaching a tag that's already on a record is a safe no-op that returns the existing link.
  • Standalone tags (no group) are fully supported; a group is purely organizational.
  • AI suggestions return tag names to create, not automatic assignments — you choose which to add and what to tag.

Start free and report across any dimension you track.