Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Quản lý tài chính với Ledger Mode trong Emacs

Quản lý tài chính với Ledger Mode trong Emacs

Ledger Mode là gói Emacs cho chương trình kế toán dòng lệnh Ledger. Cho phép người dùng Emacs khai thác tính năng mạnh của Ledger ngay trong trình soạn thảo yêu thích.

Tại sao dùng Ledger Mode làm sổ sách trong Emacs?

Ledger Mode đơn giản, trực quan. Tự động cân đối tài chính, cảnh báo khi ghi chép sai. Phân loại chi tiêu, nguồn thu – sắp xếp, phân tích từ chính gói. Ledger Mode là bổ sung tuyệt vời cho người dùng Emacs làm bộ công cụ năng suất. Loại bỏ bảng tính, đồng thời dùng dữ liệu ledger cho các phần khác của Emacs.

Quản lý tài chính với Ledger Mode trong Emacs

Emacs hoạt động theo tư duy tương tác vận hành (interoperability): dữ liệu tạo ra trong Emacs có thể tái sử dụng cho gói khác. Ledger Mode cho phép tạo, kết hợp dữ liệu ledger với công cụ khác trong Emacs (ví dụ: tài liệu Org Mode liên kết email lưu trữ và file ledger; copy entry ledger sang email và ngược lại – vì entry ledger là plain text, Emacs dễ dàng chuyển giữa buffer).

Quản lý tài chính với Ledger Mode trong Emacs Quản lý tài chính với Ledger Mode trong Emacs

Tiện ích Ledger

Ledger Mode chỉ là cách truy cập Ledger CLI. Cần hiểu Ledger là gì và làm gì được.

Ledger hoạt động như thế nào?

Ledger đọc sổ cái plain text, tạo báo cáo kế toán. Khác với phần mềm kế toán truyền thống, nó không tạo/sửa file database. Ledger là giải pháp gọn nhẹ, linh hoạt theo dõi tài chính.

Quản lý tài chính với Ledger Mode trong Emacs

Ledger yêu cầu mỗi entry tuân theo định dạng cụ thể. Ví dụ:

2022/02/16 Expenses
    Expenses:Food:Lunch        140 PHP
    Expenses:Food:Snack         50 PHP
    Assets:Fiat:Cash          -190 PHP

Ledger kỳ vọng 3 điều từ file text:

  • Dòng tiêu đề: ngày và tên entry (ví dụ: entry Expenses ngày 16/2).
  • Nhóm tài khoản: tiền từ đâu, đến đâu (tài sản Cash → chi tiêu).
  • Giá trị tiền di chuyển (trừ từ tài sản một lần cuối ngày).

3 giả định cơ bản này giúp Ledger thích ứng mọi tình huống: tiền tệ, hàng hóa (cổ phiếu, đồ vật) – hữu ích cho theo dõi chi tiêu và đầu tư.

Định nghĩa danh mục tài khoản trong Ledger

Danh mục giao dịch trong Ledger hoàn toàn tùy ý. Thông thường tài chính cá nhân chia 5 phần:

  • Tài sản (Assets): tiền tệ, hàng hóa bạn sở hữu (tiền, cổ phiếu, hàng tồn kho).
  • Chi phí (Expenses): hàng hóa mua bằng tài sản.
  • Thu nhập (Income): nguồn tiền (lương...).
  • Nợ (Liabilities): khoản bạn đang nợ.
  • Vốn chủ sở hữu (Equity): tài khoản đặc biệt xác định giá trị ròng. Dùng tạo số dư mở đầu (opening balance).

Chi tiết hơn bằng cách thêm : sau mỗi danh mục. Ví dụ Expenses:Food:Lunch – hierarchy 3 cấp.

Quản lý tài chính với Ledger Mode trong Emacs

Cài đặt Ledger

Có sẵn repo hầu hết distro Linux.

  • Debian/Ubuntu:
    sudo apt install ledger
  • Fedora:
    sudo dnf install ledger
  • Arch:
    sudo pacman -S ledger

Tôi dùng Debian → cài qua apt.

Quản lý tài chính với Ledger Mode trong Emacs

Dùng Ledger Mode trong Emacs

Cài gói đồng hành Ledger Mode (có sẵn kho ELPA mặc định → cài qua package manager Emacs).

Quản lý tài chính với Ledger Mode trong Emacs
  1. Alt+X → package-install → gõ ledger-mode.
  2. Emacs tải, biên dịch. Dùng Ledger trong Emacs qua Ledger Mode.
Quản lý tài chính với Ledger Mode trong Emacs

Tạo sổ cái đầu tiên trong Emacs

Ledger Mode tự bật khi mở file kết thúc bằng .ledger.

  1. Ctrl+X, Ctrl+F → gõ example.ledger.
  2. Emacs tạo file, mở ra. Bắt đầu nhập giao dịch.

Tạo số dư mở đầu (Opening Balance)

Để theo dõi tài chính, cung cấp số dư hiện tại cho Ledger: trừ tài sản/nợ vào tài khoản Equity. Ví dụ opening balance:

2022/02/10 * Opening Balance
    Assets:Bitcoin:Savings       0.045 BTC
    Assets:Bitcoin:Checking      0.00050712 BTC
    Assets:Fiat:Checking     15,000.00 PHP
    Assets:Fiat:Savings     255,944.00 PHP
    Liabilities:Fiat:Car Loan  -450,000.00 PHP
    Liabilities:Fiat:Credit Payable  -5,000.00 PHP
    Liabilities:Fiat:Home Loan  -755,831.34 PHP
    Equity:Opening Balance

Khác với ví dụ trước: thêm * trước tiêu đề → báo cho Ledger giao dịch đã "clear" (xác định) – Ledger được phép cộng/trừ từ các tài khoản này.

Kiểm tra số dư hiện tại

  1. Ctrl+C, Ctrl+O, Ctrl+R → Ledger Mode tạo báo cáo.
  2. Gõ bal hiển thị số dư chạy.
Quản lý tài chính với Ledger Mode trong Emacs
  1. Kết quả: hierarchy tất cả tài khoản, tổng bằng 0 ở dòng cuối.

Thêm giao dịch mới

  1. Ctrl+C, Ctrl+A → tạo giao dịch mới.
  2. Nhập ngày (Enter = hôm nay).
Quản lý tài chính với Ledger Mode trong Emacs
  1. Nhập tên giao dịch đã log trước (dùng cho thanh toán định kỳ). Enter = tạo mới.
Quản lý tài chính với Ledger Mode trong Emacs
  1. Ledger Mode tạo dòng trống với ngày hiện tại. Thêm giao dịch. Ví dụ:
    2022/02/10 * Opening Balance
        Assets:PHP:Checking   5,000.00 PHP
        Assets:PHP:Savings   10,000.00 PHP
        Liabilities:PHP:Credit Payable  -5,000.00 PHP
        Equity:Opening Balance
    2022/02/11 My First Transaction
        Expenses:Food:Snack      250.00 PHP
        Assets:PHP:Checking     -250.00 PHP
Quản lý tài chính với Ledger Mode trong Emacs

Tạo báo cáo cơ bản

  1. Ctrl+C, Ctrl+O, Ctrl+R → báo cáo. Ngoài bal, dùng các lệnh khác.
  2. Gõ account + tên tài khoản → báo cáo tài khoản cụ thể. Ví dụ Assets.
Quản lý tài chính với Ledger Mode trong Emacs
  1. Gõ payee + chuỗi → lọc giao dịch theo tiêu đề. Ví dụ snack.
Quản lý tài chính với Ledger Mode trong Emacs
  1. Gõ reg → báo cáo sổ cái (register) chi tiết từng hàng hóa cân đối.
Quản lý tài chính với Ledger Mode trong Emacs

Chúc mừng! Bạn đã biết dùng Emacs theo dõi tài chính với Ledger Mode và hiểu Ledger CLI tạo báo cáo chi tiết.

Câu hỏi thường gặp

1. Ledger báo lỗi sổ cái không cân đối. Sai ở đâu?

Thường do quên đóng giao dịch (thiếu giá trị âm). Trong Ledger: giá trị âm = rút từ tài khoản, dương = thêm vào. Cần cả 2 để cân đối.

2. Ledger chỉ dùng cho tài sản thực không?

Không. Tài khoản Ledger tùy ý. Ví dụ theo dõi tài sản ảo game EVE Online:

2022/01/04 Venture Profits
    Main:Assets:Liquid:ISK       150,000,000.00 ISK
    Alt 1:Income:Ore Mining      -10,000,000.00 ISK
    Alt 1:Income:Station Trading -40,000,000.00 ISK
    Alt 2:Income:Data Running (0.0) -100,000,000.00 ISK
2022/01/07 Upkeep Costs
    Alt 1:Expenses:Ship Insurance      10,000.00 ISK
    Alt 2:Expenses:New Ship       53,450,000.00 ISK
    Main:Assets:Liquid:ISK       -53,460,000.00 ISK

3. Đảo ngược thứ tự giao dịch như sao kê ngân hàng được không?

Được trong báo cáo (Shift+R trong buffer báo cáo). Không đảo trong file ledger gốc.