概要
v2.22以前、契約更新をするためには
- 契約管理の詳細画面で、契約ライセンスの関連リストに設置されている「契約更新」ボタンをクリック
- 遷移先の見積条件登録画面で、更新後の契約情報を入力して保存
- 「受注確定」ボタンをクリック
のステップを踏むことが必須でした。
しかしv2.23より、上記ステップを踏まずとも「特定の日付が来たら自動で契約期間が更新される」ような設定を行うことが可能になりました!
動作としては、「契約更新」ボタンをクリックし、契約内容変更せず「保存」ボタンをクリックした時と同じ動作になります。
契約自動更新時に「受注確定」まで行うかどうかは、設定マスタの「契約更新時に受注を確定」の設定によって決まります。
注意
v2.23より、契約更新時には既存の見積条件レコードの値が書き換えられるのではなく、新規見積条件レコードが作成されるようになりました。
それに付随して、見積条件に紐づく商談・販売レコードもコピーされるようになります。
詳細につきましては、FAQ『v2.23以降の契約更新に関する注意事項』をご参照ください。
既知の不具合 (v3.1.1で改修済み)
契約更新時に自動設定される契約終了日が、契約開始日に関わらず常に「末日」となる事象を確認しています。
本機能のために追加された項目・設定が必要な項目
設定マスタオブジェクト
※設定マスタの各項目は、それぞれ対象のレコードタイプに設定する必要があります。
下記項目はすべてレコードタイプ「Settings」が対象です。
設定マスタ項目につきましては、FAQ「【設定マスタ】レコードタイプごとの表示項目について」にも記載しております。
項目の表示ラベル | 項目名(API参照名) | 説明 |
---|---|---|
商談連携 | appsfs__fs_OpportunityLinkage__c | 値をONにすると、契約更新時に作成される見積条件に元の商談のコピーが紐づくようになります。 商談を使う場合は必ずTrueにしてください。 |
契約更新時に受注を確定 | appsfs__fs_OrderConfirmationOnContractRenewal__c | 契約自動更新時、商談や見積条件などを作成した後に受注確定を自動で行う場合はTrueにしてください。 |
契約更新種別 初期値 | appsfs__fs_DefaultContractRenewalType__c | 契約管理が新規作成・更新される際の「契約更新種別」項目のデフォルト値を設定します。 |
契約更新判定用日付項目 | appsfs__fs_ContractRenewalJudgeField__c | 契約管理オブジェクトに作成したカスタム日付項目を指定することで、そのカスタム日付項目の日付を過ぎた際に契約自動更新を行うことができます。 カスタム日付項目のAPI参照名を入力してください。 |
契約管理オブジェクト
項目の表示ラベル | 項目名(API参照名) | 説明 |
---|---|---|
次回契約 月数 | appsfs__fs_NextAmountOfMonth__c | 契約更新した際の次の契約月数を入力してください。 |
契約更新種別 | appsfs__fs_ContractRenewalType__c | 契約自動更新の対象である場合は「スケジュール」を指定してください。 自動更新する予定だが一旦止める場合は「保留」、自動更新の対象としない場合は「対象外」を選択します。 ※「保留」と「対象外」とで、挙動に違いはありません。どちらも自動更新の対象から外れます。 |
契約更新日 | appsfs__fs_ContractRenewalDate__c | 契約終了日がデフォルト値になります。今日の日付が当項目の値を超えたら契約自動更新対象となります。 |
見積条件オブジェクト
項目の表示ラベル | 項目名(API参照名) | 説明 |
---|---|---|
次回契約 月数 | appsfs__fs_NextAmountOfMonth__c | 契約更新した際の次の契約月数を入力してください。 |
自動作成 | appsfs__fs_AutomaticCreate__c | 契約自動更新にて見積条件がシステム的に作成された場合Trueになります。 |
見積オブジェクト
項目の表示ラベル | 項目名(API参照名) | 説明 |
---|---|---|
自動作成 | appsfs__fs_AutomaticCreate__c | 契約自動更新にて見積がシステム的に作成された場合Trueになります。 |
商談オブジェクト
項目の表示ラベル | 項目名(API参照名) | 説明 |
---|---|---|
自動作成 | appsfs__fs_AutomaticCreate__c | 契約自動更新にて商談がシステム的に作成された場合Trueになります。 |
販売オブジェクト
項目の表示ラベル | 項目名(API参照名) | 説明 |
---|---|---|
自動作成 | appsfs__fs_AutomaticCreate__c | 契約自動更新にて販売がシステム的に作成された場合Trueになります。 |
上記記載のオブジェクトのページレイアウトに、追加された項目を必要に応じて追加してください。
また、v2.23以前のバージョンで作成した既存の契約データに対して、自動更新を行うために必要となる設定を以下記事に記載しておりますためご覧ください。
v2.23契約自動更新機能を使うためのデータメンテナンスについて
設定手順
まず初めに、契約自動更新を行いたい契約管理レコードに対して以下のようにデータメンテナンスを実施してください。
- 「次回契約月数」項目の値: 契約更新した後の契約月数を指定してください。
- 「契約更新種別」項目の値: 「スケジュール」を選択してください。
- 「解約日」項目の値: 空値にしてください。
-
設定マスタの「契約更新判定用日付項目」の値が空のとき
「契約更新日」項目の値: 契約更新処理を実施したい日付の前日を指定してください。 -
設定マスタの「契約更新判定用日付項目」の値が空でないとき
「契約更新判定用日付項目」に指定したカスタム項目の値: 契約更新処理を実施したい日付の前日を指定してください。
※2 ~ 5の条件を満たさない契約管理レコードは自動更新の対象から外れますので、ご注意ください。
また、既に自動更新後と同等の見積条件データ([契約更新]ボタンをクリックして作成した未受注の見積条件)が契約管理に紐づいている場合も対象から外れます。
続いて、以下の手順で契約自動更新処理をスケジュールします。
- 設定画面のクイック検索ボックスに「Apex」と入力し「Apexクラス」をクリックしたら、開いた画面で「Apexをスケジュール」ボタンをクリックします。
※ApexクラスをスケジュールしたSalesforceユーザは、無効化しないでください。
(スケジュールを行ったSalesforceユーザを無効化しなければならない場合は、既存のスケジュールを削除し、有効なSalesforceユーザで再度スケジュールし直すなどのメンテナンス作業を行ってから無効化してください)
- お好みのジョブ名(ここでは「契約自動更新」)を入力し、Apexクラスに「ContractRenewalScheduler」を選択します。
- お好みの頻度・期間・時刻を指定し、保存します。
この設定を行うことで、1の条件を満たす全ての契約管理が4で指定したスケジュールで自動更新されるようになります。
尚、スケジュールされたジョブは以下の画面から確認可能です。
設定>環境>ジョブ>スケジュール済みジョブ
設定を行ったときの挙動
ここでは例として
- 契約更新日項目に「2020/11/30」を指定した、契約自動更新の条件を満たしている契約管理が存在する
- 契約管理の契約期間は「2020/10/01 ~ 2020/11/30」の2か月間、次契約月数は「1」である
- Apexクラス「ContractRenewalScheduler」を頻度「毎月1日」・期間「2020/01/01 ~ 2020/12/31」・希望開始時刻「0:00」でスケジュール設定している
- 設定マスタの「契約更新時に受注を確定」がONである
- 設定マスタの「商談連携」がONである
ケースを考えます。
2020/11/30 23:59までは、契約管理は更新前の情報です。
2020/12/01 00:00以降のタイミングで、スケジュールされていた自動更新処理が起動します。
※Salesforceの仕様上、正確な開始時刻はジョブキューの活動状況によって異なります。
その結果、新しい契約期間「2020/12/01 ~ 2020/12/31」の見積条件レコードが新規作成され、直後に受注確定が行われ、契約管理レコードの情報も更新されます。
見積条件
契約管理
尚、元の見積条件に紐づいていた商談と販売はそれぞれコピーされ、新しい見積条件に紐づきます。
元の見積条件
新しい見積条件