Recued
Menu
← Back to recipes

What it all comes to

by recued-core v3 94 views

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

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.

What it all comes to
This recipe

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

Exact figures, then one estimate at the end

Each currency is read on its own and each of those totals is exact — summed inside Records as scaled integers, no rate involved. Only the last line converts, at the rates you supply.

⛔ That order is the whole point, and it is why the ledger stores no converted amounts. The alternative is to convert at posting time and store a base-currency figure on every line. Then the rate is frozen at the moment you happened to record the entry, it is buried in a stored number nobody can see, and re-reading the book later gives you last year's exchange rate presented as fact. Here the book keeps what actually happened — pounds are pounds — and the combined figure is openly a derived estimate that changes when the rates do.

⚠ The combined total is an estimate. The per-currency figures are not. Both are shown, and the per-currency ones are the ones to trust and to reconcile against a bank.

Rates

Give a rate for every currency you hold, including your base currency at exactly 1.

⛔ The base rate must be 1, and it is checked. A base currency listed at anything else silently rescales the entire answer, and there is no figure on the page that would look wrong — it is the one mistake here with no symptom.

⚠ A currency you do not name is left out entirely, not converted at 1. Its balance is simply not in the total, and the row count on the card is how you notice.

What it does not do

⚠ It does not fetch rates. You give them, and the answer says which ones it used — a report that quietly went and got its own numbers would be a different figure every time you opened it, with nothing on the page explaining why.

How it works 50 steps

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

Process (50 steps)
■ base_raw trim
Trim whitespace from setting base currency
■ base uppercase
Convert base raw to uppercase
■ has_base compare
Check if base has data
⚠ base_guard guard
Stop if has base equals
■ rates json_parse
Apply json_parse
■ rate_count count
Count items in rates
■ rates_fit compare
Check if rate count is at most 100
⚠ rate_cap_guard guard
Stop if rates fit equals
■ any_rates compare
Check if rate count is greater than 0
⚠ rates_guard guard
Stop if any rates equals
■ trimmed_rates map
Extract currency from each item
■ normalized_rates map
Extract currency from each item
■ numbered_rates map
Extract from each item
■ named_rates filter
Filter by condition
■ positive_rates filter
Filter by condition
■ named_rate_count count
Count items in named rates
■ positive_rate_count count
Count items in positive rates
■ named_rates_valid compare
Check if named rate count equals rate count
■ positive_rates_valid compare
Check if positive rate count equals rate count
■ rates_valid all
Check if all conditions are true
⚠ invalid_rate_guard guard
Stop if rates valid equals
■ unique_rates unique
Remove duplicates from
■ unique_rate_count count
Count items in unique rates
■ rates_unique compare
Check if unique rate count equals rate count
⚠ duplicate_rate_guard guard
Stop if rates unique equals
■ base_rows filter
Filter by condition
■ base_rate_ok count
Count items in base rows
■ base_is_one compare
Check if base rate ok equals 1
⚠ base_rate_guard guard
Stop if base is one equals
■ period trim
Trim whitespace from setting period
■ has_period compare
Check if period has data
◆ balances_all recued-core.ledger-book.leg.balance
Balance leg on ledger book
skip: step.has_period equal true
◆ balances_period recued-core.ledger-book.leg.balance
Balance leg on ledger book
skip: step.has_period equal false
■ balances coalesce
Use the first available value from: balances period, balances all
■ balance_successes filter
Filter by condition
■ balance_success_count count
Count items in balance successes
■ all_balance_reads_succeeded compare
Check if balance success count equals unique rate count
⚠ balance_read_guard guard
Stop if all balance reads succeeded equals
■ rows map
Extract from each item
■ complete_rows filter
Filter by condition
■ complete_row_count count
Count items in complete rows
■ all_balance_shapes_complete compare
Check if complete row count equals unique rate count
⚠ balance_shape_guard guard
Stop if all balance shapes complete equals
■ converted map
Extract from each item
■ sorted sort
Sort by currency
■ total_raw sum
Sum values in
■ total round
Round total raw to 2 decimal places
■ line_total sum
Sum values in
■ table to_table
Format results as a data table
■ card to_summary
Format results as a summary card
▼
Output
summary card
table table
Settings 3 configurable

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

period setting =
rates json setting = [object Object]
base currency setting = GBP

Uses (1 operation)

Pack operation Balance leg on ledger book recued-core.ledger-book.leg.balance

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: leg.balance · No approval

About

Tags

pack:ledger-bookaccountingcurrencyrecordsv3

Details

50 steps 3 configurable settings recipe_id: combined-balance