Zasugerowano, aby ten artykuł zintegrować z artykułem Bank Zachodni WBK.
Ten artykuł wymaga dopracowania zgodnie z zaleceniami edycyjnymi.
Należy w nim poprawić/wykonać działania: artykuł należy skrócić, w tej chwili wygląda jak NPA z podręcznika użytkownika i zawiera bardzo wiele całkowicie zbędnych informacji technicznych.
Po wyeliminowaniu niedoskonałości prosimy usunąć szablon {{Dopracować}} z kodu tego artykułu.
Plik:Minibank24 karta.jpg
Karta procesorowa Minibank24
Minibank24 - system bankowości elektronicznej przeznaczony dla średnich i dużych firm współpracujących z Bankiem Zachodnim WBK.
Minibank24 umożliwia zdalne dokonywanie operacji bankowych oraz dostęp do informacji o rachunkach i usługach oferowanych przez bank. Udostępnia mechanizmy prezentacji i analizy danych oraz współdziałanie z aplikacjami zewnętrznymi (np. systemami finansowo-księgowymi).
Spis treści
//
Opis techniczny
Minibank24 jest systemem przeznaczonym do elektronicznego porozumiewania się klienta z bankiem za pośrednictwem Internetu (protokół SSL). Aplikacja działa tylko pod systemami Microsoft Windows w oparciu o lokalną bazę Microsoft SQL 2000 a od wersji 6.1 - bazę Microsoft SQL 2005.
W skład instalacji klienckiej wchodzi kilka elementów:
- aplikacja klienta - odpowiedzialna za część prezentacyjną i transakcyjną aplikacji
- aplikacja administracyjna - zarządzanie użytkownikami i uprawnieniami
- aplikacja narzędziowa - kopie bazy, zrzuty tabel
- aplikacja archiwizująca - automatyczny backup bazy
- lokalna baza Microsoft SQL 2000 lub 2005
- czytnik kart procesorowych + sterowniki + karty procesorowe
- minikonwerter - dodatkowe narzędzie umożliwiające konwersję z formatów klienta do formatu zgodnego z Minibank24 (umożliwia stworzenie schematu konwersji danych) celem importu pliku operacji z aplikacji finansowo-księgowej klienta.
Instalacja środowiska klienta może zostać zrealizowana na pojedynczej stacji pc oraz w ramach lokalnej sieci klienta. W przypadku instalacji sieciowej, baza instalowana jest na jednej stacji (lub serwerze), a dostęp do niej realizowany jest z pozostałych stanowisk pc, na których musi zostać zainstalowana aplikacja klienta Minibank24.
Bezpieczeństwo
Kryptografia zrealizowana została przy wykorzystaniu niekwalifikowanego podpisu elektronicznego z kluczem prywatnym (wydawanym przez Bank Zachodni WBK) przechowywanym na karcie procesorowej - pierwsze tego typu rozwiązanie na polskim rynku . Każdy użytkownik łączący się z bankiem lub podpisujący operację musi posiadać chronioną PINem kartę procesorową.
Uprawnienia definiują dostęp do poszczególnych opcji aplikacji, typów transakcji, rachunków, limity kwotowe oraz macierz podpisów (podpisy jedno- lub dwuosobowe).
Historia
Pierwsza instalacja została uruchomiona w lipcu 2001 roku. System Minibank24 zastąpił wcześniejszą aplikację Minibank, która działała od 1994 w Wielkopolskim Banku Kredytowym S.A. Aplikacja Minibank była napisana w języku FoxPro, działała pod Microsoft Windows 3.11 w oparciu o bazę danych dBase. Aplikacja pozwalała klientowi na podgląd oraz dokonywanie operacji na rachunkach firmy w pojedynczym oddziale banku. Szyfrowanie komunikacji z bankiem oparte było na kluczu symetrycznym DES przechowywanym w sprzętowym urządzeniu HASP wpiętym do portu równoległego.
Typy operacji
- operacje krajowe
- operacje płacowe
- przelewy na ZUS
- przelewy na Urząd Skarbowy (US)
- polecenie zapłaty
- kredyty uruchomienie (rewolwing) i spłata
- uruchomienie i likwidacja lokaty
- operacje zagraniczne (SWIFT)
- sprzedaż i kupno walut
- wnioski
Operacje realizowane są w trybie ELIXIR lub SORBNET (wszystkie powyżej miliona złotych lub na życzenie klienta również na mniejsze kwoty).
Aplikacja klienta Minibank24 umożliwia “ręczną” rejestrację operacji z front-end’u lub ich import (eksport) z aplikacji zewnętrznych (gotowe transakcje przygotowane wcześniej np. w systemie finansowo-księgowym klienta). System umożliwia również wymianę informacji dotyczących historii rachunku, wyciągu oraz danych słownikowych.
Formaty plików
Do wymiany danych z innymi zewnętrznymi aplikacjami służą następujące formaty plików:
typ danych
kierunek
formaty
operacje krajowe złotowe, płacowe, US, ZUS, polecenie zapłaty
eksport/import
UNL, UNI, UNZ, DBF, Eliksir-O
operacje zagraniczne (SWIFT)
eksport/import
import
UNZ
MT103
historia rachunku
eksport
UNL, MT940, OFX
wyciąg
eksport
MT940
kontrahenci
eksport/import
UNL
Operacje
UNL i DBF
struktura plików dla operacji krajowych, płacowych, US i ZUS
Nazwa pola
Typ i rozmiar pola
Opis
KOD
N(10)
Numer paczki operacji
POZ
N(3)
Numer operacji
NR_ODDZ_W
C(10)
Numer oddziału strony WN
NR_RACH_W
C(12)
Numer rachunku strony WN
NR_KONTA_W
C(12)
Numer konta strony WN
NR_SUBK_W
C(12)
Numer subkonta strony WN
NR_SUBK_PW
C(12)
Numer subkonta podstawowego strony WN
NR_ODDZ_M
C(10)
Numer oddziału strony MA
NR_RACH_M
C(12)
Numer rachunku strony MA
NR_KONTA_M
C(12)
Numer konta strony MA
NR_SUBK_M
C(12)
Numer subkonta strony MA
NR_SUBK_PM
C(12)
Numer subkonta podstawowego strony MA
TYTUL
C(140)
Tytuł operacji
KWOTA
N(20,2)
Kwota przelewu
KOD_WALUTY
C(3)
Kod waluty
KLIENT_M
C(140)
Dane adresowe posiadacza rachunku strony MA
SUMA_K
N(10)
Suma kontrolna
UNL i DBF dla PZ
Struktura plików dla operacji polecenia zapłaty
Nazwa pola
Typ i rozmiar pola
Opis
KOD
N(10)
Numer paczki operacji
POZ
N(3)
Numer operacji
NR_ODDZ_W
C(10)
Numer oddziału strony WN
NR_RACH_W
C(12)
Numer rachunku strony WN
NR_KONTA_W
C(12)
Numer konta strony WN
NR_SUBK_W
C(12)
Numer subkonta strony WN
NR_SUBK_PW
C(12)
Numer subkonta podstawowego strony WN
NR_ODDZ_M
C(10)
Numer oddziału strony MA
NR_RACH_M
C(12)
Numer rachunku strony MA
NR_KONTA_M
C(12)
Numer konta strony
MA NR_SUBK_M
C(12)
Numer subkonta strony MA
NR_SUBK_PM
C(12)
Numer subkonta podstawowego strony MA
TYTUL
C(140)
Tytuł operacji
KWOTA
N(20,2)
Kwota przelewu
KOD_WALUTY
C(3)
Kod waluty
KLIENT_M
C(140)
Dane adresowe posiadacza rachunku strony MA
ID_PLATN
C(20)
Identyfikator płatności
SUMA_K
N(10)
Suma kontrolna
UNI
Struktura plików dla wszystkich typów operacji (oprócz operacji SWIFT)
Nazwa pola z
Typ i rozmiar pola
Opis
NR_PACZKI
N
Numer paczki operacji
NR_OPERACJI
N
Numer operacji
NR_ODDZIALU_WN
C(8)
Numer oddziału strony WN
NR_RACHUNKU_WN
C(54)
Numer rachunku strony WN
NR_ODDZIALU_MA
C(8)
Numer oddziału strony MA
NR_RACHUNKU_MA
C(54)
Numer rachunku strony
MA NAZWA_BANKU_MA
C(263)
Nazwa banku MA – dla operacji SWIFT (nr_banku + nazwa_banku + adres + kraj)
TYTUL
C(140)
Tytuł operacji
KWOTA
N
Kwota przelewu
KOD_WALUTY
C(3)
Kod waluty
DANE_KLIENTA
C(140)
Dane adresowe klienta (strona MA)
INSTRUKCJA I NR_TABELI_KURS.
C(290)
dla operacji SWIFT (instrukcja + nr tabeli kursowej)
ID_PLATN
C(20)
Identyfikator płatności – dla polecenia zapłaty
ATRYBUTY
C(10)
Typ transferu
KOD_TYPU_OPER
N
Kod typu operacji
DATA_WYK
C(10)
Data wykonania operacji
PUSTE_POLE
C(8)
Zarezerwowane dla przyszłych zastosowań
SUMA_K
N(10)
Suma kontrolna
UNZ
Struktura plików dla wszystkich typów operacji
Nazwa pola
Typ i rozmiar pola
Opis
NR_PACZKI
N
Numer paczki operacji
NR_OPERACJI
N
Numer operacji
NR_ODDZIALU_WN
C(8)
Numer oddziału strony WN
NR_RACHUNKU_WN
C(54)
Numer rachunku strony WN
NR_ODDZIALU_MA
C(8)
Numer oddziału strony MA
NR_RACHUNKU_MA
C(54)
Numer rachunku strony MA
NAZWA_BANKU_MA
C(263)
Nazwa banku MA – dla operacji SWIFT
(nr_banku + nazwa_banku + adres + kraj)
TYTUL
C(140)
Tytuł operacji
KWOTA
N(19,2)
Kwota przelewu
KOD_WALUTY
C(3)
Kod waluty
DANE_KLIENTA
C(140)
Dane adresowe klienta (strona MA)
INSTRUKCJA I NUMER TABELI
C(290)
dla operacji SWIFT (instrukcja + nr tabeli kursowej)
ID_PLATN
C(20)
Identyfikator płatności – dla polecenia zapłaty
ATRYBUTY
C(10)
Typ transferu
KOD_TYPU_OPER
N(3)
Kod typu operacji
DATA_WYK
C(10)
Data wykonania operacji. Format RRRR-MM-DD
ATRYBUTY_NEG
C(256)
Dodatkowe atrybuty operacji SWIFT (opis pola – poniżej); typ_transakcji (1 znak) + tryb_realizacji (1 znak) + stałe_tytuły (1 znak) + nr_transakcji (16 znaków) + kurs_wynegocjowany (15 znaków) + przyczyna_niedostarczenia_dokumentow (105 znaków)
KOSZTY
C(256)
Informacje o kosztach przelewu (opis pola – poniżej); kto_koszty + nr_iban_koszty + kod_waluty_koszty
REFERENCJA
C(16)
Informacje o referencjach własnych
PUSTE POLE_1
C(256)
Zarezerwowane dla przyszłych zastosowań
PUSTE POLE_2
C(256)
Zarezerwowane dla przyszłych zastosowań
PUSTE POLE_3
C(256)
Zarezerwowane dla przyszłych zastosowań
SUMA_K
N(10)
Suma kontrolna
Opis pól
dedykowanych dla operacji SWIFT:
Pole: Nazwa banku (NAZWA_BANKU_MA)
Lp
Opis
1
LP banku – numer banku (wymagane)
2
BIC banku – kod SWIFT (wymagane jeśli istnieje)
3
Nazwa banku (wymagane)
4
Miasto banku (wymagane)
5
Kraj banku (wymagane)
6
Numer oddziału (wymagane jeśli istnieje)
7
Adres banku (wymagane)
8
Nazwa oddziału banku (wymagane jeśli istnieje)
Pole: Instrukcja i nr. tabeli
Lp
Opis
1
Kwota ma (nie używane przy imporcie)
2
Kwota (nie używane przy imporcie)
3
Kod waluty MA
4
Opcje
5
Instrukcja - (pole tekstowe dotyczące płatności)
6
Numer tabeli kursowej (nie używane przy imporcie)
Pole: Atrybuty negocjowane (ATRYBUTY_NEG)
Separatorem poszczególnych części pola jest znak o kodzie ASCII 254
Lp
Opis
1
typ_transakcji (pole wymagane dla operacji SWIFT) – obecnie używane wartości:
0 – transakcja standardowa (wartość domyślna)
1 – transakcja negocjowana
3 – transakcja limitowa z negocjacją
2
tryb_realizacji (pole wymagane dla operacji SWIFT) – obecnie używane wartości:
0 – zwykła (wartość domyślna)
1 – pilna
2 – ekspresowa
3
stałe_tytuły (pole wymagane dla operacji SWIFT) – wartości:
1 – zapłata za towar sprowadzony z zagranicy
2 – zapłata za usługę wykonywaną za granicą
3 – zapłata czynszu za używanie nieruchmości za granicą
4 – wynagrodzenie za pracę nierezydenta wykonywaną za granicą
5 – składka członkowska
4
nr_transakcji char(16) (pole wymagane dla transakcji SWIFT negocjowanych oraz negocjowanych z limitem)
5
kurs_wynegocjowany numeric(10,4) (pole wymagane dla transakcji SWIFT negocjowanych oraz negocjowanych z limitem)
6
przyczyna_niedostarczenia_dokumentow char(105) (pole wymagane dla operacji SWIFT)
Pole: Koszty (KOSZTY)
Separatorem poszczególnych części pola jest znak o kodzie ASCII 254
Lp
Opis
1
kto_koszty (pole wymagane dla operacji SWIFT) obecnie używane wartości:
1 – BEN (odbiorca/odbiorca)
2 – OUR (nadawca/nadawca)
3 – SHA (nadawca/odbiorca)
2
nr_iban_koszty varchar(70), jeśli pole będzie puste lub importowany będzie rachunek, którego nie ma w lokalnej bazie danych – podstawiony zostanie rachunek WN
3
kod_waluty_koszty char(3), jeśli w polu podany zostanie błędny kod waluty – podstawiony zostanie kod waluty rachunku (pobrany z lokalnej bazy danych)
Separatorem w ramach pól jest znak o kodzie ASCII 254.
Pola 1,2,6 z „Instrukcja i nr. tabeli” nie są używane podczas importu ponieważ kwoty przeliczane są wg aktualnej tabeli kursowej lub kursu negocjowanego.
Tytuł importowanej operacji złożony będzie z 2 części. Pierwsza część – tytuł stały – zdefiniowany w polu: atrybuty_neg. Druga część zdefiniowana w polu „tytuł”. Obie części łączone będą wg schematu: część pierwsza + przecinek + spacja + część druga (dopełnienie do 140 znaków).
Typy operacji (kod operacji)
- operacja płacowa (1)
- operacja krajowa (2)
- operacja ZUS (3)
- polecenie zapłaty (4)
- uruchomienie kredytu (5)
- spłata kredytu (6)
- likwidacja lokaty (7)
- ustanowienie lokaty - stand. param. (9)
- operacja SWIFT (10)
- sprzedaż waluty - stand. param. (11)
- kupno waluty - stand. param. (12)
- operacja płacowa (13)
- operacja krajowa (14)
- polecenie zapłaty (15)
- operacja US (16)
- operacje US (17)
- przelew z dyskietki (102)
Typ transferu
- 0 przelew wewnętrzny
- 1 elixir
- 2 tani przelew (typ nieobsługiwany obecnie w banku – zostanie automatycznie zamieniony w trakcie importu na elixir)
- 3 sybir
- 4 swift
- 5 elixir – ZUS
- 6 sorbnet
- 7 elixir - US
Separatorem pól jest , (przecinek). Dodatkowo pola tekstowe objęte są znakami |
Puste pola tekstowe nie muszą być wypełniane spacjami do określonego rozmiaru pola.
Przykład:
1,2,|Wpłata na konto|,3,|Józef Wiśniewski|,4,5,||,||,6,7
Separatorem między wierszami (rekordami) są: znak końca linii i znak powrotu karetki.
Algorytm obliczania sumy kontrolnej
- Suma obliczana jest w wierszach, na podstawie zawartości poszczególnych pól czyli bez uwzględniania separatorów pól, ich ograniczników, znaków przejścia do nowej linii itp. Poniższe operacje należy wykonać dla każdego wiersza (rekordu):
- Zmienić typy danych przechowywanych w poszczególnych polach na znakowy.
- Obliczyć dla każdego pola sumę pośrednią, dodając wartości liczbowe kodów ASCII wszystkich znaków zapisanych w polu.
- Przydzielić wagi kolejnym polom od 1 do n (od lewej do prawej).
- Dla każdego pola przeliczyć sumę pośrednią z uwzględnieniem przydzielonych uprzednio wag wg wzoru: suma_k_tmp=suma_k_tmp*(2**waga).
- Zapis 2**waga oznacza cyfrę 2 podniesioną do potęgi wagi danego pola.
- Dodać sumy pośrednie dla wszystkich pól rekordu tworząc suma_k_tot.
- Jeśli suma łączna jest większa od 9999999999, to należy wykonać jest dzielenie przez 10, tak długo aż będzie spełniony warunek suma_k_tot≤9999999999
- Zaokrąglić sumę suma_k_tot, obcinając część ułamkową.
- Wpisać obliczoną sumę kontrolną do pola suma_k.
UWAGA! Kwotę operacji przed wyliczeniem sumy kontrolnej należy zaokrąglić zgodnie z regułami matematycznymi. Przy obliczaniu sumy kontrolnej dla każdego pola tekstowego, nie należy uwzględniać początkowych i końcowych spacji.
Eliksir-O
struktura importowanego/eksportowanego pliku operacji
Lp.
Etykieta
Nazwa pola
Opis
Rozmiar
Wymagane
01
Typ komunikatu
N(3)
N
02
31
Data obciążenia/uznania rachunku RRRRMMDD
D
N
03
32
Kwota
Bez separatora miejsca dziesiętnego Np. kwotę 123,23 zapisujemy 12323
N(15)
T
04
Numer oddziału nadawcy
N(8)
T
05
Numer oddziału odbiorcy
N(8)
T
06
50 pp.1
Rachunek klienta nadawcy
C(34)
T
07
59 pp.1
Rachunek klienta adresata
C(34)
T
08
50 pp.2
Nazwa klienta nadawcy
4*C(35)
T
09
59 pp.2
Nazwa klienta adresata
4*C(35)
N
10
52
Numer oddziału uczestnika pośredniego
N(8)
N
11
58
Numer oddziału finalny adresat
N(8)
N
12
70
Tytuł operacji lub dla operacji ZUS informacje dodatkowe o składce
Opis transakcji lub
Linia 1 NIP Płatnika
Linia 2 Typ
Identyfik. Uzupełniający
Linia 3 Typ wpłaty
Deklaracja (RRRRMM)
Nr. Deklaracji
4*C(35)
N(10)
C(1)
C(14)
C(1)
N(6)
N(2)
T
13
71
Numer czeku
C(10)
N
14
77
Szczegóły reklamacji
4*C(35)
N
15
21
Dodatkowa identyfikacja spraw
Kod dokumentu dod. ident.spraw
N(2)
C(32)
N
16
72
Informacje międzybankowe
6*C(35)
N
17
80 pp.1
Dowolny tekst
C(35)
N
MT103
struktura plików dla importu operacji SWIFT
opis pól nagłówka
Numer / Nazwa pola
Pole wymagane (W)/ Pole opcjonalne (O)
Format
Opis
:01: DATA UTWORZENIA PLIKU
W
12!d
Data i godzina utworzenia pliku, format daty YYYYMMDDGGMM
:02: NAZWA PLIKU
W
20x
Nazwa, pod którą plik przechowywany jest na dysku twardym
:03: LICZBA POLECEŃ
W
5n
Liczba poleceń przelewu w pliku
:04: KWOTA ŁĄCZNA
W
17n
Suma kontrolna – suma kwot wszystkich przelewów z pola :32A:
:05: BANK STRONY ZLECAJĄCEJ
O
11a
Kod SWIFT banku płatnika. W przypadku BZ WBK S.A. jest to WBKPPLPPXXX
:06: STRONA ZLECAJĄCA
O
4*35x
Nazwa i adres strony zlecającej
opis pól transakcji
Numer / Nazwa pola
Pole wymagane (W)/ Pole opcjonalne (O)
Format
Opis
:32A: OPIS PŁATNOŚCI
PODPOLE 1: DATA WALUTY
PODPOLE 2: WALUTA
PODPOLE 3: KWOTA
W
W
W
6!n
3!a
15d
Data w formacie YYMMDD
Kod waluty (symbol w standardzie ISO)
Kwota z przecinkiem (,) jako znak dziesiętny
:33B:
PODPOLE 1: KWOTA ZLECENIODAWCY
PODPOLE 2: WALUTA ZLECENIODAWCY
O
O
15d
3!a
Kwota z przecinkiem (,) jako znak dziesiętny
Kod waluty (symbol w standardzie ISO)
:50K:
PODPOLE 1: RACHUNEK STRONY ZLECAJĄCEJ
PODPOLE 2: NAZWA I ADRES STRONY ZLECAJĄCEJ
W
W
4*35x
Numer rachunku strony zlecającej (po „/”)
Nazwa i adres strony zlecającej
:57D:
NUMER ROZLICZENIOWY ODDZIAŁU BANKU (O ILE JEST DOSTĘPNY)
KOD SWIFT (O ILE JEST DOSTĘPNY)
NAZWA BANKU BENEFICJENTA (2 LINIE)
ADRES BANKU BENEFICJENTA (2 LINIE)
O
W
4*35 x
Numer rachunku oddziału Banku beneficjenta (o ile jest dostępny)
Nazwa i adres banku beneficjenta - (nazwa banku, miasto i kraj – dane obowiązkowe)
:59: BENEFICJENT
PODPOLE 1: NR RACHUNKU BENEFICJENTA
PODPOLE 2: ADRES BENEFICJENTA
W
W
4*35x
Numer rachunku beneficjenta (po „/”)
Adres beneficjenta
:70: SZCZEGÓŁY PŁATNOŚCI
O
4*35x
Tytuł płatności
:71A: OPŁATY
W
3!a
Kto ponosi koszty (BEN, SHA, OUR)
Format MT103 należy do rodziny formatów MT. Podobnie jak wszystkie formaty z tej rodziny, jest to format tekstowy (o rozszerzeniu *.mt103) o strukturze hierarchicznej (nie liniowej).
Uwaga: Format importu implementowany w aplikacji klienta jest niestandardową modyfikacją formatu MT103 zaproponowaną przez BZWBK S.A.
Legenda:
- W – pole wymagane
- O – pole opcjonalne
- a - znak nienumeryczny
- n - znak numeryczny
- x – dowolny znak
- liczba z „!” – wymagana długość pola
- liczba bez „!” – dopuszczalna długość pola
Wyciąg i historia rachunku
UNL dla historii
struktura eksportowanego zbioru z historią rachunku
Pole
Typ
Maksymalna liczba znaków
Opis
Kod_oper
Integer (4 bajty)
9
Kod operacji - typologia z systemu bankowego
Nr_iban_wn
Char(70)
70
Pełen numer rachunku: albo numer IBAN albo długi numer – strona WN
Adres_wn
Char(140)
140
Dane adresowe strony WN
Nr_iban_wn
Char(70)
70
Pełen numer rachunku: albo numer IBAN albo długi numer – strona MA
Adres_ma
Char(140)
140
Dane adresowe strony MA
Data_oper
Date
10
Data operacji (księgowania)
Data_waluty
Date
10
Data waluty
Tytul_oper
Char(140)
140
Tytuł operacji (możliwie najdłuższy)
Kwota_oper
Decimal(14,2)
15
Kwota przelewu ze znakiem:
Kwota ujemna – dotyczy strony WN
Kwota ujemna – dotyczy strony MA
Kwota wyrażona w walucie rachunku odpowiedniej strony.
Format pliku:
- Pola oddzielane są separatorem: Tab
- Separator dziesiętny dla liczby: ‘.’
- Format daty: ‘dd-mm-yyyy’
OFX
struktura eksportowanego zbioru z historią rachunku
Tag
Opis
ORG
nazwa organizacji finansowej – parametr nazwa_banku z tabeli Parametry
FID
numer organizacji finansowej – parametr nr_banku z tabeli Parametry
DTSERVER
em_od (data początkowa, począwszy od której dane są pobierane)
CURDEF
kod_waluty z tabeli Waluty lub zmienna ofx_export_currency z tabeli Parametry (zmienna ofx_export_currency zawiera kod waluty PLZ który jest wymagany dla zachowania zgodności z aplikacją MSMoney; wartość zmiennej jest parametrem globalnym aplikacji)
BANKID(1)
nr_oddziału (maksymalnie 9 znaków)
ACCTID(1)
nr_konta (maksymalnie 22 znaki – kolejne znaki są odrzucane)
ACCTTYPE (1)
rodzaj_rachunku (SAVINGS lub CREDITLINE)
DTSTART
em_od (godzina ustawiona na 00:00:01)
DT_END
em_do (godzina ustawiona na 23:59:59)
TRNTYPE
Jeśli dla kodu danej operacji istnieje wpis w kolumnie kod_ofx w tabeli kody_mt940, zostaje wpisany jako TRNTYPE, w przeciwnym wypadku wstawiana jest wartość CREDIT (jeśli kwota > 0) lub DEBIT (jeśli kwota jest < 0)
FITID
unikalny identyfikator transakcji – składa się z klucza data_oper oraz lp
NAME
strona operacji (maks. 32 znaki) – adres_str
BANKID (2)
numer oddziału strony operacji (maks. 9 znaków)
ACCTID (2)
numer rachunku strony operacji (maks. 22 znaki, reszta jest odrzucana)
ACCTKEY
suma kontrolna numeru oddziału oraz rachunku (maks 22 znaki, obecnie 2)
BALAMT (1)
saldo rachunku po ostatniej operacji (pole saldo_operacji)
DTASOF (1)
data_oper
BALAMT (2)
saldo rachunku po ostatniej operacji (pole saldo_operacji)
DTASOF (2)
data_oper
MT940
struktura eksportowanego pliku historii rachunku i wyciągu
Pole
Status
Nazwa pola
Format
Opis
20
M
Numer referencyjny transakcji
16x
Pole zawiera datę wyciągu oraz numer oddziału.
25
M
Identyfikator rachunku
35x
Pole zawiera numer rachunku w formacie IBAN.
28C
M
Numer wyciągu/ Numer sekwencyjny
5n
Pole zawiera numer wyciągu a także numer strony wyciągu. Każda strona może mieć maksymalnie 10 operacji.
60a
M
Saldo początkowe
1!a6!n3!a15d
Saldo początkowe. „a” może przyjąć następujące oznaczenia: F oznacza pierwsze wystąpienie salda, M oznacza saldo początkowe z przeniesienia. Zawiera także znak salda (C – saldo dodatnie, D – saldo ujemne), datę a także symbol waluty.
61
O
Linia wyciągu
6!n
Zawiera datę zaksięgowania operacji, stronę operacji (C – uznanie, D – obciążenie), trzeci znak waluty, kwotę operacji, kod SWIFT a także referencje własną (znacznik NONREF oznacza brak referencji).
86
O
Informacje dla właściciela rachunku
6*65x
Zawiera dodatkowe informacje na temat drugiej strony operacji (strona uznana/obciążona w zależności od znaku operacji).
62a
M
Saldo końcowe
1!a6!n3!a15d
Znak “a” może przyjąć następujące wartości M – oznaczające że saldo jest z przeniesienia, F – oznacza ostatnie wystąpienie salda na wyciągu. Dodatkowo zawiera znak salda (C – saldo dodatnie, D – saldo ujemne), datę, symbol waluty oraz kwotę.
Uwaga: Format implementowany w aplikacji klienta jest niestandardową modyfikacją formatu MT940 zaproponowaną przez BZ WBK S.A.
Opis formatu pól 60a i 62a
Pole
Status
Format
Opis
Debet / Kredyt
M
1!a
C = kredyt (saldo kredytowe)
D = debet (saldo debetowe)
Data
M
6!n
Data księgowania w formacie YYMMDD
Waluta
M
3!a
Kod waluty ISO
Kwota
M
15d
Kwota z przecinkiem (,) jako znak dziesiętny.
Przykład dla całej linii:
:60F: :60F:C020326PLN134526,16
Opis formatu pola 61
Pole
Status
Format
Opis
Data waluty
M
6!n
Data waluty w formacie YYMMDD
Debet/Kredyt
M
1a
C = kredyt (uznanie)
D = debet (obciążenie)
3-cia litera kodu waluty
M
1!a
3-cia litera kodu waluty ISO
Np. N dla PLN
Kwota
M
15d
Kwota z przecinkiem (,) jako znak dziesiętny.
Kod transakcji
M
4!c
Kod transakcji
Np. NTRF
Referencje klienta
M
16x
Maksymalnie 16 znaków referencji własnej transakcji
(znacznik NONREF oznacza brak referencji) Np. 8327000090031789
Legenda
Status :
- O – pole opcjonalne
- M – pole wymagane
Typ pola:
- n - pole numeryczne (znaki 0-9)
- a - tylko litery
- d - liczba dziesiętna
- x - pole alfanumeryczne, znaki, spacje
- ! - stała długość pola (np. 3!n – zawsze 3 cyfry, 3a – od 1 do 3 znaków alfanumerycznych)
Długość pola:
- liczba z wykrzyknikiem oznacza wymaganą długość pola,
- liczba bez wykrzyknika - dopuszczalną długość pola,
Przykład:
1!a - oznacza pole nienumeryczne o długości 1
35x - pole zawierające dowolne znaki o maksymalnej długości 35
Modyfikacje pól
Pole 86 - W podstawowym pliku eksportu historii rachunku w formacie MT940 w polu :86: przekazywany jest niepełny (tylko 65 znaków) tytuł transakcji. Nowy format eksportu historii rachunku w formacie MT940 umieszcza w polu :86: dodatkowe informacje na temat drugiej strony operacji (strona uznana/obciążona w zależności od znaku operacji). Zmiana polega na dodaniu (zgodnie z zasadami formatu tego pola: 6 linii o długości nie większej niż 65 znaków) oprócz pełnego tytułu transakcji również informacji o kontrahencie (drugiej stronie transakcji). Każde podpole zaczyna się od odpowiedniego znacznika “>” (separator podpól), tj.:
- >20tytuł_operacji (max 140 znaków)
- >31cały_nr_rachunku_kontrahenta_w_formacie_IBAN (max 28 znaków)
- >32nazwa_i_dane_adresowe_kontrahenta (max 140 znaków)
Pole :86: składa się z 6 linii, każda po 65 znaków. W długość linii należy wliczyć również dwa znaki końca linii: <CR><LF> oraz trzy znaki znacznika podpola “>##”, gdzie ## oznacza dwucyfrowy symbol podpola. Po znaczniku podpola następuje sekwencja znaków alfanumerycznych zawierających uzupełniające informacje. Każde nowe podpole nie zaczyna się od nowej linii, co oznacza, że pole :86: stanowi jedną całość podzieloną na 6 linii po 65 znaków z podpolami rozdzielonymi “>##” oraz znakami końca linii <CR><LF>. Każda nowa linia nie rozpoczyna się od symbolu podpola “>##” - znakiem podpola jest oznaczony sam początek podpola, a reszta, w nowej linii, stanowi jego naturalną kontynuację.
Przykład:
:20:030213/10901607
:25:PL89109016070000000060005341
:28C:03015/1
:60F:C030212PLN353307,83
:61:030213DN35,00B2CGNONREF
:86:>20zapłata za fakturę vat 101/2003, 102/2003, 103/2003, 104/20
003 i faktury vat z bieżącego roku 1/2004, 2/2004, 3/2004, 4
/2004 oraz inne fak.>3198109023720000000604007566>32P.H.U. W
agonex Kołopex Poland, 61-661 Poznań, ul. Płomiennie Zielone Wzgór
za 100/21
:62F:C030213PLN353272,83
Pole 28C może przybierać 2 formaty (pole numer wyciągu):
1. RRRR/aaa/b gdzie:
- RRRR - rok
- aaa - numer kolejnego wyciągu w roku RRRR
- b - numer kolejnej sekcji wyciągu począwszy od 1
2. rraaa/b gdzie
- rr- dwie ostatnie cyfry roku z RRRR
- aaa - numer wyciągu w roku RRRR
Nazwa pliku z ekstraktem z historii rachunku formatowana jest w następujący sposób: RACHWALUTA-DATA.MT np.: 60005341PLN-20040311.MT przy czym:
- RACH - pełny numer rachunku IBAN, dla którego generowany jest eksport;
- WALUTA - rachunku jw.;
- DATA w formacie: RRRRMMDD;
- MT - rozszerzenie pliku identyfikujące typ jako ekstrakt z historii rachunku w formacie MT940.
W jednym pliku może znajdować się historia tylko jednego rachunku z jednego dnia.
Przykład:
pliku o nazwie: 60005341PLN-20040311.MT z dwiema operacjami:
{1:F01060005341 }{2:0940060005341 N}{4:
:20:040311/10901607
:25:PL89109016070000000060005341
:28C:04017/1
:60F:C040311PLN123551749,64
:61:040311DN147,85M245NONREF
:86:>20Zapłata za fakturę VAT 12345/2004. Jeszcze należy uwzględnić
inne faktury VAT które są do zapłaty z dnia 5.03.2004 i innyc
h wcześniejszych.>31PL00102030886546545654>32Jakaś firma z inne
go banku sprawdzenie dla ]31i ]32a tak┐e ]20czy zostaną te znac
zniki specjalne w adresie firmy zewnętrznej, które testuje.
:61:040311DN147,00M240NONREF
:86:>20Zapłata za fakturę VAT 12345/2004. Jeszcze należy uwzględnić
inne faktury VAT które są do zapłaty z dnia 5.03.2004 i innyc
h wcześniejszych.>31PL00102030886546545654>32Jakiś pracownik z
innego banku sprawdzenie dla ]31i ]32a także ]20czy zostaną te
znaczniki specjalne w adresie firmy zewnętrznej, którą tes.
:62F:C040311PLN123551454,79
-}
Referencje własne
Na formatce umożliwiającej rejestrowanie transakcji, znajduje się pole Referencja własna, które umożliwia wprowadzanie informacji alfanumerycznej o maksymalnej długości 16 znaków. W eksporcie MT940 referencja jest wstawiana do pola :61: po kodzie transakcji. W przypadku braku referencji własnej wstawiana jest w tym miejscu wartość NONREF, np.: :61:040305CN123,45M245NONREF. Referencja własna przekazywana jest dla operacji: krajowych, płacowych i kredytowych. Referencja własna jest obsługiwana w plikach o formacie UNZ i MT940 z eksportowanymi importowanymi operacjami w aplikacji klienta.
Eksport wyciągu
W ekstrakcie z wyciągów w formacie MT940 przekazywane są dodatkowo: 1. referencje własne (ostatnia wartość w polu :61:), wprowadzane podczas rejestracji operacji krajowych złotowych, płacowych, uruchomienia kredytu rewolwingowego. 2. w polu :28C: przekazywany jest numer wyciągu w formacie RRRR/XXX, gdzie:
- RRRR – rok,
- XXX – kolejny numer wyciągu dla rachunku w roku.
Nazwa pliku z ekstraktem z wyciągów formatowana jest w następujący sposób: IBANWALUTA_NR-WYCIAGU_DATAWYCIAGU.eMT np.: PL89109016070000000060005341PLN_2004-002_20040927.eMT przy czym:
- IBAN - pełny numer rachunku IBAN, dla którego generowany jest wyciąg;
- WALUTA - rachunku jw.;
- NR_WYCIAGU - kolejny numer wyciągu, z tym, że znak “/” z numeru zastępowany jest znakiem “-”;
- DATAWYCIAGU w formacie: RRRRMMDD;
- eMT – rozszerzenie pliku identyfikujące typ jako ekstrakt z Wyciągu w formacie MT940.
W jednym pliku może znajdować się tylko jeden pełny wyciąg z jednego rachunku.
Przykład:
pliku o nazwie: PL89109016070000000060005341PLN_2004-002_20040927.eMT z jedenastoma operacjami:
{1:F01060005341 }{2:0940060005341 N}{4:
:20:040927/10901607
:25: PL PL89109016070000000060005341
:28C:2004/002/1
:60F:D040927PLN1341285,61
:61:040927CN40000,00M401ref_kredyt
:86:>20Uruchomienie kredytu KRED.DLA PODMIOTÓW GOSP.PLN>31281090156
40000000100763461>32RENOLL SPÓŁKA AKCYJNA UL. KORFANTEGO 374 61
8-200 ŻARY LUBUSKIE
:61:040927DN2,34M245moja referencja
:86:>20kraj test>3126109015640000000056005854>32P.H.U. WAGONEX KOŁO
PEX POLAND 61-661 POZNAŃ UL.PŁOMIENNE ZIELONA WZGÓRZA 100 21
:61:040927DN165,47M420NONREF
:86:>20/TI/1DB8033444/OKR/04M01/SFP/CIT-10/TXT/mój tekst>317210101
2120059912221000000>32Drugi Śląski Urząd Skarbowy Bielsko-Biała
:61:040927DN1456,00M403NONREF
:86:>2092313914421DB8033444 A20040200ii>31831010102300002613951
00000>32Rachunek ZUS PL 83 10101023 0000261395100000
:61:040927DN10054,00M240ref_plac
:86:>20pensja 01>3126109015640000000056005854>32 P.H.U. WAGONEX K
OŁOPEX POLAND 61-661 POZNAŃ UL.PŁOMIENNE ZIELONA WZGÓRZA 100 21
:61:040927DN10,00M245NONREF
:86:>20kraj test>3126109015640000000056005854>32P.H.U. WAGONEX KOŁO
PEX POLAND 61-661 POZNAŃ UL.PŁOMIENNE ZIELONA WZGÓRZA 100 21
:61:040927DN15,00M245NONREF
:86:>20kraj test>3126109015640000000056005854>32P.H.U. WAGONEX KOŁO
PEX POLAND 61-661 POZNAŃ UL.PŁOMIENNE ZIELONA WZGÓRZA 100 21
:61:040927DN10,00M245NONREF
:86:>20kraj test>3126109015640000000056005854>32P.H.U. WAGONEX KOŁO
PEX POLAND 61-661 POZNAŃ UL.PŁOMIENNE ZIELONA WZGÓRZA 100 21
:61:040927DN18,00M245NONREF
:86:>20kraj test>3126109015640000000056005854>32P.H.U. WAGONEX KOŁO
PEX POLAND 61-661 POZNAŃ UL.PŁOMIENNE ZIELONA WZGÓRZA 100 21
:61:040927DN12,00M245NONREF
:86:>20kraj test>3126109015640000000056005854>32P.H.U. WAGONEX KOŁO
PEX POLAND 61-661 POZNAŃ UL.PŁOMIENNE ZIELONA WZGÓRZA 100 21
:62M:D040927PLN1313028,42
-}
{1:F01060005341 }{2:0940060005341 N}{4:
:20:040927/10901607
:25: PL PL89109016070000000060005341
:28C:2004/002/1
:60M:D040927PLN1313028,42
:61:040927DN33,00M245NONREF
:86:>20kraj test>3126109015640000000056005854>32P.H.U. WAGONEX KOŁO
PEX POLAND 61-661 POZNAŃ UL.PŁOMIENNE ZIELONA WZGÓRZA 100 21
:62F:D040927PLN1313061,42
-}
Słowniki
import, eksport słowników
Przy eksporcie i imporcie wykorzystywany jest ten sam format pliku. Podczas importu w pole id_kontrahenta można wpisać dowolną liczbę całkowitą. Poszczególne pola są rozdzielona znakiem tabulacji a pierwsza linia jest linią nagłówkową pól.
Kontrahenci
struktura tabeli Kontrahenci (dot. operacje krajowe, złotowe)
Nazwa pola
Typ i rozmiar pola
Opis
Id_kontrpartnera
Long
Identyfikator wewnętrzny w systemie Minbank24
Identyfikator
Char(20)
Identyfikator wprowadzony przez użytkownika
Nazwa_skrocona
Char(40)
Nazwa skrócona kontrahenta
nazwa_pelna
Char(140)
Nazwa pełna, adres
nr_iban
Char(70)
Numer rachunku w formacie IBAN
symbol_kraju
Char(2)
Symbol kraju
liczba_kontrolna
Char(2)
Liczba kontrolna rachunku
nr_oddzialu
Char(8)
Nr oddziału
nr_rachunku
Char(48)
Nr rachunku
Nip
Char(13)
NIP kontrahenta
kod_typu_kontrpartnera
Long
Kod typu kontrahenta =1
Dłużnicy
struktura tabeli Dłużnicy (operacje polecenia zapłaty)
Nazwa pola
Typ i rozmiar pola
Opis
Id_kontrpartnera
Long
Identyfikator wewnętrzny w systemie Minbank24
nazwa_skrocona
Char(40)
Nazwa skrócona dłużnika
nr_oddzialu
Char(8)
Nr oddziału
nr_rachunku
Char(48)
Nr rachunku
nazwa_pelna
Char(140)
Nazwa pełna, adres
Id_platnosci
Char(140)
Idenfyfikator płatności
Identyfikator
Char(20)
Identyfikator wprowadzony przez użytkownika
Kod_typu_kontrpartnera
Long
Kod typu kontrahenta =2
Symbol_kraju
Char(2)
Symbol kraju
Liczba_kontrolna
Char(2)
Liczba kontrolna rachunku
Nr_iban
Char(70)
Numer rachunku w formacie IBAN
Nip
Char(13)
NIP kontrahenta
Pracownicy
struktura tabeli Pracownicy (operacje płacowych)
Nazwa pola
Typ i rozmiar pola
Opis
Id_kontrpartnera
Long
Identyfikator wewnętrzny w systemie Minbank24
nazwa_skrocona
Char(40)
Nazwa skrócona pracownika
Kwota
Numeric(9)
Kwota wypłaty
Nr_listy_plac
Char(12)
Nr listy płac
Nr_oddzialu
Char(8)
Nr oddziału
Nr_rachunku
Char(48)
Nr rachunku
Nazwa_pelna
Char(140)
Nazwa pełna, adres
Kod_typu_kontrpartnera
Long
Kod typu kontrahenta =4
Symbol_kraju
Char(2)
Symbol kraju
Liczba_kontrolna
Char(2)
Liczba kontrolna rachunku
Nr_iban
Char(70)
Numer rachunku w formacie IBAN
Identyfikator
Char(20)
Identyfikator wprowadzony przez użytkownika
Beneficjenci
struktura tabeli Beneficjenci (operacje SWIFT)
Nazwa pola
Typ i rozmiar pola
Opis
Id_kontrpartnera
Long
Identyfikator wewnętrzny w systemie Minbank24
nazwa_skrocona
Char(40)
Nazwa skrócona beneficjenta
nr_rachunku
Char(48)
Numer rachunku (liczba_kontrolna+numer_oddziału+nr_rachunku)
identyfikator
Char(20)
Identyfikator wprowadzony przez użytkownika
kod_typu_kontrpartnera
Long
Kod typu kontrahenta = 3
nazwa_pelna
Char(140)
Nazwa pełna, adres
symbol_kraju
Char(2)
Symbol kraju
liczba_kontrolna
Char(2)
Pole niewykorzystywane przy imporcie
nr_oddzialu
Char(8)
Pole niewykorzystywane przy imporcie
nr_iban
Char(70)
Pole niewykorzystywane przy imporcie
lp
Long
Numer banku beneficjenta
nazwa
Char(40)
Nazwa banku beneficjenta
miasto
Char(50)
Miasto banku beneficjenta
kraj
Char(50)
Kraj banku beneficjenta
id_kontrpartnera
Long
Identyfikator wewnętrzny w systemie Minbank24 (powielenie wartości z pierwszego pola)
bic
Char(40)
BIC banku beneficjenta
adres
Char(90)
Adres banku beneficjenta
nr_oddz
Char(40)
Numer oddziału banku beneficjenta
nazwa_oddz
Char(90)
Nazwa oddziału banku beneficjenta
data_importu
Pole niewykorzystywane przy imporcie
Linki zewnętrzne