跳到主要内容

27 篇博文 含有标签「Bookkeeping」

查看所有标签

使用 Beancount 为 Etsy 卖家进行簿记的基础知识

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

手工缝制的账本胜过杂乱无章的电子表格——尤其是在每一分钱都很重要的时候。

对于 Etsy 上的艺术家、制造商和策展人来说,热情驱动着业务。但随着商店的发展,财务清晰度变得与创意愿景同等重要。兼顾费用、跟踪材料成本和准备税务可能会让人不知所措,让你无法专注于工作。

2024-07-16-bookkeeping-basics-for-etsy-sellers-with-beancount

如果你能以对待产品一样的细致和精准来管理商店的财务状况会怎样?本指南介绍了使用 Beancount 的纯文本会计工作流程,Beancount 是一款为准确性和控制力而设计的开源引擎。这种方法可以帮助你掌握数字,从而专注于你的工艺。

为什么 Etsy 簿记有所不同

Etsy 商店具有独特的财务特征,其复杂性是通用会计软件通常无法捕捉到的。

  • 无处不在的市场费用: 你的最终付款是在 Etsy 收取其份额后剩下的金额。上架费、交易费、支付处理费和广告费都会蚕食每一笔销售额。如果不单独跟踪它们,你就无法知道你的真实利润率。
  • 平台控制的销售税: 对于卖家来说,这是一个巨大的胜利,Etsy 现在会在大多数州自动计算、收取和代缴销售税。但是,如果你在其他渠道销售或在某些州有实体店,由于“关联”规则,你可能仍然有自己的销售税义务。
  • 灵活的付款节奏: 根据你的设置和账户历史记录,Etsy 可以每天、每周、每两周或每月存入你的资金。这种灵活性会使现金流感觉难以预测,尤其是在资金被保留或延迟的情况下。(Etsy 帮助)
  • 更低的 1099-K 门槛: 逃税的日子已经过去了。用于报告你总销售额的 1099-K 表格的 IRS 报告门槛在 2024 年设定为 5,000 美元,并计划到 2026 年降至 600 美元。这意味着几乎每家商店都会收到 IRS 表格,并且你的账簿必须能够与其完全一致。(IRS)

七个快速步骤中的 Beancount 蓝图

此纯文本蓝图将帮助你构建清晰、准确且无压力的簿记系统。

1. 预先分离渠道

如果 Etsy 不是你唯一的销售渠道,请为每个渠道创建单独的收入和支出账户。在你的科目表顶层进行这种简单的分离可以保持你的分析清晰,并使税务时间更加轻松。

2025-07-22 open Income:Etsy               USD
2025-07-22 open Expenses:Etsy:ListingFee USD
2025-07-22 open Assets:Etsy:Payout USD

2. 分解每次付款

切勿将 Etsy 存款记录为单行收入。相反,请从你的商店管理器下载每月的付款账户 CSV。使用此报告创建一个 Beancount 交易,将每次存款“分解”为其总销售额和各个费用组成部分。

; 来自 Etsy 付款账户 CSV 的每周付款
2025-07-15 * "Etsy 存款 #2025-28"
Assets:Bank:Operating 1842.77 USD
Income:Etsy:Sales -2100.00 USD
Expenses:Etsy:TransactionFee 136.50 USD ; 6.5 %
Expenses:Etsy:PaymentProcessing 66.00 USD ; 3 % + 每笔订单 $0.25
Expenses:Etsy:ListingFee 14.00 USD ; $0.20 x 70 次续订
Assets:Etsy:Reserve -75.73 USD

3. 使用批次跟踪库存和销货成本

对于实物商品的卖家,Beancount 的“批次”功能是跟踪销货成本 (COGS) 的游戏规则改变者。当你购买原材料时,你将它们记录为特定成本的库存。当你销售成品时,你可以将所用材料的确切成本记为支出。

; 批量购买库存材料
2025-07-01 * "批量购买纱线 | 供应商 XYZ"
Assets:Inventory:ScarfBlue 500 ScarfBlue {@ 3.45 USD}
Assets:Bank:Operating

; 记录商品售出时的销货成本
2025-07-20 * "售出蓝色围巾 | 订单 #1234"
Expenses:COGS 1 ScarfBlue {3.45 USD}
Assets:Inventory:ScarfBlue

4. 尽早选择你的会计方法

你有两个主要选择:

  • 现金收付制: 简单易行。你在收到款项时记录收入,在付款时记录支出。这适用于小型、爱好规模的商店。
  • 权责发生制: 提供更真实的盈利情况。你在进行销售时(而不是在收到付款时)记录收入,并在发生费用时记录费用。这更适合批量购买用品或销售定制商品的商店。

5. 自动导入

通过自动化数据输入来节省时间。纯文本生态系统提供多种选择:

  • 使用带有自定义规则的 bean-extract 来解析 Etsy CSV 文件。
  • 配置银行 CSV 导入器以捕获通过信用卡支付的广告费用或运费标签。
  • 对于高级用户,编写 Python 脚本以直接从 Etsy API 获取报告。

6. 每周对账

每周留出几分钟时间来检查你的数字。使用 Beancount 的命令行工具快速验证你的余额,并在月底前发现任何问题,例如释放储备金、退款或费用调整。

# 检查你的 Etsy 持有账户的余额
bean-balance books.bean "Assets:Etsy:Payout" "2025-07-21"

# 生成上一期间的损益表
bean-report books.bean income_statement -e 2025-07-21

7. 附加源文档

通过直接在你的交易元数据中链接到源文档来创建完全独立且可审计的记录。这非常适合供应商收据、运费标签 PDF 或采购订单。

2025-07-12 * "Etsy 订单 #4321 的运费标签"
Expenses:ShippingLabel 4.25 USD
Assets:Bank:Operating
document: "docs/labels/2025-07-12-order4321.pdf"

了解你的 Etsy 费用(美国)

要获得你的利润的真实情况,请在各自的费用账户中跟踪每种费用类型:

  • 上架费: 每件商品 0.20 美元,每 4 个月或售出后自动续订。(Etsy)
  • 交易费: 订单总金额(包括商品价格、运费和礼品包装)的 6.5%。(Etsy)
  • 支付处理费: 因国家/地区而异,但对于美国,通常是通过 Etsy Payments 处理的每笔订单 3% + 0.25 美元。(Etsy 帮助)
  • 订阅(Etsy Plus): 可选的每月 10 美元,用于其他工具。

销售税和合规性提示

  • 虽然 Etsy 会为大多数美国州代缴销售税,但请注意,在其他平台上销售或拥有实体工作室可能会产生额外的税务义务(“关联”)。仔细跟踪你的销售额门槛。
  • 一旦 1099-K 门槛适用于你的商店,请确保你在 Beancount 中的 Income:Etsy:Sales 总额与表格上的总金额精确到美分。(IRS)

常见陷阱(和修复方法)

  • 陷阱: 净存款会计。
    • 修复: 始终使用付款 CSV 将存款分解为总销售额、费用和储备金。
  • 陷阱: 过时的库存成本。
    • 修复: 在购买供应品和材料时立即将其记录为库存。不要等到成品售出后再记录。
  • 陷阱: 退款盲点。
    • 修复: 发出退款时,记录费用并冲销原始销货成本条目,将成本移回你的库存账户。
  • 陷阱: 忽略储备金持有。
    • 修复: 开设一个 Assets:Etsy:Reserve 账户来跟踪 Etsy 持有的资金。这可以使你的现金流量表保持诚实。

快速入门清单

  • 在你的商店管理器中,设置月报表并下载你的第一个 CSV。
  • 克隆 Beancount 入门存储库并草拟你商店的科目表。
  • 决定使用现金制还是权责发生制会计,并坚持下去。
  • 编写一个基本的导入器脚本或规则文件,并安排每周同步。
  • 每周一核对你的付款、库存水平和银行余额。
  • 每月生成一份损益表,并查看你的毛利率趋势。
  • 使用 Git 和异地存储解决方案备份你的 .bean 文件。

准备好将簿记融入你的创意工作流程了吗? 安装 Beancount,提交你的第一个条目,让纯文本的清晰度为你在工作台上腾出更多时间。祝你记账愉快!

在 Beancount 中管理应收账款

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

在个人理财管理的迷宫中,Beancount 作为纯文本记账的清晰度和精确度灯塔而出现。尤其在管理应收账款——即预期从他人处收到的款项——方面,Beancount 提供了一种结构化的方法,以使你的财务记录保持完美有序。本博客将引导你了解使用 Beancount 追踪应收账款、处理退款以及管理未解决交易的复杂性。无论你是退货、借出资金还是等待退款,本文都是你实现财务清晰的路线图。

理解 Beancount 中的应收账款:

2024-02-17-navigating-receivables-beancount-guide

应收账款代表他人欠你的款项。这可能来自多种情况,例如购物退货后等待退款,或者你借钱给某人。例如,假设你已将一条手表带退回给像 Amazon.com 这样的在线商店,并正在等待退款。在 Beancount 中,此交易记录为资金从你的信用卡负债转移到你的资产,作为应收账款:

2023-10-31 * "Amazon.com" "[Return] Watch Strap"
Liabilities:CreditCard:Chase -12.00 USD
Assets:Receivables

管理退款:

一旦退款处理完毕且你收到款项,就会记录另一笔交易以抵消应收账款中的余额。这确保你的账户反映资金已回到你手中:

2023-11-01 * "Amazon.com" "[Refund] Watch Strap"
Liabilities:CreditCard:Chase 12.00 USD
Assets:Receivables

完整的交易周期:

涉及应收账款的完整进出交易是结合上述两笔交易并展示如下,演示了退款后的平衡账户:

2023-10-31 * "Amazon.com" "[Return] Watch Strap"
Liabilities:CreditCard:Chase -12.00 USD
Assets:Receivables

2023-11-01 * "Amazon.com" "[Refund] Watch Strap"
Liabilities:CreditCard:Chase 12.00 USD
Assets:Receivables

处理未解决的交易:

对于尚未收到退款或还款的交易,Beancount 使用 #UNRESOLVED 标签。此标签有助于识别和追踪仍待处理的金额。例如:

2023-10-31 * "John Doe" "Lending Money" #UNRESOLVED
Liabilities:CreditCard:Chase -100.00 USD
Assets:Receivables

通过关注标记为 #UNRESOLVED 的交易,你可以快速确定哪些金额尚未结清。

保持零余额:

在一个正确的分类账中,资产:应收账款账户下所有交易的总和(不包括带有 #UNRESOLVED 标签的交易)理想情况下应归零。这确保所有预期资金都已入账,维护了你财务记录的完整性。

例如,一个有效的分类账可能如下所示,其中一笔未解决的交易清晰标记,等待结清:

2023-10-31 * "Amazon.com" "[Return] Watch Strap"
Liabilities:CreditCard:Chase -12.00 USD
Assets:Receivables

2023-11-01 * "Amazon.com" "[Refund] Watch Strap"
Liabilities:CreditCard:Chase 12.00 USD
Assets:Receivables

2023-10-31 * "John Doe" "Lending Money" #UNRESOLVED
Liabilities:CreditCard:Chase -100.00 USD
Assets:Receivables

无效的分类账是指某笔交易导致应收账款账户未能归零,因此需要 #UNRESOLVED 标签进行修正。

结论

在 Beancount 中管理应收账款不必令人生畏。通过清晰地了解如何记录交易、管理退款以及关注未解决的交易,你可以维护准确可靠的财务记录。采用 Beancount 结构化的应收账款管理方法,不仅简化了你的财务追踪,还带来了安心,因为你知道每一分钱都已入账。那么,何不利用 Beancount 的强大功能,让你的财务管理变得顺畅无阻呢?

自己动手 VS 聘请簿记员:面向成本意识创始人的 Beancount 攻略

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

作为创始人,你身兼数职——首席执行官、销售员、产品经理,当然还有簿记员。但随着业务的增长,花在核对交易上的时间开始感觉不像精明的节约,而更像是一种代价高昂的分心。那么,何时才是移交账簿的合适时机?

答案不在于放弃控制权;而在于做出数据驱动的决策。以下是如何使用你的 Beancount 账本来决定是继续自己动手还是聘请专业人士。

2023-09-03-diy-vs-hiring-a-bookkeeper-a-beancount-playbook-for-cost-conscious-founders

简而言之: 如果你以每小时 85 美元的价格计算你的时间,并且每月只花四个小时进行簿记,那么这项工作将使你损失 340 美元的收入。一个典型的远程簿记员起价约为每月 249 美元——此外,他们还可以让你腾出时间来真正发展业务。

1. 为你自己的时间定价

这个决定中最重要的指标是你自己的机会成本。你花在分类支出上的每一小时都是你没有花在销售、产品开发或战略上的时间。

计算方法很简单:

  1. 跟踪你每月花在簿记任务上的小时数(核对、编码、修复错误)。
  2. 将这些小时数乘以你的有效计费费率。
  3. 将该数字与外部簿记员的月费进行比较(典型的起价约为每月 249 美元)。

如果你的时间成本更高,那么你就有一个明显的委托优势。你甚至可以直接在 Beancount 中跟踪这一点。

; 跟踪你时间的机会成本
2025-07-31 * "七月簿记时间"
Expenses:Admin:BookkeepingTime 4.00 H ; 你自定义的小时单位
Equity:OwnerTime -340.00 USD
; metadata: rate:85

这里,H 是“小时”的自定义货币。你可以直接记录时间,并使用脚本或 price 指令来分配其美元价值,使你自己劳动力的成本成为财务报告的明确组成部分。

2. 计算自己动手的隐性成本

你的时间成本不是唯一的因素。自己动手簿记 carries risks that can be far more expensive than a monthly retainer.

  • 税务失误: 混乱的账簿对于税务筹划人员来说是一场噩梦。注册会计师可能每小时收费150-400 美元,仅仅是为了清理你的记录,然后才能开始报税。
  • 错失扣除额和 IRS 罚款: 小的、无意的错误——例如错误分类支出或忘记记录现金交易——会随着时间的推移而累积,导致罚款、利息和更高的税单。
  • 创始人倦怠: 深夜核对的 mental drag 是真实存在的。它会消耗应该专注于高 leverage 活动(如销售和产品创新)的精力和能量。

Beancount 缓解措施: 你可以通过添加 Git pre-commit 钩子来减少错误,如果 bean-check 失败或交易缺少类别标签,该钩子将拒绝提交更改。即使你感到疲倦,这也能强制执行纪律。

3. 簿记员(或 Beancount 纪律)省钱的三种方式

无论你是聘请专业人士还是仅仅提升你自己的流程,良好的簿记都会带来回报。

  1. 更清晰的税务申报: 有条理、准确的账簿意味着注册会计师花在清理上的时间更少,这直接转化为更低的账单。
  2. 实时现金洞察: 了解你的确切现金状况可以帮助你避免代价高昂的透支费用和对最后时刻高息融资的需求。
  3. 压力缓冲: 稳定、可预测的财务运营可以减少创始人的压力,从而带来更好的决策和更健康的企业文化。

4. 何时你不应该急于聘请

聘请簿记员并不总是正确的做法。在某些情况下,自己动手仍然是更明智的财务选择。

  • 你处于尚未创收或现金流极低的阶段。 在这个阶段,每一美元都应该用于销售和客户获取。首先专注于获得收入。
  • 你的财务状况很简单。 如果你只有一个银行账户、一个 Stripe 提要和每月少于 60 笔交易,你可能可以在一周内用不到一个小时的时间在 Beancount 和 Fava 中管理所有内容。

5. 混合选项:你的“簿记员就绪”Beancount 账本

最佳解决方案通常是混合解决方案。使用 Beancount 自己完成繁重的工作,但保持账簿干净,以便专业人士可以介入处理高价值的任务。

  • 自动化摄取: 设置 bean-extract 每晚运行,自动提取新交易。
  • 标准化你的会计科目表: 使用常规账户名称(Expenses:SoftwareAssets:Bank:Checking),以便任何专业人士都能立即理解你的账本。
  • 附加源文档: 对于超过 75 美元的每笔支出,使用 link: 元数据附加收据或发票的 PDF。
  • 遵循月度结算清单:
    1. 核对所有银行和信用卡账户。
    2. 运行 bean-check 以确保没有错误。
    3. 使用 bean-report balance_sheetbean-report income_statement 导出 PDF 报表。
  • 执行季度移交: 将 Git 标签或简单的存档(books-Q3-2025.tar.gz)交给你的簿记员或注册会计师。他们可以验证你的工作,添加复杂的调整分录(如应计项目和折旧),并准备税务包。

这种模式可以保持低成本,因为专业人士只接触干净的、经过审查的数据,而你仍然可以获得专业级财务报表的益处。

6. 快速决策矩阵

情况聘请专业人士坚持使用 Beancount(自己动手)
每月 >60 笔交易,每月经常性收入 >2 万美元
你每小时收费 100 美元以上,但每月在账簿上花费 3 小时以上
资金紧张,每月经常性收入 <5 千美元
你真心喜欢电子表格和自动化

7. 后续步骤

  1. 记录你的时间。 在你的下一个簿记环节中,跟踪你在上面花费的每一分钟。
  2. 计算数字。 将该时间乘以你的计费费率,并将其与上述市场费率进行比较。
  3. 选择你的路径。 使用混合模式加强你的 Beancount 工作流程,或开始面试能够轻松处理纯文本账本的簿记员。

无论哪种方式,有意的簿记总是比即兴发挥更便宜。以 Beancount 作为你不可改变的真相来源,你将确切地知道专业帮助何时会带来回报——以及何时不会。

企业与个人簿记:使用 Beancount 划清界限

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

一家蓬勃发展的公司和一个健康的钱包都有一个共同点:界限分明。

对于任何企业主,从自由职业者到成长型初创公司创始人,最关键的财务纪律之一就是严格区分企业和个人财务。混合资金——用你的企业账户购买杂货或用你的个人支票支付企业供应商——会造成混乱、不透明的财务状况。这不仅会招致税务机关的审查,还会让你无法清楚地了解公司的实际业绩。

2023-08-12-business-vs-personal-bookkeeping-with-beancount

幸运的是,像 Beancount 这样的纯文本会计系统提供了一个完美的框架,可以在你的账本中强制执行这些必要的界限。

为什么区分很重要

不区分你的财务状况不仅仅是一个坏习惯;它会带来重大风险,并掩盖有价值的商业情报。

  • IRS 的清晰度: IRS 不仅仅是建议你分开银行账户;他们强烈敦促你这样做。当企业和个人资金混在一起时,很难证明哪些支出是合法的企业扣除额。这种模糊性会导致你最好避免的问题和复杂性。
  • 审计风险: 混合交易是审计员的主要危险信号。如果你的账簿是一团糟的个人和企业活动的混合体,你就有可能被取消有效的扣除额,甚至面临处罚。一个干净、独立的账本展示了专业性,并使任何潜在的审计更加顺利,压力更小。
  • 更清晰的洞察力: 如果你的企业的现金流被个人支出所掩盖,你怎么能知道你真正的利润率呢?一个独立的企业账本可以让你清晰地了解公司的财务状况。你可以准确地跟踪收入、分析支出和计算税务负债,而不会受到个人财务生活的“干扰”。

主要区别一览

企业和个人簿记的目的、规则和结构根本不同。理解这些对比是维护准确记录的关键。

方面企业账簿个人账簿
目的跟踪收入、支出、资产和负债,用于税务和增长决策管理家庭预算和储蓄目标
税务规则必须遵循附表 C、1120‑S 或 1065;严格的扣除标准除基本记录保存外,几乎没有正式要求
账户权益、应付账款、应收账款、销售税、工资支票、储蓄、投资、贷款
所有者薪酬工资 (W‑2) 或通过权益提取的业主提款不适用——个人提款用于生活费用

Beancount 四步蓝图

Beancount 可以轻松地在你的两个财务世界之间建立一道坚固的墙。以下是一个正确的实用工作流程。

• 1 — 开设专用账户

在你写下第一个 Beancount 条目前,开设一个专用的企业支票账户和企业信用卡。这种物理上的分离是干净簿记的基础。完成后,在你的 Beancount 账本中反映这种结构。

2025-07-23 open Assets:Bank:Business   USD
2025-07-23 open Assets:Bank:Personal USD

这个简单的设置确保了从交易发生的那一刻起,每笔交易都可以清楚地分配给你的企业或个人财务。

• 2 — 记录所有者出资和提款

作为所有者,你将在你的个人资金和企业之间转移资金。这些不是收入或支出。相反,它们是通过权益账户跟踪的。

  • 出资: 当你将自己的资金 投入 企业以启动或弥补亏空时。
  • 提款: 当你从企业中 取出 资金用于个人用途时(这是许多个体经营者“支付”自己的方式)。
; 启动企业的注资
2025-07-23 * "所有者出资"
Assets:Bank:Business 10,000.00 USD
Equity:Owner:Contrib

; 取出现金用于个人生活费用
2025-08-05 * "业主提取租金"
Equity:Owner:Draw 2,500.00 USD
Assets:Bank:Business

通过将这些记录为权益交易,你可以确保它们不会错误地夸大你的企业支出或减少你报告的利润。

• 3 — 快速处理混合收据

错误是难免的。你可能会不小心用你的企业卡支付了个人晚餐。关键是在你的账本中立即更正它。不要删除交易;将其重新分类为所有者提款。

2025-08-07 * "用企业卡购买的个人杂货"
Equity:Owner:Draw 72.35 USD
Assets:Bank:Business

此条目正确反映了企业资金用于个人支出,将其视为你从公司取出的资金。这可以防止你意外地在税款中申报不可扣除的个人支出。

• 4 — 按计划对账和审查

一致性是你对抗混乱账簿的最佳防御措施。每周或每月留出时间来核对你的企业账户。使用 Beancount 的工具来确保你的账本与你的银行对账单相符,并审查你公司的业绩。

# 检查你的企业银行余额与你的对账单是否相符
bean-balance books.bean "Assets:Bank:Business"

# 生成损益表以审查盈利能力
bean-report books.bean income_statement -e 2025-08-31

这种定期审查的习惯满足了 IRS 的记录保存要求,并让你随时了解企业的财务状况。

税务注意事项

  • 预估税: 为了避免巨额税单,将你未来的税款视为一项持续的企业支出。创建负债账户(Liabilities:Tax:FederalLiabilities:Tax:State),并定期将每笔存款的一定比例转移到这些账户中。当季度付款到期时,现金已经到位。
  • 不可扣除的个人费用: 记住 IRS 的规则:企业支出必须对你的工作“普通且必要”。你的个人餐费、通勤费用和非企业订阅不符合条件,必须完全排除在企业的损益表之外。

快速入门清单

  • 开设仅限企业的银行和信用卡账户。
  • 使用 Assets:Bank:BusinessEquity:Owner:ContribEquity:Owner:Draw 构建 Beancount 科目表。
  • 决定你的会计基础(现金制或权责发生制),并在你的 Beancount options 中注明。
  • 立即将企业卡上的任何意外个人费用标记为 Equity:Owner:Draw
  • 每周对账;将你的 .bean 文件备份到私有的 Git 远程服务器。
  • 每月审查你的损益表、资产负债表和现金流量表。

底线: 分开资金,分开账本。Beancount 使你的企业和个人财务之间的界限明确——并且版本控制——因此你的企业始终处于审计就绪状态,而你的拿铁习惯除了你之外谁也不知道。祝你记账愉快!

解构 Beancount 账本:企业会计案例研究

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

在今天的博客文章中,我们将深入剖析一个专为企业设计的 Beancount 账本,帮助你理解这种纯文本复式记账系统的复杂细节。

解构 Beancount 账本:企业会计案例研究

我们先从代码开始:

2023-05-22-business-template

1970-01-01 open Assets:Bank:Mercury
1970-01-01 open Assets:Crypto

1970-01-01 open Equity:Bank:Chase

1970-01-01 open Income:Stripe
1970-01-01 open Income:Crypto:ETH

1970-01-01 open Expenses:COGS
1970-01-01 open Expenses:COGS:Contabo
1970-01-01 open Expenses:COGS:AmazonWebServices

1970-01-01 open Expenses:BusinessExpenses
1970-01-01 open Expenses:BusinessExpenses:ChatGPT

2023-05-14 * "CONTABO.COM" "Mercury Checking ••1234"
Expenses:COGS:Contabo 17.49 USD
Assets:Bank:Mercury -17.49 USD

2023-05-11 * "Amazon Web Services" "Mercury Checking ••1234"
Expenses:COGS:AmazonWebServices 14490.33 USD
Assets:Bank:Mercury -14490.33 USD

2023-03-01 * "STRIPE" "Mercury Checking ••1234"
Income:Stripe -21230.75 USD
Assets:Bank:Mercury 21230.75 USD

2023-05-18 * "customer_182734" "0x5190E84918FD67706A9DFDb337d5744dF4EE5f3f"
Assets:Crypto -19 ETH {1,856.20 USD}
Income:Crypto:ETH 19 ETH @@ 35267.8 USD

理解代码

  1. 开立账户:代码首先在 1970-01-01 开立了一系列账户。其中包括资产账户(Assets:Bank:MercuryAssets:Crypto)、权益账户(Equity:Bank:Chase)、收入账户(Income:StripeIncome:Crypto:ETH)以及费用账户(Expenses:COGSExpenses:COGS:AmazonWebServicesExpenses:BusinessExpensesExpenses:BusinessExpenses:ChatGPT)。

  2. 交易记录:接着,代码记录了 2023-03-01 至 2023-05-18 期间的一系列交易。

    • 2023-05-14 的交易表示从 Mercury Checking ••1234CONTABO.COM 支付了 17.49 美元。这笔交易被记录为一项费用(Expenses:COGS:Contabo),并相应地从 Assets:Bank:Mercury 账户中扣除。

    • 同样,2023-05-11 的交易表示从同一银行账户向 Amazon Web Services 支付了 14490.33 美元。这笔交易记录在 Expenses:COGS:AmazonWebServices 下。

    • 2023-03-01 的交易显示来自 STRIPE 的收入存入 Mercury Checking ••1234,总计 21230.75 美元。这笔交易被记录为收入(Income:Stripe),并增加到银行账户(Assets:Bank:Mercury)中。

    • 2023-05-18 的最后一笔交易代表一笔涉及客户 19 ETH 的加密货币交易。这笔交易记录在 Assets:CryptoIncome:Crypto:ETH 下。{1,856.20 USD} 显示了交易时 ETH 的价格,而 @@ 35267.8 USD 则指明了这笔 19 ETH 交易的总价值。

在所有交易中,都遵循了复式记账原则,确保 资产 = 负债 + 权益 的等式始终成立。

总结

这个 Beancount 账本提供了一个直接而强大的财务交易追踪系统。正如最后一笔交易所示,Beancount 足够灵活,可以核算加密货币等非传统资产,这证明了它在我们日益数字化的金融环境中的实用性。

我们希望这次剖析能帮助你更好地理解 Beancount 的结构和功能,无论你是经验丰富的会计师还是尝试管理个人财务的初学者。敬请关注我们的下一篇博客文章,届时我们将深入探讨 Beancount 的高级操作。

Beancount.io 简介

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

现代簿记为何重要

你还在用电子表格管理投资吗?虽然电子表格功能多样,但随着投资组合的增长,它们可能会变得笨重且容易出错。Beancount.io 应运而生——一个专为管理股票和加密货币投资组合而设计,既复杂又用户友好的投资追踪平台。Beancount.io 专为工程师和财务极简主义者打造,将强大的功能与直观的界面相结合,以简化你的投资追踪体验。

2019-09-07-introduction-to-beancount

Expenses

Income Statement

Balance Sheet

复式记账:准确性的基石

Beancount.io 建立在复式记账的原则之上——这是一种全球金融机构都在使用的久经考验的方法。该系统通过一个简单而强大的概念确保数学准确性:每笔财务交易都必须完美平衡。

在复式记账中,每笔交易至少需要两个分录——一个借方 (+) 和一个贷方 (-)——涉及不同的账户。这种内置的验证系统使得记录不平衡的交易几乎不可能,从而确保你的财务记录保持准确和可靠。

1970-01-01 open Income:BeancountCorp
1970-01-01 open Assets:Cash
1970-01-01 open Expenses:Food
1970-01-01 open Assets:Receivables:Alice
1970-01-01 open Assets:Receivables:Bob
1970-01-01 open Assets:Receivables:Charlie
1970-01-01 open Liabilities:CreditCard

2019-05-31 * "BeancountCorp" "Salary of May 15th to May 31st"
Income:BeancountCorp -888 USD
Assets:Cash 888 USD

2019-07-12 * "Popeyes chicken sandwiches" "dinner with Alice, Bob, and Charlie"
Expenses:Food 20 USD
Assets:Receivables:Alice 20 USD
Assets:Receivables:Bob 20 USD
Assets:Receivables:Charlie 20 USD
Liabilities:CreditCard -80 USD

如你在上面两个示例中所见,每笔交易都必须满足会计等式。

资产 = 负债 + 权益(即净资产)

我们使用 Martin Blais 的 Beancount 语法和 Jakob Schnitzer 的 Fava 网络项目来构建本网站。如果任何交易的分录总和不为零,它将向你发出警报。

Error Alert

现在你了解了我们如何强制执行账本的正确性。但你可能会问,这些“账户”是什么?

理解账户:水桶类比

将你的财务账户想象成一个相互连接的水桶系统,金钱像水一样在其中流动。这个类比使得复式记账变得直观:当你将资金从一个账户转移到另一个账户时,就像将水从一个水桶倒入另一个水桶一样——系统中水的总量(金钱)保持不变。

Beancount.io 引入了五种账户。

  1. 收入 — 其金额始终为负或在借方。这是因为你正在赚钱,然后资金从“收入”账户借记并贷记到你的“资产”账户。
  2. 支出 — 其金额始终为正或在贷方。这是因为你正在花钱,资金从“资产”或“负债”流向“支出”账户。
  3. 负债 — 其金额为正或为零。你的信用卡负债就是一个很好的例子,它会周期性地增减。
  4. 资产 — 其金额为正或为零。你的现金或房屋总是具有一定的价值。
  5. 权益 — 你的净资产。系统将自动为你计算。权益 = 资产 - 负债,它反映了你的财富状况。

现在你可以使用上述关键词打开你的自定义账户:

1970-01-01 open Assets:Cash
1970-01-01 open Assets:Stock:Robinhood
1970-01-01 open Assets:Crypto:Coinbase
1970-01-01 open Expenses:Transportation:Taxi
1970-01-01 open Equity:OpeningBalance

使用商品进行高级投资追踪

Beancount.io 擅长追踪多样化的投资,从股票到加密货币。让我们探讨它如何处理复杂的投资场景。例如,以下是你在 2014 年以每枚 100 美元的价格购买 10 枚比特币的记录方式:

2014-08-08 * "Buy 10 Bitcoin"
Assets:Trade:Cash -1000.00 USD
Assets:Trade:Positions 10 BTC {100.00 USD}

三年后,你以每枚 10,000 美元的价格出售它们(原始成本为每枚 100 美元,用 {100.00 USD} 标注),价格用 @ 10,000.00 USD 标注。

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @ 10,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

或者相同的交易使用 @@ 20,000.00 USD,表示总价为 20,000 美元

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @@ 20,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

交易所有分录的总和,包括 -2 BTC {100.00 USD},仍然和往常一样为零。

成本标签 {100.00 USD} 很重要,因为你可能以不同的成本购买了相同的商品。

100 BTC {10.00 USD, 2012-08-08}
10 BTC {100.00 USD, 2014-08-08}

如果你想简化流程,可以在开始时将账户设置为 FIFO 或 LIFO。FIFO 代表先进先出,而 LIFO 代表后进先出。在美国,美国国税局 (IRS) 使用 FIFO 来计算你的损益和相应税款。

1970-01-01 open Assets:Trade:Positions "FIFO"

然后当你以 -2 BTC {} 这样的简写形式出售时,Beancount 将自动应用 FIFO 策略并出售最旧的商品。

开始使用 Beancount.io

Beancount.io 是一个现代化的云端财务管理平台,它将你的文本交易记录转换为全面的财务报表,包括利润表、资产负债表和试算平衡表。通过将纯文本文件的可靠性与强大的可视化工具相结合,Beancount.io 帮助你精确控制财务生活,同时获得有关投资绩效的宝贵见解。

立即开始你的 Beancount.io 财务之旅——促销期间免费!

使用 Beancount 的簿记基础:通往清晰账簿的纯文本路径

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

如果你不知道钱的去向,就无法掌控业务。 准确的账簿可以将猜测转化为洞察力。(Investopedia

每个企业主、自由职业者或初创公司创始人都最终会面临同样的现实:财务混乱是增长的杀手。如果没有清晰的现金流图景,你就像是在盲目飞行。但是,如果你能以与代码相同的精度和控制力来管理你的财务状况呢? Beancount 正是这样一个强大的开源会计系统,它在纯文本文件上运行。

2019-03-24-bookkeeping-basics

本指南将引导你了解簿记的基础知识,并向你展示如何使用 Beancount 构建健壮、轻量级且透明的财务工作流程。

什么是簿记?

从本质上讲,簿记是对企业进行的每笔财务交易进行系统和持续的记录。它是跟踪收入、支出、资产(你拥有的)和负债(你欠的)的日常规范。

在 Beancount 的世界中,这些记录并非锁定在专有软件中。它们存在于简单易懂的纯文本文件中。这种方法允许你使用 Git 等工具对你的财务历史进行版本控制,就像你对软件项目一样。每个条目都受复式平衡规则的约束,这是一个优雅的系统,可自动检查你的工作并确保你的账簿始终正确。(beancount

为什么它很重要?

细致的簿记不仅仅是行政上的整洁;它是一种战略优势。

  • 税务信心: 当税季来临时,清晰的记录是你最好的朋友。美国国税局 (IRS) 要求提供清晰的收入和扣除额证明文件。维护良好的分类账意味着你可以自信地提交文件,并大大缩短任何潜在的审计时间。(IRS
  • 更明智的决策: 你的定价是否足够高?特定的服务合同是否真的有利可图?订阅成本是否呈螺旋式上升失控?损益表和资产负债表等财务报表揭示了定价漏洞、失控的成本和现金流缺口,为管理者和投资者提供了做出明智选择所需的数据。(Investopedia
  • 更容易获得资金: 贷款人和投资者不会根据直觉做出决定。在汇款之前,他们会要求提供财务报表。良好的账簿使你能够在几秒钟内生成资产负债表或损益表,展现专业性和财务健康状况。(Investopedia
  • 欺诈和错误警报: 定期将你的账簿与银行对账单进行核对是你抵御错误的第一道防线。这个简单的习惯可以帮助你快速发现重复收费、银行错误或欺诈活动,防止它们成为重大问题。(IRS

七步纯文本蓝图

准备好开始了吗?以下是如何从头开始构建 Beancount 驱动的簿记系统。

1. 将企业账户和个人账户分开

这是不可协商的第一步。开设一个专用的企业支票账户,如果需要,还可以开设一张企业信用卡。混合资金会给会计工作带来噩梦,并可能模糊你和你的企业之间的责任界限。清晰的区分对于准确扣除和法律保护至关重要。(小型企业管理局

在 Beancount 中,你可以使用 open 指令声明这些账户的存在:

; 你的账户的期初余额
2025-07-22 open Assets:Bank:Business USD
2025-07-22 open Assets:Bank:Personal USD

2. 选择一个簿记系统

Beancount 使用 复式记账法,这是几个世纪以来会计的黄金标准。其原理很简单:每笔交易都会影响至少两个账户。对于从一个账户借记的每一笔款项,必须有相应的贷记到另一个账户。该系统的魔力在于,所有账户的总和必须始终为零。Beancount 会自动强制执行此规则,这意味着拼写错误或逻辑错误会立即发出标记。你实际上不可能有不平衡的账簿。(beancount

3. 确定会计方法

你主要有两个选择:

  • 现金收付制: 你在收到款项时记录收入,在付款时记录支出。它更简单,并直接反映你的现金流。
  • 权责发生制: 你在 赚取 收入时(例如,发出发票时)记录收入,在 发生 支出时(例如,收到账单时)记录支出。这种方法可以更真实地反映公司的财务健康状况和业绩,尤其对于成长型公司而言。(Investopedia

以下是 Beancount 中权责发生制交易的示例。你在发出发票时记账收入,将价值移入 Assets:AccountsReceivable。当客户付款时,你将现金从 AccountsReceivable 移至你的银行账户。

; 权责发生制示例:发出发票,稍后付款
2025-07-22 * "设计发票 #101"
Assets:AccountsReceivable 3000.00 USD
Income:Design

2025-08-15 * "客户支付发票 #101"
Assets:Bank:Business 3000.00 USD
Assets:AccountsReceivable

4. 组装你的工具栈

Beancount 的美妙之处在于其极简主义的模块化特性。你的核心工具栈包括:

  • 编辑器 + Git: 你最喜欢的用于记录交易的文本编辑器和用于版本控制的 Git,为你提供每次更改的完整、可审核的历史记录。
  • bean-report / bean-balance / Fava: bean-report 等命令行工具和令人惊叹的 Web 界面 Fava 为你提供即时财务报表、仪表板和强大的过滤功能。
  • 导入器: 一个丰富的社区构建的导入器生态系统可以通过 CSV、Plaid 或 Stripe 和 PayPal 等服务的 API 连接到你的银行 Feed,从而自动化大部分数据输入。

5. 对每笔交易进行分类

组织良好的“会计科目表”是洞察力报告的支柱。使用分层账户来定义对你的业务有意义的类别,以实现粒度。然后,在记录交易时,对它们进行细致的分类。

2025-07-30 * "AWS 月账单"
Expenses:Hosting:AWS 124.50 USD
Assets:Bank:Business
tag: "ops"

在此示例中,费用清楚地归档在 Expenses:Hosting:AWS 下。tag: "ops" 的使用还允许进行交叉报告,例如查看所有运营费用,无论其主要类别如何。(IRS

6. 安全地存储源文档

美国国税局 (IRS) 乐于接受收据和发票的数字副本。将纸质收据扫描或将电子邮件发票转发到云存储(如 Google Drive 或 Dropbox)中的专用文件夹。然后,使用元数据直接链接到 Beancount 条目中的文件。这将创建一个密闭的、自包含的记录。

; 收据图像链接为元数据
2025-07-18 * "团队午餐"
Expenses:Meals 85.10 USD
Assets:Bank:Business
receipt: "receipts/2025-07-18-team-lunch.jpg"

7. 养成簿记的习惯

一致性是关键。拖延会使簿记变成一项压力大、耗时的琐事。留出 recurring 的时间段(每周或每月的“Bean-day”)来导入交易、核对账户并查看你的财务报告。这个简单的例行程序将簿记从季度性的混乱工作转变为快速、赋能的业务健康检查。(IRS

自行操作与专业帮助

  • 自行操作: 对于交易量可预测的自由职业者或小型企业,使用 Beancount 的自行操作方法非常有效。最好与注册会计师进行一次简短的一次性咨询,以验证你的会计科目表并确保你走在正确的轨道上。
  • 专业审查: 随着你的业务规模扩大、交易变得更加复杂或合规风险上升,聘请专业簿记员或会计师进行定期审查是非常宝贵的。你可以继续使用 Beancount 作为你的主要真相来源,只需导出他们需要的报告即可。

快速入门清单

  • 开设单独的企业银行账户。
  • 克隆 Beancount 入门存储库并在 accounts.bean 中定义你的账户。
  • 选择现金制或权责发生制并坚持下去。
  • 设置导入器以从你的银行 (CSV)、Stripe、PayPal 等自动化数据输入。
  • 为每笔交易标记并编写清晰的描述。
  • 每周或每月将你的分类账与银行对账单进行核对。
  • 使用 Fava 或 bean-report 生成月度收入、余额和现金流报告。
  • 定期备份你的 .bean 文件(Git + 异地存储)。

进一步阅读

准备好开始了吗? 安装 Beancount,提交你的第一个条目,并将电子表格的迷雾换成纯文本的清晰度。祝你 Bean-keeping 快乐!