なんでそうしたん?

大きなことから小さなことまで、意思決定の理由や結果を書いていきます。更新頻度は高くありません

DIY支出記録(家計簿)

10年以上支出の記録(家計簿)サービスでMoneyforward MEやMoneytreeを行ったり来たりしていましたが、DIYに行きつきました。

我が家でやりたいこと

やりたいのは家全体での支出を収集して傾向を把握することだけです。年間xx円までの支出に収まれば良いなという金額感はありますが、予算管理というほどの大それたものではありません。

これを行うために、今まではMoneyforward MEやMoneytree上にデータを集めた上で、サービスを乗り換えた時でもサマリーデータを失わないようにするため費目ごとの支出金額を毎月Numbers(Appleのスプレッドシートアプリ)に転記していました。

これを自分で金融機関などからデータをダウンロードして処理し、Numbersの別シートに記録してある現金支出と合わせて集計するように変更しました。ファイルやデータの仕様*1は収集先間で統一されていないので、統一フォーマットのCSVファイルに変換するプログラムを作成しています。

DIYに行き着いた理由

Moneyforward MEやMoneytreeにはいろいろな機能がついています。

  1. 月ごとの予算管理
  2. 資産管理
  3. 分析・助言系機能
  4. 大きな取引の通知

が、うちにとってはどれも不要だと感じます。

これらのサービスは有料プランにすると1から3までの機能が使えるようにもなりますが、特定の銀行と連携したい*2、もしくは連携数を増やしたい*3という理由だけで有料版を使うともれなく使わない機能がついてくるため、使わない機能のために契約しているようで損している気がします。じゃあ使い込めばええやんという考え方もありますが、うちにとっては明らかに不要な機能でしかないので使い込む気にはなりません。

食料品(乾物)は数ヶ月おきのバルク買いが多いし海外滞在の予定を決める時は一気に決めるため支出の変動が大きく、月毎に予算管理をしてもあまり意味がありません。資産管理は機能が足りず使えないので何年も前からDIYしているし、分析・助言系は定期収入も無いし保険にも入っていない我が家には不要そうです。それに安くしようと思ってできるところは既に手をつけているので多分もうこれ以上は安くならないし、インフラ代を1,000円とかの単位で安くする必要性やモチベーションもありません。

大きな取引の通知は無料版でも使える機能で不正利用の検知に役立っていたと思いますが、最近はどのクレカ会社もアプリやLINEやメールで新規取引を通知してくれるのでそちらで事足りるようになってしまいました。

ということで、結局使っているのはデータの自動収集と自動仕分けなわけですが、そこの手間だけなら自分で吸収するかと思い至り、資産管理に続いて支出もDIYすることにしました。

最終的なとどめはMoneytree無料版の相次ぐ地味な改悪で、そろそろ無料だときつそうだなと思ったことですが、今まで無料で使わせてもらい有り難かったです。とはいえ完全無料ではなく、1年に1度データをエクスポートするために1ヶ月だけサブスクの契約をしていました。

DIYでやること

以下の作業は自動化の難易度が高いので手動で行わないとなりません。

決済の都度行うもの

  1. CSVの明細が提供されない支払いの手入力

Numbersで作ったフォームに入れていきます。月々トータルで100-140件の明細がありますが、手入力するのは2-3割です。現金支出はほぼ無く、手入力対象のほとんどはメルカリの売上金やVポイントPayといった、なんらかのキャッシュレスではあるもののCSVが提供されない類の支出なので、記録はアプリなどで参照できることから気が向いた時に入力しています。

月に一度行うもの

  1. 各社のWebサイトからの明細のダウンロード
  2. 統一フォーマットに変換するプログラムの実行と、生成されたCSVファイルのNumbersへのインポート
  3. 費目の入力や余計なデータ(取消処理など)の削除
  4. 統計情報シートへのコピー

今は明細のダウンロード先が夫婦で合わせて6箇所くらいなので、各社のWebサイトにアクセスしてダウンロードするのが一番手間がかかります*4。費目は17個しかないし多くは食費なので仕分け作業はそんなには面倒ではないです。4は家計簿サービス利用時にも行っていた作業で、当時はアプリ上の数字を転記していましたが今は別ファイルのシートにペーストするだけなので楽になりました。

クレカの明細が出揃うのを待たないとならないので、だいたい翌月の中旬くらいに行います。

銀行やほぼ死蔵になっているクレカのような、トランザクション数が少なすぎる口座に関しては手入力のほうが早いのでCSVファイルのダウンロードは行いません。今の時点では銀行からの直接の支払いは、クレカの支払いなど口座間資金移動とみなせるものを除くと毎月の国民健康保険料の支払いくらいしかありません。2025年からは家賃の口座振替が加わりますが、それも月に1件だけなので手入力の方が早いでしょう。

感想

少しとはいえ5年ぶりにプログラミングをしたので知恵熱が出るかと思いました。

私が普段使う端末はiPadですが、もっぱら妻が使っていて私はソフトウェアアップデートのためにログインするくらいのMacを久々に使ってみて、PCとタブレットの間にはまだまだ大きな超えられない壁があり、これらは全く異なる目的の端末なのだなと再認識しました*5。

それとともに交通系IC(モバイルICOCA)のデータ収集観点での不便さも再認識しました。JR以外の鉄道ではクレカのタッチ決済が使えるので交通系ICカードの出番は減りましたが、今の居住地で最も便利な交通機関は西鉄バスなので、空港リムジンだけではなく路線バスも早くクレカのタッチ決済で乗れるようになって欲しいと切に願います*6。他にも諸々JRに対しては思うところがあるので、JRを多用しないとならない場所にはできるだけ住みたくないです*7。

西鉄バスや大阪シティバスが全線クレカのタッチ決済に対応するようになったらモバイルICOCAの出番はほぼなくなるので、その時にはWebサイトからPDFの明細をダウンロードしてプログラムに食わせるのはやめて手入力に変更しても差し支えないでしょう。時折求められるワンタイムパスワード認証をしてWebサイトにログインし明細にアクセスするよりは、手元のiPhoneで確認してNumbersに入力した方が早いからです。

JR東日本は最近、"これから色々やっていきます"みたいなことを言っていますが、私が西日本に期待するのはそういうのではなく上記のJR九州の一部ようなクレカのタッチ決済対応だけです。

クレカ・銀行各社の明細で提供されるCSVファイルの仕様が微妙に異なることにも違和感があります。収集・分析を容易にするためのCSVの提供のはずですが、何故独自色を出そうとするのか理解できません。この点では今使用している楽天/JCB/EPOSの中では楽天カード>EPOS>JCBの順で扱いやすかったです。銀行も楽天は扱いやすいデータでした。残念ながら銀行は明細数が少な過ぎてプログラムで自動化するほどではなく、使いやすいデータを提供してもらっても今は使い所が無いのですが。

*1:ファイルタイプや文字コード、ヘッダやフッタの行数、項目の並び順、項目そのものなど

*2:Moneytreeは楽天銀行と連携するのに有料プランを契約する必要があります

*3:Moneyforward MEの無料版は連携数が少な過ぎて実用的ではありません

*4:メール等でのMFA(多要素認証)やクレカのセキュリティコードや秘密の質問に対する回答など多岐に渡る実装と安全なデータ保存が必要ですが、個人レベルでは労力に見合う結果は得られないと思います

*5:iPadにもPythonが使えるアプリはありますが、諸々制限があるのでMacを使用した方が早いです。ただその後のプログラムのアップデートによってiPadでも開発・実行ができるようになりました

*6:2025年から三井住友カードがバスへの対応に本気を出すようなので、大阪福岡のような大都市でも導入されると嬉しいです

*7:JR九州の一部ではクレカのタッチ決済に対応していて嬉しいです。生憎1回しか利用したことはありませんが