Spendint API - POST /sn_spend_intg/spendint/invoice
サードパーティプロバイダーからの請求書を受け入れます。
発注書と発注明細が [保留中の送信] ステータスで、発注書と発注明細が設定されていない場合、サードパーティリセラーからの出荷と請求書の転記は許可されません。これは、発注書および発注明細のステータスが [オーダー] の場合にのみ許可されます。また、出荷と請求書の転記に連続した制限はありません。
- 配信待ち:領収書がない場合、注文の一部が配送済みか、請求書の承認が必要です。
- 請求書確認済み:発注書が配送され、請求金額が発注書の合計金額と一致した場合。
- レビューが必要:発注書は配送されたが、請求金額が発注書の合計金額と一致しない場合。
有効な請求書が品目に転記されると、その請求書は更新できなくなります。
指定された請求書に発注書番号がない場合、請求書は却下され、指定された 1 つ以上の請求書に発注書番号がないことを示すエラーメッセージが表示されます。指定された請求書に発注書番号が含まれていてもそれが発注書と一致しない場合、または発注書が存在しない場合は、エラーメッセージが表示されます。このメッセージは、1 つ以上の請求書に、請求書の発注書番号と一致する発注書がないことを示しています。また、サードパーティリセラーから送信された請求金額が請求した金額と一致しない場合、その請求書は却下されます。
ステータステーブル
請求書要求のステータスを確認するには、テーブル REST API を使用して ServiceNow データベースへの REST 呼び出しを行います。API からの応答には、請求書作成に失敗したレコードがリストされます。請求書応答の場合は、次のパラメーターを使用して請求書エラーテーブルをクエリします。
sysparm_query=outbound_error.supplier_id=<supplier_id>^outbound_error.state=20
顧客 ID、サプライヤー ID、エラータイプ、一意のインポートセット ID、およびステータスの詳細は、親エラーテーブルである [送信ステータス] テーブルで確認できます。
URL 形式
/api/sn_spend_intg/spendint/invoice
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| mode | サードパーティ統合のための非同期モードと同期モードのサポート。 データタイプ:文字列 有効な値:
デフォルト:非同期 |
| 名前 | 説明 |
|---|---|
| currency | 必須です。小計、税、および送料の通貨。小計、税、および送料は同じ通貨である必要があります。 データタイプ:文字列 最大長:40 |
| customer_id | 顧客に対する識別子。 データタイプ:文字列 最大長:100 |
| discounts | 請求書に適用される割引。これは編集可能なフィールドです。 データタイプ:文字列 最大長:100 |
| invoice_date | 必須です。顧客が請求された日付。 データタイプ:文字列 最大長:40 形式:YYYY-MM-DD |
| invoice_line | この注文内の購入に対して請求される明細を定義するオブジェクトのリスト。 データタイプ:アレイ |
| invoice_lines.invoiced_line_amount | 必須です。特定の発注明細に対して顧客に請求される総コスト (税と送料を除く)。 データタイプ:文字列 最大長:40 |
| invoice_lines.invoiced_quantity | 必須です。顧客への請求対象となる、物品またはサービスの数量。 データタイプ:文字列 最大長:40 |
| invoice_lines.line_number | 必須です。特定の購入について顧客で生成される発注書明細行番号。 データタイプ:文字列 最大長:40 |
| invoice_lines.sales_order_line_number | 必須です。サプライヤーによって生成される受注明細行番号。 データタイプ:文字列 最大長:40 |
| invoice_lines.supplier_invoice_line_number | 必須です。この請求書明細行に対してサプライヤーが生成する識別番号。 データタイプ:文字列 最大長:100 |
| other_charges | 請求書に関連するその他の追加料金。これは編集可能なフィールドです。 データタイプ:文字列 最大長:100 |
| order_number | 必須です。この注文に対して顧客から提供された発注書番号。 データタイプ:文字列 最大長:40 |
| remit_to_address | 必須です。支払いが行われる場所。 データタイプ:文字列 最大長:1000 |
| sales_order_number | 必須です。この注文についてサプライヤーが生成した番号または値。 データタイプ:文字列 最大長:40 |
| shipping | 必須です。購入全体の合計送料。 データタイプ:文字列 最大長:40 |
| subtotal | 必須。税金と配送料を除いたサプライヤーに支払われる合計金額。 データタイプ:文字列 最大長:40 |
| supplier_id | 必須です。顧客が注文できるリセラーまたはサプライヤーの識別子。 データタイプ:文字列 最大長:100 |
| supplier_invoice_number | 必須です。この請求書に対してサプライヤーが生成した識別番号。 データタイプ:文字列 最大長:100 |
| supplier_tax_id | サードパーティリセラーに関連付けられている税金識別子これは編集可能なフィールドです。 データタイプ:文字列 最大長:100 |
| tax | 必須です。購入に対して請求される税金の合計額。 データタイプ:文字列 最大長:40 |
| tax_rate | 注文に適用される税率 (%) これは編集可能なフィールドです。 データタイプ:文字列 最大長:100 |
| third_party_import_id | この識別子により、サードパーティは、インポートされたデータのセットを一意に識別する文字列値を渡すことができます。 データタイプ:文字列 最大長:100 |
| total_amount_invoiced | 必須。税金と配送料を含むサプライヤーに支払われる合計金額。 データタイプ:文字列 最大長:40 |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。
| ステータスコード | 説明 |
|---|---|
| success | 成功。要求が正常に処理されました。 |
| failure | 不成功。要求が処理されました (エラーあり)。 |
応答本文のパラメーター (JSON)
これらの応答本文パラメーターは、同期モードで照会されたときに受信されます。| 名前 | 説明 |
|---|---|
| error_response_body | 受注明細行番号、受注番号、サプライヤー請求書番号、サプライヤー請求書明細行番号、およびエラーメッセージ別にリストされたエラーの説明。 データタイプ:アレイ |
| error_response_body.error_message | 詳細なエラーメッセージ。 データタイプ:文字列 |
| status_code | 「success」や「failure」などの応答ステータス。 データタイプ:文字列 |
cURL 要求
curl "https://instance.service-now.com/api/sn_spend_intg/spendint/invoice" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root":[{
"customer_id": "Customer - A",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"supplier_invoice_number": "QAAP89873220071",
"supplier_tax_id": "TIN000000",
"order_number": "POL7987633",
"sales_order_number": "SO0000000081",
"invoice_date": "YYYY-MM-DD",
"subtotal": "6000",
"tax_rate": "10%",
"tax": "600",
"shipping": "120",
"other_charges": "100",
"discounts": "200",
"total_amount_invoiced": "6620",
"remit_to_address": "1640 Camino Del Rio North #202, San Diego,CA",
"currency": "USD",
"invoice_lines": [
{
"supplier_invoice_line_number": "QA789A867877ABN32251",
"line_number": "POL587667",
"sales_order_line_number": "SOL00000081",
"invoiced_quantity": "45",
"invoiced_line_amount": "4000"
},
{
"line_number": "POL587668",
"supplier_invoice_line_number": "78987323",
"sales_order_line_number": "SOL98769",
"invoiced_quantity": "12",
"invoiced_line_amount": "2000"
}
]
}
]}
考えられる応答:
// Success response:
{
"result": {
"response": "success"
}
}
// Error response:
{
"result": {
"response": [
{
"customer_id": "Customer - A",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"status_code": "failure",
"error_response_body": [
{
"sales_order_line_number": "SOL00000081",
"sales_order_number": "SO0000000081",
"supplier_invoice_number": "QAAP89873220071",
"supplier_invoice_line_number": "QA789A867877ABN32251",
"error_message": "The invoice do not have a corresponding purchase order which matches the purchase order number of the invoice provided\n"
}
]
}
]
}
}