Reguły walidacyjne dla importowanego pliku z definicjami przelewów
Import pliku z przelewami będzie poprzedzony sprawdzeniem następujących elementów:
1) czy plik jest w formacie tekstowym
2) czy nie przekroczono maksymalnego rozmiaru ilości przelewów do zaimportowania w pliku – maksymalna ilość przelewów w pliku to 50 sztuk
3) czy każdy wiersz z definicją przelewu zawiera 15 pól
4) czy numer rachunku zleceniodawcy z definicji przelewu zgadza się z numerem rachunku znajdującym się aktualnie w kontekście
5) struktury pliku pod kątem formatu poszczególnych pól oraz ich wymagalności. Poszczególne wiersze z definicjami przelewów posiadają następującą strukturę:
Lp. | Opis pola | E/W | D/R Ogólny | Opis walidacji |
1 | Typ polecenia: 110: Polecenie przelewu |
W | 3 n F | Sprawdzenie: - wymagalności pola, - czy pole jest numeryczne, 3 znakowe o stałej długości - dopuszczalnych wartości: 110 |
2 | Data płatności: RRRRMMDD |
W | 8 d F | Sprawdzenie: - wymagalności pola, - czy pole jest numeryczne, 8 znakowe o stałej długości. - poprawności podanej daty |
3 | Kwota do zapłaty w groszach bez przecinka i separatorów |
W | 15 n V | Sprawdzenie: - wymagalności pola, - czy pole jest numeryczne, 15 znakowe o zmiennej długości |
4 |
Numer Rozliczeniowy Banku zleceniodawcy 7 cyfr + cyfra kontrolna |
W | 8 n F | Sprawdzenie: - wymagalności pola, - czy pole jest numeryczne, 8 znakowe o stałej długości. Dopuszczalne jest występowanie pustego |
5 | Niewykorzystane: wartość 0 |
E | 8 n V | Sprawdzenie: - czy pole jest numeryczne, 8 znakowe o zmiennej długości. Dopuszczalne jest występowanie pustego. |
6 |
Nr rachunku zleceniodawcy | W | 26 n F | Sprawdzenie: - wymagalności pola, - czy pole jest numeryczne, 26 znakowe o stałej długości. Pole wymagane |
7 | Nr rachunku kontrahenta | W | 26 n F | Sprawdzenie: - wymagalności pola, - czy pole jest alfanumeryczne, 26 znakowe o stałej długości. Pole wymagane |
8 |
Nazwa i adres zleceniodawcy Poszczególne wiersze oddzielone od siebie symbolem "|" |
W | 4*35 a V | Sprawdzenie: - wymagalności pola, - czy pole jest alfanumeryczne, 4*35 znakowe o zmiennej długości. - zakres znaków ELIXIR Pole będzie ignorowane. Dane zleceniodawcy będą podstawiane na podstawie danych zarejestrowanych w systemie finansowym mBanku |
9 | Nazwa i adres kontrahenta Poszczególne wiersze oddzielone od siebie symbolem "|" |
W | 4*35 a V | Sprawdzenie: - wymagalności pola, - czy pole jest alfanumeryczne, 4*35 - zakres znaków ELIXIR znakowe o zmiennej długości |
10 |
Niewykorzystane; wartość 0 | E | 8 n V | Sprawdzenie: - czy pole jest numeryczne, 8 znakowe o zmiennej długości. Dopuszczalne jest występowanie pustego |
11 | Numer Rozliczeniowy Banku kontrahenta 7 cyfr + cyfra kontrolna |
W | 8 n V | Sprawdzenie: - wymagalności pola, - czy pole jest numeryczne, 8 znakowe o zmiennej długości. Dopuszczalne jest występowanie pustego |
12 |
Szczegóły płatności Poszczególne wiersze oddzielone od siebie symbolem "|" |
E | 4*35 an | Sprawdzenie: - czy pole jest alfanumeryczne, 4*35 znakowe o zmiennej długości. - zakres znaków ELIXIR - dopuszczalne pole puste |
13 | Pola puste - puste cudzysłowy | W | 2* a F | Sprawdzenie: - wymagalności pola, - czy pole jest alfanumeryczne, 2 znakowe o stałej długości. Dwa pola puste ””,”” |
14 |
Klasyfikacja polecenia "51" lub "71" dla pola Typ polecenia = 110 |
W | 2 a F | Sprawdzenie: - wymagalności pola, - czy pole jest alfanumeryczne, 2 znakowe o stałej długości. - dopuszczalne wartości: 51 |
15 | Informacje międzybankowe (nie przesyłane do kontrahenta) |
6*35 an | Sprawdzenie: - czy pole jest alfanumeryczne, 6*35 znakowe o zmiennej długości. - zakres znaków ELIXIR Dopuszczalne jest występowanie pustego pola. W przypadku gdy pola nie będą puste, dane w nich zawarte będą ignorowane przy imporcie |
Opis kolumn w tabelach
E / W = Występowanie pól
W = Wymagane
E = Ewentualne
D / R = Długość i rodzaj pola
n = numeryczne 0 - 9
a = alfanumeryczne; zapisane są w cudzysłowie " " (Hex 22)
Poszczególne linie oddzielone są znakiem "|" (Hex 7C)
d = pole daty, format: RRRRMMDD
F = pole stałej długości (fixed)
V = pole zmiennej długości (variable)
Informacje dodatkowe
Możliwe do uzyskania błędy:
- plik ma nieprawidłową strukturę (nie jest tekstowy, lub nie w formacie CSV)
- zbyt duża ilość przelewów w paczce. Maksymalna ilość przelewów w pliku to 50 sztuk
- przelew nr X jest nieprawidłowy
- nr rachunku zleceniodawcy nie jest rachunkiem aktualnie wybranym do kontekstu
Pamiętaj, że:
- pole numer 6 – Nr rachunku zleceniodawcy - musi być numerem rachunku mBiznes konto, który posiadamy
- pole numer 2 – Data płatności - nie może być starsza od aktualnej daty (musi być większa bądź równa dacie bieżącej)
- plik nie może zawierać nagłówka ani stopki
- każde polecenie zaczyna się symbolem rodzaju (np. 110 = Polecenie przelewu)
- poszczególne pola wewnątrz zlecenia rozdzielone są przecinkiem ( , )
- jeśli jakieś pole składa się z kilku podpól, to poszczególne podpola są oddzielone kreską "|" (Hex 7C)
- pola tekstowe zawsze znajdują się w cudzysłowach (" ")
- obsługiwane rodzaje strony kodowej pliku to UTF-8, CP852 i WIN 1250
- jeden plik może zawierać maksymalnie dane 50 przelewów
Przykład rekordu zawierającego przelew krajowy zwykły został umieszczony w plikach csv zapisanych przy pomocy kodowania UTF-8, WIN1250 i CP852.
W powyższym przykładzie oprócz wprowadzenia odpowiednich zmian w polach 6 oraz 2 (numer rachunku zleceniodawcy - który musi być numerem rachunku mBiznes konto który posiadamy, oraz data płatności) warto również zmodyfikować kwotę (pole numer 3), nr rachunku kontrahenta (pole numer 7) i numer rozliczeniowy banku kontrahenta (pole 11).
Rekomendujemy, aby zmian w plikach csv dokonywać przy pomocy notatnika (Notepad) systemu Windows XP, który standardowo zapisuje pliki w formacie WIN1250, lub po wybraniu opcij "Zapisz jako...", "Kodowanie" w systemie UTF-8.