最近、他の部署より、ある仕事を引き継ぐことになりました。
相手の部署は、ITインフラの専門部署であるので、その系統なのですが、複数のお客さんに、その月の使用データ量に応じて、可変する請求書を毎月Issueする必要があります。
まあ、お客さんの数が少ないとか、料金が月額固定だとか、価格体系が単純ならば、大した事はないのですが、顧客数も多いし、料金設定もお客毎に違うし、その上、ある閾値まではこの単価で計算し、閾値を超えると単価が下がっていくと言った様な非常に複雑な作業が、毎月月初に必要となります。(月初2日以内にやる必要があります。)
6月頭に、引継ぎを受けたので、今月月初は、従来の担当者を含めて、従来のやり方で、計算したのですが、ぶっちゃけ、複雑すぎて、頭が痛くなってきました。
兎に角、顧客数が多すぎるし、価格体系が複雑すぎます。
それでいて、計算ミスが許されないから、4名のスタッフが同時にオンラインで結集して、エクセルシートを一枚づつ開きながら、電卓やエクセルの計算機能を片手に計算して、みんなで答え合わせをして、全員の計算結果が一致したら、次の顧客に進むと言う作業です。
その後、数十の顧客の月額課金額を一枚のエクセルに集計した上で、顧客ごとにいくらであったかを、定型のメール本文に記載した上、経理チームにメール報告する必要もあります。
4名が2日がかりで計算した後に、メール本文を書いたので、8人日が丸々、消費された事になります。(これが毎月月初に発生します。)
と言う訳で、業務プロセスが分かったので、今週は、この一連の作業をpythonでプログラミングを始めました。
まず、数十の顧客の月額金額集計用のプログラムを丸4日間で完成させました。(これにより、毎月初に業務集計チームからIssueされる数十のcsvファイルを、特定のフォルダに突っ込むだけで、自動計算と集計が可能となりました。)
そして、本日は後工程として、どの顧客は経理チームに報告する必要があるか否かを判定するプログラムと、報告用エクセルシートの自動作成まで完了致しました。
明日は、定型のメール本文に顧客ごとの請求金額を埋め込むプログラムを開発する予定で(メール本文自動作成)、週末は、そのメール本文を自動送信するプログラムを開発する予定です。
まあ、今までPython Openpyxlで開発したプログラムで一番重いプログラム開発となりました。ただ、このプログラムは、自分で言うのも何ですが、超強力です。
毎月月初に8人日掛かっていた作業が、1秒で完了することになります。
もっと開発を突き進めれば、顧客ごとの元データ利用量が記載された元データファイルが、社内の特定のサーバに、別担当者からアップされた瞬間に、Webスクライブ機能を駆使し、自動でファイルを取りに行き、自動で顧客毎の請求金額計算して、メール本文を自動で作成して、経理チームに自動でメール送信するまでが、開発可能な筈です。
プログラミングを使いこなすと、とんでもなく、省人化できると言う事を改めて痛感。
寝ないで開発してますが、楽しくてしょうがないです。
このプログラムのサンプルは、後程、下記のGitHubのサイトに公開します。→https://github.com/kazu0116/web_application
お楽しみに!
0 件のコメント:
コメントを投稿