跳到主要内容

2 篇博文 含有标签「journal entries」

查看所有标签

理解 Beancount 中的日记账分录

· 阅读需 8 分钟
Mike Thrift
Mike Thrift
Marketing Manager

日记账分录是复式记账的核心,在 Beancount 中,你编写的每一条 * 交易都是一条日记账分录。本指南解释了关键要点——借方与贷方、调整分录和冲销分录——并展示它们如何干净地映射到 Beancount 的纯文本语法。你将学会以最少的繁琐保持账目精准。


2025-09-02-journal-entries-in-beancount

快速回顾:什么是日记账分录?

日记账分录是对金融交易的正式、带日期的记录。它以 借方贷方 的形式表达,保持基本会计等式平衡:

资产=负债+所有者权益资产 = 负债 + 所有者权益

在复式记账体系中,每笔交易至少影响两个账户,总借方必须等于总贷方。这一简单规则确保了后续的利润表、资产负债表等财务报告的可信度和准确性。


一分钟了解借方与贷方

借方与贷方的概念起初可能让人困惑,但其实只需记住几个简单规则。可以这样思考:“价值从哪里来?”(贷方)以及 “价值到哪里去?”(借方)。

以下是五大核心账户类型的增减规则速查表:

账户类型增加方式
资产借方
费用借方
负债贷方
所有者权益贷方
收入贷方

Beancount 中的日记账分录长什么样

Beancount 使用简洁、易读的文本指令记录交易。每笔交易必须对每种商品(例如 USD、EUR、AAPL 股票)平衡为零。若不平衡,Beancount 会报错。

下面是一个购买咖啡的基本交易示例:

2025-09-10 * "Coffee Bar" "Team coffee"
Expenses:Food:Coffee 18.00 USD
Assets:Bank:Checking -18.00 USD

注意两行记账(带账户的行)相加为零:$18.00 + (-$18.00) = 0

你可以在叙述中直接使用 标签(如 #clientX)进行过滤,或使用 链接(如 ^INV-2025-001)将相关分录关联起来。

例如,下面展示如何将发票与付款关联:

; 首先,记录发送给客户的发票
2025-09-15 * "Acme Corp" "Invoice 2025-001 #clientX ^INV-2025-001"
Assets:AccountsReceivable 1000.00 USD
Income:Consulting -1000.00 USD

; 稍后,记录付款并回链到原始发票
2025-09-28 * "Acme Corp" "Payment on ^INV-2025-001"
Assets:Bank:Checking 1000.00 USD
Assets:AccountsReceivable -1000.00 USD

#clientX 标签让你轻松筛选该客户的所有交易,^INV-2025-001 链接则在报告中创建两条分录之间的可追溯关系。


常用日记账分录(可直接粘贴)

以下是几类常见业务交易的 Beancount 格式示例。

所有者投入现金

所有者为创业投入个人资金。

2025-01-01 * "Owner" "Initial capital contribution"
Assets:Bank:Checking 10000.00 USD
Equity:Owner-Capital -10000.00 USD

含税现金销售

客户以现金购买商品,需收取 8% 销售税,税金稍后上缴政府。

2025-01-05 * "Walk-in Customer" "Cash sale with 8% tax"
Assets:Cash 108.00 USD
Income:Sales -100.00 USD
Liabilities:Tax:Sales -8.00 USD

信用销售(发票)与收款

提供服务并开具发票,随后收到付款。

2025-01-10 * "Acme Corp" "Consulting invoice ^INV-2025-002"
Assets:AccountsReceivable 2500.00 USD
Income:Consulting -2500.00 USD

2025-01-30 * "Acme Corp" "Payment on ^INV-2025-002"
Assets:Bank:Checking 2500.00 USD
Assets:AccountsReceivable -2500.00 USD

信用卡费用

使用公司信用卡购买办公用品。

2025-01-12 * "OfficeMax" "Supplies on credit card"
Expenses:Office:Supplies 75.00 USD
Liabilities:CreditCard -75.00 USD

薪资(简化模型)

记录工资总额、员工税款预扣以及银行净付款。

2025-01-31 * "Payroll" "January wages and withholdings"
Expenses:Payroll:Wages 2000.00 USD
Liabilities:Taxes:Withheld -400.00 USD
Assets:Bank:Checking -1600.00 USD

月度折旧

记录资产(如笔记本电脑)的月度折旧费用。

2025-01-31 * "Depreciation" "Laptop, straight-line"
Expenses:Depreciation 100.00 USD
Assets:Equipment:AccumDepr -100.00 USD

预付费用与月度摊销

一次性支付全年保险费,然后在每月确认费用。

; 1. 支付全年保费
2025-01-01 * "InsureCo" "Annual insurance premium"
Assets:Prepaid:Insurance 1200.00 USD
Assets:Bank:Checking -1200.00 USD

; 2. 在一月末确认一个月费用
2025-01-31 * "InsureCo" "Amortize 1/12 of insurance"
Expenses:Insurance 100.00 USD
Assets:Prepaid:Insurance -100.00 USD

递延收入与月度确认

客户预付 3 个月订阅费,随后按月确认收入。

; 1. 客户预付服务费
2025-02-01 * "Subscriber" "3-month plan prepaid"
Assets:Bank:Checking 300.00 USD
Liabilities:Unearned:Subs -300.00 USD

; 2. 在二月末确认第一个月收入
2025-02-28 * "Recognition" "Recognize month 1 of 3"
Liabilities:Unearned:Subs 100.00 USD
Income:Subscriptions -100.00 USD

坏账准备与核销

为可能无法收回的应收账款计提准备金,随后核销具体坏账。

; 1. 按应收账款的 2% 计提准备金
2025-03-31 * "Provision" "2% of A/R for doubtful accounts"
Expenses:BadDebt 200.00 USD
Assets:AllowanceForDoubtful -200.00 USD

; 2. 核销已确认无法收回的发票
2025-04-15 * "Write-off" "Customer XYZ invoice"
Assets:AllowanceForDoubtful 150.00 USD
Assets:AccountsReceivable -150.00 USD

期末存货与成本调整

期末通过调整存货账户计算本期销货成本(COGS)。

2025-03-31 * "COGS adjustment" "Periodic inventory method"
Expenses:COGS 4500.00 USD
Assets:Inventory -4500.00 USD

调整分录 vs. 冲销分录

调整分录 在会计期间(如月末或季末)记录,用于将收入与费用准确匹配到实际发生的期间,涵盖应计、递延以及折旧等估计。

冲销分录 是可选的,通常在新期间的第一天录入,用来完全冲销前一期的特定调整分录,以简化后续记账。冲销应计后,你可以用标准方式记录实际现金交易,而无需记得再对负债账户进行拆分。

示例:计提并冲销水电费

假设你需要在一月计提水电费,但账单要到二月才收到。

; 1. 在一月末计提预计费用
2025-01-31 * "Accrual" "Estimate January utilities expense"
Expenses:Utilities 500.00 USD
Liabilities:Accrued:Utilities -500.00 USD

; 2. (可选)在下期第一天冲销该计提
2025-02-01 * "Reversal" "Undo January utilities accrual"
Liabilities:Accrued:Utilities 500.00 USD
Expenses:Utilities -500.00 USD

; 3. 二月收到实际账单并付款
; 实际账单为 520 美元。由于已冲销,你可以直接全额记入费用。
2025-02-10 * "City Utilities" "Payment for January bill"
Expenses:Utilities 520.00 USD
Assets:Bank:Checking -520.00 USD

注:大纲中的示例展示了分拆最终付款的方式。冲销分录是一种简化最终付款录入的替代方案。


Beancount 日记账分录检查清单

请按以下步骤确保分录整洁、正确:

  1. 日期(YYYY-MM-DD)和交易标记 (*) 开头。
  2. 添加 付款方 与描述性 叙述。使用 #标签^链接 提高可搜索性。
  3. 至少包含 两行记账,使每种商品的合计为零。
  4. 使用正确的 账户名称,遵循五大类型:Assets, Liabilities, Equity, Income, Expenses
  5. 可选地添加 元数据(如 document: "invoices/INV-2025-001.pdf")以提升可追溯性。

常见陷阱(以及 Beancount 如何帮助)

  • 记账不平衡:如果借方与贷方不等于零,Beancount 会拒绝该分录。这是防止错误的核心功能。你甚至可以留空一行金额,Beancount 会自动计算。
  • 账户符号错误IncomeEquityLiabilities 增加时使用贷方(在 Beancount 中通常为负数),容易写错。若写错,报告会显得异常,但平衡规则仍提供安全网。
  • 缺少链接:忘记将发票与付款关联会导致追踪困难。始终使用 ^链接 可创建可审计的追踪链。

下一步该去哪里

  • Beancount 语言与平衡规则:深入官方文档。
  • 语法速查表:所有 Beancount 指令的便捷参考。
  • 借方/贷方入门:如果你对会计规则还不熟悉,这是很好的起点。
  • 调整/冲销分录:更详细的会计理论文章。

附录:会计术语 → Beancount 映射表

此快速翻译指南帮助你将会计指令映射为 Beancount 语法。

会计指令Beancount 操作
借记费用正数金额记入 Expenses: 账户
贷记负债负数金额记入 Liabilities: 账户
应计收入Assets:AccountsReceivable +
Income:* -
递延收入Assets:Bank:* +
Liabilities:Unearned:* -
确认递延收入Liabilities:Unearned:* +
Income:* -

有了这些模式与示例,你几乎可以在 Beancount 中干净地建模任何业务事件,确保财务报告毫无意外。

Beancount 会计分录:操作指南、定义与示例

· 阅读需 5 分钟
Mike Thrift
Mike Thrift
Marketing Manager

你的企业进行的每一笔财务交易都需要被记录——在纯文本记账的世界里,这始于会计分录。如果你正在使用 Beancount,理解会计分录是建立准确、可审计和清晰的财务记录的关键。

本指南将带你了解:

2025-06-27-journal-entries

  • 什么是会计分录
  • 为什么会计分录很重要
  • 如何使用 Beancount 语法编写它们
  • 如何有效使用它们
  • 真实世界交易的示例(客户付款、采购、贷款等)

🧾 Beancount 中的会计分录是什么?

在 Beancount 中,会计分录是以人类可读的纯文本格式编写的带日期交易。每个分录都遵循复式记账原则——你记录资金的来源(贷方)和去向(借方),确保你的账簿始终保持平衡。

示例:

2024-06-01 * "Client payment for invoice #123"
Assets:Bank:Checking 600.00 USD
Income:Sales
  • * 表示已清算交易。
  • 描述显示了分录的上下文。
  • Assets:Bank:Checking 被借记。
  • Income:Sales 被贷记(金额隐含)。

每个分录都存在于 .beancount 文件中——这只是一个你可以进行版本控制、备份,甚至在 Vim 或 VSCode 中编辑的文本文件。

📒 为什么会计分录很重要

会计分录是你账本的原子单位。

它们:

  • 录入到你的总账账户余额
  • 驱动所有报告:利润表、资产负债表、现金流量表
  • 让你逐行追溯每一笔资金的来源

使用正确的工具,你将看到这些交易在用户界面中呈现——分类、可搜索和可筛选。但这一切都始于简单的纯文本分录。

📚 复式记账在 Beancount 中如何运作

Beancount 强制执行复式记账。每笔交易都必须平衡:借方总额 = 贷方总额。

快速规则:

  • 借记资产和费用(你_获得_现金或产生费用)
  • 贷记收入和负债(你_赚取_资金或承担债务)

示例 – 办公用品采购:

2024-06-02 * "Bought printer ink"
Expenses:OfficeSupplies 100.00 USD
Assets:Bank:Checking

🧠 可视化分录

保存后,在 https://beancount.io/ledger/0/income_statement/ 的左侧导航栏中,你将看到...

  • 日记账视图:查看带有搜索、标签和筛选功能的交易
  • 账户筛选下拉菜单:查看运行余额和每个账户的分录
  • 利润表:你的 Income:*Expenses:* 账户的总和
  • 资产负债表:你的资产减去负债

Fava 帮助将你的原始 Beancount 分录转化为可操作的报告——无需任何数据库设置。

💡 常见会计分录示例

✅ 你收到客户付款

2024-06-05 * "Payment for invoice #456"
Assets:Bank:Checking 1,200.00 USD
Income:Consulting

可选:如果你使用应收账款:

2024-05-20 * "Invoice #456 sent"
Assets:AccountsReceivable 1,200.00 USD
Income:Consulting

2024-06-05 * "Payment for invoice #456"
Assets:Bank:Checking 1,200.00 USD
Assets:AccountsReceivable -1,200.00 USD

🖨️ 你购买办公用品

2024-06-07 * "Staples run"
Expenses:OfficeSupplies 85.00 USD
Assets:Bank:Checking

🏦 你支付贷款

假设你支付了 1,000 美元,其中 200 美元是利息,800 美元是本金:

2024-06-10 * "Loan repayment"
Liabilities:Loan -800.00 USD
Expenses:LoanInterest 200.00 USD
Assets:Bank:Checking -1,000.00 USD

🔒 年末结账分录

为了“结账”,你通常会将所有 Income(收入)和 Expenses(费用)账户转入 Equity(所有者权益)。

2024-12-31 close Income:*
2024-12-31 close Expenses:*

或者,手动操作:

2024-12-31 * "Close books"
Equity:RetainedEarnings 45,000.00 USD
Income:Consulting -45,000.00 USD

🛠️ 调整分录

如果你正在进行权责发生制会计,你会希望添加调整分录——用于预付费用、应计收入等。

示例:每月 100 美元的软件订阅费,按年支付

2024-01-01 * "Annual software payment"
Assets:Prepaid 1,200.00 USD
Assets:Bank:Checking -1,200.00 USD

2024-01-31 * "Monthly amortization"
Expenses:Software 100.00 USD
Assets:Prepaid -100.00 USD

使用脚本或现有的 Beancount 工具进行自动化。

🧰 Beancount:轻量、可审计、强大

Beancount 不仅仅是一个会计工具——它是一种理念:透明、纯文本的财务真相。 它是一个现代化的账本系统,具有以下特点:

  • 易于版本控制(Git!)
  • 完全可移植(无专有数据库)
  • 非常适合开发者、自由职业者和小型企业

准备好开始了吗?

使用以下内容开始你的 Beancount 文件:

option "title" "My Business Ledger"
option "operating_currency" "USD"

2024-01-01 open Assets:Bank:Checking USD
2024-01-01 open Income:Sales USD
2024-01-01 open Expenses:OfficeSupplies USD
2024-01-01 open Equity:OpeningBalances USD

2024-01-01 * "Initial balance"
Assets:Bank:Checking 10,000.00 USD
Equity:OpeningBalances

然后使用你偏好的可视化工具加载文件,见证奇迹。

想要更轻松地开始?尝试模板、导入器或像 bean-extract 这样的社区工具。

有了 Beancount,你的账本最终将_属于你自己_——简单、可脚本化、且经得起审计。

如果你需要可下载的 PDF 版本或针对小型企业的示例变体,请告诉我。