如何在 Emacs 中使用分类帐模式管理您的财务

Ledger Mode 是 Emacs 中用于命令行会计程序的一个包 账本. 这允许 Emacs 用户在他们最喜欢的文本编辑器中舒适地利用 Ledger 的强大功能。

内容

为什么使用分类帐模式并在 Emacs 中进行簿记?

账本模式 使用简单直观。 它会自动平衡您的财务状况,并在您的记录出现任何问题时通知您。 它还允许您对费用和收入来源进行分类,然后可以从包裹本身进行分类和分析。

简而言之,对于使用 Emacs 作为生产力套件的人来说,Ledger Mode 是一个绝妙的补充。 它消除了对电子表格的需求,同时还允许您在 Emacs 体验的其他部分中使用分类帐数据。

Emacs 的工作理念是互操作性。 这意味着在 Emacs 中生成的任何数据都可以重新用于其中的任何其他包。 在这种情况下,Ledger Mode 允许其用户创建您为 ledger 编写的数据并将其组合到 Emacs 中的其他工具。

Emacs Ledger 03 Emacs 互操作性图片来源: app.diagrams.net

这允许您,因为 example, 以创建链接到存档电子邮件和分类帐文件的组织模式文档。 不仅如此,您还可以轻松地将分类帐条目复制到您的电子邮件中,反之亦然。 这都是因为 Ledger Mode 中的条目是纯文本,Emacs 可以轻松地将其移动到任何缓冲区。

Emacs Ledger 04 互操作性示例

分类帐实用程序

如上所述,Emacs 的 Ledger 模式只是访问 Ledger 命令行实用程序的一种方式。 有了这个,重要的是要知道 Ledger 程序是什么以及它可以开箱即用地做什么。

分类帐如何工作

Ledger 是一个简单的程序,可以读取纯文本分类帐并从中创建会计报告。 与传统的簿记程序不同,它不会创建和修改任何数据库文件。 这使得 Ledger 成为一个精益且灵活的解决方案,用于密切关注您的财务状况。

Emacs Ledger 05 传统与 Ledger图片来源: app.diagrams.net

Ledger 使这成为可能的方式是它希望文件中的每个条目都遵循特定的格式。 考虑以下 example:

在这里,Ledger 期望从纯文本文件中得到三样东西:

  • 标题行,指定书籍条目的日期和名称。 在这种情况下,我在 2 月 16 日添加了费用条目。
  • 一组账户,显示资金的来源和去向。 在这种情况下,我使用了我的现金资产并将其转移到费用账户中。
  • 我移动的钱的价值。 在这里,我为午餐和零食转移了两次现金资产。 然而,这一切都在一天结束时立即从我的资产中取出。

这三个基本假设使您可以轻松地使 Ledger 适应任何情况。 为了 example, Ledger 可以处理货币和商品。 这对于那些不仅要跟踪他们的消费习惯而且还要跟踪他们的投资的人来说非常有用。

在分类帐中定义科目类别

需要注意的重要一点是,Ledger 中每笔交易的类别是完全任意的。 然而,追踪个人财务的一般做法可分为五个部分:

  • 资产 账户是您拥有的商品和货币。 这可以是单一货币,也可以是货币、股票和物品库存的混合。
  • 花费 账户是您用您的资产购买的商品。
  • 收入 账户是您可以从您的财富来源中提取资金的地方。 为了 example,您可以附上您在此帐户下收到的工资。
  • 负债 帐户是您可以分配您当前欠的所有商品的地方。
  • 公平 帐户是一个特殊帐户,您可以使用它来确定您当前的净资产。 这通常在 Ledger 中创建期初余额时使用。

您可以通过在这五个类别中的每一个之后附加一个冒号 (:) 来进一步指定一个事务。 为了 example,带有标签的交易 Expenses:Food:Lunch 可以用三层结构表示。

Emacs Ledger 06 层次结构示例图片来源: app.diagrams.net

安装分类帐

考虑到这一点,安装 Ledger 很简单。 您可以在大多数 Linux 发行版的存储库中找到它。 为了 example,您可以使用 apt 在 Debian 和 Ubuntu 中安装 ledger:

为了 Fedora,您可以使用 dnf:

在 Arch Linux 中,你可以使用 pacman:

就我而言,我使用的是 Debian,所以我将通过 apt 安装 ledger。

Emacs Ledger 07 安装 Ledger 1

在 Emacs 中使用分类帐模式

为了在 Emacs 中使用 Ledger 程序,您需要安装它的配套包 Ledger Mode。 此包默认可用 埃尔帕 存储库。 因此,您已经可以通过 Emacs 的包管理器安装它。

Emacs Ledger 08 Elpa 网站
  1. 为此,您可以按 Alt + X 并键入 package-install. 这将打开一个命令缓冲区,您可以在其中键入要添加到 Emacs 的包。 类型 ledger-mode.
  2. 从那里,Emacs 将下载并编译包的源代码。 之后,您现在可以通过 Ledger Mode 在 Emacs 中使用 Ledger。
Emacs Ledger 09 已安装 Ledger 模式

在 Emacs 中创建您的第一个分类帐

默认情况下,当 Emacs 打开以 .ledger 结尾的文件时,Ledger Mode 会自动启用。

  1. 因此,您可以通过按 Control + X、Control + F 开始在 Emacs 中创建自己的分类帐文件。
  2. 这将打开一个缓冲区,您可以在其中键入要创建的文件的名称。 类型 example.ledger.
  1. 之后,Emacs 将创建“example.ledger”文件在当前目录中并为您打开它。 然后,您可以从这里开始使用您的交易填充您的分类帐文件。

在 Emacs 中创建您的期初余额

要开始在 Ledger 中跟踪您的财务状况,您需要首先提供您当前的余额。 你可以通过扣除你目前拥有的和欠一个股票账户的东西来做到这一点。 为了 example,这是拥有多项资产和负债的人的期初余额:

期初分类帐条目的结构类似于 example 上面有一个关键区别。 在这里,我们在条目标题前添加了一个星号,告诉 Ledger 这笔交易已经“清除”。 这意味着 Ledger 可以清楚地从这些帐户中添加和扣除。

检查您的当前余额

完成后,您现在可以测试 Ledger 是否正确检测到您的文件。

  1. 为此,您可以按 Control + C、Control + O、Control + R。这将提示 Ledger Mode 为您生成报告。
  2. 类型 bal 显示运行余额。
Emacs Ledger 11 余额示例
  1. 这样做将生成您添加到分类帐文件中的所有帐户的层次结构。 然后,所有这些在最后一行应该总计为零。

添加新交易

完成后,您现在可以将新交易添加到您的分类帐文件中。

  1. 您可以通过按 Control + C、Control + A 来执行此操作。这将告诉 Ledger Mode 您要创建一个新交易。
  2. 然后,它会询问您希望此交易的日期。 如果您发行的支票仅在特定日期后清算,这将非常有用。 就我而言,我想使用当前日期,所以我会按 Enter 这里。
Emacs Ledger 12 新交易日期
  1. 然后,Ledger Mode 将询问您之前记录的交易的名称。 如果您正在进行定期付款并且只想复制以前的交易,则可以使用此功能。 就我而言,我想创建一个新交易,所以我也按下了 Enter 这里。
Emacs Ledger 13 以前的交易
  1. 这样,Ledger Mode 将使用当前日期创建一个新的空白行。 然后,您可以从此处添加要执行的事务。 为了 example,我在期初余额后添加了以下交易:
Emacs Ledger 14 示例新交易

生成基本报告

  1. 如上所述,您可以按 Control + C、Control + O、Control + R 来生成报告。 除了 bal但是,您也可以使用许多其他命令从分类帐中生成不同的报告。
  2. 为了 example你可以输入 account 和帐户名称以创建特定类别的帐户对帐单。 在我的例子中,我输入了“资产”来为我的资产类别创建一个声明。
Emacs Ledger 15 资产报表
  1. 另一方面,您可以键入 payee 显示以您提供的字符串为标题的所有交易。 为了 example,我可以输入“snack”来只显示所有带有snack这个词的交易。
Emacs Ledger 16 收款人小吃
  1. 最后,您可以输入 reg 生成整个分类帐的登记报告。 这是一份更详细的余额报告,Ledger 在其中跟踪每种商品以及它们如何平衡。
Emacs Ledger 17 注册样本

恭喜! 您现在知道如何使用 Emacs 来帮助您跟踪您的财务状况。 您还了解了 Ledger 程序以及如何使用它来创建有关您的财务状况的详细报告。

经常问的问题

1. Ledger 报错,我的账本不平衡。 我做错什么了?

这可能是由于许多问题。 然而,最常见的是你忘记了 close 账本中的一笔交易。 解决此问题的一种方法是检查是否有任何交易没有任何负值。

Ledger 中的负值表示您正在从帐户中提取金额。 另一方面,正值意味着您正在添加它。 这两个值代表资产流,需要在 Ledger 中平衡您的帐户。

这样一来,这意味着对于您将在 Ledger 中进行的每笔交易。 你需要有一个正值和一个负值。

2. Ledger 是否只能用于现实世界的资产?

一点也不。 如上所述,Ledger 中使用的所有帐户都是完全任意的。 这意味着虽然本指南中的示例指向现实世界的资产,但您也可以使用 Ledger 来跟踪虚拟资产。

为了 example,这是流行 MMO 游戏 EVE Online 中跟踪资产的分类帐的摘录:

3. 是否可以像银行对账单一样颠倒交易顺序?

是和不是。 您可以颠倒 Ledger 生成的报告中的交易顺序。 但是,您不能冲销分类帐文件中的订单交易记录。 要执行前者,您可以在报告缓冲区中按 Shift + R 以反转其顺序。

图片来源: 不飞溅

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅