在 Beancount 中预测未来交易
Beancount 可以使用 fava.plugins.forecast 插件来预测未来定期交易。这使您可以可视化定期收入和支出(例如工资、租金和订阅)对财务报告的未来影响。

步骤 1:启用 Forecast 插件
首先,您需要通过将以下行添加到 Beancount 账本文件的顶部来启用该插件:
plugin "fava.plugins.forecast"
步骤 2:创建预测交易
要预测定期交易,请使用 # 标志(而不是 * 或 !)创建一个单独的交易条目,并向说明添加一个特殊的 forecast 标签。
基本结构如下所示:
YYYY-MM-DD # "说明 [FREQUENCY CONDITIONS]"
Account:One 100.00 USD
Account:Two -100.00 USD
forecast 插件将使用此条目作为模板,在您的报告中生成未来的交易。
了解 Forecast 语法
说明中的 forecast 标签遵循特定格式:[FREQUENCY CONDITIONS]。
频率 (Frequency)
FREQUENCY 部分是强制性的,用于定义交易发生的频率。它必须全部大写。
DAILY(每日)WEEKLY(每周)MONTHLY(每月)QUARTERLY(每季度)YEARLY(每年)
示例:每月租金支付 此交易将被预测为从 2024 年 1 月 1 日开始,每月 1 日发生。
2024-01-01 # "租金支付 [MONTHLY]"
Expenses:Housing:Rent 2500.00 USD
Assets:Checking -2500.00 USD
条件 (可选)
您可以添加可选的 CONDITIONS 来控制预测的持续时间和模式。
1. 使用 UNTIL 设置结束日期
使用 UNTIL YYYY-MM-DD 在特定日期停止预测。
-
示例:今年结束的健身房会员资格。
2024-01-15 # "健身房会员资格 [MONTHLY UNTIL 2024-12-31]"
Expenses:Health:Gym 80.00 USD
Assets:Checking -80.00 USD
2. 使用 REPEAT 限制发生次数
使用 REPEAT n TIMES 生成特定次数的交易。
-
示例:剩余 36 期付款的汽车贷款。
2024-01-25 # "汽车付款 [MONTHLY REPEAT 36 TIMES]"
Expenses:Transportation:CarPayment 450.00 USD
Liabilities:Auto-Loan -450.00 USD
3. 使用 SKIP 创建不规则模式
使用 SKIP n TIME/TIMES 跳过间隔。 这对于像双周工资之类的很有用。
-
示例:双周工资(每两周发生一次)。
2024-01-05 # "双周工资 [WEEKLY SKIP 1 TIME]"
Assets:Checking 3000.00 USD
Income:Salary -3000.00 USD