• Dernière modification le: 24 May 2022

Exemples d'appels API Invoice Payments

Paiements des factures - PUT

La section suivante décrit comment utiliser l'API Coupa pour mettre à jour une facture avec des informations de paiement

Notre API de paiement des factures vous permet de faire deux choses :

  1. Mettez à jour une facture avec trois attributs : Payé, Date de paiement et Notes de paiement.
    À l'origine, Coupa vous permettait de renseigner ces champs de facture. Si vous aviez plusieurs paiements, vous auriez à ajouter ces secondes informations de paiement dans les notes de paiement.
  2. Vous pouvez désormais mettre à jour une facture avec un ensemble d'informations de paiement : date de paiement, notes (numéro de chèque) et montant payé.  Vous pouvez ainsi attribuer plusieurs dates de paiement, numéros de chèque et montants payés à une seule facture.

Les retours des clients nous ont aidés à comprendre l'intérêt d'ajouter davantage de données de paiement pour une seule facture. Comme certains clients utilisent encore la méthode originale de mise à jour des factures, nous avons décidé de prendre en charge les deux méthodes de mise à jour des factures avec les informations de paiement.

Voici l'URL à laquelle vous pouvez PLACER ces informations :

  • <your_instance_URL>/api/invoices/<invoice id>
  • En général, vous devez utiliser le numéro de facture et le fournisseur pour trouver l'ID de facture correct afin de l'utiliser dans le PUT

Vous pouvez valider des paiements sur une facture existante à l'aide de l'API Invoice Payments (point de terminaison ./invoices/<invoice_id>..) en utilisant un appel PUT. La charge utile du PUT peut être formatée au format XML ou JSON avec l'un des formats acceptés. 

Nous l'avons publié sur l'URL :  PUT https://<instance>.coupahost.com/api/invoices/<invoice id> 

Exemple : Ajouter des informations de paiement à une facture existante

Dans ces exemples, nous ajoutons des informations de paiement à une facture existante en utilisant les champs Payé, Indicateur, Notes de paiement et Date de paiement.

Nous avons posté une charge utile au format XML ou JSON vers l'URL : https://<instance>.coupahost.com/api/invoices/<invoice id>

La charge utile peut être dans n'importe quel format pris en charge et utilisée pour enregistrer les paiements par programme à l'aide de cette interface. Vous trouverez plus de quelques exemples ci-dessous.

Exemples de charge utile XML

Et voici un exemple de schéma de charge utile XML qui continue d'être pris en charge.

<?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>

Voici un autre exemple de charge utile 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>

Voici un exemple de paiements multiples au format 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>

Et un ancien exemple de charge utile XML (toujours pris en charge) qui met à jour une facture existante avec plusieurs numéros de chèque à l'aide de notes de paiement.  Utilisez les champs Payé, Numéro de chèque et Date de paiement.

<?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>

Exemples de charge utile JSON

Pour utiliser une charge utile JSON, vous pouvez utiliser l'un des exemples suivants comme modèle de format.

Format de données 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."
}

 Format des données 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."
}

Format de données 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."
}

Format de données 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"
			 }
		]
	}
}

Retours

Les demandes réussies retourneront : HTTP 200 Created. Le corps de la réponse contient les informations de paiement et la facture mise à jour.

Les demandes infructueuses retourneront : HTTP 400 Bad Request. Le corps de la réponse inclut les erreurs de validation au format XML.

Définitions de champs

Nom Requis ? Type Valeurs autorisées Description
payé no booléen vrai ou faux Champ payé de l'en-tête de facture. Il est défini sur une valeur vraie ou fausse.
date de paiement no datetime AAAA-MM-JJTHH:MM:SS+HH:MM Date et heure d'exécution du paiement
bordereau de paiement no texte description ou notes, le cas échéant Il s'agit de notes que vous pouvez ajouter dans les informations de paiement.
      tableau de paiement commence
      paiement échelonné
montant payé no décimal 2 nombres décimaux Il s'agit du montant payé dans le cadre du tableau de paiement.
notes ou
numéro de chèque
no Chaîne données transactionnelles Chèque ou transaction ou informations de paiement capturées pour le paiement. Ce champ a remplacé . Toutes les données envoyées au marqueur obsolète seront stockées dans le champ des notes. Le marqueur de chèque n° sera renseigné dans l'instance Coupa. ( peut également être utilisé).
date de paiement no texte AAAA-MM-JJTHH:MM:SS+HH:MM Date et heure d'exécution du paiement
       
      fin du tableau des paiements

Une partie ou la totalité de cette page peut avoir été traduite par machine. Toutes nos excuses pour les inexactitudes.

Articles associés


API Coupa Core

Notre API RESTful fournit un accès fiable pour lire, modifier ou intégrer vos données à la plateforme Coupa.

Démarrez avec l'API

Informations générales sur l'utilisation de l'API Coupa et quand vous devez envisager d'utiliser CSV.

Transition vers OAuth 2.0 et OIDC

Coupa désapprouve les API Keys héritées et nécessite l'utilisation d'OAuth 2.0 / OIDC. À partir de R34, aucune nouvelle clé API ne sera émise et les clés API ne seront plus prises en charge avec R35.

Ressources

Nous avons organisé nos points de terminaison API par type d'objet : données de référence, données transactionnelles et ressources partagées.