見積承認フローの改善
お客様に見積書を提出する活動は、営業部にとって非常に大切な業務です。しかし、「部長承認を取らなければならないケース」、「見積書PDFにして送付しなければならないケース」など、そのワークフローは意外と複雑なものです。
この記事では、とある営業部長(私のこと)が実際に取り組んだ「見積承認フローの改善」について書きたいと思います。(小出し発表してきた改善奮闘記を1記事にまとめました)
(1-1) 承認が必要な見積書だけが流れるワークフロー
(1-2) 承認が不要な見積書も流せるワークフロー
2. ファイル自動生成機能でデータ二重入力のムダを無くす
(2-1) 二重入力の発生
(2-2) 二重入力問題の解決方法
(2-3) 見積書PDFの自動生成工程
(2-4) PDF自動生成の設定
(2-5) PDF自動生成の価値
3. 自動採番機能でメンドウなID採番作業を無くす
(3-1) 見積書IDの採番が手間
(3-2) プロセス連番機能と初期値自動セット機能
(3-3) 初期値自動セットの設定
(3-4) 初期値自動セットの価値
4. 初期値自動セット機能で識別しやすいファイル名にする
(4-1) 見分けつかない見積書PDF
(4-2) 初期値自動セットの設定
1. 部長承認が必要な見積書だけが届くように
1-1. 承認が必要な見積書だけが流れるワークフロー
クエステトラ社の見積もり業務では、
- 特別な値引きが必要なもの
- 公開している価格表がないサービスに関するもの(コンサルティング、管理者向けトレーニングなど)
については営業部長の承認が必要、というルールになっています。そこで最初に考えたワークフローは「承認が必要な見積書だけが流れるワークフロー」です。

しかし、このワークフローだけでは、「承認を必要としない見積書」については各営業マンが独自の判断で見積書を提出する、ということを意味します。
つまり、実際にどれだけの見積書が提出されているのかが営業部として把握できません。また現場においても、「自分が作成した見積書について承認が必要なのか、を迷う場面」が多くあったそうです。
1-2. 承認が不要な見積書 “も” 流せるワークフロー
そこで「全ての見積書」を流せる見積承認フローに変更することとしました。これを実現すれば、各営業マンは、迷うことなく見積書を申請する(登録する)ことができます。また、全ての見積書が一元的に保存されるので、部としてどれだけの見積書が提出されているのか、についても捕捉できるようになります。
ただ、部長承認が必要でない見積書は、「2.見積承認」の工程に届かないようにしたいものです。そこで、見積書の申請工程「1.見積申請」で、次の情報を入力できるようにし、ワークフローの流れも少し変更しました。
- 値引き種別 (チェックボタン:「特別な値引きが必要」)
- サービス種別 (チェックボタン: 「SaaS」「その他(導入支援、コンサル等)」)


このワークフローにある分岐(緑色のひし形要素)では、第一工程「1.見積申請」で入力された値が利用されます。つまり、
- 値引き種別で「特別な値引きが必要」にチェックが入っている場合
- サービス種別で「その他(導入支援、コンサル等)」にチェックが入っている場合
の条件が成り立つ場合に限り、営業部長の工程「2.見積承認」の方向に流れるようになります。具体的な設定は以下のとおりです。

これによって、営業マンは、見積書提出業務で「承認の要不要」を迷うことがなくなりました。
2. ファイル自動生成機能でデータ二重入力のムダを無くす
2-1. 二重入力の発生
全ての見積書が捕捉できるようになったのは良いことなのですが、一方で「負担が増えた」(データ入力の手間が増えた)との不満の声が上がり始めました。
つまり、営業マンは見積書ファイルを作成するために顧客名や金額を Excel に入力し、その後、見積承認フローの申請するためにも同じような内容を入力しなくてはならなくなったのです。

2-2. 二重入力問題の解決方法
たしかに、同じデータを何度も入力するのは不毛です。
ただ、「見積書の承認フロー」を適切に運用するには「社名」や「金額」についてはどうしても申請画面で入力する必要があります。検索やデータ集計に活用することも考えると、これらは「必須データ」と言わざるを得ません。つまり、「社名」や「金額」の二重入力を回避するには、
- 見積承認フローの申請画面で入力されたデータにもとづき、見積書ファイルが自動的に生成されるようにする
- 見積書ファイルを作成したら、自動的に見積承認フローがスタートするようにする
の解決方法を取る必要があります。私(矢作)は、前者の方法(見積書ファイルが自動生成される)で「二重入力」問題を解消したいと思いました。
2-3. 見積書PDFの自動生成工程
従前の第一工程「1.見積申請」では、見積書ファイルを添付し、顧客名や金額を入力していました。
新しく考えたワークフローでは、第一工程「1.見積申請」で、見積書を作るために必要な明細情報を入力するように改めました。( “見積書ファイル” は作成しません)。そして部長承認の工程で承認された “見積明細データ” から、見積書 PDF ファイルが自動的に生成されるような流れに改めました。具体的には、ワークフロー図に自動処理工程の一種である『サービスタスク(PDF生成)』という工程を追加しました。

2-4. PDF自動生成の設定
『サービスタスク(PDF生成)』を配置するだけで見積書ファイルが自動的に生成されるとカンタンでいいのですが、そこまでカンタンではありません。「クエステトラ社の見積レイアウトに従った PDF ファイル」が生成されるようにするためには、次のようなステップが必要です。
- 明細データが上流工程で入力できるようなワークフローを設計する
- 見積フォーマットを規定する “台紙PDF” を用意する
- サービスタスク(PDF生成)の設定をする
2-4-1. 明細データが上流工程で入力できるようなワークフローを設計する
見積書PDFが自動生成されるようにするには、「1.見積申請」の工程で、見積書を構成する明細情報が全て入力されていなければなりません。具体的には次の図のような画面になるようにします。

今回は次のようなデータ項目を追加し、「1.見積申請画面」で入力できるようにしました。
- 見積書番号(文字型)
- 提出先名称(文字型)
- 提出先担当者名(文字型)
- 見積もりメッセージ(文字型)
- 営業担当者名(ユーザ型)
- 発行日(日付型・年月日)
- 有効期限(日付型・年月日)
- 明細(テーブル型)
- 明細小計(数値型)
- 明細小計 x 税率(数値型)
- 合計金額(数値型)
- 特記事項(文字型)
また、申請画面では関係ありませんが、下流工程で必要となる次の2つの項目も追加しておきます。
- 見積書PDF(ファイル型)※生成されたPDFファイルが保存されるデータ項目
- 見積書PDFファイル名(文字型・初期値=見積書.pdf)※PDFファイル生成時のファイル名
2-4-2. 見積フォーマットを規定する “台紙PDF” を用意する
各見積データの「出力位置」や「表示フォント」を決めるために、”台紙PDF” と呼ばれるものを作成します。
具体的には PDF の作成・編集ツール(Adobe Acrobatなど)を使って「PDF フォーム」(入力可能なPDF)を作成します。次の図のように、どの項目をどこに配置するのか、左寄せにするのかセンタリングするのか、どんなフォントで表示するのか、などを細かく設定しました。
その後、作成した “台紙PDF” をアドオンとして登録します。(参照マニュアル:「M228自動工程業務データを挿し込んだPDF帳票が自動生成されるように設定する」)

2-4-3. サービスタスク(PDF生成)の設定をする
フロー図に配置したサービスタスク(PDF生成)をダブルクリックしてプロパティ画面を表示させ、ここで最後の設定を行います。
“台紙PDF” のアドオン登録を済ませていると、アドオンメニューにチェックを入れることで作成した “台紙PDF” を選ぶことができます。また、「PDFファイルを保存するファイル型データ項目」、「保存する際のファイル名を指定する文字型データ項目」には、それぞれ(2-4-1で設定した)「見積書PDF」と「見積書PDFファイル名」を指定します。

2-5. PDF自動生成の価値
ここまでのワークフローアプリ設定を行い、ワークフローアプリをリリースし、実際に見積明細データを「1.見積申請」で入力してみると、「見積PDF自動生成」の自動工程でデータが差し込まれた見積書PDFが自動的に生成されることを確認できます。
これで営業マンの不満である「二重入力」問題が解消されました。営業マンもこれで機嫌よく仕事に取り組んでくれるでしょう(笑)。

今回の改良では、更に良いことがありました。それはミスが減るということ。
データの入力回数が多ければ多いほど、ミスを埋め込んでしまうリスクは上がります。データ入力の回数が一度で済むようになったことで、ミスの確率が下がります。業務フローの中で自動化すると、単に省力化が進むだけでなく、業務の品質もあがっていく、ということですね。

3. 自動採番機能でメンドウなID採番作業を無くす
3-1. 見積書IDの採番が手間
全ての見積書が自動生成されるようになったのは良いことなのですが、一方で「どうせなら見積書IDも自動で」との不満の声が上がり始めました。
つまり、この時点のワークフローアプリでは、営業マンは第一工程「1.見積申請」で見積書番号を入力しなければなりません。そのために毎回、見積書IDの管理台帳(Google スプレッドシート)を参照し、ユニークな番号を取得するという手間が発生していました。営業マンにとっては、面倒なものでしか無かったと思います。
ということで、データ項目「見積書番号」があらかじめセットされている状態にする、という改善を行うこととしました。
3-2. プロセス連番機能と初期値自動セット機能
「見積書番号」を自動採番するには、「プロセス連番を使った初期値」を利用します。
クラウド型ワークフロー Questetra BPM Suite では、ワークフロー・アプリごとに「プロセス連番」という数値カウンターを持っています。「プロセス連番」は、新しいプロセスが起動する度に(新しい申請が行われる度に)、前回起動されたプロセスの「プロセス連番」にプラス1された値が代入されます。

そこで、データ項目「見積書番号」に「プロセス連番を含む文字列」が初期値として自動的にセットされるようにしました。具体的には、次のようなルールで「見積書番号」が採番されるようにしています。
- 全体で9桁とする。
- 先頭の6桁は年と月を表すものとする。例えば、2017年11月、2018年1月に発行される見積書の場合はそれぞれ 201711, 201801 となるようにする。
- 後ろの3桁は「プロセス連番」部分とする。その月の10番目、150番目に発行される見積書の場合はそれぞれ 010, 150 となるようにする。
- 「プロセス連番」部分は月に一度リセットされる。
たとえば、2018年1月に150番目に申請した見積は 201801150 の見積書番号が自動採番されるようになりました。
3-3. 初期値自動セットの設定
データ項目「見積書番号」の設定画面で、次の図の編集を押して表示される画面で初期値を設定します。

表示されたダイアログにある「初期値」に ”おまじない” を入力します。”おまじない” には、見積書番号のルールを書く必要があるのですが、今回は次のような “おまじない” を記入しました。(参照マニュアル:「M207データ項目データ項目の初期値があらかじめ入力されているように設定する」)

#{#format(processInstanceStartDatetime, 'yyyyMM')}#{#sformat('%03d', processInstanceSequenceNumber)}
3-4. 初期値自動セットの価値
最後の改善で見積書番号が自動的に採番され、かつ自動的にデータ項目「見積書番号」にセットされるようになりました。これで営業マンの負担も少し減り、見積書番号の入力ミスもなくなりました。
しかし、見積承認フローはまだまだ改善すべきことがありますね…
4. 初期値自動セット機能で識別しやすいファイル名にする
4-1. 見分けつかない見積書PDF
幾つかの改善を重ねてきましたが、営業マンにはまだまだ不満がある様子。
次は「自動生成される見積書 PDF のファイル名を識別しやすいものにしてくれ!」とのこと。
たしかにこれまでに作った見積承認フローでは、承認された後に自動生成される見積書ファイルの名前は全て “見積書.pdf” でした。頻繁に見積書を提出する営業マンにとっては、見積書.pdf を他の申請と区別するために手動で識別しやすいものに変更する必要がありました。この変更の手間が、営業マンにとっての不満なのです。
4-2. 初期値自動セットの設定
そこで、自動生成されるPDFファイルの名称が自動的に「見積書番号を含む形」になるように改良を行いました。この改良はカンタンです。
データ項目「見積書番号」の初期値に番号を自動生成する “おまじない” を書きましたが、このおまじないをデータ項目「見積書PDFファイル名」の初期値に含まれるようにします。今回は、見積書PDFファイル名を、”見積書-見積書番号.pdf” という形しました。具体的に言うと、見積書番号が 201711001 の場合、”見積書-201711001.pdf” という形にするということです。
データ項目「見積書PDFファイル名」の初期値に、見積書- という文字に続けて、データ項目「見積書番号」の初期値に入力された値を入力し、最後に .pdf という文字を入力すれば、”見積書-見積書番号.pdf” というファイル名が生成されることになります。(データ項目「見積書番号」に入力した初期値を、”見積書-” と “.pdf” で挟めば良い、という説明の方が分かりやすいかもしれません。)

この改良で、申請ごとにファイル名が異なる見積書PDFファイルが生成されるようになりました。営業マンはファイル名を見ただけで見積書番号が分かるようになりました。