ユーザーマニュアル
ヘルプセンター/ユーザーマニュアル/SAP Business One 接続:注文と顧客を取り込み、在庫を確認

SAP Business One 接続:注文と顧客を取り込み、在庫を確認

最終更新 2026-11-01

接尾辞 /b1s/v2 を付けない Service Layer URL、CompanyDB、B1 のユーザー名とパスワードを入力し、テスト・マッピング・有効化を行うと、注文と顧客を取り込み、在庫を確認できます。

SAP Business One コネクタはセッションログインで B1 Service Layer にサインインし、注文と顧客をシステムに取り込み、SAP Business One の在庫を確認できます。在庫をこちらから SAP Business One に戻すことはまだできないため、この接続は注文と顧客の取込と在庫確認に使います。1 接続は 1 つの CompanyDB を指します。

SAP Business One の接続手順:まずアドレスと B1 ユーザーを用意し、入力、テスト、Mapping、有効化の順に進みます。

前提条件#

  • Service Layer が利用可能な SAP Business One システムがあり、そのアドレス(例:https://b1server:50000)を知っていること。
  • 接続先の会社データベースの正確な名前、つまり CompanyDB(例:SBODemoUS)を知っていること。
  • その CompanyDB 内の B1 ユーザーで、API アクセス権限があり、そのパスワードを知っていること。
  • 別途申請する開発者キーはありません。認証情報はこの B1 ユーザーアカウント自体です。

認証情報の取得#

  1. SAP Business One 管理者に Service Layer のアドレスを確認してください。https://b1server:50000 のようにホストとポートまでです。/b1s/v2 の接尾辞は付けないでください。その部分は Service Layer を呼ぶときにシステムが自動で付けます。
  2. 同じ管理者に CompanyDB を確認してください。これは Service Layer の Login で使う会社データベース名で、例は SBODemoUS です。
  3. その CompanyDB の B1 ユーザー名とパスワード(例:ユーザー manager)を用意してください。そのユーザーには API アクセス権限が必要です。ないとログインもその後の読み取りも通りません。
アドレスの接尾辞が最も多い間違いです。すでに /b1s/v2 で終わる完全なアドレスを貼ると、システムがもう一度付けてしまい、呼び出しが誤ったパスに行きます。アドレスはホストとポートまでにしてください。

Integration への入力#

  1. Integration → コネクタマーケットプレイス → SAP Business One → 新規接続を開きます。
  2. base_url、必須、Service Layer URL:Service Layer のアドレス(例:https://b1server:50000)を貼ります。base_url フィールドに入力し、ホストとポートまでとし、/b1s/v2 の接尾辞は付けません。
  3. company_db、必須、CompanyDB:会社データベース名(例:SBODemoUS)を入力します。company_db フィールドに、管理者から受け取ったとおり正確に入力してください。
  4. username、必須、Username:その CompanyDB の B1 ユーザー名(例:manager)を入力します。username フィールドに入力してください。
  5. password、必須、Password:その B1 ユーザーのパスワードを入力します。password フィールドに入力してください。パスワードフィールドなので入力内容はマスクされ、後でフォームに再表示されることはありません。

接続テスト#

接続テストをクリックします。テストはまずこちら側で 4 項目を確認します。company_db が空だと MISSING_CONFIG、username または password が空だと MISSING_CREDENTIALS が返ります。その後、実際にログインします。CompanyDB、UserName、Password を Service Layer の Login に送り、応答の SessionId を取得し、そのセッションで Orders を $top=1、$select=DocEntry で 1 件読み、ログインできるだけでなく伝票も読めることを確認します。

これはセッションログインなので、手動で更新するトークンはありません。その後の読み取りで 401 が返った場合、システムが自動でもう一度ログインして再試行します。テストは 12 秒でタイムアウトするため、タイムアウトは通常、Service Layer のアドレスに届かない、または時間内に応答がないことを意味します。まずアドレスを確認してから再テストしてください。

Mapping / テンプレート選択#

取り込んだ注文には SAP Business One のテンプレートを選び、各 B1 注文が標準注文として入るようにします。有効化前に実注文 1 件でプレビューを開き、伝票・明細・数量が SAP Business One の内容と一致するか確認してください。B1 から取り込んだ顧客記録と在庫確認は SAP Business One の値をそのまま使うため、B1 の名称とコードは、こちらで使う製品と揃えておいてください。

SAP Business One の往復:まずセッションログイン、次に注文と顧客を取り込み、在庫は必要に応じて確認します。

有効化#

有効化後、Integration は設定した頻度で SAP Business One から新しい注文と顧客を取得し、SAP Business One の在庫もこちらから確認できます。在庫をこちらから SAP Business One に戻すことはまだできないため、在庫の書き戻しが必要な場合は SAP Business One 側で別途行ってください。最初に取り込んだ数件の注文は Runs / Logs で確認してから、無人運用にしてください。

よくある質問#

テストが 401 で失敗する(INVALID_CREDENTIALS)

Service Layer が Login に 401 を返しました。これは CompanyDB、ユーザー名、パスワードのいずれかが無効という意味で、少なくとも 1 つが SAP Business One のそのデータベースの記録と一致していません。

3 つの値を 1 つずつ確認してください。company_db が管理者から受け取った正確な CompanyDB であること、username と password が同じ CompanyDB のものであることを確認し、パスワードを入力し直して再テストしてください。

テストが MISSING_CONFIG または MISSING_CREDENTIALS を返す

必須フィールドが空で、テストはログインを試す前に止まっています。MISSING_CONFIG は company_db が空、MISSING_CREDENTIALS は username または password が空という意味です。

必須の 4 項目、base_url、company_db、username、password をすべて入力し、接続を保存してから再テストしてください。

URL が /b1s/v2 で終わるとログインに失敗する

貼り付けた base_url が /b1s/v2 を含む Service Layer の完全なアドレスになっています。その部分はシステムが自動で付けるため、フィールドに入っているとアドレスに 2 回現れ、Login の呼び出しが誤ったパスに行きます。

base_url をホストとポートだけ(例:https://b1server:50000)に短くし、保存して再テストしてください。

テストが失敗し、セッションが返らない(AUTH_FAILED)

Login の呼び出しが SessionId なしで戻ったため、B1SESSION セッションが作成されず、ログイン後に続く注文の読み取りが実行できません。詰まっているのはログインのステップ自体です。

まず base_url が Service Layer のルートアドレスで、ホストとポートまでで余分なパスがないか確認してください。次に SAP Business One 管理者に、その CompanyDB とユーザーで Service Layer が Login に応答するか確認してもらい、確認が取れてから再テストしてください。