2019年10月1日から消費税が(一部)10%に増税になりました。ボクは経済学が専門ではありませんが、不況下で増税するのはどういう理屈なんでしょうか?不況には 減税 するものと思っていました。経済の専門家のみなさんはオッケーなんですかね?
ま、それはともかくとして、庶民としてはなんとか対応しなければならないわけです。その一つが家計簿などの帳簿でどうやって仕訳するか、です(小さいなぁ〜w)。
物品やサービスごとに税率が8%だったり10%だったりするだけならば、帳簿書きは簡単。ですが、今回は増税に同期して キャッシュレス還元 という不思議な仕掛けが始まりました。ここでは、とりあえずそれへの対応を紹介します。
キャッシュレス還元が始まった
これが 増税 とペアになって始まったこと、それから8ヶ月後には終わりになることなど、とても イミフ な状況ですが、今日(10月3日)、増税後はじめてセブンイレブンで買い物をしてレシートをもらいました。次のような内容でした:
領 収 書
こしあんぱん 108
サンドイッチ 268
赤ワイン 880
-----------------------
小計(税抜 8%) 376
消費税等 30
小計(税抜10%) 880
消費税等 88
-----------------------
合計 1,374
(税率 8%対象 406)
(税率10%対象 968)
(内消費税等 8% 30)
(内消費税等10% 88)
キャッシュレス還元額 -27
nanaco支払い 1,374
ははは、本当に変な領収書・明細書ですね。それはさておき問題はこれをどう仕訳するかです。
このシリーズ(7) で、ETCの還元ポイントを捉えるために 仮想アカウント [Income:還元Point:ETC]
を使いました。今回もそれにならって、キャッシュレス還元を Income:還元Point:キャッシュレス
に収納してみました。ただし仮想アカウントではなくて real なアカウントとしてです。次のような感じです:
2019/10/03 セブンイレブン
Expenses:Grocery:Liquor 968 JPY
Expenses:Meals:Lunch 406 JPY
Income:還元Point:キャッシュレス -27 JPY
Assets:nanaco
これでbal/regレポートを見ると:
$ led bal 還元
-3,027 JPY Income:還元Point
-3,000 JPY ETC
-27 JPY キャッシュレス
--------------------
-3,027 JPY
$ led reg 還元
2019/08/20 ETCマイレージサービス [Income:還元Point:ETC] -3,000 JPY -3,000 JP
2019/10/03 セブンイレブン Income:還元Point:キャッシュレス -27 JPY -3,027 JPY
また当然ですが、支出金額、nanacoからの振り出しとか全ての点でつじつまが合っています:
$ led bal -p today
-1,347 JPY Assets:nanaco
1,374 JPY Expenses
968 JPY Grocery:Liquor
406 JPY Meals:Lunch
-27 JPY Income:還元Point:キャッシュレス
--------------------
0
要するに、キャッシュレス還元を 雑収入 としてに扱ったというわけです。キャッシュレス還元については、このようにrealなアカウントとして扱っても大きな問題は起きません。
real か virtualか
シリーズ(8) では、ETCの還元ポイントはvirtualなアカウントにしました。なぜ、今回のキャッシュレスはrealなアカウントにしたのでしょうか?
今回のキャッシュレス還元は(少なくともnanacoでは)、トランザクションの当日にリアルタイムに一定の金額が明示的に還元されます。どの支出に対して、どれだけの還元があったかが一目瞭然です。しかし先のETCの場合には、還元額がわかるのが1ヶ月以上も後になってからです。この タイムラグ と、それからユーザ側にはどの支出に対してポイントを適用するかを決める 自由 がありません。
キャッシュレス還元ポイントは、実際のお金のようにそのポイントをいつ、何を購入するときに使うかをユーザが決めることができます。なので Income
として扱うことに何の矛盾も生じません。他にもありますが、主にこれらの点から、ETCはrealなアカウントで把握するのが難しかったわけです。
便利なコマンド・オプションたち
帳簿に紛れ込むミスやエラーをできるだけ少なくするために便利な機能をまとめてみました。元帳管理のための必須の機能と言っても良いでしょう。
accountsコマンド
長期間 Ledgerを使っていると、アカウントの構造に混乱が生じます。タイプミスも混入します。そんな場合に便利なのが accounts
コマンドです。
$ led accounts
これで自分のLedgerファイルで使われているすべてのアカウント名がリストされます。結果を上から順番にながめるだけでも、タイプミスとか「表記のゆらぎ」とか色々とみつかります。
accounts
の後ろに正規表現を入力すれば、それにマッチするアカウントがリストされます:
$ led accounts liab
これで Liabilities
に属するアカウントのリストが得られます。
accounts
コマンドでは --count
オプションがおすすめです。これをつけると、すべてのアカウントについてそれが使われた 回数 も併せて表示されます。回数が少ないアカウントは別のアカウントと合併させるとか、いろいろな対策を考えることができます。
Ledgerファイルのメンテナンスには必須の機能だと思います。
payeesコマンド
payees
コマンドは指定した正規表現に一致するトランザクションの支払先 payee
をリストにして表示します。これも支払先の名称のタイプミスや表記ゆらぎを修正するのに便利です。 payees
コマンドに -count
オプションをつけると、 accounts
コマンドと同じように、出現した頻度が行頭に表示されます:
$ led payees eatout --count
2 Gratia
1 えびす鯛 新潟駅前店
1 幡多バル
3 楽々
2 鼎泰豊
アルファベット表記された支払先では、大文字小文字の混乱がよく見られます。日本語表記された支払先名の前後に 全角スペース が混入して、それらが別の支払先として扱われているケースもありました。
accounts
や payees
を使わないでLedgerファイルをクリーニングしろと言われたら、死んだほうがましです(誇張ですw)。
--by-payee
( -P
)オプション
支払先 Payee
でグルーピングして支出等を確認することは家計のみならずさまざまな組織・団体でもしばしば必要とされます。
この -P
オプションは、regレポートする際に、正規表現にマッチするトランザクションを支払先 payee
の名前でグルーピングして表示するオプションです。次の例は、 eatout
というアカウント(外食)について、外食先を金額の大きい順にソートした結果の抜粋です(日付、金額は当てずっぽうです):
$ led reg eatout -P -S -amount
2019/05/05 寿司おとわ Expenses:教養娯楽費:Eatout 41,600 JPY 41,600 JPY
2019/09/25 おばんざい木村 Expenses:教養娯楽費:Eatout 18,040 JPY 59,000 JPY
2019/06/29 鼎泰豊 Expenses:教養娯楽費:Eatout 17,954 JPY 68,754 JPY
-S
オプションは --sort
の略です。その後ろの -amount
は、金額の大きい順(降順)にソートすることを意味します。昇順のソートだとマイナス記号なしに -S amount
とします。
xactコマンド
転記作業の大半は以前のトランザクションの繰り返しです。繰り返し率は80%を超えるとも言われています。これをその都度、毎回入力をするのは時間とエネルギーの無駄です。
それを回避するために用意されているのがこの xact
コマンドです。たとえば次のようなトランザクションが既に(直前のショッピングとして)存在しているとしましょう:
05/20 Costco
Expenses:Food 8930 JPY
Liabilites:OricoCard
その後、05/29にCostcoで食料品を4,500円購入したときには、 xact
コマンドを使って次のようにします:
$ led xact Costco food 4500
2019/07/20 Costco
Expenses:Food 7,654 JPY
Liabilites:OricoCard
$ led xact
は単に標準出力に結果を表示するだけなので、リダイレクションを使用して次のようにすれば、自動的にファイル末尾に追記されます:
$ led xact Costco food 4500 >> your-ledgerfile.ledger
Ledger3の公式マニュアルには、 xact
の指定の仕方のバリエーションがいくつか挙げてあります。マニュアルの Payee
をRestaurantに変更したものを下に示します:
$ ledger xact 4/9 Restaurant 11.50
$ ledger xact 4/9 Restaurant 11.50 checking # (from `checking')
$ ledger xact 4/9 Restaurant food 11.50 tips 8
$ ledger xact 4/9 Restaurant food 11.50 tips 8 cash
$ ledger xact 4/9 Restaurant food $11.50 tips $8 cash
$ ledger xact 4/9 Restaurant dining "DM 11.50"
上の例で、 日付 は新規トランザクションの日付が使われ、省略すると今日の日付が使われます。 Expenses
の下の階層に Toys
という新しいアカウントを付け加えたい場合には次のようにします:
$ led xact costco Expenses:Toys "500 JPY"
2019/07/20 Costco
expenses:toys 500 JPY
Liabilites:Visa
さらに、クレジットカードをVisaからMasterに変えた場合には:
$ led xact costco food 450 "Liabilities:Master"
2019/07/20 Costco
Expenses:Food 450 JPY
Liabilities:Master
などなど、ほんとうによくできています。一度使うとクセになりますねw
ただ一つだけ気をつけなければいけないのは、リダイレクションでLedgerファイルに追記するときに、まちがって >>
を >
にすると、大事なファイルがひどいことになります。実際にこれをやって冷や汗をかいた経験があります。
おまけ – suicaの残高をPCで確認する
令和の 増税(キャッシュレス還元)記念 で、おまけを一つ(笑)
suicaの残高
帳簿への仕訳作業をしていると、suicaなどのプリペイドカード系の残高が合わなくなることがよく起こります。個人の家計のレベルでは誤差範囲で無視できますが、大量に使っている企業や団体では、チリも積もれば無視し得ない金額になります。
プリペイドカードの中でも、たとえばnanacoなどは使用後のレシートに毎回残高が記録されていますし、nanaco-netにログインすれば、それほど困ることはありませんが、問題はsuica(特に無記名のsuica)。
suicaは、残高を印刷されたレシートから得るチャンスが少ないというか、ほとんど無いし、最近は改札口のディスプレイにも残高が表示されないことが多くなりました。そのため何回も使った後、 記憶 にもとづいて仕訳・転記の作業をやる他なくなります。
しかし 記憶 ほどもろいものはありません、特にボクら 准高齢者 にはきびしい。困り果てて 増税記念 にPaSoRi RC-S380/P(SONY)を購入しました。2,500円ほどの出費でした。
PaSoRiを使って残高確認
Windows10では、SONYのHP を見ながらやれば簡単にできますが、ubuntuではちょっとだけ余分な手数が必要です。
- ubuntu 16.04に必要なソフトをインストール
- Pasori をUSB決め打ちに設定し、次のようにして使用する
- 起動は
~/nfcpy-suica-sample/
で$ sudo python suica_read.py
- 起動は
これだけですが、JRとか小田急とかはちゃんと乗車・降車駅が表示されていますけど、路線バスだと、なぜか「車載端末」と区分され次のように表示されます:
出線区: JR西日本-山陰本線
出駅順: 鳥取
山陰本線 鳥取 で出たことになっているのが不思議?ボクだけかしら?
Windows10で公式アプリとドライバをインストールして見ましたが、バスなどの入駅・出駅場所は表示してくれません。要するに交通系とはいえ、電車などに限定している気味?あと、お店や自販機で購入した支出は、「物販」とか使用後の残高だけ表示されます。しかし日付と残高はちゃんと表示されるので重宝しています。