如果你在会计中跟踪固定资产——笔记本电脑、相机、机器,甚至是办公家具——你的账簿需要反映它们价值的下降。这涉及两个关键概念:折旧(费用)和它的累计总额 累计折旧。本指南用通俗的语言解释这两者,并展示如何在 Beancount 中使用可直接复制粘贴的示例进行建模,还包括强大的自动化选项。
什么是累计折旧?
累计折旧 是自资产投入使用之日起已记录的折旧总额。可以把它看作一个累计计数。它不是一种新的费用——只是该资产迄今为止所有折旧费用的总和。
在财务报表中,你会看到累计折旧与资产的原始成本并列。这让阅读账簿的人能够同时看到 历史成本(你为其支付的金额)和 净账面价值(账面上当前的价值)。
一个关键细节是,累计折旧是 抵减资产(contra-asset)账户。听起来可能复杂,但概念很简单:
它是一个“资产”账户,位于科目表的 Assets 部分。
但它拥有 贷方 余额(在 Beancount 的资产账户中表现为负值),降低 相关固定资产的账面价值。
它在资产负债表上出现在哪里?
累计折旧通常直接位于其对应的固定资产下方。例如:
设备:电脑$3,000.00减:累计折旧($1,000.00)设备:电脑,净额$2,000.00
许多财务报表会简化为单行,如 “物业、厂房及设备,净额”。该数字代表所有资产的历史成本总和减去累计折旧总额,即最终的 净账面价值。
如何计算折旧?
折旧的计算方法有多种。你选择的方法决定了每期记录的费用金额,从而影响累计折旧的累计额。常见的两大类方法是:
直线法(SL): 最简单、最常用的记账方法。你在资产使用寿命的每个期间内计提相等的费用。例如,一台价值 $3,000、使用寿命为 36 个月(3 年)的笔记本电脑,每月折旧 $83.33。
税法折旧(如美国的 MACRS): 为了税务目的,政府通常规定加速折旧表。美国的 修改后加速成本回收系统(MACRS) 允许在资产使用早期计提更大的折旧。Beancount 完全可以处理这些表——只需根据官方表(如 IRS Publication 946)计算金额并生成相应的分录。
公式(直线法)
期间折旧 = 成本−残值使用年限\frac{\text{成本} - \text{残值}}{\text{使用年限}}使用年限成本−残值
累计折旧(截至日期 t) = ∑(截至 t 的期间折旧)\sum (\text{截至 t 的期间折旧})∑(截至 t 的期间折旧)
残值 是资产使用寿命结束时的估计残余价值。为简化起见,通常假设为零。
Beancount 实践:建模成本与累计折旧
为了在 Beancount 中正确跟踪固定资产并保留其原始成本,你需要为每类资产使用一对资产账户,再加一个费用账户。
Assets:Equipment:Computers:Cost(保存历史成本)
Assets:Equipment:Computers:AccumDep(抵减资产,随时间贷记)
Expenses:Depreciation:Computers(记录期间费用)
此结构符合标准会计实践,也是 Beancount 中管理固定资产折旧的推荐方式。
方案 A:手动直线法分录
这是最直接的方式。你可以完全控制每笔分录,便于理解其工作原理。
1. 打开所需账户
2025-01-01 open Assets:Bank:Checking2025-01-01 open Assets:Equipment:Computers:Cost2025-01-01 open Assets:Equipment:Computers:AccumDep2025-01-01 open Expenses:Depreciation:Computers
2. 记录购买(按历史成本)
购买资产时,借记 Cost 账户。
2025-01-20 * "Purchase MacBook Pro" Assets:Equipment:Computers:Cost 3000.00 USD Assets:Bank:Checking -3000.00 USD
3. 记录月度折旧
每月记录一次折旧费用。对 $3,000 资产,36 个月的月折旧为 $3000 ÷ 36 = $83.33。
分录为借记费用账户、贷记抵减资产账户。
2025-02-28 * "Monthly depreciation - MacBook Pro (SL 36mo)" Expenses:Depreciation:Computers 83.33 USD Assets:Equipment:Computers:AccumDep -83.33 USD ; 贷记抵减资产
将此分录重复 36 个月。Assets:Equipment:Computers:AccumDep 的余额会随时间变得更负,从而降低资产的净账面价值。
快速检查: 你可以在 Fava 的资产负债表中查看净账面价值,或运行以下查询:
bean-query myledger.bean "SELECT account, SUM(position) WHERE account 'Assets:Equipment:Computers:(Cost|AccumDep)' GROUP BY account"
两个账户的余额之和即为净账面价值。
方案 B:使用 Fava 的 amortize 插件自动化
如果你使用 Fava(Beancount 的流行网页界面),且折旧为固定金额,可通过插件实现自动化。
首先,在 Beancount 文件顶部启用插件:
plugin "fava.plugins.amortize_over"
然后,创建一条定义完整折旧计划的交易。
; 1. 正常记录首次购买2025-01-20 * "Purchase MacBook Pro" Assets:Equipment:Computers:Cost 3000.00 USD Assets:Bank:Checking -3000.00 USD; 2. 设置折旧计划2025-01-20 * "Depreciation schedule - MacBook Pro" amortize_months: 36 Expenses:Depreciation:Computers 3000.00 USD Assets:Equipment:Computers:AccumDep -3000.00 USD
插件会读取此交易并自动生成 虚拟分录:每月 $83.33,持续 36 个月。虚拟分录不会写入 .bean 文件,但会出现在所有报表中。此方式适用于直线法,但不适用于 MACRS 等不等额的折旧表。
方案 C:使用第三方插件生成实际分录
如果你希望生成真实的、非虚拟的分录,同时保留自动化便利,可使用 beancount-periodic 插件(作者 Dallas Lu)。该插件可根据配置自动创建带日期的分录,兼具手动分录的可审计性与自动化的高效性。
查看结果:成本、累计折旧与净账面价值
无论采用哪种方法,资产负债表都会显示 Cost 与 AccumDep 两个账户。两者之和即为 净账面价值。这种“原始成本减累计折旧”的展示方式正是会计师和财务分析师所期望的,能够完整透明地呈现资产的使用年限与当前价值。
资产处置(出售、报废或退役)
资产使用寿命结束时,你可能会出售、报废或退役。要将其从账簿中移除,需要:
清除历史成本。
清除累计折旧。
记录收到的现金。
记录产生的盈亏(现金收入与净账面价值之差)。
示例:资产出售获利
假设在 2027‑06‑15 出售该 MacBook Pro。
原始成本:$3,000
出售时累计折旧:-$2,500
净账面价值:$3,000 - $2,500 = $500
出售收入:$800
出售盈余:$800 - $500 = $300
Beancount 记账如下:
2027-06-15 * "Sell MacBook Pro" Assets:Bank:Checking 800.00 USD ; 收到现金 Assets:Equipment:Computers:AccumDep 2500.00 USD ; 借记抵减资产以冲销 Assets:Equipment:Computers:Cost -3000.00 USD ; 贷记原始成本 Income:Gains:AssetDisposals -300.00 USD ; 贷记盈余
如果仅收到 $400(亏损 $100),则将差额记入 Expenses:Losses:AssetDisposals(借方)。
FAQ(快速问答)
累计折旧是资产还是负债?
两者都不是。它是 抵减资产,位于资产区但为贷方余额,起到降低资产价值的作用。
购买后还能直接记入 Cost 账户吗?
通常不建议。抵减资产的目的是保留历史成本,所有价值下降应记入 ...:AccumDep。
能在 Beancount 中使用 MACRS(税法)折旧表吗?
可以。先依据 IRS Publication 946 计算每期金额,然后用手动分录或周期插件记录。Fava 的 amortize 插件不适用于不等额的 MACRS 表。
Section 179 加速费用怎么办?
Section 179 允许在投入使用的当年全额费用化。对应的 Beancount 记账就是在购买时直接借记费用账户,而不是固定资产账户。
常见错误及避免方法
直接在 Cost 账户上计提折旧。
解决方案: 始终贷记 ...:AccumDep,保留历史成本。
资产处置时忘记冲销累计折旧。
解决方案: 处置分录必须包含 借记 ...:AccumDep,以清除该资产的累计折旧。
混淆税法折旧与记账折旧。
解决方案: 明确区分税务表(用于报税)和记账表(用于财务报表),分别使用对应的分录。
误用 Fava amortize 插件导致虚拟分录未被审计。
解决方案: 若需审计痕迹,请改用生成真实分录的插件或手动分录。
方案 A 示例代码
2025-01-01 open Assets:Bank:Checking2025-01-01 open Assets:Equipment:Computers:Cost2025-01-01 open Assets:Equipment:Computers:AccumDep2025-01-01 open Expenses:Depreciation:Computers2025-01-20 * "Purchase MacBook Pro" Assets:Equipment:Computers:Cost 3000.00 USD Assets:Bank:Checking -3000.00 USD2025-02-28 * "Monthly depreciation - MacBook Pro (SL 36mo)" Expenses:Depreciation:Computers 83.33 USD Assets:Equipment:Computers:AccumDep -83.33 USD
方案 B 示例代码
plugin "fava.plugins.amortize_over"2025-01-20 * "Purchase MacBook Pro" Assets:Equipment:Computers:Cost 3000.00 USD Assets:Bank:Checking -3000.00 USD2025-01-20 * "Depreciation schedule - MacBook Pro" amortize_months: 36 Expenses:Depreciation:Computers 3000.00 USD Assets:Equipment:Computers:AccumDep -3000.00 USD
方案 C 示例代码
(此处请根据 beancount-periodic 插件的配置自行编写相应的自动化分录。)
资产处置示例代码
2027-06-15 * "Sell MacBook Pro" Assets:Bank:Checking 800.00 USD Assets:Equipment:Computers:AccumDep 2500.00 USD Assets:Equipment:Computers:Cost -3000.00 USD Income:Gains:AssetDisposals -300.00 USD
参考文献与资源
Beancount 官方文档
Fava 插件列表
IRS Publication 946(美国税法折旧表)
Section 179 与 MACRS 相关税务指南
通过本指南,你可以在 Beancount 中实现对固定资产的精确折旧管理,并利用自动化工具提升记账效率。祝你财务管理顺利!