概览

budgeting-envelopes

budgeting-envelopes的财务仪表板。查看账户余额、净资产趋势和收入/支出摘要。

财务状况

净资产及其组成账户

净值
过去 12 个月的资产与负债之和
18,775.74 USD
+3,500 USD较上月
账户
当前资产和负债账户余额

资金流动

按账户类别显示每月收入和支出

March 2026
资金流入
March 2026
+4,100 USD
主要来源
前 3 个月平均值
+4,100 USD
查看全部
资金流出
March 2026
-600 USD
主要支出
前 3 个月平均值
-2,062.13 USD
查看全部

近期活动

考虑分录的账本活动

交易记录
符合当前筛选条件的最新交易

收入与支出

收入与支出
在选定时期内每个区间的总收入和支出对比的柱状图。

资产负债表

资产分布
budgeting-envelopes资产构成的可视化表示
负债分布
budgeting-envelopes负债构成的可视化表示
Chart is empty.

现金流

现金流
资金从收入来源流向支出和投资
README.md

Envelope Budgeting Example — beancount.io

A Beancount ledger demonstrating envelope (zero-based) budgeting: giving every dollar a job before it is spent, and seeing immediately when a category runs dry.

The method rests on one idea — envelopes are equity, not assets. The money is already in the bank; budgeting only decides what it is promised to. So an allocation moves value between equity subaccounts and never touches Assets, which is why the overlay can never disturb your bank reconciliation.

The ledger also declares matching native custom "budget" targets for each expense account. The equity postings provide rollover envelope balances; the custom directives power beancount.io's Budget report and its budget-versus-actual charts. They are complementary views of the same monthly plan.

Quick Start

bash
make install   # Install beancount + fava via uv
make check     # Verify the ledger has zero errors
make serve     # Open Fava at http://localhost:4739

File Guide

FileWhat it demonstrates
main.beanEntry point — options and include directives
accounts.beanCommodity definitions, real accounts, and the envelope tree
budgets.beanNative monthly targets used by the beancount.io Budget report
transactions/opening.beanStarting balances, and what "to be budgeted" means
transactions/funding.beanAssigning income to envelopes — kept separate from income arriving
transactions/spending.beanThe four-posting purchase: two for the money, two for the plan
transactions/overspending.beanAn envelope going negative, and covering it deliberately
transactions/sinking-funds.beanFunding an irregular bill monthly instead of being surprised by it
transactions/reset.beanRetiring a category, and reconciling against the bank

The one thing to copy

Spending is four postings, readable as two independent pairs:

beancount
2026-01-08 * "Whole Foods" "Weekly shop"
  Assets:Bank:Checking       -128.44 USD   ; what your bank sees
  Expenses:Groceries          128.44 USD
  Equity:Budget:Groceries    -128.44 USD   ; what your budget sees
  Equity:Budget:Unallocated   128.44 USD

Each pair balances on its own, so the budget overlay is always safe to add, remove, or ignore.