跳到主要内容

69 篇博文 含有标签「Financial Management」

查看所有标签

Beancount 助力小型企业主

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

你真正能理解并掌握的记账基础知识

管理自己的账目不一定意味着电子表格、压力或昂贵的软件。Beancount 为你提供了一种极简、可审计且强大的记账方式,只需使用纯文本和复式记账系统即可。

2025-06-25-beancount-for-small-businesses

本指南是你使用 Beancount 整理小型企业账目的完整入门,其中包含真实示例和分步指导。

🧾 什么是 Beancount?

Beancount 是一个开源的纯文本会计系统,围绕着复式记账构建。你将交易写入 .beancount 文件,并使用 bean-doctorbean-reportFava 等工具来分析和可视化你的账目。

这是一个基本交易示例:

2025-06-01 * "Client Payment: Invoice #123"
Assets:Bank:Business:Checking 1,200.00 USD
Income:Consulting -1,200.00 USD

它可读、可脚本化、可版本控制——非常适合追求透明度和控制权的业务所有者。

📌 为什么记账很重要(以及为什么选择 Beancount)

  • 你报税需要它
  • 你需要它来获得清晰度
  • 你需要它来获得资金
  • 你需要它来及早发现错误

而使用 Beancount,你只需一个文本编辑器和一些工具即可完成所有这些工作

🪜 使用 Beancount 开始自己记账的 8 个步骤

1. 分离企业与个人财务

开设一个单独的企业支票账户和信用卡。在 Beancount 中反映出来:

2025-06-01 open Assets:Bank:Business:Checking USD
2025-06-01 open Liabilities:CreditCard:Business USD

这能让你的账目保持清晰,并在法律上保护你(特别是如果你是有限责任公司或公司)。

2. 使用复式记账

每个财务事件都会影响两个账户。Beancount 通过设计强制实现这种平衡:

2025-06-05 * "Web hosting payment"
Expenses:Hosting 15.00 USD
Assets:Bank:Business:Checking -15.00 USD

这保证了你账本的数学完整性。

3. 选择现金制或权责发生制

  • 现金制: 仅在收到/支付现金时记录收入/支出。
  • 权责发生制: 跟踪应付/应收账款等义务。

现金制示例:

2025-06-10 * "Client payment received"
Assets:Bank:Business:Checking 800.00 USD
Income:Sales -800.00 USD

权责发生制示例(发票已开,然后收到付款):

2025-06-01 * "Invoice #2001 issued"
Assets:AccountsReceivable 800.00 USD
Income:Sales -800.00 USD

2025-06-15 * "Payment received for Invoice #2001"
Assets:Bank:Business:Checking 800.00 USD
Assets:AccountsReceivable -800.00 USD

4. 设置你的会计科目表

清晰定义你的类别。一个极简示例:

2025-01-01 open Income:Sales USD
2025-01-01 open Expenses:Software USD
2025-01-01 open Expenses:Meals USD
2025-01-01 open Equity:Owner USD

根据你的业务定制这些科目。保持一致性和描述性。

5. 分类交易(带元数据)

使用元数据来跟踪上下文。这有助于抵扣、审计和清晰度。

2025-06-18 * "Team lunch after Q2 milestone"
Expenses:Meals 90.00 USD
Assets:Bank:Business:Checking -90.00 USD
; business_purpose: Q2 celebration
; attendees: Alice, Bob, Tian

添加标签或收据链接:

  ; receipt: ./receipts/2025-06-18-lunch.jpg

6. 存储支持文件

使用 Dropbox、Google Drive 或 receipts/ 文件夹。然后像这样在 Beancount 中链接它们:

2025-06-02 * "Domain Renewal - GoDaddy"
Expenses:Hosting 20.00 USD
Assets:Bank:Business:Checking -20.00 USD
; receipt: ./receipts/domain-godaddy.pdf

审计师和税务专业人士会喜欢你这样做。

7. 为抵扣做准备

清晰标记可抵扣费用:

2025-06-03 * "Adobe Creative Cloud Subscription"
Expenses:Software 60.00 USD
Assets:Bank:Business:Checking -60.00 USD
; deductible: true
; usage: 100% business

使用自定义元数据或标签(如 #deductible)来跟踪潜在的冲销。

8. 养成习惯

创建工作流程。例如:

# Weekly bookkeeping routine
git pull origin main
bean-extract transactions.csv >> ledger.beancount
bean-doctor ledger.beancount
bean-check ledger.beancount
fava ledger.beancount

或者只需承诺一个“Beancount 星期五”,每周对账所有内容。

💼 自己动手还是寻求帮助?

你可以使用 Beancount 自己完成所有工作。但即使是高级用户也应该:

  • 在设置期间咨询注册会计师 (CPA)
  • 如果需要,在报税时聘请会计师
  • 使用 Fava 生成月度报告

你将获得会计系统的所有强大功能,而无需供应商锁定或订阅费用

🛠️ Beancount 用户推荐工具

  • Fava – Beancount 文件的精美网页仪表板
  • bean-doctor – 对你的账本进行健康检查
  • bean-query – 运行类似 SQL 的报告
  • beancount-import / beanie – 自动银行导入
  • 版本控制 – 使用 Git 跟踪账本更改

✅ 最终示例:完整交易流程

2025-06-20 * "Consulting payment from Acme Inc."
Assets:Bank:Business:Checking 3,000.00 USD
Income:Consulting -3,000.00 USD
; invoice: 2025-06-acme
; project: "Backend API redesign"

2025-06-21 * "Notion Pro Plan"
Expenses:Software 10.00 USD
Assets:Bank:Business:Checking -10.00 USD
; purpose: project documentation
; receipt: ./receipts/notion-june.pdf

🎯 总结

Beancount 非常适合希望以下的小型企业主:

  • 保持低成本
  • 完全掌控自己的财务
  • 避免传统软件的臃肿
  • 拥抱透明度和纯文本的简洁性

你想要一个可下载的 .bean 业务入门模板吗?请告诉我你的业务类型,我将为你量身定制一个。

为什么理财如此困难?常见痛点及实现财务清晰的途径

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

坦白说,管理个人财务感觉就像一场杂耍。从追踪日常开支和月度预算,到为远大梦想储蓄、偿还债务以及努力增加投资,这是一系列复杂的任务。无论你的年龄、收入或居住地,你可能都遇到过令人沮丧的障碍。

好消息是?你并不孤单。你面临的许多挑战都是普遍存在的。本文探讨了个人理财管理中一些最常见的痛点,审视它们为何如此棘手以及人们正在使用哪些策略来应对。

2025-06-04-why-is-managing-money-so-hard

1. 碎片化视图:将所有财务集中于一处

痛点: 你的资金分散在多处——这里是支票账户,那里是信用卡,别处还有退休基金,甚至可能有一两个数字钱包。尝试通过登录多个应用程序和网站来获取整体财务状况的单一、清晰视图,既耗时又令人沮丧。这种碎片化可能导致细节遗漏,并让你对真实的净资产或现金流缺乏清晰的掌握。事实上,研究表明,超过一半的消费者会为了获得更全面的视图而更换金融服务提供商。

常见方法:

  • 聚合应用: Empower(前身为 Personal Capital)、Mint、YNAB 和 Monarch 等工具承诺将你的所有账户整合到一个仪表板中。
  • 银行提供的聚合服务: 一些主要银行现在提供链接和查看外部账户的功能。
  • 手动电子表格: 许多人仍然每月仔细更新电子表格中每个账户的余额。
  • 单独登录: 这种老式的一一查看方式仍然是一种常见但效率低下的习惯。

为何依然困难: 尽管有这些解决方案,用户仍经常抱怨连接中断需要重新认证、覆盖不完整(小型区域银行或加密货币钱包等小众账户通常无法同步)以及数据延迟。隐私顾虑也阻止了一些人链接账户,因为超过一半的人由于信任或知识差距尚未数字化整合其账户。

2. 预算攻坚战:制定并坚持计划

痛点: 设定支出限额并实际遵守它们是一个普遍的难题。近五分之二的美国人从未有过正式预算,许多尝试过的人也难以坚持。这可能导致过度消费、债务和焦虑。这种痛点通常源于预算让人感到束缚、意外开支打乱计划,或者缺乏如何制定切合实际预算的知识,尤其是在收入波动的情况下。

常见方法:

  • 预算应用: YNAB (You Need A Budget)、Mint、Simplifi 和 PocketGuard 提供各种方法论,从零基预算到带支出提醒的自动化追踪。
  • 电子表格: 对于追求高度自定义的用户而言,电子表格是首选工具,大约40%的预算编制者使用它们。
  • 现金信封法: 一种实实在在的支出控制方法,通过将实体现金分配到不同支出类别的信封中。
  • 自动化规则: 通过自动转账到储蓄账户实现“先支付给自己”,或自动化账单支付,然后花掉剩余的钱。
  • 财务指导与在线社区: 在Reddit等平台上寻求专家建议或同伴支持,以获取动力和技巧。

为什么依然困难: 预算既是行为挑战,也是财务挑战。诱惑、消费升级以及缺乏金融素养会破坏即使是最好的意图。许多应用程序强制采用一种不适合所有人的特定方法论,而不准确的自动交易分类则会产生繁琐的手动工作。

3. 钱去哪儿了的谜团:追踪收入与支出

痛点: 你是否曾到月底时,疑惑一大笔钱到底去了哪里?你并不孤单;大约59%的美国人没有定期追踪支出。挑战在于持续记录所有交易,特别是现金购买,并对其进行有意义的分类,以便理解消费习惯。

常见方法:

  • 个人理财应用: 大多数预算应用也通过自动导入关联银行和信用卡账户的交易来追踪支出。
  • 手动记录: 使用日记本、简单的支出追踪应用,甚至是日本的“家计簿”方法来细致地记录每一笔开销。
  • 定期审查: 有些人不是每天追踪,而是每周或每月审查银行和信用卡账单。
  • 专业工具: 像 Expensify 这样的商业收据应用,或用于追踪经常性费用的订阅追踪器。

为何仍然困难: 自动分类通常不准确,迫使用户不断进行修正——例如,这是 Mint 用户普遍抱怨的问题。现金支出很容易被遗忘,并且除非手动输入,否则很少被应用记录。实时反馈通常不足,这意味着洞察力来得太晚,无法影响当月的消费行为。

4. 债务困境:还款策略

痛点: 管理和减少债务——无论是信用卡、学生贷款还是个人贷款——都是一个主要的压力来源。高利率让人感觉像是在跑步机上原地踏步,大部分还款都用于支付利息而非本金。事实上,展望2025年,减少债务是21%美国人的首要财务目标。

常见方法:

  • 债务偿还规划工具: 像 Debt Payoff Planner 或 Undebt.it 这样的应用程序,通过债务雪球法(优先偿还最小余额)或债务雪崩法(优先偿还最高利率)等策略,帮助用户可视化还款计划。
  • 债务整合与再融资: 申请新的低利率贷款,或使用0%年利率的余额转账信用卡来合并多笔债务。
  • 手动策略应用: 使用电子表格或简单列表,手动采用雪球法或雪崩法。
  • 自动额外还款与零钱凑整: 设置自动额外还款,或使用将购物零钱用于偿还债务的应用程序。
  • 支持社区: 人们在在线论坛上分享进展并寻找动力。

为何依然困难: 许多用户难以理解利息是如何累积的。在漫长的还款过程中保持动力也很困难。现有工具通常无法将债务策略与整体预算无缝整合,也无法提供足够个性化的建议或强有力的激励反馈。

5. 巨额目标障碍:为大额购置储蓄

痛点: 为购买房屋、汽车或举办婚礼等重大购置储蓄,需要数月甚至数年的自律。在平衡日常生活的同时,持续地拨出大笔资金,并抵制动用这些储蓄的诱惑,是极具挑战性的。

常见方法:

  • 专用储蓄账户: 开立标明特定目标(例如,“购房基金”)的独立账户。许多网上银行为此提供“资金桶”或“储蓄罐”功能。
  • 自动化: 设置在每个发薪日从活期账户自动转账到目标专用储蓄账户。
  • 目标追踪应用: 一些金融应用允许设定目标并可视化进度。
  • 社区储蓄策略: 在某些文化中,轮流储蓄和信贷协会(ROSCAs)等非正式团体很常见。
  • 使用非流动形式: 暂时将资金锁定在短期存单(CDs)或债券中,以防止轻易提取。

为何依然困难: 保持延迟满足的自律性很困难。工具通常无法将目标储蓄与月度预算很好地整合,或者在你落后时动态调整计划。在现有应用限制下,与伴侣共同管理共享目标也可能很棘手。

6. 伴侣理财难题:与他人共同管理财务

痛点: 与伴侣、配偶,甚至是室友共同理财,在协调预算、分配责任、保持透明度和避免冲突方面带来了复杂性。财务分歧是导致关系紧张的主要原因。

常见方法:

  • 联名账户和共享卡: 处理共同家庭开支的常用方法。通常与独立的个人账户配合,采用“你的、我的、我们的”模式。
  • 费用分摊应用: 诸如 Honeydue、Tandem 或 Splitwise 等工具旨在帮助伴侣或团体追踪共同开支并进行结算。
  • 电子表格和定期“财务约会”: 定期共同审查财务,讨论支出、账单和目标。
  • 分工与津贴: 为每个伴侣分配具体的财务任务,或分配个人消费资金以减少冲突。

为何依然困难: 大多数财务应用专为单用户设计。找到一个对双方都公平透明的系统,尤其是在金钱观念或收入不同时,是一个持续的挑战。工具通常缺乏细粒度隐私控制或促进更好财务沟通的功能,而不仅仅是分享数字。

7. 投资迷宫:追踪与理解你的投资组合

痛点: 随着财富的增长,追踪分散在多个平台上的多元化投资(如股票、债券、退休账户和加密货币)变得越来越复杂。理解整体表现、资产配置和税务影响可能令人不知所措。

常见方法:

  • 投资组合聚合应用: 像 Empower (Personal Capital) 或 Kubera 这样的服务旨在整合来自不同账户的投资数据。
  • 券商整合: 通过将旧账户转入单一券商来最小化平台数量。
  • 自制电子表格: 使用 Google Sheets 等工具,结合函数(例如 GOOGLEFINANCE)手动追踪持仓和表现。
  • 智能投顾: 依赖自动化投资服务提供的仪表盘。
  • 专业追踪工具: 像 Sharesight 这样的工具用于详细追踪包括股息在内的表现,或 CoinTracker 用于加密货币。

为什么仍然困难: 没有一个工具能完美地自动聚合所有资产类型。计算真实的投资表现(计入投入、股息、费用)很复杂。许多工具要么过于简化,要么用数据淹没用户,并且通常缺乏清晰的教育内容或目标整合。

迈向财务清晰

个人财务管理是一段充满潜在陷阱的持续旅程。尽管科技提供了日益增多的工具,但核心挑战往往在于行为、知识,以及找到真正适合个人和共同生活的系统。通过理解这些常见的痛点,我们能更好地识别策略,并寻求或倡导能为我们的财务健康带来更大清晰度、信心和掌控力的解决方案。财务工具的格局正在不断演变,有望带来更直观、更集成、真正有用的资金管理方式。

使用 Beancount 和 AI 自动化小微企业费用管理

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

小微企业主每月平均花费 11 小时手动分类费用 —— 每年有近三个完整的工作周投入到数据录入中。2023 年 QuickBooks 的一项调查显示,68% 的企业主将费用追踪列为最令人沮丧的记账任务,但只有 15% 的企业采用了自动化解决方案。

在 Beancount 等工具的赋能下,纯文本会计为财务管理提供了一种全新的方法。通过将透明、可编程的架构与现代 AI 能力相结合,企业可以在保持对数据完全控制的同时,实现高度准确的费用分类。

2025-05-28-如何使用纯文本会计自动化小微企业费用分类:Beancount 用户分步指南

本指南将引导您构建一个专为您的业务模式定制的费用自动化系统。您将了解为什么传统软件力有不逮,如何利用 Beancount 的纯文本基础,以及实施自适应机器学习模型的实际步骤。

手动费用管理的隐性成本

手动费用分类耗费的不仅仅是时间 —— 它还削弱了业务潜力。考虑一下机会成本:那些用于将收据与类别匹配的时间,本可以用于推动业务增长、加强客户关系或优化您的产品服务。

《今日会计》(Accounting Today) 最近的一项调查发现,小微企业主每周投入 10 小时处理记账任务。除了时间损耗,手动流程还引入了风险。以一家数字营销机构为例,他们发现手动分类导致差旅费用虚高了 20%,从而扭曲了其财务规划和决策。

根据美国小企业管理局 (SBA) 的数据,财务管理不善仍是小微企业失败的主要原因。分类错误的费用可能会掩盖盈利能力问题,忽视成本节约机会,并在纳税季带来不必要的麻烦。

Beancount 的架构:简约而不失强大

Beancount 的纯文本基础将财务数据转化为代码,使每笔交易都可追踪并具备 AI 兼容性。与困在专有数据库中的传统软件不同,Beancount 的方法允许通过 Git 等工具进行版本控制,为每一次更改创建审计追踪。

这种开放式架构允许与编程语言和 AI 工具无缝集成。一家数字营销机构报告称,通过使用根据其特定业务规则自动分类交易的自定义脚本,每月可节省 12 小时。

纯文本格式确保了数据的可访问性和可移植性 —— 无供应商锁定意味着企业可以随着技术的发展而不断调整。这种灵活性结合强大的自动化能力,在不牺牲简单性的情况下,为复杂的财务管理奠定了基础。

构建您的自动化流程

使用 Beancount 构建费用自动化系统,首先要组织好您的财务数据。让我们通过真实示例来了解具体的实施过程。

1. 设置您的 Beancount 结构

首先,建立您的账户结构和类别:

2025-01-01 open Assets:Business:Checking
2025-01-01 open Expenses:Office:Supplies
2025-01-01 open Expenses:Software:Subscriptions
2025-01-01 open Expenses:Marketing:Advertising
2025-01-01 open Liabilities:CreditCard

2. 创建自动化规则

以下是一个展示自动分类的 Python 脚本:

import pandas as pd
from datetime import datetime

def categorize_transaction(description, amount):
# 定义分类规则
rules = {
'ADOBE': 'Expenses:Software:Subscriptions',
'OFFICE DEPOT': 'Expenses:Office:Supplies',
'FACEBOOK ADS': 'Expenses:Marketing:Advertising'
}

for vendor, category in rules.items():
if vendor.lower() in description.lower():
return category
return 'Expenses:Uncategorized'

def generate_beancount_entry(row):
date = row['date'].strftime('%Y-%m-%d')
desc = row['description']
amount = abs(float(row['amount']))
category = categorize_transaction(desc, amount)

return f'''
{date} * "{desc}"
{category} {amount:.2f} USD
Liabilities:CreditCard -{amount:.2f} USD
'''

3. 处理交易

以下是自动化条目在您的 Beancount 文件中的样式:

2025-05-01 * "ADOBE CREATIVE CLOUD"
Expenses:Software:Subscriptions 52.99 USD
Liabilities:CreditCard -52.99 USD

2025-05-02 * "OFFICE DEPOT #1234 - PRINTER PAPER"
Expenses:Office:Supplies 45.67 USD
Liabilities:CreditCard -45.67 USD

2025-05-03 * "FACEBOOK ADS #FB12345"
Expenses:Marketing:Advertising 250.00 USD
Liabilities:CreditCard -250.00 USD

测试至关重要 —— 从交易子集开始,以验证分类的准确性。通过任务调度器定期执行,每月可节省 10 小时以上,让您能够专注于战略重心。

通过高级技术实现高准确率

让我们探索如何将机器学习与模式匹配相结合,以实现精确的分类。

使用正则表达式进行模式匹配

import re

patterns = {
r'(?i)aws.*cloud': 'Expenses:Cloud:AWS',
r'(?i)(zoom|slack|notion).*subscription': 'Expenses:Software:Subscriptions',
r'(?i)(uber|lyft|taxi)': 'Expenses:Travel:Transport',
r'(?i)(marriott|hilton|airbnb)': 'Expenses:Travel:Accommodation'
}

def regex_categorize(description):
for pattern, category in patterns.items():
if re.search(pattern, description):
return category
return None

机器学习集成

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
import re
from typing import List, Tuple

class ExpenseClassifier:
def __init__(self):
self.vectorizer = TfidfVectorizer()
self.classifier = MultinomialNB()

def parse_beancount_entries(self, beancount_text: str) -> List[Tuple[str, str]]:
"""将 Beancount 分录解析为 (描述, 分类) 对。"""
entries = []
for line in beancount_text.split('\n'):
# 查找交易描述
if '* "' in line:
desc = re.search('"(.+)"', line)
if desc:
description = desc.group(1)
# 获取下一行,该行应包含支出分类
next_line = next(filter(None, beancount_text.split('\n')[beancount_text.split('\n').index(line)+1:]))
if 'Expenses:' in next_line:
category = next_line.split()[0].strip()
entries.append((description, category))
return entries

def train(self, beancount_text: str):
"""使用 Beancount 分录训练分类器。"""
entries = self.parse_beancount_entries(beancount_text)
if not entries:
raise ValueError("训练数据中未找到有效分录")

descriptions, categories = zip(*entries)
X = self.vectorizer.fit_transform(descriptions)
self.classifier.fit(X, categories)

def predict(self, description: str) -> str:
"""预测新交易描述的分类。"""
X = self.vectorizer.transform([description])
return self.classifier.predict(X)[0]

# 使用训练数据的示例:
classifier = ExpenseClassifier()

training_data = """
2025-04-01 * "AWS Cloud Services Monthly Bill"
Expenses:Cloud:AWS 150.00 USD
Liabilities:CreditCard -150.00 USD

2025-04-02 * "Zoom Monthly Subscription"
Expenses:Software:Subscriptions 14.99 USD
Liabilities:CreditCard -14.99 USD

2025-04-03 * "AWS EC2 Instances"
Expenses:Cloud:AWS 250.00 USD
Liabilities:CreditCard -250.00 USD

2025-04-04 * "Slack Annual Plan"
Expenses:Software:Subscriptions 120.00 USD
Liabilities:CreditCard -120.00 USD
"""

# 训练分类器
classifier.train(training_data)

# 测试预测
test_descriptions = [
"AWS Lambda Services",
"Zoom Webinar Add-on",
"Microsoft Teams Subscription"
]

for desc in test_descriptions:
predicted_category = classifier.predict(desc)
print(f"描述: {desc}")
print(f"预测分类: {predicted_category}\n")

该实现包含:

  • 对 Beancount 分录的正确解析
  • 每个分类包含多个示例的训练数据
  • 提高代码清晰度的类型提示
  • 针对无效训练数据的错误处理
  • 针对相似但未见过的交易的示例预测

结合两种方法

2025-05-15 * "AWS Cloud Platform - Monthly Usage"
Expenses:Cloud:AWS 234.56 USD
Liabilities:CreditCard -234.56 USD

2025-05-15 * "Uber Trip - Client Meeting"
Expenses:Travel:Transport 45.00 USD
Liabilities:CreditCard -45.00 USD

2025-05-16 * "Marriott Hotel - Conference Stay"
Expenses:Travel:Accommodation 299.99 USD
Liabilities:CreditCard -299.99 USD

这种混合方法通过以下方式实现了显著的准确率:

  1. 对可预测的模式(订阅、供应商)使用正则表达式(Regex)
  2. 对复杂或新的交易应用机器学习(ML)
  3. 维护反馈循环以进行持续改进

一家科技初创公司实施了这些技术来自动化其费用跟踪,在保持 99% 准确率的同时,每月减少了 12 小时的人工处理时间。

追踪影响与优化

通过具体指标衡量自动化成功与否:节省的时间、错误的减少以及团队满意度。追踪自动化如何影响更广泛的财务指标,如现金流准确性和预测可靠性。

随机交易采样有助于验证分类准确性。当出现偏差时,请细化您的规则或更新训练数据。与 Beancount 集成的分析工具可以揭示以前隐藏在手动流程中的支出模式和优化机会。

与 Beancount 社区交流,发现新兴的最佳实践和优化技术。随着业务的发展,定期优化可确保您的系统持续提供价值。

展望未来

自动化的纯文本会计代表了财务管理领域的一次根本性变革。Beancount 的方法将人工监督与 AI 的精准度相结合,在保持透明度和控制力的同时,确保了财务数据的准确性。

其优势不仅限于节省时间——还包括更清晰的财务洞察、更少的错误以及更明智的决策。无论你是技术导向型人才,还是专注于业务增长,这一框架都为你提供了一条通往更高效财务运营的路径。

从小处着手,细致衡量,并在此基础上积累成功。你的自动化财务管理之旅,从记录第一笔交易开始。

使用 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 账本:企业会计案例研究

我们先从代码开始:

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 制作和追踪发票

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

一个纯文本模板、一个可重复的工作流程和一个简单的查询,即可解答“还有谁欠我钱?”


2022-02-12-crafting-tracking-invoices-with-beancount

开票工作有时感觉像是一件苦差事,卡在你已完成的工作和你正在等待的付款之间。 但是,良好的开票流程是健康现金流的支柱。 它具有双重作用:清晰地告知你的客户他们欠款多少以及何时付款,并为你的会计系统提供其所需的可靠事实。

虽然专用的 SaaS 应用程序可以发送流畅的自动化 PDF 文件,但它们通常需要按月付费,并将你的数据锁定在专有孤岛中。 使用 Beancount 的轻量级纯文本方法提供了一个强大的替代方案。 你可以将每张发票转换为一组清晰的会计分录,从而获得版本控制、强大的元数据和即时查询的所有好处,而无需订阅。


最小可行发票(你永远不应该跳过的字段)

在接触你的账本之前,你需要一张专业的发票。 格式可以很简单,但内容必须精确。 这些借鉴久经考验的小企业实践的字段是不可协商的。

  • 卖方详细信息: 你的公司名称和实际地址。
  • 客户详细信息: 你的客户的名称和(理想情况下)他们的地址。
  • 发票编号: 一个唯一的、连续的 ID,永不重复使用。 INV-045 紧随 INV-044 之后。
  • 开票日期和到期日期: 清楚地说明发票的开具日期和预期付款日期。
  • 项目明细: 对服务或产品的清晰描述,以及数量、单价和项目总计。
  • 小计、税金和总计: 显示计算过程,以便客户可以轻松理解。
  • 可选注释: 用于感谢、汇款指示或客户提供的采购订单号。

为了帮助你入门,我们创建了一组可立即编辑的模板,其中包含所有这些字段。 电子表格版本甚至会为你预先计算总计。

Note: Invoice templates are coming soon! In the meantime, you can create your own using the fields listed above in Google Docs, Word, Sheets, Excel, or any other document format.


在你的账本中记录发票

将发票 PDF 发送给客户后,你必须将其记录在 Beancount 中。 这是一个至关重要的步骤,它在收入产生时确认收入,而不仅仅是在收到付款时。 该过程涉及两个不同的交易。

1. 开具发票时:

你创建一个交易,将总金额从你的 Income 账户转移到 Assets:AccountsReceivable。 这会在你的账簿中创建一个数字借据。

; 2025‑07‑21 发票 #045  为 Acme Corp. 进行的网页设计冲刺
2025-07-21 * "Acme Corp" "INV-045 网页设计冲刺"
Assets:AccountsReceivable 3500.00 USD ; due:2025-08-04
Income:Design:Web
invoice_id: "INV-045"
contact_email: "[email protected]"
link: "docs/invoices/2025-07-21_Acme_INV-045.pdf"

在这里,你借记 AccountsReceivable 并贷记你的 Income 账户。 请注意丰富的元数据:到期日期、唯一的 invoice_id,甚至直接指向你发送的 PDF 的 link:

2. 客户付款时:

当现金存入你的银行账户时,你记录第二个交易以“结清”借据。 这会将余额从 AccountsReceivable 转移到你的支票账户。

2025-08-01 * "Acme Corp" "INV-045 付款"
Assets:Bank:Checking 3500.00 USD
Assets:AccountsReceivable
invoice_id: "INV-045"

Assets:AccountsReceivableINV-045 的余额现在为零,你的账簿完全平衡。

附加 PDF: link: 元数据键与 Fava(Beancount 的 Web 界面)一起使用时尤其强大。 Fava 将直接在交易视图中呈现可点击的链接,因此只需点击一下即可访问源文档。 此工作流程早在 2016 年就在一项功能请求中设想 (GitHub)。


一个查询即可列出所有未结发票

那么,还有谁欠你钱? 使用此系统,你无需在电子邮件或电子表格中查找。 你只需要一个简单的查询。

将以下内容保存为名为 open-invoices.sql 的文件:

SELECT
meta('invoice_id') AS id,
payee,
narration,
date,
number(balance) AS outstanding
WHERE
account = "Assets:AccountsReceivable"
AND balance != 0
ORDER BY
date;

现在,从你的命令行运行它:

bean-query books.beancount open-invoices.sql

几秒钟内,你将获得一份清晰的、最新的所有未结发票的账龄报告,其中显示发票 ID、客户、开票日期和欠款金额。 无需额外的软件。


自动化繁琐的工作

纯文本的优点在于可编写脚本。 你可以自动化此工作流程中繁琐的部分。

  • 模板 + Pandoc = PDF: 以 Markdown 格式维护你的发票模板。 一个小型 Python 脚本可以填充变量(客户名称、项目明细、发票编号),命令行工具 Pandoc 可以立即将其转换为专业的 PDF。
  • Git 预提交钩子: 如果你将账本存储在 Git 中,一个简单的预提交钩子可以在你保存工作之前运行检查。 它可以验证每个新的 invoice_id 是否唯一,交易过账是否平衡为零,以及 link: 元数据中引用的文件是否实际存在。
  • Cron 作业: 设置计划任务(cron 作业)以每晚运行你的 open-invoices.sql 查询并通过电子邮件向你发送摘要。 你将每天开始工作时确切地知道谁需要友好的提醒。

现实的警告

Beancount 是一个会计工具,而不是开票服务。 它不会自动向你的客户发送付款提醒或处理他们的信用卡付款。 工作流程是:你使用你选择的方法(例如上面的模板)创建并发送发票,然后在你的账本中记录会计分录。

对于大多数自由职业者和小商店来说,这个手动步骤对于一个完全拥有和控制的、防弹的、可审计的免费会计系统来说是一个很小的代价 (beancount.io)。


后续步骤

准备好控制你的开票了吗? 以下是开始的方法。

  1. 下载模板并使用它创建你的下一个真实发票,确保使用连续的发票编号。
  2. 将你发送的 PDF存储在专用文件夹中,例如 docs/invoices/,并在你的 Beancount 交易中使用 link: 元数据键来引用它们。
  3. 保存 open-invoices.sql 查询并将其作为你每周财务审查的一部分运行。

纯文本会计并不意味着放弃完善或控制——它只是意味着数据库是可 grep 的。 使用简单的模板和上面的代码片段,你将更快地获得付款并且保持你的账簿整洁。

Beancount 引入多文件支持

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

自二月份以来,我们的许多客户一直在询问如何向一个账本添加多个文件。他们需要文件结构来归档或分类交易。因此,经过几个月的工作,我们很高兴地宣布此功能已免费发布。

以下是使用方法:

文件 > 创建新文件

2021-09-24-multi-file-one-ledger

前往左侧导航栏中的文件编辑器选项卡。然后,点击“文件”下拉菜单并选择“创建新文件”。

文件 > 创建新文件

命名新文件

为你的文件指定一个有效的文件名并保存。所有文件名必须以“.bean”结尾。

命名新文件

包含文件

这是一个关键步骤,你必须在 main.bean 中包含新创建的文件。

例如,如果你添加了 stock.bean,则在 main.bean 中指定 include "stock.bean"

包含文件

刷新并导航到文件

刷新页面,你将看到文件出现在“文件”下拉菜单中。

刷新并导航到文件

重命名或删除文件

导航到文件后,你可以在“编辑”下拉菜单中重命名或删除它。

重命名或删除文件

遇到问题?

请在 https://t.me/beancount 提问。

Beancount 移动应用(iOS 和 Android 版)隆重推出

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

我们很高兴地宣布 Beancount 发展史上的一个重要里程碑:我们专为 iOS 和 Android 平台打造的移动应用已正式上线!此次发布直接回应了社区最频繁的需求之一——在移动设备上高效管理你的账本。

Beancount iOS 应用

主要功能

  • 快速交易录入:随时随地无缝添加新交易
  • 移动财务报告:随时随地查看你的财务洞察
  • 直接账本编辑:通过优化后的网页视图完全访问你的账本文件
  • 跨平台同步:在所有设备上保持你的财务数据一致

2020-08-19-beancount-mobile-app

社区驱动开发

此次发布仅仅是我们移动之旅的开端。我们致力于根据你的需求和反馈来不断完善这些应用。欢迎加入我们在 Telegram 上的活跃社区:https://t.me/beancount,与我们讨论 Beancount,分享你的经验,并帮助塑造未来的功能。

我们的愿景

在 Beancount,我们的使命是赋能每个人实现更好的财务控制和理解。这些移动应用是实现这一目标的重要一步,未来我们还有更多激动人心的功能和工具在规划中。

从 App Store 下载从 Play Store 下载

使用 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 快乐!