Inviare un Invoice Response (messaggi di stato)

Comunicare lo stato della fattura al mittente tramite Peppol BIS Invoice Response 3.0.

Con un Invoice Response (chiamato anche messaggi di stato) il destinatario comunica al mittente lo stato di elaborazione di una fattura. Pensi a una conferma di ricezione, all'approvazione per il pagamento o al rifiuto. Questo articolo descrive come inviare un Invoice Response tramite la PSB API conformemente allo standard Peppol BIS Invoice Response 3.0.

Perché gli Invoice Response?

Senza messaggi di stato, un fornitore non può che sperare che la sua fattura sia arrivata correttamente e venga elaborata. Con gli Invoice Response il processo di fatturazione diventa trasparente: il mittente sa esattamente in quale fase si trova la fattura e può agire immediatamente in caso di rifiuto.

Codici di stato

Lo standard Peppol BIS Invoice Response 3.0 definisce sei codici di stato:

CodiceNomeSignificatoABAcknowledgeFattura ricevuta e leggibileIPIn ProcessFattura in fase di elaborazioneUQUnder QueryNecessarie informazioni aggiuntive dal fornitoreRERejectedFattura rifiutata (stato finale)APAcceptedFattura approvata, pagamento in arrivoPDFully PaidFattura pagata (stato finale)

Gli stati seguono un ordine logico: AB, IP, UQ, AP, PD. Lo stato RE può essere inviato in qualsiasi momento quando la fattura viene rifiutata.

Clarification code

Con un cambio di stato è possibile inviare un Reason code e un Action code per chiarire il motivo e l'azione desiderata.

Reason code (perché)
CodiceSignificatoNONNessun problema specificoREFRiferimenti non correttiLEGProblema legaleRECDestinatario sconosciutoQUAProblema di qualitàDELProblema di consegnaPRIPrezzi non correttiQTYQuantità non corretteITMArticoli non correttiPAYCondizioni di pagamento non corretteUNRNon riconosciutoFINProblema finanziarioPPDParzialmente pagatoOTHAltro
Action code (cosa deve fare il mittente)
CodiceSignificatoNOANessuna azione necessariaPINFornire informazioniNINInviare nuova fatturaCNFInviare nota di credito completaCNPInviare nota di credito parzialeCNARimborsare l'importoOTHAltro
Inviare un Invoice Response

Invii un Invoice Response tramite l'endpoint PurchaseInvoice:

POST /api/v1/{partyId}/purchaseInvoice/{documentId}/response HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Content-Type: application/json
{
  "status": "AP",
  "clarificationCode": "NON",
  "actionCode": "NOA",
  "note": "Factuur goedgekeurd voor betaling."
}

La PSB genera automaticamente un messaggio Peppol BIS Invoice Response 3.0 e lo invia tramite la rete Peppol all'Access Point del mittente.

Requisiti

Per poter inviare Invoice Response, la Sua organizzazione deve essere registrata come destinatario Peppol con le capabilities SMP appropriate. Verifichi tramite:

GET /api/v1/peppol/config HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}

La capability invoiceResponse deve avere lo stato on. In caso contrario, la attivi tramite:

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

{
  "invoiceResponse": {
    "state": "on"
  }
}
Esempio di flusso degli stati

Un flusso comune nell'elaborazione di una fattura d'acquisto:

  1. Fattura ricevuta, evento webhook InvoiceReceived
  2. Invoice Response inviato con stato AB (conferma ricezione)
  3. Fattura verificata nel proprio sistema
  4. Invoice Response inviato con stato IP (in elaborazione)
  5. In caso di approvazione: Invoice Response con stato AP
  6. Dopo il pagamento: Invoice Response con stato PD

Non è necessario inviare ogni stato intermedio. È consuetudine inviare almeno AB (conferma di ricezione) e AP o RE (giudizio finale).

Notifica webhook per response inviato

Dopo l'invio di un Invoice Response, riceve un evento webhook InvoiceResponseSent come conferma che il messaggio è stato consegnato con successo al mittente.

Domande frequenti
Come invio un Invoice Response e quale formato di richiesta utilizzo?

Invii JSON a POST /api/v1/{partyId}/purchaseInvoice/{documentId}/response includendo tra l'altro status (ad esempio AB, AP, RE), clarificationCode e actionCode, più una note opzionale. La PSB costruisce un messaggio Peppol BIS Invoice Response 3.0 da questi dati e lo consegna tramite Peppol al mittente.

Quale impostazione Peppol è necessaria per poter inviare messaggi di stato?

La Sua organizzazione deve essere registrata nella SMP con la capability per Invoice Response. Verifichi tramite GET /api/v1/peppol/config e se necessario imposti invoiceResponse.state su on tramite PUT /api/v1/peppol/config. Senza una capability attiva, l'Access Point della controparte non può consegnare correttamente la Sua risposta.

Devo inviare tutti gli stati intermedi (AB, IP, AP, ecc.)?

No, non è obbligatorio. Un approccio comune prevede almeno una conferma di ricezione (AB) e un verdetto finale (AP, PD o RE). In caso di rifiuto (RE), i codici Reason e Action sono rilevanti per informare il mittente del problema e dell'azione attesa.


La specifica completa del Peppol BIS Invoice Response 3.0 è disponibile su docs.peppol.eu. Gli endpoint PSB e i modelli di risposta sono disponibili su psb.econnect.eu.

Consulti gli endpoint di response