概要
注意
- v2.23より、契約更新時には既存の見積条件レコードの値が書き換えられるのではなく、新規で見積条件レコードが作成されるようになりました。
それに付随して、見積条件に紐づく商談・販売レコードもコピーされるようになります。
(商談に関しては設定マスタのフラグ値によってコピーするかしないかの制御が可能です。)
詳細につきましては、FAQ『v2.23以降の契約更新に関する注意事項』をご参照ください。
- 同じタイミングで「契約自動更新」機能が追加されましたが、自動更新と予約更新では、動作や使用する項目に違いがあります。契約自動更新については、FAQ『v2.23から追加された契約自動更新機能について』をご参照ください。
目次
本機能のために追加された項目・設定が必要な項目
※新しく追加された項目は、必要に応じてレコードページに追加してください。
設定マスタオブジェクト
項目の表示ラベル | 項目名(API参照名) | 説明 |
---|---|---|
商談連携 | appsfs__fs_OpportunityLinkage__c |
値をONにすると、契約更新時に作成される |
契約更新種別 初期値 | appsfs__fs_DefaultContractRenewalType__c | 契約管理が新規作成・更新される際の「契約 更新種別」項目のデフォルト値を設定します。 |
予約更新判定用日付項目 | appsfs__fs_ReservationJudgeField__c |
見積条件に作成したカスタム日付項目を指定 |
契約管理オブジェクト
項目の表示ラベル | 項目名(API参照名) | 説明 |
---|---|---|
次回契約 月数 | appsfs__fs_NextAmountOfMonth__c | 契約更新した際の次の契約月数を入力してください。 受注確定時には、見積条件.次回契約 月数の値が入ります。 |
契約更新種別 | appsfs__fs_ContractRenewalType__c |
契約予約更新の対象である場合は「スケジュール」を指定して |
見積条件オブジェクト
項目の表示ラベル | 項目名(API参照名) | 説明 |
---|---|---|
次回契約 月数 | appsfs__fs_NextAmountOfMonth__c | 契約更新した際の次の契約月数を入力してください。 |
予約 | appsfs__fs_Reservation__c | 次契約予約から作成した場合はTrueになります。 |
予約更新日 | appsfs__fs_ReservationRenewalDate__c |
契約予約を自動処理する場合に当該日付を過ぎたら自動的に |
予約更新状態 | appsfs__fs_RenewalReservationStatus__c | 予約更新処理のステータスです。 次契約予約から見積条件を作成した時は「未実行」 予約自動更新を行い実行された場合は「実行済み」 エラーとなった場合は「エラー」となります。 |
商談オブジェクト
項目の表示ラベル | 項目名(API参照名) | 説明 |
---|---|---|
自動作成 | appsfs__fs_AutomaticCreate__c | 契約予約更新にて商談がシステム的に作成された場合Trueになります。 |
予約作成 | appsfs__fs_ReservationCreate__c | 次契約予約にて商談がシステム的に作成された場合Trueになります。 |
販売オブジェクト
項目の表示ラベル | 項目名(API参照名) | 説明 |
---|---|---|
自動作成 | appsfs__fs_AutomaticCreate__c | 契約予約更新にて販売がシステム的に作成された場合Trueになります。 |
予約作成 | appsfs__fs_ReservationCreate__c | 次契約予約にて販売がシステム的に作成された場合Trueになります。 |
設定手順
まず、次契約期間の更新内容をあらかじめ予約するための手順を説明します。
次契約予約機能
-
予約を行う契約管理のレコードページを開き、画面右上の「次契約予約」アクションをクリックします。
※バージョンアップをした場合は、ページレイアウトにアクションを追加する必要があります。
-
見積条件登録画面で次契約期間の更新内容を編集します。
「次契約予約」から見積条件登録画面を開くと、基本情報セクションの一番下に『予約』『予約更新日』が表示されます。
予約更新日には『契約期間 終了予定日』が初期値として入力されます。
保存したら、次契約期間の見積条件は完成です。
既知の不具合
契約更新時に自動設定される契約終了日が、契約開始日に関わらず常に「末日」となる事象を確認しています。
例えば、契約期間が「2020年12月15日〜2021年12月14日」までのような契約があった場合に、更新をすると次の契約期間が「2021年12月15日〜2022年11月30日」になります。
お手数おかけいたしますが、手動にて契約期間を変更していただきますようお願いいたします。
→上記つきましては、v3.1.1で改修しております。
次に作成した次契約期間の見積条件を特定の日付が来たら自動で更新(受注確定)するための手順と対象となるデータを説明します。
契約予約更新処理
対象となるデータ
- 見積条件.予約と有効にチェックあり
- 見積条件.予約更新状態が未実行
- 見積条件.予約更新日または設定マスタ.予約更新判定用日付項目に設定している見積条件のカスタム日付項目が昨日以前の日付
※設定マスタ.予約更新判定用日付項目が設定されている場合、こちらの日付が優先されます。 - 契約管理.解約日が空
- 契約管理.契約更新種別がスケジュール
※v2.23の契約予約更新処理では、無効にした予約データを持つ契約管理は自動更新の対象に含まれない動作となっています。
手順
-
設定画面のクイック検索ボックスに「Apex」と入力し「Apexクラス」をクリックしたら、開いた画面で「Apexをスケジュール」ボタンをクリックします。
※ApexクラスをスケジュールしたSalesforceユーザは、無効化しないでください。
(スケジュールを行ったSalesforceユーザを無効化しなければならない場合は、既存のスケジュールを削除し、有効なSalesforceユーザで再度スケジュールし直すなどのメンテナンス作業を行ってから無効化してください)
-
お好みのジョブ名(ここでは「契約予約更新__2020/12/01-2021/11/30」)とApex クラスに「ReservationRenewalScheduler」を選択します。
-
お好みの頻度・期間・時刻を指定し、保存します。
この設定を行うことで、条件を満たす全ての契約が指定したスケジュールで自動的に更新されるようになります。
なお、スケジュールされたジョブは以下の画面から確認可能です。
・設定>環境>ジョブ>スケジュール済みジョブ
設定を行ったときの挙動
ここでは下記契約を例として、「次契約予約」から「契約予約更新処理」まで行った場合、実際にどのようなデータ・動作となるか紹介します。
契約内容
契約期間:2020/12/01-2021/11/30(12ヶ月)
次回契約 月数:6ヶ月
次契約予約から予約データを作成
見積条件
契約期間は「次回契約 月数」の6ヶ月をもとに算出されます。
また、「予約更新日」が表示されるので、今日より過去の日付となるように変更しておきます。
※ここでは、設定マスタ.予約更新判定用日付は使用していません。
見積明細
利用期間も契約期間と同様の日付になります。
保存をすると、新しく見積条件が作成されます。
また、元の見積条件に紐づいていた販売がコピーされ、新しい見積条件に紐づきます。
(設定マスタ.商談連携がTrueで商談がある場合も同様です。)
元の見積条件 新しい見積条件
予約更新処理を実行する前に作成した見積条件が予約更新処理の条件にあってはまっているか確認しましょう。
予約更新処理をスケジュールして更新
以下内容でスケジュールしたので、14時のタイミングで予約更新処理が実行され、対象の見積が受注確定されます。
※Salesforceの仕様上、開始時刻は多少前後する可能性があります。
実行がされたかどうかは「バックグラウンド処理履歴」から確認することができます。
予約更新が行われたデータがある場合『予約更新(見積条件毎)』のようなレコードが作成されます。
契約管理を確認すると、契約期間が予約した「2021/12/01-2022/05/31」で最終更新日が「2020/12/29(火) 14:00」となっているのが分かります。