跳到主要内容

90 篇博文 含有标签「Accounting」

查看所有标签

2025 年 7 家最佳小微企业银行选择

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

选择公司存放和转移资金的场所,会影响从手续费到现金流透明度的方方面面。合适的账户可以为您节省数百美元的手续费,赚取闲置资金的利息,并简化您的账务处理。而错误的账户则可能成为不断的摩擦源。

好消息是:2025 年为小微企业提供了丰富的选择,从遍布全国的线下网点银行到拥有强大软件层的现代银行平台。以下是七个杰出的选择,每一个都“最适合”不同类型的业务。由于利率和条款会发生变化,请将此作为决策指南,并在开户前确认详细信息。

2025-08-26-7-best-small-business-banking-options-in-2025

摘要 — 不同场景下的最佳选择

我们如何评选这些账户

为了找到最佳选择,我们专注于小微企业主最关心的功能。我们分析了总成本(包括月费及其减免条件)、通过网点和 ATM 获取现金的便利性、内置的现金流管理工具,以及闲置资金赚取收益的潜力。我们特别研究了每个账户与不同业务模式的匹配程度,从现金密集的零售店到在线 SaaS 公司。

精选名单:深度解析

Chase Business Complete Banking — 最适合现金存款多、网点优先的企业

脱颖而出的原因: Chase 拥有超过 5,000 个网点和 15,000 台 ATM 的庞大网络,为处理频繁现金存款或需要面对面支持的企业提供了无与伦比的线下服务。该账户标准的 $15 月费很容易通过满足特定要求而减免,例如维持 $2,000 的最低每日余额。一个独特的功能是内置的 QuickAccept 读卡器,允许符合条件的交易当天到账,这对于管理每日现金流是一个巨大的优势。

注意事项: 与大多数传统银行一样,Chase 对电汇和超额现金存款等服务有收费表。在开户前,请查看您典型的每月活动并与他们的收费结构进行对比,以避免意外支出。

Bank of America Business Advantage — 最适合大银行工具和升级路径

脱颖而出的原因: 美国银行 (Bank of America) 提供了一个可以随您的业务共同成长的分层系统。Business Advantage Fundamentals 账户在第一年提供推广期的 $0 月费(之后为 $16),可以通过满足 $5,000 的综合平均每月余额等标准来减免。随着业务的增长,您可以转向 Relationship 级别,该级别为更高余额的账户提供更多免费服务(如汇入电汇)。所有级别都包括访问实用的现金流仪表板、QuickBooks 集成以及可以立即使用的数字借记卡。

注意事项: 如果您不能持续满足减免标准,月费可能会成为负担。请务必根据您的典型余额和交易量选择合适的层级。

Bluevine Business Checking — 最适合高额支票账户 APY

脱颖而出的原因: Bluevine 挑战了支票账户不赚取利息的观点。符合条件的客户可以获得极具竞争力的年收益率 (APY),根据计划和满足某些活动要求,利率在 1.5% - 3.7% APY 左右。这是一种让您的运营现金为您工作的有力方式。该账户不设月费,并配备了一套完善的支付工具,包括 ACH、电汇和发票管理。

注意事项: Bluevine 是一个在线平台。虽然您可以存入现金,但需要通过 Allpoint+ ATM 和 Green Dot 零售商等第三方网络完成,这些网络通常会收取费用(例如,每次存款最高 $4.95)。如果您的业务涉及大量实物现金,这些费用可能会抵消所赚取的利息。

Mercury — 最适合追求现代财务栈的初创公司

脱颖而出的原因: Mercury 专为精通技术的初创公司打造。它是一家金融科技公司(而非银行),通过其受 FDIC 保护的伙伴银行提供银行服务。它提供了一个强大且对开发者友好的平台,不设月费,拥有精细的用户控制和强大的支付 API。对于手头有大量现金的企业,Mercury 通过伙伴银行扫地网络提供高达 $500 万美元的 FDIC 保险额度,并提供 Mercury Treasury 选项,可将闲置现金投资于低风险的货币市场基金和短期国债,宣传收益率高达约 4.26% APY

注意事项: Mercury Treasury 是一个投资账户,而非银行账户,这意味着它受 SIPC 保护但存在市场风险。此外,作为一个依赖伙伴银行的平台,国际支付和外汇的细节可能会有所不同,如果您在全球范围内运营,请阅读细则。

Relay — 最适合“利润优先”信封管理、子账户和支出控制

脱颖而出的原因: Relay 专为希望精确控制财务的业务所有者设计。与 Mercury 类似,它是一家金融科技公司,由受 FDIC 保护的伙伴银行提供银行服务。其核心亮点是能够创建多达 20 个独立的支票账户来管理不同的预算类别(即“利润优先”法),并签发多达 50 张具有自定义支出限额的虚拟或实体借记卡。它还在其付费计划中提供具有竞争力的储蓄 APY,分层利率最高可达约 3.03% APY

注意事项: 作为软件优先的平台,处理实物现金比传统银行更复杂。如果您的业务模式依赖频繁的现金存款,请务必确认 Relay 的现金存入流程是否符合您的需求。

Axos Basic Business Checking — 最适合免手续费、ATM 友好的网上银行

脱颖而出的原因: Axos Bank 提供了一种真正的低成本在线银行体验。Basic Business Checking 账户没有月度维护费,也没有交易限制。其最吸引人的功能是无限次的国内 ATM 费用报销,这对于一家网上银行来说是难得且宝贵的福利,让您可以自由地从全国任何 ATM 提取现金而无需担心罚款。

注意事项: Axos 是一家全数字化银行,没有实体网点。如果您需要存入大量实物现金或需要柜员面对面服务,您可能需要同时在传统的实体银行保留一个账户。

American Express® Business Checking — 最适合免月费 + 稳定 APY

脱颖而出的原因: 对于已经处于美国运通 (American Express) 生态系统中的企业来说,这个支票账户是天作之合。它不收取月度服务费,并为高达 $500,000 的余额提供可观的 APY(2025 年普遍报道在 1.30% APY 左右)。该账户与 AmEx 的签账卡和信用卡无缝集成,可以轻松地在一处管理支付和奖励。

注意事项: 这是一个在线优先的账户。虽然非常适合数字化交易,但现金密集型或需要频繁实体银行服务的企业,也应考虑与当地的网点银行保持合作关系。

快速选择:根据业务匹配账户

  • 适合零售商、餐厅和贸易商,且每周都有现金存款: 首选 ChaseBank of America,因为它们拥有广泛的网点网络和简单的费用减免选项。

  • 适合在线优先业务(SaaS/电子商务)、分布式团队或有严格支出政策的公司: 选择 Mercury 以获取其以软件为中心的控制和国库收益选项,或者选择 Relay 以获取其强大的多账户信封预算法。

  • 适合让闲置现金无缝增值: 考虑 Bluevine 提供的支票余额高 APY,或 Mercury Treasury 将大额资金归集到投资级基金(请注意投资风险)。

  • 适合讨厌手续费的频繁 ATM 用户: Axos 是明显的赢家,提供无限次国内 ATM 费用报销。

  • 适合寻找简单、稳定 APY 的 AmEx 卡重度用户: American Express Business Checking 账户是一个逻辑清晰且回报丰厚的选择。

常见问题

Mercury 和 Relay 是“银行”吗?

不是。两者都是金融科技公司,通过与受 FDIC 保护的银行(如 Relay 的合作伙伴 Thread Bank)合作来提供银行服务。您的存款存放在这些伙伴银行中,并可能分布在其他银行的“扫地网络”中,以提供更高的 FDIC 保险覆盖,通常高达数百万美元。

企业支票账户可以赚取利息吗?

是的,绝对可以。现在有几种现代选择提供极具竞争力的收益。例如,Bluevine 为符合条件的客户提供支票账户 1.5%3.7% APY 的利率,而 Relay 在某些计划中提供高达约 3.03% APY 的储蓄利率。这些利率是浮动的,会随市场变化。

我们处理大量现金。纯在线账户可行吗?

可行,但需要权衡。您可能需要支付每笔存款的费用或采取额外步骤。例如,Bluevine 使用 Green Dot 网络进行现金存款,这通常涉及零售服务费。如果现金是您业务的核心部分,像 Chase 这样的传统网点银行通常更简单且更具成本效益。

总结

没有唯一的“最佳”小微企业账户 — 只有最适合您存款、支付、余额和团队流程的账户。如果您需要 2025 年的一个简单准则:

  • 考虑混合方案: 将网点账户(如 Chase 或 Bank of America)用于现金和面对面需求,与软件优先账户(如 Mercury 或 Relay)搭配使用,以获得卓越的数字控制和收益。
  • 定期回顾您的设置: APY、手续费和减免规则会发生变化。每年进行一两次快速回顾,可以确保您仍在使用最适合您业务的账户。

准确性说明:截至 2025 年 9 月 3 日,根据各家供应商的披露和产品页面,手续费、功能、APY 和可用性信息均准确无误。在开户或更换账户之前,请务必直接向金融机构确认当前条款。

来源(精选):Chase、Bank of America、Bluevine、Mercury、Relay、Axos Bank、Business Insider、American Express。

在 Beancount 中记录税务(实用方法)

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

税务在个人理财的世界里常常像一种特殊、复杂的怪兽。但如果它们不是这样呢?如果你可以把它们当作账本中任何其他资金流动来处理呢?好消息:完全可以。把税务当作简单的价值流动来记账,你的 Beancount 账本将保持整洁、易于查询,且——最重要的是——易于理解。

下面是一套实用、直截了当的模式,你可以直接放进个人或小型企业的 Beancount 文件中。它是一个处理工资单、税款支付,甚至跨年度的退款的简易系统。我们将介绍你需要的关键账户,演示真实案例,并展示获取所需答案的确切查询语句。

2025-08-25-recording-taxes-in-beancount


核心原则

在深入代码之前,先约定几条简单规则。这些原则让逻辑保持清晰,防止以后出现头疼的问题。

  • 把“它是什么”与“现金何时流动”分开。 🗓️
    这是最重要的概念。税务费用属于你获得收入的那一年(例如 2024 年),即使你在 2025 年 4 月才向 IRS 结清。如果不把费用的发生时间与现金支付的时间分离,你的年度报告将会混乱且误导。

  • 保持账户层级单调、简洁。 📁
    根据税种(例如 IncomeTaxSocialSecurity)为账户命名,这样查询会非常简单。不要在账户名里塞入供应商名称或表格编号(如 “W‑2” 或 “1099”),这些细节请使用元数据和标签来记录。

  • 采用权责发生制进行年终调整。 ⚖️
    即使是个人账本,在年终使用一个简单的权责发生分录也是最干净的做法。它意味着在正确的年度确认费用或退款,即使资金要到下一年才实际流动。这一步虽小,却能让你以后免去大量思考。

  • 为未来的自己写代码。 🧠
    目标是清晰。只有在真的能让查询更容易时,才在账户名里加入税务年度等额外信息。除非有充分理由,否则不要每年都创建一套新账户(Expenses:Taxes:2024:FederalExpenses:Taxes:2025:Federal 等),扁平结构往往更易管理。


最小化账户骨架

下面是一组基本账户,帮助你快速起步。该结构以美国税制为例,但你可以轻松改为自己所在国家的税务系统。只需把这些 open 指令放进你的 Beancount 文件即可。

; --- 美国联邦所得税与工资税 ---
; 用于记录工资单中被预扣的税款
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Withheld USD
; 用于记录估算付款或税日直接支付的税款
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Payments USD
; 用于记录收到的税款退款
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Refunds USD

; 你的 FICA(社会保险)缴款
2024-01-01 open Expenses:Taxes:Federal:SocialSecurity USD
2024-01-01 open Expenses:Taxes:Federal:Medicare USD

; --- 其他常见税种 ---
; 用于记录购买时支付的销售/使用税
2024-01-01 open Expenses:Taxes:Sales USD

; --- 年终调整账户(可选但推荐) ---
; 用于暂存尚未支付的应缴税款
2024-01-01 open Liabilities:AccruedTaxes:Federal:Income USD
; 用于暂存尚未收到的退款应收款
2024-01-01 open Assets:Tax:Receivable USD

此设置将预扣税、直接付款和退款分离,便于清晰看到每笔钱的去向。LiabilitiesAssets 账户是我们保持年终报告准确的秘密武器。


示例 1:工资单

记录一笔典型的工资单,税款会自动预扣。关键是先记录税前收入,再将其拆分为税款和实际到账的现金。

2025-07-15 * "Employer Inc." "Salary for first half of July"
Income:Work:Salary -6,000.00 USD
Expenses:Taxes:Federal:IncomeTax:Withheld 1,200.00 USD
Expenses:Taxes:Federal:SocialSecurity 372.00 USD
Expenses:Taxes:Federal:Medicare 87.00 USD
Assets:Cash:Checking 4,341.00 USD

这笔交易完整说明了:

  • 你获得了 6,000 美元的税前收入。
  • 其中 1,200 美元被预扣为联邦所得税。
  • 372 美元用于社会保险,87 美元用于医疗保险。
  • 剩余的 4,341 美元即为实得工资。

小技巧: 可以在交易中附加工资单元数据(如 pay_period_end: "2025-07-15"),便于审计追踪。


示例 2:报税(跨年度问题)

常见的坑:2025 年 4 月,你在报 2024 年的税,发现除预扣外仍需额外支付 3,000 美元。

如何记录?你希望这笔费用计入 2024 年,而现金支付发生在 2025 年。下面提供两种优秀的处理方式。

方案 A:手动两步权责发生制

纯 Beancount 方法,无需插件。清晰的两步流程。

步骤 1:在税务年度末确认费用。
在 2024 年最后一天创建一条“冲销”分录。此时并未实际付款,只是把费用记入临时负债账户。

2024-12-31 * "Federal income tax true-up for 2024"
Expenses:Taxes:Federal:IncomeTax:Payments 3,000.00 USD
Liabilities:AccruedTaxes:Federal:Income -3,000.00 USD

现在你的 2024 年损益表已经正确显示这笔 3,000 美元的费用。

步骤 2:在实际付款时记录现金流。
2025 年 4 月向 IRS 实际付款时,冲销负债。

2025-04-15 * "IRS" "Payment for 2024 tax return"
Liabilities:AccruedTaxes:Federal:Income 3,000.00 USD
Assets:Cash:Checking -3,000.00 USD

这样 2024 年报告准确,2025 年现金流也正确。完全相同的模式可用于退款——只需把负债账户换成 Assets:Tax:Receivable 即可。

方案 B:使用插件自动化

如果你倾向于在单笔交易中完成,可使用社区插件 beancount_reds_plugins.effective_date。它允许为单行项目指定不同的“生效日期”。

在主 Beancount 文件中启用插件:

plugin "beancount_reds_plugins.effective_date"

然后写一条交易,插件会在后台自动拆分,使报告保持准确。

; 单条记录;插件负责其余
2025-04-15 * "IRS" "Payment for 2024 tax return"
Assets:Cash:Checking -3,000.00 USD
Expenses:Taxes:Federal:IncomeTax:Payments 3,000.00 USD
effective_date: 2024-12-31

这里现金部分记在 2025‑04‑15,费用部分则追溯到 2024‑12‑31。效果与方案 A 相同,只是工作流不同。


销售税怎么办?

对大多数个人账本而言,销售税很简单。如果不需要抵扣,只需在购买时把它拆分为单独的费用即可。

2025-07-19 * "Local Grocery Store"
Expenses:Groceries 12.32 USD
Expenses:Taxes:Sales 1.28 USD
Assets:Cash:Checking -13.60 USD

这样你可以轻松追踪全年在销售税上的支出。如果你经营的业务涉及增值税(VAT),则需要使用更正式的应付/应收账户体系,但原理相同。


实际会用到的查询

此结构的全部意义在于让获取答案变得轻而易举。下面列出几条 BQL 查询示例,帮助你快速看到税务全貌。

1. 2024 年我的联邦所得税总额是多少?

SELECT cost(sum(position))
WHERE account "Expenses:Taxes:Federal:IncomeTax"
AND date >= 2024-01-01 AND date < 2025-01-01;

2. 该总额在预扣、付款和退款之间如何分布?

SELECT account, cost(sum(position))
WHERE account "Expenses:Taxes:Federal:IncomeTax"
AND date >= 2024-01-01 AND date < 2025-01-01
GROUP BY account
ORDER BY account;

3. 我是否还有未结清的税务负债或应收款?(检查工作是否完整!)

SELECT account, units(sum(position))
WHERE account "Liabilities:AccruedTaxes" OR account "Assets:Tax"
GROUP BY account
ORDER BY account;

如果该查询返回非零余额,说明还有未结清的权责发生项。


快速 FAQ

  • 真的需要每年单独的 Expenses:Taxes:2024 之类的账户吗?
    大多数情况下不需要。权责发生制(或插件)能够保持账户结构平坦、易读。只有在特定查询需求下才考虑创建年度账户。

  • Beancount 能直接帮我算税吗?
    不能直接算税,但可以准备好数据。高级用户会把 BQL 结果导入税务计算软件,以便在年度中估算税负。

  • 这算是税务建议吗?
    不是。 这只是组织账务数据的记账模式。会计原理是可靠的,但具体税务问题请咨询专业税务顾问。


立即上手的检查清单

准备好了吗?

  1. 把账户骨架加入你的 Beancount 文件(并根据所在国家自行调整名称)。
  2. 记录工资单时先记税前收入,再拆分税款与实际到账。
  3. 年终时使用负债/资产账户进行冲销(或使用 effective_date 插件)。
  4. 把退款记为应收,收到现金后冲销。
  5. 运行上面的 BQL 查询,在报税前核对总额。

保持单调、保持一致,你的报税季节终将不再是谜题,而是财务故事的自然章节。

Beancount 中的应计费用:实用指南(附复制粘贴账本示例)

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

应计费用在月末结账堆积时听起来抽象。它们是正确权责发生制会计的基石,确保你的财务报告反映经济实质,而不仅仅是现金何时流动。下面是一个清晰、以 Beancount 为先的完整演练,说明它们是什么、为何重要,以及如何在纯文本账本中记账、冲销和报告。

TL;DR ⚡

  • 应计费用 是指本期已发生但尚未付款的成本。它们在现金支出前被记录为负债。
  • 在 Beancount 中,这很简单:借记 Expenses: 科目,贷记 Liabilities:Accrued: 科目。稍后付款时清除负债。
  • 报告时,可以通过在 bean-query 中使用 CLOSE ONCLEAR,在特定日期查看应付金额,以获得干净的资产负债表快照。

2025-08-24-accrued-expenses-in-beancount-a-practical-guide

什么是应计费用?

应计费用是企业已经发生但尚未付款的成本。服务已收到或费用已产生时即记录,即使发票尚未到达或付款尚未到期。这一做法遵循权责发生制会计的 配比原则,即费用应与其帮助产生的收入在同一期间确认。

常见例子包括:

  • 员工工资 在本月末已产生,但在下月支付。
  • 公用事业费用(电、水) 你在十二月使用,但要到一月才收到账单。
  • 贷款利息 本月已累计,但尚未从账户中扣除。

在费用发生时记录这些成本,你可以更真实地反映公司该期间的财务表现。

Beancount 对此的思考(30 秒概览)

Beancount 是一个纯文本、双式记账系统。所有内容都是带日期的指令或交易,保存在文本文件中。系统基于五大核心账户类型:资产负债权益收入费用

条目始终按日期排序。关键细节是 balance 断言在同一天的交易处理之前进行检查。这在放置检查和冲销条目时尤为重要。

最后,bean-query 语言提供了强大的类 SQL 报表功能。使用 OPEN ONCLOSE ONCLEAR 等操作符,你可以为财务报表创建精确的 “截至” 视图。

建议的科目表

整洁的层级科目表是你的最佳伙伴。对于应计费用,结构非常直接。你需要:

  • 费用科目:例如 Expenses:UtilitiesExpenses:Payroll:Wages
  • 对应的负债科目:例如 Liabilities:Accrued:UtilitiesLiabilities:Accrued:Payroll
  • 现金科目:例如 Assets:Bank:Checking

Beancount 强制使用这五大顶层账户类型。保持科目名称有序,可让查询和报表在后期更加轻松。

核心模式(无需插件、无需魔法)

这是在 Beancount 中处理应计的最直接方式。包括两步:月末计提费用,付款时清除负债。

步骤 1:在月末计提费用

在期间的最后一天,记录费用并创建负债。

2025-02-28 * "Accrue February electricity" #accrual
Expenses:Utilities 120.00 USD
Liabilities:Accrued:Utilities

步骤 2:付款时冲销计提

当账单到来并付款时,不再触及费用科目,而是借记负债科目将其冲销。

2025-03-05 * "Pay Feb electricity - City Power"
Liabilities:Accrued:Utilities 120.00 USD
Assets:Bank:Checking

这是小团队最简洁的做法。它正确地将费用计入二月,并确保三月不会重复计入。请注意,在 Beancount 中,留空金额会让系统自动平衡交易。

替代方案:在次月第一天做冲销

如果你更喜欢经典的 “自动冲销” 会计风格,可以在下月第一天发布计提条目的相反方向。随后,像往常一样将实际供应商账单记入费用科目。

步骤 1:月末计提(同上)

2025-02-28 * "Accrue February electricity" #accrual
Expenses:Utilities 120.00 USD
Liabilities:Accrued:Utilities

步骤 2:次月第一天冲销

2025-03-01 * "Reverse Feb electricity accrual" #reversal
Liabilities:Accrued:Utilities 120.00 USD
Expenses:Utilities

步骤 3:正常记账付款

2025-03-05 * "City Power - February bill"
Expenses:Utilities 120.00 USD
Assets:Bank:Checking

检查提示:记住 balance 断言在同一天的交易之前评估。如果想检查 Liabilities:Accrued:Utilities 的余额,请在 2025-02-28 放置断言以确认计提,或在 2025-03-01 之后 放置断言以确认为零。若在 2025-03-01 的冲销之前放置断言,会导致错误失败。

六大常见应计(复制粘贴模板) 📋

以下是一些常用业务应计的即用示例。

1. 未开票租金

2025-01-31 * "Accrue January rent" #accrual
Expenses:Rent 3000.00 USD
Liabilities:Accrued:Rent

2. 已赚未付工资

2025-03-31 * "Accrue March wages" #accrual
Expenses:Payroll:Wages 8500.00 USD
Liabilities:Accrued:Payroll

3. 已赚的带薪休假(PTO)

2025-03-31 * "Accrue PTO earned in March" #accrual
Expenses:Payroll:PTO 900.00 USD
Liabilities:Accrued:Payroll

4. 贷款利息累计

2025-02-29 * "Accrue monthly loan interest" #accrual
Expenses:Interest 210.00 USD
Liabilities:Accrued:Interest

5. 专业费用(审计/法律)

2025-12-31 * "Accrue year-end audit fees" #accrual
Expenses:Professional:Audit 4200.00 USD
Liabilities:Accrued:Professional

6. 已使用但未计费的公用事业

2025-04-30 * "Accrue April utilities" #accrual
Expenses:Utilities 95.00 USD
Liabilities:Accrued:Utilities

报告:“截至某日期我欠多少钱?”

bean-query 是获取答案的工具。下面演示如何获得应计费用的资产负债表快照。

获取期末所有应计负债余额

此查询返回截至 2025‑03‑31 每个应计负债科目的余额。

bean-query main.beancount '
SELECT account, UNITS(SUM(position)) AS balance
FROM OPEN ON 2025-01-01 CLOSE ON 2025-04-01 CLEAR
WHERE account "^Liabilities:Accrued"
GROUP BY 1
ORDER BY 1;
'
  • OPEN ON 设置期初余额。
  • CLOSE ON 在该日期之前截断交易(不含该日),因此使用 2025-04-01 可获取截至 2025-03-31 的数据。
  • CLEAR 将收入和费用归零,提供干净的资产负债表视图(资产、负债、权益)。

查看所有应计分录的登记簿

如果想查看应计科目的原始交易历史:

bean-query main.beancount '
SELECT date, payee, narration, position
WHERE account "^Liabilities:Accrued"
ORDER BY date;
'

获取所有应计的总额

快速汇总你所欠的总额:

bean-query main.beancount '
SELECT UNITS(SUM(position)) AS total_accruals
FROM OPEN ON 2025-01-01 CLOSE ON 2025-04-01 CLEAR
WHERE account "^Liabilities:Accrued";
'

Beancount 特有的控制点与 “坑”

  • 余额断言时机:如前所述,断言在当天开始时检查。2025-03-01 balance …2025-03-01 的任何交易之前运行,请相应安排。
  • 命名与层级:像 Liabilities:Accrued:* 这样的整洁树结构不仅美观,还能简化查询,使报表一目了然。
  • Pad 使用需谨慎pad 指令可修正期初余额,但不要用它来 “修补” 经常性的应计。显式条目提供清晰的审计轨迹。
  • 截至报告:资产负债表快照请始终使用 OPEN … CLOSE … CLEAR,避免收入和费用科目污染负债合计。

预付费用 vs. 应计费用(快速对比)

两者容易混淆,实为镜像关系:

  • 应计费用:服务已消费 现在,现金 以后 支付,形成 负债
  • 预付费用:现金 现在 支付,服务 以后 消费,形成 资产

在 Beancount 中会计逻辑相同,只是科目不同(Assets:Prepaid:* 对应 Liabilities:Accrued:*)。

开箱即用模板(文件开头)

以下是本文示例所需的 open 指令。将它们添加到账本文件的顶部一次即可。

; --- Accounts (open once) ---
2025-01-01 open Assets:Bank:Checking
2025-01-01 open Expenses:Utilities
2025-01-01 open Expenses:Payroll:Wages
2025-01-01 open Expenses:Interest
2025-01-01 open Expenses:Professional:Audit
2025-01-01 open Liabilities:Accrued:Utilities
2025-01-01 open Liabilities:Accrued:Payroll
2025-01-01 open Liabilities:Accrued:Interest
2025-01-01 open Liabilities:Accrued:Professional

最后说明

如果你采用 现金制,根本不会做应计——费用在付款时才记录。若采用 权责发生制,上述模式对于将成本匹配到实际消费期间至关重要。

本文示例仅作一般教育参考。特定行业(如奖金、工资税、资本化门槛)请务必咨询注册会计师。

累计折旧(适用于 Beancount):实用的纯文本指南

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

如果你在会计中跟踪固定资产——笔记本电脑、相机、机器,甚至是办公家具——你的账簿需要反映它们价值的下降。这涉及两个关键概念:折旧(费用)和它的累计总额 累计折旧。本指南用通俗的语言解释这两者,并展示如何在 Beancount 中使用可直接复制粘贴的示例进行建模,还包括强大的自动化选项。


2025-08-23-accumulated-depreciation

什么是累计折旧?

累计折旧 是自资产投入使用之日起已记录的折旧总额。可以把它看作一个累计计数。它不是一种新的费用——只是该资产迄今为止所有折旧费用的总和。

在财务报表中,你会看到累计折旧与资产的原始成本并列。这让阅读账簿的人能够同时看到 历史成本(你为其支付的金额)和 净账面价值(账面上当前的价值)。

一个关键细节是,累计折旧是 抵减资产(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 的期间折旧})

残值 是资产使用寿命结束时的估计残余价值。为简化起见,通常假设为零。


Beancount 实践:建模成本与累计折旧

为了在 Beancount 中正确跟踪固定资产并保留其原始成本,你需要为每类资产使用一对资产账户,再加一个费用账户。

  • Assets:Equipment:Computers:Cost(保存历史成本)
  • Assets:Equipment:Computers:AccumDep(抵减资产,随时间贷记)
  • Expenses:Depreciation:Computers(记录期间费用)

此结构符合标准会计实践,也是 Beancount 中管理固定资产折旧的推荐方式。


方案 A:手动直线法分录

这是最直接的方式。你可以完全控制每笔分录,便于理解其工作原理。

1. 打开所需账户

2025-01-01 open Assets:Bank:Checking
2025-01-01 open Assets:Equipment:Computers:Cost
2025-01-01 open Assets:Equipment:Computers:AccumDep
2025-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)。该插件可根据配置自动创建带日期的分录,兼具手动分录的可审计性与自动化的高效性。


查看结果:成本、累计折旧与净账面价值

无论采用哪种方法,资产负债表都会显示 CostAccumDep 两个账户。两者之和即为 净账面价值。这种“原始成本减累计折旧”的展示方式正是会计师和财务分析师所期望的,能够完整透明地呈现资产的使用年限与当前价值。


资产处置(出售、报废或退役)

资产使用寿命结束时,你可能会出售、报废或退役。要将其从账簿中移除,需要:

  1. 清除历史成本。
  2. 清除累计折旧。
  3. 记录收到的现金。
  4. 记录产生的盈亏(现金收入与净账面价值之差)。

示例:资产出售获利

假设在 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:Checking
2025-01-01 open Assets:Equipment:Computers:Cost
2025-01-01 open Assets:Equipment:Computers:AccumDep
2025-01-01 open Expenses:Depreciation:Computers

2025-01-20 * "Purchase MacBook Pro"
Assets:Equipment:Computers:Cost 3000.00 USD
Assets:Bank:Checking -3000.00 USD

2025-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 USD

2025-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 中实现对固定资产的精确折旧管理,并利用自动化工具提升记账效率。祝你财务管理顺利!

Amazon 卖家费用(2025):它们是什么——以及如何在 Beancount 中记账

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

在 Amazon 上销售是一种触达数百万客户的强大方式,但平台的费用结构常常像迷宫一样让人困惑。如果你是重视干净、可审计、双重记账的运营者,准确追踪这些成本是不可谈判的。本指南将拆解 Amazon 2025 年美国站点的费用,并展示如何使用纯文本会计工具 Beancount 进行记录。

TL;DR ⚡

2025-08-21-amazon-seller-fees-2025

  • 你会遇到一系列常见的 Amazon 费用:销售计划推荐费结算费(媒体类)、FBA 履约与存储入库安置费低库存费退货处理费退款管理费,以及针对超大目录的 高容量上市费
  • 保持一个单独的 Assets:Amazon:Clearing 账户。将销售和费用记在该账户;当 Amazon 打款时,将净额转入银行账户。这样对账轻而易举。
  • 将每个 SKU 视为独立商品(例如 SKU:WATER-BOTTLE),Beancount 能自动按批次计算你的销售成本(COGS)。
  • 通过导入结算或日期范围报告,并将 Amazon 的 “transaction types” 直接映射到 Beancount 的费用账户,即可快速对账。

Amazon 费用地图(美国站点)

以下是 2025 年最常见费用的拆解。

销售计划费

这是访问 Marketplace 的基础订阅费用。

  • 个人计划:无月费。每售出一件商品收取 $0.99
  • 专业计划:每月固定 $39.99,免除每件商品的收费。这是所有严肃卖家默认的选择。其余所有费用仍在此基础上累加。

推荐费

这是 Amazon 对每笔成交收取的佣金。

它是商品总售价(含运费和礼品包装)的百分比,费率完全取决于产品类别。大多数类别在 8–15% 区间,但有些采用分层费率(例如前 $500 收 15%,其余部分收 8%)。某些类别还有最低推荐费,常见为 $0.30。请务必查看当前费率表以确认具体类别。

结算费(媒体类)

如果你销售图书、音乐、视频或 DVD 等媒体商品,Amazon 会额外收取每件 $1.80 的固定结算费。

FBA 履约费

这是使用 Amazon 物流(FBA)时每件商品的拣选、包装和发货费用。费用随商品尺寸和重量而异,Amazon 会定期更新费率表。2025 年,非高峰期费率已于 1 月 15 日恢复至 2024 年的非高峰水平。请始终参考最新的 FBA 费率表,以获取对应尺寸层级的准确费用。

每月存储费 & 老化库存附加费(FBA)

Amazon 会对你在其履行中心占用的空间收取费用。

  • 每月存储费:按立方英尺计费。
  • 老化库存附加费:对在履行中心停留时间过长的库存收取额外月费,叠加在常规存储费之上。

入库安置服务费(FBA)

这是与将库存发送至 Amazon 相关的每件费用,旨在覆盖 Amazon 将商品分配至其物流网络的成本。某些项目(如 “New Selection”)可在设定限额内暂时免除此费用。

低库存费(FBA)

该费用适用于标准尺寸商品,当库存水平相对于客户需求持续偏低时触发。Amazon 使用 “historical days of supply” 指标衡量。如果热门商品的库存天数跌破阈值(通常为 28 天),则收取此费用。

退货处理费(FBA)

针对退货率高于行业平均的品类(如服装、鞋类),Amazon 可对每笔客户退货收取处理费。部分 “New Selection” 商品在一定上限内可免除此费用。

退款管理费

当你为订单向客户退款时,Amazon 会退回已支付的推荐费,但会保留一定比例作为处理费。该费用为 $5.00 或推荐费的 20%(取较低者)。

高容量上市费(超大目录)

此费用仅针对拥有庞大目录的卖家。如果活跃 SKU 超过 150 万,Amazon 将对超出阈值的每个合格 SKU 收取每月 $0.001 的费用。

注意: 费率和政策可能因国家、地区和品类而异。请务必在记账前查阅当地 Seller Central 帮助页面。


这些费用在报表中的呈现方式 🧾

所有数据均可在 Seller Central 获取。对会计最有价值的两类报告为:

  1. 日期范围报告Payments → Date Range Reports):提供特定期间的收入、费用、税金和净转账汇总,适合高层账本导入与对账。
  2. 结算文件(如 Flat File V2):逐笔列出每笔交易,显示费用类型、订单 ID、金额和日期。此细粒度数据用于精确映射。

Beancount‑First 记录 Amazon 活动的方式

下面展示如何将 Amazon 的复杂费用转化为简洁的 Beancount 条目。

1. 建立最小化科目表

首先,定义所需账户。此简易结构涵盖全部内容。

; --- ASSETS ---
Assets:Amazon:Clearing ; 你的 Amazon “钱包”
Assets:Bank:Checking ; 收款到账的银行账户
Assets:Inventory:SKU:<code> ; 每个 SKU 一个子账户

; --- INCOME & COGS ---
Income:Sales:Amazon
Expenses:COGS:Inventory

; --- EXPENSES ---
Expenses:Marketplace:Amazon:Referral
Expenses:Marketplace:Amazon:FBAFulfillment
Expenses:Marketplace:Amazon:Storage:Monthly
Expenses:Marketplace:Amazon:Storage:Aged
Expenses:Marketplace:Amazon:InboundPlacement
Expenses:Marketplace:Amazon:LowInventoryLevel
Expenses:Marketplace:Amazon:ReturnsProcessing
Expenses:Marketplace:Amazon:Other ; 其他杂费

Beancount 能追踪库存批次和成本基础,这是一大优势。你将在 Assets:Inventory:SKU:... 中 “买入” 库存并标记成本 {...}。销售时,Beancount 会自动计算销售成本。

2. 记录每笔销售及其费用

下面记录一次 $30 的 FBA 销售,SKU 为 SKU:WATER-BOTTLE。推荐费 $4.50,FBA 履约费 $4.24,低库存费 $0.15。该商品原始采购成本为 $5.00

2025-02-10 * "Amazon Order 113-2233445-6677889" "WATER-BOTTLE"
Assets:Amazon:Clearing 21.11 USD
Income:Sales:Amazon -30.00 USD
Expenses:Marketplace:Amazon:Referral 4.50 USD
Expenses:Marketplace:Amazon:FBAFulfillment 4.24 USD
Expenses:Marketplace:Amazon:LowInventoryLevel 0.15 USD
Assets:Inventory:SKU:WATER-BOTTLE -1 SKU:WATER-BOTTLE {5.00 USD}
Expenses:COGS:Inventory 5.00 USD

平衡原因: $30 销售记入 Income。费用($4.50 + $4.24 + $0.15)和 COGS($5.00)记入费用账户。净现金 $21.11 借记至 Assets:Amazon:Clearing。库存资产被冲减(减少一件),对应成本计入费用。

3. 记录打款

Amazon 向你付款时,只需将钱从 Amazon “钱包”转入真实银行账户。

2025-02-15 * "Amazon Payments" "Settlement disbursement"
Assets:Bank:Checking 2,500.00 USD
Assets:Amazon:Clearing -2,500.00 USD

每次打款后,Assets:Amazon:Clearing 的余额应趋近于零。使用日期范围报告的总额检查是否有差异。

4. 处理存储、老化库存和入库安置费用

这些费用通常在结算报告中单独列出,直接记为清算账户的借方。

2025-03-15 * "Amazon FBA Storage Fees" "Monthly + aged inventory"
Expenses:Marketplace:Amazon:Storage:Monthly 125.40 USD
Expenses:Marketplace:Amazon:Storage:Aged 35.20 USD
Assets:Amazon:Clearing -160.60 USD

2025-03-20 * "FBA Inbound Placement Service" "Shipment split optimization"
Expenses:Marketplace:Amazon:InboundPlacement 62.00 USD
Assets:Amazon:Clearing -62.00 USD

5. 退款与退货

客户退货时,需要冲销销售和 COGS,并计入不可退回的费用。假设该 $30 销售的退款行政费为 $0.30

2025-03-02 * "Refund 113-2233445-6677889" "Refunded WATER-BOTTLE"
Assets:Amazon:Clearing -29.70 USD ; 实际扣除
Income:Sales:Amazon 30.00 USD ; 冲销收入
Expenses:Marketplace:Amazon:Other 0.30 USD ; 退款管理费
Assets:Inventory:SKU:WATER-BOTTLE 1 SKU:WATER-BOTTLE {5.00 USD}
Expenses:COGS:Inventory -5.00 USD ; 冲销成本

这里,Income 借记冲销收入,Expenses:COGS 贷记冲销成本。库存单位重新计入资产。Assets:Amazon:Clearing 的净影响即为退款给客户的金额。


快速导入与对账

关键在于映射。导出 Date Range ReportFlat File V2 结算文件后,创建一个简单的映射表,将 Amazon 的 transaction-type 列映射到你的费用账户:

  • OrderIncome:Sales:Amazon
  • CommissionExpenses:Marketplace:Amazon:Referral
  • FBA-fulfillment-feeExpenses:Marketplace:Amazon:FBAFulfillment
  • StorageFeeExpenses:Marketplace:Amazon:Storage:Monthly
  • AgedInventorySurchargeExpenses:Marketplace:Amazon:Storage:Aged
  • InboundPlacementFeeExpenses:Marketplace:Amazon:InboundPlacement
  • LowInventoryLevelFeeExpenses:Marketplace:Amazon:LowInventoryLevel

想实现自动化?Beancount 的导入生态(如 beancount-import)非常强大。只需一次性定义规则,结算文件即可自动导入账本。


实用防护措施(省钱又省力) 💰

  • 规避低库存费:监控历史供给天数。保持足够缓冲库存满足需求,但避免过度积压导致老化库存附加费。
  • 利用新选品福利:新产品上线时,加入 “New Selection” 项目,可暂时免除退货处理费和入库安置费。
  • 定价前检查推荐费率:微小的价格变动可能让你跨越费率阈值,显著影响净利润。务必确认品类的推荐费率和最低费用。
  • 每月对账:每月拉取一次 Date Range Report。此习惯帮助你提前发现 Amazon 费用变动,保持账本可信。

可直接使用的 Beancount 模板

为帮助你快速上手,我已准备好一个入门账本文件,包含:

  • 合理的 Amazon 科目表。
  • 将库存配置为商品,以实现自动批次成本计算。
  • 销售、费用、存储、退款和打款的示例条目。

➡️ 下载模板
(在编辑器中打开文件,替换示例 SKU 与金额,即可开始导入结算行。)


参考与进一步阅读


最后小贴士

如果你进行跨境销售,请为不同站点创建专属子账户(例如 Expenses:Marketplace:Amazon:Referral:US...:Referral:CA)。同时,保持一个统一的 Assets:Amazon:Clearing 用于所有站点的收付款。记账时,确保使用当地的币种或统一转换为主币种,以便后续分析。

祝你在 Amazon 上销售顺利,账本保持干净、透明!

什么是应付账款?Beancount友好指南:以纯文本跟踪供应商账单

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

应付账款(AP)是指企业因已收到但尚未付款的商品或服务而欠供应商的款项。在会计体系中,AP 被归类为资产负债表上的流动负债——通常在一年内(常见为 30 到 60 天)到期。

该概念是权责发生制会计的核心,你在收到发票的瞬间就记录费用及相应负债,而不是等到实际付款时才记录。本指南将展示如何使用纯文本会计工具 Beancount,干净且高效地管理整个 AP 工作流。

2025-08-20-what-is-accounts-payable


快速概览

在深入细节之前,先了解关键要点:

  • 应付账款(AP) 代表你对供应商的短期债务。它位于资产负债表的 Liabilities(负债)栏目下。
  • 权责发生制 vs. 现金制:只有在采用 权责发生制 时才会出现 AP。Beancount 完全支持权责发生制工作流,其网页界面 Fava 会正确显示你的负债。
  • AP vs. AR:简单来说:应付账款是你 的,而应收账款(AR)是别人 你的。

AP 在 Beancount(以及 Fava)中的位置

要开始跟踪 AP,首先需要在账本中声明一个对应的账户。常用约定为:

Liabilities:AccountsPayable

你可以为主要供应商创建子账户,例如 Liabilities:AccountsPayable:ForestPaintSupply

在 Fava 中,此账户会出现在资产负债表的 Liabilities 下。点击即可展开,查看所有未结和已结项目,清晰了解你的负债情况。你也可以在 Fava 的 公开示例账本 中看到 Liabilities:AccountsPayable 账户的实际展示。


Beancount 构建块

一个完整的 AP 工作流依赖以下核心功能:

  1. 账户:主要使用 Liabilities:AccountsPayableAssets:Bank:Checking(现金账户)以及各种费用账户(如 Expenses:Supplies)。
  2. 元数据:可以为任意交易附加键值对。AP 常用的元数据包括 invoice:due:terms:document:。Fava 还能识别 document: 键,并在配置了文档文件夹后自动生成可点击的链接。
  3. 标签 & 链接:使用 #tags(如 #ap)便于过滤,使用 ^links(如 ^INV-10455)将账单与后续付款关联,形成清晰、可审计的链路。
  4. 查询(BQL):Beancount 类 SQL 查询语言(BQL)让你可以直接在命令行使用 bean-query,或在 Fava 的 “Query” 页面生成强大的报表,例如按到期日排序的未结应付账款列表。

核心 AP 工作流

管理 AP 包括两到三步:记录账单、付款,有时还需处理部分付款或折扣。

1) 记录供应商账单(创建负债)

当发票到达时,先记费用并生成应付账款。

; 可选:在主 Beancount 文件中设置文档文件夹
option "documents" "documents"

2025-08-05 * "Forest Paint Supply" "Paint order INV-10455" ^INV-10455 #ap
invoice: "INV-10455"
due: "2025-09-04"
terms: "2/10, n/30"
document: "invoices/2025-08-05-forest-paint-INV-10455.pdf"
Expenses:Supplies:Paint 500.00 USD
Liabilities:AccountsPayable -500.00 USD

此条目完成两件关键事:

  1. 立即在 8 月份确认 500 美元费用。
  2. 同时产生 500 美元负债,表明你欠 Forest Paint Supply。

^INV-10455 链接是唯一标识符,稍后在付款时使用相同链接,可将账单与付款逻辑关联。

2) 付款(冲销负债)

付款时创建交易,将资金从银行账户转出并冲销负债。

a) 标准付款(无折扣)

2025-09-01 * "Forest Paint Supply" "Payment INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -500.00 USD

此条目将 AP 减少 500 美元,同时支出 500 美元的银行余额,负债已清。

b) 提前付款折扣(如 “2/10, n/30”)

若在 10 天内付款,可享 2% 折扣。对 500 美元发票而言,折扣为 10 美元。以下两种记法均可,任选其一并保持一致即可。

; 方式 1:将折扣记为其他收入(冲减费用的效果)
2025-08-12 * "Forest Paint Supply" "Early payment discount INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -490.00 USD
Income:Discounts:Payables -10.00 USD

; 方式 2:直接冲减原费用
2025-08-12 * "Forest Paint Supply" "Early payment discount INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -490.00 USD
Expenses:Supplies:Paint -10.00 USD

两种方式均冲销 500 美元负债,银行账户实际支出 490 美元,并记录 10 美元的优惠。

3) 部分付款处理

Beancount 的链接功能让部分付款的追踪简洁明了。

; 发票 1,200 美元
2025-08-10 * "Acme Parts" "INV-9001" ^INV-9001
invoice: "INV-9001"
due: "2025-09-09"
Expenses:Parts 1200.00 USD
Liabilities:AccountsPayable -1200.00 USD

; 第一次付款 400 美元
2025-08-20 * "Acme Parts" "Payment INV-9001 (1/3)" ^INV-9001
Liabilities:AccountsPayable 400.00 USD
Assets:Bank:Checking -400.00 USD

; 最终付款 800 美元
2025-09-05 * "Acme Parts" "Payment INV-9001 (final)" ^INV-9001
Liabilities:AccountsPayable 800.00 USD
Assets:Bank:Checking -800.00 USD

通过在三条交易上使用相同的 ^INV-9001 链接,你可以轻松过滤出该账单的完整历史。


实用查询(BQL)

可在 Fava 的 “Query” 选项卡或命令行 bean-query 中运行。

小贴士any_meta() 函数非常适合把 invoice:document: 等元数据字段拉进查询结果。

按供应商统计未结 AP(余额视图)

SELECT payee, COST(SUM(position)) AS amount
WHERE account "^Liabilities:AccountsPayable"
GROUP BY payee
ORDER BY payee;

按发票 + 到期日列出未结 AP

SELECT payee,
any_meta('invoice') AS invoice,
any_meta('due') AS due,
COST(SUM(position)) AS amount
WHERE account "^Liabilities:AccountsPayable"
GROUP BY payee, invoice, due
ORDER BY due, payee;

列出带 PDF 附件的账单

SELECT date, payee, any_meta('invoice') AS invoice, any_meta('document') AS file
WHERE account "^Liabilities:AccountsPayable"
ORDER BY date DESC;

在 Fava 中查看 AP

  • 资产负债表:进入 Balance SheetLiabilitiesAccountsPayable,即可看到总余额并进一步钻取交易明细。
  • 日记账:使用过滤 account:Liabilities:AccountsPayable 或特定链接 ^INV-xxxx,查看单笔账单的完整生命周期。
  • 文档侧栏:若使用 document: 元数据并配置 option "documents",侧栏会列出所有已关联的文档。

AP 老化、周转率与现金流感知

  • 老化表:将未结发票按逾期天数分组(如 1–30 天、31–60 天、60+ 天)。在 Beancount 中,可运行上面的 “按发票 + 到期日列出未结 AP” 查询,导出 CSV 后在电子表格或小型 Python 脚本中分桶统计。
  • AP 周转率:衡量付款速度的快速健康指标,公式为 供应商采购总额 ÷ 平均应付账款。相关指标 应付账款天数(DPO) 大约为 365 ÷ 周转率
  • 无法按时付款:AP 属于短期债务。如供应商同意更长期的分期付款,应将该债务从 AP 调整为 Notes Payable(票据负债)。
2025-10-01 * "Helix Industries" "Convert overdue AP to 12-month note" ^INV-1110
Liabilities:AccountsPayable 2000.00 USD
Liabilities:NotesPayable -2000.00 USD

纯文本账本中的 AP 最佳实践

  • 无纸化:将发票 PDF 存入 documents 文件夹,并使用 document: 元数据关联。
  • 一致使用链接:在账单和所有关联付款上使用唯一的发票号 ^link,保持逻辑连贯。
  • 保持元数据整洁:统一使用 invoice:due:terms:,提升搜索、查询和财务审查效率。
  • 全程权责发生制:若想获得有价值的 AP 报表,请坚持使用权责发生制。Beancount 与 Fava 能完美支持。

复制粘贴示例:供应商账单 + 付款

; ---- Bill ----
2025-08-05 * "Forest Paint Supply" "Paint order INV-10455" ^INV-10455 #ap
invoice: "INV-10455"
due: "2025-09-04"
document: "invoices/2025-08-05-forest-paint-INV-10455.pdf"
Expenses:Supplies:Paint 500.00 USD
Liabilities:AccountsPayable -500.00 USD

; ---- Payment (no discount) ----
2025-09-01 * "Forest Paint Supply" "Payment INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -500.00 USD

本指南仅供学习使用,不构成税务、法律或财务建议。

参考与进一步阅读

会计外包:如何交付你的财务任务(针对 Beancount 用户)

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

如果你的账本以纯文本形式保存,你已经在乎清晰、可控和可复现性。外包会计工作并不一定会牺牲这些。相反,若执行得当,它会把你的 Beancount 设置转变为由专业人士运行的可靠、可文档化的工作流——同时你仍然完全拥有数据、仓库以及规则的所有权。

这是一份面向 Beancount 用户的实用指南,内容涵盖哪些工作可以外包、哪些工作应自行保留、如何结构化交付物以及如何评估供应商。目标是将机械性的工作委派出去,却永不放弃控制权。

2025-08-19-会计外包-如何交付你的财务任务


适用人群

如果你符合以下任意一种情况,本指南适合你:

  • 独立创始人、独立开发者和顾问,使用 Beancount 并希望把会计的机械性工作交给他人,以便专注于产品研发或客户服务。
  • 具备财务知识的工程师,需要严格的控制、版本化历史和完整的可审计性,但不想在周末自己导入银行对账单并进行核对。
  • 从一体化供应商迁移的组织,现在更重视数据托管和可复现性。近期诸如 Bench 等会计平台的突发关闭再次提醒我们:退出计划和开放格式不是可选项。(TechCrunchKSV Advisory Report)

Beancount 简介

对于新手来说,Beancount 生态系统由以下核心组件构成,使其在此类工作流中表现强大:

  • Beancount:本质上是一种以纯文本编写的复式记账语言。你编写可读的账本文件,将其提交到 Git 仓库,并使用编译器进行校验和生成财务报表。(GitHub)
  • Fava:Beancount 的优雅网页界面。Fava 读取账本文件,提供交互式资产负债表、损益表、趋势图、过滤器以及类 SQL 查询语言,以便检查数据。(Fava Demo)
  • beangulp:用于自动化数据导入的现代框架。由 Beancount 最初的 importer 演进而来,beangulp 提供编写稳健导入器的工具,能够解析 CSV、OFX、QFX 甚至 PDF 对账单,将原始银行数据转化为结构化的 Beancount 条目。(GitHub)

成功的外包关系应当保留并强化这些优势:版本控制、可读的历史、严格的校验以及工具的可组合性。


外包内容 vs. 自行保留

有效委派的关键在于明确的职责划分。下面阐述战术执行与战略所有权的分界线。

适合外包的任务

这些任务通常重复、基于规则且耗时——非常适合专业人士处理。

  • 对账单收集与导入:下载月度对账单、统一不同文件格式(CSV、OFX、PDF),并运行 beangulp 导入器。包括在金融机构更改对账单格式时维护导入规则。
  • 分类辅助:构建启发式和声明式规则对交易进行分类。可选使用 smart_importer 根据历史数据预测分录,但最终审查始终由人工完成。
  • 核对与完整性检查:使用 balance 断言匹配对账单,调查差异,确保账本无误。
  • 附件与文档整理:获取发票和收据,将其与交易关联并添加元数据,随后在整洁、可复现的目录树中归档源文件。
  • 月末结账与报表:准备标准报表(损益表、资产负债表、现金流量表),并提供 Fava 视图或导出文件供管理层更新使用。
  • 应收/应付及工资准备:准备付款账单、生成发票、催收款项,并为工资文件做预处理,待你最终审阅批准。
  • 税务包准备:年终时生成干净的试算表、支持性明细以及所有 CPA 或税务顾问所需的文件。

自行保留(你拥有意图与风险)

这些职责属于战略层面,定义了业务的财务骨架,必须由你掌控。

  • 科目表设计:账户的结构和命名约定反映了你对业务的认知,这是你的财务地图。
  • 核心会计政策:实体结构、收入确认、资本化政策等决策具有长期的财务和法律影响。
  • 最终批准:所有现金流动(付款、工资发放、重要分录)必须由你最终确认。
  • 战略财务:预测、预算以及定义业务“良好”状态的标准是所有者的根本职责。

Beancount 原生外包工作流

下面展示基于 Git 的结构化协作在实践中的样子。

1) 仓库布局(示例)

仓库是唯一的事实来源。良好的组织结构让流程透明且易于维护。

/ledger
main.beancount # 主账本文件,包含其他文件
accounts/ # 科目表定义
includes/ # 月度或年度交易文件
prices/ # 商品/股票的价格指令
metadata/ # 自定义元数据声明
plugins/ # 自定义 Beancount 插件
documents/ # 银行对账单、收据、发票
/importers # beangulp 导入器 + 规则
config.yaml
bank_x.py
card_y.py
/scripts
import.sh # 导入器编排脚本
close_month.py # 月末校验与报表脚本
/reports
monthly/
year_end/
/ops
runbook.md # 系统运行手册
checklist.md # 程序性检查清单(如月末)
controls.md # 财务控制文档

2) 周循环

常规工作应遵循可预测的节奏,最终交付一个清晰的审阅件。

  1. 导入:供应商拉取对账单并运行 beangulp 导入器,将新交易暂存。
  2. 分类:应用分类规则并使用 smart_importer 建议(如适用),随后进行 人工审查 以纠正歧义。
  3. 核对:添加 balance 断言匹配对账单总额并调查差异。pad 指令应极少使用且必须提供明确解释。
  4. 文档:将相关文档(收据、发票)附加到交易上。
  5. 提交 & 提议:使用描述性提交信息将更改提交,并打开 Pull Request 供你审阅,你可以看到账本中具体的 diff

3) 月末结账(最小可行)

结账是确保准确性并生成可靠报表的关键检查点。

  • 为外币或基于市场的证券更新 price 指令。
  • 检查未结项目:应收、应付、计提、预付费用和贷款。
  • 确认所有 balance 断言通过,且无其他检查失败。
  • 使用标签标记提交(如 2025-08-close),并导出标准报表。
  • 发布 Fava 快照或提供安全的期间 URL。

4) 年终包

全年工作的最终成果是一个整洁、可审计的税务包,供税务顾问使用。内容包括最终试算表、关键科目(如固定资产或存货)的支持明细,以及可直接从 Git 仓库重新生成所有产物的脚本。


安全与访问(不可妥协)

专业工作流必须把安全和数据所有权放在首位。

  • 数据托管优先:你拥有私有 Git 仓库。供应商应从 fork 工作并提交 Pull Request,绝不能只保留唯一的账本副本。
  • 银行访问:尽可能提供只读权限。如需使用聚合服务,请创建隔离凭证并制定明确的撤销流程。
  • 机密与加密:使用 GPG 或 age 对敏感文档进行静态加密。所有服务强制多因素认证,遵循最小权限原则。
  • Fava 访问:你应自行托管 Fava 或本地运行 (fava ledger.beancount),并通过安全隧道或 VPN 共享审阅会话。避免直接暴露至公网。
  • 退出计划:坚持“拔线”手册,包含脚本、配置和文档的托管或托管保证。正如近期事件所示,供应商可能一夜消失,你的财务记录绝不能被锁定。

“好”交付物的样子(每月)

每月结束时,你应收到两类成果:技术制品和业务摘要。

1. 干净的 Pull Request,包含:

  • 本期所有已导入并审查的交易。
  • 任何新建或修改的导入规则的 diff
  • 总结关键假设或手动调整的提交信息。
  • 所有 balance 断言 100% 通过,并附带每个账户已核对的日志。
  • Beancount 文件中指向所有附件的链接,以及缺失文档的报告。
  • 为投资或外币更新的 price 指令。

2. 管理报告包,包含:

  • 标准报表:损益表、资产负债表、现金流量表。
  • 关键指标,如现金流动性、预算与实际差异亮点。
  • 指向预过滤 Fava 视图的直接链接,便于深入交互式分析。

供应商类型(何时适用)

不同供应商适配不同阶段和复杂度。

  • 熟悉 Beancount 的记账员:适合处理核心工作流——持续导入、分类、核对以及月末报告包准备。
  • 精品会计事务所:如果你需要额外的应收/应付、工资协调、多实体合并或税务支持,可考虑此类供应商。
  • 兼职财务总监 / CFO:当你需要战略层面的监督时,他们可帮助设计会计政策、构建财务预测、准备董事会报告并设计内部控制。

合作模式通常为月度固定费用加上根据交付物计费。


评估供应商的技巧

  1. 技术匹配度:确认其熟悉 Beancount、Fava、beangulp 以及相关导入器的实现细节。
  2. 审计痕迹:要求提供完整的变更历史、提交信息和审阅记录。
  3. 安全合规:检查其对机密信息的加密、凭证管理和多因素认证的实践。
  4. 响应速度:在出现差错或紧急需求时,供应商的响应时效至关重要。
  5. 退出机制:确保在合同结束或突发情况下,你能够快速接管全部数据和工作流。

外包流程示例

以下示例展示了从需求定义到交付的完整路径。

  1. 需求定义

    • 列出需要外包的具体任务(如“每月对账单导入”)。
    • 明确交付频率(周/双周/月)。
    • 确定交付格式(Pull Request、附件路径、报表导出位置)。
  2. 供应商筛选

    • 根据关键词搜索或社区推荐,获取候选名单。
    • 要求提供过去使用 Beancount 的案例或代码示例。
    • 进行技术面试,确认其对 balancepadsmart_importer 等概念的理解。
  3. 合同与安全

    • 在合同中写明数据所有权、机密信息加密、只读银行访问以及退出计划。
    • 确认供应商使用的加密工具与你现有的安全体系兼容。
  4. 试点阶段

    • 先外包单月或单科目,评估交付质量、审阅效率和沟通成本。
    • 根据试点结果决定是否扩大外包范围。
  5. 正式上线

    • 将供应商的 fork 合并到主仓库,设定自动化 CI 检查(如 bean-check)。
    • 在每次提交后通过 CI 确认 bean-checkbean-format 等工具通过。
    • 通过 Pull Request 审阅完成后合并,确保所有 balance 断言通过。

常见问题解答

Q1:外包后我还能使用 Fava 吗?
A1:可以。外包仅涉及后端数据处理,你仍然可以随时在本地或自托管的服务器上运行 Fava 查看最新账本。

Q2:如果供应商的仓库出现冲突,我该怎么办?
A2:在 Pull Request 中会显示冲突文件。你可以手动解决冲突后合并,或要求供应商在其 fork 中先完成冲突解决。

Q3:外包会不会导致记账规则不一致?
A3:通过 beangulp 的统一配置文件和声明式科目规则可以确保规则的一致性。所有规则的更改都必须通过 Pull Request 记录。

Q4:如何确保外包后的账本仍然可审计?
A4:保持完整的 Git 提交历史、balance 断言以及所有附件的链接。审计时只需检查对应的提交和附件即可。


开始外包的第一步

  1. 审视当前工作流:列出你每天/每周执行的会计任务。
  2. 划分任务:将可外包的任务标记为 “外包”,其余保持 “自行”。
  3. 准备仓库:确保所有账本、配置和导入规则已提交到私有 Git 仓库,并设置好访问权限。
  4. 寻找供应商:在 Beancount 社区、GitHub 或专业会计平台发布需求,注明你需要熟悉 Beancount 的记账员。
  5. 签订安全协议:在合同中明确数据所有权、加密要求和退出计划。
  6. 启动试点:先外包单月的导入和核对工作,评估交付质量后再逐步扩大范围。

通过上述步骤,你可以在不牺牲透明度、可控性和可复现性的前提下,释放工程资源,专注于业务增长。祝你外包顺利!

会计解决方案:完成会计工作的七大最佳方式

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

无论你是用笔记本电脑经营副业,还是在快速增长的初创公司中扩张,你都有几条可靠的路径来保持账目清晰、准确。但哪条路最适合你?最佳方案取决于你的预算、技术舒适度以及你希望对财务数据拥有多少控制权。

下面是一份清晰的指南,列出七种最常见的会计选项——它们擅长什么、在哪些方面受限,以及何时像 Beancount.io 这样的现代方案是完美契合。

2025-08-16-accounting-solutions-the-top-7-ways-to-get-your-accounting-done


1) Excel

这通常是会计旅程的第一站,因为它极其简便且随处可得。

  • 适合对象: 喜欢完全掌控并且已经熟悉电子表格的创始人和 DIY 建设者。
  • 优点: 入门门槛几乎为零,网上有成千上万的免费模板。其灵活性让你可以构建自定义财务模型,跟踪现成软件无法处理的独特工作流。
  • 缺点: 最大的弊端是巨大的手工工作量。每笔交易都必须手动录入和对账,耗时巨大。更糟的是,极易因公式错误或输入错误而产生“沉默”错误,且没有防护机制捕捉。协作和保持清晰审计轨迹在没有严格纪律的情况下非常笨拙。
  • 最佳场景: 你想要一个快速、无花哨的启动方式,业务非常简单且你极其细致。

2) Google Sheets

Excel 的云原生表亲,Google Sheets 在提供相同核心功能的同时加入了协作特性。

  • 适合对象: 需要简单共享电子表格来跟踪收入和支出的团队。
  • 优点: 内置云备份和极简共享是主要优势。只要有浏览器就能在任何设备上工作,适合随时随地的团队。
  • 缺点: 与 Excel 面临同样的根本缺陷:大量手工工作和高错误风险。某些为 Microsoft 生态系统设计的模板和插件在兼容性上也会出现怪异。
  • 最佳场景: 你的团队已经在使用 Google Workspace,并且愿意接受手工系统的权衡。

3) QuickBooks Online

数十年来,QuickBooks 一直是小企业寻找专用会计软件的默认选择。

  • 适合对象: 想要获得“经典” SMB 软件体验并拥有庞大集成生态系统的小企业。
  • 优点: 其标志性功能是 银行流水,可自动从银行和信用卡账户拉取交易,极大减少手工录入。提供丰富的财务报表,且拥有庞大的会计师和开发者社区支持。
  • 缺点: 虽然交易自动导入,但系统仍需你每周对费用进行分类并对账。界面学习曲线陡峭,功能附加会导致成本上升。最重要的是,它会产生 供应商锁定,若日后想迁出,导出完整财务历史会很困难。
  • 备注与来源: 正如 QuickBooks 所宣传的,自动银行流水是核心功能,但仍需你负责审查和分类以保持账目准确。

4) Xero

作为 QuickBooks 的流行现代替代方案,Xero 提供相似功能,并注重简洁设计和用户体验。

  • 适合对象: 喜欢更现代 UI、但仍需 QuickBooks Online 同等核心能力的企业主。
  • 优点: Xero 同样拥有强大的银行流水和高效的对账工具,使匹配交易变得直观。其简洁的界面常获用户好评,且大量会计师熟悉该平台。
  • 缺点: 低价套餐可能在发票或账单数量上有限制,迫使你升级到更贵的计划,附加功能也会提升总体成本。与 QBO 类似,最终的分类和审查仍需人工完成。
  • 备注与来源: 根据 Xero,其自动银行流水连接全球数千家金融机构,以驱动核心对账工作流。

5) 会计师(CPA)

注册会计师是受过高度专业训练的财务专家,提供战略建议、税务规划和合规服务。

  • 适合对象: 税务策略、处理复杂财务情形、审计以及一次性咨询。
  • 优点: 优秀的 CPA 能在实体结构、税收优化和复杂会计处理等关键决策上提供专业指导。他们的监督显著降低高风险财务事项的风险。
  • 缺点: 对大多数小企业而言,聘请 CPA 事务所进行日常簿记成本过高。要发挥其效用,仍需你提供及时、组织良好的财务记录。
  • 与簿记员的区别? 简而言之,簿记员 记录并整理 历史交易,而会计师和 CPA 则 解释、报告并提供建议,基于这些数据。(Investopedia, Intuit)

6) 传统簿记员

簿记员是一位专业人员,负责每周或每月记录并对账你的财务交易。

  • 适合对象: 想要专人处理每周簿记工作的企业主。
  • 优点: 人工监督大幅降低软件单独难以捕捉的分类错误。每月末,他们会为你生成一套整洁的财务报表供审阅。
  • 缺点: 相较于 DIY 软件,这种方式成本更高,月度保留费常在数百美元起。报告和答复的周转时间取决于簿记员的可用性和工作流程。
  • 现实检视: 对许多小企业而言,结合优秀的簿记员进行每周任务和周期性 CPA 支持税务与策略,是一种持久且有效的组合。(Pioneer Accounting Group)

7) Beancount.io(纯文本会计,超强动力)

这种现代方法将电子表格的控制力、软件的自动化以及复式记账的精准度相结合。

  • 适合对象: 开发者、金融专业人士以及注重细节的创始人,他们要求精准、透明且无需黑箱的自动化。
  • 它是什么: Beancount.io 基于开源 Beancount 方法论构建。你的整个财务账本以人类可读的纯文本形式存在,平台将其转化为实时分析、托管的 Fava 仪表盘,以及 AI 辅助工作流。
  • 团队为何选择它:
    • 可脚本化 & 可审计: 用 Git 对账本进行版本控制。每一次更改都可以在 diff 中审阅,宛如代码。
    • 托管 Fava UI: 直接从基于文本的账本生成损益表、资产负债表和交互式图表,无需手动报表构建。
    • AI 辅助: 加速交易分类和异常检测,同时保留人工最终批准环节。
    • 真正的可移植性: 核心数据仅是一个简单的文本文件,随时可导出,零供应商锁定。
  • 权衡: 若从未使用过纯文本格式的复式记账,会有学习曲线。它最适合那些重视绝对准确性和控制权,而非“按钮即完成”便利感的用户。

更倾向于纯开源和自托管?

你可以随时在本机运行 Beancount 开源引擎,并使用 Fava 作为网页 UI。它功能强大且免费,但你需要自行管理部署、备份和数据集成。Beancount.io 为你处理所有这些事务。


快速对比(一目了然)

方案时间投入自动化程度人工帮助数据控制
Excel
Google Sheets
QuickBooks Online中-高可选
Xero中-高可选
会计师(CPA)N/A高(咨询)
传统簿记员N/A高(每周)
Beancount.io低-中可选

如何选择

  • 想要最大控制、可审计性以及开发者级工作流? 请选择 Beancount.io。你将获得托管的 Fava 仪表盘、AI 辅助以及纯文本可移植性的自由。
  • 想要有人“直接搞定”? 雇佣 簿记员,并保留 CPA 以备税务和战略问题。
  • 习惯传统 SMB 软件生态? QuickBooksXero 都是不错的选择——只需每周预留时间审查并对账。
  • 预算紧张、想先试水? 电子表格 可以短期使用,视其为通往真实系统的垫脚石,而非最终目的地。

为什么纯文本会计正走红

纯文本会计(PTA)工具如 Beancount 正在获得关注,因为它们强调 可复现性、版本控制和透明度。这些价值观深得工程师、数据科学家和金融专业人士的共鸣。如果你认为公司的账本应当像代码一样清晰、可审查,那么你来对地方了。(plaintextaccounting.org)

准备让你的账本活起来了吗?

免费启动一个 Beancount.io 工作区,导入上个月的一小部分交易样本,打开托管的 Fava 仪表盘。你将立即看到损益表和资产负债表出现——随后可使用 AI 辅助细化分类。

现金流量表完整指南:免费模板和最佳实践

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

了解你的资金来源和去向是成功运营业务的基础。 尽管许多企业主专注于其损益表,但现金流量表通常会揭示公司财务健康的真实情况。 毕竟,你可以在账面上盈利,但仍然可能耗尽现金来支付账单。

什么是现金流量表?

2025-08-14-guide-to-cash-flow-statements

现金流量表(也称为现金流量表)是一种财务文件,用于跟踪特定时期内(无论是月度、季度还是年度)流入和流出你企业的所有资金。 与显示收入何时赚取(即使尚未收到付款)的损益表不同,现金流量表仅关注实际的现金流动。

可以将其视为你企业的财务脉搏。 它显示你是否有足够的现金来支付工资、支付供应商、投资增长并维持运营。

为什么你的企业需要现金流量表

现金流问题是小企业倒闭的主要原因之一。 即使盈利的企业,如果没有足够的现金来履行其即时义务,也可能会失败。 以下是跟踪现金流的重要性:

揭示真实的流动性: 你的损益表可能显示利润,但如果客户尚未支付发票,你可能没有可用的实际现金。

实现更好的规划: 通过跟踪现金模式,你可以在短缺变成危机之前预测到,并为重大支出或投资做好计划。

吸引投资者和贷款人: 利益相关者希望看到你的企业产生正现金流并负责任地管理其资源。

识别问题区域: 你可能会发现过多的现金被捆绑在库存中,或者收款期太长。

支持增长决策: 你应该雇用新员工吗? 租赁新设备? 你的现金流量表有助于回答这些问题。

现金流量表的三个部分

每个现金流量表都分为三个主要类别,每个类别都讲述了你企业的不同故事:

1. 经营活动

本部分涵盖你的日常业务运营——产生主要收入的活动。 经营活动包括:

  • 从客户处收到的产品或服务现金
  • 支付给供应商和厂商的现金
  • 工资和员工福利
  • 租金、水电费和其他运营费用
  • 利息支出
  • 所得税支出

来自经营活动的净现金流可以说是你报表上最重要的行。 它显示你的核心业务活动是否产生正现金流。 如果这个数字持续为负数,则表明你的商业模式可能需要调整。

2. 投资活动

本部分跟踪与长期资产和投资相关的现金流:

  • 购买或出售财产、厂房和设备
  • 收购或处置其他业务
  • 购买或出售投资证券
  • 向其他实体提供的贷款(以及收到的还款)

对于成长型公司来说,这部分通常显示负现金流,因为他们正在投资于未来。 这不一定是坏事——它表明你正在为明天做准备。 但是,你需要来自经营活动或融资活动的正现金流来支持这些投资。

3. 融资活动

本部分显示你的企业如何筹集资金并偿还资金:

  • 来自贷款或发行债券的收益
  • 偿还债务本金
  • 所有者或股东投资的资金
  • 股票回购
  • 股息支付

本部分揭示了你如何为你的企业融资,以及你是严重依赖外部融资还是在内部产生足够的现金。

如何创建现金流量表

编制现金流量表有两种方法:直接法和间接法。 大多数小型企业发现间接法更容易实施。

间接法(推荐给小型企业)

第 1 步:从净利润开始 从你当期的损益表中的净利润开始。

第 2 步:调整非现金项目 加回不涉及现金支付的费用:

  • 折旧和摊销
  • 资产出售的损失(或减去收益)

第 3 步:调整营运资本变动

  • 增加应收账款的减少(或减少增加)
  • 减少库存的增加(或增加减少)
  • 增加应付账款的增加(或减少减少)

例如,如果应收账款增加了 2,000 美元,则从净利润中减去这笔款项,因为你记录了收入但尚未收到现金。

第 4 步:添加投资活动 列出所有购买或出售长期资产和投资的现金流。

第 5 步:添加融资活动 记录所有来自债务、股权和股息交易的现金流。

第 6 步:计算现金净变化额 将所有三个部分的净现金加起来。 这应该等于期初和期末之间你的现金余额的变化。

直接法

直接法在概念上更直接,但需要更详细的记录。 你只需列出所有现金收入和支出:

现金收入:

  • 从客户处收取的款项
  • 收到的利息
  • 其他经营现金收入

现金支出:

  • 支付给供应商的款项
  • 支付给员工的款项
  • 支付的利息
  • 支付的所得税
  • 其他经营现金支出

从总收入中减去总支出,以获得来自经营活动的净现金,然后如上所述添加投资和融资部分。

真实案例:一家小型面包店

假设你拥有一家社区面包店。 以下是一个简单的月度现金流量表的示例:

经营活动:

  • 净利润:4,000 美元
  • 加:折旧:500 美元
  • 应收账款增加:-1,000 美元(客户赊购)
  • 库存减少:800 美元(用完的物资)
  • 应付账款增加:600 美元(延迟支付一些供应商款项)
  • 来自经营活动的净现金:4,900 美元

投资活动:

  • 购买新烤箱:-3,000 美元
  • 来自投资活动的净现金:-3,000 美元

融资活动:

  • 面包店贷款本金支付:-500 美元
  • 来自融资活动的净现金:-500 美元

现金净增加额:1,400 美元

如果你月初在银行有 5,000 美元,那么月底你将有 6,400 美元。

使用现金流量表的最佳实践

1. 定期审核

不要仅仅为了你的会计师每年创建一次现金流量表。 至少每月审核一次,如果你的业务利润微薄或快速增长,则每周审核一次。 你审核的频率越高,你就能越快发现并解决问题。

2. 创建现金流预测

使用历史数据来预测未来的现金流。 这有助于你预测季节性变化,计划重大支出,并避免现金短缺。 大多数企业都会创建 12 个月的滚动预测,并每月更新一次。

3. 关注关键指标

特别注意:

  • 经营现金流:应始终为正数
  • 自由现金流:经营现金流减去资本支出
  • 现金转换周期:将库存投资转化为现金所需的时间

4. 比较期间

查看月度环比和年度同比趋势。 你的经营现金流是否在增长? 你是否越来越依赖融资? 这些趋势揭示了你的业务轨迹。

5. 与其他报表核对

你的现金流量表应与你的资产负债表和损益表讲述一个一致的故事。 你的现金流量表上的现金变化应与你资产负债表上的现金账户变化相匹配。

要避免的常见错误

将利润与现金流混淆: 仅仅因为你盈利并不意味着你有现金。 今天 60 天付款期的 10,000 美元销售额有助于你的损益表,但两个月内对你的现金流没有帮助。

忽略经营部分: 一些企业主只关注底线(现金的总变化),而不分析来源。 你希望从经营活动中获得正现金流,而不仅仅是从承担更多债务中获得。

忘记非现金交易: 折旧不使用现金,但它会减少你的净利润。 使用间接法时,请确保将其加回。

不规划季节性变化: 许多企业都有季节性现金流模式。 在充足的月份里规划好贫乏的月份。

混淆本金和利息: 利息支出是经营活动; 贷款本金支付是融资活动。 将它们分开。

下载你的免费现金流量表模板

为了帮助你开始跟踪你企业的现金流,我们创建了一个免费的、易于使用的 Excel 模板,其中包括:

  • 预先格式化的经营、投资和融资活动部分
  • 自动计算
  • 月度和年度视图
  • 针对你的特定业务的可自定义行项目
  • 用于向贷款人或投资者进行演示的专业格式

该模板使用间接法,该方法适用于大多数小型企业。 只需输入你的财务数据,模板就会自动计算你的现金流。

采取行动:你的下一步

理解和监控现金流不仅仅是为了生存——更是为了做出推动增长的明智决策。 以下是如何将这些知识付诸实践:

  1. 立即开始跟踪: 不要等到下个月或下个季度。 下载模板并在本周创建你的第一个现金流量表。

  2. 设置审核时间表: 在你的日历上安排时间,至少每月审核一次现金流。

  3. 建立现金缓冲: 目标是保持 3-6 个月的运营费用现金储备。

  4. 收紧收款: 如果应收账款正在消耗现金,请实施更严格的付款条件或后续程序。

  5. 明智地管理库存: 过多的库存会占用现金。 尽可能使用准时制订购。

  6. 协商付款条件: 你可以在不损害供应商关系的情况下延长应付账款吗? 你可以激励客户更快地付款吗?

底线

现金流管理并不吸引人,但至关重要。 你的现金流量表是你拥有的最强大的工具之一,可以了解你企业的财务健康状况并做出明智的决策。 通过跟踪你的资金来源和去向,你可以避免现金危机、计划增长并建立更具弹性的企业。

记住:收入是虚荣,利润是理智,但现金为王。 今天就开始跟踪你的现金吧。


对创建或解释你的现金流量表有疑问吗? 在下面留下评论,我们将帮助你找到答案。

会计循环,Beancount 风格

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

财务报表并非凭空出现。它们是称为 会计循环 的结构化、可重复过程的最终产物。虽然原则是通用的,但你使用的工具可以极大改变体验。本指南将以 Beancount——这款强大的纯文本会计工具——为中心,带你走完整个会计循环。

我们将看到 Beancount 的文本优先方法如何消除繁琐步骤、哪些环节应当自动化,以及哪些报告能为你的财务健康提供最清晰的视图。 🧑‍💻

2025-08-13-the-accounting-cycle-beancount-style


TL;DR: Beancount 工作流

  • 捕获 & 记账:.beancount 文本文件中以干净的双重分录记录每笔交易。
  • 验证 & 对账: 使用 balance 断言确认账本与银行对账单匹配,并运行 bean-check 捕获错误。
  • 审查: 生成未调整试算表进行快速检查。
  • 调整: 为应计、递延、折旧及其他期末项目做分录。
  • 复审: 检查调整后的试算表确保一切正确。
  • 发布 & 结账: 生成损益表、资产负债表和现金流量表。Beancount 中的结账是可选的,因为报告具备日期感知能力。

此流程可视化如下:


步骤 1:捕获并记录交易

这是基础步骤。每个财务事件——销售、采购、银行费用——都必须记录。在 Beancount 中,你通过在一个简单的文本文件(通常命名为 main.beancount,或按年份拆分为多个文件)中创建交易来完成此操作。

每笔交易必须遵循双重记账规则,即所有分录的合计必须为零。Beancount 会为你强制执行此规则。

2025-08-10 * "Walmart" "Purchase of office supplies"
Expenses:Office:Supplies 45.67 USD
Assets:Bank:Checking -45.67 USD
  • 技巧: 使用 #project-phoenix#client-acme 等标签为数据添加维度。这样在后期查询和报告时会极其灵活。

对账卫生 ✅

确保准确性的最强大功能是 balance 断言。在账单周期结束时(例如月末),声明账户的 应有 余额。

2025-08-31 balance Assets:Bank:Checking  12345.67 USD

如果截至该日期影响 Assets:Bank:Checking 的所有交易合计不等于 12345.67 USD,Beancount 将抛出错误。这个简单指令让你的账本成为自审文件。

对于回填历史数据,pad 指令可以自动创建平衡交易,使你的期初余额匹配首个断言。


步骤 2: “记入账本” (免费赠送!)

在传统会计系统中,你先在 “日记账” 中写分录,然后在单独的 “过账” 步骤中将这些数值复制到 “总账”。

使用 Beancount,你的 .beancount 文件即是日记账也是总账。 当你写入并保存交易时,已经完成了过账。没有单独的步骤。这种直接性是纯文本会计的核心优势——所见即所得。


步骤 3:准备未调整试算表

在进行调整之前,需要快速进行 “这是否相加?” 检查。试算表 是列出每个账户及其总余额的简易报告。所有借方余额的总计必须等于所有贷方余额的总计。

你可以使用简单查询生成它:

bean-query main.beancount \
"SELECT account, sum(position) GROUP BY 1 ORDER BY 1"

或者,使用更直观的方式,在 Fava(Beancount 的网页界面)中打开账本并导航至 “Trial Balance” 报告。留意异常——资产账户出现贷方余额,或费用账户出现奇怪数值。


步骤 4:记调整分录

调整分录对基于 权责发生制 的准确报告至关重要。它们确保收入在赚取时确认,费用在发生时确认,而不论现金何时流动。

常见调整包括:

  • 应计: 记录已赚但未开票的收入,或已发生但未付款的费用。
  • 递延: 处理预付款。如果客户提前为一年服务付款,你将其记为负债 (Liabilities:UnearnedRevenue) 并在每月确认 1/12 的收入。
  • 非现金项目: 记录资产折旧等。
  • 更正: 修正错误或补记银行流水中遗漏的项目,如小额利息收入。

示例:应计收入

你在 8 月 31 日完成项目,但发票要到 9 月才寄出。为在正确期间(8 月)确认收入,做如下调整分录:

2025-08-31 * "Accrue revenue for client project #1042"
Assets:AccountsReceivable 3000.00 USD
Income:Consulting -3000.00 USD

示例:记录折旧

公司对资产有折旧计划。期末时记入费用:

2025-12-31 * "Annual depreciation on computer equipment"
Expenses:Depreciation 4800.00 USD
Assets:Fixed:AccumulatedDepreciation -4800.00 USD

步骤 5:运行调整后试算表并验证

加入调整分录后,再次运行试算表。这就是 调整后试算表,它提供了用于编制财务报表的最终数字。

此时也是运行 Beancount 内置检查的最佳时机:

bean-check main.beancount

该命令会验证所有语法、平衡规则和断言。若无任何输出,说明账本在机械层面上是健全的。


步骤 6:发布财务报表 📊

这就是回报。使用调整后试算表的数字,你可以生成关键财务报告。Fava 是最简便的方式,它提供交互式、可下钻的报告。

  • 损益表(Profit & Loss): 展示一定期间的收入与费用,得出净利润或净亏损。
  • 资产负债表: 在特定日期展示拥有的资产、负债以及净资产(权益)。
  • 现金流量表: 通过展示资金来源和去向,将期初现金与期末现金对账。

如需自定义报告,可使用 Beancount 查询语言(BQL)。以下是月度损益表查询示例:

-- 2025 年 8 月的损益表
SELECT account, sum(position)
WHERE account '^(Income|Expenses)'
AND date >= 2025-08-01 AND date <= 2025-08-31
GROUP BY account ORDER BY account;

步骤 7:结账(可选)

在传统会计中,“结账”过程涉及创建分录将所有临时账户(收入和费用)清零,并将净利润转入名为 留存收益 的权益账户。这正式为下一年重置临时账户。

在 Beancount 中,这一步通常不必进行。 Fava 的报告具备日期感知能力;如果你请求 2025 年的损益表,它只会使用 2025 年的数据。余额不会“溢出”。大多数用户直接保留现有余额。

然而,如果出于合规或股东报告需要进行正式结账,可使用简单的年终交易将收入与费用总额转入 Equity:Retained-Earnings


实用的月度结账检查清单

以下是使用 Beancount 每月结账的可重复检查清单。

  • 捕获: 导入所有银行和信用卡交易。手动录入现金费用或其他渠道项目。
  • 对账: 为所有银行账户、信用卡和贷款账户添加 balance 断言,使其与对账单匹配。
  • 审查: 在 Fava 中查看未调整试算表。调查任何异常或意外余额。检查未付款发票 (Assets:AccountsReceivable) 或未付款账单 (Liabilities:AccountsPayable)。
  • 调整: 记入应计收入/费用、递延收入以及必要的更正分录。
  • 验证: 运行 bean-check。审阅最终的调整后试算表。
  • 发布: 生成损益表和资产负债表。发送给利益相关者或保存备案。
  • 收尾: 如业务需要,可执行结账分录。归档该期间的 .beancount 文件副本。

为什么 Beancount 在会计循环中大放异彩

  • 透明与可审计性: 你的账本是文本文件。可使用 git 对财务历史进行版本控制,使用 diff 审阅变更,并与会计师以清晰、无歧义的格式协作。
  • 完全掌控: 你自行定义科目表,不受软件供应商结构限制。你的数据永远属于你,采用开放格式保存。
  • 无与伦比的强大功能: SQL 类查询(BQL)结合功能丰富的网页界面(Fava),让你对财务数据进行前所未有的切片、切块和洞察。

快速上手的代码片段

简易科目表:

option "title" "My Personal Ledger"
option "operating_currency" "USD"

;; --- Accounts ---
1970-01-01 open Assets:Bank:Checking
1970-01-01 open Assets:AccountsReceivable
1970-01-01 open Liabilities:CreditCard
1970-01-01 open Liabilities:UnearnedRevenue
1970-01-01 open Equity:Owner:Capital
1970-01-01 open Equity:Retained-Earnings
1970-01-01 open Income:Consulting
1970-01-01 open Expenses:Office:Supplies
1970-01-01 open Expenses:Software
1970-01-01 open Expenses:Depreciation

实用 BQL 查询:

-- 查找所有有未清余额的客户
SELECT payee, sum(position)
WHERE account = 'Assets:AccountsReceivable'
GROUP BY payee
HAVING sum(position) > 0
ORDER BY sum(position) DESC;

通过将永恒的会计循环映射到 Beancount 的现代文本化工具,你获得了一个坚固、透明且经久不衰的系统。祝你记账愉快!