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 :
- 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. - 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é |
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.