Ledger - CLIで複式簿記 - codelab basic
では早速codelab的なのをしてみましょう。僕のユースケースを想定してみます。
- 支払いはほぼデビットカードかクレカ。たまに現金も。
- 支払い通貨は3種類ほどある
- 給与生活者
- 費用(いわゆる支出)はざっくり分かれればいい(食費とか光熱費とか)
- でも、できたらどのスーパーで買ったとかもわかると嬉しい
- でも、カテゴリーだけでなく「イベント」(旅行とか)でも見れると嬉しい。
- 手動で銀行からデータを入れたくないので、できたら銀行のダウンロードしたファイルを読み込みたい。
結構、要求が大きくなりましたね。一気に全部というのは難しいので、まずは簡単な例を考えてみたいと思います。
どうやらLedgerはテキストファイルを付ける機能はないっぽいので自分で書いていきます。
% cat codelab.ledger 2021/06/25 お給料 Assets:Mizuho 100,000 JPY Income:base salary 2021/06/28 ヨドバシ Expenses:家具 20,000 JPY Liabilities:クレカ 2021/06/28 カード支払い Liabilities:クレカ 30,000 JPY Assets:Mizuho 2021/06/30 マルエツ Expenses:食費 5,000 JPY Assets:Mizuho
いわゆる借方が上、貸方が下に来ます。ではレポートを早速見ていきましょう。
% ledger -f codelab.ledger balance 65,000 JPY Assets:Mizuho 25,000 JPY Expenses 20,000 JPY 家具 5,000 JPY 食費 -100,000 JPY Income:base salary 10,000 JPY Liabilities:クレカ -------------------- 0
最初の残高を入れてないのでハチャメチャではありますが、合ってはいそうです。資産の残高だけを見てみましょう。
% ledger -f codelab.ledger balance Assets 65,000 JPY Assets:Mizuho
やはり合ってそうです。次は現金出納帳です。現金以外にも使えます。
% ledger -f codelab.ledger register 21-Jun-25 お給料 Assets:Mizuho 100,000 JPY 100,000 JPY Income:base salary -100,000 JPY 0 21-Jun-28 ヨドバシ Expenses:家具 20,000 JPY 20,000 JPY Liabilities:クレカ -20,000 JPY 0 21-Jun-28 カード支払い Liabilities:クレカ 30,000 JPY 30,000 JPY Assets:Mizuho -30,000 JPY 0 21-Jun-30 マルエツ Expenses:食費 5,000 JPY 5,000 JPY Assets:Mizuho -5,000 JPY 0 % ledger -f codelab.ledger register Assets 21-Jun-25 お給料 Assets:Mizuho 100,000 JPY 100,000 JPY 21-Jun-28 カード支払い Assets:Mizuho -30,000 JPY 70,000 JPY 21-Jun-30 マルエツ Assets:Mizuho -5,000 JPY 65,000 JPY
こんな感じで基本的な帳簿はつけられそうです。