Elaborare gli aggiornamenti di stato dai destinatari tramite hook: acknowledged, accepted, rejected, paid.
Quando un destinatario comunica lo stato della Sua fattura tramite un Invoice Response (messaggi di stato), la PSB invia una notifica al Suo webhook. In questo modo, come mittente, sa se una fattura è stata approvata, rifiutata o se il destinatario necessita di informazioni aggiuntive. Questo articolo descrive come intercettare e elaborare queste notifiche.
Dopo l'invio di una fattura, il destinatario può inviare messaggi di stato tramite la rete Peppol. La PSB collega automaticamente ogni Invoice Response ricevuto alla Sua fattura originale e pubblica un evento webhook.
Il flusso:
InvoiceResponseReceivedRegistri un hook sul topic InvoiceResponseReceived:
POST /api/v1/hook
{
"action": "https://mijn-systeem.nl/webhook/responses#mijnSecretKey",
"topics": ["InvoiceResponseReceived"]
}
Il payload del webhook contiene il documentId della fattura originale e il responseDocumentId del messaggio Invoice Response.
Recuperi il messaggio Invoice Response completo tramite l'API:
GET /api/v1/{partyId}/salesInvoice/{documentId}/response/{responseDocumentId}/download HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Il messaggio contiene il codice di stato, eventuali clarification code e una nota facoltativa del destinatario.
Il codice di stato ricevuto indica in quale fase si trova la fattura presso il destinatario:
Per gli stati UQ e RE è importante leggere il Reason code e l'Action code allegati. Indicano cosa non va e quale azione il destinatario si aspetta. Consulti l'articolo Inviare un Invoice Response per una panoramica completa di tutti i Reason e Action code.
Per poter ricevere Invoice Response come mittente, la Sua organizzazione deve essere registrata nel Peppol SMP con la capability invoiceResponse. Senza questa registrazione, l'Access Point del destinatario non può consegnare il messaggio di response.
Verifichi e attivi 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"
}
}
Alcune raccomandazioni per l'elaborazione degli Invoice Response:
documentId dal payload per collegare la response alla fattura corretta nella Sua amministrazione.X-EConnect-DocumentId, poiché si tratta di un nuovo documento.Registri un hook sul topic InvoiceResponseReceived. La payload contiene il documentId della Sua fattura originariamente inviata e il responseDocumentId del messaggio di stato. In questo modo può collegare la risposta nel Suo sistema alla fattura di vendita corretta.
Utilizzi GET /api/v1/{partyId}/salesInvoice/{documentId}/response/{responseDocumentId}/download con il documentId della fattura e il responseDocumentId dal webhook. Il messaggio contiene il codice di stato e le eventuali informazioni di clarification del destinatario.
Con RE (Rejected), deve correggere la fattura e reinviarla; i codici Reason e Action indicano cosa non va. Per la nuova versione utilizzi un nuovo X-EConnect-DocumentId, perché si tratta di un nuovo documento e l'idempotency funziona per documentId.
Gli Invoice Response sono opzionali nella rete Peppol. Non tutti i destinatari li inviano. Ma quando vengono utilizzati, offrono informazioni preziose sul processo di fatturazione.
Provi nell'API