Expand description
Bank accounts and budgets (docs/accounting.md, “Bank accounts”). Where money is (a current account, PayPal, Stripe) and what it is for (the budgets) are two things: each movement an account’s exports bring goes to a budget, in parts between budgets, with a reserve, or to none (money moved between your own accounts). By your hand for that movement; else the same payment as a line the budgets hold already (from mail), counted there once; else money moved to or from PayPal or Stripe, when their own exports cover the day; else the first rule that names it (or, without words, every movement its way); else the recurring payment it stands for; else the account’s first budget. A card payment of daily life is spent from its budget’s estimate (food, clothes), never added on top of it. Reserves top the accounts up, in your order, each with its own delay.
Structs§
- Bank
Account Edit - A bank account as the window gives it.
- Placed
- Reserve
Edit - A reserve as the window gives it.
- Share
- A movement’s share in one budget, and the preset it stands for or is spent from.
- Split
Edit - A rule as the window gives it: words, which way, and where to:
budget:<id>,reserve:<id>,transfer:<bank account>. - Split
Shown - A rule as the window showed it: its id (empty for one an older Sioul made), its place then, and what it held then.
- TopUp
- Money a reserve should send to a bank account before it runs under its floor.
Enums§
Functions§
- account_
of - The bank account a movement kept under
namebelongs to. - add_
export_ name - Another name the exports give a bank account (an account number), kept so that its movements read under it are its own.
- balance_
of - A bank account’s balance known, and its day: the newest of its exports’,
whatever name each gave it (
BankAccount::exports: its number, its IBAN, none). Each name is the same account, so their balances are one balance at different days, never added: an export first read without a number, later with one, counted the same money twice (review of 5 October 2026). Two real accounts are two cards. - carried_
by - The budgets whose payments a bank account carries forward: those it is the first account to fill (a budget filled by two counts on the first).
- date_
value 🔒 - folded 🔒
- key 🔒
- A preset’s name for lines: its id, else its place in the file (
#3). - money_
value 🔒 - month_
of - The period a movement’s month is in, for the window: “October 2026” groups.
- movements_
of - A bank account’s movements under every name its exports gave it, each once: the same movement read under two names (the bank’s own id) is one.
- open 🔒
- The budget file, empty when there is none yet; one that cannot be read is an error, never an empty file written over it.
- place
- Every movement of the declared bank accounts, placed (see the module’s
notes), oldest first. Movements of no declared account are left out: they
only feed the money watch.
looked: the words of labels that name nothing, and what PayPal and Stripe write for money moved to or from a bank (words::AccountWords). - remove_
bank_ account - Takes a bank account out; its movements stay in
sioul-bank.toml, its rules and choices here. - remove_
split - Takes out the rule the window showed (
split_at), under the file’s lock. - save_
bank_ account - Makes a bank account (
idempty) or changes one; returns its id. - save_
reserve - Makes a reserve (
idempty) or changes one; returns its id. - save_
split - Makes a rule (
shownNone, at the end) or changes the one the window showed (split_at): read, changed and written under the file’s lock. - set_
assignment - Where one movement goes, by your hand:
budget:<id>,none(in no budget), or""(as the rules say again). - spend_
from_ 🔒estimates - Payments out that stand for nothing are spent from their budget’s estimates (food, clothes), the one with the most left in its period first; past them, they count on top.
- split_
at 🔒 - Where the rule the window showed is among the rules now: by its id; one without (an older Sioul’s) at its place, only while it still holds what was shown (another device’s change may have moved the rules since).
- tables 🔒
- top_ups
- What tops each bank account up in the coming month: its balance carried forward with its own movements and its budgets’ recurring payments and planned lines; on the first day it would go under its floor, what is missing (rounded up to ten), taken from its reserves in order, each as far as it holds above its own floor, asked its delay ahead.
- two_
accounts_ in_ one - Whether a card’s names cannot all be one account: two of them with
balances on the same day that differ. One card then covers two real
accounts: the newest balance alone is shown (
balance_of), and movements the banks gave equal ids are read as one (review of 10 October 2026, R11). Said calmly on the card, for you to give each account a card of its own. - words_
array 🔒 - write 🔒