この記事では、外部システムに登録されている在庫調整トランザクションを、在庫表示サービスビジネス レイヤーを介してMicrosoft Dynamics 365 Supply Chain Managementと在庫の可視性とを同期するようにシステムを設定する方法について説明します。
一部の組織には、サプライ チェーン管理の外部で機能する複数のソースまたはインベントリ操作のチャネルがあります。 この機能を使用することで、これらの組織はインベントリの可視性を使用して、オムニチャネル インベントリ トランザクションを格納できます。 これらのトランザクションに基づいて、在庫の可視性で在庫調整仕訳帳を作成し、サプライ チェーン管理に転記できます。 これらの機能は、次の主なビジネス上の利点を提供します。
- すべてのオムニチャネル在庫調整を 1 か所で管理します。 すべてのチャネルとデータ ソースの在庫調整を在庫の可視性に転記できます。 その後、インベントリの可視性によって、集計とサプライ チェーン管理への転記が処理されます。
- インベントリフローをエンドツーエンドで追跡します。 ソース トランザクションとドキュメントから、サプライ チェーン管理 の在庫記録および財務記録に至るまで、在庫フローを追跡できます。 在庫調整を在庫表示に転記すると、ソース伝票タイプと参照番号が保存されます。 Inventory Visibility は、サプライ チェーン管理 のジャーナル番号を元の在庫トランザクションに関連付けます。
アーキテクチャとデータ フロー
インベントリの可視性では、インベントリの可視性サービスの上に配置される ビジネス レイヤーの概念が導入されています。 Inventory Visibility サービスはキャッシュ内のデータを処理および更新しますが、データをサプライ チェーン管理に直接書き戻すわけではありません。 ビジネス レイヤー機能は、次の要素と機能を追加します。
- 在庫の可視性ビジネス レイヤーで在庫調整トランザクションを作成するように設計された在庫調整 API (
/api/environment/{environmentId}/transaction/adjustment/bulk)。 ビジネス レイヤーには、サプライ チェーン管理ジャーナルとの統合とソース トランザクションとドキュメントの追跡に使用される列があります。 - 新しい API を使用して Inventory Visibility ビジネス レイヤーにポストされるオムニチャネル インベントリ トランザクションの詳細を格納するエンティティ。
- 一定の間隔で、転記された在庫調整トランザクションを Inventory Visibility サービス (メモリ内キャッシュ サービス) に自動的に更新する構成可能なメカニズム。
- 詳細な在庫調整トランザクションを集計し、定義されたルールに従って定期的にサプライ チェーン管理に同期する構成可能なメカニズム。
- Power Appsの Inventory Visibility アプリの新しいユーザー インターフェイス (UI) ページ。 このページでは、在庫調整トランザクションを [在庫の可視性] ビジネス レイヤーに手動で転記できます。 これは、API を使用する代わりに使用します。 この UI では、トランザクションを詳細または集計形式で表示することもできます。
前提条件
この記事で説明されている機能を使用する前に、システムが次の要件を満たしていることを確認してください。
バージョン 10.0.41 以降Dynamics 365 Supply Chain Management実行しています。
Inventory Visibility サービス バージョン 1.2.3.88 以降を実行しています。 インベントリの可視性をインストールし、そのバージョン番号を確認し、必要に応じて更新する方法の詳細については、「 インベントリの可視性のインストールと設定」を参照してください。
機能管理では、次の機能が有効になります。
- 在庫調整オフセットを使用した Inventory Visibility 統合 (この機能は前提条件です。サプライ チェーン管理 バージョン 10.0.45 以降、この機能は必須であり、無効にすることはできません。)
- Inventory Visibility integration (この機能は前提条件です。バージョン 10.0.45 サプライ チェーン管理時点では、この機能は既定で有効になっています)。
- 在庫可視化トランザクション統合(この機能はこの記事で説明する機能を追加します。サプライ チェーン管理 バージョン10.0.45以降、この機能はデフォルトで有効になっています。バージョン10.0.49以降は必須で、オフにできません。)
インベントリ トランザクションの同期を構成する
初めて機能を設定する
この機能を初めて設定するには、次の手順に従います。
- サプライ チェーン管理 にサインインします。
- 在庫管理>Setup>Inventory Visibility>Inventory Visibility 統合パラメーターに移動します。
- [ トランザクション ] タブで、[ 調整履歴の同期を有効にする ] オプションを [はい] に設定します。
- Generate configurations を選択して、サプライ チェーン管理と Inventory Visibility サービスで構成を初期化する自動デプロイ スクリプトを実行します。
- [ 転記ジョブを有効にする] を選択して、[ 在庫の可視性の転記ジョブ ] ダイアログ ボックスを開きます。
- 在庫表示の転記ジョブが実行されるたびに、在庫表示ビジネス レイヤーから送信された在庫調整仕訳帳が自動的に転記されます。 このジョブを、ビジネスに適した頻度で実行するようにスケジュールします。 受信データの量によっては、このジョブはリソースを大量に消費する可能性があるため、ピーク時以外の時間帯に実行するようにスケジュールします。 [ 繰り返し ] リンクを選択して [繰り返しの定義 ] ダイアログを開き、それを使用してスケジュールを設定し、[ OK] を 選択して設定を保存します。
- [OK] を選択してダイアログ ボックスを閉じます。
機能構成を管理する
機能の構成を管理するには、次の手順に従います。
Power Appsにサインインし、Inventory Visibility アプリを開きます。
ナビゲーション ウィンドウで、 設定>Feature 管理を選択します。
[ 在庫トランザクション ] タイルで、[管理] を選択 します。
[ トランザクション ] ページの上部セクションで、次のフィールドを設定します。
- 機能を有効にする – この機能を有効にするには、このオプションを True に設定します。 この機能を無効にするには 、False に設定します。 前のセクションで説明したように、構成を初期化すると、この機能が自動的に有効になります。
- 定期的にトランザクションを IV に同期 する – システムがインベントリの可視性ビジネス レイヤーからインベントリの可視性サービスにインベントリの更新を定期的に同期する場合は、このオプションを True に 設定します。 この機能を無効にするには 、False に設定します。
- Inventory Visibility 同期頻度 – システムがインベントリの可視性ビジネス レイヤーからサプライ チェーン管理にインベントリの更新を同期する頻度 (分単位) を指定する整数を入力します (この機能を有効にした場合)。 既定値は 5 です。
Fno 同期設定 セクションで、次のフィールドを設定します。
- 同期ジョブを有効にする – Inventory Visibility ビジネス レイヤーからの在庫更新を定期的に集計し、サプライ チェーン管理 に自動的に同期する場合は、このオプションを True に設定します。 このオプションが False に設定されている場合、オムニチャネル トランザクションは引き続き Inventory Visibility ビジネス レイヤーに格納されます。 ただし、サプライ チェーン管理に同期されません。
- ジョブの設定 – 設定値を選択して詳細な設定ページを開きます。このページでは、インベントリの可視性ビジネス レイヤーからインベントリの可視性サービス (この機能が有効になっている場合) に在庫の更新を同期するための開始時間と終了時刻、繰り返し間隔、および単位を指定できます。 インベントリの可視性をインストールすると、ジョブは既定の設定で自動的にスケジュールされます。
- Fno sync max line count in adjustment journal – サプライ チェーン管理への同期中に調整仕訳帳ごとに許可される在庫調整明細行の最大数を指定する整数を入力します。 既定値は 10,000 です。
- Fno sync max journal count in package – サプライ チェーン管理への同期中にデータ パッケージごとに許可される在庫調整仕訳帳の最大数を指定する整数を入力します。 既定値は 1 です。
Fno 統合マッピング セクションを使用して、Inventory Visibility ビジネス レイヤーからサプライ チェーン管理にデータをマップする方法を制御します。 ツール バーのボタンを使用して、必要に応じてマッピングを追加、編集、または削除します。 マッピングごとに、次のフィールドを設定します。
物理メジャー名 – 在庫の数量を提供する物理メジャーを選択します。
Target FnO Transaction type – サプライ チェーン管理で作成される在庫仕訳帳の種類を指定します。 既定値は 在庫調整仕訳帳です。
FnO トランザクション状態のターゲット – サプライ チェーン管理で作成される在庫仕訳帳の状態を指定するには、次のいずれかの値を選択します。
- None – システムはサプライ チェーン管理でトランザクションを作成しません。
- Created – トランザクションが作成されますが、サプライ チェーン管理に自動的に転記されることはありません。
- 転記済み – システムはトランザクションを作成し、サプライ チェーン管理 において仕訳帳を転記します。
[定期的にトランザクションを Fno に同期する] オプションを True に設定した場合は、在庫数量が 2 回更新されないように、在庫調整をオフセットするようにシステムが構成されていることを確認する必要があります。 詳細については、「 在庫表示の調整オフセット」を参照してください。
在庫の可視性アプリで在庫調整を手動で入力する
Power Appsのインベントリ表示アプリを使用して、在庫の可視性ビジネス レイヤーに在庫調整を直接手動で入力します。
Power Appsにサインインし、Inventory Visibility アプリを開きます。
ナビゲーション ウィンドウで、[照会とレポート]>[インベントリー トランザクション]を選択します。
ツール バーの [トランザクションの作成]、>[在庫調整] の順に選択します。
在庫調整の作成の製品とディメンション情報 FastTab で、在庫を調整する製品を指定します。 必要な製品ディメンションの一部 (色やスタイルなど) が表示されない場合は、[ ディメンションの編集] を選択して追加します。
[ 調整数量 ] クイック タブで、在庫調整のデータ ソース、物理メジャー、および数量を選択します。 ステージング領域からインベントリ表示サービス キャッシュに対する在庫調整を直ちに更新するには、[ IV サービスへの即時更新 ] チェック ボックスをオンにします。
[ 追加情報 ] クイック タブで、次の省略可能なフィールドを設定します。
- 外部参照カテゴリ – 販売注文、在庫カウント差分、POS トランザクションなど、在庫調整のソース トランザクションの種類を指定します。
- 外部参照 ID – 外部 システムのソースドキュメント ID を入力します。
- サプライ チェーン管理仕訳帳名 – サプライ チェーン管理で使用する在庫調整仕訳帳を指定します。 このフィールドを空白のままにすると、サプライ チェーン管理で設定されている既定の仕訳帳名が使用されます。
- Item cost price – サプライ チェーン管理で作成する品目原価価格を指定します。 このフィールドを空白のままにすると、サプライ チェーン管理で作成された仕訳帳は、サプライ チェーン管理で設定されている既定のコスト計算方法を使用して原価価格を計算します。
- Trans date – サプライ チェーン管理で作成されるときに仕訳帳明細行に設定するトランザクション日付。
API を使用してインベントリの可視性ビジネス レイヤーに在庫調整が投稿されたときの外観をプレビューするには、[ 開発者向けリファレンス] を選択します。 このアクションは、トランザクションの投稿時に Inventory Visibility ビジネス レイヤーに送信される JavaScript Object Notation (JSON) 本文を示します。
ツール バーの [投稿] を選択 します。
インベントリの可視性 API にインベントリ調整を送信する
外部システムは、通常、在庫調整 API を使用して在庫調整を在庫表示ビジネス レイヤーに送信します。 次の例は、API と本文のコンテンツの詳細を示しています。
Path:
/api/environment/{environmentId}/transaction/adjustment/bulk
Method:
Post
Headers:
Api-Version="1.0"
Authorization="Bearer $access_token"
ContentType:
application/json
Query(Url Parameters):
createWithIVSync # bool, optional
Body:
[
{
"id": string
"organizationId": string,
"productId": string,
"quantityDataSource": string,
"physicalMeasure": string,
"dimensions": {
"siteId": string,
"locationId": string,
[key:string]: string, # optional
},
"quantity": number,
"externalReferenceCategory": string, # optional
"externalReferenceId": string, # optional
"fnoJournalNameId": string, # optional
"costPrice": number, # optional
"transDate": date, # optional
},
]
Inventory Visibility パブリック API の認証とアクセス トークンの取得方法など、 Inventory Visibility API を使用する方法の詳細について説明します。
インベントリの可視性アプリでインベントリ トランザクションを表示する
Power Appsのインベントリ表示アプリには、詳細なインベントリ トランザクションと集計されたインベントリ トランザクションを表示できる UI が用意されています。
- 詳細な在庫トランザクションには、すべての個々のトランザクションと元のすべての詳細が含まれます。
- 集計された在庫トランザクションは、一致するディメンション値 (サイト、倉庫、色など) を持つ行を結合します。 一部の情報は省略される場合があります。 各トランザクションを表示する代わりに、UI には、指定したディメンションの合計または平均が表示されます。 集計されたトランザクションのみがサプライ チェーン管理と同期します。
詳細トランザクションと集計トランザクションは、次の点で異なります。
粒 度:
- 詳細なトランザクションでは、個々の元の在庫調整トランザクションが表示され、詳細なデータが提供されます。
- 集計されたトランザクションは、集計されたデータを表示し、より高いレベルの概要を提供します。
データ ボリューム:
- 詳細なトランザクション データ セットは通常、すべてのトランザクションを含むため、大きくなります。
- 集計されたトランザクション データ セットは通常、複数の類似したトランザクションを 1 つのレコードに圧縮するため、小さくなります。
詳細な在庫トランザクションを表示する
詳細な在庫トランザクションを表示するには、次の手順に従います。
Power Appsにサインインし、Inventory Visibility アプリを開きます。
ナビゲーション ウィンドウで、[照会とレポート]>[インベントリー トランザクション]を選択します。
[ 種類 ] フィールドが [詳細] に設定されている行の [ アクション ] 列で、[表示] を選択 します。
[ トランザクションの詳細 ] ページで、成功した各トランザクションの詳細がグリッドに一覧表示されます。 ほとんどの列はわかりやすいですが、注意すべき重要な列を次に示します。
行レコード ID – 各元の在庫調整トランザクションに対して自動的に生成されるグローバルに一意の識別子 (GUID)。 リンクを選択すると、トランザクションの詳細が表示されます。
ソース行の状態 – トランザクションの現在の状態。 次の値が使用されます。
- [作成済み ] – 調整は在庫表示ビジネス レイヤーで作成され、転記されるのを待ちます。 このステータスは、在庫調整レコードの初期状態です。
- IVPosted – 調整はステージング領域のインベントリ可視性キャッシュで正常に更新されました。 この状態は、集計の前提条件の状態です。
- 集計 – 一致するディメンション値に基づいて詳細な行が正常に集計されました。 この状態は、サプライ チェーン管理への同期の前提条件の状態です。
集計された行 ID – リンクを選択すると、リンクされた集計行の詳細が表示されます。 集計行が正常に作成され、または サプライ チェーン管理 に転記されると、サプライ チェーン管理 から返される仕訳 ID と仕訳明細行 ID が、集計済みトランザクションの詳細に追加されます。
集計されたインベントリ トランザクションを表示する
集計された在庫トランザクションを表示するには、次の手順に従います。
Power Appsにサインインし、Inventory Visibility アプリを開きます。
ナビゲーション ウィンドウで、[照会とレポート]>[インベントリー トランザクション]を選択します。
[種類] フィールドが [集計] に設定されている行の [アクション] 列で、[表示] を選択します。
[ トランザクション集計] ページのグリッドには、正常に集計された各トランザクションの詳細が一覧表示されます。 ほとんどの列はわかりやすいですが、注意すべき重要な列を次に示します。
行レコード ID – 集計された在庫調整トランザクションごとに自動的に生成される GUID。 リンクを選択すると、集計されたトランザクションの詳細が表示されます。 集計された行が正常に作成またはサプライ チェーン管理に転記されると、サプライ チェーン管理返される仕訳帳 ID と履歴行 ID が集計トランザクションの詳細に含まれます。
集計された行の状態 – 集計されたトランザクションの現在の状態。 次の値が使用されます。
- 作成済み – 集計されたトランザクション レコードが正常に作成されました。 この状態は、集計されたトランザクション レコードの初期状態です。
- DoNotSync – 行がサプライ チェーン管理に同期されません。 この状態は通常、集計行の在庫変更数量が 0 (ゼロ) であるために発生します。 (在庫数量は変更されていないため、同期する必要はありません)。
- FnOSyncEnqueued – インベントリの可視性によって、行を サプライ チェーン管理 と同期する要求が送信されました。 この状態は、レコードがサプライ チェーン管理で同期され、さらに処理を待っていることを示します。
- FnOTransCreated – サプライ チェーン管理 は同期要求を正常に処理し、在庫仕訳帳を作成しました。
- FnOTransCreateError – サプライ チェーン管理で在庫仕訳帳を作成しようとしたときにエラーが発生しました。 メッセージ ID を使用してエラーを確認します。 サプライ チェーン管理> の システム管理ワークスペース>、データ管理 IT>、定期データ ジョブ に移動します。
- FnOTransPosted – 在庫仕訳帳が正常に転記されました。
- FnOTransPostError – 在庫仕訳帳の転記に失敗しました。
トランザクションの詳細をエクスポートする
トランザクションの詳細をエクスポートするには、Dataverse エンティティからアクセスし、そこからエクスポートする必要があります。 エンティティ名は、 調整行 と 集計調整行です。
サプライ チェーン管理 に転記済みの在庫仕訳帳を確認する
サプライ チェーン管理で正常に転記または作成された集計行を表示するには、次の手順に従います。
- サプライ チェーン管理 にサインインします。
- 在庫管理>仕訳帳入力>品目>在庫調整 に移動します。
- 転記済仕訳帳、転記されていない仕訳帳、またはすべての仕訳帳を表示するには、必要に応じて [転記済み] 列のフィルターを変更します。
Note
Inventory Visibility ビジネス レイヤーに送信できる省略可能なフィールドの一部は、サプライ チェーン管理の標準フィールドとして存在しません。 これらのフィールドには、 外部参照カテゴリ、 外部参照 ID、およびその他の外部ディメンションが含まれます。 これらのフィールドはサプライ チェーン管理に同期されません。 ただし、これらはビジネス レイヤーに格納され、この記事で前述したように、Inventory Visibility アプリを使用して読み取ることができます。