Recued
Menu
← Back to recipes

Every budget at once

by recued-core v4 92 views

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.

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.

Every budget at once
This recipe

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

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 “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 “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
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 →

Four queries, however many budgets

Budgets, then the tag tree beneath all of them at once, then the spend per tag, then one grouped fold. It does not grow with the number of budgets, and there is no per-budget loop anywhere.

⛔ Each budget still counts its whole subtree. The fold groups the ancestry rows by the budget's own tag, so a budget on home picks up home/kitchen and everything under it, exactly as budget-status does for one.

⛔ The spend is summed in whole units, not decimals. Every figure is multiplied out before the fold and divided back at the end — otherwise adding a column of 0.10s across a subtree drifts, and a budget lands the wrong side of its cap by a fraction of a penny.

What is on the page is what is counted

⛔ One currency at a time. Budgets are filtered to it and so is the spend. Adding pounds to dollars on a page of caps would give a row that looks exactly like every other row.

⛔ A budget scoped to a single account is LEFT OUT, and the count of them is shown. The grouped read is not split by account, so including them would put a whole-tag figure against an account-scoped cap — a number that is wrong in the direction of looking fine. Run budget-status on those individually; it honours the account.

⚠ Lines is tag lines, not transactions. A transaction tagged under two tags beneath one budget contributes two lines and one amount — the money is split between them so the total is right, but the count is of lines. budget-status reports distinct transactions for a single budget.

Limits

⛔ At most 100 budgets and 100 tags beneath them in total. Past either it refuses rather than showing a page that silently omits rows — a dashboard that is quietly short is worse than one that says it cannot answer.

How it works 49 steps

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

Process (49 steps)
■ period trim
Trim whitespace from setting period
■ currency_raw trim
Trim whitespace from setting currency
■ currency uppercase
Convert currency raw to uppercase
■ inputs_ok all
Check if all conditions are true
⚠ inputs_guard guard
Stop if inputs ok equals
◆ budget_search recued-core.ledger-book.budget.search
Search budget on ledger book
■ all_budgets default
Apply default
■ budget_total count
Count items in all budgets
■ budgets_fit compare
Check if budget total is at most 100
⚠ budget_cap_guard guard
Stop if budgets fit equals
■ any_budgets compare
Check if budget total is greater than 0
⚠ none_guard guard
Stop if any budgets equals
■ scoped_out filter
Filter by condition
■ excluded_count count
Count items in scoped out
■ budgets filter
Filter by condition
■ budget_count count
Count items in budgets
■ any_left compare
Check if budget count is greater than 0
⚠ all_scoped_guard guard
Stop if any left equals
■ budget_tags pluck
Extract tag_ref from each item
◆ edge_search recued-core.ledger-book.tag_closure.search
Search tag closure on ledger book
■ edges default
Apply default
■ edge_page_complete compare
Check if edge search next cursor is empty
⚠ edge_page_guard guard
Stop if edge page complete equals
■ descendant_refs pluck
Extract descendant from each item
■ descendants unique
Remove duplicates from
■ descendant_count count
Count items in descendants
■ tags_fit compare
Check if descendant count is at most 100
⚠ tag_cap_guard guard
Stop if tags fit equals
■ any_tags compare
Check if descendant count is greater than 0
⚠ tags_guard guard
Stop if any tags equals
◆ spend recued-core.ledger-book.leg_tag.spend_by_tag
Spend by tag leg tag on ledger book
■ groups default
Apply default
■ per_tag map
Extract from each item
■ per_tag_pennies map
Extract from each item
■ edges_with_spend enrich_by
Apply enrich_by
■ per_budget_tag group_by
Group by ancestor
■ joined enrich_by
Apply enrich_by
■ with_spent map
Extract from each item
■ with_left map
Extract from each item
■ with_used map
Extract from each item
■ sorted sort
Sort by used_pct
■ over filter
Filter by condition
■ over_count count
Count items in over
■ total_pennies sum
Sum values in
■ total_spent math
Calculate: {{step.total_pennies}} / 100
■ table_rows map
Extract from each item
■ table to_table
Format results as a data table
■ excluded_note ternary
Apply ternary
■ 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.

period setting = [object Object]
currency setting = GBP

Uses (3 operations)

Pack operation Search budget on ledger book recued-core.ledger-book.budget.search
Pack operation Search tag closure on ledger book recued-core.ledger-book.tag_closure.search
Pack operation Spend by tag leg tag on ledger book recued-core.ledger-book.leg_tag.spend_by_tag

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: budget.search · No approvalRead: tag_closure.search · No approvalRead: leg_tag.spend_by_tag · No approval

About

Tags

pack:ledger-bookaccountingbudgetrecordsv4

Details

49 steps 2 configurable settings recipe_id: budget-board