Emacs Ledger-mode Reconcilation

1. What: Double-entry Accounting

Double-entry Accounting 也即复式记账:

  1. 每一笔经济业务同时记录于借方和贷方,同时记录也即 double-entry ;
  2. 准确和完整反映财务状况;
  3. 很多工具支持,例如 hledger, ledger, GNU Cash 等, Emacs 的 ledger-mode 也对其有很好支持。

2. Why: 复式记账流程中的 Reconcile

Why 才是复式记账系统或者说核心。讨论 Why 从复制记账系统的流程说起,Reconcile 在复式记账中的流程处于什么位置呢? 对账的目的是确保账簿记录与实际情况相符,如银行对账单等。对账后如发现差异,需要进行调整分录。 以下步骤是复式记账的基本流程:

  1. Journalizing: 记录交易分录
  2. Posting to ledgers: 计入账簿
  3. Reconcilation: 对账、核对

Reconcilation 过程可以帮助发现账本与实际账户之间的差异,纠正错误,并维护账本的准确性。

3. How: Reconcile in Ledger-mode

Doom 已集成 ledger 模块,在 $(doom-user-dir)/init.el 配置打开:

(doom! :lang
       ledger)

在平时记录好 ledger 条目之后,选择预定时间点如月末进行对账 reconcile ,具体流程如下:

  1. 编辑并记录 ledger 文件记录,以形成基本记录,包括平账部分和未平账确认部分;
  2. 定期平账
    1. 打开要处理的 ledger 文件;
    2. 光标停留在某 transaction 的账户行,在想要执行 reconcile 的账户上使用 SPC m R 快捷键也即执行 (ledger-reconcile) 函数,自动提示选择账户,如果确认停留的账户就是需要 reconcile 的账户,则直接 RET 回车确认生成对账报告;
    3. 使用 M-x ledger-reconcile-display-balance-in-header-mode 来切换显示对账的目标和当前未平账数额;
    4. 使用 M-x ledger-reconcile-toggle 切换确认无误的记录和有问题需要编辑的记录;
    5. 使用 M-x ledger-reconcile-add 添加交易来更正记录;
    6. 执行 M-x ledger-reconcile-finish 以完成 reconcile 确认;
  3. 对于未平账部分,在原文件中继续记录,最终完成对账。

4. Attachment   ARCHIVE