Recevoir un Invoice Response

Traiter les mises à jour de statut des destinataires via les hooks : acknowledged, accepted, rejected, paid.

Lorsqu'un destinataire communique le statut de votre facture via un Invoice Response (messages de statut), le PSB envoie une notification à votre webhook. En tant qu'expéditeur, vous savez ainsi si une facture a été approuvée, rejetée, ou si le destinataire a besoin d'informations complémentaires. Cet article décrit comment recevoir et traiter ces notifications.

Comment ça fonctionne ?

Après l'envoi d'une facture, le destinataire peut renvoyer des messages de statut via le réseau Peppol. Le PSB associe automatiquement chaque Invoice Response reçu à votre facture d'origine et publie un événement webhook.

Le flux :

  1. Vous envoyez une facture via le PSB
  2. Le destinataire traite la facture et envoie un Invoice Response
  3. Le PSB reçoit le message de response et l'associe à votre facture
  4. Votre webhook reçoit un événement InvoiceResponseReceived
Configurer le webhook

Enregistrez un hook sur le topic InvoiceResponseReceived :

POST /api/v1/hook
{
  "action": "https://mijn-systeem.nl/webhook/responses#mijnSecretKey",
  "topics": ["InvoiceResponseReceived"]
}

Le payload du webhook contient le documentId de la facture d'origine et le responseDocumentId du message Invoice Response.

Télécharger l'Invoice Response

Récupérez le message Invoice Response complet via l'API :

GET /api/v1/{partyId}/salesInvoice/{documentId}/response/{responseDocumentId}/download HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}

Le message contient le code de statut, les éventuels codes de clarification et une explication optionnelle du destinataire.

Interpréter les codes de statut

Le code de statut reçu indique à quel stade se trouve la facture chez le destinataire :

CodeNomQue signifie cela pour vous en tant qu'expéditeur ?ABAcknowledgeLa facture a été reçue et est lisibleIPIn ProcessLa facture est en cours de traitement, pas encore de verdictUQUnder QueryLe destinataire a des questions, action requiseRERejectedLa facture est rejetée, corrigez et renvoyezAPAcceptedLa facture est approuvée, le paiement suivraPDFully PaidLa facture est payée

Pour les statuts UQ et RE, il est important de lire le Reason code et l'Action code envoyés. Ceux-ci indiquent ce qui ne va pas et quelle action le destinataire attend de vous. Voir l'article Envoyer un Invoice Response pour un aperçu de tous les Reason et Action codes.

Prérequis pour la réception de responses

Pour pouvoir recevoir des Invoice Responses en tant qu'expéditeur, votre organisation doit être enregistrée dans le Peppol SMP avec la capability invoiceResponse. Sans cette inscription, l'Access Point du destinataire ne peut pas livrer le message de response.

Vérifiez et activez la capability :

PUT /api/v1/peppol/config HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Content-Type: application/json

{
  "invoiceResponse": {
    "state": "on"
  }
}
Traitement dans votre propre système

Quelques recommandations pour le traitement des Invoice Responses :

  • Associez à la facture : utilisez le documentId du payload pour associer le response à la bonne facture dans votre propre administration.
  • Affichez le statut : rendez le statut de la facture visible pour vos utilisateurs. Un indicateur "approuvé" ou "rejeté" évite les relances inutiles.
  • Réagissez aux rejets : pour le statut RE, il est courant de corriger la facture et d'en envoyer une nouvelle version. Attention : utilisez un nouveau X-EConnect-DocumentId car il s'agit d'un nouveau document.
  • Conservez la piste d'audit : enregistrez chaque Invoice Response reçu comme partie de l'historique de la facture.
Questions fréquentes
Quel webhook et quels champs utiliser pour recevoir une Invoice Response ?

Enregistrez un hook sur le topic InvoiceResponseReceived. La payload contient le documentId de votre facture initialement envoyée et le responseDocumentId du message de statut. Cela vous permet de relier la réponse dans votre système à la bonne facture de vente.

Comment récupérer le XML complet d'une Invoice Response ?

Utilisez GET /api/v1/{partyId}/salesInvoice/{documentId}/response/{responseDocumentId}/download avec le documentId de la facture et le responseDocumentId du webhook. Le message contient le code de statut et les éventuelles informations de clarification du destinataire.

Que faire en cas de statut RE et pourquoi un nouveau X-EConnect-DocumentId ?

Avec RE (Rejected), vous devez corriger la facture et la renvoyer ; les codes Reason et Action indiquent ce qui ne va pas. Pour la nouvelle version, utilisez un nouveau X-EConnect-DocumentId, car il s'agit d'un nouveau document et l'idempotency fonctionne par documentId.


Les Invoice Responses sont optionnels dans le réseau Peppol. Tous les destinataires ne les envoient pas. Mais lorsqu'ils sont utilisés, ils offrent des informations précieuses sur le processus de facturation.

Essayer dans l'API