跳转到主要内容

快速入门

快速设置指南,帮助你创建第一个 Beancount 账本,包括基本配置、文件组织和验证步骤。

准备好掌控你的财务了吗?本指南将帮助你在几分钟内上手 Beancount。你将学习如何创建第一个账本、设置基本账户,以及记录你的第一笔交易

beancount.io 账本视图,显示纯文本复式记账交易及指令类型筛选器

探索在线账本 →

初始设置

创建你的第一个账本

; Basic structure for a new ledger
2024-01-01 open Assets:Checking
2024-01-01 open Equity:Opening-Balances
 
2024-01-02 * "Initial Deposit"
  Assets:Checking           100.00 USD
  Equity:Opening-Balances

基本配置

option "title" "Personal Finance Ledger"
option "operating_currency" "USD"

文件组织

推荐结构

; 1. Configuration Options
option "title" "Personal Ledger"
option "operating_currency" "USD"
 
; 2. Account Declarations
2024-01-01 open Assets:Checking    USD
2024-01-01 open Assets:Savings     USD
2024-01-01 open Expenses:Food      USD
2024-01-01 open Equity:Opening-Balances
 
; 3. Initial Balances
; Pad fills the gap up to Equity:Opening-Balances, so it must be dated
; before the assertion. Balance assertions are checked at the start of
; their day, so assert the next morning.
2024-01-01 pad Assets:Checking Equity:Opening-Balances
2024-01-02 balance Assets:Checking 1000.00 USD
 
; 4. Transactions
2024-01-15 * "Grocery Store" "Weekly groceries"
  Expenses:Food            50.00 USD
  Assets:Checking

区块组织

  1. 永久账户

    2024-01-01 open Liabilities:Payables    USD
    2024-01-01 open Assets:Receivables      USD
  2. 银行账户

    2024-01-01 open Assets:Bank:Checking     USD
    2024-01-01 open Assets:Bank:Savings      USD
    2024-01-01 open Income:Bank:Interest     USD
  3. 投资账户

    2024-01-01 open Assets:Investment:Cash    USD
    2024-01-01 open Assets:Investment:Stocks  VTSAX
    2024-01-01 open Income:Investment:Dividend USD

验证与报表

基本验证

# Check for errors (prints nothing and exits 0 when clean)
bean-check ledger.beancount
 
# Browse balances, reports, and charts in the web interface
fava ledger.beancount

bean-check 是验证器:当账本干净时它不输出任何内容并退出码为 0,否则列出每个错误并以非零退出码退出。Fava 是网页界面——运行它并打开打印出的 http://localhost:5000 地址,即可查看资产负债表、损益表和账户日记账

常用报表

Beancount 3 通过 Fava 的网页界面或使用 bean-query 进行临时查询来生成报表,后者运行 Beancount 查询语言。较旧的 bean-reportbean-web 命令已在 Beancount 3 中移除,因此以下命令替代它们。

# Balance-sheet numbers: balances by asset, liability, and equity account
bean-query ledger.beancount "SELECT account, sum(position) AS balance WHERE account ~ '^(Assets|Liabilities|Equity)' GROUP BY account ORDER BY account"
 
# Income-statement numbers: totals by income and expense account
bean-query ledger.beancount "SELECT account, sum(position) AS total WHERE account ~ '^(Income|Expenses)' GROUP BY account ORDER BY account"
 
# One account's journal, with a running balance
bean-query ledger.beancount "SELECT date, narration, position, balance WHERE account = 'Assets:Checking'"

管理初始余额

填充示例

2024-01-01 open Assets:Checking    USD
2024-01-01 open Equity:Opening-Balances
 
; Pad account to match a known balance
2024-01-01 pad Assets:Checking Equity:Opening-Balances
 
; Assert the known balance the next day: assertions are evaluated at the
; start of their date, and the pad transaction must fall before it
2024-01-02 balance Assets:Checking 1525.00 USD

balance 断言会检查账户在其日期开始时的余额,因此它必须晚于应包含的 pad(或任何交易)。将 padbalance 放在同一天会导致填充未使用且断言不足——Beancount 会报告 Unused Pad entryBalance failedEquity:Opening-Balances 账户在被填充之前必须先开设。

账户关闭

2024-01-01 open Assets:OldBank:Checking   USD
2024-06-30 close Assets:OldBank:Checking  ; Account closed

交易去重

处理转账

; Credit card payment - combined view
2024-01-15 * "Credit Card Payment"
  Assets:Checking            -500.00 USD
  Liabilities:CreditCard     500.00 USD
 
; Flag for pending match
2024-01-15 * "Pending CC Payment"
  ! Assets:Checking         -500.00 USD
  Liabilities:CreditCard    500.00 USD

余额断言

; Regular balance checks prevent duplicates
2024-01-31 balance Assets:Checking    2150.25 USD
2024-01-31 balance Liabilities:CreditCard  -350.00 USD

最佳实践

  1. 文件组织

    • 初期保持一个主文件
    • 使用清晰的区块标题
    • 将相关账户分组
  2. 账户名称

    • 使用一致的命名约定
    • 包含国家/机构前缀
    • 维护逻辑层级
  3. 余额验证

    • 定期进行余额断言
    • 适当填充账户
    • 跟踪账户关闭
  4. 货币处理

    • 声明经营货币
    • 使用一致的商品代码
    • 指定货币约束

后续步骤

现在你已经设置好基本账本:

  1. 记录常规交易:从你的日常支出和收入开始
  2. 设置银行账户导入:使用 CSV 导入或银行连接来自动化数据录入。将对账单导出内容粘贴到 CSV 到 Beancount 转换器,即可在浏览器中获取平衡的条目,或使用 OFX 和 QIF 到 Beancount 处理 .ofx.qfx.qif 下载。
  3. 复制经过验证的布局:从家庭信封预算自由职业部分的工作账本示例中下载一个可运行的起始文件,然后从同一示例库中调整财产和投资模式
  4. 学习高级语法:探索语法参考以应对更复杂的场景
  5. 生成你的第一个报表:使用界面功能创建财务报表并分析你的支出

快速参考

常见账户类型:

  • Assets:Bank:Checking - 你的活期账户
  • Expenses:Food:Groceries - 食品杂货支出
  • Income:Salary:Company - 工资收入
  • Liabilities:CreditCard:Visa - 信用卡债务

基本命令:

  • bean-check ledger.beancount - 验证你的账本(出错时退出码非零)
  • fava ledger.beancount - 启动网页界面查看报表和图表
  • bean-query ledger.beancount "SELECT ..." - 查询余额和交易

这些指南为使用 Beancount 管理个人财务奠定了坚实基础。准备好添加你的第一笔交易了吗?查看我们的界面交易指南

来源:https://beancount.io/zh/docs/Basics/getting-started