Wysyłanie Invoice Response (komunikaty statusowe)

Przekazywanie statusu faktury nadawcy za pomocą Peppol BIS Invoice Response 3.0.

Za pomocą Invoice Response (nazywanego również komunikatem statusowym) odbiorca przekazuje nadawcy status przetwarzania faktury. Może to być potwierdzenie odbioru, zatwierdzenie do zapłaty lub odrzucenie. Ten artykuł opisuje, jak wysłać Invoice Response przez PSB API zgodnie ze standardem Peppol BIS Invoice Response 3.0.

Dlaczego Invoice Response?

Bez komunikatów o statusie dostawca może jedynie mieć nadzieję, że jego faktura dotarła poprawnie i jest przetwarzana. Dzięki Invoice Response proces fakturowania staje się przejrzysty: nadawca wie dokładnie, na jakim etapie znajduje się faktura, i może natychmiast podjąć działanie w przypadku odrzucenia.

Kody statusu

Standard Peppol BIS Invoice Response 3.0 definiuje sześć kodów statusu:

KodNazwaZnaczenieABAcknowledgeFaktura otrzymana i czytelnaIPIn ProcessFaktura jest przetwarzanaUQUnder QueryPotrzebne dodatkowe informacje od dostawcyRERejectedFaktura odrzucona (status końcowy)APAcceptedFaktura zatwierdzona, zapłata nastąpiPDFully PaidFaktura zapłacona (status końcowy)

Statusy podążają w logicznej kolejności: AB, IP, UQ, AP, PD. Status RE może być wysłany w dowolnym momencie, gdy faktura zostaje odrzucona.

Kody wyjaśniające

Przy zmianie statusu można wysłać Reason code i Action code, aby wyjaśnić przyczynę i oczekiwane działanie.

Reason code (dlaczego)
KodZnaczenieNONBrak konkretnego problemuREFNieprawidłowe referencjeLEGProblem prawnyRECNieznany odbiorcaQUAProblem z jakościąDELProblem z dostawąPRINieprawidłowe cenyQTYNieprawidłowe ilościITMNieprawidłowe artykułyPAYNieprawidłowe warunki płatnościUNRNierozpoznaneFINProblem finansowyPPDCzęściowo zapłaconeOTHInne
Action code (co powinien zrobić nadawca)
KodZnaczenieNOANie jest wymagane żadne działaniePINDostarczyć informacjeNINWysłać nową fakturęCNFWysłać pełną notę kredytowąCNPWysłać częściową notę kredytowąCNAZwrócić kwotęOTHInne
Wysyłanie Invoice Response

Invoice Response wysyła się przez 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."
}

PSB automatycznie generuje komunikat Peppol BIS Invoice Response 3.0 i wysyła go przez sieć Peppol do Access Point nadawcy.

Wymagania

Aby móc wysyłać Invoice Response, Państwa organizacja musi być zarejestrowana jako odbiorca Peppol z odpowiednimi capabilities SMP. Sprawdzenie:

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

Capability invoiceResponse musi mieć stan on. Jeśli tak nie jest, należy ją aktywować:

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

{
  "invoiceResponse": {
    "state": "on"
  }
}
Przykładowy przepływ statusów

Typowy przepływ przy przetwarzaniu faktury zakupowej:

  1. Faktura otrzymana, zdarzenie webhook InvoiceReceived
  2. Wysyłka Invoice Response ze statusem AB (potwierdzenie odbioru)
  3. Weryfikacja faktury we własnym systemie
  4. Wysyłka Invoice Response ze statusem IP (w przetwarzaniu)
  5. W przypadku zatwierdzenia: Invoice Response ze statusem AP
  6. Po zapłacie: Invoice Response ze statusem PD

Nie jest konieczne wysyłanie każdego statusu pośredniego. Zwyczajowo wysyła się przynajmniej AB (potwierdzenie odbioru) i AP lub RE (ocena końcowa).

Powiadomienie webhook po wysłaniu response

Po wysłaniu Invoice Response otrzymują Państwo zdarzenie webhook InvoiceResponseSent jako potwierdzenie pomyślnego dostarczenia wiadomości do nadawcy.

Często zadawane pytania
Jak wysłać Invoice Response i jaki format żądania zastosować?

Należy wysłać JSON do POST /api/v1/{partyId}/purchaseInvoice/{documentId}/response zawierający m.in. status (na przykład AB, AP, RE), clarificationCode i actionCode, a także opcjonalną note. PSB buduje z tych danych wiadomość Peppol BIS Invoice Response 3.0 i dostarcza ją przez Peppol do nadawcy.

Jakie ustawienie Peppol jest potrzebne do wysyłania komunikatów statusu?

Organizacja musi być zarejestrowana w SMP z capability dla Invoice Response. Należy sprawdzić GET /api/v1/peppol/config i w razie potrzeby ustawić invoiceResponse.state na on przez PUT /api/v1/peppol/config. Bez aktywnej capability Access Point kontrahenta nie może prawidłowo dostarczyć odpowiedzi.

Czy muszę wysyłać wszystkie statusy pośrednie (AB, IP, AP itd.)?

Nie, to nie jest obowiązkowe. Powszechne podejście to wysłanie co najmniej potwierdzenia odbioru (AB) i ostatecznej decyzji (AP, PD lub RE). W przypadku odrzucenia (RE) kody Reason i Action są istotne, aby poinformować nadawcę o problemie i oczekiwanym następnym kroku.


Pełna specyfikacja Peppol BIS Invoice Response 3.0 jest dostępna na docs.peppol.eu. Endpointy PSB i modele odpowiedzi dostępne są na psb.econnect.eu.

Zobacz endpointy response