01 — Dlaczego
Ten jeden błąd, którego bank za Ciebie nie złapie
Większość błędów w pliku przelewów ktoś łapie. Uszkodzony plik zostanie odrzucony przy wczytywaniu. Suma kontrolna, która się nie zgadza, zostanie odrzucona, zanim cokolwiek się ruszy. Denerwujące, ale niegroźne.
Zapłacenie tej samej faktury dwa razy nie jest ani jednym, ani drugim. W pliku drugi przelew wygląda dokładnie jak pierwszy: poprawny IBAN, poprawna kwota, poprawna struktura. Bank nie ma powodu go odrzucić — więc go nie odrzuca. Wyjdzie to, kiedy odezwie się dostawca albo przy uzgadnianiu konta. Czy pieniądze wrócą, zależy wtedy od dobrej woli drugiej strony.
Dzieje się to całkiem niepozornie: paczka wyeksportowana dwa razy, przelew dopisany ręcznie, kiedy pierwotny był jeszcze w obiegu, obieg akceptacji, który wyprodukował dwa pliki. Właśnie dlatego nikt tego nie szuka.
02 — I kosztowna przestawiona cyfra
IBAN nosi swoją cyfrę kontrolną przy sobie
Trzeci i czwarty znak IBAN-u to suma kontrolna reszty numeru (ISO 13616, modulo 97-10). Jedna zła cyfra gdziekolwiek w numerze i rachunek przestaje się zgadzać — przestawienie cyfr da się więc złapać tutaj, offline, bez pytania kogokolwiek.
Jeśli numer jest zły i mimo to poprawny, pieniądze trafiają na prawdziwe konto, które nie należy do Twojego dostawcy. Jeśli jest zły i niepoprawny, przelew wraca po kilku dniach, a faktura po cichu stała się przeterminowana. Jedno i drugie warte jest dwóch sekund liczenia.
Co jest sprawdzane
- Cyfry kontrolne IBAN — przy własnym rachunku i przy każdym rachunku odbiorcy.
- Suma kontrolna i liczba transakcji, na poziomie pliku i każdej paczki — policzone na nowo z pozycji, a nie przyjęte na wiarę. Plik, którego nagłówek nie odpowiada zawartości, bank odrzuca w całości.
- Ten sam przelew dwa razy: ten sam IBAN odbiorcy, ta sama kwota, ten sam tytuł. Jako wskazówka, nie jako wyrok — dwie identyczne faktury od jednego dostawcy tego samego dnia się zdarzają, i tylko Ty wiesz, o który przypadek chodzi.
- Ten sam przelew co w zeszłym miesiącu. Każdy sprawdzony plik zostawia na tym komputerze odcisk, a następny jest do niego przykładany. Zapisywanych jest szesnaście znaków i data — żadnych numerów rachunków, żadnych kwot, żadnych tytułów. Plik przelewów zawiera wszystkich dostawców firmy; czegoś takiego nie trzyma się otwartym tekstem w pamięci przeglądarki.
- Powtórzone identyfikatory end-to-end, które muszą być unikalne i po których banki poznają paczkę wysłaną dwa razy.
- Znaki, których SEPA nie przenosi. Dozwolone są tylko litery, cyfry, spacja
oraz
/ - ? : ( ) . , ' +. Polskieą,łczyżw nazwie odbiorcy albo zostaną odrzucone, albo po cichu zamienione — a zamiana jest gorsza, bo pieniądze idą, a nazwa już się nie zgadza. - Kwoty ujemne, zerowe albo z więcej niż dwoma miejscami po przecinku.
- Data realizacji w przeszłości, którą każdy bank traktuje inaczej i żaden tak, jak było w zamyśle.
Świadomie nie jest sprawdzane: czy Twój bank ma dodatkowe własne wymagania — te różnią się między bankami, a zgadywanie produkuje fałszywe alarmy — ani to, czy dany przelew w ogóle powinien zostać wykonany. To decyzja człowieka, nie pliku.
Przeciągnij od razu i faktury
Wszystko powyższe sprawdza plik sam ze sobą: czy nagłówek pasuje do zawartości, czy cyfry kontrolne się zgadzają, czy coś jest w nim dwa razy. Na jedno pytanie plik sam odpowiedzieć nie może — czy to jest kwota, której żąda faktura?
Jedno zero za dużo w systemie tworzy całkowicie poprawny przelew. 12 000 i 1 200 to obie dobrze zbudowane kwoty, obie przechodzą każdą kontrolę formatu, a bank wykonuje to, co jest w pliku. Wyjdzie to przy uzgadnianiu — a wtedy pieniądze leżą już na cudzym koncie.
Dlatego przeciągnij faktury razem z plikiem przelewów. Dopasowanie idzie po
numerze faktury w tytule przelewu — tak samo robi to druga strona przy
rozliczaniu — i dopiero potem kwoty są zestawiane. Separatory nie mają znaczenia:
FV-2026/0417 i FV20260417 to ten sam numer.
Lepiej nie dopasować niż dopasować źle: numery krótsze niż pięć znaków są pomijane (trafiają w dowolny tekst), a tytuł wymieniający dwie faktury jest zostawiany w spokoju. Różne waluty są zgłaszane, a nie przeliczane — zgadywanie kursu po to, żeby zarzucić komuś błąd, nie ma sensu.
Polecenia zapłaty
Paczka poleceń zapłaty (pain.008) przechodzi przez te same kontrole, bo psuje się w niej to samo — tylko uderza w kogoś innego. Zły IBAN oznacza, że ta pozycja wróci po kilku dniach, kiedy faktura dawno jest już u klienta. A obciążenie tego samego klienta dwa razy to nie po prostu jedna kwota za dużo: to reklamacja, zwrot obciążenia, a w strefie SEPA klient może przez osiem tygodni zażądać zwrotu bez podania przyczyny. Pieniądze wracają. Opłata nie.
Dwóch rzeczy celowo nie oceniamy: danych mandatu i tego, czy rodzaj sekwencji (FRST / RCUR / FNAL) jest właściwy. Jedno i drugie zależy od tego, czy ten klient był już kiedyś obciążany, a tego w pliku nie ma. Nic nie powiedzieć jest lepiej niż zgadnąć.
Nic nie jest wysyłane
Paczka przelewów zawiera każdego dostawcę, jakiego masz, to, ile mu płacisz, i numer jego rachunku. Takiego pliku nie wkłada się w formularz na stronie. Jest czytany w przeglądarce: otwórz narzędzia programisty, zakładkę Sieć, przeciągnij plik — nie wychodzi ani jedno żądanie. Albo: załaduj stronę, odłącz sieć i przeciągnij plik mimo to. Działa dalej.
To samo dotyczy reszty tej witryny: faktury do tabeli, sprawdzenie faktury wobec EN 16931 i pełna lista reguł.