複式簿記 の会計ツールであるledger-cliは、経理・会計だけでなくて 時間管理 やクルマの 走行距離管理 にも使えます。
ここでは走行距離をトラッキングする方法を紹介します。
Ledger-cliで クルマの走行距離をトラッキングして
オイル交換の時期をミスらないようにする
トランザクション例
金額や走行距離は当てずっぽうです。
2020/08/10 * コバック
;; 走行距離管理 開始日
; オイル交換:
(走行距離) 54,293 km
Expenses:Cars:整備修繕 5,800 JPY
Liabilities:Visa
2021/01/15 * オートバックス
; オイル交換:
(走行距離) = 58020 km
Expenses:Cars:整備修繕 6,100 JPY
Liabilities:Visa
2021/07/24 * イエローハット
; オイル交換:
(走行距離) = 62,728 km
Expenses:Cars:整備修繕 6,000 JPY
Liabilities:Visa
2021/10/25 * ガソリンスタンド
; オイル交換:
(走行距離) = 67312 km
Expenses:Cars:整備修繕 5,000 JPY
Liabilities:Visa
補足説明
-
Ledgerで走行距離の管理を開始した 最初の日 のトランザクションでは次の点に注意してください
- 走行距離の前に = (イコール)を 書かない
- 距離に3桁ごとの , (カンマ)は忘れずに書いてください。Ledgerは 初出 のcommodity(通貨単位)がどのように書かれているかを見て、それ以降の書式を決めています
-
2回目以降のトランザクションでは、上の例のようにカンマはあってもなくてもOKです。ただし、距離の数値の前にある = (イコール)と、 距離の単位 km は 必須 です
-
各トランザクションの2行目にある
; オイル交換:
は タグ です。無くても良いですが後でクエリの時に使えるように書いてあります3
使い方
上のトランザクションが myledger.dat に保存されているときの balance
出力例:
$ ledger bal 走行 -f myledger.dat
67,312 km 走行距離
km
という距離単位が JPY
, $
, €
などの通貨単位と同じように扱われています。
なおクエリのキーワドが「走行」になっていますが、「走」で始まるアカウントが「走行距離」だけなら「走」だけでもOKです。
次は register
の出力例です。
$ ledger reg 走行 -f blog.ledger
2020/08/10 コバック (走行距離) 54,293 km 54,293 km
2021/01/15 オートバックス (走行距離) 3,727 km 58,020 km
2021/07/24 イエローハット (走行距離) 4,708 km 62,728 km
2021/10/25 ガソリンスタンド (走行距離) 4,584 km 67,312 km
- 一番右の列はその日までの 総走行距離 total mileageです。
- 右から2番めの列は前回の
(走行距離)
からの差で、オイル交換までの走行距離 mileage data になります。
オイル交換日以外にも (走行距離)
レコードがある場合
たとえば 車検 の日にも (走行距離)
を記録したいですよね。
2021/06/15 * スバルディーラ
; 車検:
(走行距離) =60,210 km
Expenses:Cars:整備修繕 105,000 JPY
Liabilities:Visa
このトランザクションが含まれているLedgerファイルを上のようにクエリすると、 reg
出力内には 車検も混じってきます。
純粋にオイル交換だけを抽出したいときには
ledger reg 走行 and %オイル交換 -f myledger.dat
とします。
この
%オイル交換
は各トランザクションにつけた「オイル交換」というタグをキーワードにしてクエリするという指示になります。
まとめ
これまでオイル交換時期の管理は次のような メモ に頼っていました。
- クルマのドアなどに貼り付けた交換時期のステッカー
- PC、タブレットのスケジュール帳に記したメモ
- Ledgerに記録したコメント( 資料を参照してください)
それなりに管理はできてはいましたが、このようにしてLedgerで走行距離をトラッキングするようになってからはストレス ゼロ。オイル交換のタイミングはワンライナーのコマンドで いつでもすぐに確認できます。
その他の応用
Ledgerによる走行距離トラッキングは、オイル交換の他にも応用ができそうです。たとえば、毎月末に次のような感じのトランザクションを書いておけば、月々の走行距離をデータにして色々な分析をおこなうことができます 4。
2021/10/30 * フォレスター
(走行距離) = 68,000 km
次のクエリで、月ごとの走行距離データを表示できます。
$ ledger reg 走行 -f myblog.dat --monthly --collapse --amount-data
:
2021-06-01 2190
2021-07-01 2518
2021-08-01 0
2021-09-01 0
2021-10-01 5272
:
これを使えば、走行距離と他の会計・経理データとの関連を分析することが簡単にできます。
スモールビジネスで車両の運行データと経費をまとめて管理するには有効だと思いますが、個人の家計では使いみちは あまり無いかも知れませんね 😓
資料
次のように、Ledger内にコメントまたは単なるメモとして走行距離を書いておく方法があります。
2021/10/29 コバック
; オイル交換:
; 56,000 km
Expenses:Cars:整備修繕 5,610 JPY
Liabilities:Visa
コメントの中から「オイル交換」を検索して、ヒットしたトランザクションを表示すれば交換時の走行距離を見ることができます。
$ ledger p note オイル交換
これが最も簡単な走行距離管理です。
Footnotes:
-
仮想アカウント(virtual account)の説明は別にsomewhere else。 ↩︎
-
わたし自身のLedgerファイルでは
(Odometer)
というアカウント名にしています。コマンドラインでクエリをキー入力する際に、日本語で「走行」と打つキーストローク数は10ストロークほどになります。Odometerならled r odo
で済みます。 ↩︎ -
オイル交換を頻繁に行う人では、これをタグにするのではなくて、
Expenses:整備修繕:オイル交換
というふうにアカウント(account; 勘定科目)にした方が良いでしょう。 ↩︎ -
このようなトランザクションの書き方は、Ledgerでは正統的ではないかも知れませんが、とりあえず動きます。 ↩︎