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
- Open Tags (
/books/tags) and click New Group to create a category like Department, Project, or Location. - Add tags within each group (e.g. under Department: Marketing, Engineering, Sales).
- When creating or editing a transaction, invoice, bill, or journal entry, assign one or more tags — use bulk attach to add several at once.
- Search tags by name (fuzzy matching tolerates typos) when the list grows large.
- Filter any list or report by tag to see activity for a specific department, project, or location.
- 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.