ValidateFin
Powrót do bloga
SEPA8 min czytaniaAutor: Eliel Nicaise

pain.001 vs pain.008 — Polecenie przelewu SEPA a polecenie zapłaty — wyjaśnienie

Zrozum kluczowe różnice między formatami XML SEPA pain.001 (polecenie przelewu) i pain.008 (polecenie zapłaty), kiedy używać każdego z nich i jak działają.

Dwa formaty, dwa przepływy płatności

SEPA używa dwóch podstawowych typów komunikatów ISO 20022 do inicjowania płatności: pain.001 (CustomerCreditTransferInitiation) do wysyłania pieniędzy do beneficjenta i pain.008 (CustomerDirectDebitInitiation) do pobierania pieniędzy od dłużnika. Pomimo tej samej podstawy XML, służą fundamentalnie różnym celom biznesowym.

Wybór niewłaściwego formatu lub pomylenie pól jest częstą przyczyną niepowodzeń płatności. Ten przewodnik wyjaśnia różnice strukturalne, przypadki użycia biznesowego i reguły walidacji dla każdego formatu.

Oba formaty są regulowane przez regulaminy EPC i przestrzegają standardu ISO 20022. ValidateFin waliduje oba typy.

Tabela porównawcza

Kluczowe różnice między pain.001 i pain.008 na pierwszy rzut oka:

Aspektpain.001 (Polecenie przelewu)pain.008 (Polecenie zapłaty)
KierunekPush — dłużnik wysyła pieniądze do wierzycielaPull — wierzyciel pobiera pieniądze od dłużnika
Przypadek użyciaPłatności dla dostawców, przelewy wynagrodzenia, jednorazowe płatnościPowtarzające się windykacje: subskrypcje, media, składki ubezpieczeniowe
InicjatorPłatnik (dłużnik)Beneficjent (wierzyciel)
Wymagane upoważnienieNieTak — wymagane upoważnienie SEPA do polecenia zapłaty z MandateId
Główny element XMLCdtTrfTxInfDrctDbtTxInf
ID wierzycielaNie wymaganyWymagany (CdtrSchmeId)
Kluczowa dataReqdExctnDt (data realizacji)ReqdColltnDt (data windykacji)
PodtypyBrakCORE (konsumenci), B2B (firmy)

pain.001 szczegółowo: polecenie przelewu SEPA

Użyj pain.001 (Polecenie przelewu) gdy:

pain.001 (CustomerCreditTransferInitiation) jest najczęściej używanym komunikatem SEPA. Używany gdy firma lub osoba prywatna wysyła pieniądze ze swojego konta na konto innej osoby.

Typowe przypadki użycia: przetwarzanie listy płac, płatności dla dostawców, przelewy podatkowe, zwroty. Płatnik (dłużnik) inicjuje plik ze swojego systemu bankowego lub ERP.

Kluczowy element: <CdtTrfTxInf> (CreditTransferTransactionInformation) zawiera jedną transakcję na beneficjenta. W przypadku płatności wsadowych wiele elementów CdtTrfTxInf można zgrupować pod jednym blokiem PmtInf.

pain.008 szczegółowo: polecenie zapłaty SEPA

Użyj pain.008 (Polecenie zapłaty) gdy:

pain.008 (CustomerDirectDebitInitiation) umożliwia wierzycielowi pobieranie środków z kont dłużników. Ta inicjacja wymaga wcześniej podpisanego i upoważnionego przez dłużnika upoważnienia do polecenia zapłaty.

Typowe przypadki użycia: miesięczne subskrypcje, rachunki za media, składki ubezpieczeniowe, płatności czynszowe. Wierzyciel inicjuje plik z referencjami upoważnień dla każdej transakcji.

pain.008 ma dwa warianty: SDD Core (dla kont konsumenckich) i SDD B2B (tylko dla kont firmowych, z krótszymi terminami zwrotu).

Typowe nieporozumienia i błędy

ValidateFin waliduje zarówno pliki pain.001, jak i pain.008. Prześlij swój plik SEPA XML i uzyskaj natychmiastową informację zwrotną dotyczącą zgodności ze schematem, pól obowiązkowych, walidacji IBAN i reguł biznesowych. Żaden plik nie jest przesyłany — 100% w przeglądarce.

Otwórz walidator SEPA

Często zadawane pytania

Czy mogę użyć pain.001 do windykacji polecenia zapłaty?

Nie. pain.001 jest przeznaczony wyłącznie do poleceń przelewu (płatności push). W przypadku poleceń zapłaty (płatności pull) musisz używać pain.008 z ważnym upoważnieniem do polecenia zapłaty.

Czy potrzebuję upoważnienia do płatności pain.001?

Nie. Polecenia przelewu (pain.001) nie wymagają upoważnienia — płatnik inicjuje płatność bezpośrednio. Upoważnienia są wymagane tylko dla poleceń zapłaty (pain.008), gdzie wierzyciel jest upoważniony do pobierania środków.

Czym jest SDD Core a SDD B2B?

SDD Core ma zastosowanie do kont konsumenckich (i kont firmowych akceptujących CORE). SDD B2B ma zastosowanie wyłącznie do kont firmowych i umożliwia krótsze terminy zwrotu. Upoważnienia CORE muszą być złożone co najmniej 5 dni roboczych przed windykacją; upoważnienia B2B 2 dni robocze.

Jak są przechowywane upoważnienia?

Upoważnienia nie są przechowywane w XML SEPA — są przechowywane osobno (w ERP lub CRM) i jedynie przywoływane w pliku pain.008. Jesteś odpowiedzialny za bezpieczne przechowywanie oryginalnych dokumentów upoważnień.

Czy dłużnik może odwołać polecenie zapłaty?

Tak. W ramach SDD Core dłużnicy mogą odwołać autoryzowane polecenie zapłaty w ciągu 8 tygodni, a nieautoryzowane w ciągu 13 miesięcy. Transakcje SDD B2B nie podlegają zwrotowi po windykacji.

Co się dzieje, gdy w pain.008 brakuje MndtId?

Bank odrzuci cały plik. MndtId jest obowiązkowym polem w pain.008, ponieważ łączy polecenie zapłaty z konkretnym upoważnieniem podpisanym przez dłużnika.

Czy pain.001 obsługuje wiele walut?

Polecenia przelewu SEPA (pain.001) oficjalnie obsługują tylko EUR. Niektóre banki oferują płatności podobne do SEPA w innych walutach za pomocą własnych rozszerzeń, ale standardowe przelewy EPC są tylko dla EUR.

Jak testować pliki pain.001/pain.008 przed ich złożeniem w banku?

ValidateFin waliduje plik bezpłatnie i całkowicie w przeglądarce — nie jest wymagane przesłanie na serwer. Sprawdza zgodność ze schematem XSD, sumy kontrolne IBAN, informacje o upoważnieniach, spójność kwot/sum i reguły dat.

Czy mogę używać pain.001 do zwrotów?

Tak. Użyj pain.001, aby odesłać pieniądze do klienta. Jest to prostsze niż odwrócenie pain.008 i nie wymaga mandatu.

Czy banki pobierają różne opłaty za pain.001 i pain.008?

Cennik różni się w zależności od banku i kraju. Ogólnie rzecz biorąc, polecenia przelewu (pain.001) są tańsze w przeliczeniu na transakcję niż polecenia zapłaty (pain.008), ponieważ SDD wymaga więcej przetwarzania (weryfikacja mandatu, obsługa zwrotów).