跳到主要内容

82 篇博文 含有标签「beancount」

查看所有标签

2025 年最佳商业信用额度

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

如果你需要灵活的营运资金,可以随时提取、偿还并再次使用,那么商业信用额度(LOC)胜过一次性多次的定期贷款。以下是按使用场景划分的今年最强选项,附带快速成本比较方法以及记录提取、利息和费用的简易 Beancount 配方。


2025-08-27-最佳商业信用额度

TL;DR — 场景最佳推荐

  • 快速、灵活的金融科技额度: Bluevine — 最高 $250k,支持每周或每月还款,资金通常在 24 小时内到账,利率宣传为 “最低 7.8%(单利)”。
  • 带费用的多期限提取: American Express Business Blueprint® Line of Credit — 额度 2k2k–250k;可选择 1–3 个月一次性还款贷款或 6–24 个月分期贷款,收取固定贷款费用(非 APR)。
  • 基于 Prime 的银行额度,定价透明: Wells Fargo BusinessLine® / Prime Line — BusinessLine:Prime + 1.75% 至 +9.75%;Prime Line:Prime + 0.50%(下限 5%);典型额度 10k10k–150k。
  • 关系定价并提供“升级”路径: Bank of America — 无担保 Business Advantage 额度(关系折扣 0.25–0.75%);或现金担保额度,存款决定额度(起始 $1,000),有助于建立商业信用。
  • 分支机构 + 全国网络: Chase Business Line of Credit — 在线最高 $250k,5 年循环期后 5 年偿还期(48 州可用)。
  • **最高 250k,年费政策明确:U.S.BankCashFlowManager—额度至250k,年费政策明确:** **U.S. Bank Cash Flow Manager** — 额度至 250k;无担保选项至 100k;额度>100k;额度 > 50k 无年费(否则 $150)。
  • 新创企业需要速度(了解成本): Headway Capital5k5k–100k,计算器显示起始月费率 3.3% + 2% 提取费。
  • 快速批准但通常成本高: OnDeck LOC — 最高 $200k;公司报告的平均 APR 为 56.6%(2025 上半年)。
  • 更大、低费率、受监管的额度(符合条件): SBA 信用额度 — 传统 CAPLines 项目以及新推出的 7(a) Working Capital Pilot(WCP)。WCP 允许放贷机构发行最高 $5M 的受监管循环额度并提供 SBA 担保。

2025 年有什么变化或重要事项? 📈

两大趋势正在塑造今年的商业信用格局:

  1. Prime 低于 2023 年高点。 《华尔街日报》公布的 Prime Rate 为 7.50%(截至 2025 年 9 月 2 日),上次变动为 2024 年 12 月 19 日。该基准利率直接影响大多数浮动利率银行信用额度的定价(通常为 “Prime + 边际”)。较低且稳定的 Prime Rate 为借款人带来更可预测的成本。
  2. SBA 推出/扩展受监管的营运资金额度。 7(a) Working Capital Pilot(WCP)项目自 2024 年 8 月 1 日生效,持续扩容。它使放贷机构能够发行基于资产或交易的受监管 LOC,对需要库存、应收账款或特定合同融资的企业帮助巨大。

快速概览:实际可获的热门信用额度

ProviderMax line sizeHow pricing worksNotable terms/feesBest for
Bluevine$250,000单利 “最低 7.8%”;每周或每月还款资金通常在 24 小时内到账快速、灵活的在线 LOC,提取方式简单
AmEx Business Blueprint®2,0002,000–250,000贷款费用取代利息;可选 1–3 个月一次性还款或 6–24 个月分期按期限查看公布的费用区间;可即时存入 AmEx Business Checking费用可预见;每笔提取可自行选择短期或长期还款
Wells Fargo BusinessLine®10,00010,000–150,000浮动 Prime + 1.75% 至 +9.75%无担保循环额度基于 Prime 的银行额度,边际透明
Wells Fargo Prime LineVariesPrime + 0.50%(下限 5%)通常针对信用更强的客户若符合条件,可享受更低边际
Chase Business LOC在线最高 $250,000浮动(未公开)5 年循环后 5 年偿还;阿拉斯加/夏威夷除外传统银行 LOC,循环窗口长
U.S. Bank Cash Flow Manager最高 $250,000浮动;有担保与无担保选项无担保最高 100k;额度>100k;额度 > 50k 免年费(否则 $150)费用政策明确,分支网络广
PNC Unsecured LOC20,00020,000–100,000WSJ Prime + 边际(浮动)年费 $175小额额度,适合关系银行
Headway Capital5,0005,000–100,000起始月费率 3.3% + 2% 提取费(按州)每周或每月年轻企业需要速度(注意成本)
OnDeck LOC最高 $200,000平均 APR 56.6%(2025 上半年)快速批准;常见每周付款短期现金缺口,成本偏高
SBA CAPLines & 7(a) WCP最高 $5,000,000SBA 通过放贷机构设定上限利率;受监管额度WCP 设施最长 12 个月,可续;CAPLines 最长 10 年大额、结构化的营运资金需求,需提供抵押

如何挑选合适的 LOC(7 条快速检查) ✅

  1. 基准利率 & 边际: 若是银行额度标注 “Prime ± X%”,请查询今日 Prime Rate(7.50%),再加上你获得的边际,即为当前的浮动年化百分比率(APR)。
  2. 费用制 vs. 利息制: 部分金融科技(如 AmEx Blueprint)对每笔提取收取固定 “贷款费用”,而非利息。比较时请将该费用折算为等效 APR,再与利息制报价对比。
  3. 年费/提取费: 这些费用会累加到总成本,尤其在使用频率低时更明显。U.S. Bank 对额度 > 50k免除50k 免除 150 年费,PNC 则收取 $175 年费。
  4. 还款频率: 每周付款(线上放贷常见)有助于平滑现金流,但需更频繁管理;每月付款则简化记账。Bluevine 同时提供两种选项。
  5. 放款速度: 若急需现金,速度至关重要。Bluevine 常在 24 小时内放款,American Express 还能将提取金额即时存入 AmEx Business Checking。
  6. 资格 & 升级路径: 若暂时无法获得无担保额度,可先使用 Bank of America 的现金担保额度(起始 $1,000),帮助建立商业信用,后续再升级为无担保额度。
  7. 考虑 SBA 规模或结构化需求: 对于与库存、应收账款或合同挂钩的较大需求,SBA 的 7(a) WCP 或 CAPLines 项目可提供更大、受监管的额度,利率受监管,但需接受更深入的尽职调查。

快速成本比较小技巧 🧮

比较报价往往不易。下面提供一种简化思路:

  • 基于 Prime 的示例: 若银行报价为 Prime + 2.75%,则今日起始 APR 为 10.25%(7.50% + 2.75%)。记住,若 Prime Rate 变动,该 APR 也会随之上下浮动。
  • 费用制示例(AmEx Blueprint): 12 个月的提取若收取 6–18% 的总贷款费用,看似不高。但要与利息制对比,需要将该固定费用折算为在递减余额上的等效 APR,才能实现“苹果对苹果”的比较。

Beancount:如何记录信用额度

对于使用纯文本记账工具 Beancount 的用户,跟踪信用额度非常直接。LOC 属于负债;提取会增加负债并增加现金,利息和费用计入费用科目。请将下列账户名称替换为你自己的账本对应科目。

1) 从 LOC 提取 $25,000 到支票账户

2025-03-15 * "LOC draw"
Assets:Bank:Checking 25,000.00 USD
Liabilities:LOC:Bluevine -25,000.00 USD

2) 支付 2,300(其中2,300(其中 300 为利息,$2,000 为本金)

2025-04-15 * "LOC payment (principal + interest)"
Liabilities:LOC:Bluevine 2,000.00 USD
Expenses:Interest:LOC 300.00 USD
Assets:Bank:Checking -2,300.00 USD

3) 记录 $150 的年费(从银行账户扣款)

2025-01-10 * "Annual LOC fee"
Expenses:BankFees:LOC 150.00 USD
Assets:Bank:Checking -150.00 USD

替代方案: 若年费直接计入额度余额而非从银行账户扣除,则交易应为:

2025-01-10 * "Annual LOC fee added to balance"
Expenses:BankFees:LOC 150.00 USD
Liabilities:LOC:Bluevine -150.00 USD

何时更适合选择 SBA 背书的额度

SBA 担保的额度并非适合所有企业,但在以下情况下极具价值:

  • 需要的 信用额度 超出大多数金融科技或银行无担保产品的上限。
  • 营运资金需求与 抵押品(如应收账款、库存或已签合同)挂钩。
  • 能够满足 监控要求,如提交借款基准证书和定期财务报告。

如果你的业务符合上述条件,请深入了解 SBA CAPLines 项目以及 7(a) Working Capital Pilot(WCP)。这些项目可提供最高 $5M 的额度,且标准 CAPLines 的期限最长可达 10 年。


申请清单 📝

准备好材料。大多数放贷机构会要求以下信息:

  • 营业年限、收入与信用评分: 银行通常要求 1–2 年以上的营业历史和较强信用;而多数线上放贷机构标准更宽松,但会为更高风险收取更高费用。
  • 财务报表: 最近的银行对账单、企业税表,必要时提供应收账款账龄或库存报告。
  • 个人担保: 这是大多数商业信用额度的标准要求,意味着若企业无法偿付,个人需承担还款责任。

关键来源


结语

信用额度的核心在于控制:在需要时提取,在不需要时保持灵活。2025 年,符合条件的企业仍可受益于基于 Prime 的银行额度,其透明的边际定价颇具吸引力;而金融科技额度则以更高成本换取惊人的速度与灵活性。对于更大、更复杂的需求,SBA 背书的额度提供结构化的融资方案。关键在于:跑通数字(始终将费用折算为等效 APR),了解费用结构,并选择能保持企业财务健康且让 Beancount 账本保持整洁的还款计划。

在 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年)的笔记本电脑,每月折旧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个月的月折旧为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,0003,000 - 2,500 = $500
  • 出售收入:$800
  • 出售盈余800800 - 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(亏损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 中实现对固定资产的精确折旧管理,并利用自动化工具提升记账效率。祝你财务管理顺利!

我能负担得起雇佣员工吗?

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

Beancount‑first 指南,帮助你建模真实成本、测试现金流,并将其写入账本。

雇佣第一位员工是一个巨大的步骤。这是对未来的赌注,但也是一项远超 offer letter 上数字的重大财务承诺。太多创始人和小企业主只盯着工资本身,结果被“全额成本”所惊讶。

2025-08-22-can-i-afford-to-hire-an-employee

本指南将手把手教你如何准确建模该成本、检验自己是否真的负担得起,并将模型直接写入 Beancount 账本,以在发布招聘信息之前降低决策风险。

TL;DR

  • 不要只看工资。 在美国,真实成本还包括雇主工资税(Social Security、Medicare、FUTA/SUTA)、福利、保险、工具和招聘费用。私营行业中,福利平均占总薪酬的约 30%,这意味着全额成本约为工资的 1.42 倍。不同公司和地区差异很大。
  • 快速经验法则: 全额成本 ≈ 工资 + 雇主工资税 + 福利 + 保险 + 工具/软件 + 招聘/上岗费用
  • 使用 Beancount 降低风险。 在账本中使用 Fava 的预算功能建模月度工资预算,然后运行预测,检查跑道、利润率以及该岗位的回报期,再决定是否招聘。

1) 什么因素驱动“全额成本”?

把员工的工资想象成冰山一角。可见部分很直接,但隐藏的成本如果没有准备好,可能会让现金流沉没。下面是具体拆解。

  • 基本工资(Wages/Salary): 这部分最简单——约定的年薪或时薪。它是最大的一项,但只是起点。

  • 雇主工资税(美国): 你不仅要付工资,还要为工资缴税。作为雇主,你需要负责:

    • 社会保障税(OASDI): 对员工工资的 6.2% 征收,最高至年度上限。2025 年上限为 $176,100
    • 医疗保险税(HI):全部 员工工资征收 1.45%,没有上限。
    • 失业税(FUTA & SUTA): 联邦失业税(FUTA)对前 $7,000 征收 6.0%。但大多数雇主可抵扣州失业税(SUTA)抵免,实际有效率约为 0.6%。SUTA 税率因州和公司历史差异显著。
  • 福利: 通常是第二大成本。包括健康保险、退休金(如 401(k) 匹配)和带薪休假。美国私营行业中,福利约占总薪酬的 30%。举例来说,2024 年单人健康保险的平均年保费为 $8,951,家庭保费为 $25,572。虽然员工会有自付部分,但雇主通常承担大头。

  • 工伤保险(Workers’ Compensation): 几乎所有州都要求购买,覆盖员工因工受伤的医疗费用和工资损失。费率取决于所在州、行业以及岗位风险(办公室职员比屋顶工便宜得多)。切勿将此项预算为零。

  • 工具与间接费用: 新员工需要合适的设备,包括笔记本、软件许可证(SaaS 账户)、如果有办公室的话还需要桌椅,以及工资处理软件本身。小企业常见的工资服务费用约为 $49-$50/月 基础费 + $6-$10/每位员工

  • 招聘与上岗成本: 别忘了一次性费用,包括职位发布费用、面试所花的时间,以及最关键的上岗期。新员工可能需要 1–3 个月 才能达到全生产力,在此期间你仍需支付全额成本但产出有限。


2) 具体案例

假设你在美国雇佣一名员工,年薪 $80,000,并提供单人健康保险,雇主承担全国平均 84% 的保费。

年度成本拆解如下:

  • 雇主工资税:

    • 社会保障税(OASDI):80,000×6.280,000 × 6.2% = \4,960
    • 医疗保险税:80,000×1.4580,000 × 1.45% = \1,160
    • FUTA(有效税率):7,000×0.67,000 × 0.6% = \42
    • 雇主工资税合计:$6,162
  • 健康保险(雇主承担部分):

    • 使用 2024 年单人平均保费 $8,951,乘以 84%:8,951 × 0.84 = **\7,519/年(约 $627/月)**。
  • 工资软件与工具:

    • 工资软件:(50 基础费 + \6/员工) × 12 个月 = $672/年
    • 设备/软件(估算):$2,000/年

合计如下:

项目年度成本
工资$80,000
雇主工资税$6,162
健康保险$7,519
工资软件$672
设备 & 笔记本$2,000
年度总成本$96,353
月度成本$8,029

在此情境下,全额成本为 $96,353,约为基本工资的 1.20×。这属于福利相对精简的方案。如果再加入 401(k) 匹配、更慷慨的带薪休假或家庭健康保险,成本很容易逼近行业平均的 1.42×,即约 $113,800

要点: 你的真实成本大概率落在 1.20×(精简)1.40×+(丰厚) 之间。自行计算以确认。


3) “我能负担吗?”——三项实用测试

已知月度成本约 $8,029,如何判断自己能否支撑?

  1. 毛利覆盖率: 该岗位能否自负盈亏?如果你的业务毛利率为 65%,新员工至少需要产生 $12,352 的新增月收入($8,029 ÷ 0.65)才能收支平衡。若岗位旨在节约成本,则需等价的、可持续的费用削减。

  2. 回报期与跑道: 该岗位何时开始产生正回报?目标是 6–12 个月的回报期,越短越安全。关键是,在上岗期结束后,你至少要有 3–6 个月的全额成本现金储备 作为缓冲。

  3. 上岗现实: 新员工不可能第一天就全效。预算 1–3 个月的培训期 与低产出。如果现金缓冲不足以同时覆盖工资和产出下降,你还未准备好。可以先雇佣 合同工或兼职 来验证需求。

美国特有提示: 若这是你在新州的首位雇员,请再次确认合规要求。FUTA 抵免、SUTA 税率以及工伤保险法规各州差异大,错误可能导致罚款。


4) 在 Beancount 中落地模型

最直接的方式是把雇佣成本直接写进账本。下面演示如何在 Beancount 中实现。

A. 用 Fava 设置工资预算

首先,用 Fava 的 custom "budget" 指令把预计的月度成本写入账本,这样可以在收入报表中直观看到新费用与收入的对比。

; 为一年全额成本约 \$96k 的员工设定预算
2025-09-01 custom "budget" Expenses:Payroll:Wages "monthly" 6666.67 USD
2025-09-01 custom "budget" Expenses:Payroll:Taxes:Employer "monthly" 513.50 USD
2025-09-01 custom "budget" Expenses:Benefits:HealthInsurance "monthly" 626.57 USD
2025-09-01 custom "budget" Expenses:Tools:PayrollSoftware "monthly" 55.00 USD

添加后,Fava 的损益表和变动报告会自动显示你相对于新费用的实际表现。

B. 记录实际工资发放

实际发放工资时,有两种常见记账方式。

  • 明细(含负债): 最精确的做法。将雇主税费与员工代扣税分开记,后者作为负债暂时保留,待向政府缴纳时再冲销。
2025-09-30 * "Payroll - Alice (September)" ; 示例代扣
Expenses:Payroll:Wages 6666.67 USD
; 雇主侧税费(直接成本)
Expenses:Payroll:Taxes:Employer:SocialSecurity 413.33 USD
Expenses:Payroll:Taxes:Employer:Medicare 96.67 USD
Expenses:Payroll:Taxes:Employer:FUTA 3.50 USD
; 员工代扣(负债)
Liabilities:Payroll:Withholding:Federal -1000.00 USD
Liabilities:Payroll:Withholding:State -300.00 USD
Liabilities:Payroll:FICA:Employee:SocialSecurity -413.33 USD
Liabilities:Payroll:FICA:Employee:Medicare -96.67 USD
; 实际打款到银行(净工资)
Assets:Bank:Checking -4853.54 USD

随后,当你的工资服务商代缴税款时,再记一笔冲销负债的交易(如 Liabilities:Payroll:Withholding:FederalAssets:Bank:Checking)。

  • 简化(一次性合计): 若你的工资服务商一次性从账户扣除全部费用且不需要追踪负债,可使用更简洁的记法。
2025-09-30 * "Gusto payroll run - Alice"
Expenses:Payroll:Wages 6666.67 USD
Expenses:Payroll:Taxes:Employer 513.50 USD
Expenses:Payroll:Fees:Provider 55.00 USD
Assets:Bank:Checking -7235.17 USD

C. 预测跑道

在会计科目表中将 Expenses:Payroll 设为顶层科目,并在交易上使用标签如 employee: "Alice",即可在 Fava 中按人过滤报告。预算设定好后,使用 Fava 的实际 vs 预算叠加图表,若持续超预算,则需要重新评估可负担性。


5) 雇佣是否合适(快速检查表)

可能合适的情况 ✅

  • 你因为 产能不足 而被迫 拒单 或推迟产品发布。
  • 你能明确设定 收入目标或成本节约指标,并将其归属到该岗位。
  • 你的现金 跑道足以覆盖 1–3 个月的上岗期,加上额外的 3–6 个月全额成本

可能需要等待的情况 🛑

  • 业务需求 波动大、不可预测。先雇 合同工或兼职 来应对弹性工作量。
  • 同样的目标可以通过 购买更好的工具或实现自动化,成本仅为雇员的一小部分。
  • 该岗位 无法关联到可量化的业务结果。仅凭 “我感觉很忙” 不能成为商业案例。

参考数据(美国,2025)

  • 社会保障工资基数: $176,100
  • 雇主税率: 社会保障 6.2%(上限基数内),医疗保险 1.45%(无上限)
  • FUTA 税率: 前 $7,000 征收 6.0%,但在抵免后实际约 0.6%
  • 福利占薪酬比例: 私营行业平均 29.7%,对应 1.42× 的全额成本倍率
  • 2024 年健康保险平均保费: 单人 $8,951 / 家庭 $25,572
  • 工伤保险: 几乎所有州均要求,费率和规则各不相同
  • 工资软件费用:$49-$50 基础费 + $6-$10/每位员工·月

合规提示

本指南侧重于财务成本建模。实际雇佣员工还涉及法律和行政合规。你需要:

  • 在联邦和州层面设立工资税账户
  • 核实雇佣资格(I‑9 表格)
  • 让员工填写税表(W‑4)
  • 遵守各州的新雇员报告和地方税务规定

请务必查阅 IRS、SSA 以及所在州劳动部门的官方指南,或咨询专业顾问。


结语

雇佣是一项投资,最好的投资者会做好功课。在撰写职位描述或在 LinkedIn 发布之前,先把这笔费用写进你的 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 辅助细化分类。

会计循环,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 的现代文本化工具,你获得了一个坚固、透明且经久不衰的系统。祝你记账愉快!