当社の社内業務とそれにかかわるシステムデザインについて解説しているこのシリーズ。今回は契約管理という業務について解説していきます。
私たちは創業以来、2020年から自力を信じてすべての業務を内製化しています。
システムデザイン
当社の契約管理は以下のシステムで構築されています。例によってメインとなるのはPower Apps + Business Central + Power BIです。
契約管理をちゃんとしよう、と考えたとき、その目的を正しく自問自答しておかないと「契約書をPDF化して名前をつけてSharePointに放り込んでおけばいいやん。全文検索したいからAI-OCR機能付きのスキャナー買おうよ。」みたいな話になりがちです。
それはそれでいいのですが、契約書を管理したいのではなく、契約を管理したいのであれば何を何のために管理するかを考えておくのがよいです。
当社では「クラウドサービスや保守などの期間契約」を「①契約更新とリテンション、②売上/利益予測、③売上計上タイミングの適正化」という3つの目的で管理しています。
※リテンション(お客様の流出防止)については、カスタマーサービス業務というテーマでいつか記事化します。
Dynamics 365 Business Centralは、マイクロソフトが開発した中小企業向けの多言語・多通貨対応のERPシステムです。販売管理・在庫管理・生産管理・会計・債権債務など、企業の基幹業務をクラウド上で統合的に管理することができます。また、WordやExcel、Teams、Outlookなど、他のマイクロソフトのサービスと組み合わせて業務を効率化する仕組みが多数搭載されています。
処理の流れ
ここから、以下の処理の流れに沿って運用のイメージを解説してきます。
- Business Centralで見積作成
- クラウドサインで契約締結
- 契約内容をPower Appsに登録
- Business Centralで売上計上/請求書発行
- Power BIで売上予測を行う
Business Central で見積作成
期間契約かどうかにかかわらず、当社ではBusiness Central標準の見積機能を使っています。後述しますが、一括請求かどうかによってBC内で伝票の行先が変わります。
クラウドサインで契約締結
無事成約に至りましたら、クラウドサインを使って契約締結を行います。
契約書を印刷・製本して印紙を貼り、捺印後、朱肉が乾いたのを確認してからそっとクリアファイルに入れて、それを封筒にいれて、宛名を書いてポストに投函し、後日一部返送されてきたものをスキャナで読み込んでSharePointに保存する、という作業を全て省くことができます。
クラウドサイン最高です。製本テープ超苦手です。
Power Appsに契約内容を登録
並行して、Power Apps(モデル駆動アプリ)に契約内容を登録します。割とシンプルなテーブル構造で管理しています。
強いてポイントを挙げるとすれば、契約期間数の自動計算です。開始日と終了日を比較して月数をカウントする計算式を入れています。月次の売上と原価をPower BI側で契約期間の数だけ繰り返してカウントするデータモデルを作ることで売上予測が行うためです。
非常にシンプルですが、この画面で契約更新時期も確認できるため、この画面から契約更新に向けたアクションをとっていくこともできます。
Business Centralで売上計上/請求書発行
一括請求の場合
年払いや半年毎請求など、1ヶ月を超える単位でご請求をさせていただく契約の場合は、見積を通常の受注 (Sales Order)に変換した後に転記することで請求書を発行します。
このとき、繰延コードという機能を用いて売上を契約期間に応じて自動按分しています。これにより前受収益の計上とその取り崩しが先日付で自動で計上されます。
毎月請求の場合
ご請求は毎月、という場合は見積から総括注文 (Blanket Order)というものを作ります。
こちらは毎月少しずつ受注 (Sales Order)に切り出して手動で請求書を発行していく流れになります。Business Centralには定型受注ラインという機能があり、これを用いて毎月の請求データ作成を自動化する方法もあるのですが、この場合、契約単位での未請求残を管理しにくくなるため使っていません。
また、当社では基本的に売上も仕入も期間契約は年払いに寄せていく方針のため、そこまで手間が発生していないという理由もあります。
Power BIで売上予測
上述の通り、Power BIの中では契約期間に応じて売上と原価が自動で繰り返し発生するようなデータモデルを構築しているため、期間契約を加味した売上/利益見込を把握できるようになっています。
実際の原価は変動するため、過去月については実績が、未経過月については見込の数字を集計する仕掛けになっています。この辺のPower BI側の実装のイメージについても、機会があれば別記事で解説します。
まとめ
・・ということで、Power Appsで契約管理を行うという割と汎用的な内容を中心に当社の業務の流れを解説してきました。
Power Appsで契約台帳を管理するとか、契約期限が近いものについてPower Automateでアラートを出すというのはPower Platformの開発ではよくあるテーマかなと思います。しかし、ここから一歩踏み込んでPower BIで売上見込や実際原価を管理する、というところは実務上とても有用なので参考になればうれしいです。
実際、当社ではプロジェクト別に精緻な原価計算を行うことで契約単位での利益を管理しています。特に保守契約に関して言えば、契約単位だけではなくインシデント単位で工数や原価を管理することで、契約更新の際に実績ベースで合理的かつ誠実な契約金額をご提案することができています。
この辺はまた別記事でいつかご紹介します。それでは。