跳到主要内容

35 篇博文 含有标签「Finance」

查看所有标签

Beancount 纯文本记账的魔力

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

探索 Beancount 纯文本记账的魔力

Beancount.io 横幅

引言

2023-04-18-Beancount 介绍

欢迎来到一个记账不再是艰巨任务的世界。今天,我们向你介绍 Beancount,一个强大、灵活且直观的纯文本记账工具。Beancount 通过提供透明、直接的资金管理方法,让你能够掌控自己的财务。

在这份全面的指南中,我们将深入探讨 Beancount 的基础知识,解释其核心概念,并引导你了解其简单而强大的功能。阅读完这篇博客,你将对 Beancount 有扎实的理解,并准备好开始使用它来整理和分析你的财务生活。

什么是 Beancount?

Beancount 是由 Martin Blais 创建的一个开源纯文本记账系统。受 John Wiegley 的 Ledger 系统启发,Beancount 旨在提供一种强大可靠的方法,使用纯文本文件管理个人和小型企业的财务。通过 Beancount,你可以轻松追踪你的收入、支出、投资等等。

为什么选择 Beancount?

纯文本记账相比传统的基于电子表格或软件的记账系统具有多项优势:

  • 透明度:Beancount 文件是人类可读的,这使得理解和审计你的财务数据变得容易。
  • 灵活性:Beancount 可以轻松定制以满足你的特定需求,你可以使用你喜欢的文本编辑器和版本控制系统来管理你的财务数据。
  • 便携性:你的财务数据可以在任何设备上访问,并且易于在系统之间传输或与他人共享。
  • 面向未来:纯文本文件具有通用兼容性,确保你的财务数据即使随着技术发展也能保持可访问性。

Beancount 的核心概念

要有效使用 Beancount,理解其核心概念至关重要:

  • 交易:财务事件,例如收入、支出或账户之间的转账,都记录为交易。
  • 账户:交易涉及一个或多个账户,例如资产、负债、收入或支出。
  • 复式记账:Beancount 强制执行复式记账,确保每笔交易都有平衡的借方和贷方。
  • 指令:Beancount 使用一组指令来定义交易、账户开立和其他财务事件。

Beancount 入门

要开始使用 Beancount,请遵循以下简单步骤:

  • 安装 Beancount:根据你操作系统的安装说明,在你的系统上安装 Beancount。
  • 创建你的 Beancount 文件:创建一个新的纯文本文件,扩展名为 .beancount(例如,my_finances.beancount)。
  • 定义你的账户:使用 "open" 指令定义你将在交易中使用的账户。
  • 记录交易:使用 "txn" 指令记录你的财务交易。

或者直接在 https://beancount.io 注册。以下是一些纯文本记账示例 -

示例 1:基本交易

2023-04-01 open Assets:Checking
2023-04-01 open Expenses:Groceries

2023-04-10 txn "Grocery Store" "Buying groceries"
Assets:Checking -50.00 USD
Expenses:Groceries 50.00 USD

在此示例中,我们开立了两个账户:Assets:Checking(资产:活期账户)和 Expenses:Groceries(支出:食品杂货)。2023 年 4 月 10 日,我们记录了一笔价值 50 美元的购买食品杂货的交易。该交易使 Assets:Checking 的余额减少 50 美元(借方),并使 Expenses:Groceries 的余额增加 50 美元(贷方)。

示例 2:收入和支出交易

2023-04-01 open Assets:Checking
2023-04-01 open Income:Salary
2023-04-01 open Expenses:Rent

2023-04-05 txn "Employer" "Salary payment"
Assets:Checking 2000.00 USD
Income:Salary -2000.00 USD

2023-04-06 txn "Landlord" "Monthly rent payment"
Assets:Checking -1000.00 USD
Expenses:Rent 1000.00 USD

在此示例中,我们开立了三个账户:Assets:Checking(资产:活期账户)、Income:Salary(收入:工资)和 Expenses:Rent(支出:租金)。2023 年 4 月 5 日,我们记录了一笔 2000 美元的工资支付交易。该交易使 Assets:Checking 的余额增加 2000 美元(贷方),并使 Income:Salary 的余额减少 2000 美元(借方)。2023 年 4 月 6 日,我们记录了一笔 1000 美元的月租支付交易。该交易使 Assets:Checking 的余额减少 1000 美元(借方),并使 Expenses:Rent 的余额增加 1000 美元(贷方)。

示例 3:账户间转账

2023-04-01 open Assets:Checking
2023-04-01 open Assets:Savings

2023-04-15 txn "Bank" "Transfer from Checking to Savings"
Assets:Checking -500.00 USD
Assets:Savings 500.00 USD

在此示例中,我们开立了两个账户:Assets:Checking(资产:活期账户)和 Assets:Savings(资产:储蓄账户)。2023 年 4 月 15 日,我们记录了一笔从活期账户向储蓄账户转账 500 美元的交易。该交易使 Assets:Checking 的余额减少 500 美元(借方),并使 Assets:Savings 的余额增加 500 美元(贷方)。

这些示例说明了 Beancount 复式记账系统的基本概念。通过正确记录交易,用户可以维护其财务活动的准确记录,并生成报告以深入了解其财务状况。

生成报告和分析数据

Beancount 附带了一套强大的工具,用于生成财务报告,包括资产负债表、利润表等。你还可以使用 Fava(一个基于 Web 的 Beancount 用户界面)来可视化和交互你的财务数据。https://beancount.io 是基于 MIT 许可证的 Fava 构建的。

结论

拥抱 Beancount 纯文本记账的强大和简洁。通过理解其核心概念并遵循本指南中概述的步骤,你将能够轻松精确地管理你的个人或小型企业财务。随着你对 Beancount 越来越熟悉,你可以探索高级功能和自定义设置,以根据你的独特需求调整系统。

无论你是想追踪支出、规划未来,还是深入了解你的财务习惯,Beancount 都提供了实现目标所需的灵活性和透明度。凭借其用户友好的方法,Beancount 有潜力彻底改变你管理财务的方式,并赋能你掌控自己的财务未来。

现在你已经对 Beancount 有了坚实的基础,是时候开始你的纯文本记账之旅了。告别繁琐的电子表格和复杂的软件,欢迎来到 Beancount 的世界。祝你记账愉快!

通过自定义链接和查询提升你的 Beancount 体验

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

Beancount,这个深受开发者和财务爱好者喜爱的复式记账系统,以其简洁性而强大。但是,对于那些希望在 Beancount 的网页界面 Fava 中获得更多控制和更快导航的用户来说,自定义侧边栏链接和 SQL 查询可以将你的工作流提升到新的水平。

在本指南中,我们将向你展示如何:

  • 在 Fava 的侧边栏添加快速访问链接
  • 使用 SQL 查询进行高级筛选和分析
  • 为月度审查或异常检测自定义你的工作流

为什么要自定义 Fava?

Fava 已经是查看你的 Beancount 账本的精美界面,但随着你的日记账不断增长,对更好快捷方式和更智能查询的需求也随之增加。

这解决了以下痛点:

  • 重复导航时间范围
  • 跨嵌套账户筛选交易
  • 更快地发现负余额或异常

✨ 自定义侧边栏链接

让我们从使用简单的侧边栏快捷方式改进你的日常工作流开始。这些链接会出现在 Fava 的左侧边栏,可以直接带你进入筛选视图,例如本月交易或上月收入。

将以下行添加到你的 Beancount 文件中:

2021-01-01 custom "fava-sidebar-link" "Current Month" "/jump?time=month"
2021-01-01 custom "fava-sidebar-link" "Last Month" "/jump?time=month-1"
2021-01-01 custom "fava-sidebar-link" "Clear All" "/jump?account=&time=&filter="

它们的作用:

  • 本月: 打开筛选到当前月份的交易视图。
  • 上月: 立即跳转到上个月——非常适合月末审查。
  • 清除所有: 重置筛选器,再次显示所有条目。

这些快捷方式消除了手动输入时间,让你的 Fava 体验更加流畅和个性化。

🔍 自定义 SQL 查询

为了获得更深入的洞察,Fava 的 SQL 界面功能强大得令人难以置信。这是一个查询,用于查找符合特定模式的账户中的所有负余额——非常适合标记异常或有问题的交易。

SELECT account, units(sum(position)), sum(position)
WHERE number(units(position)) < 0
AND account ~ '.*:BCM:.*'
AND date >= DATE(2021,12,9)
AND date < DATE(2022,1,9)

解析:

  • account ~ '.*:BCM:.*':筛选名称中包含 :BCM: 的账户。
  • number(units(position)) < 0:标记负余额(例如,预算超支)。
  • 日期筛选器将结果范围缩小到特定的 1 个月窗口。

用例:

  • 发现重复支出或错误过账等错误
  • 审计特定供应商或类别
  • 快速提取可操作的预算洞察

🛠 专业提示:结合链接 + 查询

虽然 Fava 不允许直接链接到自定义查询,但你可以通过以下方式养成每月审查的习惯:

  • 使用“本月”链接开始你的审查
  • 在另一个窗格中打开你保存的查询选项卡
  • 同时审查两者——先筛选,然后深入挖掘

这种组合有助于你在异常恶化之前发现它们确保你的账本保持整洁

总结

Beancount 的设计理念是极简,但像这些小小的增强功能却能带来巨大的效率提升。无论你是在审查预算、调试异常余额,还是仅仅为了节省点击次数,自定义链接和 SQL 查询都能为你提供更大的能力和更少的阻碍。

额外提示: 如果你正在使用 Fava 的自定义报告,你甚至可以构建完全符合你个人财务习惯的仪表板。

准备好掌控一切了吗?

从小处着手:添加“本月”链接。然后构建你自己的查询。未来的你会感谢你的。

想要更多此类技巧?订阅我们的新闻通讯或在 Beancount.io 探索更多 Beancount 秘籍。

Beancount 中未来交易的预测

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

Beancount 有一个插件可以预测未来的周期性交易。如何在 beancount.io 中应用它?将以下内容放入你的账本文件中。

; import the plugin
plugin "fava.plugins.forecast"

; add a monthly HOA fee
2022-05-30 # "HOA fee [MONTHLY]"
Expenses:Hoa 1024.00 USD
Assets:Checking -1024.00 USD

预测插件截图

2022-05-30-预测插件

然后,你将在净利润图表中看到预测结果。

预测插件

上面的标签 [MONTHLY] 意味着它将永久循环。如果你有更多条件需要应用,请尝试 [MONTHLY UNTIL 2022-06-01][MONTHLY REPEAT 5 TIMES][YEARLY REPEAT 5 TIMES][WEEKLY SKIP 1 TIME REPEAT 5 TIMES]

理解 Beancount 中的摊销

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

摊销是将支付款项分摊到多个时间段的会计处理方式。在 Beancount.io 中,你可以使用 fava.plugins.amortize_over 插件来实现这一点。

2021-01-09-amortize

如果没有摊销,如果你想为你的汽车投保 6 个月,费用为 600 美元。你必须将其记录为特定日期的一次性费用。

2017-06-01 open Assets:Bank:Checking
2017-06-01 open Assets:Prepaid-Expenses
2017-06-01 open Expenses:Insurance:Auto


2017-06-01 * "Pay car insurance"
Assets:Bank:Checking -600.00 USD
Assets:Prepaid-Expenses

然而,通过摊销,你可以将费用分摊到六个月,只需在文件顶部添加 plugin "fava.plugins.amortize_over",并在交易中使用 amortize_months: 6

plugin "fava.plugins.amortize_over"

2020-06-01 open Assets:Bank:Checking
2020-06-01 open Assets:Prepaid-Expenses
2020-06-01 open Expenses:Insurance:Auto

2020-06-01 * "Amortize car insurance over six months"
amortize_months: 6
Assets:Prepaid-Expenses -600.00 USD
Expenses:Insurance:Auto

然后,在日记账中,你将看到该交易被拆分为 6 笔分录。

2020-11-01 * Amortize car insurance over six months (6/6) am
2020-10-01 * Amortize car insurance over six months (5/6) am
2020-09-01 * Amortize car insurance over six months (4/6) am
2020-08-01 * Amortize car insurance over six months (3/6) am
2020-07-01 * Amortize car insurance over six months (2/6) am
2020-06-01 * Amortize car insurance over six months (1/6) am

摊销交易截图

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 下载