この記事では、Microsoft Dynamics 365 Intelligent Order Management の Fulfillment and Returns Optimization プロバイダーの概要について説明します。
フルフィルメントおよび返品最適化プロバイダーは、ビジネスによって決定された望ましい構成を尊重しつつ、必要な目標を達成する注文フルフィルメントのソースを判断するインテリジェントな最適化サービスです。 Fulfillment and Returns Optimization プロバイダーは、適切な数量、適切なソース、および適切なタイミングで製品が顧客に確実に配信されるようにするのに役立ちます。 そのため、利益を最大化し、コストを最小限に抑え、サービス レベルの要件を満たすのに役立ちます。
製品フルフィルメントが複数のチャネルから提供される最新の供給ネットワークでは、組織は注文の変更、サプライヤーの可用性の問題、または需要の急増に迅速に適応する必要があります。 フルフィルメントと返品の最適化プロバイダーは、注文のフルフィルメントを最大化し、最も近いソースからの注文を満たすことでコストを最小限に抑えるなど、さまざまなビジネス上の制約とビジネス目標に基づいて製品の配信に適したソースを見つけるのに役立ちます。
Fulfillment and Returns Optimization プロバイダーはマイクロサービスとして構築され、フルフィルメント ソース、ソース リスト、ビジネス制約、戦略などの構成データを Microsoft Dataverse から読み取り、注文フルフィルメントを最適化します。 プロバイダーは、Azure Maps を使用して、注文とフルフィルメント ソースのジオコーディング配送先住所情報を提供し、それらの場所間の距離を提供します。
Fulfillment と Returns の最適化プロバイダーの設定
注文オーケストレーション体験の一部としてフルフィルメントと返品の最適化プロバイダーを有効にするには、「フルフィルメントと返品の最適化プロバイダーの設定」の手順に従って 、Fulfillment and Returns Optimization プロバイダーを設定してアクティブ化します。 プロバイダーがアクティブ化されたら、ビジネス目標を達成するために次の設定を設定する必要があります。
インテリジェント注文管理マッピングの構成
インテリジェント注文管理マッピングを維持することが、フルフィルメントおよび返品の最適化エンジンが正しく動作するための前提条件として重要です。 詳細については、「 インベントリの可視性プロバイダーを設定する」を参照してください。
注
フルフィルメントが Microsoft Dynamics 365 Finance and Operations アプリを通じて行われる場合は、計算済のメジャー マッピングを設定する必要があります。
情報源
フルフィルメント ソースは、在庫を持つ企業または製品を提供するエンティティです。 たとえば、倉庫、流通センター、小売店、ドロップシップ ベンダー、仮想サイトなどがあります。 フルフィルメント ソースを作成および変更するには、左側のナビゲーション ウィンドウの下部にあるエリア スイッチャーを選択し、[ 設定] > [フルフィルメントの設定] に切り替えます。 次に、[ フルフィルメントの設定 ] ページの [ ソース] で [管理] を選択します。
フルフィルメント ソースごとに、次のアクションを実行できます。
- 一意の名前を定義します。
- ソースのタイム ゾーンを設定します。
- ソースの種類 (倉庫など) を設定します。
- ソースの場所を指定する (緯度と経度)
- Inventory Visibility サービスでシステムがインベントリを検索する場所を指定します。
財務および運用アプリでインテリジェント注文管理を使用している場合は、各フルフィルメント ソースを出荷倉庫にマップする必要があります。 フルフィルメント ソースの設定で割り当てられている出荷倉庫を管理してください。
倉庫内の注文の平均処理時間に関する詳細を追加できます。 この情報は、さまざまな注文の計画出荷日を決定するために使用されます。 倉庫のカットオフ時間を設定することもできます。 この情報は、注文を午前 12 時からカットオフ時間の間にのみ倉庫に送信できるように、倉庫の タイミング制約 設定が有効になっている場合に使用されます。
ソース リスト
フルフィルメントソースリストを使用すると、特定の制約内で、ソースのリストをグループ化し、柔軟な方法でソースを管理できます。 フルフィルメントソースリストを定義するには、[ フルフィルメント設定 ]ページの[ ソースリスト]で[管理]を選択 します。
ビジネス状況に応じて、複数のソース リストを定義し、必要に応じて使用できます。
たとえば、戦略定義では、フルフィルメントが発生するすべてのソースを含めることができます。 ビジネス上の制約に対しては、別のソース リストを使用できます。 小売店と倉庫に対してそれぞれ異なる最大距離制約を設定し、小売店に限り部分的な注文処理を制限することも可能です。
[ 管理 ] ページには、アクティブなソース リストが表示されます (ソース リスト > 管理)。 新しいソース リストを作成するには、[ 新規] を選択します。 ソースリストを簡単に識別するのに役立つ名前を入力し、[ ソース] タブ で新規または既存のソースを追加します。ソースリストからソースを削除するには、[ ソース] タブ でソースを選択し、[削除] を選択 します。
Constraints
制約は、履行最適化の選択可能なコンポーネントです。 次のビジネス上の制約がサポートされています。
- 最大距離
- 注文の部分的な履行を制限する
- 注文あたりの倉庫数を制限する
- 倉庫のタイミングを尊重する
- 最大注文明細行数
- 注文明細行あたりの倉庫数を制限する
- 安全在庫制約
制約を作成または変更するには、[ フルフィルメントの設定 ] ページの [ 制約] で [管理] を選択 します。 特定の型の制約を作成するには、制約を作成するときに適切な制約の種類を選択します。
すべてのビジネス制約は、定義の一部として一連の共通属性を共有します。 詳細は、ビジネス上の制約の種類によって異なります。 次の一般的な属性は、すべてのビジネス上の制約に適用されます。
- Name – この属性は、ビジネス上の制約を識別するために使用されます。
- Description – この属性は、ビジネス上の制約を記述するために使用されます。
- 制約の種類 – この属性は、ビジネス制約の種類を示します。
- 有効 - この属性は、ビジネス制約を有効または無効にするために使用されます。
各種類の複数のビジネス制約を定義し、異なる最適化戦略に適用できます。
最大距離制約
最大距離制約を使用すると、組織は、ソースまたはソースのグループが注文を満たすために拡張できる最大距離を定義できます。 現在、距離は、Azure Maps によって計算されたソースと顧客の住所の間の直線距離と見なされます。
ソースまたはソース リストの最大距離を定義できます。 個別に定義されたソース距離を含むソース リストに対して最大距離が定義されている場合は、ソースに対して重複する最大距離制約が定義されている可能性があります。 この場合、最適化サービスは、ソースに対して定義された最も低い最大距離を適用します。
次の図は、シアトルの倉庫が最大距離が 50 マイルである [すべてのソース ] リストの一部であっても、半径から最大 10 マイルしか配信できない例を示しています。 この制約の動作方法により、競合が発生した場合は最短距離が使用されます。
制約の結果、販売注文に適した倉庫がない場合、システムは販売注文のフルフィルメント注文を作成できません。 代わりに、販売注文の状態が [在庫が見つかりません] に変わります。
注文制約の部分的なフルフィルメントを制限する
場合によっては、Fulfillment and Returns Optimization プロバイダーは、需要が供給を超えるシナリオを処理する必要があります。 既定では、インテリジェント注文管理が利用可能な在庫よりも多くの数量を必要とする注文を受け取ると、販売注文は注文明細行で分割されます。 注文の一部の行は完了されますが、一方、他の行はバックオーダーされるか、注文状態が在庫が見つからないに設定されます。 個々の注文明細行をさらに分割して部分的に割り当てることはできませんが、異なるソースに割り当てることができます。 注文の部分的なフルフィルメントを制限する制約が有効になっている場合、フルフィルメントと返品の最適化プロバイダーは、注文全体が満たされるか、注文がまったく満たされないことを保証します。
倉庫のタイミング制約を考慮する
企業には、毎日特定の時刻に出発する配送トラックが存在する場合があります。 このシナリオに合わせて最適化するために、各ソースを異なるカットオフ時間に構成できます。 この制約が期待どおりに動作することを確認するには、実行する前に、それらを尊重する必要がある倉庫にカットオフ時間を追加します。
倉庫のタイミング制約を考慮するが有効になっている場合、フルフィルメントと返品の最適化プロバイダーは、これらの注文をカットオフ時間の前に倉庫に送信できる場合にのみ、ソースがフルフィルメント注文を作成することを保証します。 できない場合、Fulfillment and Returns Optimization プロバイダーは、処理注文に対してまだ開かれている倉庫に販売注文を割り当てようとします。 この方法で、Fulfillment and Returns Optimization プロバイダーは、フルフィルメントと配送を迅速化するために最適化します。
注文の制約ごとの倉庫数を制限する
すべてのインベントリが 1 つのソースで使用できるわけではない場合があります。 このような場合に注文をフルフィルメントするために、Fulfillment and Returns Optimization プロバイダーは、1 つの販売注文を分割し、異なる倉庫をその異なる部分に割り当てます。 倉庫の制限数制約を使用すると、注文を分割する度合いを制御できます。
この制約を構成して、1 つの注文を分割する倉庫の最大数を指定できます。 つまり、この制約に対して 3 つの倉庫を指定する場合、すべての販売注文を 1 つ、2 つ、または 3 つの異なる倉庫から満たす必要があります。 販売注文全体を1つのフルフィルメントソースからのみ処理したい場合は、倉庫の最大数として1つを指定する必要があります。 販売注文のフルフィルメントに 3 つ以上の倉庫が必要な場合、注文の部分的なフルフィルメントの制限制約を無効にし、倉庫数の制限制約を有効にしていない限り、販売注文はまったく満たされません。
既定では、フルフィルメントと返品の最適化プロバイダーは、在庫条件やその他の制約を考慮しながら、必要な数の倉庫間で販売注文を分割します。
注文を分割する倉庫の数を指定するには、[ 新しい制限倉庫数制約 ] を選択してエントリを追加し、[ 保存] を選択します。
注文明細行ごとの制約により倉庫の数を制限する
この制約を構成して、1 つの注文明細行を分割する倉庫の最大数を指定できます。 つまり、複数のソースから 1 つの注文明細行を満たしたくない場合は、1 つを倉庫の最大数として指定できます。
注文行数の最大制限
場合によっては、容量やリソースの制限により、フルフィルメント ソースが特定の日に特定の数を超える注文明細行を処理できない場合があります。 [注文明細行の最大数] 制約を使用して、1 つのフルフィルメント ソースにルーティングされる注文明細行の数を制限できます。 この制約を構成して、1 日あたりの最大注文明細行数、フルフィルメント ソースごと、またはソース リスト単位を指定できます。 出荷ソースまたはソースリストの数に達した場合、その日の注文明細行は選択の対象から外れます。
安全在庫の維持
一部の企業では、顧客の需要を効率的に管理し、在庫が少なくなりすぎないように、安全在庫を維持しています。 フルフィルメントおよび返品の最適化プロバイダーを使用すると、それぞれのフルフィルメント ソースについて、安全在庫を 2 レベルで管理することができます。
フルフィルメントと返品の最適化プロバイダーは、製品の在庫が安全在庫レベルを下回った場合、フルフィルメント ソースを除外します。 安全在庫制約を構成するには、次のセットアップを実行する必要があります。
- 安全在庫の制約: 新しい制約を作成し、[ 制約の種類 ] フィールドを [安全在庫制約] に設定します。
- フルフィルメント ソースでの安全在庫: フルフィルメント ソースの安全在庫を維持します。
このセットアップが完了すると、フルフィルメントと返品の最適化プロバイダーは、手持ち在庫が安全在庫制限を下回った場合、フルフィルメント ソースを除外します。
ソフト制約の導入
制約は、制約設定で ハード または ソフト として定義できます。 制約がソフトとして定義されている場合は、フルフィルメント ソース決定アルゴリズムで制約を考慮できる場合にのみ、その制約が選択に含まれます。
既定では、制約は無効になるまでハード制約です。 拘束をソフト拘束として定義するには、拘束設定で [ハード拘束 ]オプションを [いいえ ]に設定します。
たとえば、 1 つの倉庫への制限 はソフト制約として設定されます。 したがって、最初に、注文を単一のソースで処理できるかどうかが確認されます。 注文が 1 つのソースで満たされない場合は、複数のソースが使用されます。
フルフィルメント ソースのアクティブ化と非アクティブ化
一時的または永続的に、さまざまな理由により、企業が特定のフルフィルメント ソースを除外したい場合があります。 フルフィルメントおよび返品の最適化機能を使用すると、ニーズに基づいてフルフィルメント ソースを柔軟にオンまたはオフすることができます。 フルフィルメントソースを除外するには、フルフィルメントソース設定で 非アクティブ化 を選択します。 再度含める場合は、フルフィルメント ソースの設定で アクティブ化 を選択します。
戦略
戦略は、ビジネス ニーズを達成する最適化構成を定義するのに役立ちます。 戦略では、考慮する必要がある目標、制約、ソースがまとめられ、インベントリの最適化の実行方法が指定されます。 戦略を作成および変更するには、[ フルフィルメントの設定 ] ページの [ 戦略] で [管理] を選択 します。
すべての戦略の定義済みの目的は、距離を最小限に抑えながら注文を満たすことです。
ビジネスの性質に応じて、複数の最適化戦略を定義できます。 フルフィルメントに参加するソースの一覧を定義し、最適化サービスで適用する制約を定義できます。 これらの制約は、最適化サービスが最適なソースを決定するときに強制されるハード制約です。 既定の戦略として戦略を構成できます。 ただし、一度に既定の戦略にできるのは 1 つの戦略だけです。
戦略は、リアルタイム モードまたはバッチ モードで実行するように構成できます。 戦略がバッチ モードで実行されると、それを使用する販売注文は、構成された期間に達するまでキューに入れられます。 リアルタイム モードとバッチ モードの両方で、1 つのフルフィルメント プランが作成されます。
1 つのビジネス内では、フルフィルメントの最適化は、顧客の種類、チャネル、およびその他のビジネス属性によって異なる場合があります。 インテリジェント注文管理では、複数のフルフィルメント戦略の使用がサポートされています。 企業は、ポリシーを使用するか、注文の取り込みプロセス中に販売注文にフルフィルメント戦略属性を設定することで、複数のフルフィルメント戦略を設定できます。
フルフィルメント戦略の設定
戦略を定義するには、次の手順に従います。
フルフィルメントの設定ページで、戦略の下にある管理を選択します。
新規を選択します。
[ 戦略 ] ページで、次のフィールドを設定します。
- [名前] – 戦略の名前を入力します。
- [説明 ] – 戦略の説明を入力します。
- ソースリスト - 最適化の実行時に考慮する必要があるフルフィルメントソースのリストを定義します。
- 既定値 – 戦略が既定の戦略かどうかを指定します。 既定の戦略は常に存在する必要があり、既定の戦略として設定できるのは組織ごとに 1 つの戦略のみです。 既定の戦略は、最適化を実行するために使用する必要がある戦略が販売注文で指定されていない場合に使用されます。
- バッチ処理を有効にする – このオプションをオフにすると、すべての注文がリアルタイムで処理されます。 オンにすると、注文がキューに収集され、定期的に処理されます。
- バッチ処理 (分単位 ) – 各キューを処理する時間間隔を分単位で指定します。 既定の間隔は 2 分です。
- 所有者 – 戦略を作成したユーザー。
ここには、在庫指標を明示的に追加する必要はありません。 代わりに、フルフィルメントおよび返品の最適化プロバイダに使用される在庫を、Intelligent Order Management で次の方法で構成する必要があります。
- インテリジェント注文管理の左側のナビゲーション ウィンドウの [注文設定] で、[ 設定] > [インデックスと予約] に領域を変更し、[ インテリジェント注文管理マッピング] を選択します。
- インベントリソースおよび測定名を構成します。 フルフィルメントおよび返品の最適化プロバイダーで使用される測定方法は、オンハンド および ATP Onhand です。
注文自動化フローにおけるフルフィルメントの最適化
注文オーケストレーション フローで物流を最適化するには、まず、Fulfillment and Returns Optimization 提供者を設定して有効化する必要があります。 プロバイダーがアクティブ化されたら、注文オーケストレーション体験の一部として Fulfillment and Returns Optimization プロバイダーを使用してインテリジェントな最適化を有効にすることができます。
注文処理が開始されると、サービスは最適化を必要とする注文を取得し、ソースの一覧で最も近いフルフィルメント ソースから最適な場所を決定します。 フルフィルメントと返品の最適化プロバイダーは、フルフィルメント ソースの住所と注文明細行の出荷先住所の緯度と経度を計算します。 また、2 つのアドレス間の航空距離も計算されます。 その後、プロバイダーは制約を適用し、最適なフルフィルメント ソースを決定します。 結果は、注文オーケストレーション フローの一部としてさらに処理するために Dataverse に書き込まれます。
組織は履行計画にクエリを実行して結果を確認できます。 実行計画には、注文明細行の詳細、明細行の元の数量、実行済み数量、および実行タイプ(完全調達、部分調達、未調達、または例外)が表示されます。
注文自動化フローにおける複数のフルフィルメント戦略
Fulfillment and Returns Optimization プロバイダーは、さまざまなビジネスのニーズに基づいて設定できる複数のフルフィルメント戦略をサポートしています。 たとえば、ある企業は、配送センターからのみ企業間 (B2B) 注文を処理し、すべてのフルフィルメント ソース (配送センター、倉庫、店舗など) からの企業間 (B2C) 注文を処理する必要がある場合があります。 複数のフルフィルメント戦略を使用することで、組織は販売注文ごとに異なるフルフィルメント アプローチを採用できます。
企業は、オーケストレーションの組み合わせで販売注文にフルフィルメント戦略 ID を追加することで、販売注文にフルフィルメント戦略属性を設定できます。 フルフィルメント戦略は、ソースに基づいて販売注文に対して設定するか、変換を受注プロセスの一部として使用して設定できます。 フルフィルメント戦略は、販売注文属性やその他のエンティティを使用してポリシー アクションで設定することもできます。 ポリシーを使用することで、企業は条件ビルダーでさまざまなエンティティの属性を使用して戦略を設定できます。 複数の戦略が設定されていても、フルフィルメント戦略のポリシー割り当てが構成されていない場合、システムは構成済みの既定の戦略を使用します。
代替戦略
フルフィルメントと返品の最適化プロバイダーは、ルールベースのフルフィルメントにおける柔軟性を高めるための代替戦略の策定もサポートしています。 注文に割り当てられた既定の戦略で注文または注文明細行のフルフィルメント ソースを特定できなかった場合は、代わりに代替戦略が使用されます。 たとえば、企業は既定で小売店の在庫を使用して注文を処理し、小売店の在庫がない場合は流通センターを使用することができます。 代替戦略を柔軟に定義することで、組織はルールベースのフルフィルメントのオプションを増やせます。
代替戦略は、[戦略] ページの [全般] セクションで指定します。
フルフィルメント計画
(バッチ モードなど) 単一のフルフィルメント最適化の結果は、単一のフルフィルメント計画になります。 このエンティティには、倉庫間の内訳と、これらの倉庫への販売注文の割り当ての詳細が含まれます。
履行計画は、内部の Power Automate フローによって履行注文に変換されます。 エンティティはフルフィルメント プロバイダーによって消費可能であり、配信業者などの後続の手順にオーケストレーション プロセスを移動するために使用できます。
プライバシー通知
Fulfillment and Returns Optimization プロバイダーは、 サービス固有の条件に準拠する Azure Maps 位置情報機能を使用します。 Azure Maps の位置情報機能は、テナントの地理的境界の外で動作する可能性があるサード パーティによって部分的に強化されています。
Fulfillment and Returns Optimization プロバイダーを有効にした場合、Microsoft は顧客の住所、市区町村、都道府県、郵便番号を第三者と共有して位置情報情報を取得しますが、情報を入力したユーザーのメール アドレス、電話番号、または名前は共有しません。
Microsoft にとってお客様のプライバシーは重要です。 詳細については、Microsoft プライバシー ステートメント を参照してください。