1. Opis ogólny
Formaty wyciągów
Pobieranie wyciągów. Kroki
2. Pobieranie z pliku CSV. Automatycznie
2.0 Opis ogólny
2.1 Plik CSV
2.2 Definicja struktury pliku CSV
2.3 Przebieg przetwarzania
Wstępne dopasowanie
Korekta i zapis do rejestru
3. Pobieranie z pliku CSV. Ręcznie
3.0 Opis ogólny
3.1 Plik CSV
3.2 Definicja struktury pliku CSV
3.3 Przebieg przetwarzania
4. Gdy wyciągi bankowe są w innych formatach niż CSV ?
5. Tematy powiązane
1. Opis ogólny
Wyciągi bankowe, to są informacje o obrotach i stanach środków pieniężnych
na rachunkach bankowych. Dane te otrzymuje się z banku i zapisuje w rejestrach
bankowych w systemie KB Obrót pieniężny.
Dokumenty płatności
Wyciągi bankowe mają postać elektroniczną. Mogą to być pliki tekstowe, np. CSV,
komunikaty EDI, usługi internetowe.
Formaty wyciągów
Formaty zapisów wyciągów elektronicznych przekazywane przez poszczególne banki
są zróżnicowane, podobnie jak formaty przelewów elektronicznych
pobieranych przez banki. Zróżnicowany jest także zakres informacji.
Przelewy elektroniczne. Tworzenie
Wyciągi elektroniczne otrzymywane z banków zwykle zawierają następujące informacje:
* data operacji
* numer rachunku bankowego kontrahenta, który wpłaca lub wypłaca środki
* kwota
* treść operacji
W polu: treść może być zapisany np. nr zapłaconej faktury
Z tego względu, że zakres informacji może być zróżnicowany, w programie
Trawers przyjęto, że informacje wyciągów pobierane będą z pliku CSV
w formacie definiowanym w tabeli definicji struktur CSV (tabeli mapowania).
CSV Tabela def CSVPola plików CSV
Jeżeli konkretny bank nie przysyła wyciągów w formacie plików CSV a w innym,
np. MT940, to należy konwertować otrzymany plik na format CSV.
W internecie jest wiele programów konwertujących pliki wyciągów bankowych.
Automatyczne pobieranie składa się z dwóch faz (etapów):
1. Tworzenie tabeli tymczasowej (roboczej)2. Zapisywanie w dokumencie: Rejestr bankowy
Program wczytuje rekord (linie) z pliku CSV. Odczytane znaki rozdziela na pola
wg tabeli definicji (mapowania): kontrahent, kwota, dokument rozliczany, itp.
Dane (pola) zapisuje w bazie danych programu, w tabeli tymczasowej (roboczej).
Dane w tabeli można korygować, i na koniec, zapisać w dokumencie: Rejestr bankowy.
Pobieranie wyciągów można prześledzić na konkretnym przykładzie.
* Definicja struktury pliku CSV:
AD > Tabele > Definicje plików CSV [AD_TTX10]
* Pobieranie wyciągów z pliku CSV:
KB > Rejestr bankowy > Rejestracja > Pobieranie z pliku CSV Automat [KB_DBA14]
Rachunki bankowe firmy
Symbol Nazwa Nr rachunku
-- ------------------------------ --------------------------
01 Rachunek główny firmy w PLN 00000000000000000000000001
02 Rachunek PTU (VAT) 00000000000000000000000002
Rachunki bankowe kontrahentów
System Symbol NIP Nazwa Nr rachunku
NA (odbiorca) 000001 111-111-11-11 Odbiorca 1 00000000000000000000000003
ZO (dostawca) 000002 222-222-22-22 Dostawca 2 00000000000000000000000004
2.1 Plik CSV
Plik CSV: wyciag.csv zawiera dane:
"202x-07-08"; -10.00;"Opłata za prowadzenie rachunku";"";"",""
"202x-07-08"; 123.00;"Zapłata za fakturę";"00000000000000000000000003";"111-111-11-11";"FS0001/07/19"
"202x-07-08"; -23.00;"Zapłata za fakturę";"00000000000000000000000002";"111-111-11-11";"FS0001/07/19"
"202x-07-08"; 100.00;"Przedpłata";"00000000000000000000000003";"";""
"202x-07-08"; -61.50;"Zapłata za fakturę";"00000000000000000000000003";"222-222-22-22";"202x/000123"
"202x-07-08"; 11.50;"Zapłata za fakturę";"00000000000000000000000002";"222-222-22-22";"202x/000123"
"202x-07-08";-500.00;"Przedpłata";"00000000000000000000000004";"";""
Struktura pliku: wyciag.csv :
--------------------------------------------------------------
System: KB
Tabela: 001 Wyciągi bankowe
Nr definicji: 01 Wyciąg
Nazwa pliku: ../trtres/trinout/wyciag.csv
Ogranicznik pól " Separator pól ; Kropka dziesiętna ,
Format daty RRRR-MM-DD Kodowanie UTF UTF-8 (Unicode)
--------------------------------------------------------------
--------------------------------------------
Pole Numer Typ Długość Ułamek
----------------- ----- --- ------- ------
Data 1 D 10 0
Kwota 2 N 9 2
Treść 1 3 C 35
Nr rach kontrah 4 C 43
NIP kontrah 5 C 13
Nr faktury 6 C 64
--------------------------------------------
Typ komunikatu (opcja)
NOTE: Dla potrzeb pobierania danych z wyciągów iPKO Biznes Elixir
w definicji CSV jest opcjonalne pole 'Typ komunikatu 111(uzn) / 222(obc) [TYPKOM]'
Pole określa rodzaj transakcji:
222 - obciążenie naszego rachunku [Ma]
111 - uznanie naszego rachunku [Wn]
Kwoty podawane są bez znaku +/-
Jeżeli pole [Typ komunikatu] nie występuje w pliku CSV,
to rodzaj transakcji określany jest przez znak kwoty:
kwota ujemna (-) --> obciążenie [Ma]
kwota dodatnia (+) --> uznanie [Wn]
NOTE: Program porównuje numery rachunków bankowych z/bez kodu kraju.
Program uzna jako zgodne:
PL27114020040000300201355387
27114020040000300201355387
Szukaj wg regex (opcja)
Dla potrzeb pobierania danych z wyciągów iPKO Biznes Elixir.
Gdy pobiera się przelew split payment MPP wg formatu iPKO Biznes Elixir.
W wyciągu bankowym, w pliku CSV, można wyszukać treści przelewu:
* nr NIP kontrahenta
* numer faktury
* kwota VAT
Do szukania tych treści stosuje się wyrażenia regularne (regex).
Patrz szczegóły i przykład definicji CSV:
Wyrażenia regularne (regex)
Funkcja pobiera pozycję wyciągu z pliku CSV. Wstępnie dopasowuje: (en: Bank Statement Matcher)
Plik CSV pobiera z katalogu wymiany, zwykle: /trtres/trInOut
Program wyszukuje w kartotekach rozrachunków (należności i zobowiązania) rachunki,
które mogą być rozliczone pozycjami wpłat i wypłat znajdującymi się w wyciągu bankowym.
Program wyszukuje rachunki, które mają zgodne następujące dane:
Operacja : Wpłata / Wypłata. Wg znaku: (+)(-)
Rodzaj : Rozliczająca / Do rozliczenia / Inne
Kontrahent : Odbiorca / Dostawca
Nr dokumentu: Faktura, inny dok rozliczany
Patrz dalej: sposób identyfikacji danych z wyciągu
Ustalone dane program zapisuje w tabeli, w zbiorze tymczasowym.
Korekta i zapis do rejestru
Dane w tabeli można przeglądać, korygować, i na koniec, zapisać
w dokumencie: Rejestr bankowy.
Dane w zbiorze tymczasowym
o-- Pozycje wyciągu gotowe do pobrania z pliku CSV -------------o
| |
|Poz ------- - Od/Dla -- - Kwota -- --- ---- Typ ----- Operacja |
| 1 Wypłata 10.00 PLN Inne EK-/ |
| 2 Wpłata 000001 (NA) 123.00 PLN Rozliczająca EA+/1 |
| 3 Wypłata 23.00 PLN Inne EK-/ |
| 4 Wpłata 000001 (NA) 100.00 PLN Do rozliczenia EA+/1 |
| 5 Wypłata 000002 (ZO) 61.50 PLN Rozliczająca EI-/ |
| 6 Wpłata 11.50 PLN Inne ED+/1 |
| 7 Wypłata 000002 (ZO) 500.00 PLN Do rozliczenia EI-/ |
o---------------------------------------------------------------o
| ... tu szczegóły poszczególnych pozycji ... |
| |
o---------------------------------------------------------------o
| F4-zapisz, F7-zmień, Esc |
o---------------------------------------------------------------o
Poszczególne pozycje. Sposób identyfikacji danych z wyciągu
1. (-) Wypłata Inna
Opłata za prowadzenie rachunku
2. (+) Wpłata Rozliczająca od odbiorcy
Identyfikacja wg NIP i nru faktury w NA (Split Payment)
3. (-) Wypłata Inna
Inna, mimo podania NIP i nru faktury, gdyż dotyczy rachunku firmy.
To jest przelew VAT między głównym rachunkiem a rachunkiem VAT.
4. (+) Wpłata Do rozliczenia od odbiorcy
Identyfikacja na podstawie nr rachunku
5. (-) Wypłata Rozliczająca dla dostawcy
Identyfikacja wg NIP i nru obcego faktury w ZO (Split Payment)
6. (+) Wpłata Inna
Inna, mimo podania NIP i nru faktury, gdyż dotyczy rachunku firmy.
To jest przelew VAT między głównym rachunkiem a rachunkiem VAT.
NOTE: Tworząc przelew w PKO BP podaje się osobno netto, osobno VAT
i różne nry rachunków. Dla wypłaty (-) powyższy przykład
niekoniecznie ma zastosowanie.
7. (-) Wypłata Do rozliczenia dla dostawcy
Identyfikacja wg nru rachunku
Po sprawdzeniu danych w zbiorze tymczasowym, ew. po ich poprawieniu,
dane pobrane z wyciagu można zapisać w dokumencie: Rejestr bankowy.
Patrz opis dokumentów płatności:
Dokumenty płatności
3. Pobieranie wyciągów z pliku CSV. Ręcznie
3.0 Opis ogólny
Program wczytuje rekord (linie) z pliku CSV. Odczytane znaki rozdziela na pola
wg tabeli definicji (mapowania): kontrahent, kwota, dokument rozliczany, itp.
Kolejne dane (pola) wyświetla na ekranie. Nie zapisuje w tabeli tymczasowej
(roboczej). Dane można korygować w locie (kolejne pola na ekranie).
Na koniec, pozycje można zapisać w rejestrze bankowym.
Pobieranie wyciągów najlepiej prześledzić na konkretnym przykładzie.
* Definicja struktury pliku CSV:
AD > Tabele > Definicje plików CSV [AD_TTX10]
* Pobieranie wyciągów z pliku CSV:
KB > Rejestr bankowy > Rejestracja > Pobieranie z pliku CSV Ręcznie [KB_DBA11]
Plik CSV pobiera z katalogu wymiany, zwykle: /trtres/trInOut
3.1 Plik CSV
Plik CSV: wyciag.csv zawiera dane:
------------------------------------------------------------------------
" 202x-05-22";5500,74;"PLN";"Za FA0023/05/16";"12144010260000000000000001"
" 202x-05-22";-34,50;"EUR";"Opłata FV PA3/321";"DE89370400440532013000"
-------------------------------------------------------------------------
^ ^ ^ (4) ^
| | | |
| | | o-- (5) Rachunek kontrahenta
|(1) |(2)(3) o---------------------- (4) Tytułem (Treść)
| o------------------------------------ (2) Kwota i (3) waluta
o------------------------------------------------ (1) Data operacji
Struktura pliku: wyciag.csv :
--------------------------------------------------------------
System: KB
Tabela: 001 Wyciągi bankowe
Nr definicji: 01 Wyciąg
Nazwa pliku: ../trtres/trinout/wyciag.csv
Ogranicznik pól " Separator pól ; Kropka dziesiętna ,
Format daty RRRR-MM-DD Kodowanie UTF UTF-8 (Unicode)
--------------------------------------------------------------
--------------------------------------------
Pole Numer Typ Długość Ułamek
----------------- ----- --- ------- ------
Data 1 D 10 0
Nasz nr banku 0 C 8 0
Nasz nr rachunku 0 C 34 0
Kwota 2 N 9 2
Waluta 3 C 0 0
Treść 1 4 C 35 0
Treść 2 0 C 0 0
Treść 3 0 C 0 0
Treść 4 0 C 0 0
Nr rach kontrahenta 5 C 43 0
------------------ -o- --------------------
|
o--<-- kolejność pól
Proszę zwrócić uwagę, że pola w pliku CSV ułożone są w kolejności
podanej w kolumnie: Numer tj. Data (1), Kwota (2), Waluta (3), itp.
W tej kolejności, tj. 1,2,3,4, 5, program czyta, analizuje i przetwarza
pola pliku.
Pola w strukturze: Numer = 0, nie są odczytywane
Typ komunikatu (opcja)
NOTE: Dla potrzeb pobierania danych z wyciągów iPKO Biznes Elixir
w definicji CSV jest opcjonalne pole 'Typ komunikatu 111(uzn) / 222 (obc) [TYPKOM]'
Pole określa rodzaj transakcji:
222 - obciążenie naszego rachunku [Ma]
111 - uznanie naszego rachunku [Wn]
Kwoty podawane są bez znaku +/-
Jeżeli pole [Typ komunikatu] nie występuje w pliku CSV,
to rodzaj transakcji określany jest przez znak kwoty:
kwota ujemna (-) --> obciążenie [Ma]
kwota dodatnia (+) --> uznanie [Wn]
NOTE: Program porównuje numery rachunków bankowych z/bez kodu kraju.
Program uzna jako zgodne:
PL27114020040000300201355387
27114020040000300201355387
3.3 Przebieg przetwarzania
* Program nadaje kolejny numer w rejestrze bankowym, tj. zbiorze dokumentów KB
* Sprawdza, czy data z wyciągu należy do miesiąca obliczeniowego
* Wczytuje kolejną pozycję z pliku CSV
Klawisz F6-Rejestr/CSV pozwala m.in. zobaczyć odczytaną pozycję wyciągu:
o--------------------o
| Dane w pozycji CSV | <--- dane rejestrowanej pozycji wyciągu
| Dane w pliku CSV |
| ------------------ |
| Stan rejestru |
| Pozycje rejestru |
| Wydruk rejestru |
o--------------------o
* Ustala charakter operacji (+)(-) na podstawie kwoty:
Kwota dodatnia (+) --> operacja wpłaty (od odbiorcy)
Kwota ujemna (-) --> operacja wypłaty (dla dostawcy)
* Pole wyciągu [Treść 1] wprowadza do pola: Treść w pozycji rejestru
* Ustala kontrahenta, tj. odbiorcę lub dostawcę na podstawie
numeru rachunku bankowego w kartotece odbiorców lub dostawców
Nr rachunku w pliku CSV jest w formacie:
----------------------------
Rrrrrrrrrrrrrrrrrrrrrrrrrr
----------------------------
Nr rachunku może być w różnych standardach np.
IBAN (bez kodu kraju PL) np. 12144010260000000000000001
IBAN (z kodem kraju) np. DE89370400440532013000
Inny standard np. 123-DEF-123456-09
W karcie kontrahenta może być zapisany w różny sposób,
zależnie od parametru AD: Format rachunków bankowych:
Rrrrrrrrrrrrrrrrrrrrrrrrrrrr
lub Bbbbbbbb Cc Rrrrrrrrrrrrrrrr
lub Cc Bbbbbbbb Rrrrrrrrrrrrrrrr
Rachunki bankowe (konta bankowe)Parametry AD
* Charakter płatności (Rozliczająca, Do rozliczenia, Inne)
oraz numer rozliczanego rozrachunku (faktury) trzeba wybrać
lub wpisać ręcznie z list wyboru F2
* U dołu ekranu widać pozostałą kwotę z rejestrowanej pozycji wyciągu, np.
----------------------------
Pozostało 5 500.74 PLN
----------------------------
Można zarejestrować wiele pozycji rejestru powiązanych z daną pozycją wyciągu.
Gdy kwota [Zostało] będzie równa 0, to program automatycznie przejdzie
do kolejnej pozycji wyciągu.
* Dany wyciąg można wczytywać wielokrotnie, np. pomijając niektóre pozycje.
Klawisz F6 pokaże nr wczytywanej pozycji wyciągu
Po ESC program zapyta:
Czy zakończyć rozliczanie tej pozycji ?
Po wybraniu TAK zapyta:
Czy zakończyć przetwarzanie pliku CSV ?
Po wybraniu NIE przejdzie do kolejnej pozycji wyciągu.
Po wybraniu TAK zakończy przetwarzanie wyciągu.
4. Gdy wyciągi bankowe są w innych formatach niż CSV ?
Elektroniczne wyciągi bankowe mogą być w różnych formatach, np.
Elixir, MT940, MT942, JPK WB, MultiCash, VideoTel, OFX
Aby wczytać przelewy w Trawers ERP należy je przekształcić do formatu pliku CSV.
Na rynku oprogramowania są konwertery formatów. Programy, które tłumaczą
zapisy w plikach wyciągów, np. z MT940 na CSV.
Zastosowanie oprogramowania Unifiedpost
Unifiedpost umożliwia:
* automatyczne pobieranie wyciągów z różnych banków (poprzez API lub konwersję formatów),
* zapisywanie ich w formacie CSV, który jest obsługiwany przez Trawers.
Unifiedpost może być używany jako agregator wyciągów z wielu banków
i jako konwerter formatów (np. MT940 -> CSV).
Obecna sytuacja (bez integracji z Unifiedpost):
* Pracownicy logują się do banku,
* pobierają wyciąg ręcznie,
* zapisują na dysku lub drukują,
* pobierają CSV w KB > [KB_DBA14] lub rejestrują ręcznie w KB > [KB_DBA10]
Po integracji z Unifiedpost:
* Wyciąg trafia automatycznie na serwer/katalog,
* Trawers go wczytuje (CSV) i umożliwia rozliczanie faktur [KB_DBA14]
Korzyści:
* Szybszy dostęp do wyciągów, Unifiedpost automatycznie wgrywa do katalogu wymiany
* Mniej pomyłek przy rejestrowaniu
* Ułatwienie pracy firm z wieloma bankami - agregowanie wyciągów z wszystkich banków
i zamiana na jeden spójny plik CSV.