請求書をERPに統合
Coupa請求書とERPを統合するためのステップバイステップの手順。
はじめに
また、このドキュメントをMicrosoft Wordドキュメントとしてダウンロードすることもできます。ERP.docxへのCoupa請求書
一般的なAPI設定に関する考慮事項
- Coupa APIを使い始める
- APIキーセキュリティ(最終的に廃止となる)
- Open Connect APIアクセス(R 29以降)
- JSON/XML
- GraphQL ( R 30以降)
制限されたペイロード:フィールドとAPIフィルター
CoupaのAPIは、デフォルトで大量のデータを返します(たとえば、関連付けられたオブジェクトの完全なオブジェクト)。APIリターンペイロードは非常に大きく、したがって遅くなる可能性があります。これは、リソースの不必要な消費は言うまでもなく、余分なデータを必要としない顧客にとっては問題になる可能性があります。
物事を簡単にするために、Coupaには「フィールド」パラメーターとAPIフィルターの概念があり、オブジェクトのスキーマ全体とすべての関連付けの代わりに、制限されたJSONまたはXML応答を返します。
この記事で説明するユースケース
請求書には通常ERPの内部番号があります。この文書では、このERP文書番号がCoupa請求書ヘッダーのカスタムフィールドであると仮定しています。この例では、カスタムフィールドcf_erp_invoice_numberが
。この記事では、Coupa請求書をERPに統合するための3つの異なるオプション(作成と更新の両方)について説明します。ERP請求書番号という名前で作成され
ました
これらのオプションは、Coupaからインテグレーションを監視する方法を変更します。
- オプション1:請求書ヘッダーで定義したカスタムフィールドに基づいた簡単な監視
- オプション2:インテグレーション履歴レコードを使用した高度なモニタリング
- オプション3 :Coupaインテグレーションの完全なモニタリングを活用
3つのオプションでは、Coupa請求書はエクスポートフラグに基づいてERPにプッシュされます。エラーが発生した場合、請求書の統合では、Coupa UIの請求書に手動で変更が必要になります。この変更により、エクスポートフラグがリセットされ、次の実行で請求書が考慮されます。
Coupaは、Coupaサポートに連絡し、このオプションを有効にすることをお勧めします。変更のたびに最後にエクスポートした請求書をリセットします。この設定はUIにのみ適用されます。APIを使用して行った変更により、エクスポート済みステータスが変更されることはありません。
APIのための専用連携と連絡先の作成
オプション2と3では、次を作成する必要があります。
- 実装する各APIオーケストレーションの専用統合
- インテグレーションごとに1つまたは複数のインテグレーション連絡先があり、インテグレーションに失敗した場合はアラートが表示されます
Coupaは、Coupaサポートに連絡し、このオプションを有効にすることをお勧めします。文書タイプ別インテグレーション履歴へのリンクを有効にする。この設定では、設定ページにリンクが追加され、ドキュメントタイプごとに完全な統合履歴が表示されます。
オプション1:カスタムフィールドに基づいたシンプルなモニタリング
説明
このシナリオでは、各請求書について、現在の統合ステータスを1つまたは複数の請求書ヘッダーのカスタムフィールドに追加します。カスタムフィールドcf - integration - statusが
。標準請求書データテーブルを使用して、次のURLでドキュメントの統合ステータスをフォローアップします。Integration Statusという名前で作成されまし
たhttps ://<your instance hostname>/invoices
.
オーケストレーションダイアグラム
手順/APIコールの詳細
手順1 |
ERPで作成/更新するCoupa請求書のリストと詳細を取得します。 選択基準には、エクスポートフラグと請求書のステータスが含まれます。 |
---|---|
方法 |
取得 |
API |
|
Query Params |
|
サンプルURL |
|
質問本文のサンプル |
該当なし |
回答本文のサンプル |
手順2 |
個々の請求書をエクスポート済みとしてマーク |
---|---|
方法 |
プット |
API |
https :/// api<your instance hostname>/invoices/<Invoice id> |
Query Params |
|
サンプルURL |
|
質問本文のサンプル |
該当なし |
回答本文のサンプル |
|
手順3 |
レポートとERPドキュメント番号のカスタムフィールドを更新する |
---|---|
方法 |
プット |
API |
|
質問パラメータ |
|
サンプルURL |
|
質問本文のサンプル |
または
|
回答本文のサンプル |
または
|
オプション2:インテグレーション履歴を使用した高度なモニタリング
説明
このシナリオでは、請求書ごとに次のことを行います。
- ドキュメントの以前の統合履歴レコードを解決する
- 連携履歴記録を作成する
- エラーが発生した場合に統合連絡先にアラートを作成する
各文書にはインテグレーション履歴の詳細が含まれています
標準インボイス連携履歴データテーブルを使用して、ドキュメントの連携ステータスをフォローアップします。この情報は、https :/// integration_history_records<your instance hostname>/invoicesで確認でき
ます。
レスポンスコードのフィルターを使用して、正常に複製されたドキュメントと失敗したドキュメントを区別することができます。
オーケストレーションダイアグラム
手順/APIコールの詳細
手順1 |
ERPで作成/更新するCoupa請求書のリストと詳細を取得します。 |
---|---|
方法 |
取得 |
API |
|
質問パラメータ |
|
サンプルURL |
|
クエリ本文のサンプル |
該当なし |
回答本文サンプル |
手順2 |
個々の請求書をエクスポート済みとしてマーク |
---|---|
方法 |
プット |
API |
|
Query Params |
|
サンプルURL |
|
クエリ本文のサンプル |
該当なし |
回答本文のサンプル |
|
ERPで請求書の作成/更新が行われます。
手順3 a |
未解決の連携履歴記録を取得する |
---|---|
方法 |
取得 |
API |
|
質問パラメータ |
|
サンプルURL |
|
質問本文のサンプル |
該当なし |
回答本文のサンプル |
|
手順3 b |
以前の連携履歴記録を解決する |
---|---|
方法 |
プット |
API |
|
質問パラメータ |
|
サンプルURL |
|
質問本文のサンプル |
該当なし |
回答本文サンプル |
|
手順4 a |
ERP文書番号のカスタムフィールドを更新する(成功) |
---|---|
方法 |
プット |
API |
|
Query Params |
|
サンプルURL |
|
質問本文のサンプル |
|
回答本文サンプル |
|
手順4 b |
インテグレーション履歴の作成(成功) |
---|---|
方法 |
プット |
API |
|
Query Params |
|
サンプルURL |
|
質問本文のサンプル |
|
回答本文のサンプル |
|
手順4 c |
インテグレーション履歴の作成(エラー)とインテグレーション連絡先へのアラート |
---|---|
方法 |
プット |
API |
|
質問パラメータ |
|
サンプルURL |
|
質問本文のサンプル |
|
回答本文のサンプル |
|
オプション3 :Coupaインテグレーションの完全なモニタリングを活用
説明
このシナリオでは、インテグレーション実行を作成して
- インテグレーションのステータス(保留中/開始済み/エラー/成功/失敗)
- 処理された請求書の合計数
- 成功とエラーの数
- 統合エラーのリストとそのステータス(解決済みかどうか)
請求書ごとに、次のことを行います。
- ドキュメントの以前の統合履歴レコードを解決する
- 連携履歴記録を作成する
- エラーが発生した場合は、統合エラーと統合連絡先へのアラートを作成します。
次のURLを使用して、インテグレーションのすべてのインテグレーション実行を監視できます。https<your instance hostname> :/// integrations<your integration id> // integration_runs
。
標準請求書統合エラーデータテーブルを使用して、統合エラーの解決待ちのすべての請求書を一覧表示します。このエラーは、https ://<your instance hostname>/integration_errorsで確認でき
ます。
オーケストレーションダイアグラム
手順/APIコールの詳細
手順1 |
連携実行の作成 |
---|---|
方法 |
投稿 |
API |
|
Query Params |
該当なし |
質問本文のサンプル |
|
回答本文サンプル |
|
手順2 |
ERPで作成/更新するCoupa請求書のリストと詳細を取得します。 |
---|---|
方法 |
取得 |
API |
|
質問パラメータ |
|
サンプルURL |
|
質問本文のサンプル |
該当なし |
回答本文のサンプル |
手順3 |
連携実行を開始する |
---|---|
方法 |
プット |
API |
|
Query Params |
該当なし |
質問本文のサンプル |
|
回答本文のサンプル |
|
手順4 |
個々の請求書をエクスポート済みとしてマーク |
---|---|
方法 |
プット |
API |
|
Query Params |
|
サンプルURL |
|
質問本文のサンプル |
該当なし |
回答本文のサンプル |
|
ERPで請求書の作成/更新が行われます。
手順5 a |
未解決の連携履歴記録を取得する |
---|---|
方法 |
取得 |
API |
|
質問パラメータ |
|
サンプルURL |
|
質問本文のサンプル |
該当なし |
回答本文のサンプル |
|
手順5 b |
以前の連携履歴記録を解決する |
---|---|
方法 |
プット |
API |
|
質問パラメータ |
|
サンプルURL |
|
質問本文のサンプル |
該当なし |
回答本文のサンプル |
|
手順6 a |
未解決のインテグレーションエラーレコードを取得する |
---|---|
方法 |
取得 |
API |
|
質問パラメータ |
|
サンプルURL |
|
質問本文のサンプル |
該当なし |
回答本文のサンプル |
|
手順6 b |
以前の連携履歴記録を解決する |
---|---|
方法 |
プット |
API |
https ://<your instance hostname>/api/integration_errors<Old Integration Error Record id> // resolve |
質問パラメータ |
該当なし |
クエリ本文のサンプル |
該当なし |
回答本文のサンプル |
|
手順7 a |
ERP文書番号のカスタムフィールドを更新する(成功) |
---|---|
方法 |
プット |
API |
|
Query Params |
|
サンプルURL |
|
質問本文のサンプル |
|
回答本文のサンプル |
|
手順7 b |
インテグレーション履歴の作成(成功)インテグレーション |
---|---|
方法 |
プット |
API |
|
質問パラメータ |
|
サンプルURL |
|
質問本文のサンプル |
|
回答本文サンプル |
|
手順7 c |
インテグレーションエラーの作成とインテグレーション連絡先へのアラート |
---|---|
方法 |
プット |
API |
|
質問パラメータ |
該当なし |
質問本文のサンプル |
|
回答本文のサンプル |
|
手順8 |
連携実行が正常に終了しました |
---|---|
方法 |
プット |
API |
|
質問パラメータ |
該当なし |
質問本文のサンプル |
該当なし |
回答本文のサンプル |
|
インテグレーション実行中に一般的な障害が発生した場合。
ステップx |
インテグレーション実行の失敗を報告する |
---|---|
方法 |
プット |
API |
|
質問パラメータ |
該当なし |
質問本文のサンプル |
該当なし |
回答本文のサンプル |
|