【実録①】VBAかじったことのあるAccounting ManagerがPythonに感動した話。
■はじめに
先日、Chat GPTとGeminiを駆使して、Pythonに初挑戦。
VS Codeをダウンロードして、数時間格闘。
その結果、30分~1時間かかる入金消込の作業をなんと3分程度に短縮することに成功しました。
この経験を通して、Pythonの凄さを体感しましたので、下記にご報告いたします。
■従来
お客さんから入金情報がPDFで届きます。これが多い日は、4-6ページくらい。請求書の数にすると、数十件です。
<プロセス>
これをSAP Business Oneに取り込むには、まず、①10個程度あるBusiness Partner Codeを特定する必要があります。②Payment Wizardで該当するARにチェックをつける。③一括入金処理。
<時間>
①は下手すると30-50分かかります。
②は人間がやると10分です。
③一括処理に、1分です。
■現在
<プロセス>
①Pythonのバッチファイルをダブルクリックすると、照合結果が、Excelで出力されます。②そのExcelには、どの行がマッチしているか記載されているため、Payment Wizardで、該当行をクリックしていくだけ。
<時間>
➀1分
②1分
③1分
■私がすごいと感じたのは、4点。
この4点はいずれも、VBAではできない(やりにくい)ことばかりです。
今まで、VBAで別にいいじゃんと思っていた私ですが、これを知った今となっては、素直にPythonは凄いと認められます。
1) Batchで配れる。
2) テキストPDFが読める。
3) APIを操作できる。
4) ログが出せる。
1. Pythonプログラムは、Batch ファイルのダブルクリックで、簡単に誰でも実行可能。
実行が簡単です。
VBAだと、Alt+F11で操作しなきゃいけなくて、抵抗感があります。
そこが、なんと、Python Programを実行するためのBatchファイルをダブルクリックするだけで、実行が可能です。
つまり、Pythonの知識がない人が、実行可能です。
つまり、自分だけでなく、他の人に共有することがとても簡単です。
誰でも使えるから、属人化しにくいと思います。
これは凄いです。
2. Pythonは、テキストPDFが読める。
初めは、Chat GPT/Geminiに内蔵のOCR機能を使用して、テキストファイルを生成することを考えていました。
ところが、ある時、テキストPDFであれば、いちいちLLMに読ませなくても、Pythonでテキストファイルを作成できることを知り、びっくりしました。
それなら、LLMがいちいち考える時間とか、たまにサーバーの不具合とかで動かない時とかが無い分、Pythonの方がいいですし、
何より、ファイルをアップロードして、待って、とかしないで、ダブルクリック一発で待てば終わるんだから、操作感が快適です。
3. APIを操作できる
これは、後日、取り上げたいと思いますが、拡張性がすごいんです。
APIを操作できてしまうんです。
だから、APIで操作することを覚えた今では、
<プロセス>
①Pythonのバッチファイルをダブルクリックすると、入金伝票が作成されます。ログファイルでうまくいったか確認するだけです。
<時間>
①1分
4. ログが出せる
プログラムなので、たまに所期の動作をしてくれないことがあります。
そんな時、どこのステップで詰まっているのか、ログファイルがあれば、一目瞭然です。
どこを直せばいいかも簡単に分かります。
これは、VBAには無い機能ですよね。
■ 技術的補足(少しだけ)
実際にプログラムに落とし込む前に、プログラムの全体像をデザインするところは、とても大事ですし、楽しい作業です。
私は、友達感覚でチャッピーに相談して、Geminiで実際のコードを書いてもらったりしています。
今回作成したプログラムの構成は、下記のようになっています。
main.py
│
├─ pdf_reader.py (PDF抽出)
├─ matcher.py (照合ロジック)
├─ sap_api.py (API処理)
├─ logger_config.py (ログ設定)
└─ config.json (環境設定)VBAは「一枚の巨大なマクロ」になりがちですが、
Pythonは「部品を組み合わせる設計」にしやすい、という特徴があるようです。
また、Pythonは、あまりコードが分からなくても、なんとなく何をしているところか分かっちゃったりします。
■あとがき
今回はPythonの凄さについてまとめてみました。
Pythonの凄さは、もっと他にもあるのでしょうが、経理マンとして、感動したのは、今回記載した4点でした。
読者の気づきやヒントになればうれしいと思って、投稿しておりますので、コメントなど頂けたら嬉しいです。
読んで頂きありがとうございました!
