インボイス支払APIコールの例

インボイス支払PUT

以下は、Coupa APIを使用して、支払情報を含むインボイスを更新する方法について説明します

Coupaの請求書支払APIでは、次の2つのことを行うことができます。

  1. 支払済み、支払日、支払メモの3つの属性でインボイスを更新します。
    Coupaでは当初、これらの[請求書]フィールドに情報を入力できました。複数の支払がある場合は、その2番目の支払情報を支払メモに追加する必要があります。
  2. これを行い、支払日、メモ(小切手番号)、支払額などの一連の支払情報で請求書を更新できるようになりました。 これにより、複数の支払日、小切手番号、支払金額を1つの請求書に割り当てることができます。

顧客のフィードバックにより、1つの請求書に対して複数の支払データを追加することの価値を確認することができました。一部のお客様はまだ請求書の更新方法を元のままにしているため、支払情報で請求書を更新する方法を両方ともサポートすることにしました。

この情報を入力できるURLは次のとおりです。

  • <your_instance_URL>/api/invoices/<invoice id>
  • 通常、PUTで使用するには、請求書番号とサプライヤーを使用して正しい請求書IDを見つけます

PUTコールを使用して、インボイス支払API(..エンドポイント)で既存のインボイス/invoices/<invoice_id>に支払を投稿できます。PUTのペイロードは、いくつかの受け入れられた形式のいずれかでXMLまたはJSONとしてフォーマットできます。 

URLに投稿しました:  PUT https://<instance>.coupahost.com/api/invoices/<invoice id> 

例:既存の請求書に支払情報を追加する

これらの例では、フィールド[支払済み]、[フラグ]、[支払メモ]、[支払日]を使用して、既存の請求書に支払情報を追加しています。

(XMLまたはJSON)のいずれかのペイロードをURLに投稿しました。 https://<instance>.coupahost.com/api/invoices/<invoice id>

ペイロードは、このインターフェイスを使用して支払をプログラムで記録するために使用される、サポートされているいくつかの形式のいずれかです。以下に複数の例を示します。

XMLペイロードの例

また、以下は引き続きサポートされるXMLペイロードスキーマの一例です。

<?xml version="1.0" encoding="UTF-8"?>
<invoice-header>
	 <paid type="boolean">true</paid>
	 <payment-date type="datetime">2009-06-23T00:00:00-08:00</payment-date>
	 <payment-notes>CHECK|#1003|USD|989.00|FULLY PAID|</payment-notes>
	 <payments type="array">
			<payment>
				 <amount-paid>989.00</amount-paid>
				 <notes>1003</notes>
				 <payment-date>2009-06-23</payment-date>
			</payment>
	 </payments>
</invoice-header>

別のXMLペイロードの例を次に示します。 

<?xml version="1.0" encoding="UTF-8"?>
<invoice-header>
	 <invoice-date type="datetime">"2019-10-22 00:00:00 -0900"</invoice-date>
	 <invoice-number>Invoice_Number_1571292051.310760975</invoice-number>
	 <payments type="array">
			<payment>
				 <amount-paid>5.00</amount-paid>
				 <notes>1003</notes>
				 <payment-date>2019-10-22</payment-date>
			</payment>
	 </payments>
</invoice-header>

以下は、XMLを使用した複数の支払の例です。

<?xml version="1.0" encoding="UTF-8"?>
<invoice-header>
	 <payments type="array">
			<payment>
				 <amount-paid>4.00</amount-paid>
				 <notes>1003</notes>
				 <payment-date>2009-06-23</payment-date>
			</payment>
			<payment>
				 <amount-paid>5.00</amount-paid>
				 <notes>1004</notes>
				 <payment-date>2009-06-23</payment-date>
			</payment>
	 </payments>
</invoice-header>

また、支払メモを使用して複数の小切手番号を持つ既存の請求書を更新する、古い例のXMLペイロード(現在もサポートされています)。 これには、支払済み、小切手番号、支払日のフィールドが使用されます。

<?xml version="1.0" encoding="UTF-8"?>
<invoice-header>
	 <paid type="boolean">true</paid>
	 <payment-date type="datetime">2009-06-23T00:00:00-08:00</payment-date>
	 <payment-notes>CHECK|#1003|USD|989.00|FULLY PAID|</payment-notes>
	 <payments type="array">
			<payment>
				 <amount-paid type="decimal" nil="true">100.23</amount-paid>
				 <notes nil="true">232</notes>
				 <payment-date type="datetime" nil="true">2010-09-25T02:22:11Z</payment-date>
			</payment>
			<payment>
				 <amount-paid type="decimal" nil="true">9032.32</amount-paid>
				 <notes nil="true">233</notes>
				 <payment-date type="datetime" nil="true">2010-09-25T02:22:11Z</payment-date>
			</payment>
	 </payments>
</invoice-header>

JSONペイロードの例

JSONペイロードを使用するには、次の例のいずれかを形式モデルとして使用できます。

データフォーマット1:

{
	"payments": 
	{
		"payment":
			{ "check_number": "1234567", "amount_paid": "199.98", "notes": "String", "payment_date": "9/12/2019" }
	},
	"paid": "false",
	"payment_date": "9/11/2019",
	"payment_notes": "Partial payment with one payment check."
}

 データフォーマット2:

{
	"payments": 
	{
		"payment": [
			{ "check_number": "test_check_number", "amount_paid": "510", "notes": "A payment note", "payment_date": "9/12/2019" },
			{ "check_number": "test_check_number", "amount_paid": "53", "notes": "A payment note", "payment_date": "9/11/2019" }]
	},
	"paid": "false",
	"payment_date": "9/11/2019",
	"payment_notes": "One partial payment with two checks."
}

データフォーマット3: 

{
	"payments": [
		{ "check_number": "test_check_number", "amount_paid": "510", "notes": "payment_note", "payment_date": "9/12/2019" },
		{ "check_number": "test_check_number", "amount_paid": "53", "notes": "payment_note", "payment_date": "9/11/2019" }
	],
	"paid": "false",
	"payment_date": "9/11/2019",
	"payment_notes": "Two payments with two checks."
}

データフォーマット4: 

{
	"paid": "true",
	"payment-date": "2019-08-13T00:00:00Z",
	"payment-notes": "eProc Voucher#TRM-19-0009584-PV/THB",
	"payments": {
		 "payment" :	[
			 {
				 "payable-type": "InvoiceHeader",
				 "payable-id": "4835",
				 "amount-paid": "49.00",
				 "notes": "TRM-19-0009584-PV",
				 "payment-date": "2019-08-13T00:00:00Z"
			 },
			{
				 "payable-type": "InvoiceHeader",
				 "payable-id": "4835",
				 "amount-paid": "51.00",
				 "notes": "TRM-19-0009584-PV",
				 "payment-date": "2019-08-13T00:00:00Z"
			 }
		]
	}
}

返品

成功したリクエストは以下を返す HTTP 200 Created。返答の本文には、支払情報と更新された請求書が含まれます。

失敗したリクエストは以下を返します HTTP 400 Bad Request。応答の本文には、XMLとしてフォーマットされた検証エラーが含まれます。

フィールド定義

名前 必須か? タイプ 許容値 Description
paid no ブール値 真または偽 これはインボイスヘッダーの支払済みフィールドです。trueまたはfalseの値に設定されます。
payment-date no 日時 YYYY-MM-DDTHH:MM:SS+HH:MM 支払が行われた日時
payment-notes no テキスト 説明またはメモ(ある場合) これらは、支払情報の一部として追加できるメモです。
<支払>       支払アレイ開始
<支払>       支払割賦
支払額 no decimal型 小数点第2位 これは、支払アレイの一部として支払われた金額です。
メモまたは
小切手番号
no 文字列 取引データ 支払のために取得された小切手または取引または支払情報。 このフィールドはに置き換えられました。廃止予定のタグに送信されたデータはすべてメモフィールドに保存されます。小切手番号タグはCoupaインスタンスに入力されます。(も使用できます)。
payment-date no テキスト YYYY-MM-DDTHH:MM:SS+HH:MM 支払が行われた日時
       
      支払アレイの終了

このページに表示されている一部、または全ての内容は、機械翻訳によるものです。ご了承ください。

関連アイテム


Coupa Core API

CoupaのRESTful APIは、お客様のデータをCoupaプラットフォームで読み取り、編集し、統合するための堅牢なアクセスを提供します。

APIの開始

Coupa APIの使用に関する一般情報、およびCSVの使用を検討するタイミング。

OAuth 2.0およびOIDCへの移行

Coupaは従来のAPIキーを廃止し、OAuth 2.0 / OIDCの使用を必要としています。R34以降、新しいAPIキーは発行されず、R35ではAPIキーはサポートされなくなります。

リソース

参照データ、トランザクションデータ、共有リソースなど、オブジェクトのタイプ別にAPIエンドポイントを整理しました。