Dynamics 365 Business Central 接続:注文と顧客を取り込み、在庫を確認
Microsoft Entra でアプリを登録し、Business Central 内に対応レコードを作成、Tenant ID・Client ID・Client Secret を Integration に入力してテスト・マッピング・有効化。
Dynamics 365 Business Central コネクタは、Business Central の会社の販売注文と顧客を OMS に取り込み、Business Central の品目の在庫数量を読み取るため、約束前に在庫を確認できます。在庫調整はこの接続経由で Business Central へ書き戻されません。在庫の修正は Business Central 自体で行ってください。
前提条件#
- 利用中の Microsoft Dynamics 365 Business Central 環境。本番、または最初のテスト用に Sandbox などのサンドボックス環境。
- テナントの Microsoft Entra でアプリを登録する権限(Microsoft Entra 管理センター / Azure ポータル)。
- Business Central 内で Microsoft Entra アプリケーションのレコードを作成し、権限セットを割り当てる権限。Entra でのアプリ登録は設定の半分にすぎず、Business Central 側の設定も必須です。
認証情報の取得#
- Microsoft Entra で App registrations を開き、アプリを開く(または新規登録)。概要ページで Directory (tenant) ID をコピー(これが tenant_id)、Application (client) ID をコピー(これが client_id)。
- テナントに代わって Business Central API を呼び出すために必要な Business Central API 権限をアプリに付与。
- 同じアプリページで Certificates & secrets → New client secret へ進み、シークレットを作成して値をすぐにコピー。これが client_secret で、値は一度だけ表示されます。
- 次に Business Central 側:Business Central にサインインし、同じアプリ用に Microsoft Entra アプリケーションのレコードを作成し、会社・販売注文・顧客・品目を読み取れる権限セットを割り当てます。このレコードがないと接続テストは 403 で失敗します(FAQ 参照)。
Integration への入力#
- Integration → コネクタマーケットプレイス → Dynamics 365 Business Central → 新規接続。
- tenant_id、必須:Microsoft Entra のアプリページの Directory (tenant) ID を貼付。xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 形式の GUID です。
- environment、任意:Business Central に表示される通りの環境名。空欄の場合は production を使用。サンドボックスの場合はその名前(例:Sandbox)を入力。
- company、任意:この接続が読み取る Business Central 内の会社名。空欄の場合は Business Central が返す最初の会社を使用。
- client_id、必須:同じ Microsoft Entra アプリページの Application (client) ID を貼付。シークレットとして保存され、再表示されません。
- client_secret、必須:Certificates & secrets でコピーした Client Secret の値を貼付。暗号化して保存され、再表示されません。
接続テスト#
接続テストをクリック。テストはまず tenant_id、client_id、client_secret がすべて入力されているか確認します。不足があればリクエストを送らず、その場で不足項目名(MISSING_TENANT_ID または MISSING_CLIENT_SECRET)を表示して停止します。次にクライアント認証情報で login.microsoftonline.com からトークンを取得し、そのトークンで、入力したテナントと環境について api.businesscentral.dynamics.com の Business Central から会社一覧(最大 5 社)を読み取ります。
テストに通過すると、見つかった最初の会社の名前と、返された会社の数が表示されます。その会社が注文を取り込む想定の会社か確認してください。Business Central が約 12 秒以内に応答しない場合、テストはタイムアウトで終了します。タイムアウトは通常、環境名の誤りか、その時点で Business Central に到達できないことを意味します。
Mapping / テンプレート選択#
Business Central 標準テンプレートを選択。販売注文番号、品目番号と数量を含む注文明細、注文の顧客を標準注文にマッピングします。有効化前に実在の販売注文 1 件でマッピングプレビューを実行し、2 点を確認してください:注文の取得元会社が意図した会社であること、明細のすべての Business Central 品目番号が自側の製品に紐付いていること。会社が複数ある場合は、先に接続の company フィールドを設定すると、プレビューが正しい会社を読みます。
有効化#
有効化後、Integration は設定した頻度で、この接続が指す会社から新しい販売注文と顧客を取得し、在庫確認が必要なときに Business Central から品目在庫を読み取ります。在庫調整は Business Central へ返送されません。在庫の修正は Business Central 内で続けてください。そこが在庫の正式な記録です。最初は Runs / Logs で数件確認してから、接続を無人で任せてください。
よくある質問#
テストが 403 で失敗 — MISSING_SCOPE
認証情報は受け付けられていますが、アプリに Business Central 内の権限セットがありません。このコネクタで最も多い失敗です:アプリは Microsoft Entra に登録されたのに、Business Central 内でその Microsoft Entra アプリケーションのレコードを誰も作成していないため、Business Central はサインインを許可しても読み取りを拒否します。
Business Central にサインインし、このアプリの Microsoft Entra アプリケーションのレコードがなければ作成し、会社・販売注文・顧客・品目を読み取れる権限セットを割り当てて、テストを再実行してください。
テストが INVALID_CREDENTIALS で失敗
トークン要求自体が拒否されました:入力した tenant_id に対して、Microsoft Entra が client_id と client_secret の組み合わせを受け付けていません。よくある原因は、client_secret の期限切れやコピー不完全、別のアプリの client_id、アプリが属するテナントとは別の tenant_id です。
Microsoft Entra → App registrations → アプリに戻り、同じアプリページから Directory (tenant) ID と Application (client) ID をコピーし直してください。シークレットが期限切れの可能性がある場合は、Certificates & secrets で新しい client secret を作成し、新しい値を client_secret に貼って再テストしてください。
会社読み取り時にテストが INVALID_TOKEN で失敗
トークンは発行されているため認証情報は有効ですが、テストが会社一覧を読み取ろうとすると Business Central がそのトークンを拒否します。原因は Microsoft Entra 側のアプリ権限です:アプリに必要な Business Central API 権限がないか、その権限がテナントで付与されたことがありません。
Microsoft Entra でアプリを開き、API 権限を確認してください:コネクタに必要な Business Central API 権限を追加してテナントに付与し、テストを再実行します。それでも失敗する場合は、上記の 403 の項目に従って Business Central 側も確認してください。両側がそろっている必要があります。
会社が複数ある場合、接続はどれを使いますか?
company フィールドによります。company を空欄にした場合、接続は Business Central が返す最初の会社を使います。それが実際に販売している会社とは限りません。接続テストで確認できます:通過すると、見つかった最初の会社名が表示されます。
接続を 1 社に固定するには、company フィールドに Business Central に表示される通りの正確な会社名を入力し、保存して再テストしてください。テスト結果にその会社が表示されるはずです。追加で取り込む会社ごとに、接続を分けて作成してください。