財務のボット:自動化によってバックオフィスの効率を高める方法

未来のオフィスについて言及すると、反復的で労働集約的なタスクを引き継ぐマシンのイメージが思い浮かぶかもしれません。しかし、その未来は今です。クラウドベースのアプリケーションなどのテクノロジーの開発、および企業が最高の運用効率を達成するのに役立つソフトウェアプラットフォームやエンタープライズリソースプランニングシステムにより、自動化されたオフィスが実現しました。

コンサルティング会社のマッキンゼーによると、企業の財務部門は、調達、経理、給与などの分野で自動化ソリューションを実装することにより、過去10年間でコストを約30%削減しました。これらの革新により、財務機能が変革され、多くの非効率性が排除されました。

金融アナリストおよびソフトウェア開発者として、私は独自のコンサルティング会社であるPylinkを作成および構築したときに、財務タスク用のボットをセットアップすることで自動化を最大限に活用しました。しかし、多くの金融機関はまだそうしていないため、基本的なタスクを実行するために膨大な時間とリソースを費やし続けています。

問題に気付いたのは私だけではありません。コンサルティング会社のPwCは、金融機関が自動化とプロセスの改善を通じて生産性と洞察力を向上させる必要があることを発見しました。これにより、多くの主要機能のコストを2桁の割合で削減できます。 PwCの調査によると、自動化により、管理レポートに費やす時間の40%、税務会計に費やす時間の27%、与信管理、一般会計、請求に費やす時間の23%を削減できる可能性があります。

デロイトは同等の結論に達しました。Ayehuが発表した調査を引用すると、インテリジェントな自動化によってビジネスプロセスのコストが25〜40%削減されると報告されています。また、Gartnerの調査によると、40人の常勤の経理スタッフを抱える企業は、タスクを自動化し、人的エラーを修正するための余分な作業を排除することで、毎年87万ドル以上の支出を削減できることが明らかになっています。

この記事では、会社とクライアントに使用した簡単な自動化戦略をいくつか紹介します。これは、あらゆる規模の組織に役立つ簡単な修正です。

QuickBooksのような既製のソリューションは、小規模な組織に役立ちます。ただし、効率を最大化するために、Pythonなどのプログラミング言語を使用して、ビジネス用ボットを含むソリューションをカスタムビルドすることをお勧めします。 Pythonは非常に直感的で、ツールの大規模な標準ライブラリに加えて、財務固有のライブラリへのアクセスを提供するため、Excelよりも用途が広くなっています。

前回のToptalの記事では、Pythonを使用して企業向けの特注のキャッシュフローモデルを開発するのがいかに簡単かを示しました。言語の学習に興味がある場合は、それを読むことをお勧めします。ただし、この記事では、タイムトラッキングから給与、電子メールに至るまで、コードを自分で掘り下げることに興味がない場合に開発者がすばやく簡単に実装できる実用的なアプリケーションの概要を説明します。

私の会社が財務のためにボットを活用する方法:簡単で効率的な支払い

ケーススタディとして役立つ私の会社の例を紹介することで、カスタム自動化がいかに役立つかを示しましょう。中小企業であるにもかかわらず、Pylinkの私のチームと私は、支払いに関して次のような課題を提示するかなりの複雑さに直面しています。

  • 時間契約に基づいていくつかのプロジェクトに取り組んでおり、各タスクの時間を追跡する必要があります。
  • クライアントはさまざまな国から来ているため、複数の通貨で支払います。
  • 一部のプロジェクトでは社内のソフトウェアエンジニアリングチームを使用していますが、他のプロジェクトはさまざまな国の開発者に下請けしています。
  • 税の最適化の観点から、英国を拠点とする会社、EUを拠点とする会社、EUを拠点とする個人フリーランサーの3社があります。
  • 各企業は、USD、EUR、GBP、HUFなどの複数の通貨で個別の銀行口座を持っています。
  • 正社員の税金、給与、福利厚生、オフィススペースと備品、ソフトウェアなどの通常の費用は、さまざまな通貨で発生します。

これらの課題に対応する支払いシステムを開発するために、私は次のテクノロジーを使用して(そして推奨し)、Amazon Web Services(AWS)のクラウドインフラストラクチャで実行されるPythonボットを作成します。

  • コードベース:Python(無料でダウンロード可能)
  • コードが実行されているサービス:AWS Lambda
    • Lambdaを使用すると、必要に応じてコード実行をスケーリングできます。
    • このサービスは、トリガーされた場合にのみ有効になります。 PythonコードをLambda関数に入れて、Alexa音声コマンドからスケジュールされたカレンダー時間までのトリガーイベントを設定します。
    • Lambdaはサーバーレスであるため、実際に使用するコンピューティング時間に対してのみ支払う必要がある費用対効果の高いソリューションです。
  • 銀行運用ツール:Wise API
    • API(アプリケーションプログラミングインターフェイス)は、2つのアプリケーションが相互に通信できるようにするソフトウェア仲介者です。 Wise APIを使用すると、私と私のチームは、ステートメント情報と履歴トランザクションデータを簡単に取得できるだけでなく、自動的に支払いを行うことができます。また、為替レートを追跡し、自動変換を行うこともできます。
  • タイムトラッカー:Everhour + Everhour API
    • このソフトウェアは、正確な時間追跡と柔軟な請求および予算編成機能を提供します。さらに、Asana、Trello、Jira、GitHubなどのプロジェクト管理ツールとシームレスに統合されます。
  • メール送信者:Amazon Simple Email Service
    • Amazon SESを使用すると、任意のアプリケーション内からHTMLメールを送信するための適応性のある安全な方法と、配信とバウンスを監視するためのデータ分析が可能になります。
    • SESの無料使用枠では、AmazonEC2またはAWSLambdaでホストされているアプリケーションからサービスをアクティブ化すると、月に最大62,000件のメッセージを無料で送信できます。
  • スケジューラー:AWS EventBridge
    • このツールを使用すると、Pythonボットを簡単にトリガーして、毎月または半月ごとにスケジュールされた財務機能を実行できます。
    • LambdaのようにEventBridgeは操作にサーバーを必要としないため、オーバーヘッドが大幅に削減されます。
  • Slack通知:Slack API
    • このAPIは、リアルタイムアラートを送信して、請負業者の営業時間を通知し、クライアントが支払いを済ませたかどうかを通知します。
  • ボットとのSlack通信:Slack API + Amazon API Gateway
    • Slack APIを使用すると、Pythonボットは承認のために支払いリクエストを送信できます。
    • 私たちの側を1回クリックするだけで、ボットはAPIGatewayを使用して各支払いを自動的に完了することができます。
    • API Gatewayは、1年間に月に100万を超えるAPI呼び出しと100万のメッセージにアクセスできる無料利用枠を提供します。

これらのツールを使用して、1つのマルチタスクのユースケースを自動化する方法は次のとおりです。つまり、スタッフ、請負業者、そして私自身です。最も一般的な自動化の実践に飛び込む前に、プロセス全体を大まかに示します。

それでは、次の手順を実行してみましょう。

  1. 毎月1日に、AWS EventBridgeを使用して、AWSLambdaに保存されているPythonボットをトリガーします。
  2. ボットはEverhourAPIを使用して、すべての従業員、請負業者(Pylinkの場合は開発者)、および私のためにタイムシートを取得します。
  3. 次に、ボットは各プロジェクトの作業時間を集計し、タイムシートと請求書(両方のPDF)を作成します。次に、これらのドキュメントをメールでクライアントに送信します。
  4. さらに、ボットはSlackを介してPylinkのチームに請負業者の営業時間を通知します。また、「承認」ボタンと「拒否」ボタンを表示して、支払いの許可を求めます。
  5. Pylinkの管理チームの誰かがリクエストを承認すると、ボットはAWS API Gatewayを介して独自のAPI(常に利用可能なパブリックURL)にメッセージを送信します。AWSAPIGatewayは、Lambda関数で別のコードを実行して転送を行います。
  6. >
  7. 2番目のLambda関数はWiseAPIを使用して支払いを行います。
  8. 毎月14日に、再びEventBridgeを使用して、フォローアップ機能の別の実行をスケジュールします。ただし、今回は、EventBridgeが別のLambda関数に保存された別のコードをトリガーします。
  9. このコードはWiseAPIを使用して、過去2週間のトランザクションを追跡し、クライアントが支払いを済ませたかどうかを確認します。
  10. クライアントから支払いがあった場合、ボットはSlackAPIを介してSlack確認をPylinkチームに送信します。支払いがない場合、ボットはAmazonSESサービスを使用してクライアントにメールを送信します。

以前は、これらのタスクはすべて手動で行われ、貴重な時間とエネルギーを消費していたため、他の場所で使用できるようになりました。何よりも、時間やお金をかけずにこのプロセスを設定することができました。

自動化でできること

次に、すでに説明したツールを使用して、自動化のための最も実用的なアプリケーションのいくつかを見てみましょう。参考までに、社内、契約、またはフリーランスの開発者向けのリソースとして、または会社やクライアントの作業を支援するためにPythonを学ぶことを選択した場合は、コーディング例をいくつか紹介します。

労働時間とプロジェクトの追跡

毎月の終わりに、ボットは(Everhourを使用して)「close_the_month」関数を実行し、さまざまな割り当てに費やされたすべての時間を収集します。

  • コンサルティングプロジェクトの時間(収益)
  • クライアントのプロジェクトでの開発者の時間(収益とコストの両方)
  • 独自のソフトウェア開発にかかる開発者の時間(コスト)

以下は、Pandas DataFrameを返す単純な関数です。つまり、特定のユーザーの特定の期間のすべての時間とプロジェクトを含む、行と列を含むテーブルです。前述のように、これ以降のすべてのコーディングの抜粋は、ボットを構築するためのステップバイステップのチュートリアルではなく、コードベース全体のハイライトにすぎないことに注意してください。

PDFタイムシートと請求書の作成

各労働者のプロジェクト時間が自動的に追跡されると、次のタスクはタイムシートと請求書を作成することです。 PDFファイルを作成できるPythonパッケージはたくさんあります。コンパクトなドキュメント生成ライブラリであるPyFPDFを使用して、図形を描画したり、画像やテキストを追加したりするためのシンプルさと柔軟性を提供します。次の例からわかるように、クリーンでプロフェッショナルな請求書が作成されます。

レポートを作成するためのより高度な方法がありますが、PDFはすべての業界で使用されている普遍的な形式であり、簡単に生成できるため、良い選択です。また、すべてのフォント、画像、表、および書式設定が確実に転送されるようにしながら、誰にでもファイルを送信できます。さらに、コンピュータのハードウェアやオペレーティングシステムとは独立して動作し、オフラインで使用できます。

メールの送信

Amazon Simple Email Serviceは、適切にフォーマットされたHTMLメールを作成および展開するための費用効果が高くスケーラブルなツールです。さらに、SESのデータ分析は、フィードバックループの結果に関する情報を追跡および共有して、誤って、または電子メールが間違ったアドレスに送信されたために、受信者がメッセージをスパムとして報告した場合に通知します。分析では、オープン率やクリック率など、エンゲージメントの観点から各コミュニケーションの効果も測定されます。この機能は、メールのマーケティングに特に役立ちます。

請求書が添付されたメールを生成してクライアントに送信するために使用されるPythonコードの例を次に示します。

そして、これが生成する電子メールです:

銀行業務の自動化

いくつかの通貨で収入と費用が発生するため、個人銀行口座とビジネス銀行口座にWiseを選択しました。この金融テクノロジー企業は、有利な為替手数料、直感的なユーザーインターフェース、詳細なドキュメントを備えた柔軟なAPIを備えています。

このAPIを使用して、次のタスクを実行します。

  • 各企業と通貨のステートメント情報を収集して、総流動性と実際の流動性をすばやく確認できるようにします。
  • 過去の取引情報を抽出して、さまざまなコスト項目の傾向を特定し、クライアントが前月の請求書を支払ったかどうかを確認できるようにします。そうでない場合、APIはリマインダーメールを送信します。
  • 自動的に送金します。

以下は、これらのタスクの最初のタスク(ステートメント情報の収集)を完了するためにプログラムしたコードです。

通常の固定費(給与、税金、事務費など)の場合、自動転送を行うためのコードを記述する必要はありません。 Wiseにはスケジュールされた支払い機能があります。ただし、金額が固定されておらず、アルゴリズムが計算できる式に基づいている場合は、WiseAPIが役立ちます。私の場合、ビジネスアドバイザーの給与は、月収の関数であるため、注目に値する例です。追跡された時間をチェックすることで、ボットは私たちがどれだけの収入を持っているか、したがってアドバイザーにいくら支払うかを正確に知ることができます。

ボットとの両面会話によるリスクの軽減

テスト中に明らかにされないコーディングバグが存在する可能性があるため、ボットのアクティビティを認識することが重要です。 Slackでリアルタイムの通知を受け取るので、壊れたコードをすぐに修正できます。ボットが正常に動作していることを知らせる通知の例をいくつか示します。

また、各銀行振込の前に、ボットがPylinkチームに確認の質問を送信できるようにしました。これにより、人為的ミスによるミスを回避できます。開発者がタイプミスをして、1つのチケットの8.25時間ではなく825時間を入力するとします。 Slackの承認ステップにより、借りている金額の100倍の金額が送金されないことが保証されます。このプロセスは人間による検証の要素を保持しますが、シームレスなエクスペリエンスを提供します。

SlackAPIで実現できる機能は他にもたくさんあります。

明日のオフィス

ビジネスの自動化は、組織の繁栄に役立ちます。私が説明したツールは、特に買掛金、売掛金、その他の主要な会計分野などのトランザクション機能に関して、より高い効率と管理を必要とする企業を変革することができます。

しかし、これで話は終わりではありません。マッキンゼーによると、企業のリーダーにとっての課題は、新しい効率性のためにさらに広いネットを投じることです。同社は、データ分析などの分野をリードすることにより、単なるトランザクションタスクを超えて、財務業務全体の再考をサポートしています。これは、企業全体の情報の統合、簡素化、および制御です。これ以上同意できませんでした。組織がその答えを所有し、結果指向の文化を前進させるのに役立つコーディングソリューションを検討することをお勧めします。それまでの間、ここで説明した戦術を採用することで、明日の可能性を味わいながら、今日の会社の効率を高めることができます。


コーポレートファイナンス
  1. 会計
  2. 事業戦略
  3. 仕事
  4. 顧客関係管理
  5. ファイナンス
  6. 在庫管理
  7. 個人融資
  8. 投資
  9. コーポレートファイナンス
  10. バジェット
  11. 貯蓄
  12. 保険
  13. 借金
  14. 引退