Envoyer un Invoice Response (messages de statut)

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.

Pourquoi les Invoice Responses ?

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.

Codes de statut

La norme Peppol BIS Invoice Response 3.0 définit six codes de statut :

CodeNomSignificationABAcknowledgeFacture reçue et lisibleIPIn ProcessFacture en cours de traitementUQUnder QueryInformations complémentaires nécessaires du fournisseurRERejectedFacture rejetée (statut final)APAcceptedFacture approuvée, paiement suivraPDFully PaidFacture payée (statut final)

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.

Codes de clarification

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.

Reason codes (pourquoi)
CodeSignificationNONPas de problème spécifiqueREFRéférences incorrectesLEGProblème juridiqueRECDestinataire inconnuQUAProblème de qualitéDELProblème de livraisonPRIPrix incorrectsQTYQuantités incorrectesITMArticles incorrectsPAYConditions de paiement incorrectesUNRNon reconnuFINProblème financierPPDPartiellement payéOTHAutre
Action codes (ce que l'expéditeur doit faire)
CodeSignificationNOAAucune action nécessairePINFournir des informationsNINEnvoyer une nouvelle factureCNFEnvoyer une note de crédit complèteCNPEnvoyer une note de crédit partielleCNARembourser le montantOTHAutre
Envoyer un Invoice Response

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.

Prérequis

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"
  }
}
Exemple de flux de statut

Un flux courant lors du traitement d'une facture d'achat :

  1. Facture reçue, événement webhook InvoiceReceived
  2. Envoyer un Invoice Response avec statut AB (confirmer la réception)
  3. Vérifier la facture dans votre propre système
  4. Envoyer un Invoice Response avec statut IP (en cours de traitement)
  5. En cas d'approbation : Invoice Response avec statut AP
  6. Après paiement : Invoice Response avec statut PD

Vous 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).

Notification webhook pour le response envoyé

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.

Questions fréquentes
Comment envoyer une Invoice Response et quel format de requête utiliser ?

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.

Quel paramètre Peppol dois-je configurer pour pouvoir envoyer des messages de statut ?

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.

Dois-je envoyer tous les statuts intermédiaires (AB, IP, AP, etc.) ?

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