Recued
Menu
← Back to recipes

The tags

by recued-core v3 84 views

Use “The tags” in Recued. Every tag with its id and how deep it sits — the trees you can spend against, and the ids the rest of the pack takes.

Complete workflow

Ledger book 18 pinned recipes

Use Ledger book in Recued for accounting, double entry, budget, and records. It includes 44 built-in actions and 17 ready-to-run workflows. Actions that change data use Recued's approval controls.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

The tags
This recipe

Use “The tags” in Recued. Every tag with its id and how deep it sits — the trees you can spend against, and the ids the rest of the pack takes.

pack:ledger-bookaccountingtagsrecords
by recued-core pinned v3

Use “The accounts” in Recued. Every account with its id — what you post to, and what anything else in this workflow needs before it can name one.

pack:ledger-bookaccountingaccountsrecords
by recued-core pinned v4

Use “One account” in Recued. Everything the book holds about one account, opened from the Accounts list.

pack:ledger-bookaccountingaccountsdetail
by recued-core pinned v1

Use “What it all comes to” in Recued. Each currency's balance read exactly, then converted at rates you give and added up.

pack:ledger-bookaccountingcurrencyrecords
by recued-core pinned v3

Use “Every budget at once” in Recued. All your budgets for a period, each counting everything under its tag — in four queries, however many budgets you have.

pack:ledger-bookaccountingbudgetrecords
by recued-core pinned v4
Show all 18 recipes

Use “How a budget is doing” in Recued. What a budget has left, counting everything under its tag at any depth.

pack:ledger-bookaccountingbudgetrecords
by recued-core pinned v3

Use “What went under a tag” in Recued. Everything spent under one tag, including every tag beneath it, at any depth.

pack:ledger-bookaccountingtagsbudget
by recued-core pinned v3

Use “The lines under a tag” in Recued. Every transaction line under a tag and everything beneath it — the lines themselves, not a total. With a CSV to copy.

pack:ledger-bookaccountingtagsexport
by recued-core pinned v3

Use “Open an account” in Recued. Adds an account to your chart. Its currency is fixed here and every line posted to it inherits it.

pack:ledger-bookaccountingrecordsv2
by recued-core pinned v2

Use “Post an entry” in Recued. One entry, any number of legs, written in a single all-or-nothing transaction. It will not post unless the legs sum to zero.

pack:ledger-bookaccountingdouble-entryrecords
by recued-core pinned v4

Use “Add a tag” in Recued. Adds a tag anywhere in your tree, at any depth. The tag and its place in the tree are written together or not at all.

pack:ledger-bookaccountingtagsrecords
by recued-core pinned v3

Use “Tag a month of lines” in Recued. One tree at a time: every line in a period on one page, with a picker in the tag cell.

pack:ledger-bookaccountingtagsrecords
by recued-core pinned v4

Use “Tag a transaction line” in Recued. Sets which tags a line belongs to, one per tree. Each tag and every tag above it counts the full amount.

pack:ledger-bookaccountingtagsrecords
by recued-core pinned v4

Use “Set a budget” in Recued. A cap on a tag for one period. It counts everything under that tag, at any depth.

pack:ledger-bookaccountingbudgetrecords
by recued-core pinned v3

Use “Move a tag” in Recued. Puts a tag inside a different one. Everything recorded under it follows automatically — no transaction is rewritten.

pack:ledger-bookaccountingtagsrecords
by recued-core pinned v4

Use “Delete a tag” in Recued. Removes a tag and everything beneath it. Refuses while anything is still tagged with it.

pack:ledger-bookaccountingtagsrecords
by recued-core pinned v4

Use “One budget” in Recued. Open one budget from the list that names it, and read everything recorded about that budget on one page.

pack:ledger-bookbudgetdetailnavigation
by recued-core pinned v1
View pack details, dependencies, and permissions →

Why this exists as its own recipe

A tag id is the most-asked-for argument in the pack — tag-spend, list-entries, set-budget, add-tag, move-tag, delete-tag and tag-leg all take one, and none of them can tell you what exists. This is the recipe that answers first.

⛔ Level 0 is what tag-lines means by a tree. tag-lines wants the TOP of a dimension, not any tag in it, and it refuses anything else. The level column is how you can see which ids qualify without guessing from the names.

Levels, not indentation

Each row shows how far below its root it sits — 0 for the top of a tree, 1 for its children, and so on. It is read from the closure table rather than counted from a name, so finance/london/pat is level 2 because that is where it actually hangs, not because it has two slashes in it.

⚠ Level is a number, not a path. Two rows at level 2 in the same tree are not necessarily siblings. If you need the actual ancestry of one tag, budget-status prints the full set beneath a tag, and tag-spend reports what a subtree cost.

What a tree means here

Trees are independent dimensions — person → department → division → corp is one, projects are another. A line carries at most one tag from each, and its FULL amount counts at every level above that tag. That is why a tag id is enough to ask a question at any altitude: naming the division is naming everyone under it.

⚠ An empty book answers "0 tags" rather than refusing. Asking what exists is a question a brand-new install should be able to ask; a refusal there reads as a mistake the caller made rather than a fact about the book.

Limits

⛔ At most 200 tags, and at most 100 distinct trees. Both refuse rather than answering short — a tag list that is quietly missing rows is one you would pick a parent from, and a wrong parent silently reparents real spending.

How it works 25 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Process (25 steps)
■ tree trim
Trim whitespace from setting tree
■ has_tree compare
Check if tree has data
■ root_ref template
Generate text from a template
◆ tags_all recued-core.ledger-book.tag.search
Search tag on ledger book
skip: step.has_tree equal true
◆ tags_one recued-core.ledger-book.tag.search
Search tag on ledger book
skip: step.has_tree equal false
■ tags coalesce
Use the first available value from: tags one records, tags all records
■ tag_rows default
Apply default
■ tag_count count
Count items in tag rows
■ any_tags compare
Check if tag count is greater than 0
■ root_refs pluck
Extract root_ref from each item
■ roots unique
Remove duplicates from
■ root_count count
Count items in roots
■ roots_fit compare
Check if root count is at most 100
⚠ roots_guard guard
Stop if roots fit equals
◆ edge_search recued-core.ledger-book.tag_closure.search
Search tag closure on ledger book
skip: step.any_tags equal false
■ edges default
Apply default
■ with_ref map
Extract from each item
■ with_level enrich_by
Apply enrich_by
■ sorted sort
Sort by tree
■ roots_only filter
Filter by condition
■ tree_count count
Count items in roots only
■ page_full compare
Check if tag count is at least setting limit
■ truncated_note ternary
Apply ternary
■ table to_table
Format results as a data table
■ card to_summary
Format results as a summary card
▼
Output
summary card
table table
Settings 2 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

tree setting =
limit setting = 200

Uses (2 operations)

Pack operation Search tag on ledger book recued-core.ledger-book.tag.search
Pack operation Search tag closure on ledger book recued-core.ledger-book.tag_closure.search

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

What it's allowed to do

Read Pack Ledger book read-only
Read: tag.search · No approvalRead: tag_closure.search · No approval

About

Tags

pack:ledger-bookaccountingtagsrecordsv3

Details

25 steps 2 configurable settings recipe_id: list-tags