Recued
Menu
← Back to recipes

Set a budget

by recued-core v3 94 views

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

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.

Set a budget
This recipe

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

A cap on a tag, not on an account

A budget names a tag, and it counts everything beneath that tag — so budgeting overheads covers every category you later add under it without touching the budget.

⛔ The tag must already exist and be in the tree. A budget on a tag with no ancestry rows would read a confident zero spent and report the whole cap as remaining, which is the most reassuring possible way to be wrong.

⚠ Scoping to an account keeps it off budget-board. The board's grouped read is not split by account, so an account-scoped budget is deliberately left off that page and answered by budget-status instead. If you want it on the board, leave the account blank.

⚠ The period is a plain YYYY-MM and must match how entries are dated. post-batch derives an entry's period from its date, so a budget for 2026-08 sees exactly the entries booked in August.

How it works 36 steps

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

Process (36 steps)
■ budget_id trim
Trim whitespace from setting id
■ label trim
Trim whitespace from setting label
■ tag_id trim
Trim whitespace from setting tag id
■ period trim
Trim whitespace from setting period
■ cap trim
Trim whitespace from setting cap
■ currency_raw trim
Trim whitespace from setting currency
■ currency uppercase
Convert currency raw to uppercase
■ account_id trim
Trim whitespace from setting account id
■ inputs_ok all
Check if all conditions are true
⚠ inputs_guard guard
Stop if inputs ok equals
■ cap_scaled math
Calculate: {{step.cap}} * 100
■ cap_number round
Round cap scaled to 0 decimal places
■ cap_drift math
Calculate: abs({{step.cap_number}} - {{step.cap_scaled}})
■ cap_is_precise compare
Check if cap drift is less than 0.0001
⚠ precision_guard guard
Stop if cap is precise equals
■ cap_positive compare
Check if cap number is greater than 0
⚠ cap_guard guard
Stop if cap positive equals
◆ edges recued-core.ledger-book.tag_closure.search
Search tag closure on ledger book
■ edge_rows default
Apply default
■ edge_count count
Count items in edge rows
■ tag_in_tree compare
Check if edge count is greater than 0
⚠ tag_guard guard
Stop if tag in tree equals
■ has_account compare
Check if account id has data
◆ budget_account recued-core.ledger-book.account.get
Get account on ledger book
skip: step.has_account equal false
■ account_found compare
Check if budget account record id has data
■ account_missing all
Check if all conditions are true
⚠ account_guard guard
Stop if account missing equals
■ account_currency_matches compare
Check if budget account record currency equals currency
■ account_currency_mismatch all
Check if all conditions are true
⚠ account_currency_guard guard
Stop if account currency mismatch equals
■ base_values default
Apply default
■ account_values ternary
Apply ternary
■ values merge
Combine objects together
◆ create recued-core.ledger-book.budget.create
Create budget on ledger book
■ scope_note ternary
Apply ternary
■ card to_summary
Format results as a summary card
▼
Output
summary card
Settings 7 configurable

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

id setting = [object Object]
cap setting = 0
label setting = [object Object]
period setting = [object Object]
tag id setting = [object Object]
currency setting = GBP
account id setting =

Uses (3 operations)

Pack operation Search tag closure on ledger book recued-core.ledger-book.tag_closure.search
Pack operation Get account on ledger book recued-core.ledger-book.account.get
Pack operation Create budget on ledger book recued-core.ledger-book.budget.create

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

Write Pack Ledger book external change
Read: tag_closure.search · No approvalRead: account.get · No approvalWrite: budget.create · No approval

About

Tags

pack:ledger-bookaccountingbudgetrecordsv3

Details

36 steps 7 configurable settings recipe_id: set-budget