Ricevere un Invoice Response

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.

Come funziona?

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:

  1. Lei invia una fattura tramite la PSB
  2. Il destinatario elabora la fattura e invia un Invoice Response
  3. La PSB riceve il messaggio di response e lo collega alla Sua fattura
  4. Il Suo webhook riceve un evento InvoiceResponseReceived
Configurare il webhook

Registri 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.

Scaricare l'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.

Interpretare i codici di stato

Il codice di stato ricevuto indica in quale fase si trova la fattura presso il destinatario:

CodiceNomeCosa significa per Lei come mittente?ABAcknowledgeLa fattura è stata ricevuta ed è leggibileIPIn ProcessLa fattura è in fase di elaborazione, nessun giudizio ancoraUQUnder QueryIl destinatario ha domande, è necessaria un'azioneRERejectedLa fattura è stata rifiutata, corregga e reinviiAPAcceptedLa fattura è stata approvata, il pagamento seguiràPDFully PaidLa fattura è stata pagata

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.

Requisiti per la ricezione delle response

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"
  }
}
Elaborazione nel proprio sistema

Alcune raccomandazioni per l'elaborazione degli Invoice Response:

  • Colleghi alla fattura: utilizzi il documentId dal payload per collegare la response alla fattura corretta nella Sua amministrazione.
  • Mostri lo stato: renda visibile lo stato della fattura ai Suoi utenti. Un indicatore "approvato" o "rifiutato" previene domande inutili.
  • Reagisca ai rifiuti: in caso di stato RE, è consuetudine correggere la fattura e inviare una nuova versione. Attenzione: utilizzi un nuovo X-EConnect-DocumentId, poiché si tratta di un nuovo documento.
  • Conservi l'audit trail: salvi ogni Invoice Response ricevuto come parte della cronologia della fattura.
Domande frequenti
Quale webhook e quali campi utilizzo per ricevere un Invoice Response?

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.

Come recupero il XML completo di un Invoice Response?

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.

Cosa devo fare con lo stato RE e perché un nuovo X-EConnect-DocumentId?

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