ユーザーマニュアル
ヘルプセンター/ユーザーマニュアル/Xero 接続:注文・顧客・請求書・製品を取り込み、在庫を確認

Xero 接続:注文・顧客・請求書・製品を取り込み、在庫を確認

最終更新 2026-11-01

developer.xero.com でアプリの OAuth2 フローを 3 つの読み取りスコープ付きで完了し、connections リストから Tenant ID をコピーして、両値を Integration に貼り付け、テスト・マッピング・有効化を行います。

Xero コネクタは Xero 組織の注文・顧客・請求書・製品をこのシステムに取り込み、顧客・製品・請求書を Xero に返送でき、Xero の Items を通じて在庫数量を確認できます。在庫の変更を Xero に返送することはありません:この接続では在庫は読み取り専用です。1 接続は Tenant ID で識別される 1 つの Xero 組織用です。

Xero 接続手順:トークンと Tenant ID、入力、組織の実テスト、Mapping、有効化。

前提条件#

  • ログインできる Xero 組織と、developer.xero.com でその組織用に登録したアプリ。
  • developer.xero.com でそのアプリの OAuth2 フローを完了し、3 つの読み取りスコープ(accounting.transactions.read、accounting.contacts.read、accounting.settings.read)をすべて付与できること。いずれかが欠けたトークンは、テストまたは取得に失敗します。
  • 接続対象の組織が分かっていること。Tenant ID は組織の ID であり、アプリの ID ではありません。2 つは異なる値で、混用できません。

認証情報の取得#

  1. developer.xero.com を開き、アプリを開いて OAuth2 フローを完了します。Xero がスコープを求めたら、少なくとも accounting.transactions.read、accounting.contacts.read、accounting.settings.read の 3 つを含めてください。
  2. OAuth2 フローが返す access token をコピーします。このトークンが Integration に貼り付ける値です。この接続用に別途作成する API Key はありません。
  3. 組織の Tenant ID は次の 2 つの方法のいずれかで取得します:access token を使って GET https://api.xero.com/connections を呼び、応答から組織の tenantId をコピーする。または developer.xero.com → アプリ → connections を開き、表示される tenantId を読み取ります。
2 つの値はセットで保管してください:access token は誰がアプリを承認したかを証明し、Tenant ID は読み取る組織を示します。有効なトークンでも、別の組織の Tenant ID と組み合わせるとテストに合格しません。

Integration への入力#

  1. Integration → コネクタマーケットプレイス → Xero → 新規接続 を開きます。
  2. tenant_id、必須、Tenant ID(組織):組織の tenantId を xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx の形式で貼り付けます。connections リストにある組織 ID であり、アプリ ID ではありません。
  3. access_token、必須、Access token:OAuth2 フローが返した access token を全文貼り付けます。パスワード型のフィールドで、秘密情報として保存されます。トークンが accounting.transactions.read、accounting.contacts.read、accounting.settings.read 付きで付与されたことを確認してください。

接続テスト#

接続テストをクリックします。テストは GET https://api.xero.com/api.xro/2.0/Organisation へ実際のリクエストを送信します。ヘッダーは 2 つです:Authorization: Bearer の後に access token、そして xero-tenant-id に tenant_id。200 応答が合格となり、結果には Xero が返した組織名が表示されるので、意図した組織かどうか確認できます。401 はトークンが無効または期限切れ、403 はトークンのスコープ不足を意味します。tenant_id または access_token が未入力の場合、この確認には両値が必要なため、テストは送信前に止まります。確認は 12 秒でタイムアウトします。

Mapping / テンプレート選択#

Xero 標準の Mapping を選択します。注文・顧客・請求書は Xero Accounting の標準レコードに沿い、製品と在庫確認は Xero の Items に沿います。テスト合格後、1 回取得を実行し、実注文を並べて確認してください(注文番号、顧客、明細、金額)。請求書 1 件と製品 1 件も同様に確認し、item 1 件の数量を Xero の表示と照合してから有効化します。

Xero のデータフロー:注文・顧客・請求書・製品を取り込み、在庫は Items から読み、顧客・製品・請求書は返送できます。

有効化#

有効化後、接続は設定した頻度で、tenant_id が指定する Xero 組織から注文・顧客・請求書・製品を取り込み、それらのフロー実行時に顧客・製品・請求書を Xero に返送し、在庫確認時には Xero の Items から数量を読み取ります。最初は Runs / Logs で実行を確認し、Xero と照合してから無人運用に移してください。

この接続が行わないこと:在庫の変更を Xero に返送しません。Xero Items の数量は確認のために読み取るだけなので、在庫調整は引き続き Xero 自体で、または調整が実際に発生するシステムで行う必要があります。

よくある質問#

テストが 401 で失敗する — トークンが無効または期限切れ

Xero が access token 自体を拒否しています:間違っている、不完全、またはすでに無効です。この場合、組織の確認は認証すら通過しないため、tenant_id は最初に確認する対象ではありません。

developer.xero.com → アプリ に戻り、OAuth2 フローを再度完了して、新しい access token を全文 access_token フィールドにコピーし、再テストしてください。

テストが 403 で失敗する — スコープ不足

トークンは受け入れられましたが、この接続に必要な読み取りスコープが付与されていません。必要な 3 つは accounting.transactions.read、accounting.contacts.read、accounting.settings.read です。いずれかが欠けてもこの結果になります。

developer.xero.com でアプリの OAuth2 フローをやり直し、今回は 3 つのスコープをすべて付与して、新しい access token を Integration に貼り付け、再テストしてください。古いトークンを貼り直すだけではスコープは変わりません。

トークンは正しいのにテストが失敗する — 組織が違う

tenant_id が、そのトークンの承認対象である組織のものではありません。確認では tenant_id を xero-tenant-id ヘッダーに入れて送信し、Xero はその組織についてのみ応答します。有効なトークンでも別の組織の ID と組み合わせるとここで失敗します。成功時の結果に表示される組織名が、正しい組織を選んだかどうかの確認材料です。

対象組織の tenantId をコピーし直してください:access token を使って GET https://api.xero.com/connections を呼び、応答からその組織の tenantId を選ぶか、developer.xero.com → アプリ → connections で読み取ります。tenant_id を置き換えて保存し、再テストしてください。その後、表示される組織名が一致するか確認します。

テストが送信前に止まる — 必須値が未入力

tenant_id または access_token が空です。組織の確認には両方が必要です:トークンは Authorization ヘッダー用、tenant_id は xero-tenant-id ヘッダー用です。そのため、成功しないリクエストを送る代わりにテストは止まります。

Integration への入力の手順に従って両フィールドを入力してください(tenant_id は connections リストから、access_token は全文貼り付け)。保存して再テストします。

接続済みだが、Xero の在庫数量が変わらない

これはこの接続の能力の境界であり、障害ではありません:在庫は確認のために Xero の Items から読み取られ、在庫の変更は Xero に返送されません。注文・顧客・請求書・製品は上記のとおり流れます。Xero 内の在庫水準は引き続き Xero の管理下にあります。

在庫調整は Xero 自体で、または調整が実際に発生するシステムで行ってください。その後、この接続の在庫確認で数量を検証します。

テストが 12 秒でタイムアウトする

組織の確認が時間内に Xero から応答を受け取れませんでした。これは api.xero.com への到達または応答の問題であり、トークンや tenant_id への判定ではありません。どちらの値も実際には判定されていません。

少し待って、同じ 2 つの値で接続テストを再実行してください。他の接続のテストが正常なのにタイムアウトが繰り返される場合は、値を変更する前に、時刻と Runs / Logs の正確なメッセージを記録してください。