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.
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 :
InvoiceResponseReceivedEnregistrez 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.
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.
Le code de statut reçu indique à quel stade se trouve la facture chez le destinataire :
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.
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"
}
}
Quelques recommandations pour le traitement des Invoice Responses :
documentId du payload pour associer le response à la bonne facture dans votre propre administration.X-EConnect-DocumentId car il s'agit d'un nouveau document.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.
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.
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