Wymiana danych z bankami za pomocą usługi sieciowej
Funkcjonalność umożliwia bezpośrednią wymianę danych (import wyciągów, eksport przelewów) pomiędzy bankiem a systemem Comarch ERP XL za pomocą usług sieciowych (web services). Tego typu połączenie eliminuje konieczność ręcznego przenoszenia plików wyciągów i przelewów, jak również konieczność logowania się do systemu bankowego w celu weryfikacji aktualnego stanu rachunku bankowego.
Komunikacja między systemem a bankiem odbywa się poprzez wymianę komunikatów w formacie plików XML przy wykorzystaniu technologii web-services (poprzez bezpieczny kanał HTTPS z wykorzystaniem dwustronnego SSL).
Formy dostępu do bankowości elektronicznej
W celu połączenia za pomocą usługi sieciowej z bankiem Pekao SA, ING Bank Śląski, BNP Paribas, Alior Bank konieczne jest wygenerowanie dwóch par kluczy kryptograficznych w formie certyfikatów x.509. Jedna z tych par to certyfikaty transportowe używane do komunikacji z bankiem (wysyłanie żądań i odbieranie odpowiedzi). Druga para to certyfikaty autoryzacyjne służące do podpisywania zlecenia przesyłanego do systemu bankowego (zatwierdzenie zleconego przelewu do realizacji).
W przypadku certyfikatów autoryzacyjnych dopuszczalne jest korzystanie z własnych podpisów kwalifikowanych.
W celu umożliwienia importu oraz eksportu danych z systemu bankowego, konieczne jest zainstalowanie w systemie Windows, w magazynie certyfikatów osobistych certyfikatów dostarczonych przez bank.
Jeżeli użytkownik nie zainstaluje certyfikatu, przy próbie importu/eksportu danych pojawi się komunikat: Brak certyfikatu uprawniającego do połączenia z usługą sieciową banku.
Usługa Millenet Link służąca do szybkiej wymiany danych z bankiem Millennium oparta jest na komunikacji zabezpieczonej certyfikatami komunikacyjnymi. Bank akceptuje certyfikaty wystawione przez firmy rekomendowane przez Narodowy Bank Polski, szczegółowe informacje są dostępne na stronie https://www.nccert.pl/. Minimalne wymagania parametrów certyfikatu:
- standard X.509,
- niekwalifikowany,
- format PEM,
- długość klucza RSA minimum 2048 bitów,
- podpisane przez Zaufaną Stronę Trzecią, z zastosowaniem do uwierzytelniania Klienta.
W przypadku mBank CompanyNet kanał Webservice dopuszcza stosowanie następujących form dostępu użytkownika do bankowości elektronicznej:
- Certyfikat – polega na wykorzystaniu podpisu kwalifikowanego danego użytkownika. Jego wykorzystanie będzie najczęściej wiązało się z włożeniem karty kryptograficznej do portu USB i potwierdzeniem operacji za pomocą kodu PIN.
- Token mobilny – opiera się na zainstalowanej na telefonie użytkownika dedykowanej aplikacji mBank CompanyMobile. Po wywołaniu żądania po stronie ERP XL należy je potwierdzić w aplikacji mobilnej.
Aby możliwe było korzystanie z Citi Handlowy-API konieczne jest wygenerowanie przez bank dla klienta pary ciągu znaków:
-
- Client Id – identyfikator klienta
- Client Secret – hasło klienta
Klient dostarcza do banku zakupione przez siebie dwa certyfikaty:
- Client Encryption&Sign Certificate – będą nim podpisywane zlecenia wysyłane do banku
- Client SSL Certificate – służy do uwierzytelnienia firmy oraz nawiązania połączenia
W przypadku banku Citi Handlowy certyfikaty SSL akceptowane są tylko z następujących CA: Verisign, Symantec, Equifax, Sectigo, Comodo, Thawte, Entrust, Go Daddy, GeoTrust, DigiCert, CertEurope, certSIGN, Multicert oraz kilku lokalnych CA raczej niespotykanych w Polsce. Minimalny okres ważności certyfikatu to 11 miesięcy.
Konfiguracja systemu
Pierwszym krokiem konfiguracji jest dodanie nowego formatu przelewu, na którym zaznaczony zostanie parametr: Bezpośrednia wymiana danych za pomocą usługi sieciowej. Po zaznaczeniu tego parametru pojawi się pole, gdzie należy wskazać adres do właściwego systemu bankowego – w systemie Comarch ERP XL dodane są predefiniowane formaty dla ING Bank Śląski, Pekao SA, BNP Paribas, Alior Bank, mBank, Millennium Bank, Citi Handlowy.
Konfiguracja połączenia z bankami: Pekao SA, ING Bank Śląski, BNP Paribas, Alior Bank, Millennium
Na karcie banku, w którym wykorzystywana będzie wymiana danych za pomocą usługi sieciowej należy wykonać następujące zmiany:
- wskazanie zdefiniowanego uprzednio formatu jako domyślnego dla importu i eksportu przelewów,
- dodanie na karcie banku, uprzednio zainstalowanego, certyfikatu komunikacyjnego,
- W części Przelewy walutowe należy uzupełnić sekcję: Opłatę ponosi oraz: Osoba do kontaktów z bankiem.
Dla rachunku bankowego, dla którego będzie wykorzystywana wymiana danych za pomocą usługi sieciowej należy utworzyć rejestr i wskazać na nim bank, którego karta została uprzednio uzupełniona o zdefiniowane formaty przelewów i certyfikat.
Konfiguracja połączenia z mBank
Na karcie banku należy określić, że komunikacja z bankiem mBank będzie odbywała się poprzez mechanizm Webservice. Odbywa się to na zakładce Dodatkowe karty banku.
Następnie na zakładce Usługa sieciowa karty banku należy określić sposób logowania użytkownika, czyli wprowadzić login jaki został mu przypisany w systemie transakcyjnym banku, a także wskazać domyślny sposób logowania w banku. Do wyboru jest Certyfikat, czyli podpis kwalifikowany lub Token mobilny.
Na kolejnej liście można wskazać certyfikat, który będzie wykorzystywany do podpisywania zleceń przelewu. Jeśli wybrano logowanie za pomocą Certyfikatu, będzie on też wykorzystany do uwierzytelnienia użytkownika w banku w przypadku innych operacji jak pobranie salda rachunku.
Podczas nawiązywania połączenia z bankiem wymagane jest również podanie identyfikatora klienta. mBank dopuszcza możliwość, aby ten sam użytkownik był jednocześnie operatorem dla kilku różnych firm. Użytkownik webservice powinien zatem ustawić na karcie rejestru identyfikator firmy jaki został mu nadany przez mBank, czyli tzw. DIK.
Konfiguracja połączenia z Citi Handlowy
Na karcie banku należy określić, że komunikacja z bankiem Citi Handlowy będzie odbywała się poprzez API. Odbywa się to na zakładce Dodatkowe karty banku.
Następnie na zakładce [Usługa sieciowa] należy skonfigurować użytkowników, którzy będą mieli dostęp do systemu transakcyjnego banku oraz pozostałe parametry połączenia.
Autoryzacja następuje na poziomie bank-firma bez wskazania operatora, który takiej operacji dokonuje. Aby ograniczyć dostęp do kanału tylko dla wybranej grupy użytkowników, należy ich przyporządkować na liście certyfikatów komunikacyjnych przypisując im Client Encryption&Sign Certificate.
Eksport przelewów
Przy wysyłaniu przelewów dla płatności, które będą miały przypisany zdefiniowany rejestr, automatycznie wybrany zostanie zdefiniowany format:
Po uruchomieniu eksportu otwarte zostanie okno: Podpisywanie zlecenia przelewu. W oknie tym można wskazać uprzednio zainstalowany certyfikat autoryzacyjny i skorzystać z opcji Podpisz i wyślij. Wyeksportowane w ten sposób zlecenia nie będą wymagały autoryzacji na stronach banku.
Przy eksporcie przelewów wskazanie certyfikatu autoryzacyjnego nie jest jednak konieczne. Wówczas przelewy zostaną wyeksportowane do banku, ale do ich realizacji konieczna będzie ich autoryzacja na stronach banku.
W przypadku Citi Handlowy obsługiwane są tylko certyfikaty wystawione na firmę i płatności zostają wysłane już od razu w trybie zautoryzowanym. Okno eksportu przelewów dla tego API zostało zatem zmienione i usunięte z niego zostały elementy pozwalające na zmianę certyfikatu, bądź wysyłkę bez autoryzacji.
Po wybraniu jednej z powyższych opcji eksportu, przelewy zostaną wyeksportowane i pojawi się okno z komunikatem:
Aby wysłane do banku pliki były zapisywane, należy wskazać w oknie: Parametry komputera, Wymiana Danych, Folder plików usługi sieciowej, utworzony do tego celu katalog:
Eksport przelewów za pomocą usługi sieciowej realizuje również przelewy związane z zobowiązaniami wobec Urzędów Skarbowych i ZUS.
Wielostopniowa autoryzacja paczek przelewów- mBank CompanyNet
W paczkach przelewów przygotowanych dla rejestrów bankowych, które współpracują z mBank CompanyNet udostępniono możliwość dodawania autoryzacji wielu użytkowników jeszcze przed ich wysłaniem do banku. Na zakładce Nagłówek zaakceptowanej paczki pojawia się lista dołączonych podpisów.
Dodanie autoryzacji odbywa się za pomocą przycisku Podpisz pod listą dołączonych podpisów. Po dodaniu podpisu do paczki jej status zmienia się na Podpisana. Po dodaniu wszystkich wymaganych autoryzacji do paczki jej eksport odbywa się jak do tej pory za pomocą przycisku Eksportuj.
mBank CompanyNet umożliwia autoryzację zlecenia, które zostało wysłane bez dołączonych podpisów. Takie działanie jest jednak obwarowane kilkoma wymogami:
- Nie można autoryzować tylko części z wysłanych zleceń;
- Przed autoryzacją należy określić, czy dołączany podpis jest ostateczny, czy jest elementem wielostopniowej autoryzacji;
- Autoryzację takiej paczki można przeprowadzić jedynie przez potwierdzenie zlecenia w aplikacji mobilnej mBank.
System dla wysłanej przez kanał webservice paczki przelewów sprawdza, czy została ona już zatwierdzona po stronie banku. Jeśli należy ją jeszcze potwierdzić pod listą złożonych podpisów zostanie uaktywniony dodatkowy przycisk Autoryzuj zlecenie. W przypadku gdy dodawany podpis jest elementem zbiorczej autoryzacji należy z listy rozwijalnej wybrać opcję Częściowa autoryzacja. Niezależnie od wybranej formy domyślnego logowania do banku użytkownik zostanie poproszony o akceptację zlecenia w aplikacji mobilnej mBank.
Obsługa przelewów celnych
W związku z wprowadzeniem nowego sposobu wysyłania przelewów do organów celnych na podstawie Rozporządzenia Ministra Finansów z dnia 11 września 2015 r. w sprawie wzoru formularza wpłaty gotówkowej oraz polecenia przelewu na rachunek organu celnego, udostępniona została funkcjonalność wysyłania przez Webservice przelewów celnych.
W przypadku przelewów do Urzędu Celnego za pomocą usługi sieciowej proces eksportu przebiega niemal tak samo jak w przypadku zwykłych przelewów. Jedyną różnicą jest dodatkowe okienko pojawiające się po wybraniu eksportu przelewu na rachunek Urzędu Celnego. Zawiera ono parametry niezbędne dla poprawnego zidentyfikowania tytułu zobowiązania, czyli datę powstania obowiązku podatkowego, jego symbol oraz identyfikator.
Wszystkie pola okna uzupełniane są automatycznie odpowiednimi wartościami z nagłówka dokumentu SAD. W przypadku dokonywania płatności związanej z innym dokumentem (np. notą memoriałową), pola te pozostaną puste, a użytkownik sam będzie mógł dokonać przypisania odpowiednich wartości.
Kontrola stanu wyeksportowanych zleceń przelewów
Po wysłaniu przelewów, z poziomu Listy nierozliczonych płatności, Listy Paczki przelewów lub z Preliminarza płatności, używając ikony: [Importuj statusy przelewów] można zweryfikować status przelewu w banku
Po uruchomieniu importu system wyświetli okno z zapytaniem, czy aktualizowane mają być wszystkie przelewy, czy przelewy zaznaczone na liście.
Po potwierdzeniu system dokona aktualizacji stanu przelewów i poinformuje o ich zmianie
Status przelewu widoczny jest po podniesieniu do edycji okna wyeksportowanej płatności oraz z poziomu Preliminarza płatności.
Na Preliminarzu płatności dodany został nowy typ przelewów: Wysłane usługą sieciową – po jego wybraniu w oknie Preliminarza pojawią się kolumny, w których widoczny będzie stan zlecenia przelewów.
Statusy płatności aktualizowane są zgodnie z poniższą tabelą:
Kod statusu | Opisy stanu zlecenia przelewu | Status płatności |
---|---|---|
ACCP | Zaakceptowane, podpisane | Wysłano |
ACCR | Usunięte, anulowane | Do wysłania |
ACSC | Wykonane, zrealizowane | Wysłano |
ACSP | Skierowane do realizacji | Wysłano |
ACTC | Nowe zlecenie, wprowadzone | Wysłano |
ACWC (ING) | Anulowane | Do wysłania |
ACWC (Raiffeisen) | Wprowadzone | Wysłano |
PDNG | Oczekujące na przetwarzanie, wprowadzone | Wysłano |
RJCT | Odrzucone, usunięte | Do wysłania |
Import wyciągów
Z poziomu raportu, po uruchomieniu importu system automatycznie podpowie format pliku, a obszar związany z lokalizacją pliku zostanie niewypełniony i wyszarzony. W oknie importu zapisów korzystając z menu obok przycisku wczytaj wyciąg można wybrać opcje: wczytaj wyciąg lub wczytaj historię operacji:
Aby wczytać wyciąg należy uzupełnić datę wyciągu:
Aby wczytać historię operacji należy podać zakres dat:
Operator może kilka razy dziennie zaciągać dane z banków. System kontroluje zaczytywane informacje i blokuje możliwość duplikowania zaimportowanych zapisów.
Kontrola duplikacji działa zarówno przy wczytywaniu wyciągu jak i historii operacji.
Przy wczytywaniu pozycji wyciągu lub historii operacji na formatkę importu zapisów pomijane są pozycje, które już występują w danym rejestrze.
Ponieważ usługa CDC nie umożliwia identyfikacji duplikatów (brak przypisanego na stałe znacznika) system sprawdza zgodność pól importowanego pliku z zapisami bankowymi danego rejestru (tabela CDN.Zapisy):
Data księgowania / Data zapisu k/b (tylko data bez czasu)
Kwota z uwzględnieniem kierunku (Rozchód/Przychód)
Numer rachunku identyfikujący kontrahenta / Podmiot na zapisie
Bankowy kod operacji + Tytuł przelewu układ jak w kolumnie Opis okna importu / treść zapisu k/b (pobrana z pola KAZ_TrescCDC)
Dodatkowo kontrola duplikacji zlicza ilość zapisów k/b i pozycji wyciągu/historii na których występuje zgodność wszystkich 4-rech parametrów i pomija wczytywanie tylko tylu ile już istnieje w raporcie. Pozostałe operacje, pomimo zgodności parametrów nie są pomijane.
Zapisy zaimportowane podczas pierwszego wczytywania wyciągu:
25-07-2013; 250,00 rozchód, kontrahent 1, opłata za fakturę
25-07-2013; 250,00 rozchód, kontrahent 1, opłata za fakturę
Podczas wczytywania kolejnego wyciągu zawierającego:
25-07-2013; 250,00 rozchód, kontrahent 1, opłata za fakturę
25-07-2013; 250,00 rozchód, kontrahent 1, opłata za fakturę
25-07-2013; 250,00 rozchód, kontrahent 1, opłata za fakturę
pomijane są tylko 2 pierwsze pozycje, ostatnia, pomimo zgodności parametrów nie zostanie pominięta
Jeżeli rejestr do którego następuje import wyciągu przy pomocy usługi sieciowej jest rejestrem o okresie dziennym z dozwolonym tylko jednym raportem w danym okresie, system weryfikuje zgodność stanu początkowego i końcowego raportu bankowego z saldem początkowy końcowym rachunku bankowego dla importowanego wyciągu – ewentualne rozbieżności komunikowane są użytkownikowi.
SIMP- Obsługa wirtualnych rachunków ING Bank Śląski przez WebService
ING Bank Śląski udostępnia możliwość przypisywania indywidualnych rachunków bankowych dla kontrahentów swojego Klienta. W wariancie ING rozwiązanie to funkcjonuje pod nazwą SIMP. Dzięki przypisaniu każdemu kontrahentowi innego numeru rachunku, na który ma on kierować swoje zobowiązania wobec wystawcy faktury, możliwe jest jednoznaczne powiązanie dokonanej płatności z kontrahentem. Ustawienie rachunków wirtualnych zastępuje standardowo dostępne w systemie Comarch ERP XL powiązania płatności z wyciągu z konkretnym kontrahentem, za pomocą numeru rachunku bankowego odbiorcy.
Konfiguracja rejestru bankowego
Numery indywidualnych rachunków wirtualnych są w banku ING tworzone na podstawie 8-cyfrowego kodu oddziału, który prowadzi rozliczenia SIMP oraz 4-cyfrowego kodu SIMP przyznanego klientowi przez bank ING. Co ważne przelewy z rachunków wirtualnych są widoczne na zwykłym rachunku bieżącym klienta. Aby zatem poprawnie działała identyfikacja rachunków należy wskazać odpowiedni rachunek bieżący oraz skojarzone z nim rachunki wirtualne.
Karta banku wybranego na rejestrze powinna mieć ustawiony format elektronicznej wymiany danych na „ING Bank Śląski – WebService” oraz ustawiony certyfikat komunikacyjny do nawiązywania połączenia z bankiem.
Pobranie raportów SIMP
W oknie importu zapisów bankowych dla uprzednio skonfigurowanego rejestru będzie na liście rozwijalnej widoczna dodatkowa opcja Wczytaj SIMP.
Po jej wybraniu zostanie otwarte okno Importu z polem wyboru daty oraz polem informacyjnym Numer wyciągu.
Numer wyciągu jest to numer referencyjny konkretnego raportu SIMP z danego dnia. Zgodnie z umową z bankiem klient może mieć bowiem przekazywanych każdego dnia, kilka raportów z płatności, które miały miejsce między określonymi godzinami (z reguły zbieżnie z sesjami Elixir). Może się zatem zdarzyć, że w pierwszym raporcie nie będzie żadnych przelewów, a w drugim i trzecim już tak. Dla importu pierwszego wyciągu w danym dniu pole to zawsze będzie miało wartość 0, a dla kolejnych będzie to już coraz większy numer ustalany podczas komunikacji systemu ERP XL z bankiem. Numer raportu jest zapamiętywany tylko w obrębie danej komunikacji. Aby pobrać kolejny wyciąg należy zatem wcisnąć przycisk pioruna, zaczytując wskazany wyciąg i nie wychodząc z okna importu zapisów, po raz kolejny wybrać Wczytaj SIMP. Wyjście z okna Importu zapisów bankowych spowoduje rozpoczęcie pobierania raportów od pierwszego w danym dniu (Numer wyciągu równy 0). Jeśli w danym raporcie nie ma wpisów lub wszystkie zostały już zaimportowane do bazy, pojawia się komunikat „Brak nowych operacji do zaimportowania”. W przypadku gdy nie ma już więcej raportów w danym dniu lub wystąpił błąd w dostępie do raportów SIMP pojawia się komunikat błędu „Nie znaleziono raportów spełniających zadane kryteria”.
Kontrola duplikacji
W trakcie pracy z raportami SIMP mogą się zdarzyć dwie sytuacje, kiedy na oknie importu pojawią się informacje, które już wcześniej były zaczytane:
- Pobranie zbiorczego raportu SIMP w przypadku konfiguracji raportów określającej, że ostatni raport SIMP danego dnia zawiera wszystkie płatności, które tego dnia miały miejsce. Pobieranie wszystkich raportów SIMP z danego dnia bez ich zapisywania w bazie, spowoduje zatem, że wszystkie płatności pojawią się w oknie dwukrotnie. Raz w konkretnym raporcie, a raz w ostatnim raporcie zbiorczym.
- Przekazanie płatności na rachunki wirtualne w zwykłym wyciągu dotyczącym rachunku podstawowego. Jeśli ten sam rachunek wykorzystywany jest zarówno jako rachunek podstawowy dla płatności wirtualnych jak i w toku zwykłych operacji gospodarczych, bank ING przekazuje wyciąg bankowy zbiorczy bez rozróżnienia, czy dana wpłata miała miejsce na rachunek wirtualny, czy podstawowy.
Aby zapobiec błędom wynikającym z podwójnego ujęcia jednej płatności, stosowany jest mechanizm kontroli duplikacji, który sprawdza, czy zaimportowana płatność odpowiada płatności, która jest już ujęta w bazie danych. Dlatego też podczas pracy z rachunkami wirtualnymi ING należy stosować następujące zasady:
- Najpierw wczytywać raporty SIMP.
- Każdy zaimportowany raport SIMP od razu przenosić do rejestru bankowego.
- Dopiero po zaimportowaniu wszystkich raportów SIMP z danego dnia, można skorzystać z opcji Wczytaj wyciąg, który doczyta pozostałe operacje, które już nie odbyły się w powiązaniu z rachunkami wirtualnymi odbiorców.
Kontrola bieżącego salda rachunku
Funkcjonalność wymiany danych z bankami za pomocą usługi sieciowej umożliwia również kontrolę salda rachunku bankowego.
Funkcję tę można uruchomić za pomocą ikony [Pobież saldo rachunku] z poziomu:
- Okna: Rejestry kasowe i bankowe
- Okna wybranego rejestru, zakładka: Raporty
- Okna zapisów bankowych wybranego rejestru, zakładki: Raport i Nagłówek raportu
Po uruchomieniu funkcji system automatycznie połączy się z bankiem i wyświetli okno z bieżącym saldem wybranego rachunku.
Przelewy SEPA
SEPA (ang.: Single Euro Payments Area) to program budowy jednolitego obszaru płatności w Euro. Ze względu na standaryzację klienci mają możliwość łatwego dokonywania przelewów w Euro, bez ponoszenia dodatkowych opłat. Jest to więc rozwiązanie znacznie mniej kosztowne niż dotychczasowe przelewy zagraniczne. Program SEPA obejmuje państwa Unii Europejskiej wraz z Islandią, Norwegią, księstwem Liechtenstein i Szwajcarią.
W programie Comarch ERP XL wprowadzono obsługę SEPA dla przelewów w walucie EUR z wykorzystaniem mechanizmu Webservice. Warunki zakwalifikowania przelewu jako SEPA są następujące:
- Walutą przelewu jest EURO,
- Opcją kosztową jest SHAR, czyli podział kosztów pomiędzy nadawcę a odbiorcę,
- Podanie kodu SWIFT banku beneficjenta,
- Podanie numeru rachunku IBAN banku beneficjenta,
- Bank beneficjenta jest uczestnikiem programu SEPA.
Dodatkowo, aby płatność została przesłana z wykorzystaniem tego standardu, dla płatności musi być zaznaczony parametr SEPA.
Warunkiem koniecznym wyeksportowania przelewu SEPA jest nawiązanie elektronicznej komunikacji z bankiem. Niezbędne jest zatem ustawienie odpowiedniego formatu elektronicznej wymiany danych oraz skonfigurowanie Usługi sieciowej zgodnie z wytycznymi zawartymi w rozdziale Konfiguracja systemu. Podczas eksportu wymagany jest numer IBAN (numer rachunku bankowego wraz z prefiksem kraju) oraz kod SWIFT. Z tego względu konieczne jest odpowiednie uzupełnienie pól Kraj oraz Kod SWIFT na karcie banku: Jeśli z rejestru bankowego często dokonywane są płatności w walucie euro, można zaznaczyć na nim parametr Domyślne przelewy SEPA. Parametr ten pojawia się dla rejestrów w walucie EUR, dla których bank ma ustawiony format elektronicznej wymiany danych za pomocą usługi sieciowej (Webservice). Po zaznaczeniu tego parametru, wszystkie nowe płatności zobowiązań w walucie EUR, przypisane do tego rejestru, będą miały również ustawiony typ przelewu SEPA. Użytkownik ma możliwość zmiany ustawień parametru SEPA dla grupy płatności. Odpowiada za to funkcjonalność Zmień seryjnie płatność, która dostępna jest w menu kontekstowym na oknach Lista nierozliczonych płatności oraz Preliminarz płatności. W oknie można seryjnie oznaczyć płatności jako SEPA:Ustawienia karty banku
Domyślne przelewy SEPA
Seryjne ustawienie płatności SEPA
Czy ten artykuł był pomocny?