Recevoir des factures entrantes : configurer les webhooks, télécharger les documents et gérer la rétention.
Lorsqu'une facture destinée à votre organisation arrive via Peppol ou un autre réseau, le PSB stocke le document et envoie une notification à votre webhook. Dans cet article, vous apprenez comment recevoir cette notification, télécharger le document et mettre en place la gestion des statuts.
La réception d'une facture se déroule en quatre étapes :
InvoiceReceived à votre endpointPour recevoir des factures, vous avez besoin d'un webhook qui écoute le topic InvoiceReceived. Enregistrez-le via la Hook API :
POST /api/v1/hook
{
"action": "https://mijn-systeem.nl/webhook/invoices#mijnSecretKey",
"topics": ["InvoiceReceived"]
}
Dès qu'une facture arrive, votre endpoint reçoit une requête POST avec un payload JSON. Ce payload contient entre autres le documentId et le partyId avec lesquels vous pouvez récupérer le document.
Conseil : configurez également un webhook sur le topic
InvoiceReceivedErrorpour recevoir des notifications en cas de problème lors de la réception.
Utilisez le documentId du payload webhook pour récupérer la facture :
GET /api/v1/{partyId}/purchaseInvoice/{documentId}/download HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
La réponse contient le document XML (par défaut dans le format original). Vous souhaitez recevoir le document dans un autre format ? Utilisez le paramètre targetDocumentTypeId :
GET /api/v1/{partyId}/purchaseInvoice/{documentId}/download?targetDocumentTypeId={URN}
Le PSB transforme automatiquement le document dans le format spécifié avant de le retourner.
Le PSB conserve les documents reçus selon le schéma suivant :
Il est recommandé de récupérer les documents dès leur réception et de les stocker dans votre propre système. Ne comptez pas sur le PSB comme stockage à long terme.
Après traitement, vous pouvez supprimer manuellement le document :
DELETE /api/v1/{partyId}/purchaseInvoice/{documentId} HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Cela supprime définitivement le document du PSB. La piste d'audit reste disponible.
Après réception, vous pouvez mettre à jour le statut de traitement d'une facture d'achat. Cela est particulièrement pertinent si vous souhaitez envoyer des Invoice Responses (messages de statut) à l'expéditeur. Pour cela, consultez l'article Envoyer un Invoice Response.
Le PSB envoie automatiquement un message MLS (Message Level Status) à l'expéditeur après réception d'un document. Cela confirme que le document a été reçu et livré. En tant qu'intégrateur, vous n'avez rien à configurer : le PSB gère cela entièrement. Si vous envoyez vous-même des documents, vous recevez des retours MLS via le topic webhook MessageLevelStatusReceived. Voir Configurer les webhooks pour la configuration.
Si vous ne pouvez pas configurer de webhooks (par exemple dans un environnement on-premise sans trafic internet entrant), vous pouvez également récupérer les factures par polling :
GET /api/v1/{partyId}/purchaseInvoice HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Cet endpoint retourne une liste des factures d'achat disponibles. Les webhooks restent cependant la méthode préférée en raison du traitement en temps réel et de la charge réduite sur l'API.
Attention : pour les intégrations on-premise, envisagez également le reverse webhook (HTTPS inbound hook), avec lequel le PSB pousse les documents sans que votre système doive être directement accessible depuis Internet.
targetDocumentTypeId lors du téléchargement au lieu de convertir vous-même.Enregistrez un webhook sur le topic InvoiceReceived ; la payload contient entre autres documentId et partyId. Avec ces valeurs, appelez GET /api/v1/{partyId}/purchaseInvoice/{documentId}/download pour récupérer le document XML. Vous pouvez optionnellement utiliser targetDocumentTypeId pour recevoir un format transformé.
Un document reçu que vous n'avez pas encore téléchargé reste disponible pendant 90 jours maximum. Après le téléchargement, il est conservé 7 jours supplémentaires ; la suppression manuelle efface le document immédiatement de la PSB. Conservez des copies dans votre propre système, car la PSB n'est pas une archive à long terme.
Oui, en utilisant le polling via GET /api/v1/{partyId}/purchaseInvoice, vous obtenez une liste des factures d'achat disponibles. Les webhooks restent la méthode préférée pour le traitement en temps réel et une moindre charge sur l'API ; pour les installations on-premise sans accès internet entrant, vous pouvez également envisager un reverse webhook.
Consultez les endpoints PurchaseInvoice complets et les modèles de réponse sur psb.econnect.eu.
Ouvrir la référence API