
MoneyForward Meを自動化し可視化するツールを作った
目次
デモ
MoneyForward Me Dashboard
MoneyForward Me のデータを可視化するダッシュボード

MoneyForward Me ヘビーユーザーの不満
9年近くMFを利用してて大変便利なツールだとおもいつつ、ずっと自分の中でいくつか不満がありました。
- サイトが全体的に重い
- 特にグループ切り替えやCFの月の切り替え
- 資産情報の可視化が弱すぎる、見づらい
- 大項目、中項目の自動補完が弱い
などなど。これらを解決するために自分用のツールを作りました。
mf-dashboard
GitHub - hiroppy/mf-dashboard: マネーフォワードMeを自動化、保有資産の可視化を行います
マネーフォワードMeを自動化、保有資産の可視化を行います. Contribute to hiroppy/mf-dashboard development by creating an account on GitHub.
このツールができることは大きく4つです。残念ながらAPIは自由に使えないのでスクレイピングで実現しています。
保有金融機関の一括更新の自動化
これがあることにより、手動で一括更新ボタンを毎日押す必要がなくなります。実行時間はデフォルトで7:00と15:30に行われます。
金融機関でも更新が終わるのが大変長いものもあるので、20分監視しそれまでに更新が終わらない場合はその機関の情報取得をスキップします。
Slackへの更新された結果の通知
上記の実行が終わったら、各資産の前日比やアカウントの状態などをSlackに通知します。

カスタムスクリプトの実行
Playwightを使ってスクレイピングしているので、Pageを受け取れるhookが提供されています。
これにより、例えば特定の金融機関の取引は常に大項目/中項目を固定の値にするなどの自動化を行えます。
残念ながらマネフォの大項目/中項目の自動補完は内容と金融機関の完全一致でしか覚えれず、コープの場合は常に食費/食料品にしたいのに、実際は内容が毎回一緒ではないので大半が未分類に設定されます。
いずれにせよHTMLをいくらでも操作できるので、やりたいことはなんでもできると思います。
mf-dashboard/apps/crawler/hooks at main · hiroppy/mf-dashboard
マネーフォワードMeを自動化、保有資産の可視化を行います. Contribute to hiroppy/mf-dashboard development by creating an account on GitHub.
資産情報の可視化ダッシュボード
これはデモを見てもらったほうがわかりやすいかなと思います。予算以外の情報はすべて使っています。
MoneyForward Me Dashboard
MoneyForward Me のデータを可視化するダッシュボード





インフラ
このサービスの必須項目は、crontabとサイトへのアクセスコントロールだけだったので、GitHubとCloudflareのどちらにするかを最初検討していました。
- GitHub
- pros
- 全部GitHub上で完結するので、構築と管理が楽
- actionsの実行時間が2000分/月なので、ある程度無料枠でも余裕がある
- ただこれ自分の理解があっているのかわからないので、crontabで毎日動かして一ヶ月余裕なのかわからない
- あと2ヶ月ぐらいcommitしなかったら止まるのも忘れてはいけない
- gh-pagesで簡単にデプロイできる、private repoであれば自動的に認証がつく
- cons
- 家族などGitHubアカウントを持っていない人が見るのが難しい
- gh-pagesの無料枠がない
- pros
- Cloudflare
- pros
- インフラの構築が簡単
- Cloudflare Oneでいろいろなプロバイダーに対応でき、アクセスコントロールができる
- cons
- Browser Rendering APIが無料枠だと1日あたり10分で流石に厳しい
- pros
当初、このプロジェクトは自分だけにしようかなと思ったんですが案外見やすかったので、デプロイだけCloudflareにして家族にも共有しやすくしました。 誰でも使いやすいようにしたいんですが、どうしてもAPIが使えなく、ログイン周りの情報を持つのは避けたいのでセルフホスティングするしかありません。 ログイン周りに関しては、1Passwordを必須とし、service accountからid/passwordに加えワンタイムパスワードを取得するようにしています。
このプロジェクトを使うにあたり必須なものは以下の通りです。
- MoneyForward Me
- ワンタイムパスワードの設定
- GitHub
- プライベートリポジトリ
- 1Password
- service account (id/password + TOTP)
- Cloudflare
- workers (assets)
- cloudflare one (アクセスコントロール)
- GitHubの有料アカウントであれば、Cloudflareは不要

マネフォの振替の仕組み
マネフォには振替機能がありますが、スクレイピングで実装するのはかなり難しかったです。 自分の理解があっていれば、これはその時の選択されているグループが保有する金融機関かどうかで収入や支出の見え方が異なります。 これを完璧にやるには金融機関ごとの取引をすべて取得し整合性を合わせる必要がありますが、これは保有金融機関が多ければ多いほど取得時間がかかりすぎるため容易ではありません。
このプロダクトでは、「グループ選択なし」ですべての取引が取れるため、そこから一年間分の取引を取り、各グループに切り替えたときには整合性を合わせるように新しく「振替入金」という項目を追加しました。スクレイピングの限界です。
よかったこと
一番うれしいこととして、データの構造化ができたことがあります。これによりいくらでも解析しやすくなりますし、LLMにも渡しやすくなりました。 特に自分が好きだったおかねせんせいを復活させたい気持ちが強いので、余裕できたら実装したいと思います。
さいごに
アプリをデプロイするまでにけっこう大変ですが、もし資産改善をしたい場合にはぜひ試してみてください。 また自分が見えているアカウントでの実装となるので、例外や未実装な部分が出てくるかと思います。その時にはお気軽に連絡ください。
GitHub - hiroppy/mf-dashboard: マネーフォワードMeを自動化、保有資産の可視化を行います
マネーフォワードMeを自動化、保有資産の可視化を行います. Contribute to hiroppy/mf-dashboard development by creating an account on GitHub.

