跳到主要内容

85 篇博文 含有标签「beancount」

查看所有标签

LLM 辅助纯文本会计的用户体验与反馈

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

纯文本会计 (PTA) 长期以来一直是精通技术的财务爱好者的秘密武器。使用简单的文本文件和 BeancountLedger 等工具,你可以对财务数据获得无与伦比的控制、透明度和所有权。但坦率地说,它一直以来都以操作繁琐而闻名。学习曲线陡峭,数据录入乏味,一个逗号放错位置就可能让你陷入令人沮丧的调试困境。

但是,如果你可以在不费吹灰之力的情况下拥有 PTA 的强大功能会怎样?大型语言模型 (LLM) 应运而生。人工智能开始渗透到 PTA 工作流程的每个角落,承诺将自动化那些枯燥乏味的工作,并使每个人都能使用这个强大的系统。基于对用户反馈的深入研究,让我们探讨人工智能如何彻底改变纯文本会计,以及它是否达到了预期效果。


旧方法:PTA 的手动操作

多年来,PTA 体验一直受到一些常见障碍的困扰:

  • 令人望而生畏的壁垒: 新手常常感到不知所措。正如一位用户所承认的,“多年来我一直望而却步……但它似乎很有用,最终会有回报。” 在学习复式记账法和使用命令行工具之间,入门非常困难。
  • “编辑-编译-调试”循环: 与 GUI 软件会在你出错时立即发出警告不同,PTA 错误通常隐藏起来,直到你运行检查为止。这种缓慢的反馈循环感觉就像调试代码,将简单的数据录入任务变成了一项繁琐的工作。
  • 导入噩梦: 将数据导入系统是一个主要瓶颈。它通常涉及从多家银行手动下载 CSV 文件,清理它们,并运行自定义脚本——这是一个脆弱且耗时的过程。一位用户花了 “大约 4 个小时来追赶过去约 8 个月” 的交易导入,即使使用了一些自动化工具也是如此。

人工智能助手登场:LLM 如何大幅减少工作量

这就是人工智能正在改变游戏规则的地方,它充当强大的助手来处理 PTA 中最繁琐的部分。

自动化繁琐的工作:分类和导入

这是人工智能唾手可得的成果。你无需编写复杂的规则来弄清楚“星巴克 #12345”是什么,只需询问 LLM 即可。

用户报告说,将交易描述提供给 GPT-4 等模型并获得完美的分类(例如 Expenses:Food:Coffee)取得了巨大的成功。像 Beanborg 这样的工具甚至集成了 ChatGPT,在其自身规则失效时智能地建议类别。

更好的是,LLM 正在成为实时数据导入器。现在,你无需编写 Python 脚本来解析银行凌乱的 CSV 文件,只需将数据粘贴到聊天窗口中,然后要求 AI 将其转换为 Beancount 格式即可。它并不总是 100% 完美,但它将数小时的编码变成了几分钟的提示工程。

让 PTA 不再可怕:入门和错误处理

最初令人望而生畏的壁垒?LLM 正在帮助用户克服它。一位新用户描述了使用 GPT-4 作为 “手把手指导的导师” 来引导他们设置他们的第一个账本文件。AI 解释了概念,生成了示例条目,并帮助他们建立了独立操作的信心。

人工智能还提供了 PTA 一直以来缺乏的实时反馈。开发人员正在构建编辑器扩展,使用 LLM 在你键入时检查你的语法,并用熟悉的红色波浪线突出显示不平衡或错误。想象一下,一个 AI 不仅会标记错误,还会解释为什么它是错误的,并建议修复方法。

与你的财务状况聊天

也许最令人兴奋的发展是对话式分析的兴起。现在,你无需编写特定的命令行查询,只需用简单的英语询问你的账本问题即可。

用户正在尝试导出他们的数据并使用 Claude 等工具来询问诸如 “与 4 月份相比,我在 3 月份的杂货支出是多少?” 之类的问题。AI 可以分析数据,发现趋势,甚至提供见解。在商业领域,像 Puzzle.io 这样的公司提供 Slack 机器人,让管理人员实时查询公司财务状况。这种自然语言界面是让财务数据更易于访问的颠覆性创新。


陷阱:不要急于放弃你的思考

虽然可能性令人兴奋,但用户保持谨慎是正确的。始终存在两个主要问题:隐私和信任。

  • 隐私至上: 你的财务历史记录极其敏感。正如一位用户所说,“我担心我正在向某个 API 提供我的财务历史记录。” 对于许多人来说,将数据发送到 OpenAI 等第三方云服务是不可接受的。解决方案是什么?越来越多的用户正在自己的机器上本地运行开源 LLM,确保他们的数据永远不会离开他们的控制。

  • 信任,但要验证: LLM 可能会自信地犯错。它们有时会“虚构”账户名称或犯一些小的数学错误,导致条目不平衡。社区的共识很明确:将 AI 用作助手,而不是自主会计师。始终对你的账本进行最终检查 (bean-check),并让人工参与最终审批。


未来是增强,而不是取代

LLM 辅助正在迅速将纯文本会计从一个小众的、仅限专家使用的系统转变为一个每天都变得更容易访问的强大工具。人工智能非常擅长处理簿记中重复的、令人沮丧的部分——数据录入、分类和解析。

这让人类可以自由地做他们最擅长的事情:审查、解释和做出决策。未来不是让机器人管理你的资金。而是一种伙伴关系,人工智能负责繁重的工作,为你提供干净、准确的数据,以便你真正了解自己的财务状况。

正如一位用户恰当地说的那样,“让机器人去做重复的簿记工作,这样人类就可以专注于理解和决策。” 凭借这种平衡的方法,曾经令人痛苦的纯文本会计世界看起来比以往任何时候都更加光明。

超越穿透:Beancount 用户 S 型公司税务指南(2025 年)

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

你成立 S 型公司是为了保持业务精简和税务效率。 虽然“穿透”的概念听起来很简单,但实际情况涉及工资税、潜在的实体级收费以及各州之间至关重要的差异。

以下是 S 型公司在 2025 年的实际税务运作方式,以及如何在 Beancount 中保持清晰、防审计的记录。

2025-07-26-s-corp-tax-guide-for-beancount-users


哪些项目会被征税(以及在哪里)

S 型公司结构的核心在于其处理利润的方式。它是一个三部分组成的系统:穿透收入、实体级税和工资税。

  • 联邦层面的穿透: S 型公司通常对其普通业务利润不缴纳联邦所得税。 相反,该利润(以及其他税项,如抵免和扣除)通过附表 K-1 流向股东。 股东在其个人纳税申报表上报告此收入,无论他们是否实际从企业中提取现金。 至关重要的是,此 K-1 利润 需缴纳自雇税。
  • 但是……实体级税可能适用: “无公司税”规则并非绝对的。 在特定情况下,S 型公司可能需要直接缴税。 最常见的触发因素是内置收益 (BIG) 税(针对最近的 C 型公司转换)和超额净被动收入税
  • 工资税是真实存在的: 这是对股东-雇员最重要的规则。 如果你在自己的企业工作,你必须在获得任何税收优惠的分配_之前_ 作为 W-2 工资获得合理的报酬。 这些工资与任何其他雇员的工资一样,需缴纳 FICA(社会保障和医疗保险)和预扣所得税。

工资概览(2025 年)工资单

对于任何股东-雇员,你都将运行工资单并提交标准工资税表,包括季度表格 941(用于预扣所得税和 FICA)和年度表格 940(用于联邦失业税或 FUTA)。

2025 年的关键税率如下:

  • 社会保障 (OASDI): 工资基数为 $176,100。 雇员和雇主的税率均为 6.2%,适用于不超过此上限的工资。
  • 医疗保险: 没有工资上限。 雇员和雇主的税率均为 1.45%,适用于所有工资。
  • 附加医疗保险税: 对于雇员一年内超过 $200,000 的工资,将预扣 0.9% 的税。 这部分没有雇主匹配。

你可能会看到的实体级税

虽然不太常见,但你必须了解 S 型公司本身可能需要缴纳的税款。

  • 内置收益 (BIG) 税: 如果你将企业从 C 型公司转换为 S 型公司,则你将面临 5 年的确认期。 如果你在此期间内出售公司在其 C 型公司时期持有的升值资产,则 S 型公司本身将需要对这些收益缴纳公司税率的税款。 这是在表格 1120-S 的附表 D 上计算的。
  • 超额净被动收入税: 如果你的 S 型公司从之前的 C 型公司累积了收益和利润 (AE&P),并且 其被动收入(如租金、特许权使用费和利息)超过其总收入的 25%,则适用此税。
  • 这些税款的季度预估: 如果你预计 BIG 税、被动收入税和某些其他追缴税的总额为 $500 或以上,则 S 型公司必须进行季度预估付款。 2025 年的日历年到期日为 4 月 15 日、6 月 16 日、9 月 15 日和 12 月 15 日

州和地方的陷阱 🗺️

切勿假设联邦规则适用于州或城市层面。 税务处理方式差异很大。

  • 加利福尼亚州: S 型公司每年必须缴纳 $800 的最低特许经营税,外加 1.5% 的净收入税
  • 纽约市: 纽约市不承认 S 型公司选举。 联邦 S 型公司通常需缴纳全额纽约市一般公司税。
  • 可选穿透实体 (PTE) 税: 作为对联邦 $10,000 SALT 扣除上限的变通方法,许多州现在允许 S 型公司选择在实体层面缴纳州所得税。 这些规则复杂且不断变化——在进行 PTE 选举之前,请咨询你的注册会计师

所有者支付的费用

作为股东,你的个人税务情况与 S 型公司的业绩直接相关。

  • 你 1040 表上的 K-1 收入: 你将在你的个人 1040 表上的附表 K-1 上报告穿透给你的收入、损失、扣除额和抵免额。
  • 季度预估税: 由于你的 K-1 收入没有预扣税款,你可能需要使用表格 1040-ES 向 IRS 支付个人季度预估税款,以避免少缴税款的罚款。
  • 合格商业收入 (QBI) 扣除额(第 199A 条): 你的穿透收入可能有资格获得宝贵的合格商业收入 (QBI) 扣除额,最高可达你商业收入的 20%。 在较高的收入水平下,此扣除额可能会受到 S 型公司支付的 W-2 工资金额的限制——这使得你的“合理报酬”数字更加重要。

基本申报和表格

至少,你的年度合规性将包括:

  • 表格 1120-S: S 型公司所得税申报表。
  • 附表 K-1: 针对每个股东。
  • 工资表: 季度 941 表、年度 940 表以及雇员的 W-2/W-3 表。
  • 表格 1099-NEC: 用于向大多数独立承包商支付 $600 或以上的款项。

Beancount:绘制图表,让你永远不会疑惑“钱花到哪里去了?”

清晰的会计科目表对于跟踪这些移动的部分至关重要。

初学者账户

Assets:Bank:Operating
Assets:PrepaidTax:Federal ; 用于 S 型公司级别的预估付款
Expenses:Payroll:Wages
Expenses:Payroll:Employer:SocialSecurity
Expenses:Payroll:Employer:Medicare
Expenses:Payroll:Employer:FUTA
Expenses:Tax:Federal:S-Corp ; 用于 BIG/被动收入税费用
Liabilities:Payroll:Withholding:{Federal,SocialSecurity,Medicare}
Equity:Distributions

交易示例

运行工资单(公司方 + 预扣款)

2025-02-28 * "Payroll - February"
Assets:Bank:Operating -10350.00 USD
Expenses:Payroll:Wages 12500.00 USD
Expenses:Payroll:Employer:SocialSecurity 775.00 USD
Expenses:Payroll:Employer:Medicare 181.25 USD
Liabilities:Payroll:Withholding:Federal -3000.00 USD
Liabilities:Payroll:Withholding:SocialSecurity -775.00 USD
Liabilities:Payroll:Withholding:Medicare -181.25 USD

所有者分配(非工资)

2025-03-10 * "Shareholder distribution"
Assets:Bank:Operating -5000.00 USD
Equity:Distributions 5000.00 USD

公司级预估税(如果适用)

2025-04-15 * "1120-S entity-level estimate (BIG/passive tax)"
Assets:Bank:Operating -1200.00 USD
Assets:PrepaidTax:Federal 1200.00 USD

标记关键申报日期

2026-03-15 note "已电子申报 2025 年 1120-S 表格;已向所有股东提供 K-1 表格。"

健全性检查 (bean-query)

使用查询来确保你的记录是合理的。

年初至今工资与分配的比较(合理薪酬的现实检验)

SELECT account, SUM(position)
WHERE (account ~ "Expenses:Payroll:Wages" OR account ~ "Equity:Distributions")
AND year = 2025
GROUP BY account;

我们是否记录了 K-1 交付?

SELECT date, narration WHERE narration ~ "K-1";

实用技巧(以免 IRS 打电话) ✅

  1. 记录“合理薪酬”。 保留一份简单的备忘录,其中包含你的工作职责、时间分配以及市场薪资数据的链接。 通过正式的 W-2 工资单支付此金额。
  2. 清晰地分开工资和分配。 切勿将它们混淆。 你的 Beancount 账本应使这种区别显而易见。
  3. 注意州规则。 注意最低税(如加州)或 S 型公司不认可(如纽约市)。
  4. 重新审视预估。 如果你的收入在年中发生重大变化,请调整你的个人 1040-ES 和任何 S 型公司级别的预估付款。

本指南提供一般信息,并非税务建议。 每种业务情况都不同。 请始终咨询合格的注册会计师,以获取针对你具体情况的指导。

S-Corp 税务申报截止日期(2025 年):Beancount 用户简明指南

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

为你的 S-corp 报税涉及几个关键的截止日期,你不能错过。密切关注这些日期可以避免昂贵的罚款,并保持你的财务记录整洁。以下是关于要申报什么、何时到期、逾期会发生什么以及如何在你的 Beancount 账本中保持整洁的会计师友好型简短版本。


重要日期(适用于日历年 S-Corp) 🗓️

2025-07-25-s-corp-tax-filing-deadlines-2025

对于大多数按标准日历年运营的 S-corp,年度纳税申报表 1120-S 表格 有两个主要日期需要记住。

  • 申报表到期日: 申报截止日期为 2025 年 3 月 17 日星期一。官方到期日始终是纳税年度结束后第三个月的第 15 天(3 月 15 日),但由于该日期在 2025 年是星期六,因此 IRS 的“下一个工作日”规则将截止日期推迟到星期一。
  • 如果你需要更多时间: 你可以通过在 3 月 17 日原始截止日期或之前提交 7004 表格 来获得 自动 6 个月的延期。这会将你的申报到期日移至 2025 年 9 月 15 日。请记住,这是 申报 的延期,而不是 缴纳 任何应缴税款的延期。

其他申报者的注意事项: 如果你使用会计年度,则你的申报表应在你的纳税年度结束后 第三个月的第 15 天 之前到期。如果你的 S-corp 已解散,则最终申报表通常应在解散日期后第三个月的第 15 天之前到期。


你必须发送给股东的内容

S-corp 的一项核心职责是报告每个股东在公司收入、扣除额和抵免额中的份额。

你必须在 你的 1120-S 表格到期日的同一天 向每个股东提供 K-1 附表。无论你是按原始截止日期还是延期截止日期提交,这都适用。K-1 提供了股东提交个人纳税申报表所需的信息。


你真正关心的罚款

IRS 对未按时申报的行为处以巨额罚款,因此准时申报是值得的。

  • 逾期提交 1120-S: 罚款为 每位股东每月(或部分月份)245 美元,最长可达 12 个月。如果你的 2024 年申报表(于 2025 年提交)逾期 60 天或以上,最低罚款将增加到应缴税款或 510 美元 中的较小者。
  • 逾期/不正确的 K-1: 未能按时提供正确的 K-1 将被处以 每份附表 330 美元 的罚款。如果未能提供是由于故意无视,则罚款可能会加倍,或为应报告金额的 10%,取较大者。
  • 未缴税款: 即使你使用 7004 表格提交了延期申请,任何应缴税款 也会从原始的 3 月截止日期开始 累积利息。虽然大多数 S-corp 不欠联邦所得税,但在特殊情况下,一些 S-corp 可能面临公司层面的税收。

如果你受到处罚,不要立即支付。查看 IRS 的 行政处罚减免 选项,例如首次减免或表明你延迟申报有合理的原因。


公司层面的预估税(边缘情况)

虽然 S-corp 是穿透实体,但它们有时可能需要对内置收益或超额净被动收入等项目缴纳 实体级税。如果你的 S-corp 预计这些税款将超过 500 美元,则你必须进行 季度预估税款缴纳

对于 2025 日历年,这些分期付款的到期日为:

  • 2025 年 4 月 15 日
  • 2025 年 6 月 16 日(6 月 15 日是星期日)
  • 2025 年 9 月 15 日
  • 2025 年 12 月 15 日

付款应通过电子联邦税务支付系统 (EFTPS) 进行。


Beancount 设置:保持申报和付款清晰明了

使用你的账本来创建清晰的税务合规活动审计跟踪。

初始账户

Assets:Bank:Operating
Assets:PrepaidTax:Federal ; 用于延期/预估付款
Expenses:Tax:Federal:S-Corp ; 用于公司层面的应缴税款
Liabilities:Tax:Federal:Payable
Equity:Distributions
Income:Sales

标记申报和 K-1 交付

使用 note 交易为关键合规操作添加时间戳。

2025-03-10 note "已准备 2024 年 1120-S 表格;K-1 已准备好分发。"
2025-03-17 note "已电子申报 2024 年 1120-S 表格;已提供所有股东 K-1。"

记录延期

如果你申请延期但未付款(常见情况):

2025-03-17 note "已提交 7004 表格,将 2024 年 1120-S 延期至 2025-09-15。"

如果你在延期时支付了预估税款(S-corp 很少见):

2025-03-17 * "2024 年 1120-S 延期付款(预估)"
Assets:Bank:Operating -2000 USD
Assets:PrepaidTax:Federal 2000 USD

记录最终税款支付

如果你在申报时最终需要缴纳公司层面的税款:

2025-09-15 * "结算 2024 年 S-corp 应缴税款"
Assets:PrepaidTax:Federal -2000 USD
Expenses:Tax:Federal:S-Corp 2000 USD

有用的 bean-query 检查

使用简单的查询验证你的操作。

  • 确认你已记录 K-1 交付:

    SELECT date, narration WHERE narration ~ "K-1";
  • 查看今年所有联邦税收现金流动:

    SELECT SUM(position) WHERE account ~ "Tax:Federal|PrepaidTax:Federal" AND year = 2025;

快速核对清单 ✅

  • 2025 年 3 月 17 日 记入你的日历,以便提交 1120-S 表格,或在该日期之前提交 7004 表格 以获得延期。
  • 在你提交申报表(原始或延期)的同一天向所有股东 提供 K-1 附表
  • 如果适用,请安排任何公司层面税款的 季度预估付款
  • 认真对待截止日期以避免罚款,但如果出现不可避免的疏忽,请寻求 罚款减免

本指南提供一般信息,不能替代专业的税务建议。请咨询合格的注册会计师以解决你的具体财务状况。

S-Corp “合理薪资”:Beancount 用户实用指南(2025)

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

如果你经营一家 S-corp 并在其中工作,IRS 要求你在获得所有者分红之前领取 W-2 工资。 governing 此整个流程的关键短语是“合理薪酬”。 如果处理不当,可能会导致代价高昂的税务调整和罚款。

以下是“合理”在实践中的含义,以及如何在 Beancount 账本中清晰、合规地跟踪它。

2025-07-24-s-corp-reasonable-salary


IRS 的实际要求

规则很简单:股东-雇员必须在其服务获得非工资分红之前获得合理的报酬。 在领取大量分红的同时支付给自己过低的工资(或根本不支付工资)是一个主要的危险信号。 IRS 可以,而且经常会将这些分红重新归类为工资,并向你追缴工资税和罚款。

这不是一项新的或模糊的规则。 IRS 多年来一直强调这一点,尤其是在其实况报道 FS-2008-25 中,该报道澄清,履行主要服务的公司高级职员应被视为雇员,以缴纳 FICA 税。 在你的年度表格 1120-S 上,高级职员的薪酬在第 7 行(“高级职员薪酬”)中报告,并且说明明确指出,这些金额在合理薪酬范围内被视为工资。

法院一直支持这一点。 在具有里程碑意义的 Watson 诉美国 案中,一位注册会计师只给自己支付了 24,000 美元的工资,同时从他盈利丰厚的公司获得了巨额分红。 法院支持 IRS,将大部分分红重新归类为应缴纳就业税的工资。


如何估算合理薪资(简单、合规)

那么,如何确定“合理”的数字呢? 这样想:在你的市场中,以你的经验,你需要支付多少薪水才能让其他人完成你实际做的工作? IRS 将此视为一个估值问题,并且有几种常识性的方法可以得出合规的数字。

以下是一种务实的工作流程:

  1. **从市场薪酬比较开始:**这是你的基准。 使用 Glassdoor、美国劳工统计局 (BLS) 或招聘人员提供的薪资范围等资源,查找你所在地区类似职位的薪资数据。
  2. **考虑你的角色和时间分配:**大多数小企业主身兼数职。 通过根据你在不同职能上花费的时间来加权你的薪资,从而认识到这一点。 例如,你可能是 60% 的软件工程师和 40% 的产品经理。
  3. **执行支付能力健全性检查:**你公司的财务状况很重要。 亏损的企业可能无法支持最高四分位数的薪资。 但是,在你提供大量服务的同时报告 工资很少是合理的。
  4. **记录所有内容:**保存你的来源、注释和计算结果。 此文档是你在审计中的第一道防线。(下文将对此进行详细介绍。)

快速工作表(示例)

让我们来看一个例子:

  • **市场薪酬:**你发现当地高级工程师的平均工资为 140,000 美元,产品经理的平均工资为 120,000 美元
  • **你的时间分配:**你估计你的时间分配为 60% 的工程和 40% 的产品管理。
  • 加权基本工资:(0.60times(0.60 \\times 140,000) + (0.40 \times 120,000)=120,000) = 84,000 + 48,000=48,000 = 132,000$。
  • **最终决定:**根据你公司目前的利润率,你决定将工资定为 125,000 美元,并计划每年重新审视一次。

作为背景,2025 年的工资税税率为:社会保障税为最高 176,100 美元 工资的 6.2%,医疗保险税为所有工资的 1.45%。 雇员和雇主都支付这些金额。


要避免的常见陷阱

避免以下可能引起 IRS 审查的常见错误:

  • **在获得工资之前领取分红:**如果你在这一年内为你的 S-corp 提供了服务,你必须在领取任何分红 之前 为你的合理工资发放工资。
  • **设定“象征性”工资:**对于一家高利润公司的全职高级职员来说,象征性工资(例如 10,000 美元)几乎肯定会触发重新分类,如 Watson 案所示。
  • **处理不当 >2% 股东健康保险:**为持有公司 2% 以上股份的股东支付的健康保险费必须包含在其 W-2 工资中。 这些金额需缴纳所得税,但通常免缴 FICA 税。 与你的注册会计师或工资单提供商协调,以确保正确处理此事。

清晰的 Beancount 设置

你的账本是维护工资和分红之间清晰界限的完美工具。

最小化会计科目表

Assets:Bank:Operating
Expenses:Payroll:Wages
Expenses:Payroll:Employer:SocialSecurity
Expenses:Payroll:Employer:Medicare
Liabilities:Payroll:Withholding:Federal
Liabilities:Payroll:Withholding:SocialSecurity
Liabilities:Payroll:Withholding:Medicare
Equity:Distributions

过账示例

此示例显示了年薪 150,000 美元(每月 12,500 美元)的每月工资单运行情况,以及单独的所有者分红。 请注意工资是如何记录为企业支出,而分红是如何减少权益的。

; 运行每月工资单(公司方面 + 预扣税款)
2025-02-28 * "Payroll - February"
Assets:Bank:Operating -10350.00 USD
Expenses:Payroll:Wages 12500.00 USD
Expenses:Payroll:Employer:SocialSecurity 775.00 USD
Expenses:Payroll:Employer:Medicare 181.25 USD
Liabilities:Payroll:Withholding:Federal -3000.00 USD
Liabilities:Payroll:Withholding:SocialSecurity -775.00 USD
Liabilities:Payroll:Withholding:Medicare -181.25 USD

; 所有者分红(非工资)
2025-03-10 * "Shareholder distribution"
Assets:Bank:Operating -5000.00 USD
Equity:Distributions 5000.00 USD

使用 bean-query 进行有用检查

你应该定期比较你的年初至今工资与分红。 此查询可以轻松实现:

; 比较年初至今工资与分红
SELECT account, SUM(position)
WHERE (account ~ "Expenses:Payroll:Wages" OR account ~ "Equity:Distributions")
AND year = 2025
GROUP BY account;

书面记录(保护自己)

如果 IRS 提出疑问,你需要记录你的理由。

  • 每年创建一份简短的薪酬备忘录。 详细说明你的角色、时间分配、你使用的市场数据链接以及你选择的最终薪资。
  • 将此备忘录存储在你的 Beancount 目录中,例如:docs/comp/YYYY/comp-memo.md
  • 保留所有官方工资单报告和你的年度 W-2/W-3 文件的副本。
  • 使用 note 条目将你的决定直接记录在你的账本中。
2025-01-15 note "根据市场薪酬比较 + 角色分配,将 2025 年高级职员薪资设定为 125,000 美元。 请参阅 docs/comp/2025/comp-memo.md"

常见问题解答(快速)

  • 如果我的公司亏损,我的工资可以是 0 美元吗? 📉 如果你提供了重要的服务,IRS 仍然希望你获得合理的工资。 如果现金流出现严重问题,请咨询专业人士以了解如何进行。
  • 我应该多久重新审视一次我的工资? 🗓️ 至少每年一次。 每当你的角色、职责或市场发生重大变化时,你也应该重新评估它。
  • 如果我是公司里唯一的人怎么办? 🙋 即使你是独立经营者,你仍然是你 S-corp 的雇员。 如果你在企业中工作,则必须运行正式的工资单。

本指南提供一般信息,不能替代专业的税务建议。 请务必咨询合格的注册会计师以解决你的具体财务状况。

S-Corp 选举截止日期(2025 年):Beancount 用户简明指南

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

正在考虑选择 S-corp 税务身份?很好——千万不要错过截止日期。 对于小企业主来说,S-corp 选举可以成为一个强大的节税工具,但其截止日期是严格且不可协商的。 错过一个截止日期可能会使你的税务情况变得非常复杂。

以下是你需要了解的实用且经过会计师认可的版本,以及如何在 Beancount 账本中清晰地跟踪所有内容。

2025-07-23-s-corp-election-deadline-2025


截止日期,简而言之

最重要的日期是提交 2553 表格,小型企业公司选举。 这份表格告诉美国国税局你希望以 S-corp 的身份纳税。

  • 对于现有的、按日历年运营的企业: 你必须在你希望选举生效的纳税年度的 第 3 个月的第 15 天之前提交 2553 表格。 对于 2025 年的选举(自 2025 年 1 月 1 日起生效),截止日期是 2025 年 3 月 15 日,星期六。 由于这一天是周末,根据美国国税局的周末/节假日规则,实际截止日期将推迟到下一个工作日:2025 年 3 月 17 日,星期一
  • 对于新企业: 如果这是你企业的第一个纳税年度,你有 **“2 个月零 15 天”**的时间,从你的纳税年度开始之日起提交。 确切日期取决于你的纳税年度正式开始的时间。 例如,如果你的企业于 1 月 7 日开始运营,你的截止日期将是 3 月 21 日。

提示: 如果你的企业按财政年度而不是日历年度运营,则适用相同的逻辑。 计算你的截止日期,从你的财政年度开始日期算起第 3 个月的第 15 天。


如果你错过了截止日期怎么办?

不要惊慌。 美国国税局理解企业主可能会错过截止日期。 如果你打算选择 S-corp 身份但未能按时提交,你可能有资格获得 迟交选举的救济

美国国税局提供了一个简化的程序,税收程序 2013-30,允许许多小企业申请追溯 S-corp 身份。 如果你可以证明你有合理的理由迟交,并且符合该程序的其他要求,你通常有资格获得救济。


与 S-Corps 相关的其他关键日期

一旦你成为 S-corp,截止日期并不会停止。 以下是你日历上需要标记的另外两个重要日期:

  • 1120-S 申报(S-corp 纳税申报表): 你的年度 S-corp 纳税申报表,1120-S 表格,应在你的纳税年度结束后 第 3 个月的第 15 天之前提交。 对于大多数企业(按日历年申报的企业),这与选举截止日期相同:2025 年 3 月 17 日
  • 需要更多时间? 如果你无法按时提交 1120-S,你可以提交 7004 表格 以获得 自动 6 个月的延期。 这将把提交申报表的截止日期延长至 9 月 15 日。 重要的是,这是 提交 的延期,而不是 缴纳 的延期。 你欠的任何税款仍应在原定的 3 月截止日期前缴纳。

谁应该选择 S-Corp?

S-corp 身份并不适合所有人。 它的主要好处是减少 自雇税。 它是通过允许你将企业的利润分成两类来实现这一点:

  1. 合理的 W-2 工资: 这是你支付给自己的工资,需要缴纳标准的工资税(社会保障和医疗保险)。
  2. 股东分配: 这是你从企业获得的剩余利润,无需 缴纳自雇税。

然而,这种优势伴随着额外的复杂性和成本。 S-corps 要求运行 正式的工资单,遵守美国国税局制定的 “合理薪酬” 标准,并处理更多的合规文书工作,例如提交 1120-S 表格和向股东发放 K-1 表格。

在你做出决定之前,请进行计算。 注册会计师可以帮助你模拟收支平衡点,即节税超过额外管理成本的点。


使用 Beancount 简化截止日期

维护良好的账本是你遵守 S-corp 规定的最佳助手。 你可以使用 Beancount 来掌握截止日期,并清楚地区分工资和分配。

最小化科目表(入门)

以下是一个基本的科目表,可帮助你入门:

  • Assets:Bank:Checking
  • Income:Sales
  • Expenses:Payroll:Wages
  • Expenses:Payroll:EmployerTaxes
  • Equity:Distributions用于股东提取
  • Equity:Opening-Balances

典型的过账

你的 Beancount 分录将在工资支出和股权分配之间创建清晰的区分。

; W-2 工资是一项业务支出
2025-02-28 * "发放工资 - 二月"
Assets:Bank:Checking -6200 USD
Expenses:Payroll:Wages 5000 USD
Expenses:Payroll:EmployerTaxes 1200 USD
; entity: S-Corp period: 2025-02

; 股东分配是提取股权,而不是一项支出
2025-03-10 * "股东分配"
Assets:Bank:Checking -3000 USD
Equity:Distributions 3000 USD
; entity: S-Corp period: 2025-Q1

有用的防护措施(查询和标签)

使用 Beancount 的功能来检查你的财务状况,并确保你符合合理的薪酬标准。

  • 使用一些容易记住的标签标记每次所有者提取,例如 distrib: "yes"
  • 定期运行查询,比较已支付的总工资和已提取的总分配。

你可以使用 bean-query 从你的终端运行快速检查:

SELECT account, SUM(position)
WHERE (account ~ 'Expenses:Payroll:Wages' OR account ~ 'Equity:Distributions')
AND year = 2025
GROUP BY account;

这将为你提供该年度工资和分配的清晰摘要,帮助你和你的注册会计师评估你的工资是否“合理”。

选举的书面记录

将你的 S-corp 文件整理好并链接到你的账本。

  • 在你的 Beancount 目录中创建一个 docs/ 文件夹,用于存储你签署的 2553 表格美国国税局的接收函、任何 迟交选举救济 声明以及你的 工资单设置文件(EIN、州 ID)的 PDF 文件。
  • 在你提交选举的当天,在你的账本中记录一笔 note 交易。 这将创建一个永久的、带日期的记录。
2025-01-22 note "已提交 S-corp 选举的美国国税局 2553 表格(自 2025-01-01 起生效)"

需要注意的边缘情况

  • 你的“第一个纳税年度”的开始日期可能不是你的成立日期。 “2 个月零 15 天”截止日期的计时从你的公司 拥有股东、获得资产或开始业务运营 之日起算——以先发生者为准。
  • 对于非日历财政年度,请精确计算。 你的 2553 表格截止日期基于你的财政年度的 开始日期,而你的 1120-S 表格截止日期基于其 结束日期

快速核对清单

准备好了吗? 以下是指导你的最终核对清单。

✅ 根据利润水平、工资单准备情况和特定州的规则,决定 S-corp 结构是否适合你的企业。 ✅ 将 2553 表格 和正确的截止日期添加到日历中(并为自己设置一个提前一周的提醒)。 对于 2025 年,截止日期是 2025 年 3 月 17 日。 ✅ 如果你迟交,请立即评估你是否有资格根据 税收程序 2013-30 获得救济。 ✅ 配置你的工资单系统,并在你的 Beancount 账本中映射新的支出和股权账户。 ✅ 准备在截止日期前提交 1120-S 表格,或提交 7004 表格 申请延期。


本指南提供一般信息,并非税务建议。 每种业务情况都是独特的。 请咨询你的注册会计师,以确定适合你具体情况的最佳行动方案。

Beancount 的技术优势:与 Ledger、hledger 和 GnuCash 的性能、Python API 和数据完整性深度对比

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

选择个人会计系统需要在性能、数据架构和可扩展性之间进行权衡。对于工程师和其他技术用户来说,选择通常取决于哪个系统提供最健壮、可预测和可编程的基础。

根据一份详细的比较报告,让我们分析 Beancount 与其流行的开源替代方案 Ledger-CLI、hledger 和 GnuCash 的技术细节。

2025-07-22-beancounts-technical-edge-a-deep-dive-on-performance-python-api-and-data-integrity-vs-ledger-hledger-and-gnucash


速度和性能:量化基准 🚀

对于任何严肃的数据集,性能都是不可协商的。 Beancount 的架构可以处理数十年的交易数据,而不会影响速度。尽管是用 Python(v2)实现的,但其高度优化的解析器效率非常高。

  • Beancount: 实际使用表明,它可以在 大约 2 秒内加载和处理包含 数十万笔交易的账本。内存使用量适中;解析约 10 万笔交易只需使用几十兆字节的 RAM,即可将源文本转换为内存中的对象。
  • 100 万笔交易压力测试: 使用包含 100 万笔交易、1,000 个账户和 100 万个价格条目的合成账本进行的基准测试揭示了显著的架构差异:
    • hledger(Haskell):约 80.2 秒内成功完成完整解析和报告,处理速度约为 12,465 笔交易/秒,同时使用约 2.58 GB 的 RAM。
    • Ledger-CLI(C++): 该进程在 40 分钟后终止,但未完成,这可能是由于已知的回归导致在处理高度复杂的账本时内存和 CPU 使用过多。
    • Beancount: 虽然未包含在该特定 100 万笔交易测试中,但其性能曲线表明它可以有效地处理该任务。此外,即将推出的采用全新 C++ 核心和 Python API 的 Beancount v3 预计将在吞吐量方面带来另一个数量级的提升。
  • GnuCash(C/Scheme): 作为将整个数据集加载到内存中的 GUI 应用程序,其性能会随着大小的增加而明显下降。打开一个约 50 MB 的 XML 文件(代表 10 万多笔交易)需要 77 秒。切换到 SQLite 后端仅略微将其缩短至 约 55 秒

结论: Beancount 提供了可预测扩展的卓越性能,这是长期数据管理的关键特性。它避免了 Ledger 中出现的性能瓶颈和 GnuCash 的 UI 绑定延迟。


数据架构:纯文本与不透明数据库 📄

系统存储数据的方式决定了其透明度、可移植性和持久性。Beancount 使用简洁易懂的纯文本格式,这对技术用户来说更胜一筹。

  • 紧凑高效: 一个包含 10 万笔交易的 Beancount 文件只有 约 8.8 MB。这比同等的 Ledger 文件(约 10 MB)更紧凑,部分原因是 Beancount 的语法允许推断交易中的最终余额,从而减少冗余。
  • 结构强制执行: Beancount 要求使用显式的 YYYY-MM-DD open Account 指令。这种规范的方法可以防止账户名称拼写错误导致静默创建新的错误账户——这是 Ledger 和 hledger 等系统中常见的陷阱,这些系统会动态创建账户。这种结构使数据更可靠,便于程序化操作。
  • 版本控制就绪: 纯文本账本非常适合使用 Git 进行版本控制。你可以获得所做的每个财务更改的完整、可审计的历史记录。
  • 与 GnuCash 的对比: GnuCash 默认使用 gzip 压缩的 XML 文件,其中数据冗长,并且每个实体都用带有 GUID 的标签进行包装。虽然它提供 SQLite、MySQL 和 PostgreSQL 后端,但这将数据从简单的直接文本操作和版本控制中抽象出来。编辑原始 XML 是可行的,但比编辑 Beancount 文件要麻烦得多。

结论: Beancount 的数据格式不仅仅是文本;它是一种定义良好的语言,可最大限度地提高清晰度,强制执行正确性,并与 gitgrep 等开发者工具无缝集成。


杀手级特性:真正的 Python API 和插件架构 🐍

这是 Beancount 的决定性技术优势。它不是一个单一的应用程序,而是一个 具有稳定、一流 Python API 的库。这种设计决策释放了无限的自动化和集成可能性。

  • 直接程序化访问: 你可以直接在 Python 中读取、查询和操作账本数据。这就是开发者迁移的原因。正如一位用户指出的那样,Beancount 消除了尝试对 Ledger 记录不足的内部绑定进行脚本编写带来的挫败感。
  • 插件管道: Beancount 的加载器允许你将自定义 Python 函数直接插入处理管道。这使得在加载数据流时可以对其进行任意转换和验证——例如,编写一个插件来强制要求来自特定供应商的每笔支出都必须具有特定标签。
  • 强大的导入器框架: 超越笨拙的 CSV 导入向导。使用 Beancount,你可以编写 Python 脚本来从任何来源(OFX、QFX、CSV)解析财务报表。像 smart_importer 这样的社区工具甚至利用机器学习模型来自动预测和分配过账账户,将数小时的手动分类变成只需几秒钟、一个命令的过程。
  • 其他工具的比较:
    • Ledger/hledger: 可扩展性主要体现在外部。你可以将数据传入/传出可执行文件。虽然它们可以输出 JSON/CSV,但如果不修改 C++/Haskell 源代码,你就无法将逻辑注入其核心处理循环。
    • GnuCash: 可扩展性是通过 Guile (Scheme) 的陡峭学习曲线来处理自定义报告,或者通过与 GnuCash 引擎交互的 Python 绑定(使用 SWIG 和 PieCash 等库)来处理。它很强大,但不如 Beancount 的原生库方法直接和“Pythonic”。

结论: Beancount 是为程序员设计的。其库优先的设计和与 Python 的深度集成使其成为四个系统中最灵活、自动化程度最高的系统。


理念:财务的严格编译器 🤓

Beancount 的学习曲线是其核心理念的直接结果:你的财务数据是一种正式的语言,它必须是正确的。

Beancount 的解析器就像一个 严格的编译器。它执行强大的语法和逻辑验证。如果交易不平衡或账户尚未打开,它将拒绝处理文件,并返回带有行号的描述性错误。这是一个特性,而不是错误。它保证如果你的文件“编译”成功,则底层数据在结构上是合理的。

这种确定性方法确保了数据完整性,这对于在其之上构建可靠的自动化系统至关重要。你可以放心地编写使用 Beancount 输出的脚本,因为你知道数据已经过严格验证。

Beancount 适合谁?

根据此技术分析,Beancount 是以下用户的最佳选择:

  • 开发人员和工程师, 他们希望将财务视为版本控制的、可编程的数据集。
  • 数据爱好者, 他们希望编写自定义查询,使用 Fava 等工具构建独特的可视化效果,或将财务数据馈送到其他分析模型中。
  • 任何重视可证明的正确性和自动化胜过 GUI 的便利性或结构化程度较低的格式的宽松性的人。

如果你需要原始 C++ 性能来生成标准报告,Ledger 是一个竞争者。对于函数式编程范例中的出色可扩展性,hledger 令人印象深刻。对于设置最少的全功能 GUI,GnuCash 表现出色。

但是,如果你想构建一个真正健壮、自动化且高度定制的财务管理系统,Beancount 提供了卓越的技术基础。

为小型企业税务预留多少资金

· 阅读需 6 分钟
Mengjia Kong
Mengjia Kong
IRS Enrolled Agent

经营小型企业已经需要不断地处理现金流、供应商和客户——税务上的意外不应该成为另一个需要操心的问题。好消息是:通过一个简单的框架和一些 Beancount 技巧,你可以将“我希望税单不要太高”转化为可预测的每月转账。

1. 了解你的实际支出

2025-07-20-为小型企业税务预留多少资金

在你预留资金之前,你需要知道这些资金的用途。对于大多数美国小型企业(尤其是独资企业和合伙企业),总税务负担是几项不同义务的组合。

  • 联邦所得税: 这是一种累进税,这意味着税率随着你的收入增加而增加。 2025 年,单身收入超过 626,350 美元和已婚共同申报 (MFJ) 收入超过 751,600 美元的税率高达 37%。
  • 自雇 (SE) 税: 这是 W-2 雇员缴纳的 FICA 税(社会保障和医疗保险)的企业家版本。 净收入的第一部分的税率为 15.3%。 12.4% 的社会保障部分在你的利润达到年度工资基数后停止,预计 2025 年该基数为 176,100 美元。 剩余的 2.9% 的医疗保险部分将继续适用于所有利润。
  • 州和地方所得税: 这因地区而异,从怀俄明州和德克萨斯州等州的 0% 到加利福尼亚州最高等级的 13% 以上不等。
  • 季度少缴罚款: 美国国税局希望全年都能收到税款,而不是一次性收到。 为避免罚款,你通常必须预付至少当年税务负担的 90% 或前一年税单的 100%(如果你的调整后总收入 (AGI) 超过 150,000 美元,则此门槛将提高到 110%)。

快速启发式方法: 大多数居住在平均税率州的美国个体经营者,在缴纳联邦、自雇和州税后,最终需要缴纳 净利润的 25% - 30%

2. 每月可更新的三步估算

你不需要复杂的软件来处理这个问题。一个简单的、可重复的过程就足够了。

  1. 预测年度利润: 查看你的年初至今的业绩,并对全年做出合理的预测。 基本公式对你很有帮助:预计收入 - 预计可扣除费用 = 预计利润
  2. 应用有效税率: 从一个合理的百分比开始。 如果你有去年的纳税申报表,你可以从中计算出你的有效税率。 如果你是新手,30% 的启发式方法是一个安全的起点。
  3. 除以 12(或 52): 将你的年度预估总税额除以你想要使用的支付周期数。 我们建议按月支付。 每月将该金额转入专用的税务储备银行账户。 如果你的现金流波动较大,每周转账可能更容易管理。

3. 在 Beancount 中实施

纯文本会计使此过程透明且可审计。以下是如何在 Beancount 中管理你的税务储蓄的方法。

首先,创建一个例行交易,将你的每月储蓄从你的主要支票账户转移到一个单独的、专用的税务储蓄账户。

; 预留 7 月份的税款
2025-07-31 * "税务储备转账"
Assets:Bank:Checking -3000 USD
Assets:Bank:TaxReserve 3000 USD
Equity:Opening-Balances

当你向政府进行季度预估付款时,你需要记录实际的负债。 付款直接来自你的储备账户。

; 在你提交季度付款时记录负债
2025-09-15 * "第三季度预估税款支付"
Assets:Bank:TaxReserve -9000 USD
Liabilities:Taxes:Federal 6000 USD
Liabilities:Taxes:State 3000 USD

这个简单的系统为你带来了三个强大的优势:

  • 即时可见性: 你的 Assets:Bank:TaxReserve 余额始终显示已“预留”的金额。 你一眼就能看出这笔现金不能用于其他业务支出。
  • 准确的利润: 由于储备金被视为资产账户之间的转移,因此你的损益表不会失真。 你只需在实际申报和缴纳税款时记录税务 负债
  • 审计跟踪: 支付给美国国税局或你所在州财政部的每笔款项都与从你的储备账户中明确标记的资金流动相关联,从而创建了清晰的纸质跟踪记录。

4. 微调你的百分比

最初的 25% - 30% 的估算是一个很好的开始,但你应该根据你的具体业务模式进行调整。

  • 高利润率的顾问/代理机构: 如果你的收入远高于社会保障工资基数(176,100 美元),你的有效税率将会攀升。 30% - 35% 的税率可能更准确。
  • 具有大量扣除额的产品企业: 如果你有大量的销货成本 (COGS)、库存或其他扣除额,你的净利润率会较低。 20% - 25% 的税率可能就足够了。 使用 1040-ES 表格的季度工作表进行确认。
  • S-Corp 所有者: 你的情况有所不同。 你支付给自己的“合理工资”需要缴纳标准的工资预扣税(FICA 和所得税)。 你的分配(超出工资的利润支付)仍然需要季度预估付款,但通常边际税率较低,因为它们不需要缴纳自雇税。
  • 多州卖家: 如果你在多个州拥有“关联”(重要的业务存在),你可能需要在每个州缴纳所得税。 这可能会增加你的负债。 为了清晰起见,在 Beancount 中创建单独的负债账户,例如 Liabilities:Taxes:State:CALiabilities:Taxes:State:NY

5. 自动化、审查、重复

一个系统只有在你使用它时才有效。 让它变得毫不费力。

  • 自动化: 将你的主要运营账户链接到一个名为“TaxReserve”之类的高收益储蓄账户。 安排在你每月结账后立即自动转账。
  • 审查: 每季度重新预测你的年度利润。 如果第二季度的销售额超出预期,请立即增加你的每月储备金额。 不要等到一月份才发现你储蓄不足。
  • 重复: 将关键文件整理在你的 Beancount 目录中。 保存去年的最终纳税申报表 (document: "2024/Taxes/Form1040.pdf") 可让你在与你的注册会计师讨论数字或规划下一年时一键获取上下文信息。

结语

只有当预留流程随机进行时,税单才会让人感觉随机。 通过将基于百分比的储备金直接纳入你的复式记账流程,你就可以用代数代替焦虑——而 Beancount 使数学(和审计跟踪)变得微不足道。 每季度审查你的税率,保持 Assets:Bank:TaxReserve 的资金充足,4 月 15 日将恢复为正常的营业日。


免责声明:本文仅用于教育目的,不构成税务建议。 始终与你所在司法管辖区和实体类型的合格专业人士确认数字。

在缓慢增长的经济中蓬勃发展 — 使用 Beancount

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

经济的预兆已经显现,但并不乐观。截至 2025 年 7 月,最新数据表明经济已明显降温。让我们看看数据。

宏观背景(2025 年 7 月)

2025-07-05-thriving-in-a-slow-growth-economy-with-beancount

  • 通货膨胀: 经过多年的波动,美国消费者价格已经稳定,但仍然是一个因素,截至 2025 年 6 月,同比增长 +2.7%(劳工统计局, Trading Economics)。虽然低于疫情后的高点,但这一比率仍然侵蚀了购买力,并给利润率带来了压力。
  • 增长: 长期扩张正式结束。2025 年第一季度,实际 GDP 折合成年率下降了 -0.3% 至 -0.5%,表明经济出现萎缩(经济分析局, Trading Economics)。

疲软的经济并非危机,而是一个警钟。它要求你更清晰地了解你的现金流,对成本采取严格控制,并对机会有清晰的认识。这就是纯文本会计,特别是使用 Beancount 的战略优势所在。它使你可以完全控制你的财务数据,而无需像商业软件那样受 SaaS 锁定或不断上涨的订阅费用。


五个高杠杆杠杆(以及 Beancount 如何使它们变得简单)

在经济缓慢增长的环境中,小的、明智的行动会产生巨大的影响。以下是你可以使用 Beancount 账本立即实施的五种策略。

策略如何在 Beancount 中执行
保持账簿最新自动化录入。 每晚运行 bean-extract,或安排一个 GitHub Action 来获取银行流水并将新交易提交到你的账本。实时数据意味着不会出现意外。
监控现金流每周查询。 使用简单的查询跟踪你的每月净流量。将其保存为 Fava(Beancount 的 Web 界面)中的收藏,以便一键访问:`SELECT year, month, SUM(convert(position, 'USD')) WHERE account ~ 'Income
收入多元化隔离实验。 通过创建一个专门的收入账户(例如 Income:Consulting:SideHustle)并使用 #pilot-project 标记所有相关交易来测试新产品或服务。这使得计算投资回报率变得轻而易举。
快速削减开支找出大额支出。 需要削减开支吗?此查询立即显示你的前 10 个支出类别,直接指出你可以节省最多的地方:bean-query main.bean "SELECT account, SUM(number) WHERE account =~ '^Expenses' GROUP BY account ORDER BY SUM DESC LIMIT 10"
明智地再投资预留利润。 在每个月末,计算你的净利润,并以编程方式将一部分利润转移到专用账户。这不仅仅是储蓄;而是明确地将资金分配给未来的增长或机会。

自动化繁琐的工作,守护你的时间

你最有价值的资产是你的时间,应该花在分析上,而不是数据录入上。Beancount 的纯文本特性使自动化成为一等公民。

  • 辅助脚本: Beancount 生态系统拥有丰富的社区构建工具。价格抓取器可以提取你投资的每日市场价值。PayPal、Stripe 或 Splitwise 等服务的导入器可以在你睡觉时解析报表并将格式化的条目添加到你的账本中。
  • 预提交钩子: 如果你将账本存储在 Git 中(你应该这样做),你可以使用预提交钩子对每次更改运行 bean-check。这个简单的脚本会检查你的文件,在提交到 main 分支之前捕获拼写错误和平衡错误。
  • Git = 审计跟踪: 每次提交都是一个故事。git blame 会显示谁在何时更改了交易。git log 提供了你财务决策的完整、不可变的历史记录。这是最强大的审计跟踪。

建立财务弹性

缓慢的经济会奖励有准备的人。使用 Beancount 建立一个能够抵御不确定性的财务堡垒。

  • 应急缓冲: 将储蓄变成不可协商的。在计算出你的月利润后,创建一个常规交易,将固定比例(例如 10%)的资金转移到专用的应急基金中。

    ; 假设 7 月份的利润为 4,500 美元。10% = 450 美元。
    2025-07-31 * "Monthly Profit Sweep" "将 10% 的利润转移到应急基金"
    Expenses:ProfitSweep 450.00 USD
    Assets:Savings:Emergency

    这不是传统意义上的支出,但以这种方式记账可以将现金“隐藏”在你的运营账户中,从而降低你随意支出的诱惑。

  • 情景建模: 如果收入下降 15% 会发生什么?或者如果你的成本增加 5% 呢?使用纯文本账本,你不需要复杂的软件就能找到答案。只需将你的整个账本文件复制到 scenarios/ 目录,调整数字,然后运行报告即可。

    # 在几秒钟内查看对你盈亏的影响
    bean-report scenarios/pessimistic_q3.bean income_statement

深入了解利基数据

Beancount 的灵活性允许你跟踪任何内容。使用元数据丰富你的交易的业务上下文。

2025-07-15 * "The Meow-Box" "每月猫咪玩具订阅"
Income:Subscriptions -19.99 USD
Assets:Bank:Checking
; market: "Pet-DTC"
; customer-id: "CUST-86753"

将这些数据直接嵌入到你的账本中,你可以提出复杂的问题。一个简单的 bean-query 现在可以显示你的“Pet-DTC”细分市场的总收入、客户流失率或终身价值:

bean-query my-ledger.beancount "SELECT SUM(convert(position, 'USD')) WHERE meta('market') = 'Pet-DTC'"

你的下一步

阅读是一回事;实践是另一回事。以下是本周如何开始:

  1. 导入你的 2024 年积压数据: 将你 2024 年的历史数据导入 Beancount。这将使你的 2025 年报告和同比比较真正具有可比性。
  2. 安排两个常规查询: 保存现金流和前 10 个支出查询。设置日历提醒,以便每个星期五运行和查看它们。使其成为一种习惯。
  3. 分配 10% 的利润: 实施利润转移。从 10% 开始,并承诺每个月将这部分资金转移到单独的再投资或应急账户。每季度重新审视一次该比例。

缓慢的增长会奖励那些清楚地看到自己的数字、果断采取行动并建立稳健系统的人。使用文本账本、一些脚本和上面的策略,你将不仅仅是在经济低迷时期生存下来,你还将利用它作为增强财务实力的机会。

簿记与会计:有何区别,Beancount 如何融入其中?

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

无论你是经营企业还是管理个人财务,簿记会计这两个术语常常混淆不清。但了解它们之间的区别——尤其是在使用 Beancount 这样的纯文本工具时——可以帮助你建立更好的系统并做出更明智的财务决策。

在本指南中,我们将探讨簿记和会计各自的角色,以及 Beancount 如何同时支持这两种功能(是的,确实如此)。

2025-06-27-accounting-vs-bookkeeping

📘 簿记:日常记录的艺术

簿记是财务管理的基础层。它关乎记录实际发生的事情——没有假设,没有预测。

簿记包括:

  • 记录收入和支出
  • 跟踪资产和负债
  • 为交易添加标签以便后续使用
  • 维护总账

在 Beancount 中,它看起来像:

2025-06-27 * "Stripe Payout"
Assets:Bank:Checking 1,200.00 USD
Income:Sales

每笔交易都是一个构建块。你尚未进行分析——你只是逐行记录事实。

如果你刚开始使用,Beancount 通过其明确的结构和可读的语法鼓励良好的簿记习惯。你将被(以一种好的方式!)强制跟踪每一分钱并解释每一笔交易。

📊 会计:将数据转化为洞察

会计在你的簿记记录基础上,回答更深层次的问题:

  • 我们盈利吗?
  • 我们还有多少现金储备?
  • 我们应该预付该软件费用还是按月摊销?
  • 我们如何最大限度地减少税收?

在会计中,你:

  • 核对账户并调整分录
  • 生成利润/亏损表等报告
  • 折旧资产
  • 规划税收和未来支出

借助 Beancount,你可以使用 beancount.io 等工具分析你的记录:

  • 浏览资产负债表、损益表和现金流量图
  • 按类别可视化收入
  • 使用元数据(例如,tag:business-trip)注释决策

想跟踪年度 Zoom 订阅吗?

2025-01-15 * "Zoom Annual Plan"
Expenses:Software 149.90 USD
Assets:Bank:Checking
tag:business-tools

你以后可以按月摊销或在预算会议期间进行分析。

👩‍💼 簿记员与会计师:各司其职?

  • 簿记员:注重精确。记录、分类和整理。
  • 会计师:增加解读。提供建议、规划和模拟结果。

Beancount 使你能够身兼二职,或者将其中一层清晰地移交给专业人士。

例如:

  • 作为创始人,你可以使用 Beancount 自己进行簿记。
  • 在报税季,你可以导出报告或原始数据,供你的会计师最终处理。

🛠️ 簿记和会计软件:Beancount 归属何处?

大多数主流工具(例如 QuickBooks、Xero)模糊了簿记和会计之间的界限。Beancount 采取了不同的方法:

  • 你通过纯文本管理一切,如果愿意,可以存储在版本控制中。
  • 没有隐藏交易或幕后操作。
  • 鼓励你理解自己的账目。

Beancount 非常适合那些重视透明度数据完整性以及通过开源工具实现自动化的人。

🧠 为什么这种区别很重要

了解簿记和会计之间的区别有助于你:

  • 保持合规并随时准备审计
  • 了解时间投入的方向(日常跟踪与每月洞察)
  • 与财务专业人士清晰沟通
  • 在不陷入复杂性的情况下扩展你的财务系统

🪄 最终思考:你的账本,你的规则

无论你是独立创作者还是小型企业主,Beancount 都能让你精确管理账目——并最终像首席财务官一样做出战略决策。

请记住:

  • 簿记 = 发生了什么
  • 会计 = 它意味着什么

借助 Beancount,你正在清晰而自信地构建这两个层面。

如果你需要可打印版本或后续教程,请告诉我。

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

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

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

本指南将带你了解:

2025-06-27-journal-entries

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

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

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

示例:

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

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

📒 为什么会计分录很重要

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

它们:

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

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

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

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

快速规则:

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

示例 – 办公用品采购:

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

🧠 可视化分录

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

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

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

💡 常见会计分录示例

✅ 你收到客户付款

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

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

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

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

🖨️ 你购买办公用品

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

🏦 你支付贷款

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

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

🔒 年末结账分录

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

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

或者,手动操作:

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

🛠️ 调整分录

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

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

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

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

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

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

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

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

准备好开始了吗?

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

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

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

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

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

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

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

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