自分の会社の経理には、マネーフォワード クラウドを使っていました。
(公認会計士・税理士事務所の経理はfreeeです)
現時点では、私にはfreeeの方が使いやすいかなぁと。
このあたりは賛否両論あると思いますが。
1期目は、決算データをfreeeに移し、freeeから申告しました。
2期目からは、基本的にExcelで経理をしつつ、
決算・申告時だけfreeeを使う形でいこうかなと思っています。
その際、マネーフォワード クラウドBox(レシートなどを保管しておく場所)から、
念のため証憑をダウンロードしておこうと思ったのですが、一括ダウンロード機能がなく…。
100件以上ある証憑を1件ずつダウンロードするのはつらい…と思い、
「Python(パイソン)」を使って自動化してみました。

一括ダウンロード機能が、ない…
一括ダウンロード機能がないことを知ったとき、愕然としました。
「これ、手動で落とせってこと…?」みたいな感じで。
経理データをfreeeに移管したものの、クラウドBoxにしかない資料もあったため、
ダウンロードはしたい。
でも、標準機能ではできない。
ということで、ChatGPTに相談しつつ、Pythonで解決しました。
Pythonを動かすための最低限の準備
ExcelのVBAやGASよりも、
Pythonの方がハードルが高いイメージがあります。
ExcelやGoogleスプレッドシートはすぐに使い始められる一方で、
Pythonは別途インストールが必要だったり、準備の段階で挫折することも多いような…。
(かくいう私も、Pythonの導入段階で何度か失敗し、やめたことがあります)
今回、私が使ったものは主に次の3つです。
- Python
- VS Code
- Playwright
まず、「Python」のインストールをします。
※公式サイトからインストールできます。
コードを書く・実行するために、私は「VS Code」も使いました。
必須ではありませんが、コードを開いたり、エラーを確認したりするには使いやすいです。
※こちらもMicrosoft公式サイトからインストール可能
今回のコードは、ブラウザを自動操作するために「Playwright」という仕組みを使っています。
そのため、最初にPowerShellで次の2つを実行します。
Windowsキーを押し、「PowerShell」と検索して起動します。

PowerShellが開いたら、以下のコマンドを入力してEnterキーを押します。

まず、Pythonからブラウザを操作するための道具である「Playwright」を入れます。
py -m pip install playwright続けて、
Playwrightが実際に操作するためのブラウザ「Chromium」を入れます。
py -m playwright install chromiumこれで、今回のPythonコードを動かすための最低限の準備は終わりです。
ChatGPTと一緒にコードを作った流れ
ChatGPTに指示した流れは、以下のとおりです。
- 「PythonでMFクラウドBoxの証憑をまとめて取り出したい」と伝える
- 年ごとにフォルダを分け、ファイル名を「取引日・取引先・金額・元ファイル名」にしたいと追加で指定する
- コードを作ってもらったあと、まず3件だけ実行し、問題がないか確認する
- 実際に並べてみると元ファイル名は不要だと感じたため、ファイル名の仕様を変更してから全件を保存する
最初から完成品を目指さず、少しずつ修正を加えていくといった形です。
最初は起動しなかったり、エラーも出ることが多いです。
(今回も何回か軌道修正しています)
まずは3件だけダウンロードしてみる
以下は、私のWindows環境で動作を確認したコードです。
マネーフォワードの画面変更や利用環境によって、動かなくなる可能性がありますが、参考までに共有します。
まず、上記のファイルをデスクトップにダウンロードしてください。
いきなり全件を実行するのは少し怖いので、
まずは3件だけ試してみましょう。
うまく動かなければ、この段階で修正できます。
具体的には、PowerShellで以下を入力します。
cd ([Environment]::GetFolderPath("Desktop"))
$env:MF_BOX_MAX_FILES="3"
py .\mf_cloudbox_backup_public.py上から順に、
- PowerShellの場所をデスクトップへ移動する
- ダウンロード件数を3件に設定する
- Pythonファイルを実行する
という意味です。
実行するとマネーフォワードのログイン画面が開きます。

登録しているID/パスワードでログインします。

このような画面までたどり着いたら、1件目のファイルをクリックして詳細画面を開きます。

↓

PowerShellに表示された指示に従い、Enterキーを押します。

成功すると、このような形で「ダウンロード」フォルダに証憑が保存されます。

3件が問題なくダウンロードできたら、次は全件を実行します。
cd ([Environment]::GetFolderPath("Desktop"))
$env:MF_BOX_MAX_FILES="0"
py .\mf_cloudbox_backup_public.pyファイル名の形式などを変えたいときは、AIをうまく使ってみて更新も試してみていただければと思います。
まとめ
このような「判断を伴わないような手作業」こそ、
最優先で自動化していくべきものかなと思います。
Web操作系だとRPAを使うことが多かったですが、
最近はPythonの方が使いやすい(メンテナンスもしやすい)かなぁと。
Pythonアレルギー的なところもありましたが、
使っていくうちに徐々に免疫ができてきたような気がします。
合わないかも、と思ってもたまに触れてみると意外と大丈夫なこともあるので、
諦めないでほどほどに付き合ってみるのも大切かもしれません。
では、また次回。
編集後記
◇日記
昨日はお客様との初回面談。
その後、申告対応。
お伝えした納付番号の下一桁がなぜか誤っており、すぐに訂正の連絡を…。
チェックリストに事前確認を追加しました…。
◇ブログネタ経緯
作ったコードをもとに執筆を。
◇1日1新
Python×マネーフォワードクラウドBOX