Communiquer le statut d'une facture à l'expéditeur via Peppol BIS Invoice Response 3.0.
Avec un Invoice Response (également appelé messages de statut), vous communiquez en tant que destinataire le statut de traitement d'une facture à l'expéditeur. Il peut s'agir d'une confirmation de réception, d'une approbation pour paiement, ou d'un rejet. Cet article décrit comment envoyer un Invoice Response via l'API PSB conformément à la norme Peppol BIS Invoice Response 3.0.
Sans messages de statut, un fournisseur ne peut qu'espérer que sa facture est bien arrivée et sera traitée. Avec les Invoice Responses, vous rendez le processus de facturation transparent : l'expéditeur sait exactement à quel stade se trouve la facture et peut agir immédiatement en cas de rejet.
La norme Peppol BIS Invoice Response 3.0 définit six codes de statut :
Les statuts suivent un ordre logique : AB, IP, UQ, AP, PD. Le statut RE peut être envoyé à tout moment si la facture est rejetée.
Lors d'un changement de statut, vous pouvez envoyer un Reason code et un Action code pour préciser la raison et l'action souhaitée.
Envoyez un Invoice Response via l'endpoint PurchaseInvoice :
POST /api/v1/{partyId}/purchaseInvoice/{documentId}/response HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Content-Type: application/json
{
"status": "AP",
"clarificationCode": "NON",
"actionCode": "NOA",
"note": "Factuur goedgekeurd voor betaling."
}
Le PSB génère automatiquement un message Peppol BIS Invoice Response 3.0 et l'envoie via le réseau Peppol à l'Access Point de l'expéditeur.
Pour pouvoir envoyer des Invoice Responses, votre organisation doit être enregistrée en tant que destinataire Peppol avec les capabilities SMP appropriées. Vérifiez cela via :
GET /api/v1/peppol/config HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
La capability invoiceResponse doit avoir l'état on. Si ce n'est pas le cas, activez-la via :
PUT /api/v1/peppol/config HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Content-Type: application/json
{
"invoiceResponse": {
"state": "on"
}
}
Un flux courant lors du traitement d'une facture d'achat :
InvoiceReceivedVous n'êtes pas obligé d'envoyer chaque statut intermédiaire. Il est courant d'envoyer au minimum AB (confirmation de réception) et AP ou RE (verdict final).
Après l'envoi d'un Invoice Response, vous recevez un événement webhook InvoiceResponseSent comme confirmation que le message a été livré avec succès à l'expéditeur.
Vous postez du JSON vers POST /api/v1/{partyId}/purchaseInvoice/{documentId}/response comprenant entre autres status (par exemple AB, AP, RE), clarificationCode et actionCode, plus une note optionnelle. La PSB construit un message Peppol BIS Invoice Response 3.0 à partir de ces données et le livre via Peppol à l'expéditeur.
Votre organisation doit être enregistrée dans le SMP avec la capability pour Invoice Response. Vérifiez via GET /api/v1/peppol/config et si nécessaire, définissez invoiceResponse.state sur on via PUT /api/v1/peppol/config. Sans capability active, l'Access Point de la contrepartie ne peut pas livrer correctement votre réponse.
Non, ce n'est pas obligatoire. Une approche courante consiste à envoyer au minimum un accusé de réception (AB) et un verdict final (AP, PD ou RE). En cas de rejet (RE), les codes Reason et Action sont pertinents pour informer l'expéditeur de l'anomalie et de l'action attendue.
La spécification complète du Peppol BIS Invoice Response 3.0 est disponible sur docs.peppol.eu. Les endpoints PSB et les modèles de réponse se trouvent sur psb.econnect.eu.
Consulter les endpoints de response