System Comarch ERP Optima obsługuje wymianę danych z bankiem (eksport i import przelewów) za pomocą usługi sieciowej opartej o standard Comarch Data Connect 2.0.
Ten sposób wymiany danych umożliwia pobieranie wyciągów bankowych oraz historii operacji, a także eksport przelewów bezpośrednio z/do systemu bankowego, bez konieczności ręcznego przenoszenia plików pomiędzy aplikacją bankową oraz Comarch ERP Optima. Możliwe jest również pobieranie dla każdego wysłanego przelewu jego aktualnego statusu w banku (przelew może oczekiwać na realizację, zostać zrealizowany, odrzucony, anulowany itp.).
Wymiana danych pomiędzy bankiem a klientem w usłudze sieciowej odbywa się przez wymianę komunikatów w formacie plików XML (standard ISO 20022) przy wykorzystaniu technologii web-services. Całość komunikacji jest zabezpieczona przez bezpieczny kanał HTTPS z wykorzystaniem dwustronnego SSL. Dzięki tym technologiom komunikacja pomiędzy Bankiem a klientem jest szyfrowana i nikt niepowołany nie ma dostępu do przesyłanych informacji. Dodatkowo dzięki dwustronnemu SSL Bank otrzymuje możliwość wstępnej weryfikacji klienta, a klient może zweryfikować, czy faktycznie podłączył się do serwera Banku.
Do zabezpieczenia wymiany informacji zastosowane zostały: certyfikat transportowy, który weryfikuje Klienta i pozwala zweryfikować jego prawo do danego rachunku (rachunków) oraz certyfikat autoryzacyjny (podpis elektroniczny), którym mogą być podpisywane wysyłane do banku przelewy. Gdy przelewy nie zostaną podpisane lub zostaną podpisane przez nieuprawnioną osobę – zlecenia będą oczekiwały w banku na akceptację uprawnionej osoby.
Na liście Ogólne/Inne/Formaty przelewów dostępny jest format ING WebService (standardowy) do wymiany danych z ING Bank Śląski. Na stronie http://www.ingbank.pl/ing-businessonline/webservice można dowiedzieć się więcej o tej usłudze oraz sposobie jej zamawiania.
W przypadku innych banków należy zweryfikować możliwość wymiany danych poprzez usługę sieciową kontaktując się z danym bankiem. Jeżeli bank wdrożył standard Comarch Data Connect 2.0, Użytkownik może samodzielnie dodać format przelewu, za pomocą którego będzie możliwa wymiana. Na formularzu formatu przelewu na zakładce [Ogólne] trzeba zaznaczyć parametr Bezpośrednia wymiana danych za pomocą usługi sieciowej oraz wpisać adres usługi sieciowej.
Uwaga
W związku z koniecznością obsługi protokołu TLS 1.2 w wymianie danych za pomocą usługi sieciowej, od wersji programu 2017.1.1 na stanowisku wymagana jest instalacja .NET Framework w wersji conajmniej 4.5.
Eksport za pomocą usługi sieciowej
Możliwy jest eksport przelewów krajowych (w tym do Urzędu Skarbowego i ZUS) oraz przelewów walutowych. Przelewy walutowe wysyłane są jako przelewy zagraniczne. Od wersji programu 2015.5.1 wprowadzona została również możliwość wysyłania przelewów euroregulowanych (SEPA). Jako przelewy euroregulowane wysyłane są zdarzenia rozchodowe w walucie EUR, na których zaznaczony został parametr Przelew SEPA
Na formularzu banku w polach Format eksportu dla przelewów zwykłych oraz Format importu wyciągów bankowych można wskazać format obsługujący wymianę za pomocą usługi sieciowej (ING WebService (standardowy)). Format ten będzie podpowiadał się jako domyślny podczas eksportu i importu przelewów.
Rys.1 – Formularz banku, zakładka „Dodatkowe”
Po wybraniu takiego formatu na formularzu banku pojawia się zakładka [Ustawienia usługi sieciowej]. Na zakładce tej Użytkownik wprowadza ustawienia dotyczące przelewów walutowych oraz podpina certyfikat do komunikacji.
Został przygotowany już dla Państwa prosty kreator do generowanie certyfikatu komunikacyjnego, który umożliwi wymianę danych za pomocą usługi sieciowej. Kreator jest pod tym linkiem.
W przypadku przelewów walutowych istotne jest uzupełnienie pól: Opłatę ponosi, Osoba kontaktowa oraz Kontakt. W przypadku pola Opłatę ponosi jest możliwość wyboru trzech opcji: Zleceniodawca, Zleceniobiorca, Porówno. W przypadku niektórych rachunków opcja Zleceniobiorca może być zablokowana. Pokaże się wtedy odpowiedni komunikat przy próbie eksportu z wybraną tą opcją. W przypadku Osoba kontaktowa oraz Kontakt należy wprowadzić imię i nazwisko oraz np. numer telefonu przedstawiciela Klienta, z którym można się kontaktować. Jest to pole wymagane gdy wysyłane są przelewy walutowe.
Eksport przelewów za pomocą usługi sieciowej jest możliwy z poziomu preliminarza płatności dla wybranego konkretnego rejestru. Jeżeli wybrany rejestr ma na formularzu banku przypisany format obsługujący wymianę danych za pomocą usługi sieciowej, wtedy ikona Eksportuj polecenia przelewu ma rozwijalne menu z dwoma opcjami: Eksportuj przelewy oraz Aktualizuj stany przelewów .
Domyślnie kliknięcie w ikonę powoduje wywołanie okna Eksport przelewów do pliku.
Rys.3 – Okno eksportu przelewu poprzez usługę sieciową
W konfiguracji Stanowiska/ Kasa/Bank/ Parametry znajduje się parametr Zapisuj przelewy importowane/eksportowane poprzez usługę sieciową. Zaznaczenie tego parametru powoduje uaktywnienie pola na wpisanie ścieżki do katalogu, w którym będą zapisywały się pliki z przelewami importowane oraz eksportowane za pomocą usługi sieciowej. Domyślnie parametr jest odznaczony. W przypadku odznaczonego parametru pliki nie są zapisywane.
Po wybraniu opcji Eksportuj przelewy pokazuje się okno, na którym można ustawić wybrane opcje eksportu. Po ustawieniu parametrów, eksport uruchamiamy ikoną pioruna. Eksportowane są zarówno przelewy w PLN jak również w walucie obcej. Jest możliwy również eksport przelewów zbiorczych. Jest również możliwość podpisania przelewów za pomocą podpisu kwalifikowanego. Pojawia się okno z możliwością wyboru właściwego certyfikatu. Jeżeli okno z wyborem certyfikatu zostanie anulowane – przelewy zostaną wysłane i będą oczekiwały na akceptację po stronie banku.
W preliminarzu płatności jeżeli wybrany zostanie rejestr, który obsługuje wymianę danych poprzez usługę sieciową wśród kolumn na liście dostępne są kolumny: Data wysłania WebService, Komunikat WebService, Data komunikatu WebService.
W kolumnach tych zapisywane są informacje przy eksporcie do usługi sieciowej oraz każdorazowym sprawdzeniu stanu przelewów w banku.
Jest również możliwość sprawdzenia aktualnego statusu przelewów w banku. Opcja Aktualizuj stany przelewów sprawdza stan przelewów w banku oraz aktualizuje informacje na liście w preliminarzu płatności oraz na formularzu zdarzenia.
Import za pomocą usługi sieciowej
W systemie jest również dostępny import przelewów za pomocą usługi sieciowej. Jest możliwość importu wyciągów bankowych bądź historii operacji, jeżeli za dany okres nie jest jeszcze dostępny wyciąg bankowy.
Zalecamy aby okres raportów kasowych/bankowych w systemie Comarch ERP Optima był taki sam jak okres raportów w systemie bankowym.
Jeżeli okres raportu się nie pokrywa to przy imporcie pojawi się odpowiedni komunikat wraz z pytaniem czy wykonać import historii operacji.
Jeżeli wykonany został import historii operacji i następnie potem wykonywany jest ponowny import historii bądź import wyciągu wtedy importowane są tylko te przelewy, które nie zostały jeszcze zaimportowane. Duplikaty są odrzucane.
Duplikaty sprawdzane są wg następujących kryteriów:
Data księgowania,
Numer rachunku kontrahenta,
Kwota,
Opis przelewu.
Podczas importu sprawdzany jest stan początkowy raportu i porównywany ze stanem początkowym wyciągu bankowego. Jeżeli stany będą niezgodne w logu pokaże się odpowiednie ostrzeżenie. Po zakończeniu importu aktualizowany jest stan końcowy raportu i porównywany ze stanem końcowym w wyciągu. W przypadku braku zgodności również pokazywane jest odpowiednie ostrzeżenie.
Na liście raportów kasowych/bankowych dla rejestru, który obsługuje import przelewów poprzez usługę sieciową, wśród kolumn (ukrytych) na liście jest kolumna [Wyciąg z banku], w której zapisywana jest informacja, czy wyciąg bankowy został pobrany.
Eksport i import przelewów za pomocą usługi sieciowej – najczęściej zadawane pytania
Co należy ustawić w programie Comarch ERP Optima, aby móc skorzystać z Eksport i import przelewów za pomocą usługi sieciowej?
Odpowiedź: Na formularzu banku (Ogólne/Inne/Banki) w polach Format eksportu dla przelewów zwykłych oraz [Format importu wyciągów bankowych] (druga zakładka) należy wskazać format obsługujący wymianę za pomocą usługi sieciowej (ING WebService (standardowy)). Następnie na 3 zakładce [Ustawienia usługi sieciowej] Użytkownik wprowadza ustawienia dotyczące przelewów walutowych oraz podpina certyfikat do komunikacji otrzymany z banku.
Czy taki sposób wymiany danych z bankiem dostępny jest także dla innych banków?
Odpowiedź: Prosimy o przekierowanie pytania o to czy i kiedy Państwa bank wdroży standard Comarch Data Connect 2.0 (umożliwiający bezpośrednią wymianę danych z Comarch ERP Optima) bezpośrednio do Banku. W Comarch ERP Optima standard ten jest gotowy do współpracy z każdym bankiem, który go wdroży.
Jakie warunki powinny spełniać certyfikaty wykorzystywane podczas wysyłki aby odbyła się ona prawidłowo?
Odpowiedź: Certyfikat komunikacyjny i autoryzacyjny powinny znajdować się w sekcji osobiste, mieć aktualną datę ważności oraz posiadać informację o obsługujących je kluczach prywatnych. Ponadto w przypadku certyfikatu autoryzacyjnego należy poprawnie zainstalować sterowniki urządzenia obsługującego certyfikat po stronie systemu operacyjnego.
Jeśli bank wymaga dodatkowych certyfikatów należy upewnić się czy znajdują się one we właściwych magazynach certyfikatów oraz czy posiadają aktualną datę ważności.
System Comarch ERP Optima obsługuje wymianę danych z bankiem (eksport przelewów i import wyciągów) za pomocą usługi sieciowej opartej o standard Comarch Data Connect 2.0.
Ten sposób wymiany danych umożliwia pobieranie wyciągów bankowych oraz historii operacji, a także eksport przelewów bezpośrednio z/do systemu bankowego, bez konieczności ręcznego przenoszenia plików pomiędzy aplikacją bankową oraz Comarch ERP Optima. Możliwe jest również pobieranie dla każdego wysłanego przelewu jego aktualnego statusu w banku (przelew może oczekiwać na realizację, zostać zrealizowany, odrzucony, anulowany itp.).
Wymiana danych pomiędzy bankiem a klientem w usłudze sieciowej odbywa się przez wymianę komunikatów w formacie plików XML (standard ISO 20022) przy wykorzystaniu technologii web-services. Całość komunikacji jest zabezpieczona przez bezpieczny kanał HTTPS z wykorzystaniem dwustronnego SSL. Dzięki tym technologiom komunikacja pomiędzy Bankiem a klientem jest szyfrowana i nikt niepowołany nie ma dostępu do przesyłanych informacji. Dodatkowo dzięki dwustronnemu SSL Bank otrzymuje możliwość wstępnej weryfikacji klienta, a klient może zweryfikować, czy faktycznie podłączył się do serwera Banku.
Do zabezpieczenia wymiany informacji zastosowane zostały: certyfikat transportowy, który weryfikuje Klienta i pozwala zweryfikować jego prawo do danego rachunku (rachunków) oraz certyfikat autoryzacyjny (podpis elektroniczny), którym mogą być podpisywane przelewy wysyłane do banku. Gdy przelewy nie zostaną podpisane lub ilość złożonych podpisów będzie niewystarczająca do zrealizowania – zlecenia będą oczekiwały w banku na podpis/uzupełnienie podpisu.
Na liście Ogólne/Inne/Formaty przelewów dostępny jest format Pekao WebService (standardowy) do wymiany danych z bankiem Pekao.
W przypadku innych banków należy zweryfikować możliwość wymiany danych poprzez usługę sieciową kontaktując się z danym bankiem. Jeżeli bank wdrożył standard Comarch Data Connect 2.0, Użytkownik może samodzielnie dodać format przelewu, za pomocą którego będzie możliwa wymiana. Na formularzu formatu przelewu na zakładce Ogólne trzeba zaznaczyć parametr Bezpośrednia wymiana danych za pomocą usługi sieciowej oraz wpisać odpowiedni adres usługi sieciowej.
Uwaga
W związku z koniecznością obsługi protokołu TLS 1.2 w wymianie danych za pomocą usługi sieciowej, od wersji programu 2017.1.1 na stanowisku wymagana jest instalacja .NET Framework w wersji conajmniej 4.5.
Eksport za pomocą usługi sieciowej
Możliwy jest eksport przelewów krajowych (w tym do Urzędu Skarbowego i ZUS) oraz przelewów walutowych. Przelewy walutowe wysyłane są jako przelewy zagraniczne. Od wersji programu 2015.5.1 wprowadzona została również możliwość wysyłania przelewów euroregulowanych (SEPA). Jako przelewy euroregulowane wysyłane są zdarzenia rozchodowe w walucie EUR, na których zaznaczony został parametr „Przelew SEPA”
Na formularzu banku w polach Format eksportu dla przelewów zwykłych oraz Format importu wyciągów bankowych można wskazać format obsługujący wymianę za pomocą usługi sieciowej. Format ten będzie podpowiadał się jako domyślny podczas eksportu i importu przelewów.
Rysunek 1. Formularz banku, zakładka „Dodatkowe”
Po wybraniu takiego formatu na formularzu banku pojawia się zakładka Ustawienia usługi sieciowej. Na zakładce tej Użytkownik wprowadza ustawienia dotyczące przelewów walutowych oraz podpina certyfikat do komunikacji (transportowy).
Został przygotowany już dla Państwa prosty kreator do generowanie certyfikatu komunikacyjnego, który umożliwi wymianę danych za pomocą usługi sieciowej. Kreator jest dostępny pod tym linkiem.
W przypadku przelewów walutowych istotne jest uzupełnienie pól: Opłatę ponosi, Osoba kontaktowa oraz Kontakt. W przypadku pola Opłatę ponosi jest możliwość wyboru trzech opcji: Zleceniodawca, Zleceniobiorca, Po równo. W przypadku niektórych rachunków opcja Zleceniobiorca może być zablokowana. Przy próbie eksportu z wybraną tą opcją pokaże się wówczas odpowiedni komunikat. W przypadku Osoba kontaktowa oraz Kontakt należy wprowadzić imię i nazwisko oraz np. numer telefonu przedstawiciela Klienta, z którym Bank będzie mógł się kontaktować. Jest to pole wymagane, gdy wysyłane są przelewy walutowe.
Eksport przelewów za pomocą usługi sieciowej jest możliwy z poziomu preliminarza płatności dla wybranego konkretnego rejestru. Jeżeli wybrany rejestr ma na formularzu banku przypisany format obsługujący wymianę danych za pomocą usługi sieciowej, wtedy ikona Eksportuj polecenia przelewu ma rozwijalne menu z dwoma opcjami: Eksportuj przelewy oraz Aktualizuj stany przelewów .
Domyślnie kliknięcie w ikonę powoduje wywołanie okna Eksportprzelewów do pliku.
Rysunek 3. Okno eksportu przelewów poprzez usługę sieciową.
W KonfiguracjiStanowiska/ Kasa/ Bank/ Parametry znajduje się parametr Zapisuj przelewy importowane/eksportowane poprzez usługę sieciową. Zaznaczenie tego parametru powoduje uaktywnienie pola na wpisanie ścieżki do katalogu, w którym będą zapisywały się pliki z przelewami importowane oraz eksportowane za pomocą usługi sieciowej. Domyślnie parametr jest odznaczony. W przypadku odznaczonego parametru pliki nie są zapisywane.
Po wybraniu opcji Eksportuj przelewy pokazuje się okno, na którym można ustawić wybrane opcje eksportu. Po ustawieniu parametrów, eksport uruchamiamy ikoną pioruna. Eksportowane są zarówno przelewy w PLN, jak również w walucie obcej. Jest możliwy również eksport przelewów zbiorczych. Istnieje także możliwość podpisania przelewów za pomocą podpisu kwalifikowanego. Pojawia się okno z możliwością wyboru właściwego certyfikatu. Jeżeli okno z wyborem certyfikatu zostanie anulowane – przelewy zostaną wysłane i będą oczekiwały na akceptację po stronie banku.
W preliminarzu płatności jeżeli wybrany zostanie rejestr, który obsługuje wymianę danych poprzez usługę sieciową, wśród kolumn na liście dostępne są kolumny: Data wysłania WebService, Komunikat WebService, Data komunikatu WebService.
W kolumnach tych zapisywane są informacje przy eksporcie do usługi sieciowej oraz każdorazowym sprawdzeniu stanu przelewów w banku.
Jest również możliwość sprawdzenia aktualnego statusu przelewów w banku. Opcja Aktualizuj stany przelewów sprawdza stan przelewów w banku oraz aktualizuje informacje na liście w preliminarzu płatności oraz na formularzu zdarzenia.
Import za pomocą usługi sieciowej
W systemie jest również dostępny import wyciągów za pomocą usługi sieciowej. Jest możliwość importu wyciągów bankowych bądź historii operacji, jeżeli za dany okres nie jest jeszcze dostępny wyciąg bankowy.
Zalecamy aby okres raportów kasowych/bankowych w systemie Comarch ERP Optima był taki sam jak okres raportów w systemie bankowym.
Jeżeli okres raportu się nie pokrywa, to przy imporcie pojawi się odpowiedni komunikat wraz z pytaniem czy wykonać import historii operacji.
Jeżeli wykonany został import historii operacji i następnie potem wykonywany jest ponowny import historii bądź import wyciągu, wtedy importowane są tylko te przelewy, które nie zostały jeszcze zaimportowane. Duplikaty są odrzucane.
Duplikaty sprawdzane są wg następujących kryteriów:
Data księgowania,
Numer rachunku kontrahenta,
Kwota,
Opis przelewu.
Podczas importu sprawdzany jest stan początkowy raportu i porównywany ze stanem początkowym wyciągu bankowego. Jeżeli stany będą niezgodne w logu pokaże się odpowiednie ostrzeżenie. Po zakończeniu importu aktualizowany jest stan końcowy raportu i porównywany ze stanem końcowym w wyciągu. W przypadku braku zgodności również pokazywane jest odpowiednie ostrzeżenie.
Na liście raportów kasowych/bankowych dla rejestru, który obsługuje import przelewów poprzez usługę sieciową, wśród kolumn (ukrytych) na liście jest kolumna [Wyciąg z banku], w której zapisywana jest informacja, czy wyciąg bankowy został pobrany.
Eksport i import przelewów za pomocą usługi sieciowej – najczęściej zadawane pytania
Co należy ustawić w programie Comarch ERP Optima, aby móc skorzystać z Eksportu i importu przelewów za pomocą usługi sieciowej?
Odpowiedź: Na formularzu banku (Ogólne/ Inne/ Banki) w polach Format eksportu dla przelewów zwykłych oraz Format importu wyciągów bankowych (druga zakładka) należy wskazać format obsługujący wymianę za pomocą usługi sieciowej. Następnie na 3 zakładce (Ustawienia usługi sieciowej) Użytkownik wprowadza ustawienia dotyczące przelewów walutowych oraz podpina certyfikat do komunikacji otrzymany z banku.
Czy taki sposób wymiany danych z bankiem dostępny jest także dla innych banków?
Odpowiedź: Prosimy o przekierowanie pytania o to czy i kiedy Państwa bank wdroży standard Comarch Data Connect 2.0 (umożliwiający bezpośrednią wymianę danych z Comarch ERP Optima) bezpośrednio do Banku. W Comarch ERP Optima standard ten jest gotowy do współpracy z każdym bankiem, który go wdroży.
Jakie warunki powinny spełniać certyfikaty wykorzystywane podczas wysyłki aby odbyła się ona prawidłowo?
Odpowiedź: Certyfikat komunikacyjny i autoryzacyjny powinny znajdować się w sekcji osobiste, mieć aktualną datę ważności oraz posiadać informację o obsługujących je kluczach prywatnych. Ponadto w przypadku certyfikatu autoryzacyjnego należy poprawnie zainstalować sterowniki urządzenia obsługującego certyfikat po stronie systemu operacyjnego.
Jeśli bank wymaga dodatkowych certyfikatów należy upewnić się czy znajdują się one we właściwych magazynach certyfikatów oraz czy posiadają aktualną datę ważności.
29 czerwca 2003 weszło w życie Rozporządzenie Ministra Rolnictwa i Rozwoju Wsi (Dz. U. nr 106, poz. 1000), w którym podany został wzór handlowego dokumentu identyfikacyjnego (HDI) obowiązujący w obrocie niektórymi artykułami spożywczymi pochodzenia zwierzęcego. Na podstawie tego rozporządzenia mięso rozebrane oraz jego przetwory, podobnie jak inne produkty wymienione w rozporządzeniu, zaopatrywane będą w handlowy dokument identyfikacyjny wystawiany przez firmę wprowadzającą na rynek środki spożywcze pochodzenia zwierzęcego.
W Comarch ERP Optima dokument HDI można wydrukować z poziomu formularza faktury. W tym celu należy do wydruków użytkownika podłączyć wydruk załączony do tego biuletynu.
Uwaga
Wydruk dokumentu HDI odbywa się przy pomocy Generatora Raportów.
Handlowy dokument identyfikacyjny – dane o towarze
Aby na dokumencie HDI wydrukowane zostały informacje dotyczące towarów pobranych na Fakturę Sprzedaży, należy najpierw uzupełnić dane na karcie towaru.
Niezbędne parametry to:
nazwa towaru
opis towaru (obligatoryjny)
jednostka miary (powinna być to jednostka wagowa np. kg)
jednostka pomocnicza (jednostka opakowania zbiorczego)
ilość jednostek podstawowych w opakowaniu zbiorczym
Dane pobierane bezpośrednio z Faktury Sprzedaży:
nazwa i adres wysyłającego (dane adresowe z Pieczątki Firmy)
numer faktury, do której drukowany jest dokument HDI
data wysyłki (data wystawienia faktury)
ilość towaru
Uwaga
Na dokument HDI nie są przenoszone pozycje, które na karcie towaru mają zdefiniowany typ usługa.
Handlowy dokument identyfikacyjny – wydruk
Po wybraniu opcji wydruku HDI pojawia się dodatkowe okno, w którym należy wprowadzić dane, które wymagane są na dokumencie HDI, a nie ma ich na Fakturze Sprzedaży:
numer dokumentu HDI
weterynaryjny numer identyfikacyjny zakładu
rynek, na który zakład został zakwalifikowany do prowadzenia sprzedaży. Po wyborze opcji inne państwa pojawia się dodatkowe pole, gdzie należy wprowadzić rynki sprzedaży innych państw
pochodzenie surowca
miejsce pozyskania, przetworzenia lub składowania
miejsce przeznaczenia
rodzaj transportu i jego numer identyfikacyjny
komentarz – dane dotyczące procesu technologicznego, norm jakościowych i produkcyjnych oraz stosowanych przez producenta systemów kontroli jakości
Wprowadzone dane są zapamiętywane i podpowiadają się podczas wykonywania kolejnego wydruku HDI.
Handlowy dokument identyfikacyjny – podłączenie wydruku do Comarch ERP Optima
W załączniku znajduje się przykładowy wydruk dokumentu HDI. Wydruk należy podpiąć na formularzu Faktury Sprzedaży (patrz Rysunek 1, poniżej).
W konfiguracji wydruków Formularz Faktury Sprzedaży, zakładka [Ogólne] importujemy definicję z pliku HDI.xml.
Od wersji 2012 Comarch ERP Optima można zaimportować towary i kontrahentów w takim formacie jak zostały wyeksportowane z programu. Oznacza to, że jeśli wykonamy eksport do MS Excel, zmodyfikujemy dane np. ceny dla towarów to możemy zaimportować taki plik bez konieczności zmian nazw kolumn.
Dane można wyeksportować za pomocą ikony , która dostępna jest pod listą odpowiednio kontrahentów (Ogólne/ Kontrahenci) oraz towarów/usług (Ogólne/ Cennik).
Dane można zaimportować za pomocą ikony , która dostępna jest obok ikony do eksportu.
Import można wykonać również z poziomu menu Narzędzia/ Importy/ Słowników z pliku/ Kontrahenci lub Cennik. Przy imporcie cennika, w oknie Parametry importu cennika należy wybrać: Plik w formacie MS Excel i wskazać plik, w którym znajduje się arkusz z danymi.
Pierwszy niepusty wiersz w arkuszu musi zawierać nazwy kolumn. Kolumny mogą występować w dowolnej kolejności. Każdy arkusz musi zawierać dwie lub trzy kolumny obowiązkowe oraz różną ilość kolumn opcjonalnych. Format komórek danej kolumny musi być taki sam. Błędem jest umieszczenie w jednej kolumnie raz wartości 11, a potem w innym wierszu 21,99. Powinno być 11,00 i 21,99.
Od wersji 2021.4 opcja importu i eksportu cennika poprzez plik MS Excel umożliwia również dodawanie/aktualizację informacji dla towarów przesyłanych do sklepów internetowych takich jak nazwy i opisy w językach, statusy dostępności, koszty dostaw, a także atrybuty czasowe i jednostki miary.
Importowane dane
Kontrahenci
Arkusz MS Excel – należy zapisać jako skoroszyt programu MS Excel 97-2003.
Wymagane są trzy kolumny: Kod, Nazwa, NIP
Nazwa arkusza w pliku może być dowolna. Jeśli w pliku jest więcej wypełnionych arkuszy szukany jest pierwszy, który ma kolumnę NIP.
Lista form płatności budowana jest w oparciu o pola: FormaPlatnosci i TerminPlatnosci
Wszystkie płatności przypinane są do kasy gotówkowej. Dla każdego kontrahenta importowane są następujące pola:
Arkusz Kontrahenci
Lp.
Nazwa pola w tabeli CDN.Kontrahenci
Nazwa pola w arkuszu Kontrahenci
Wartości wymagane w polu arkusza
1.
Knt_Kod
Kod
Kod kontrahenta – pole obowiązkowe
2.
Knt_Nazwa1
Nazwa
Nazwa kontrahenta cz.1 – pole obowiązkowe
3.
Knt_Nazwa2
Nazwa2
Nazwa kontrahenta cz. 2
4.
Knt_Nazwa3
Nazwa3
Nazwa kontrahenta cz. 3
5.
Knt_Telefon
Telefon
Numer telefonu
6.
Knt_Telefon2
Telefon2
Drugi numer telefonu
7.
Knt_TelefonSms
TelefonSms
Telefon dla SMS
8.
Knt_Fax
Fax
Numer faxu
9.
Knt_Ulica
Ulica
Adres kontrahenta – ulica
10.
Knt_NrDomu
NrDomu
Adres kontrahenta – numer budynku
11.
Knt_NrLokalu
NrLokalu
Adres kontrahenta – numer lokalu
12.
Knt_KodPocztowy
KodPocztowy
Kod pocztowy miasta kontrahenta
13.
Knt_Poczta
Poczta
Poczta
14.
Knt_Miasto
Miasto
Miasto
15.
Knt_Kraj
Kraj
Kraj
16.
Knt_Wojewodztwo
Wojewodztwo
Województwo
17.
Knt_URL
URL
Adres strony WWW kontrahenta
18.
Knt_Grupa
Grupa
Grupa kontrahentów
19.
Knt_Finalny
OsobaFizyczna
0 – podmiot gospodarczy
1 – osoba fizyczna
20.
Knt_NIPE
NIP
Numer NIP – pole obowiązkowe
21.
Knt_NIPKraj
NIPKraj
Przedrostek NIP dla krajów UE
22.
Knt_Zezwolenie
Zezwolenie
Numer zezwolenia na działalność gospodarczą
23.
Knt_Regon
Regon
Numer REGON
24.
Knt_Pesel
Pesel
Numer PESEL
25.
Knt_Email
Email
Adres e-mail
26.
Knt_RachunekNr
BankRachunekNr
Numer rachunku kontrahenta
27.
Knt_BnkNazwa
BankNazwa
Nazwa banku
28.
Knt_OsNazwisko
Osoba
Nazwisko przedstawiciela
29.
Knt_Opis
Opis
Dodatkowy opis kontrahenta
30.
Knt_Rodzaj
Rodzaj
O – odbiorca, D – dostawca, K – konkurencja, P – partner, T – klient potencjalny
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowane jest O (odbiorca)
31.
Knt_PodatekVAT
PlatnikVAT
0 – (zero) kontrahent nie jest płatnikiem VAT
1 – kontrahent jest płatnikiem VAT
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowane jest 1 (płatnik VAT)
32.
Knt_PodatekVat
PodatnikVatCzynny
Podatnik VAT czynny
0 – parametr niezaznaczony
1 – parametr zaznaczony
33.
Knt_Export
Eksport
0 – (zero) kontrahent krajowy
1 – kontrahent pozaunijny
2 – pozaunijny (zwrot VAT)
3 – kontrahent UE
4 – wewnątrzunijny trójstronny
5 – podatnikiem jest nabywca
6 – poza terytorium kraju
7 – poza terytorium kraju (stawka np.)
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowane jest 0 – (zero) kontrahent krajowy.
W przypadku kontrahentów wewnątrzunijnych oraz wewnątrzunijnych trójstronnych z kolumny NIPKraj pobierany jest wymagany kod kraju UE.
34.
Knt_LimitKredytu
LimitKredytu
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowane jest 0 (zero)
35.
Knt_Termin
Termin
Termin płatności – określany w dniach od daty wystawienia dokumentu.
36.
Knt_FplID z CDN.FormyPlatnosci
FormaPlatnosci
Słownie wyrażona forma płatności. Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowane jest gotówka.
37.
Knt_Ceny
Ceny
Cena dla klienta
0 – cena domyślna
1 – cena zakupu
2 – pierwsza cena sprzedaży
3 – druga cena sprzedaży
4 – trzecia cena sprzedaży
5 – czwarta cena sprzedaży
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowane jest 2 (pierwsza cena sprzedaży). Jeśli w bazie, do której importujemy nie ma ceny z arkusza to jako cena domyślna ustawiana jest cena „domyślna”.
38.
Knt_Ceny
CenyNazwa
Nazwa ceny domyślnej np. hurtowa 2
Cena domyślna jest ustalana na podstawie nazwy, a jeśli nazwa nie zostanie znaleziona w bazie danych to cena domyślna ustalana jest na podstawie numeru z kolumny: Ceny
39.
CDN.Rabaty, dla Rab_typ=2 (jeden kontrahent / wszystkie towary)
Upust
Wartość upustu. Jeżeli kontrahent na 10% upustu należy wpisać 10 (bez znaczka procentu).
40.
Knt_NieNaliczajOdsetek
NieNaliczajOdsetek
Nie naliczać odsetek dla płatności kontrahenta.
41.
Knt_MetodaKasowa
MetodaKasowa
Metoda kasowa
0 – niezaznaczony żaden parametr
1 – Zakup (parametr zależny od Podatnik VAT czynny)
2 – Sprzedaż
42.
Knt_WindykacjaEMail
WindykacjaEMail
Adres poczty e-mail osoby reprezentującej firmę w sprawach windykacji należności.
43.
Knt_WindykacjaTelefonSms
WindykacjaTelefonSms
Telefon dla SMS
44.
Knt_Algorytm
AlgorytmNettoBrutto
Domyślny algorytm naliczania podatku VAT na dokumentach handlowo – magazynowych
0 – netto
1 – brutto
45.
Knt_Waluta
Waluta
Domyślna waluta kontrahenta
Jeżeli waluty nie ma w programie, wówczas przy imporcie jest ona dodawana w Konfiguracji Programu /Ogólne/Waluty .
Towary
Wymagane są trzy kolumny: Kod, Nazwa, JM
Nazwa arkusza w pliku może być dowolna. Jeśli w pliku jest więcej wypełnionych arkuszy szukany jest pierwszy, który ma kolumnę J.M. lub JM
W przypadku, gdy towar posiada więcej jednostek miary lub kodów EAN należy dodać odpowiednio arkusz: JednostkiMiary lub KodyKreskowe
Dla arkusza JednostkiMiary wymagane pola to: KodTowaru, JMZ
Dla arkusza KodyKreskowe wymagane pola to: KodTowaru, Ean, Domyslny
W przypadku, gdy mają być importowani producenci lub marki należy dodać odpowiednio arkusz:
Producenci lub Marki.
Dla arkusza Producenci wymagane pole to: Kod
Dla arkusza Marki wymagane pole to: Marka
Aby zaimportować kody CN należy dodać arkusz KodyCN, dla którego wymagane jest pole Kod.
Aby zaimportować dane towarowe dla sklepów internetowych (od wersji 2021.4) należy dodać odpowiednio arkusze eHandel, eHandelJezyki, eHandelJednostki.
Arkusz eHandel zawiera dane dot. udostepnienia towaru w e-Sklep takie jak grupa domyślna do sklepu, statusy dostępności, koszty dostaw oraz atrybuty czasowe
Dla arkusza eHandel wymagane pola to: KodTowaru, Grupa
Arkusz eHandelJezyki zawiera dane dot. nazw i opisów towarów dla Comarch e-Sklep w językach obcych
Dla arkusza eHandelJezyki wymagane pola to: KodTowaru, JęzykID, Nazwa
Arkusz eHandelJednostki zawiera dane dot. Jednostek miar wysyłanych do Comarch e-Sklep
Dla arkusza eHandelJednostki wymagane pola to: KodTowaru, JednostkaPomocnicza
Jeżeli pozycja cennika jest towarem złożonym nie jest przenoszona receptura produktu. Nie są importowane waluty.
Jako nazwy kolumn w arkuszu dla tabeli CDN.Towary mogą być stosowane również nazwy kolumn tej tabeli zgodne ze strukturą bazy danych, czyli poprawny zapis nazwy kolumny odpowiedzialnej za kod towaru to: Kod lub Twr_Kod
Dla każdej pozycji cennika importowane są następujące pola:
Arkusz Cennik
Lp.
Nazwa pola w tabeli CDN.Towary
Nazwa pola w arkuszu Cennik
Wartości wymagane w polu arkusza
1.
Twr_Kod
Kod
Kod towaru - pole obowiązkowe
2.
Twr_Nazwa
Nazwa
Nazwa towaru - pole obowiązkowe
3.
Twr_Jm
JM
Nazwa jednostki miary - pole obowiązkowe
4.
Twr_JmZ
JmZ
Dodatkowa jednostka miary. Jeżeli towar posiada więcej jednostek miary należy dodać arkusz JednostkiMiary.
5.
Twr.JMPrzelicznikL
Przelicznik_JmJmZ
Przelicznik podstawowej jednostki miary na jednostkę złożoną.
Twr.JMPrzelicznikM
6.
Twr_Typ
Typ
TP – towar prosty
Twr_Produkt
TZ – towar złożony
UP – usługa prosta
UZ – usługa złożona
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona, przyjmowana jest wartość TP (towar prosty), jeśli została pobrana licencja na Comarch ERP Optima Handel/ Handel Plus lub UP (usługa prosta), jeśli pobrano licencję tylko na Comarch ERP Optima Faktury.
7.
Twr_NumerKat
NumerKatalogowy
Numer katalogowy
8.
Twr_SWW
SWW
Numer PKWiU
9.
Twr_TwGGIDNumer
Grupa
Grupa towarowa
CDN.TwrGrupy
10.
Twr_IloscMin
StanMin
Stan minimalny towaru na magazynie
11.
Twr_IloscMax
StanMax
Stan maksymalny towaru na magazynie
12.
Twr_Stawka
VAT
Liczba całkowita określająca stawkę VAT. Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowana jest wartość 23.
13.
Twr_StawkaZak
VATZak
Liczba całkowita określająca stawkę VAT zakupu. Jeżeli kolumny te nie występują to stawka VAT zakupu jest ustawiana na taką samą jak stawka VAT sprzedaży.
14.
Twr_Flaga
VATFlaga
1 - zwolniona
2 - opodatkowana
3 - zaniżona
4 - nie podlega
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowana jest wartość 2.
15.
Twr_FlagaZak
VatZakFlaga
1 - zwolniona
2 - opodatkowana
3 - zaniżona
4 - nie podlega
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona to wartość pola jest ustawiana na taką samą jak wartość pola Twr_Flaga.
16.
Twr_EAN
EAN
Kod kreskowy
17.
Twr_Opis
Opis
Opis towaru
18.
Twr_Kaucja
OpakowanieKaucja
Kolumna powinna zawierać 1 jeśli towar jest opakowaniem kaucjonowanym i 0 w pozostałych przypadkach.
19.
Twr_OdwrotneObciazenie
OdwrotneObciazenie
Parametr Odwrotne obciążenie (widoczny w oknie Pozycji cennika na zakładce [Ogólne] po zaznaczeniu w menu System/ Konfiguracja/ Firma/ Handel/ Parametry – Odwrotne obciążenie wg karty towaru ):
0 – Nie
1 – Tak
2 – Powyżej limitu
20.
Twr_CenaZCzteremaMiejscami
CenaZCzteremaMiejscami
Parametr Ceny z czterema miejscami po przecinku (widoczny w oknie Pozycji cennika na zakładce [Ogólne] po zaznaczeniu w menu System/ Konfiguracja/ Firma/ Handel/ Parametry – Ceny z czterema miejscami po przecinku ):
0 – niezaznaczony
1 – zaznaczony
21.
Twr_TypMinimum
Granica ceny
0 – brak granicy ceny,
1 – minimalna marża,
2 – maksymalny rabat.
22.
Twr_MinCenaMarza
Minimalna cena/marża
Wartość ustalonej granicy ceny (min. marży/ max. rabatu).
23.
Twr_Kntid (Id z tabeli CDN.Kontrahenci)
Dostawca
Dostawca (kod dostawcy z zakładki Dodatkowe na karcie towaru), Dostawca musi być wcześniej wprowadzony na listę kontrahentów oraz na swojej karcie musi mieć zaznaczony parametr Dostawca.
24.
Twr_Koddostawcy
Kod u dostawcy
Kod u dostawcy (kod towaru u dostawcy z zakładki Dodatkowe na karcie towaru).
25.
Twr_ProducentKod
Kod producenta
Kod producenta (kod towaru producenta z zakładki Dodatkowe na karcie towaru).
26.
Prd_Kod
Producent
Producent towaru (zakładka Dodatkowe na karcie towaru).
27.
Mrk_Nazwa
Marka
Marka towaru (zakładka Dodatkowe na karcie towaru).
28.
Twr_KCNId (Id z tabeli CDN.KodyCN)
Intrastat - kod CN
Ośmiocyfrowy kod CN.
W sytuacji kiedy w arkuszu Cennik dla towaru uzupełniono kod CN, ale nie ma go bazie, do której wykonywany jest import i nie uzupełniono go w arkuszu KodyCN , kod ten nie zostanie uzupełniony na importowanej/ aktualizowanej kartotece towarowej.
29.
Twr_KrajPochodzenia
Intrastat - kraj pochodzenia
Dwuznakowy symbol kraju pochodzenia towaru.
30.
Twr_Masa
Intrastat - masa
Masa netto dla jednostki podstawowej towaru podana w kg.
31.
Twr_JmPomPrzelicznikL
Intrastat - JmPomPrzelicznikL
Licznik przelicznika jednostki miary uzupełniającej przypisanej do kodu CN określającego jej stosunek do podstawowej jednostki miary towaru.
32.
Twr_JmPomPrzelicznikM
Intrastat - JmPomPrzelicznikM
Mianownik przelicznika jednostki miary uzupełniającej przypisanej do kodu CN określającego jej stosunek do podstawowej jednostki miary towaru.
33.
Twr_SplitPay
Podzielona płatność
Parametr MPP - podzielona płatność (widoczny w oknie Pozycji cennika na zakładce [Ogólne]):
0 - niezaznaczony
1 - zaznaczony
34
Twc_wartosc dla Twc_TwcNumer=1 dla odpowiedniego towaru Twc_twrid
Cena zakupu
Cena zakupu
35.
TwC_Waluta dla TwcNumer=1 dla odpowiedniego towaru Twc_twrid
Waluta Cena zakupu
Waluta ceny zakupu
36.
Twc_wartosc dla Twc_TwcNumer= 2
Cena hurtowa 1
Cena hurtowa (1)
37.
TwC_Waluta dla TwcNumer=2
Waluta Cena hurtowa 1
Waluta ceny hurtowej (1)
38.
Twc_wartosc dla Twc_TwcNumer=3
Cena hurtowa 2
Cena hurtowa (2)
39.
TwC_Waluta dla TwcNumer=3
Waluta Cena hurtowa 2
Waluta ceny hurtowej (2)
40.
Twc_wartosc dla Twc_TwcNumer=4
Cena hurtowa 3
Cena hurtowa (3)
41.
TwC_Waluta dla TwcNumer=4
Waluta Cena hurtowa 3
Waluta ceny hurtowej (3)
42.
Twc_wartosc dla Twc_TwcNumer=5
Cena detaliczna
Cena detaliczna
43.
TwC_Waluta dla TwcNumer=5
Waluta Cena detaliczna
Waluta ceny detalicznej
44.
Twc_wartosc dla Twc_TwcNumer=6
Cena iSklep24
Ewentualna cena dodana przez Użytkownika
45.
TwC_Waluta dla TwcNumer=6
Waluta Cena iSklep24
Waluta ceny iSklep24
Arkusz JednostkiMiary
38.
Twr_Kod
KodTowaru
Kod towaru - pole obowiązkowe
39.
TwJZ_JM (Twr_TwrID = TwJZ_TwrID)
JMZ
Nazwa jednostki miary - pole obowiązkowe
40.
TwJZ_JMPrzelicznikL ((Twr_TwrID = TwJZ_TwrID)
PrzelicznikL
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowana jest wartość równa 1.
41.
TwJZ_JMPrzelicznikM (Twr_TwrID = TwJZ_TwrID)
PrzelicznikM
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowana jest wartość równa 1.
Arkusz KodyKreskowe
42.
Twr_Kod
KodTowaru
Kod towaru – pole obowiązkowe
43.
TwE_EAN (Twr_TwrID = TwE_TwrID)
Ean
Kod kreskowy – pole obowiązkowe
44.
TwE_JM (Twr_TwrID = TwE_TwrID)
JmDlaEan
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowana jest wartość z JM.
45.
TwE_Domyslny (Twr_TwrID = TwE_TwrID)
Domyslny
Status kodu kreskowego – pole obowiązkowe
Arkusz Producenci
46.
Prd_Kod
Kod
Kod producenta – pole obowiązkowe
47.
Prd_Nazwa
Nazwa
Nazwa producenta
48.
Prd_URL
URL
Odsyłacz do adresu internetowego
Arkusz Marki
49.
Mrk_Nazwa
Marka
Nazwa marki – pole obowiązkowe
50.
Prd_Kod
Producent
Kod producenta
Arkusz Kody CN
51.
KCN_Kod
Kod
Ośmiocyfrowy kod CN – pole obowiązkowe
52.
KCN_Opis
Opis
Opis kodu CN
53.
KCN_UzupJM
Jm
Dla kodów CN związanych z jednostką miary uzupełniającą należy podać nazwę tej jednostki
54.
KCN_Masa
Masa
Przyjmuje wartość 1 jeśli dla kodu CN należy określić masę towaru. W przeciwnym wypadku pole należy pozostawić puste bądź uzupełnić wartością 0 .
55.
KCN_Stawka
VAT
Liczba całkowita określająca stawkę VAT kodu CN.
56.
KCN_Flaga
VATFlaga
1 - zwolniona
2 - opodatkowana
3 - zaniżona
4 - nie podlega
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona, przyjmowana jest wartość 2.
Arkusz eHandel
57.
Twr_Kod
KodTowaru
Kod towaru – pole obowiązkowe
58.
Twes_Udostepnij
(Twr_TwrID = Twes_TwrID)
Udostepnij
Parametr Udostępnij (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 - zaznaczony
Grupa Towarowa dla e-Sklep/e-Sale
(wskazana grupa musi być podgrupą dla grupy udostępnianej do sklepu)
60.
Twes_ESklepStatus
(Twr_TwrID = Twes_TwrID)
StatusDostepnosci
Parametr Status dostępności (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – Zapowiedź
1 – Dostępny
2 – Dostępny na zamówienie
3 – Niedostępny
61.
Twes_ESklepDostepnosc
(Twr_TwrID = Twes_TwrID)
Dostepnosc
Wartość parametru Dostępność (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – Dostępny od ręki
1 – Dostępny do 24h
2 – Dostępny do 48h
3 – od 3 do 5 dni
4 – do 7 dni
5 – do 14 dni
6 – powyżej 14 dni
Parametr ustawiany jedynie w przypadku gdy w kolumnie StatusDostepnosci ustawiono wartość 1
Parametr Nie kontroluj stanów magazynowych (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 – zaznaczony
Parametr nie zostanie zaznaczony jeśli w kolumnie StatusDostepnosci ustawiono różną od 0 i 1 lub jeżeli karta cennikowa jest usługą
63.
Twes_ESklepDostepnyOd
(Twr_TwrID = Twes_TwrID)
DostepnyOd
Parametr Dostępny od (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 – zaznaczony
Parametr nie zostanie zaznaczony jeśli w kolumnie StatusDostepnosci ustawiono wartość inną niż 0
Data od której towar będzie dostępny w przypadku ustawienia statusu Zapowiedź.
Parametr nie zostanie wypełniony jeśli w kolumnie StatusDostepnosci ustawiono wartość inną niż 0
65.
Twes_ESklepZapytajOCene
(Twr_TwrID = Twes_TwrID)
ZapytajOCene
Parametr Zapytaj o cenę towaru (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 – zaznaczony
66.
Twes_ESklepBezRabatu
(Twr_TwrID = Twes_TwrID)
Rabat
Parametr Towar nie podlega rabatowaniu (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 – zaznaczony
Wartość kosztu dostawy w przypadku ustawienia stałego kosztu dostawy.
Parametr nie zostanie wypełniony jeśli w kolumnie KosztDostawy ustawiono wartość inną niż 2
69.
Twes_ESklepFlaga_Nowosc
(Twr_TwrID = Twes_TwrID)
Nowosc
Flaga dla atrybutu czasowego Nowość (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 - zaznaczony
Flaga dla atrybutu czasowego Wyprzedaż (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 - zaznaczony
74.
Twes_ESklepFlaga_Nagroda
(Twr_TwrID = Twes_TwrID)
Nagroda
Flaga dla atrybutu czasowego Nagroda (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 – zaznaczony
Parametr nie zostanie zaznaczony jeśli w kolumnie ZapytajOCene ustawiono wartość 1
Flaga dla atrybutu czasowego Rekomendacja Sprzedawcy (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 - zaznaczony
Arkusz eHandelJezyki (Tylko dla modułu Handel Plus)
79.
Twr_Kod
KodTowaru
Kod towaru – pole obowiązkowe
80.
TwrJ_JezykID
(Twr_TwrID = TwrJ_TwrID)
JezykID
Id języka, wg. kolejności na liście wyboru parametru Język
(formularz języka towaru zakładka e-Sklep/e-Sale)
np.:
1 – polski,
2 – angielski,
3 – niemiecki
81.
TwrJ_Nazwa
Nazwa
Nazwa towaru w języku obcym (Formularz języka towaru zakładka [e-Sklep/e-Sale])
82.
TwrJ_Opis
Opis
Opis towaru w języku obcym (Formularz języka towaru zakładka [e-Sklep/e-Sale])
83.
TwrJ_MetaTytul
Tytul
Tytuł towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie])
84.
TwrJ_Link
Link
Link dla pozycjonowania towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie])
85.
TwrJ_MetaSlowaKluczowe
SlowaKluczowe
Słowa kluczowe dla pozycjonowania towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie])
86.
TwrJ_MetaOpis
MetaOpis
Meta Opis dla pozycjonowania towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie])
87.
TwrJ_OpisKrotki
OpisSkrocony
Opis skrócony dla pozycjonowania towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie])
88.
TwrJ_Szukaj
Szukaj
Słowa kluczowe wykorzystywane do wyszukiwania przy pozycjonowaniu towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie])
Arkusz eHandelJednostki
89.
Twr_Kod
(Twr_TwrID = TwJZ_TwrID)
KodTowaru
Kod towaru – pole obowiązkowe
90.
TwJZ_JM
(Twr_TwrID = TwJZ_TwrID)
JednostkaPomocnicza
Nazwa jednostki miary dla eSklep
91.
TwJZ_eSklepDomyslna
(Twr_TwrID = TwJZ_TwrID)
Domyslna
Parametr określający czy wybrana Jednostka miary jest domyślna dla e-Sklep
0 – niezaznaczony
1 – zaznaczony
W przypadku gdy więcej niż jedna jednostka pomocnicza ma w kolumnie Domyslna ustawioną wartość 1 – jako domyślna zostanie ustawiona jedynie oststnia występująca w arkuszu dla danego towaru.
Uwaga
Wszystkie ceny z arkusza będą traktowane wg ustawień w konfiguracji programu Comarch ERP Optima (System/ Konfiguracja Firmy/ Handel/ Ceny towarów i usług). Jeśli przed importem cena np. Cena hurtowa 2 została usunięta z konfiguracji, wówczas podczas importu pomijana jest Cena hurtowa 2 (rozpoznawane są nazwy).
Jeżeli cena w arkuszu jest ceną netto, dla odpowiedniej ceny w Comarch ERP Optima należy ustawić typ: netto. Jeżeli cena w arkuszu jest ceną brutto, dla odpowiedniej ceny w Comarch ERP Optima należy ustawić typ: brutto. Ustawienie to musi być zrobione przed rozpoczęciem importu.
Aby zostały zaimportowane ceny z czterema miejscami po przecinku, w menu System/ Konfiguracja/ Firma/ Handel/ Parametry musi by zaznaczony parametr Ceny z czterema miejscami po przecinku i w arkuszu w kolumnie CenaZCzteremaMiejscami musi być wartość 1.
Przy aktualizacji cen (kolejne importy) nie jest podmieniany typ karty cennikowej – towar/ usługa, prosty/ złożony.
Przy aktualizacji pól tekstowych np. numeru katalogowego, jeśli pola w arkuszu nie są wypełnione, to wartości w Comarch ERP Optima nie są czyszczone (pozostają takie jak przed aktualizacją).
Przykładowy plik do zaimportowania znajduje się pod tym linkiem.
Poniższe scenariusze postępowania oraz przykładowe schematy księgowe, można wprowadzić do bazy DEMO i sprawdzić w praktyce ich działanie. Jeżeli baza DEMO nie jest widoczna na liście firm, można ją odtworzyć podając podczas odtwarzania ścieżkę do katalogu, domyślnie jest to Program files/ Comarch ERP Optima.
Prosty schemat dla księgowania raportów kasowych/bankowych
Konto Wn
Konto Ma
Słownik
Kwota
Warunek
@KontoRach
@KontoPrzeciw
Podmioty
@Przychod
@KontoPrzeciw
@KontoRach
Podmioty
@Rozchod
@KontoDodatWn
@KontoDodatMa
Podmioty
@KwotaDodat
@KontoRach – w schemacie dla raportów K/B, można wybrać to makro klikając w strzałkę obok Konto Wn, Konto Ma: Konta -> Konto kasy (rachunku). Program będzie pobierał konto kasy lub rachunku bankowego z pola Konto księgowe na Rejestrze kasowo/bankowym (Kasa/Bank -> Rejestry kasowe/bankowe).
@KontoPrzeciw – w schemacie dla raportów K/B, można wybrać to makro klikając w strzałkę obok Konto Wn, Konto Ma: Konta _ Konto przeciwstawne. Program będzie pobierał konto przeciwstawne z pola Konto przeciwstawne, które znajduje się na formatce Zapisu kasowo/bankowego (Kasa/Bank -> Zapisy kasowe/bankowe).
@KontoDodatWn/@KontoDodatMa – w schemacie dla raportów K/B, można wybrać to makro klikając w strzałkę obok Konto Wn, Konto Ma: Kwoty dodatkowe -> Konto Wn/Konto Ma. Program będzie pobierał konto z kwot dodatkowych, które znajdują się na formatce Zapisu kasowo/bankowego, pod ikonką Kwoty dodatkowe. Dodatkowo podział na słowniki Podmioty spowoduje, że w Kwotach dodatkowych będzie można użyć kont słownikowych dla podmiotów wybranych na dokumencie.
Na Zapisie Kasowo/Bankowym, w polu Konto przeciwstawne, można wpisywać symbol konta słownikowego np. 201-2-1, 202-2-1, 231 bez podawania konkretnej analityki podmiotu np. 201-2-1-ALOZA. Gdy w polu Konto przeciwstawne podamy konto 201-2-1, program zaksięguje na właściwą analitykę 201-2-1-ALOZA jeżeli kontrahent ALOZA zostanie wybrany na zapisie K/B.
Pozycja trzecia schematu, umożliwia zaksięgowanie Zapisu K/B na dodatkowe konta poza kontem kasy (rachunku) (100) i kontem do niego przeciwstawnym (461-3) np. na konta zespołu 5 gdy bezpośrednio z kasy księgujemy np. koszty proste.
Jeżeli w kwotach dodatkowych Zapisu Kasowo/Bankowego będą wpisywane konta słownikowe, w pozycji schematu dotyczącej księgowań poprzez Kwoty dodatkowe (pozycja trzecia), musi być wybrany Podział na słowniki: Podmioty.
Jeżeli na pozycji schematu, gdzie użyto konto rozrachunkowe, zostanie zaznaczony parametr Rozrachunek to po zaksięgowaniu dekret pojawi się w opcji Księgowość/ Rozrachunki, co pozwoli na parowanie ze sobą dekretów na kontach rozrachunkowych.
Prosty schemat dla księgowania walutowych raportów kasowych/bankowych uwzględniający księgowanie zapisów na konta walutowe i PLN
Lp.
Konto Wn
Konto Ma
Słownik
Kwota
Księg. walut
Warunek
1
@KontoRach
brak
@Rozchod
tak
2
@KontoPrzeciw
Podmioty
@Rozchod
tak
@KontoPrzeciw <>'149'
3
@KontoRach
brak
@Przychod
tak
4
@KontoPrzeciw
Podmioty
@Przychod
tak
@KontoPrzeciw <>'149'
5
@KontoPrzeciw
brak
@Przychod
nie
@KontoPrzeciw ='149'
6
@KontoPrzeciw
brak
@Rozchod
nie
@KontoPrzeciw ='149'
Pozycja 1 – księguje rozchód w walucie na konto rachunku, które jest walutowe
Pozycja 2 – sprawdza czy konto przeciwstawne jest różne od konta np. 149, które jest kontem w PLN i księguje rozchód w walucie
Pozycja 3 – księguje przychód w walucie na konto rachunku, które jest walutowe
Pozycja 4 – sprawdza czy konto przeciwstawne jest różne od konta np. 149, które jest kontem w PLN i księguje przychód w walucie
Pozycja 5 – sprawdza czy konto przeciwstawne to konto np. 149, które jest kontem w PLN i księguje przychód
w PLN
Pozycja 6 – sprawdza czy konto przeciwstawne to konto np. 149, które jest kontem w PLN i księguje rozchód
w PLN.
Schemat księgowy dla raportów kasowych/bankowych uwzględniający księgowanie zapisów w PLN i walucie obcej
Pozycja 1 – sprawdza czy waluta rozliczenia jest w PLN i księguje rozchód w PLN
Pozycja 2 – jak wyżej tylko dla przychodu.
Pozycja 3 – sprawdza czy waluta dokumentu to PLN, waluta rozliczenia inna od PLN a konto rachunku jest złotówkowe, jeśli tak, księguje rozchód w PLN.
Pozycja 4 – sprawdza czy waluta dokumentu oraz waluta rozliczenia jest różna od PLN a konto rachunku jest w walucie, jeśli tak, księguje rozchód w walucie.
Pozycja 5 – sprawdza czy waluta dokumentu oraz waluta rozliczenia jest różna od PLN a konto rachunku jest w PLN, jeśli tak, księguje rozchód w PLN.
Pozycja 6 – sprawdza czy waluta rozliczenia jest różna od PLN i księguje rozchód w walucie
Pozycje 7 – jak wyżej tylko dla przychodu.
Pozycja 8 – sprawdza czy waluta dokumentu to PLN, waluta rozliczenia inna od PLN a konto rachunku jest złotówkowe, jeśli tak, księguje przychód w PLN.
Pozycja 9 – sprawdza czy waluta dokumentu oraz waluta rozliczenia jest różna od PLN a konto rachunku jest w walucie, jeśli tak, księguje przychód w walucie.
Pozycja 10 – sprawdza czy waluta dokumentu oraz waluta rozliczenia jest różna od PLN a konto rachunku jest w PLN, jeśli tak, księguje przychód w PLN.
Lp.
Konto Wn
Konto Ma
Słownik
Kwota
Księg. walut
Warunek
1
@KontoRach
201-1-1
Podmioty
@Przychod
nie
@RozliczenieWaluta ='PLN'
2
202-1-1
@KontoRach
Podmioty
@Rozchod
nie
@RozliczenieWaluta ='PLN'
3
@KontoRach
brak
@Rozchod
nie
@RozliczenieWaluta <>'PLN' AND @Waluta ='PLN' AND @KontoRach ='131'
4
@KontoRach
brak
@Rozchod
tak
@RozliczenieWaluta <>'PLN' AND @Waluta <>'PLN' AND @KontoRach ='135'
5
@KontoRach
brak
@Rozchod
nie
@RozliczenieWaluta <>'PLN' AND @Waluta <>'PLN' AND @KontoRach ='131'
6
203
podmioty
@Rozchod
tak
@RozliczenieWaluta <>'PLN'
7
203
podmioty
@Przychod
tak
@RozliczenieWaluta <>'PLN'
8
@KontoRach
brak
@Przychod
nie
@RozliczenieWaluta <>'PLN' AND @Waluta ='PLN' AND @KontoRach ='131'
9
@KontoRach
brak
@Przychod
tak
@RozliczenieWaluta <>'PLN' AND @Waluta <>'PLN' AND @KontoRach ='135'
10
@KontoRach
brak
@Przychod
nie
@RozliczenieWaluta <>'PLN' AND @Waluta <>'PLN' AND @KontoRach ='131'
Uwaga
Jeśli w koncie przeciwstawnym zostanie wybrane konto słownikowe, a nie konkretna analityka, i podmiot wybrany na zapisie kasowym/bankowym nie ma założonego konta analitycznego, zostanie założone konto w walucie PLN, niezależnie od waluty dokumentu. Jeżeli istnieje konto walutowe i zapis jest walutowy – dokument zostanie zaksięgowany na to konto
Schemat dla księgowania faktur zakupu z Rejestru VAT – z wykorzystaniem segmentów kont na kategoriach
Scenariusz postępowania:
W Ogólne/ Kategorie dodając Kategorię wpisujemy na zakładce Dodatkowe, w polach Konto-segment Wn i/lub Konto-segment Ma, konto księgowe odpowiadające tej kategorii np. kategoria MAT. BIUROWE, Konto-segment Wn: 401-01-03, kategoria: ENERGIA, Konto-segment Wn: 401-01-05
W Rejestry VAT/Rejestry VAT/Rejestr zakupu dodajemy fakturę, na której dodajemy pozycje np.
w kolumnie Kategoria: MAT. BIUROWE, odpowiednia stawka VAT, kwota netto itd. i w drugiej pozycji Kategoria: ENERGIA, odpowiednia stawka, kwota netto itd.
Schemat księgowy:
Konto Wn
Konto Ma
Słownik
Kwota
Warunek
202-2-1
Podmioty
@Brutto
221-1
brak
@Vat
@KatElemKontoWn
brak
@Netto
@KontoDodatWn
@KontoDodatMa
Podmioty
@KwotaDodat
@KatElemKontoWn – w schemacie dla Rejestru zakupu VAT, można wybrać to makro klikając w strzałkę obok Konto Wn, Konto Ma: Kategoria pozycji/Konto Wn kategorii. Konto księgowe zostanie pobrane z kategorii znajdującej się w pozycji faktury zakupu (kategoria pozycji przy stawkach VAT na fakturze).
@KontoDodatWn/@KontoDodatMa – w schemacie Rejestru VAT, można wybrać to makro klikając w strzałkę obok Konto Wn, Konto Ma: Kwoty dodatkowe -> Konto Wn/Konto Ma. Program będzie pobierał konto z kwot dodatkowych, które znajdują się na formatce Faktury zakupu, pod ikonką Kwoty dodatkowe. Dodatkowo podział na słowniki Podmioty spowoduje, że w Kwotach dodatkowych będzie można użyć kont słownikowych dla podmiotów wybranych na dokumencie. Pozycja wykorzystująca te makra, pozwala na dodatkowe rozksięgowanie dokumentu np. poza kontem zespołu „4”, które jest pobierane z odpowiedniej kategorii pozycji, równocześnie, na określone przez użytkownika konta zespołu „5”.
Schemat dla księgowania faktur zaliczkowych i zwykłych z modułu Faktury
Poniższe schematy umożliwiają księgowanie zarówno faktur zwykłych jak i faktur zaliczkowych oraz faktur finalnych do zaliczkowych. Ostatnia pozycja w schematach pozwala na automatyczne wyksięgowania dotychczasowych zaliczek netto w celu przeksięgowania ich na konto przychodów ze sprzedaży.
Schemat księgowy:
Konto Wn
Konto Ma
Słownik
Kwota
Warunek
201-2-1
Podmioty
@Brutto
221-2
brak
@Vat
842-2
brak
@Netto
@CzyZaliczkowa ='TAK'
731-2
brak
@Netto
@CzyZaliczkowa ='FINALNA' OR @CzyZaliczkowa ='NIE'
842-2
731-2
brak
@ZalNetto
@CzyZaliczkowa ='FINALNA'
Gdy konto 731-2 jest kontem słownikowym towarów, schemat może wyglądać następująco:
Konto Wn
Konto Ma
Słownik
Kwota
Warunek
201-2-1
Podmioty
@Brutto
221-2
brak
@Vat
842-2
brak
@Netto
@CzyZaliczkowa ='TAK'
731-2
Towary
@PozNetto
@CzyZaliczkowa ='FINALNA' OR @CzyZaliczkowa ='NIE'
842-2
brak
@ZalNetto
@CzyZaliczkowa ='FINALNA'
Zaliczki pracowników
Scenariusz postępowania 1: zaliczka jest na kwotę równą fakturze zakupu:
pracownik pobiera zaliczkę z kasy np. 150 zł – w menu Kasa/Bank -> Zapisy Kasowe/Bankowe dodajemy dokument rozchodowy (KW), wybierając jako podmiot Pracownika.
pracownik przynosi fakturę zakupu (FZ) np. na kwotę 150 zł, która została zapłacona ww. zaliczką 150 zł
– dodajemy zapis w menu Rejestry VAT/Rejestry VAT/ zakładka: Rejestr zakupu:
na pierwszej zakładce wybieramy kontrahenta, który widnieje na FZ i uzupełniamy pozostałe dane,
na zakładce Kontrahent, klikamy na przycisk Pracownik i wybieramy naszego zaliczkobiorcę,
w tabelce powyżej pojawi się lista zaliczek, w naszym przykładzie jedno KW na kwotę 150 zł, klikamy dwukrotnie w kolumnę Użyj, wybieramy TAK, w kolumnie Kwota wpisujemy 150 zł.
zapisujemy dokument.
Po zapisaniu, faktura zakupu oraz dokument KW zostaną całkowicie rozliczone.
Scenariusz postępowania 2: zaliczka jest na kwotę wyższą od faktury zakupu:
pracownik pobiera zaliczkę z kasy np. 250 zł – w menu Kasa/Bank -> Zapisy Kasowe/Bankowe dodajemy dokument rozchodowy (KW), wybierając jako podmiot Pracownika.
pracownik przynosi fakturę zakupu (FZ) np. na kwotę 150 zł, która została zapłacona ww. zaliczką 150 zł, resztę zaliczki pracownik zwraca do kasy (100 zł) – dodajemy zapis w menu Rejestry VAT/Rejestry VAT/ zakładka: Rejestr zakupu:
na pierwszej zakładce wybieramy kontrahenta, który widnieje na FZ i uzupełniamy pozostałe dane,
na zakładce Kontrahent, klikamy na przycisk Pracownik i wybieramy naszego zaliczkobiorcę,
w tabelce powyżej pojawi się lista zaliczek, w naszym przykładzie jedno KW na kwotę 150 zł, klikamy dwukrotnie w kolumnę Użyj, wybieramy TAK, w kolumnie Kwota wpisujemy 150 zł,
zapisujemy dokument.
FZ jest całkowicie rozliczona, natomiast KW jest częściowo rozliczone. Pracownik wpłaca do kasy pozostałą część zaliczki:
w menu Kasa/Bank -> Zapisy Kasowe/Bankowe dodajemy dokument przychodowy (KP) od pracownika, na kwotę 100 zł.
na zakładce Rozliczenia, dokumentu KP, klikamy w strzałkę obok ikony plusa i wybieramy Kompensata,
gdy pojawi się lista zapisów kasowych pracownika, wybieramy KW (zaliczkę) i kompensujemy z KP.
Zaliczka pracownika jest całkowicie rozliczona.
Scenariusz postępowania 3: zaliczka jest na kwotę niższą od faktury zakupu:
pracownik pobiera zaliczkę z kasy np. 150 zł – w menu Kasa/Bank -> Zapisy Kasowe/Bankowe dodajemy dokument rozchodowy (KW), wybierając jako podmiot Pracownika.
pracownik przynosi fakturę zakupu (FZ) np. na kwotę 250 zł, która została zapłacona ww. zaliczką 150 zł, pozostała część płatności faktury pozostaje do rozliczenia (100 zł) – dodajemy zapis w menu Rejestry VAT/Rejestry VAT/zakładka: Rejestr zakupu:
na pierwszej zakładce wybieramy kontrahenta, który widnieje na FZ i uzupełniamy pozostałe dane,
na zakładce Kontrahent, klikamy na przycisk Pracownik i wybieramy naszego zaliczkobiorcę,
w tabelce powyżej pojawi się lista zaliczek, w naszym przykładzie jedno KW na kwotę 150 zł, klikamy dwukrotnie w kolumnę Użyj, wybieramy TAK, w kolumnie Kwota wpisujemy 150 zł,
zapisujemy dokument.
FZ jest częściowo rozliczona: w Preliminarzu płatności 150 zł znajduje się na liście rozliczonych dokumentów,
a pozostałe 100 zł na liście dokumentów nierozliczonych. Na zdarzeniu w Preliminarzu znajduje się kontrahent wprowadzony na fakturze.
Dokument KW jest całkowicie rozliczony.
Schemat księgowy:
Przykładowy schemat księgowy pozwala na przeksięgowanie zaliczki z konta kontrahenta na konto pracownika, który pobrał zaliczkę na zakup.
Konto Wn
Konto Ma
Słownik
Kwota
Warunek
@KatElemKontoWn
@Netto
221-1
@VAT
202-2-1
Podmioty
@Brutto
202-2-1
Podmioty
@PlatZaliczka
@TypPodmiotu ='kontrahent' AND @TypZaliczkobiorcy ='pracownik'
234
Zaliczkobiorcy
@PlatZaliczka
@TypPodmiotu ='kontrahent' AND @TypZaliczkobiorcy ='pracownik'
Poniższy schemat pozwoli natomiast na zaksięgowanie kwoty brutto na konto kontrahenta lub na konto pracownika (z pominięciem przeksięgowywania z konta kontrahenta na konto pracownika).
Konto Wn
Konto Ma
Słownik
Kwota
Warunek
@KatElemKontoWn
@Netto
221-1
@VAT
202-2-1
Podmioty
@Brutto
@TypPodmiotu ='kontrahent' AND @TypZaliczkobiorcy <>'pracownik'
234
Zaliczkobiorcy
@Brutto
@TypPodmiotu ='kontrahent' AND @TypZaliczkobiorcy ='pracownik'
Przykładowy schemat do księgowania różnic kursowych
Przykład schematu dla Comarch ERP Optima w wersji 8.5 lub wyższej.
Konto Wn
Konto Ma
Słownik
Kwota
Księgowanie walutowe
Warunek
204
Podmioty
@RoznicaPlus
TAK
@TypRozl ='FZK-KP' OR @TypRozl ='FZ-FZK' OR @TypRozl ='FZ-KW'
204
Podmioty
@RoznicaMinus
TAK
@TypRozl ='FZK-KP' OR @TypRozl ='FZ-FZK' OR @TypRozl ='FZ-KW'
752-5
brak
@RoznicaPlus
NIE
751-4
brak
@RoznicaMinus
NIE
203
Podmioty
@RoznicaPlus
TAK
@TypRozl ='FSK-FS' OR @TypRozl ='FSK-KW' OR @TypRozl ='FS-KP'
203
Podmioty
@RoznicaMinus
TAK
@TypRozl ='FSK-FS' OR @TypRozl ='FSK-KW' OR @TypRozl ='FS-KP'
Ten uniwersalny schemat pozwala na zaksięgowanie dodatnich lub ujemnych różnic kursowych wynikających
z dokonywanych rozliczeń na dokumentach walutowych. Rozbudowany warunek pozwala na odróżnienie, czy różnica dotyczy rozrachunków z dostawcami (konto 204), czyli mamy do czynienia z rozliczeniem Faktury zakupu
z dokumentem KW (’FZ-KW’), korekty faktury zakupu z dokumentem KP (’FZK-KP’) lub faktury zakupu z korektą faktury zakupu (’FZ- FZK’), czy rozrachunków z odbiorcami (konto 203) czyli mamy do czynienia z rozliczeniem faktury sprzedaży (’FS-KP’), korekty faktury sprzedaży z dokumentem KW (’FSK-KW’) lub fakturą sprzedaży i korekta faktury sprzedaży (’FSK-FS’). Konta rozrachunków z kontrahentami to konta walutowe, konta różnic kursowych to konta złotówkowe. Schemat dotyczy sytuacji gdy na dokumencie rozliczanym i rozliczającym jest ten sam podmiot.
Jeżeli rozrachunki walutowe z dostawcami i odbiorcami są księgowane na jedno konto np. konto 203 – nie jest potrzebny warunek rozróżniający typy dokumentów biorących udział w rozliczeniu.
Przykładowy schemat do księgowania kompensat
Schemat obejmuje najbardziej standardową sytuację czyli księgowanie kompensaty (faktura zakupu z fakturą sprzedaży) dla tego samego lub różnych podmiotów i dla dokumentów wystawionych w PLN. Schemat ten dotyczy kompensat księgowanych z poziomu Kasa/Bank/Dokumenty rozliczone (Typ schematu: Rozliczenia).
Dla przykładu, przed zaksięgowaniem kompensaty, mamy następującą sytuację na kontach:
Kompensujemy w module Kasa/Bank Fakturę zakupu od kontrahenta ALOZA z Fakturą sprzedaży wystawioną dla kontrahenta ALOZA na kwotę 1000 zł i księgujemy kompensatę schematem:
Konto Wn
Konto Ma
Słownik
Kwota
Warunek
202-2-1
Podmioty
@KwotaRoz1
201-2-1
Podmioty2
@KwotaRoz1
Po zaksięgowaniu mamy następującą sytuację na kontach:
Tak prosty schemat jest możliwy ponieważ zawsze dokumentem rozliczanym (lewym) jest dokument rozchodowy, a dokumentem rozliczającym (prawym) dokument przychodowy. Gdybyśmy chcieli rozbudować schemat o księgowanie, poza kompensatą faktury zakupu z fakturą sprzedaży, jeszcze o dokument KW z dokumentem KP to schemat może wyglądać następująco:
Konto Wn
Konto Ma
Słownik
Kwota
Warunek
202-2-1
Podmioty
@KwotaRoz1
@TypRozl ='FZ-FS'
201-2-1
Podmioty2
@KwotaRoz1
@TypRozl ='FZ-FS'
202-2-1
Podmioty
@KwotaRoz1
@TypRozl ='KW-KP'
201-2-1
Podmioty2
@KwotaRoz1
@TypRozl ='KW-KP'
Słownik:Podmioty pobiera kontrahenta z dokumentu rozliczanego (lewego).
Słownik:Podmioty2 – z dokumentu rozliczającego (prawego). W warunku uwzględniamy odpowiedni typ kompensaty.
Kwota rozliczenia – może być pobrana z dowolnego dokumentu (rozliczanego lub rozliczającego) ponieważ dla rozliczeń dokumentów wystawionych w PLN kwota rozliczona dla obydwóch dokumentów będzie taka sama.
OPT072 – Szybki import i eksport przelewów przez bankowość internetową BNP Paribas
System Comarch ERP Optima obsługuje wymianę danych z bankiem (eksport i import przelewów) za pomocą usługi sieciowej opartej o standard Comarch Data Connect 2.0.
Ten sposób wymiany danych umożliwia pobieranie wyciągów bankowych oraz historii operacji, a także eksport przelewów bezpośrednio z/do systemu bankowego, bez konieczności ręcznego przenoszenia plików pomiędzy aplikacją bankową oraz Comarch ERP Optima. Możliwe jest również pobieranie dla każdego wysłanego przelewu jego aktualnego statusu w banku (przelew może oczekiwać na realizację, zostać zrealizowany, odrzucony, anulowany itp.).
Wymiana danych pomiędzy bankiem a klientem w usłudze sieciowej odbywa się przez wymianę komunikatów w formacie plików XML (standard ISO 20022) przy wykorzystaniu technologii web-services. Całość komunikacji jest zabezpieczona przez bezpieczny kanał HTTPS z wykorzystaniem dwustronnego SSL. Dzięki tym technologiom komunikacja pomiędzy Bankiem a klientem jest szyfrowana i nikt niepowołany nie ma dostępu do przesyłanych informacji. Dodatkowo dzięki dwustronnemu SSL Bank otrzymuje możliwość wstępnej weryfikacji klienta, a klient może zweryfikować, czy faktycznie podłączył się do serwera Banku.
Do zabezpieczenia wymiany informacji zastosowane zostały: certyfikat transportowy, który weryfikuje Klienta i pozwala zweryfikować jego prawo do danego rachunku (rachunków) oraz certyfikat autoryzacyjny (podpis elektroniczny), którym mogą być podpisywane przelewy wysyłane do banku. Gdy przelewy nie zostaną podpisane lub zostaną podpisane przez nieuprawnioną osobę – zlecenia będą oczekiwały w banku na akceptację uprawnionej osoby.
Na liście Ogólne/ Inne/ Formaty przelewów dostępny jest format BNP Paribas WebService (standardowy) do wymiany danych z bankiem BNP Paribas.
W przypadku innych banków należy zweryfikować możliwość wymiany danych poprzez usługę sieciową kontaktując się z danym bankiem. Jeżeli bank wdrożył standard Comarch Data Connect 2.0, Użytkownik może samodzielnie dodać format przelewu, za pomocą którego będzie możliwa wymiana. Na formularzu formatu przelewu na zakładce Ogólne trzeba zaznaczyć parametr Bezpośrednia wymiana danych za pomocą usługi sieciowej oraz wpisać odpowiedni adres usługi sieciowej.
Uwaga
W związku z koniecznością obsługi protokołu TLS 1.2 w wymianie danych za pomocą usługi sieciowej, od wersji programu 2017.1.1 na stanowisku wymagana jest instalacja .NET Framework w wersji conajmniej 4.5.
Eksport za pomocą usługi sieciowej
Możliwy jest eksport przelewów krajowych (w tym do Urzędu Skarbowego i ZUS) oraz przelewów walutowych. Przelewy walutowe wysyłane są jako przelewy zagraniczne. Od wersji programu 2015.5.1 wprowadzona została również możliwość wysyłania przelewów euroregulowanych (SEPA). Jako przelewy euroregulowane wysyłane są zdarzenia rozchodowe w walucie EUR, na których zaznaczony został parametr „Przelew SEPA”
Na formularzu banku w polach Format eksportu dla przelewów zwykłych oraz Format importu wyciągów bankowych można wskazać format obsługujący wymianę za pomocą usługi sieciowej. Format ten będzie podpowiadał się jako domyślny podczas eksportu i importu przelewów.
Rysunek 1. Formularz banku, zakładka „Dodatkowe”.
Po wybraniu takiego formatu na formularzu banku pojawia się zakładka [Ustawieniausługi sieciowej]. Na zakładce tej Użytkownik wprowadza ustawienia dotyczące przelewów walutowych oraz podpina certyfikat do komunikacji.
W przypadku przelewów walutowych istotne jest uzupełnienie pól: Opłatę ponosi, Osoba kontaktowa oraz Kontakt. W przypadku pola Opłatę ponosi jest możliwość wyboru trzech opcji: Zleceniodawca, Zleceniobiorca, Porówno. W przypadku niektórych rachunków opcja Zleceniobiorca może być zablokowana. Przy próbie eksportu z wybraną tą opcją pokaże się wówczas odpowiedni komunikat. W przypadku Osoba kontaktowa oraz Kontakt należy wprowadzić imię i nazwisko oraz np. numer telefonu przedstawiciela Klienta z którym można się kontaktować. Jest to pole wymagane gdy wysyłane są przelewy walutowe.
Eksport przelewów za pomocą usługi sieciowej jest możliwy z poziomu preliminarza płatności dla wybranego konkretnego rejestru. Jeżeli wybrany rejestr ma na formularzu banku przypisany format obsługujący wymianę danych za pomocą usługi sieciowej, wtedy ikona Eksportuj polecenia przelewu ma rozwijalne menu z dwoma opcjami: Eksportuj przelewy oraz Aktualizuj stany przelewów .
Domyślnie kliknięcie w ikonę powoduje wywołanie okna Eksport przelewów do pliku.
Rysunek 3. Okno eksportu przelewu poprzez usługę sieciową.
W Konfiguracji Stanowiska/ Kasa/Bank/ Parametry znajduje się parametr Zapisuj przelewy importowane/eksportowane poprzez usługę sieciową. Zaznaczenie tego parametru powoduje uaktywnienie pola na wpisanie ścieżki do katalogu, w którym będą zapisywały się pliki z przelewami importowane oraz eksportowane za pomocą usługi sieciowej. Domyślnie parametr jest odznaczony. W przypadku odznaczonego parametru pliki nie są zapisywane.
Po wybraniu opcji Eksportuj przelewy pokazuje się okno, na którym można ustawić wybrane opcje eksportu. Po ustawieniu parametrów, eksport uruchamiamy ikoną pioruna. Eksportowane są zarówno przelewy w PLN jak również w walucie obcej. Jest możliwy również eksport przelewów zbiorczych. Istnieje także możliwość podpisania przelewów za pomocą podpisu kwalifikowanego. Pojawia się okno z możliwością wyboru właściwego certyfikatu. Jeżeli okno z wyborem certyfikatu zostanie anulowane – przelewy zostaną wysłane i będą oczekiwały na akceptację po stronie banku.
W preliminarzu płatności jeżeli wybrany zostanie rejestr, który obsługuje wymianę danych poprzez usługę sieciową wśród kolumn na liście dostępne są kolumny: Data wysłania WebService, Komunikat WebService, Data komunikatu WebService.
W kolumnach tych zapisywane są informacje przy eksporcie do usługi sieciowej oraz każdorazowym sprawdzeniu stanu przelewów w banku.
Jest również możliwość sprawdzenia aktualnego statusu przelewów w banku. Opcja Aktualizuj stany przelewów sprawdza stan przelewów w banku oraz aktualizuje informacje na liście w preliminarzu płatności oraz na formularzu zdarzenia.
Import za pomocą usługi sieciowej
W systemie jest również dostępny import przelewów za pomocą usługi sieciowej. Jest możliwość importu wyciągów bankowych bądź historii operacji, jeżeli za dany okres nie jest jeszcze dostępny wyciąg bankowy.
Zalecamy aby okres raportów kasowych/bankowych w systemie Comarch ERP Optima był taki sam jak okres raportów w systemie bankowym.
Jeżeli okres raportu się nie pokrywa to przy imporcie pojawi się odpowiedni komunikat wraz z pytaniem czy wykonać import historii operacji.
Jeżeli wykonany został import historii operacji i następnie potem wykonywany jest ponowny import historii bądź import wyciągu wtedy importowane są tylko te przelewy, które nie zostały jeszcze zaimportowane. Duplikaty są odrzucane.
Duplikaty sprawdzane są wg następujących kryteriów:
Data księgowania,
Numer rachunku kontrahenta,
Kwota,
Opis przelewu.
Podczas importu sprawdzany jest stan początkowy raportu i porównywany ze stanem początkowym wyciągu bankowego. Jeżeli stany będą niezgodne w logu pokaże się odpowiednie ostrzeżenie. Po zakończeniu importu aktualizowany jest stan końcowy raportu i porównywany ze stanem końcowym w wyciągu. W przypadku braku zgodności również pokazywane jest odpowiednie ostrzeżenie.
Na liście raportów kasowych/bankowych dla rejestru, który obsługuje import przelewów poprzez usługę sieciową, wśród kolumn (ukrytych) na liście jest kolumna Wyciąg z banku, w której zapisywana jest informacja, czy wyciąg bankowy został pobrany.
Eksport i import przelewów za pomocą usługi sieciowej – najczęściej zadawane pytania
Co należy ustawić w programie Comarch ERP Optima, aby móc skorzystać z Eksport i import przelewów za pomocą usługi sieciowej?
Odpowiedź: Na formularzu banku (Ogólne/ Inne/ Banki) w polach Format eksportu dla przelewów zwykłych oraz Format importu wyciągów bankowych (druga zakładka) należy wskazać format obsługujący wymianę za pomocą usługi sieciowej. Następnie na 3 zakładce [Ustawienia usługi sieciowej] Użytkownik wprowadza ustawienia dotyczące przelewów walutowych oraz podpina certyfikat do komunikacji otrzymany z banku.
Czy taki sposób wymiany danych z bankiem dostępny jest także dla innych banków?
Odpowiedź: Prosimy o przekierowanie pytania o to czy i kiedy Państwa bank wdroży standard Comarch Data Connect 2.0 (umożliwiający bezpośrednią wymianę danych z Comarch ERP Optima) bezpośrednio do Banku. W Comarch ERP Optima standard ten jest gotowy do współpracy z każdym bankiem, który go wdroży.
Jakie warunki powinny spełniać certyfikaty wykorzystywane podczas wysyłki aby odbyła się ona prawidłowo?
Odpowiedź: Certyfikat komunikacyjny i autoryzacyjny powinny znajdować się w sekcji osobiste, mieć aktualną datę ważności oraz posiadać informację o obsługujących je kluczach prywatnych. Ponadto w przypadku certyfikatu autoryzacyjnego należy poprawnie zainstalować sterowniki urządzenia obsługującego certyfikat po stronie systemu operacyjnego.
Jeśli bank wymaga dodatkowych certyfikatów należy upewnić się czy znajdują się one we właściwych magazynach certyfikatów oraz czy posiadają aktualną datę ważności
OPT070 – Formaty elektronicznej wymiany danych z bankiem (eksport/ import przelewów)
Program Comarch ERP Optima umożliwia zarówno import zrealizowanych przelewów bankowych do programu
z pliku dostarczonego przez bank, jak i eksport poleceń przelewu do pliku, który następnie można zaczytać
w aplikacji bankowej.
Oprócz eksportu/importu przelewów poprzez pliki istnieje również możliwość wymiany danych bezpośrednio z/do systemu bankowego, bez konieczności ręcznego przenoszenia plików pomiędzy aplikacją bankową a Comarch ERP Optima.
Jak wykonać import poleceń przelewu?
W celu zaimportowania zapisów z pliku z banku należy wejść w Kasa/Bank/ Zapisy kasowe/bankowe, następnie
w polu Rejestr wybrać odpowiedni rejestr bankowy i w polu Raport odpowiedni raport, do którego ma być wykonany import zapisów oraz nacisnąć na ikonę „Importuj polecenia przelewu” .
Po naciśnięciu na ikonę „Importuj polecenia przelewu” pojawi się okno „Import przelewów”, w którym należy uzupełnić następujące dane:
Format wymiany – z listy dostępnych formatów należy wybrać odpowiedni format wymiany danych, zgodny ze strukturą pliku uzyskanego z banku; gdyby żaden z dostępnych formatów nie działał prawidłowo z poziomu Ogólne/ Inne/ Formaty przelewów można dodać nowy lub zmodyfikować już istniejący.
Plik źródłowy – należy wskazać właściwy plik do zaczytania. Służy do tego ikona (pole pokazuje ścieżkę dostępu do pliku, z którego wykonywany jest import)
Definicja KP – symbol numeracji dla dokumentów typu przychód
Definicja KW – symbol numeracji dla dokumentów typu rozchód
Jeżeli jako format wymiany wybierzemy format MT940 pojawią się 2 dodatkowe parametry:
Dodawaj zapisy dotyczące innych rachunków – wyciąg w formacie MT-940 może zawierać dane dotyczące wielu rachunków, jednak jest on importowany do raportu dotyczącego jednego rejestru, czyli jednego rachunku bankowego. W związku z tym istnieje możliwość zaznaczenia parametru Dodawaj zapisy dotyczące innych rachunków. Jeżeli przed importem zaznaczymy parametr, zostaną wczytane wszystkie przelewy znajdujące się w importowanym pliku. Jeżeli parametr będzie odznaczony ‑ zaimportowane zostaną tylko przelewy powiązane z rachunkiem dotyczącym rejestru, do którego importowane są dane.
Strona kodowa – określenie strony kodowej – wybór spośród następujących możliwości: Windows (1250), Latin II, iso-8859-2, Mazovia, UTF8 (ustawienie właściwego kodowania ma wpływ na prawidłowe rozpoznawanie polskich znaków przy imporcie).
Po uzupełnieniu wszystkich pól należy nacisnąć na ikonę aby wczytać plik. Po wczytaniu pliku, tabela tymczasowa wypełniana jest informacjami odczytanymi z pliku. Pozycje znajdujące się w tabeli nie podlegają edycji.
Import zapisów do bazy następuje po naciśnięciu na ikonę Uruchom import.
Uwaga
Identyfikacja podmiotu odbywa się w pierwszej kolejności po Akronimie podmiotu oraz w drugiej kolejności po numerze rachunku bankowego (taki numer jaki jest w przelewie w pliku musi być wpisany na karcie kontrahenta, na zakładce [Płatności]). Jeżeli kontrahent nie zostanie rozpoznany zapis trafia na !Nieokreślonego!
Jak wykonać eksport poleceń przelewu do pliku?
W celu wyeksportowania poleceń przelewu do pliku, który następnie można zaczytać w aplikacji bankowej, należy wejść w Kasa/Bank/ Preliminarz płatności, w polu Rejestr wybrać odpowiedni rejestr bankowy, z którego ma być wykonany eksport i nacisnąć na ikonę Eksportuj polecenia przelewu.
Aby ikona Eksportuj polecenia przelewu była aktywna w polu Rejestr musi być wybrany rejestr bankowy i lista wyświetlanych zapisów musi być zawężona do pozycji nierozliczonych i/lub rozliczonych częściowo (należy odznaczyć opcje Rozliczone: Całkowicie i Nie podlega).
Dodatkowo można zaznaczyć parametr „Przelewy do wysłania”, co spowoduje zawężenie listy tylko do tych zdarzeń, które mogą zostać wysłane do banku.
Przelewy do wysłania muszą mieć:
status nierozliczone lub częściowo rozliczone,
stan zatwierdzone do realizacji,
kierunek przepływu – rozchód,
poprawnie wypełnione pola podmiot, bank oraz numer rachunku podmiotu.
Po naciśnięciu na ikonę Eksportuj polecenia przelewu pojawia się okno Eksport przelewów do pliku,
w którym należy uzupełnić następujące dane:
1. Eksport poleceń – do wyboru eksport tylko zaznaczonych lub wszystkich zatwierdzonych do realizacji
2. Format wymiany – z listy dostępnych formatów należy wybrać odpowiedni format wymiany danych, zgodny ze strukturą pliku, jaki zaczytuje bank; gdyby żaden z dostępnych formatów nie działał prawidłowo z poziomu Ogólne/ Inne/ Formaty przelewów można dodać nowy lub zmodyfikować już istniejący. Domyślnie podpowiadany jest format, który jest przypisany jako domyślny dla banku związanego z rejestrem, z którego wykonywany jest eksport (na formularzu banku, na zakładce [Dodatkowe], pole: Format eksportu dla przelewów zwykłych).
3. Format wymiany dla MPP – rozwijalna lista ze zdefiniowanymi w programie formatami eksportu przelewów. Program proponuje format, który został wskazany na formularzu banku, do którego przygotowujemy zlecenie przelewów. Wskazane formaty wymiany powinny mieć ten sam rodzaj. Nie wykonamy eksportu jeśli jeden z formatów będzie typu webservice a drugi nie. Rodzaje formatów wymiany muszą być z sobą zbieżne. Jeśli w danej organizacji nie stosujemy metody podzielonej płatności nie ma konieczności wskazywania formatu wymiany dla Mechanizmu podzielonej płatności.
Uwaga
Mechanizm eksportu działa w taki sposób, że program próbuje wysyłać 3 rodzaje przelewów za każdym razem (przelewy zwykłe, do US i do ZUS), a do każdego z takich przelewów wymagana jest inna struktura plików, stąd inny format wymiany. W polu Format wymiany wybierany jest format dla przelewów zwykłych, natomiast format służący do eksportu przelewów do ZUS i US pobierany jest z karty banku związanego z rejestrem (na formularzu banku, na zakładce [Dodatkowe], pole: Format eksportu dla przelewów do US/ ZUS).
4. Katalog docelowy – należy wskazać katalog, w którym ma być zapisany plik z przelewami
5. Nazwa pliku – nazwa pliku, do którego chcemy wyeksportować zdarzenia
6. Dopisz do pliku – możliwość dopisania przelewów do już istniejącego pliku. Aby dopisać przelewy do pliku należy zaznaczyć parametr, a następnie w polu Plik docelowy wskazać plik, do którego informacje powinny być dopisane. Jeśli podczas eksportu przelewów wskażemy istniejący plik i nie zaznaczymy parametru Dopisz do pliku ‑ spowoduje to wykasowanie dotychczasowej zawartości pliku i nadpisanie nowych informacji.
7. Data przelewu – domyślnie wybrana jest data realizacji, istnieje również możliwość wybrania terminu płatności, daty bieżącej lub innej – z możliwością wpisania daty. Data wybrana w polu Data przelewu zostanie zapisana w eksportowanym pliku, jeżeli w formacie wymiany znajduje się pozycja Data operacji. (Jeżeli w formacie jest wybrana „Data dokumentu” eksportowana jest zawsze data dokumentu ze zdarzenia w preliminarzu płatności.)
8. Aktualizuj przy eksporcie informacje na zdarzeniach – zaznaczenie tego parametru powoduje, iż informacje Opis do banku pobierane są bezpośrednio z deklaracji DRA i dodatkowo aktualizowane są również na zdarzeniu w Preliminarzu. Odznaczony parametr sprawia, iż informacje do pliku pobierane są ze zdarzenia w Preliminarzu.
9. Przelewy zbiorczo dla poszczególnych podmiotów – zaznaczenie parametru spowoduje, iż w momencie eksportu kilku zdarzeń dla tego samego podmiotu w pliku powstanie jeden zbiorczy przelew na tego kontrahenta, na łączną kwotę. Przelewy te zostaną pogrupowane według podmiotu, numeru rachunku bankowego oraz waluty.
Grupuj wg dat– po zaznaczeniu tej opcji utworzonych zostanie tyle zbiorczych przelewów, ile jest różnych dat (terminów płatności/ dat realizacji/ dat dokumentu).
Eksportuj wszystkie linie opisu do banku– zaznaczenie tego parametru spowoduje, że w zbiorczym przelewie będziemy starali się umieścić wszystkie uzupełnione linie opisu do banku odczytane z agregowanych przelewów.
Dziel przelewy wg długości opisu– zaznaczenie tego parametru spowoduje, że program utworzy dla danego podmiotu kilka przelewów zbiorczych, przy czym na każdym z nich będzie umieszczony pełny opis do banku z przelewów cząstkowych. Może on być stosowany razem z pozostałymi parametrami dotyczącymi przelewów zbiorczych.
10. Wysyłaj przelewy w jednym pliku – zaznaczenie tego parametru powoduje, że wysyłając kilka przelewów tworzymy jeden plik xml, w którym zapisujemy wszystkie pojedyncze przelewy. Jeśli parametr nie jest zaznaczony to każdy z tych przelewów zapisywany jest w osobnym pliku. Parametr dostępny do zaznaczenia przy eksporcie do plików XML oraz webservice.
Eksport przelewów do pliku następuje po naciśnięciu na ikonę Uruchom eksport.
Tworzenie formatów przelewów
Formaty wykorzystywane przy imporcie/eksporcie przelewów dostępne są w menu Ogólne/ Inne/ Formaty przelewów.
Z tego poziomu można zarówno dodawać nowe, jak i modyfikować istniejące formaty – Użytkownik może sam zdefiniować format w oparciu o informacje dostarczane przez bank.
Aby skopiować format należy go zaznaczyć (podświetlić) na liście, a następnie wcisnąć <CTRL>+<INSERT> lub <CTRL> i ikona plusa, a następnie zapisać.
Uwaga
Program umożliwia import przelewów z plików MT940, jednak jest to mechanizm zaszyty w programie, nie ma możliwości jego edycji/ modyfikacji, stąd też te formaty nie są dostępne na liście formatów przelewów.
Tworzenie formatów – informacje ogólne
Dodanie nowego formatu otwiera okno Format elektronicznej wymiany danych z bankami, składające się z czterech zakładek: [Ogólne], [Nagłówek], [Pozycje], [Stopka].
Uwaga
Przy tworzeniu nowego/dostosowywaniu istniejącego formatu przelewów należy zwrócić uwagę na to, aby wszystkie ustawienia były zgodne z dokumentacją banku (ze strukturą plików wyeksportowanych z banku/ do zaimportowania do aplikacji bankowej).
Zakładka [Ogólne]
Zakładka ta zawiera parametry wspólne dla wszystkich pozycji definiowanego formatu.
Poszczególne pola należy uzupełnić zgodnie z wymaganiami banku, np. w oparciu o przykładowe pliki z przelewami lub dokumentację banku opisującą strukturę takich plików.
Nazwa formatu – nazwa, która będzie widoczna na liście dostępnych do wyboru formatów – zarówno na formatce banku, jak i na formatce eksportu/importu. Pole obowiązkowe.
Format do – informacja o tym czy dany format będzie wykorzystywany przy eksporcie przelewów, imporcie wyciągów bankowych lub będzie służył do eksportu i importu. Jedno z pól musi być zaznaczone.
Rozszerzenie pliku – należy podać rozszerzenie pliku udostępnianego/ wymaganego przez bank, np. csv, txt, pli.
Kodowanie – określenie strony kodowej dokumentu; do wyboru są opcje: Windows (1250), Latin II, ISO 8859-2, Mazovia, UTF8 i Flat (bez polskich znaków)
Oddzielaj pola – jeżeli parametr jest odznaczony oznacza to, że format nie posiada separatorów pól. Zazwyczaj jednak w plikach są separatory pól, a w taki przypadku parametr należy zaznaczyć.
Separator pól – wybór znaku, którym są od siebie oddzielane poszczególne pola w pliku, np. przecinek (,), spacja, Tab, Enter. Oprócz wyboru z dostępnej listy istnieje również możliwość ręcznego wpisania np. średnika (;) czy pipe (|)
Separator wierszy – wybór znaku końca wiersza, którym są od siebie oddzielane poszczególne wiersze
w pliku. Najczęściej jest to „<Enter>”. Oprócz wyboru z dostępnej listy (spacja, przecinek (,), Tab, Enter) istnieje również możliwość ręcznego wpisania innego separatora. Obsługiwany jest również import z pliku ze znacznikiem końca wiersza w formacie Unix (LF). W przypadku wybrania w formacie, jako separator wiersza <ENTER>, program automatycznie rozpozna odpowiednią sekwencję CR+LF czy LF.
Ograniczniki tekstu – pola tekstowe w pliku będą otaczane tym znakiem, najczęściej jest nim cudzysłów.
Zamiana ograniczników w tekście na – pole aktywne po zaznaczeniu „Ograniczniki tekstu„. Jeżeli pola tekstowe są otaczane znakiem ogranicznika tekstu np. cudzysłowem to cudzysłów wpisany w środku pola zostanie zamieniony na znak wpisany w tym polu.
Zmienna szerokość pola – parametr należy zaznaczyć, jeżeli szerokość pól w pliku jest zmienna (poszczególne pola są różnej długości). Zazwyczaj parametr powinien być zaznaczony.
Format daty – określenie formatu daty, w jakim jest ona zapisywana w pliku. Oprócz wyboru z dostępnej listy (DD-MM-RR, DD-MM-RRRR, RR-MM-DD, RRRR-MM-DD, RRRRMMDD, DD/MM/RR, MM/RR/DD) istnieje również możliwość ręcznego wpisania np. DD/MM/RRRR.
Separator dziesiętny – znak jakim w pliku oddzielana jest część całkowita od części ułamkowej liczby, np. złoty od groszy. Do wyboru: kropka (.), przecinek (,) i puste (brak separatora).
Separator dziesiętny dla kwoty VAT – znak jakim w pliku oddzielana jest część całkowita od części ułamkowej liczby w kwocie VAT. Do wyboru: kropka (.), przecinek (,) i puste (brak separatora). Domyślnie ustawiony jest przecinek.
Separator tysięcy – separator grupujący. Dostępne opcje do wyboru to: puste (brak separatora), kropka (.), przecinek (,).
Sekwencja podziału pola na części – to znak, który jest używany w celu oddzielenia poszczególnych części w ramach danego pola. Wykorzystywany głównie w formatach służących do eksportu, np. w polach
z opisem do banku.
Separator w opisie przelewów zbiorczych – parametr ma znaczenie przy zbiorczym eksporcie przelewów. Oprócz wyboru z dostępnej listy (spacja, średnik (;), przecinek (,)) istnieje również możliwość ręcznego wpisania innego separatora.
Zakładki [Nagłówek] i [Stopka]
W przypadku, gdy plik importowany przez Użytkownika posiada nagłówek niezbędne jest odpowiednie uzupełnienie zakładki. Jeżeli w pliku nie ma nagłówka, zakładka powinna pozostać pusta.
Jako każdą z pozycji można wybrać „Stałą wartość”. Należy tylko zwrócić uwagę, aby ilość pozycji odpowiadała ilości pól w nagłówku w pliku oraz odpowiednio ustawić typ: Tekst (dla pól zapisanych w ograniczniku tekstu, np.
w cudzysłowie) lub Liczba (dla pól zapisanych bez ogranicznika tekstu).
Uwaga
Program Comarch ERP Optima obsługuje tylko jedną linijkę nagłówka. W przypadku gdy w pliku z banku nagłówek jest bardziej rozbudowany, przed wykonaniem importu niezbędna jest modyfikacja pliku.
Uwaga
Format służący do importu nie może zawierać stopki. W przypadku gdy w pliku z banku jest stopka, przed wykonaniem importu niezbędna jest modyfikacja pliku.
Zakładka [Pozycje]
Na tej zakładce definiujemy poszczególne pozycje formatu. Bardzo ważne jest, aby ilość pozycji zgadzała się
z ilością pól przelewu w pliku z banku. Należy także zachować odpowiednią kolejność pozycji oraz ustawić prawidłowy Typ pozycji: Tekst (dla pól zapisanych w ograniczniku tekstu, np. w cudzysłowie) lub Liczba (dla pól zapisanych bez ogranicznika tekstu).
Jeżeli liczba pozycji formatu, ich kolejność czy typ nie będą się zgadzać z tym co jest zapisane w pliku z banku, import przelewów do programu się nie powiedzie. Podobnie w przypadku eksportu przelewów z programu do pliku i próbie zaczytania ich w aplikacji bankowej.
Kolejne pozycje formatu dodajemy ikoną .
Nazwa pola – z rozwijalnej listy należy wybrać odpowiednią opcję, np. Data dokumentu, Kwota płatności, Nazwa podmiotu, Pełny numer rachunku podmiotu.
Typ pola – opcje do wyboru: Tekst, Liczba <#, Liczba <#.##, Liczba <#.####. Konsekwencją wybrania typu pola Tekst, w formatach służących do eksportu, będzie otoczenie go w pliku ogranicznikiem tekstu (np. zapisanie w cudzysłowie). Podobnie w formatach służących do importu przelewów – jeżeli w pliku z banku pole jest zapisane w ograniczniku tekstu, jako typ należy wybrać: Tekst, w pozostałych przypadkach: Liczba.
Wartość – pole ma znaczenie w formatach służących do eksportu przelewów; jest aktywne przy wyborze takich pól jak: „Inne informacje”, „Stała wartość”, „Zapytanie SQL”
Szerokość – ilość znaków przewidziana na dane pole, pole wykorzystywane głównie w formatach do eksportu przelewów
Opcje pola – określają, czy dane pole będzie nowym polem, czy ma zostać połączone z poprzednim na jeden z trzech sposobów. Najczęściej wybierane jest „nowe pole”. Opcja „łącz z poprzednim (…)” ma znaczenie w formatach służących do eksportu przelewów, przykładowo bank może wymagać, aby w pliku opis przelewu był zapisany jako jedno pole składające się z kilku podpól oddzielonych od siebie znakiem „|”.
Usuwaj znaki rozdzielające w numerze rachunku – parametr jest aktywny tylko w przypadku wybrania pola związanego z numerem rachunku, np. numer rozliczeniowy banku, pełny numer rachunku podmiotu. Zaznaczenie parametru powoduje, iż numer rachunku będzie zapisany w pliku jako ciąg cyfr, bez znaków rozdzielających.
Wymagane – parametr ma znaczenie przy formatach do eksportu przelewów. Zaznaczenie tego pola oznacza, iż brak danej wartości na przelewie będzie powodował błąd i w konsekwencji dany przelew nie zostanie wyeksportowany.
Przykład tworzenia formatu służącego do importu danych z pliku z banku
Jeżeli okaże się, że żaden z dostępnych w programie formatów przelewów nie umożliwia prawidłowego importu danych z pliku należy odpowiednio zmodyfikować istniejący format lub dodać nowy.
Na podstawie pliku otrzymanego z banku (np. pliku w formacie *.csv, *.txt) lub dokumentu z opisem struktury takich plików Użytkownik może zdefiniować w programie własny format celem zaczytania w/w pliku.
Uwaga
Wyjątek stanowią pliki MT940 – program umożliwia import z takich plików, jednak jest to mechanizm zaszyty w programie i nie ma możliwości jego edycji/ modyfikacji.
Użytkownik może spotkać się z różnymi dokumentami o odmiennej strukturze, które mogą wymagać ręcznej modyfikacji. Spowodowane to jest faktem, iż każdy zapis jest zróżnicowany i żaden „uniwersalny” format nie jest w stanie wczytać wszystkich dokumentów. Ponadto zdarza się, że banki zmieniają strukturę generowanych plików,
a w wielu przypadkach pliki nawet z tego samego banku potrafią się diametralnie od siebie różnić.
Uwaga
Każdy Bank posiada inny format wymiany danych. Przed próbą zaimportowania pliku zalecane jest dokładne sprawdzenie i porównanie go z danym formatem.
W poniższym ćwiczeniu na podstawie otrzymanego z banku pliku z przelewami zdefiniujemy format dla importu przelewów.
Pliki w formatach *.csv, *.pli, *.txt Użytkownik może otworzyć za pomocą zwykłego edytora tekstowego (notatnik, WordPad) bądź poprzez MS Excel.
Załóżmy, że nasz plik z przelewami z banku wygląda następująco (na zrzucie znajdują się dane testowe, np. numery rachunków bankowych):
Analizując zamieszczony wyżej plik można wywnioskować, że:
Format do: importu wyciągów bankowych
,,Oddzielaj pola”: parametr zaznaczony
Separator pól: ; (średnik – bo widzimy, że w pliku poszczególne pola są od siebie oddzielone średnikiem)
Separator wierszy: <Enter>
Ograniczniki tekstu: ” (cudzysłów – bo widać, że w pliku część pól jest zapisana w cudzysłowie)
Zamiana ograniczników w tekście na: zostawić puste
Zmienna szerokość pola: zaznaczone (widać, że poszczególne pola w pliku różnią się długością)
Format daty: RRRR-MM-DD (przykładowa data z pliku to: 2013-01-03)
Separator dziesiętny: , (przecinek – bo przykładowa kwota w pliku zapisana jest jako: 297,49)
Separator tysięcy: puste
Sekwencja podziału pola na części: zostawić puste
Separator w opisie przelewów zbiorczych: może zostać ustawienie domyślne
Dodatkowo:
Rozszerzenie pliku to: txt
Kodowanie: Windows (1250)
Pierwsza zakładka [Ogólne] naszego formatu musi więc wyglądać następująco:
Dodatkowo w pliku jest Nagłówek, w związku z tym w formacie przelewów również trzeba zdefiniować pozycje nagłówka.
Ważne jest, aby ilość pozycji na zakładce [Nagłówek] odpowiadała ilości pól w nagłówku w pliku (w tym przykładzie jest ich 7). Należy również zwrócić uwagę na to, że w pliku żadne z pól nagłówka nie jest zapisane w ograniczniku tekstu (w cudzysłowie), w związku z tym w formacie przelewów w każdym polu należy wybrać typ: Liczba.
Jako każdą z pozycji można wybrać „Stałą wartość”.
Liczba pozycji w formacie powinna zgadzać się z liczbą pól w przelewie w pliku – w naszym przykładzie jest ich 7, są to kolejno: data, inne informacje, nazwa podmiotu, numer rachunku podmiotu, opis do banku, kwota płatności, inne informacje.
Należy również zwrócić uwagę, aby pola zapisane w pliku w cudzysłowie w formacie miały typ: Tekst (w naszym przykładzie są to pola 4) numer rachunku podmiotu i 5) Opis do banku), pozostałe mają mieć typ: Liczba.
Zakładka [Pozycje] powinna więc wyglądać następująco:
Tak zdefiniowanym formatem bez problemu uda się zaczytać przelewy z analizowanego pliku.
Uwaga
Program Comarch ERP Optima obsługuje tylko jedną linijkę nagłówka. Format służący do importu nie może również zawierać stopki. W przypadku gdy w pliku z banku nagłówek jest bardziej rozbudowany i/lub jest uzupełniona stopka, przed wykonaniem importu niezbędna jest modyfikacja pliku
Załóżmy, że przykładowy plik z banku wygląda następująco (na zrzucie plik *.csv otworzony w MS Excel):
Jak widać w pliku jest bardzo rozbudowany nagłówek, przed wykonaniem importu należy zatem odpowiednio zmodyfikować plik tak, aby zostały w nim tylko dane związane z przelewami i maksymalnie jedna linijka nagłówka. (Można np. zaznaczyć linijki z przelewami, skopiować je, otworzyć Notatnik, wkleić dane przelewów i zapisać plik. W momencie importu wskazywać już ten „nowy” plik txt.).
Przykład tworzenia formatu służącego do eksportu przelewów do pliku
Jeżeli okaże się, że żaden z dostępnych w programie formatów przelewów nie umożliwia eksportu do pliku, którego struktura jest zgodna z tym, co zaczytuje bank należy odpowiednio zmodyfikować istniejący format lub dodać nowy.
Na podstawie przykładowego pliku z banku lub dokumentu z opisem struktury takich plików użytkownik może zdefiniować w programie własny format służący do eksportu przelewów.
W poniższym ćwiczeniu na podstawie dokumentu z opisem struktury plików otrzymanego z banku zdefiniujemy przykładowy format do eksportu przelewów.
Przykładowe informacje z banku:
Opis formatów plików – Struktura pliku przesyłki płatności krajowych:
Standard polskich liter – CP 852 ( LATIN II ).
Polecenia płatnicze można podzielić wg typu operacji na trzy grupy.
W zależności od tego, do której grupy należą polecenia umieszczane w przesyłce, program nadaje dla pliku przesyłki odpowiednie rozszerzenie:
– przelewy, wypłaty gotówkowe i płatności ZUS: „.PLI”
– specjalne i specjalne ZUS: „.PLE”
– polecenia zapłaty: „.PLD”
W pliku przesyłki nie ma wiersza nagłówkowego z nazwami pól danych.
W jednym pliku mogą być zapisane dane kilku poleceń płatniczych; każdy wiersz zawiera dane innego polecenia.
Każdy wiersz kończy się znakiem końca wiersza <CR><LF> (Hex 0D0A) i rozpoczyna się kodem oznaczającym typ operacji:
110 = Przelew, wypłata gotówkowa, płatność US,
120 = Płatność ZUS,
210 = Polecenie zapłaty.
Pola alfanumeryczne (tekstowe) są zapisane w cudzysłowach (” „) (Hex 22). Długość pól podana w tabeli nie uwzględnia cudzysłowów.
Poszczególne dane są oddzielone przecinkiem „,” (Hex 2C).
Pola: dane zleceniodawcy, dane kontrahenta, szczegóły płatności oraz informacje Klient-Bank składają się z kilku linii (podpól). W tych przypadkach znakiem oddzielającym poszczególne linie jest „|” (Hex 7C).
Pola: dane zleceniodawcy, dane kontrahenta składają się z czterech podpól: pierwsze i drugie zawiera nazwę zleceniodawcy lub kontrahenta, trzecie – nazwę ulicy oraz nr domu/nr lokalu, czwarte – kod pocztowy
i miejscowość.
Wszystkie pola danych obowiązkowe powinny być wypełnione. Wyjątek stanowi pole „informacje Klient-Bank”, które nie jest obowiązkowe.
Jeśli w poleceniu płatniczym nie są wypełnione szczegóły płatności to w pliku przesyłki pole „szczegółów płatności” będzie puste, rozpoczynające się znakiem ” (Hex 22) i kończące się znakiem ” (Hex 22).
W polu numer banku zleceniodawcy należy umieścić 8 cyfrowy numer rozliczeniowy banku.
W polu numer rachunku zleceniodawcy należy umieścić 26 cyfrowy numer rachunku zleceniodawcy
Numer rachunku bankowego jest ciągiem o stałej liczbie znaków 26 cyfr.
Opis formatu pliku płatności krajowych PLI (PLD,PLE,PLS)
Struktura pliku przesyłki, Wykaz zastosowanych skrótów:
O / F = Rodzaj pola:
O = obowiązkowe
F = fakultatywne
D / F = Długość i format pola:
a = alfanumeryczne
n = numeryczne (0 – 9)
d = data w formacie RRRRMMDD
S = pole stałej długości
Z = pole zmiennej długości
Przykładowy plik przesyłki z danymi jednego polecenia przelewu:
Analizując zamieszczone wyżej informacje można wywnioskować, że:
Format do: eksportu przelewów
Rozszerzenie pliku to: pli
„Oddzielaj pola”: zaznaczone
Separator pól: , (przecinek – wynika to z informacji udostępnionych przez bank: „Poszczególne dane są oddzielone przecinkiem „,” (Hex 2C)”)
Separator wierszy: <Enter> (zgodnie z informacją „Każdy wiersz kończy się znakiem końca wiersza <CR><LF>”)
Ograniczniki tekstu: ” (cudzysłów – zgodnie z informacją „Pola alfanumeryczne (tekstowe) są zapisane
w cudzysłowach (” „)”)
Zamiana ograniczników w tekście na: zostawić puste
„Zmienna szerokość pola”: zaznaczone (poszczególne pola są różnej długości)
Kodowanie: LATIN II
Format daty: RRRRMMDD (zgodnie z informacją podaną w tabelce, w polu 2)
Separator dziesiętny: brak (zgodnie z informacją podaną w tabelce, w polu 3)
Separator tysięcy: puste (zgodnie z informacją podaną w tabelce, w polu 3)
Sekwencja podziału pola na części: | (zgodnie z informacją „(…)znakiem oddzielającym poszczególne linie jest „|””)
Separator w opisie przelewów zbiorczych: może zostać ustawienie domyślne
Pierwsza zakładka [Ogólne] naszego formatu musi więc wyglądać następująco:
W pliku nie ma być żadnego nagłówka (zgodnie z informacją „W pliku przesyłki nie ma wiersza nagłówkowego z nazwami pól danych”), w związku z tym zakładka [Nagłówek] w naszym formacie ma pozostać nieuzupełniona.
Następnie należy dokładnie przeanalizować informacje niezbędne do prawidłowego uzupełnienia zakładki [Pozycje].
Wszystkie pola, które w pliku mają być zapisane w cudzysłowie powinny mieć wybrany typ: Tekst, wszystkie pozostałe: Liczba.
Nr
Nazwa pola
O/F
D/F
Pozycja w formacie przelewów w programie
1
Typ operacji
110 = Polecenie przelewu, wypł. gotówk.
120 = Płatność ZUS
210 = Polecenie zapłaty
O
3 n S
Pozycja „stała wartość”, w polu wartość: 110
2
Data płatności RRRRMMDD
O
8 d S
Data operacji
3
Kwota bez kropek tysięcznych i przecinka oddzielającego wartość groszy
O
15 n Z
Kwota płatności
4
Numer banku zleceniodawcy (NRB)
O
8 n Z
Numer rozliczeniowy banku własnego
5
Pole zerowe (wypełnione cyfrą "0")
O
1 n Z
Pozycja „stała wartość”, w polu wartość: 0
6
Numer rachunku zleceniodawcy
O
34 a Z
Pełny numer rachunku własnego
7
Numer rachunku kontrahenta
O
34 a Z
Pełny numer rachunku podmiotu
8
Dane zleceniodawcy
O
4*35 a Z
4 pozycje w formacie:
Poszczególne podpola są oddzielone znakiem "|" (Hex 7C).
1) Nazwa własna 1
2) Nazwa własna 2
3) Adres własny – ulica
4) Adres własny – kod i miasto
Poz. 1 ustawiona jako „nowe pole”, poz. 2-4 jako „łącz z poprzednim (znak podziału pola na części)”
9
Dane kontrahenta
O
4*35 a Z
4 pozycje w formacie:
Poszczególne podpola są oddzielone znakiem "|" (Hex 7C).
1) Nazwa podmiotu 1
2) Nazwa podmiotu 2
3) Adres podmiotu – ulica
4) Adres podmiotu – kod i miasto
Poz. 1 ustawiona jako „nowe pole”, poz. 2-4 jako „łącz z poprzednim (znak podziału pola na części)”
10
Pole zerowe (wypełnione cyfrą "0")
O
1 n Z
Pozycja „stała wartość”, w polu wartość: 0
11
Numer banku kontrahenta.
O
8 n Z
Numer rozliczeniowy banku podmiotu
12
Szczegóły płatności
O
4*35 a Z
4 pozycje w formacie:
Poszczególne podpola są oddzielone znakiem "|" (Hex 7C).
1) opis do banku (pierwsza linijka)
2) opis do banku (druga linijka)
3) opis do banku (trzecia linijka)
4) opis do banku (czwarta linijka)
Poz. 1 ustawiona jako „nowe pole”, poz. 2-4 jako „łącz z poprzednim (znak podziału pola na części)”
13
Niewykorzystane : wartość puste
O
S a
Stała wartość
14
Niewykorzystane : wartość puste
O
S a
Stała wartość
15
Kod "51" dla przelewów i poleceń specjalnych, natomiast kod "01" dla poleceń zapłaty, ”71” dla płatności podatkowych US
O
1*2 a S
Pozycja „stała wartość”, w polu wartość: 51
16
Informacje klient-Bank
F
6*35 a Z
6 pozycji w formacie – wszystkie pozycje to „stała wartość”
Poszczególne podpola są oddzielone znakiem "|" (Hex 7C).
Poz. 1 ustawiona jako „nowe pole”, poz. 2-6 jako „łącz z poprzednim (znak podziału pola na części)”
Zakładka [Pozycje] naszego formatu powinna więc wyglądać następująco:
Wskazówki praktyczne
Ilość pozycji w formacie, ich kolejność i typ muszą się zgadzać z danymi w pliku z banku.
W pozycjach formatu należy odpowiednio wybierać typ pola: Tekst/ Liczba. Konsekwencją wybrania typu pola Tekst, w formatach służących do eksportu, będzie otoczenie go w pliku ogranicznikiem tekstu (np. zapisanie w cudzysłowie). Podobnie w formatach służących do importu przelewów – jeżeli w pliku z banku pole jest zapisane w ograniczniku tekstu, jako typ należy wybrać: Tekst, w pozostałych przypadkach: Liczba (niezależnie od tego, czy w danej pozycji pliku wpisana jest data, kwota przelewu, numer rachunku czy np. dane adresowe kontrahenta).2013-01-03;przelew zewnętrzny; ABC sp. z o.o.;”02124011121111222233334444″;”za FV/02/01/2013″; „252,53”;370,39
w formacie przelewów pozycje 4, 5 i 6 muszą mieć ustawiony typ Tekst (ponieważ w pliku są one zapisane w cudzysłowie – „02124011121111222233334444”;”za FV/02/01/2013″;”252,53″); pozostałe pozycje
w pliku nie są zapisane w ograniczniku tekstu, więc w formacie muszą mieć typ Liczba.
Przykładowo, dla pliku:
Program obsługuje tylko jedną linijkę nagłówka. W przypadku gdy w pliku z banku nagłówek jest bardziej rozbudowany, przed wykonaniem importu niezbędna jest modyfikacja pliku.
Format służący do importu nie może zawierać stopki.
Identyfikacja podmiotu odbywa się w pierwszej kolejności po Akronimie podmiotu oraz w drugiej kolejności po numerze rachunku bankowego (taki numer jaki jest w przelewie w pliku musi być wpisany na karcie kontrahenta, na zakładce Płatności). Jeżeli kontrahent nie zostanie rozpoznany zapis trafia na !Nieokreślonego!.
Jeżeli kwota w pliku zapisana jest w groszach (np. 18450 zamiast 184,50) w formacie przelewów należy zostawić puste pole z Separatorem dziesiętnym, a w pozycji z kwotą płatności wybrać typ: Liczba<#.##
W formatach służących do importu przelewów muszą znajdować się pozycje Data dokumentu oraz Kwota płatności.
W przypadku, gdy eksportujemy przelewy na pracowników i chcemy, aby w pliku oprócz nazwiska było również imię pracownika w formacie przelewów należy dodać pozycję „Nazwa podmiotu 2” (Nazwa podmiotu 2 odpowiada za eksport imienia, Nazwa podmiotu 1 za nazwisko pracownika).
Opis wszystkich pól możliwych do wyboru w pozycjach formatu przelewów można znaleźć w podręczniku do modułu Kasa/Bank (podręczniki są dostępne np. na Indywidualnych Stronach Klienta/Partnera)
W programie dostępnych jest 5 formatów MT940 (MT940 – standard, MT940 (BGŻ), MT940 (BRE), MT940 (PBS), Citi Handlowy – MT940 i MT942 (standardowy)), są one niedostępne do edycji. Formaty te obsługują import plików MT940 z większości banków. Jeżeli jednak okaże się, że żaden z nich nie importuje prawidłowo zapisów z pliku najlepiej skontaktować się z Asystą Comarch ERP Optima i przesłać dokument z opisem struktury takiego pliku (takie dokumenty są udostępniane przez banki).
W formatach służących do eksportu przelewów można używać bezpośrednich odwołań do pól zapisanych w bazie danych poprzez wykorzystanie składni SQL. W tym celu jako pozycję formatu należy wybrać „Zapytanie SQL”, a w polu Wartość wpisać odpowiednie zapytanie; Aby np. pobrać tylko miasto z adresu podmiotu i aby to miasto było pobierane dla podmiotu, który znajduje się na aktualnie wysyłanym zdarzeniu, w części WHERE zapytania należy umieścić odwołanie do wysyłanego zdarzenia: Bzd_BzdId={ZdarzenieID}
Przykładowo aby pobrać miasto z adresu kontrahenta, w wartości należy wkleić: Select Pod_Miasto FROM CDN.PodmiotyView JOIN CDN.BnkZdarzenia ON BZd_PodmiotID = Pod_PodId WHERE BZd_PodmiotTyp = Pod_PodmiotTyp AND Bzd_BzdId={ZdarzenieID}
Najczęstsze komunikaty błędów przy eksporcie/imporcie
Problemy przy eksporcie przelewów
Przelew [fz 10/2013] nie został wyeksportowany z powodu błędów.
W polu Nazwa pliku zastosowano niedozwolone znaki, np. \/:*?<>|
Przelew [fz 10/2013] nie został wyeksportowany z powodu błędów. Właściwość [Opis do banku (pierwsza linijka)] jest wymagana i musi zostać wypełniona.
Pewne pola oznaczone w formacie przelewów jako wymagane nie są uzupełnione (w powyższym komunikacie mowa dokładnie o polu: Opis do banku (pierwsza linijka)). Należy uzupełnić odpowiednie dane lub zmodyfikować format (Ogólne/ Inne/ Formaty przelewów/ na konkretnym formacie, zakładka [Pozycje] i tam pole „Wymagane”)
Brak domyślnego formatu eksportu dla US. Wybierz format na karcie banku.
Na karcie banku należy ustawić domyślny format eksportu dla przelewów do US. (Można wejść w Kasa/Bank/ Rejestry, na formularz rejestru z którego jest wykonywany eksport, nacisnąć na przycisk Bank, edytować formularz danego banku i przejść na zakładkę „Dodatkowe”.)
Mechanizm eksportu działa w taki sposób, że program próbuje wysyłać 3 rodzaje przelewów za każdym razem (przelewy zwykłe, do US i do ZUS), a do każdego z takich przelewów wymagana jest inna struktura plików, stąd inny format wymiany. Jeżeli na liście przelewów będą zarówno przelewy zwykłe, jak również do US i ZUS wówczas utworzone zostaną 3 oddzielne pliki.
Brak domyślnego formatu eksportu dla ZUS. Wybierz format na karcie banku.
Analogicznie jak w poprzednim komunikacie – na karcie banku należy ustawić domyślny format eksportu dla przelewów do ZUS.
Problemy przy imporcie przelewów
Błąd analizy struktury formatu: Format nie zawiera pozycji określającej datę dokumentu
W formacie służącym do importu przelewów musi być pozycja Data dokumentu.
Nie można odczytać wartości pola – niespodziewany koniec pliku
Np. niezaznaczony parametr „zmienna szerokość pola”.
Błąd analizy struktury formatu: Nie ustawiony ogranicznik tekstu przy zmiennej szerokości kolumn.
Jeżeli w formacie przelewów zaznaczone jest „Zmienna szerokość pola” należy również podać „Ogranicznik tekstu”.
Błąd analizy struktury formatu: Separator dziesiętny ma wartość identyczną jak separator pól przy zmiennej szerokości kolumn.
W formacie przelewów wybrano taki sam separator pól jak separator dziesiętny – muszą być różne.
Błąd w importowanym wierszu – brak separatora pól.
W formacie przelewów wybrano błędny separator pól, niezgodny z danymi w pliku; lub w formacie zdefiniowano za dużo pozycji (więcej niż rzeczywiście jest w pliku).
Błąd w importowanym wierszu – brak prawego ogranicznika tekstu.
W formacie przelewów ustawiono błędny typ pozycji (tekst/liczba), niezgodny z danymi w pliku.
Błąd analizy struktury formatu: Format zawiera stopkę.
Format do importu przelewów nie może zawierać stopki.
Przelew Lp [] nie został zaimportowany z powodu błędów. Brak notowania podanego kursu waluty [waluta] na [data].
W programie nie ma wprowadzonego kursu waluty na wybrany dzień. Należy sprawdzić jakie typy kursów są ustawione na formularzu rejestru, do którego wykonywany jest import – Kasa/Bank/ Rejestry k/b/ na formularzu rejestru pola „Typ kursu sprzedaży” i „Typ kursu zakupu”. (Przy imporcie sprawdzane jest, czy w programie jest wprowadzony kurs na dany dzień dla typu kursu wybranego na formularzu rejestru bankowego.)
Przelew Lp [] nie został zaimportowany z powodu błędów. Niepoprawna data zapisu. Zapis nie może być dodany po dacie zamknięcia raportu.
Data na importowanym zapisie jest późniejsza niż data zamknięcia raportu. Przed wykonaniem importu należy wybrać odpowiedni raport (za odpowiedni okres – data otwarcia/zamknięcia raportu), do którego ma być wykonany import.
Przelew Lp [] nie został zaimportowany z powodu błędów.Niepoprawna data zapisu. Zapis nie może być dodany przed datą otwarcia raportu.
Data na importowanym zapisie jest wcześniejsza niż data otwarcia raportu. Przed wykonaniem importu należy wybrać odpowiedni raport (za odpowiedni okres – data otwarcia/zamknięcia raportu), do którego ma być wykonany import.
Eksport/ Import za pomocą usługi sieciowej
System Comarch ERP Optima obsługuje również wymianę danych z bankiem (eksport i import przelewów) za pomocą usługi sieciowej opartej o standard Comarch Data Connect 2.0 z bankami:Alior Bank, BNP Paribas, ING Bank Śląski, Pekao S.A., Bankiem Millenium(dla Klientów korzystających z systemu Millenet dla przedsiębiorstw oraz usługi Millenet Link),Citi Handlowy oraz zmBankiem(dla Klientów korzystających z systemu mBank CompanyNet).
Ten sposób wymiany danych umożliwia pobieranie wyciągów bankowych oraz historii operacji, a także eksport przelewów bezpośrednio z/do systemu bankowego, bez konieczności ręcznego przenoszenia plików pomiędzy aplikacją bankową a programem. Możliwe jest również pobieranie dla każdego wysłanego przelewu jego aktualnego statusu w banku (przelew może oczekiwać na realizację, zostać zrealizowany, odrzucony, anulowany itp.).
Celem biuletynu jest przedstawienie urządzeń zewnętrznych, z którymi współpracuje program Comarch ERP Optima. W aktualnej wersji możliwa jest współpraca z następującymi urządzeniami zewnętrznymi:
drukarki fiskalne
kasy fiskalne
czytniki kodów kreskowych
drukarki etykiet
kolektory danych
Współpraca z drukarkami fiskalnymi
Do wersji Comarch ERP Optima 17
POSNET (oparta o protokół DF-300 lub DF-301, Temo, Thermal)
Drukarki w wersjach aptecznych nie są obsługiwane.
Uwaga
Drukarka Torell Andros w numerze paragonu nie drukuje kolejnych znaków „/”. Podczas fiskalizacji za pomocą driverów Comarch ERP Optima nie ma możliwości ingerowania w obsługę wyświetlacza.
Uwaga
W przypadku drukarek Posnet Temo USB, aby była możliwość komunikacji przez USB należy w menu drukarki włączyć obsługę USB. Domyślnie jest wyłączona. Następnie należy wykonać restart drukarki.
Uwaga
Jeżeli w nazwie towaru drukowanej na paragonie występują znaki specjalne, to w niektórych przypadkach może wystąpić problem z wydrukiem na drukarce fiskalnej. W celu uzyskania informacji na temat znaków niedozwolonych przez drukarkę, należy zapoznać się z dokumentacją konkretnego modelu drukarki lub skontaktować się z serwisem technicznym producenta drukarki.
Uwaga
Jednostki miary na paragonie. Comarch ERP Optima obsługuje tylko literowe jednostki miary (maksymalnie 5 liter), gdyż niektóre drukarki fiskalne nie akceptują cyfr w jednostkach miary. W drukarkach Emar Printo 57, Innova Market/Profit, Torell Duo Pro – przyjmowana jest tylko ilość a jednostka miary jest ignorowana. Jednostka miary jest drukowana w drukarkach: Elzab, Novitus, Posnet (z wyłączeniem wersji 1.01, 1.02).
W aktualnej wersji Comarch ERP Optima
POSNET (oparte o protokół DF-3001, Thermal, Thermal HS i FV, HD, HD EJ, XL2 OnLine, Temo)
ELZAB (Omega, Mera, Mera OnLine, ZETA),
INNOVA (Profit, Market, DF-1),
NOVITUS (Vivo, Vento, Quarto, Delio Prime (E) , Deon(E), Deon OnLine, Bono (E), Bono OnLine, HD Online),
TORELL (Duo Pro, Andros),
EMAR (Printo, Tempo 3),
Epson TM-T801FV.
Niektóre drukarki wymagają ustawienia odpowiedniego sterowania przepływem danych w porcie COM. Użytkownik może wybrać w programie Comarch ERP Optima opcje:
ustawienia systemowe (program nie ustawia sterowania przepływem, brane są ustawienia systemu)
RTS (do sterowania przepływem jest wykorzystywana w porcie para linii RTS/CTS)
Xon / Xoff (sterowanie przepływem odbywa się przez wysłanie znaczników XOn oraz XOff)
RTS i Xon / Xoff (wykorzystuje obydwie metody sterowania przepływem)
brak (nie jest wykorzystywana żadna metoda kontroli przepływu danych)
Drukarka Posnet Temo podłączona bezpośrednio przez USB do poprawnej komunikacji musi mieć ustawione sterowanie przepływem: RTS. Przy pracy przez port COM parametr ten może być dowolny można ustawić ustawienia systemowe.
Uwaga
W przypadku wydruku faktury fiskalnej na drukarce Posnet Temo, długość nazwy i adresu kontrahenta nie mogą przekraczać 40 znaków (zgodnie z dokumentacją drukarki). Jeżeli nastąpi przekroczenie tej wartości, pozycje te nie będą drukowane na fakturze.
W nowych drukarkach Posnet Thermal i Novitus Delio w konfiguracji drukarki można ustawić sterowanie przepływem, w Comarch ERP Optima musi być wybrana taka sama opcje (drukarki te mają domyślne ustawienie „brak”).
Drukarka Epson w przypadku, gdy w Comarch ERP Optima dodany zostanie Paragon z towarami i kaucjami, ale nie dodano płatności na kaucje, to nie jest wysyłana żadna forma płatności do drukarki. Na innych drukarkach drukują się towary, kaucje i kwota paragonu. W drukarce Epson w takim przypadku drukuje się domyślna forma płatności gotówka. Również jeśli zostanie dodany Paragon z towarami i kaucjami i dodano płatności na kaucje, ale w ustawieniach drukarki jest zaznaczone nie drukuj form płatności, to wtedy zostanie wydrukowana domyślna forma płatności gotówka.
Ustawienia portów COM
Parametry
Posnet
Elzab
Innova
Novitus
TORELL
EMAR
Szybkość
9600
9600 / 19200
9600
9600
9600
9600
Parzystość
brak (none)
parzysta (even)
brak (none)
brak (none)
brak (none)
brak (none)
Liczba bitów
8
8
8
8
8
8
Bit stopu
1
1
1
1
1
1
Sterowanie przepływem
brak
brak, xon/xoff, *
brak
brak
brak
brak
Uwaga
W przypadku drukarek Elzab starszego typu należy sterowanie przepływem ustawić na: sprzętowe.
Przy próbie wydruku pojawia się komunikat: „Nie zdefiniowano stawki VAT dla zw.”. Taki komunikat może pojawić się dla każdej stawki VAT niezdefiniowanej w konfiguracji programu
Remedium
Wydrukować raport dobowy.
W Konfiguracja programu/ Ogólne/ Symbole stawek VAT należy dla stawki ZW ustawić oznaczenie takie, jakie jest dla niej przypisane na raporcie dobowym.
Przy próbie wydruku pojawia się komunikat: „Błędna interpretacja stawki podatkowej”.
Remedium
Zmienić nazwę tego towaru (dodając np. kropkę na końcu). Towar kiedyś został sprzedany w innej stawce podatkowej, drukarka fiskalna to pamięta i nie pozwala wysłać takiego towaru z nową stawką.
Jeżeli to nie pomoże to może być problem z błędnym przypisaniem stawki. Należy wtedy wydrukować raport dobowy, potem w programie Comarch ERP Optima w Konfiguracja programu/ Ogólne/ Symbole stawek VAT dla odpowiedniej stawki przypisać oznaczenie takie, jakie jest dla niej na raporcie dobowym.
Przy próbie wydruku pojawia się komunikat: „Wydruk niemożliwy. Wybrana drukarka nie jest dostępna. W buforze są znaki do druku.”
Remedium
Z menu Narzędzia wykonać raport dobowy. Spróbować czy teraz paragony się fiskalizują.
Zmienić nazwę drukowanego towaru. Towar mógł zostać wysłany wcześniej na drukarkę z inną stawką podatkową.
Wyłączyć i włączyć drukarkę ponownie, aby towary dodrukowały się na paragon.
Przy próbie wydruku pojawia się komunikat: „Wydruk niemożliwy. Wybrana drukarka nie jest dostępna. Błąd komunikacji z drukarką”.
Remedium
Należy sprawdzić w systemie Windows w menedżerze urządzeń ustawienia portu COM.
W programie Comarch ERP Optima wejść do Konfiguracji programu/ Ogólne/ Drukarki fiskalne i wybrać odpowiedni sterownik, port COM a następnie zapisać ustawienia dyskietką. Potem ikoną drukarki wykonać test połączenia z drukarką.
W usługach Terminalowych. Przy próbie wydruku pojawia się komunikat: „ODBC Serwer Driver. Serwer SQL nie istnieje lub odmówiono do niego dostępu Błąd sprawdzania licencji” lub „ODBC Server Driver does not exist for access denied for Microsoft OLE ODBC Driver”.
Remedium.
W momencie uruchomienia Comarch ERP Optima w okienku Rejestracja w programie należy kliknąć na ikonę Pokaż szczegóły i w polu serwer klucza wpisać nazwę serwera SQL do którego wpięty jest klucz HASP, a następnie zapisać wprowadzony wpis ikoną dyskietki.
Współpraca z kasami fiskalnymi
System Comarch ERP Optima współpracuje z następującymi rodzajami kas fiskalnych:
ELZAB (kasy II generacji: Alfa, Delta, Jota, Teta, Eco, Mini, K10 online, Mini LT online, Jota online)
Zgodnie z instrukcją użytkownika kasy fiskalnej. Prędkość na porcie COM w systemie Windows powinna być ustawiona tak samo jak w kasie fiskalnej.
Konfiguracja kas fiskalnych
Więcej informacji na ten temat znajdą Państwo w artykule Kasy fiskalne.
Najczęściej pojawiające się problemy
Przy próbie importu paragonów z kasy pojawia się komunikat: „Błąd komunikacji z kasą. Brak towaru []. Zaimportuj PLU z kasy. (Rekord nie został znaleziony.)”.
Remedium
W kasie fiskalnej znajdują się towary, które nie mają założonych odpowiadających im kart cennikowych w bazie Comarch ERP Optima. Należy wykonać import towarów z kasy w menu Ogólne/ Cennik.
Źle została przygotowana baza danych. Kody towarów w bazie powinny być wpisane jako cyfry bez zer wiodących, czyli, np. 1,2,3…10,11…100,101… itd. W kasach fiskalnych kody krótkie są to kody, które stosuje się najczęściej do prostej identyfikacji towarów dla sprzedaży ręcznej. Kody te charakteryzują się ograniczoną maksymalną wartością oraz ignorowaniem zer nieznaczących, co oznacza, że podając np. 003 kasa przyjmie kod towaru o nr 3. Ograniczenie wartości jest zależne od modelu kasy (ilości obsadzonej pamięci) i określa maksymalną wartość kodu, który kasa zidentyfikuje jako krótki.
Przy próbie nawiązania komunikacji z kasą pojawia się komunikat: „Błąd komunikacji z kasą. Cena poza zakresem lub programowano cenę zerową, a nie ustawiono flagi „cena otwarta”.
Remedium
Wysyłany jest na kasę towar o niepoprawnej strukturze kodu EAN, np. w polu EAN jest znak inny niż cyfra np. 39309-75320. Kasy fiskalne akceptują tylko kody składające się z cyfr. Napis w pliku tekstowym musi być konwertowalny do liczby stałoprzecinkowej o określonej długości maksymalnej akceptowanej dla typu kasy fiskalnej.
Błędnie podany kanał multipleksera w konfiguracji programu.
Przy próbie wysłania towarów na kasę fiskalną z programu Comarch ERP Optima pojawia się komunikat: „Nie ustawiono stawki VAT ani grupy”.
Remedium
W programie Comarch ERP OptimaKonfiguracja programu/ Ogólne/ Działy dla kas fiskalnych należy zdefiniować nazwę działu (grupy) taką jaka jest ustawiona na kasie fiskalnej.
Przy próbie wysłania towarów na kasę fiskalną z programu Comarch ERP Optima pojawia się komunikat: „Błąd komunikacji z kasą. Brak w konfiguracji symbolu stawki VAT dla stawki 22%”. Taki komunikat może się pojawić w przypadku każdej stawki VAT.
Remedium
W programie Comarch ERP Optima Konfiguracja programu/ Ogólne/ Działy dla kas fiskalnych jest zdefiniowana nazwa działu, ale w Konfiguracja programu/ Ogólne/ Symbole stawek VAT (Kasy) nie ma przypisanego odpowiedniego symbolu fiskalnego.
Przy próbie eksportu cennika do kasy pojawia się komunikat: „Napotkano niedozwolony znak”.
Remedium
Nazwy działów towarowych nie mogą być jedno znakowe w Konfiguracja/ Program/ Ogólne/ Działy dla kas fiskalnych. Dla kas Novitus – nazwa działu lub towaru ma być od 3 do 18 znaków.
W bazie towarowej są takie towary o dłuższej nazwie niż przyjmuje kasa, np. Opakowanie karton 20 szt. oraz Opakowanie karton 100 szt. – z punktu widzenia kasy to są takie same towary (pierwsze 18 znaków jest takie same, nie uwzględniając wielkości liter).
przy porównaniu nazw nie są brane pod uwagę znaki spacja,-,*,= itp. czyli dla kasy fiskalnej np. Novitus Soleo towar o nazwie PLANDEKA58M jest tym samym towarem co towar o nazwie PLANDEKA 58M.
niedozwolone znaki w nazwach towarów których nie akceptuje kasa fiskalna typu %@* itp.
Przy próbie komunikacji z kasą pojawia się komunikat: „Nie udało się nawiązać połączenia z kasą”.
Remedium
Należy sprawdzić w systemie Windows w menedżerze urządzeń prędkość dla portu COM. Prędkość na porcie COM w systemie Windows powinna być ustawiona taka sama jak na kasie fiskalnej.
Czytniki kodów kreskowych
Comarch ERP Optima współpracuje z każdym czytnikiem kodów kreskowych, który emuluje klawiaturę – ma możliwość wpięcia go do portu klawiatury.
Czytnik możemy wykorzystywać do:
Wpisywania kodu EAN na formularz towaru. Karty cennikowe muszą mieć wypełnione pole EAN. Jeśli pozycja nie posiada własnego kodu (pole EAN jest puste) – wciśnięcie przycisku nadaje 13-znakowy kod EAN rozpoczynający się od 201 lub należy ustawić się w polu EAN i odczytać czytnikiem taki kod z towaru.
Uwaga
Wpisany tu kod kreskowy jednoznacznie identyfikuje pozycję, tzn. w jednej bazie nie mogą istnieć dwa towary o takim samym kodzie paskowym.
Odszukiwania pozycji w cenniku/ na liście zasobów – operacje można wykonać z poziomu Cennika/Listy zasobów – zakładka Wg EAN.
Dopisywania pozycji na dokument, w tym celu należy w Konfiguracja/ Firma/ Handel/ Parametry zaznaczyć w sekcji Dodawanie pozycji na dokumencie parametr edycja na liście – Wprowadzenie towarów polega na ustawieniu się w dokumencie w tabelce z towarami i odczyt czytnikiem kodu EAN, program szuka na liście zasobów pozycji o zadanym kodzie i jeśli taki kod istnieje pozycja zostanie dopisana. Pozostaje ustalenie ilości i ceny.
Wprowadzania towaru jako składnika na recepturę.
Aby można było korzystać z czytnika kodów należy w Comarch ERP Optima zaznaczyć: w Konfiguracji firmy/ Handel/ Parametry parametr Sprzedaż tylko wg kodów EAN.
Jeśli parametr jest zaznaczony to podczas wpisywania pozycji na dokument program najpierw wyszukuje towar wg pola kod EAN, jeśli nie znajdzie towaru o takim kodzie EAN to przeszukuje listę wg kodu towaru, a jeśli nie znajdzie towaru o podanym kodzie – to w ostatniej kolejności przeszukuje listę wg nazwy.
Kody wagowe
Podczas wystawiania dokumentów w systemie Comarch ERP Optima istnieje możliwość odczytywania tzw. kodów wagowych (zawierających informację o wadze towaru). Kody takie są drukowane przez wagi, natomiast w chwili odczytu program rozpoznaje, że jest to kod wagowy i odpowiednio odczytuje ilość, wprowadzając ją na dokument. Sam towar jest rozpoznawany na podstawie 4-znakowego identyfikatora towaru, wpisanego w polu EAN na karcie towaru.
Uwaga
Funkcja odczytywania kodów wagowych nie działa na dokumentach Przyjęcia Wewnętrznego Produktów (PWP) oraz Rozchodu Wewnętrznego Składników (RWS).
Comarch ERP Optima współpracuje z kodami wagowymi, które zaczynają się od 27 lub 29.
Kod wagowy ma określoną strukturę, w związku, z czym:
wygenerowany kod wagowy ma mieć 13 znaków i zaczynać się od 27 lub 29 (trzeba zaprogramować poprawnie wagę metkującą).
kod EAN w programie Comarch ERP Optima zapisany na karcie towaru musi mieć wpisane 4 znaki (od 3 do 6 znaku z 13 znakowego kodu EAN).
waga towaru nie może przekraczać 9999 kg.
Uwaga
Funkcja odczytywania kodów wagowych działa tylko, jeśli w Konfiguracji firmy/ Handel/ Parametry wybrano parametr: Dodawanie pozycji na dokumencie jako: edycja na liście.
Przykłady:
Towar o wadze 1,525 kg jest oznaczony numerem 29 1234 V 01525 K. Numer 1234 jest numerem tego towaru.
Towar o masie np. 1,52 kg jest oznaczony numerem 27 0001 V 01520 K. Numer 0001 jest numerem danego towaru.
Drukarki etykiet
System Comarch ERP Optima współpracuje z następującymi drukarkami etykiet:
Dymo z serii Label Writer: 400 i 450 (Duo i Turbo)
Brother: QL-560 i QL-580N
W programie dostępne są wydruki etykiet opracowane w edytorze Generator Raportów dla odpowiednich rozmiarów papieru. Z listy cennikowej i kontrahentów dostępne są następujące wzory wydruków:
Dymo – Wzór: 57 x 32mm, 89 x 36 mm
Brother – Wzór: 29 x 90 mm, 62 x 100 mm
Uwaga
W przypadku drukarki Dymo dla wydruku wykonywanego bezpośrednio z menu wydruków, konieczne jest ustawienie we właściwościach drukarki w systemie Windows, w preferencjach drukowania (opcje zaawansowane), opcji „99012 Large Address” dla rozmiaru papieru.
Współpraca z kolektorami danych
System Comarch ERP Optima współpracuje z następującymi typami kolektorów:
Cipherlab (z serii 8000, 8001, 8300, 8400)
Opticon (z firmy OptiData, np. Opticon PHL-2700)
BHT
Dolphin
Uwaga
Wymagamy, aby kolektor posiadał wgrane oprogramowanie oryginalne producenta, nie importera. Jeżeli jest inaczej może być konieczność przeprogramowania kolektora odpowiednim oprogramowaniem dostępnym na stronie producenta.
Możliwa jest współpraca z kolektorami z systemem znakowym na standardowych sterownikach Comarch ERP Optima. Kolektory z wbudowanym systemem operacyjnym nie będą działać ze standardowymi sterownikami jednak możliwe jest zastosowanie dodatkowych rozwiązań opracowanych przez innych producentów np. krakowską firmę OPTIDATA – więcej na ten temat w punkcie 6.7.
Konfiguracja danych dotyczących współpracy z kolektorem jest możliwa z poziomu Konfiguracji stanowiska/ Ogólne/ Kolektor. Należy tam wskazać przede wszystkim typ kolektora, z którym będzie współpracował program oraz port COM, przez który będzie przebiegała transmisja danych. Należy również wskazać protokół, wg, którego przebiega transmisja oraz inne parametry współpracy. W części Definicja rekordu należy podać specyfikację dotyczącą formatu pliku przesyłającego dane.
Uwaga
Po wybraniu typu kolektora program proponuje domyślne ustawienia parametrów transmisji. Użytkownik powinien jednak skontrolować, czy proponowane ustawienia są zgodne ze specyfikacją producenta kolektora.
W przypadku, gdy kolektor komunikuje się z komputerem przy wykorzystaniu tranceivera należy dodatkowo zaznaczyć parametr Używaj tranceivera.
Obsługa kolektorów jest zrealizowana w taki sposób, żeby umożliwić automatyczne dodawanie towarów wprowadzonych do kolektora na dokumenty handlowe i magazynowe oraz na arkusze inwentaryzacyjne. Możliwość importu danych z kolektora dostępna jest z poziomu większości formularzy dokumentów. Import z kolektora następuje automatycznie po wciśnięciu przycisku „Kolektor danych” lub kombinacją klawiszy
<CTRL>+<ALT>+<K>. Na podstawie danych z Konfiguracji stanowiska program nawiązuje łączność z kolektorem danych, a następnie wywołuje transmisję.
W efekcie na formularz dokumentu zostają wpisane towary wraz z ilościami. Ilości są wyrażone zawsze w jednostkach podstawowych. Ceny na dokumencie są proponowane przez program, zgodnie z obowiązującymi zasadami. W przypadku dokumentów zakupowych (FZ, PZ, PW, ZD) proponowane są ostatnie ceny zakupu. W przypadku dokumentów sprzedażowych (FA, WZ, RO, FPF…) – proponowane są ceny sprzedaży z grupy cenowej skojarzonej z kontrahentem wpisanym na dokument, z uwzględnieniem wszystkich rabatów.
Uwaga
Program Comarch ERP Optima posiada funkcję odbioru danych z kolektora, nie potrafi wysłać danych na kolektor.
Uwaga
Funkcja importu danych z kolektora nie działa w przypadku dokumentów korygujących oraz dokumentów, na których zblokowana jest możliwość dopisywania nowych pozycji (np. Faktura Sprzedaży utworzona na podstawie WZ z różnych magazynów).
Konfiguracja na przykładzie kolektora Cipherlab 8300 dla EAN13
Pobranie odpowiedniej aplikacji ze strony producenta
Ze strony WWW producenta http://www.cipherlab.com pobieramy program „Generator Aplikacji” z sekcji Download. Program dostępny również na płytach CD z oprogramowaniem dołączonym do kolektora.
Zdefiniowanie długości rekordu w kolektorze
W Generatorze Aplikacji należy wybrać z menu kontekstowego opcję Edit zakładka Form i ustawić odpowiednio parametry rekordu (Rys. 1), w naszym przypadku ustawiamy stałą długość dla kodów EAN 13, odpowiednio:
#1 – Pole przeznaczone na EAN: Typ danych: tekst; Min długość: 0; Max długość: 13
#2 – Pole przeznaczone na ilość: Typ danych: liczbowy; Min długość: 0; Max długość: 10
#3 – Pole przeznaczone na cechę (pole opcjonalne): Typ danych: tekst; Min długość: 0; Max długość: 20
Formularz ustawień długości rekordu w kolektorze
Dla każdej linii rekordu w kolumnie Properties należy wcisnąć przycisk More… i ustawić „Fixed data length” na wartość, która jest w polu „Max length” (Rys. 2).
Należy również ustawić odpowiednio dopełnienie do określonej ilości znaków. W tym celu w generatorze aplikacji kolektora wybieramy z rozwijalnej listy dopełnienie od lewej strony typu spacja, wybieramy więc „Left alligned (padded with space)”. Opcja ta służy do tego, aby zaczytując kolektorem towar o kodzie EAN krótszym niż 13 znaków program dopełniał go (w naszym przypadku spacjami) do 13 znaków, gdyż taką długość kodów EAN zdefiniowaliśmy w kolektorze (Rys. 2).
Formularz ustawień długości znaków dla danych
Przesłanie ustawień z Generatora Aplikacji do kolektora
W kolektorze danych należy wybrać opcje 3. Narzędzia/ 6. Ładuj aplikację i wczytać ustawienia z Generatora aplikacji – polecenie Download Application w menu kontekstowym Generatora Aplikacji. Nastąpi wówczas nawiązanie komunikacji i przesył danych do kolektora.
Ustawienie parametrów połączenia w kolektorze
W kolektorze danych Wybrać opcje 3. Narzędzia/ 1. Ustawienia programu
Ustawić:
Download Interface – Cradle-IR
Upload Interface – Cradle-IR
Transmission Speed – Baud rate – 9600 bps
Ustawienie parametrów dla połączenia z kolektorem w Comarch ERP Optima
W programie Comarch ERP OptimaKonfiguracja stanowiska/ Ogólne/ Kolektor w sekcji Ustawienia sterownika wybieramy sterownik Cipherlab (Rys. 3). Jeżeli kolektor używa transceivera to zaznaczamy odpowiedni czek, następnie ustawiamy:
Protokół – SKKBHT
Prędkość transmisji – 9600
Parzystość – Brak
Bity danych – 8
Bity stopu – 1
Ustawienie definicji rekordu kolektora w Comarch ERP Optima
W programie Comarch ERP Optima, w Konfiguracji stanowiska/ Ogólne/ Kolektor w sekcji Definicja rekordu ustawiamy w naszym przypadku dla EAN 13 znakowego odpowiednio parametry (Rys. 3):
Długość rekordu – 24
Początek pola kodu towaru – 0
Koniec pola kodu towaru – 12
Początek pola ilości – 14
Koniec pola ilości – 23
Formularz dla ustawień kolektora Comarch ERP Optima
Import danych z kolektora do Comarch ERP Optima
Po ustawieniu powyższych parametrów połączenia oraz zdefiniowaniu prawidłowej długości rekordu w kolektorze, wybieramy w kolektorze funkcję 1. Collect data i zaczytujemy do kolektora kody towarów EAN w odpowiednich ilościach.
Następnie w kolektorze wybieramy opcję 2. Upload data a w programie Comarch ERP Optima na formularzu dokumentu ikoną Kolektor danych zaczytujemy dane z kolektora.
Przeprogramowanie frameware kolektora Cipherlab
Jeżeli kolektor posiadał wgrane oprogramowanie importera, a nie oryginalne producenta należy wówczas takiemu kolektorowi przeprogramować jego środowisko programowe, tzw. „frameware”. Pliki zawierające środowisko programowe kolektora mają rozszerzenie .SHX, dostępne do pobrania ze strony producenta. W momencie włączenia kolektora na dole ekranu pod napisem „Welcome” możemy sprawdzić jaka jest jego obecna wersja frameware.
Aby przeprogramować kolektor należy wykonać następujące czynności:
Wyłączamy kolektor.
Włączamy kolektor kombinacją klawiszy: 7,9 i przycisk włącz (Power).
Wybieramy: 6. Load Program -> 1. Cradle-IR -> 6. Baud rate: 9600 -> please place In Cradle (odstawiamy kolektor na tranceiver).
Uruchamiamy program ProgLoad.exe. Podajemy typ komunikacji, numer portu COM, prędkość transmisji oraz wskazujemy plik .SHX z frameware, zgodnie z rysunkiem 4.
Wciskamy przycisk OK. Po nawiązaniu połączenia z kolektorem i wykonaniu downloadu wyłączamy kolektor.
Włączamy kolektor i wykonujemy programowanie Generatorem Aplikacji zgodnie z punktem 5.1.
Formularz programu ProgLoad
Uwaga
Środowisko kolektora z którym poprawnie działa Comarch ERP Optima to starszy frameware w wersji U8000-2600.SHX. Do pobrania ze strony producenta. Przeprogramowanie na tą wersję wykonywać gdy nie można uzyskać komunikacji Comarch ERP Optima z obecną wersją frameware kolektora.
Najczęściej pojawiające się problemy
Przy próbie odczytu danych z kolektora pojawia się komunikat: „Brak danych w kolektorze”.
Remedium
Sprawdzić czy prędkość transmisji jest ustawiona taka sama w kolektorze jak w konfiguracji w programie Comarch ERP Optima.
Sprawdzić w kolektorze, który korzysta z transceivera czy w ustawieniach parametry Upload oraz Download Interface została ustawiona w obu miejscach opcja na Cradle-IR.
Źle jest ustawiony rekord w kolektorze lub definicja rekordu w Comarch ERP Optima.
Przy próbie odczytu danych z kolektora CipherLab pojawia się komunikat: „Wielokrokowa operacja wygenerowała błędy”.
Remedium
Problem związany jest z nieprawidłowym zaprogramowaniem kolektora. Należy sprawdzić jak jest ustawione dopełnienie, czy nie jest zaznaczona opcja konwersji kodu np. 12-znakowego na 13-znakowy kod EAN, a w kolektorze ustawiony jest EAN-14 z dopełnianiem, czy zostały zaznaczone dodatkowe błędne parametry.
Przykład ustawień dla kolektora Cipherlab 8400 (kody EAN13)
Zakładając, że kolektor posiada domyślne ustawienia dystrybutora (Torell) konfiguracja po stronie Comarch ERP Optima wygląda jak poniżej (Konfiguracja stanowiska/ Ogólne/ Kolektor).
W sekcji Ustawienia sterownika wybieramy sterownik Cipherlab (C:\Program Files\Comarch ERP Optima\cdn_ciph.dll). Jeżeli kolektor używa transceivera, to zaznaczamy odpowiedni czek, a następnie ustawiamy:
Protokół – YMODEM
Prędkość transmisji – 115200
Parzystość – Brak
Bity danych – 8
Bity stopu – 1
Bity stopu – 1
Ustawienie definicji rekordu kolektora w Comarch ERP Optima:
W menu Konfiguracja stanowiska/ Ogólne/ Kolektor w sekcji Definicja rekordu ustawiamy (w tym przypadku dla EAN 13 znakowego) odpowiednio parametry:
Długość rekordu – 24
Początek pola kodu towaru – 0
Koniec pola kodu towaru – 12
Początek pola ilości – 14
Koniec pola ilości – 23
Przykład ustawień dla kolektora BHT Denso w Comarch ERP Optima
W przypadku gdy z kolektora przesyła się na dokument tylko pierwsza pozycja należy w rejestrze systemowym Windows dodać w gałęzi [HKEY_LOCAL_MACHINE\SOFTWARE\CDN\Kolektory] ciąg o nazwie „Brak zakonczenia linii” i ustawić dla tego wpisu wartość „1”.
Przykład ustawień dla kolektora firmy OPTIDATA
Ustawienie parametrów połączenia w kolektorze
Prędkość transmisji – 19200
Parzystość – Brak
Bity danych – 8
Bity stopu – 1
Na urządzeniu należy wybrać profil „ERP XL” co spowoduje automatyczne ustawienie powyższych parametrów. W tym celu należy wejść do menu Parametry następnie wprowadzić odpowiednie hasło odszukać opcję „Profil” i wybrać profil „ERP XL” (jest on zgodny z Comarch ERP Optima).
W przypadku niektórych rodzajów kolektorów należy w doku komunikacyjnym – na spodzie podstawki komunikacyjnej odpowiednio ustawić grupę mikroprzełączników na takie same wartości jak na porcie COM.
Konfiguracja szerokości pól w kolektorach OptiData jest stała i nie podlega zmianom, przy czym kolektory poprawnie obsługują zarówno 8 jak i 13 znakowe kody kreskowe.
Ustawienie parametrów dla połączenia z kolektorem w Comarch ERP Optima
W programie Comarch ERP Optima, w Konfiguracji stanowiska/ Ogólne/ Kolektor w sekcji Ustawienia sterownika wybieramy sterownik Cipherlab (Rys. 5). Nie zaznaczamy czeku używaj tranceivera a następnie ustawiamy parametry:
Protokół – SKKBHT
Prędkość transmisji – 19200
Parzystość – Brak
Bity danych – 8
Bity stopu – 1
Ustawienie definicji rekordu kolektora w Comarch ERP Optima
Długość rekordu – 44
Początek pola kodu towaru – 0
Koniec pola kodu towaru – 19
Początek pola ilości – 21
Koniec pola ilości – 33
Formularz dla ustawień kolektora w Comarch ERP Optima
Terminale płatnicze
Comarch ERP Optima zapewnia współpracę z następującymi terminalami:
Verifone VX 520 dystrybuowanym przez eService
Verifone VX 520 dystrybuowanym przez First Data Polcard
Ingenico iCT220 ETH dystrybuowanym przez First Data Polcard
Ingenico Desk 3200 dystrybuowanym przez First Data Polcard
Za pomocą terminali płatniczych obsługiwane są następujące operacje kartą płatniczą:
First Data Polcard
eService
obciążenie karty płatniczej
zwrot środków płatniczych na kartę
Konfiguracja płatności obsługiwanych przez terminal płatniczy
Aby rozpocząć współpracę z terminalem, należy dokonać odpowiedniej konfiguracji:
Na dokumentach musi być wybrana forma płatności o typie karta z zaznaczonym parametrem: Terminal Płatniczy (opcja do zaznaczenia na formularzu formy płatności dostępnym z poziomu System/ Konfiguracja/ Firma/ Kasa/Bank/ Formy płatności).
W menu System/ Konfiguracja/ Firma/ Kasa/Bank/ Parametry należy zaznaczyć parametr Automatycznie generuj dokumenty zapłaty kartą kredytową.
Uwaga
Przed uruchomieniem współpracy z terminalem należy upewnić się, że operator wystawiający dokumenty nie ma ustawionego zakazu lub blokady na wprowadzanie zapisów, powodujących ujemne saldo do rejestru powiązanego z płatnością wysyłaną na terminal. W przeciwnym wypadku płatność zostanie zarejestrowana, ale dokument nie będzie rozliczony.
Formularz formy płatności
Parametr Terminal płatniczy jest aktywny tylko dla typu płatności Karta, dla innych typów płatności parametr jest nieaktywny.
W System/ Konfiguracja/ Stanowisko/ Ogólne/ Terminal płatniczy należy wybrać sterownik do terminala płatniczego.
Konfiguracja terminali płatniczych
Model terminala – pole które domyślnie jest niewypełnione, po rozwinięciu listy możemy wskazać odpowiedni model terminala:
eService
Polcard – wszystkie modele (domyślny)
Polcard – Verifone VX 520
eService – połączenie terminalowe
Polcard – wszystkie modele (domyślny) – połączenie terminalowe
Polcard – Verifone VX 520 – połączenie terminalowe
Uwaga
Konfiguracja samego terminala powinna być wykonywana przez Serwis obsługujący terminale.
W zależności od wybranego modelu aktywują się lub uzupełniają następujące pola:
Typ połączenia – ustawia się automatycznie, w zależności od wybranego sterownika terminala płatniczego.
Port szeregowy – pole dostępne dla urządzeń o typie połączenia RS232. Należy wskazać w nim port COM, do którego podłączone jest urządzenie.
Adres IP – pole dostępne dla urządzeń o typie połączenia TCP/IP. Należy w nim wpisać adres IP terminala płatniczego.
Port TCP/IP – pole dostępne dla urządzeń o typie połączenia TCP/IP. Należy w nim wprowadzić numer portu, na którym odbywać się będzie komunikacja pomiędzy programem Comarch ERP Optima, a terminalem płatniczym.
Test – po wciśnięciu przycisku Test program sprawdza, czy istnieje możliwość komunikacji pomiędzy komputerem i terminalem.
Uwaga
Po wybraniu w Konfiguracji systemowego wirtualnego portu COM dla terminala płatniczego, program Comarch ERP Optima może działać niestabilnie.
Domyślnie w systemie WINDOWS ten port jest oznaczony jako COM1.
Płatności terminalowe a rodzaje obsługiwanych dokumentów
Przesyłanie płatności do terminala realizowane jest na formularzach następujących dokumentów:
Fakturze Sprzedaży i na wszystkich dostępnych dla niej korektach (z wyjątkiem korekty danych),
Fakturze Zaliczkowej i korekcie wartości do niej,
Paragonie i korekcie ilości do Paragonu,
Wydaniu Zewnętrznym z opcją płatności i korekcie ilości/ wartości/ stawki VAT do WZ (dotyczy modułów Handel, Handel Plus).
Uwaga
Obsługa Korekt w integracji z terminalem płatniczym nie dotyczy urządzeń dystrybuowanych przez eService.
Płatności za pomocą terminala płatniczego na dokumentach FA, PA, WZ z płatnością i FZAL
Jeśli na dokumencie Faktury lub Paragonu wybrana jest forma płatności typu Karta z zaznaczonym parametrem Terminal Płatniczy, to przy zapisie dokumentu na stałe, płatności zapisywane są w preliminarzu, a następnie wyświetlane jest okno Potwierdzenie obciążenia karty:
Okno – potwierdzenie obciążenia karty
Pole Klient wpłaca jest domyślnie przepisane z pola Do zapłaty, a ustawienie kursora znajduje się w polu potwierdzenia, co pozwala od razu zatwierdzić wpłatę. Nie ma możliwości zmiany kwoty w polu Klient wpłaca. Zmiany kwoty wysyłanej na terminal można dokonywać tylko z poziomu samego dokumentu na zakładce [Płatności].
Kwota na zakładce [Płatności]może zostać podzielona. Jeżeli dokument ma być rozliczony na przykład gotówką i kartą, wówczas w tabelce płatności należy wprowadzić kwotę płatną gotówką, wybrać przycisk z płatnością gotówkową, a następnie przycisk z płatnością kartą. Kwota dla karty płatniczej zostanie przesłana do terminala płatniczego.
Po wyświetleniu okna z wpłatą:
można się z niego wycofać (wciskając przycisk Anuluj zmiany), wystawiany wówczas dokument nie jest zapisywany na stałe i nie jest realizowana płatność.
można zatwierdzić płatność, wystawiany wówczas dokument zapisywany jest na stałe i uruchamiany jest proces płatności przez terminal płatniczy.
Podczas trwania transakcji w programie wyświetlane są komunikaty odzwierciedlające postęp wykonywania transakcji na terminalu.
W przypadku wystąpienia błędu przy płatności wyświetlany jest komunikat: „Transakcja nie została zakończona poprawnie, czy powtórzyć transakcję” Do wyboru dostępne są opcje: Tak/Nie. W przypadku wyboru opcji Nie dokument jest zapisywany na stałe i nie jest rozliczany, a po wybraniu opcji Tak następuje próba rozliczenia.
Jeśli po wysłaniu płatności Klient nie zdąży wpisać pin-u (w ciągu 60 sekund) wyświetlana jest informacja, że minął czas oczekiwania i pojawia się pytanie czy transakcja przeszła poprawnie. Użytkownik może potwierdzić tę transakcję lub nie. Jeżeli transakcja zostanie odrzucona i nie zostanie potwierdzona, dokument zapisuje się na stałe. Brak potwierdzenia dotyczy wówczas samej transakcji, a nie dokumentu.
Jeśli płatność kartą zostanie zaakceptowana, wówczas zapis z preliminarza rozliczany jest z zapisem kasowo bankowym. Jeżeli podczas rozliczania nie jest otwarty Raport kasowo/bankowy, to przy zapisie jest on od razu tworzony (analogiczne działanie jak przy zapisie gotówki).
Wydruk samego dokumentu może być wykonany po zakończeniu procesu wystawiania dokumentu, natomiast jeśli dokument ma zostać zafiskalizowany, drukowanie dokumentu na drukarce fiskalnej odbywa się po zakończeniu płatności. Jeśli po rozliczeniu płatności wystąpi błąd fiskalizacji i dokument nie będzie mógł być zafiskalizowany, do dokumentu generującego płatność można wykonać korektę, której zatwierdzenie spowoduje zwrot środków na kartę płatniczą. Można też anulować dokument i wystawić dokument KW na pobraną przez terminal kwotę.
W przypadku, gdy nie jest zaznaczony parametr: Domyślny schemat numeracji dla automatycznych zapisów kasowych w menu Konfiguracja/ Firma/ Kasa/Bank/ Parametry, na zapisie kasowym generowanym automatycznie podczas płatności przez terminal w polu Numer wewnętrzny pojawi się numer zgodny ze schematem domyślnym dla zapisów, wskazanym w Konfiguracji Firmy/ Kasa/Bank/ Dokumenty. Natomiast w polu Numer pojawi się numer dokumentu handlowego, który jest rozliczany.
Uwaga
Aby wystawiać dokumenty magazynowe wymagana jest licencja na moduł Handel lub Handel Plus
.
Płatności za pomocą terminala płatniczego na dokumentach korekt do FA i PA oraz FZAL
Jeśli dokument korygujący posiada płatności typu Karta z zaznaczonym parametrem Terminal płatniczy, a w konfiguracji wybrany został model First Data Polcard lub First Data Polcard – połączenia terminalowe, wówczas w momencie zapisu dokumentu na stałe wykonywana jest transakcja płatnicza za pomocą terminala. Operacje wykonywane są analogicznie jak dla płatności dokumentu FA i PA.
W sytuacji realizowania płatności do korekt, kwota do zapłaty może być zarówno na plus jak i na minus, dlatego w zależności od kierunku płatności na oknie wpłaty podpowiadana jest odpowiednia operacja: obciążenie karty płatniczej bądź zwrot środków na kartę.
Płatności za pomocą terminala płatniczego na dokumentach walutowych
Jeżeli dokument wystawiony jest w walucie, to wszystkie wartości na terminal wysyłane są w walucie systemowej.
Na terminal wysyłana jest wartość złotówkowa, równa wartości brutto z tabelki VAT na dokumencie.
Wartość złotówkowa wysyłana na terminal przeliczana jest po kursie użytym na dokumencie.
Comarch ERP Optima posiada mechanizmy pozwalające na łatwiejsze zarządzanie kontrolą wysokości potrąceń, w tym potrąceń komorniczych i alimentacyjnych. Funkcjonalność automatycznej kontroli potrąceń dostępna jest w Comarch ERP Optima w module Płace i Kadry Plus oraz ERP XL Kadry i Płace.
Wysokość potrąceń a obowiązujące przepisy
Dla potrąceń ze świadczeń pieniężnych z ubezpieczenia społecznego w razie choroby i macierzyństwa obowiązuje art.138-144 Ustawy z dnia 17.12.1998r. o emeryturach i rentach z Funduszu Ubezpieczeń Społecznych (Dz.U. z 2004r. nr 39, poz. 353 ze zm.).
Zasady potrąceń z wynagrodzenia za pracę reguluje art. 87 Ustawy z dnia 26 czerwca 1974r. Kodeks pracy (Dz.U. z 1998r. nr 21, poz. 94 ze zm.).
W sprawach nie unormowanych w wymienionych aktach prawnych stosuje się przepisy Kodeksu postępowania cywilnego i przepisy o Postępowaniu egzekucyjnym w administracji.
Potrącenia z wynagrodzenia za pracę
Z wynagrodzenia za pracę po odliczeniu składek na ubezpieczenia społeczne oraz zaliczki na podatek dochodowy od osób fizycznych potrąceniu podlegają (wg podanej kolejności) między innymi należności:
na zaspokojenie świadczeń alimentacyjnych – do wysokości trzech piątych wynagrodzenia,
na zaspokojenie świadczeń innych niż alimentacyjne – do wysokości połowy wynagrodzenia.
Od niektórych składników wynagrodzenia można potrącić należności alimentacyjne w wysokości 100%.
Uwaga
Departament Ministerstwa Pracy i Polityki Społecznej w sprawie odliczania składki zdrowotnej wyjaśnił, że obowiązkowe odliczenia, o których mowa w art. 87 K.p., obejmują nie tylko składkę na ubezpieczenie społeczne i zaliczkę na podatek dochodowy, ale także składkę na ubezpieczenie zdrowotne. Dokonując wyliczenia potrąceń niealimentacyjnych z wynagrodzenia pracownika, uwzględniamy to stanowisko.
Ustawodawca przewidział również kwotę wolną od potrąceń, między innymi w wysokości minimalnegowynagrodzenia za pracę (po odliczeniu składek na ubezpieczenia społeczne oraz zaliczki na podatek dochodowy od osób fizycznych oraz wpłat na PPK), przy potrącaniu sum egzekwowanych na mocy tytułów wykonawczych na pokrycie należności innych niż świadczenia alimentacyjne.
Niezależnie od ilości wypłat w danym miesiącu wyliczamy jedną kwotę wolną. Tak wynika ze stanowiska Głównego Inspektoratu Pracy znak: GNP-364/306-072-43-1/12. Zdaniem GIP, jeżeli w danym miesiącu następuje wypłata wynagrodzenia za pracę oraz dodatkowego wynagrodzenia rocznego, to obydwa te świadczenia należy zsumować i od tak ustalonej kwoty dokonać potrącenia stosując (jedną) kwotę wolną. Na takim stanowisku stoi także Ministerstwo Rodziny, Pracy i Polityki Społecznej. Zgodnie z art. 87 § 8 K.p. potrąceń należności z wynagrodzenia pracownika w miesiącu, w którym są wypłacane składniki wynagrodzenia za okresy dłuższe niż 1 miesiąc, dokonuje się od łącznej kwoty wynagrodzenia uwzględniającej te składniki wynagrodzenia. W takim przypadku ograniczenia w dokonywaniu potrąceń pod postacią granic i kwot wolnych od potrąceń mają zastosowanie do kwoty wynagrodzeń przypadających do wypłacenia w danym miesiącu. Na warunkach określonych w tych przepisach następują potrącenia m.in. z dodatkowego wynagrodzenia rocznego (art. 87 § 5 K.p.). (…)”. Pogląd ten należy odnieść do ogółu należności ze stosunku pracy.
Na mocy ustawy o zmianie niektórych ustaw w zakresie działań osłonowych w związku z rozprzestrzenianiem się wirusa SARS-CoV-2 określanej jako „tarcza antykryzysowa 3.0” możliwe jest podwyższenie kwoty wolnej od potrąceń w sytuacji, gdy z powodu podjętych na terytorium Rzeczypospolitej Polskiej działań służących zapobieganiu zarażeniem wirusem SARS-CoV-2 pracownikowi zostało obniżone wynagrodzenie lub członek rodziny pracownika utracił źródło dochodu. Kwoty zwolnione z egzekucji określone w art. 871 § 1 Kodeksu pracy ulegają zwiększeniu o 25% na każdego nieosiągającego dochodu członka rodziny, którego pracownik ten ma na utrzymaniu.
Uwaga
W przypadku pracowników zatrudnionych w niepełnym wymiarze czasu pracy kwoty wolne od potrąceń należy zmniejszyć proporcjonalnie do wymiaru czasu pracy.
Potrącenia z zasiłków
Ze świadczeń pieniężnych z ubezpieczenia społecznego w razie choroby i macierzyństwa potrąceniu podlegają między innymi należności:
na zaspokojenie świadczeń alimentacyjnych – do wysokości 60% kwoty zasiłku,
na zaspokojenie świadczeń innych niż alimentacyjne – do wysokości 25% kwoty zasiłku.
Wolna od potrąceń jest kwota zasiłku w wysokości (od 01.03.2019 r.):
532,61 zł – przy potrącaniu należności alimentacyjnych,
878,81 zł – przy potrącaniu innych należności.
Uwaga
Zgodnie ze stanowiskiem Ministerstwa Pracy i Polityki Społecznej z 14 stycznia 2015 r. w sprawie sposobu ustalania kwoty wolnej od potrąceń proporcjonalnie do wypłacanego zasiłku „(…) przy obliczaniu proporcjonalnej kwoty zasiłku wolnej od potrąceń należy, analogicznie jak przy obliczaniu dziennego zasiłku, podzielić ją przez 30 i pomnożyć przez liczbę dni, za które świadczenie chorobowe jest wypłacane.”.
Za pomocą parametru Proporcjonalnie do liczby dni zasiłku dostępnego w grupie ograniczeń potrąceń można ustawić wyliczenie proporcjonalnej kwoty wolnej dla zasiłków. Proporcjonalne wyliczenie kwoty wolnej jest ustalane przez podzielenie pełnej kwoty wolnej przez 30 i pomnożenie przez liczbę dni, za które wypłacono zasiłek ZUS z ubezpieczenia chorobowego lub wypadkowego.
Przy wyliczaniu liczby dni, za które pracownik miał wypłacane świadczenie ZUS uwzględniane są wszystkie zasiłki niezależnie od rodzaju, które zostały naliczone w bieżącej wypłacie (zarówno za bieżący miesiąc, jak i poprzednie rozliczone z opcją ‘mies. wstecz’). Nie są sumowane dni, za które pracownik ma naliczone wyrównania zasiłków, zasiłek wyrównawczy oraz podwyższenie zasiłku macierzyńskiego do kwoty świadczenia rodzicielskiego.
Definiowanie ograniczeń w konfiguracji firmy
W Konfiguracji / Firma / Płace znajduje się gałąź Grupy ograniczeń potrąceń, która wyświetlana jest w postaci listy.
Lista ograniczeń pozwala na ustalenie priorytetów poszczególnych typów ograniczeń:
I grupa ograniczeń (domyślnie Grupa ograniczeń alimentacyjnych) – oznacza liczenie podpiętych do niej potrąceń w pierwszej kolejności do zadanego w definicji tej grupy pułapu,
II grupa ograniczeń (domyślnie Grupa potrąceń z innych tytułów) – powiązane z tą grupą potrącenia liczone będą po wyliczeniu tych przypisanych do I grupy. Nastąpi wyliczenie do pułapu zadeklarowanego w tej grupie, a następnie sprawdzenie, czy suma potrąceń policzonych dla I i II grupy potrąceń łącznie nie przekracza progu zadanego dla I grupy i gdyby takie przekroczenie miało miejsce, to nastąpi ograniczenie.
kolejne grupy kolejno według tej samej hierarchii – czyli wyliczenie do zadanego w tej grupie pułapu, ale sumarycznie nie więcej niż wynika z definicji ograniczenia w najwyższej grupie, z jakiej występują potrącenia w wypłacie danego pracownika.
Użytkownik ma możliwość sterowania kolejnością pozycji na Liście grupy ograniczeń:
Podnieś – podwyższa priorytet naliczania danej grupy,
Obniż – obniża priorytet naliczania.
Predefiniowane dwie grupy:
Grupa potrąceń alimentacyjnych – definicja I grupy odpowiada warunkom ograniczeń dla potrąceń alimentacyjnych. Użytkownik jedynie przypisuje do danej grupy typy potrąceń, które chce ograniczać do danego pułapu i ewentualnie wskazać typy wypłat, z których dopuszcza 100% ściągalności potrąceń oraz takie, które mają być całkowicie wolne od potrąceń.
Grupa potrąceń z innych tytułów – II grupa, dla pozostałych tytułów wykonawczych.
W przypadku, gdy te dwie grupy okażą się niewystarczające, Użytkownik może dodać kolejne grupy potrąceń. Służy do tego ikona lub <INSERT>.
Ogólne – pozwala na określenie do jakiej wysokości kwot zasiłków i jakiej wysokości kwot wypłat nie będących zasiłkami może się liczyć potrącenie, a także deklarację wysokości kwoty wolnej od potrąceń (to co pracownik musi dostać po potrąceniach, niezależnie od wysokości jego wynagrodzenia),
Dodatkowe – lista potrąceń (typów wypłat) podlegających ograniczeniu.
Zakładkę [Ogólne] formularza, z uwagi na obowiązujące przepisy, podzielono na dwie sekcje.
Sekcja 1 – Ograniczenia dotyczące wynagrodzeń nie będących zasiłkami:
Podlegające egzekucji do [ ]% kwoty netto (domyślnie podpowiadane jest 0%).
Składniki – z listy typów wypłat, które nie są zasiłkami ZUS można wybrać te, których ma dotyczyć to ustawienie (lista domyślnie pusta). Przykładowo: jeśli ustawiono 0% – to wskazane na tej liście elementy wypłat będą w całości wolne od potrąceń.
Podlegające egzekucji do [ ]% kwoty netto (domyślnie podpowiadane jest 0%).
Składniki – dla drugiej grupy wyjątków, z listy typów wypłat, które nie są zasiłkami ZUS, można wybrać te, które nie wystąpiły powyżej (domyślnie pusta). Przykładowo: jeśli ustawiono 100% – to wskazane na tej liście elementy wypłat (np. premie, nagrody roczne) będą podlegać egzekucji w całości, czyli w pełnej kwocie netto.
Pozostałe wynagrodzenia podlegają egzekucji do [ ]% kwoty netto (domyślnie podpowiadane jest 0%).
To trzeci próg procentowy, dotyczący wszystkich typów wypłat nie będących zasiłkami ZUS i nie wskazanych na listach powyżej.
Dodatkowo przy tym parametrze, dostępny jest parametr Proporcjonalnie do wymiaru etatu z opcją TAK/NIE (TAK – domyślnie zaznaczone).
Wartość minimalnej płacy do obliczeń pobierana jest z aktualnej na dany miesiąc wartości wskaźnika „Najniższe wynagrodzenie” (Konfiguracja / Program / Płace / Wynagrodzenia). Wartość ta dodatkowo jest przemnażana przez gwarantowany procent minimalnej płacy zapisany w etacie pracownika (domyślnie 100% lub 80% w przypadku pierwszego roku zatrudnienia), opcjonalnie jest też przemnażana przez wymiar etatu pracownika.
Uwaga
Kwota wolna dotycząca wynagrodzeń nie będących zasiłkami, liczona od minimalnej płacy, wyliczana jest w wysokości odpowiadającej kwocie netto minimalnej płacy, a więc po pomniejszeniu o składki na ubezpieczenia społeczne i zdrowotne oraz o zaliczkę na podatek dochodowy (przy liczeniu kwoty należnego podatku, wysokość kosztów uzyskania i ulgi podatkowej jest zgodna z ustawieniami stałych podatkowych danego pracownika).
Sekcja 2 – Ograniczenia dotyczące zasiłków ZUS:
Podlegają egzekucji do [ ]% kwoty (domyślnie 0%).
Próg procentowy dotyczący wszystkich elementów wypłat będących zasiłkami ZUS (procent z wartości brutto zasiłku).
Kwota wolna od potrąceń
[ ]% najniższej emerytury (domyślnie podpowiadane jest 0%)
kwota (domyślnie podpowiadane jest 0 zł) – Użytkownik może podać wysokość kwoty wolnej lub pobrać ją jako wskaźnik z konfiguracji. Po zaznaczeniu parametru Pobrana z konfiguracji są do wyboru dwie opcje dla kwoty wolnej: dla potrącenia alimentacyjnego oraz dla potrącenia z innych tytułów.
Dodatkowo dostępne są dwa parametry Proporcjonalnie do wymiaru etatu z opcją TAK/NIE (TAK – domyślnie zaznaczone) oraz Proporcjonalnie do liczby dni zasiłku z opcją TAK/NIE (NIE – domyślnie zaznaczone).
Wartość najniższej emerytury do obliczeń pobierana jest z aktualnej na dany miesiąc wartości wskaźnika „Najniższa emerytura” (Konfiguracja / Program / Płace / Wynagrodzenia). Opcjonalnie jest ona przemnażana przez wymiar etatu pracownika.
Uwaga
Kwota wolna dotycząca zasiłków ZUS, liczona od najniższej emerytury, wyliczana jest w pełnej wysokości odpowiadającej kwocie najniższej emerytury, bez pomniejszenia o równowartość składek na ubezpieczenia ZUS i zaliczki na podatek dochodowy.
Formularz grupy ograniczeń – zakładka Ogólne
Zakładka [Dodatkowe] formularza, gdzie Użytkownik może wybrać pod przyciskiem , które potrącenia podlegają ograniczeniu. Lista domyślnie zostanie zawężona do typów wypłat, które mają zaznaczoną flagę Potrącenie [v], są nieopodatkowane i wpływają na kwotę do wypłaty [v]. Dane potrącenie może być przypisane tylko do jednej grupy potrąceń, aby możliwa była jednoznaczna interpretacja ograniczeń przy liczeniu wypłaty.
Uwaga
Przesunięcie potrącenia (typu wypłaty) z jednej do drugiej grupy dopuszczalne jest tylko na zasadzie usunięcia danego typu wypłaty z listy potrąceń powiązanych z jedną grupą, a następnie umieszczenie go na liście potrąceń powiązanych z drugą grupą.
Kolejność typów wypłat na liście ‘Potrąceń podlegających ograniczeniu’ określa priorytet ich naliczania. Pierwsze na liście ściągane są w pierwszej kolejności z wypłaty pracownika, później następne. Stąd na liście dostępne są:
Podnieś – podwyższa priorytet naliczania,
Obniż – obniża priorytet naliczania.
Formularz grupy ograniczeń – zakładka Dodatkowe
Predefiniowane grupy ograniczeń potrąceń
Grupa potrąceń alimentacyjnych
Grupa domyślnie ustawiana jest jako pierwsza w kolejności. Ustawienia dla niej są następujące:
Sekcja 1 – Ograniczenia dotyczące wynagrodzeń nie będących zasiłkami:
Podlegające egzekucji do [0.00]% kwoty netto. Składniki – lista typów wypłat, których ma dotyczyć (do uzupełnienia przez Użytkownika).
Podlegające egzekucji do [100.00]% kwoty netto. Składniki – lista typów wypłat, których ma dotyczyć (do uzupełnienia przez Użytkownika).
Pozostałe wynagrodzenia podlegają egzekucji do [60.00]% kwoty netto.
Kwota wolna od potrąceń [0.00]% minimalnej płacy (nie ma kwoty wolnej od potrąceń dla tej grupy).
Sekcja 2 – Ograniczenia dotyczące zasiłków ZUS:
Podlegają egzekucji do [60.00]% kwoty
Kwota wolna od potrąceń: kwota pobrana z konfiguracji dla potrącenia alimentacyjnego – proporcjonalnie do wymiaru etatu „Tak”, proporcjonalnie do liczby dni zasiłku ”Nie”.
Zakładka [Dodatkowe], tj. lista typów wypłat będących potrąceniami podlegającymi ograniczaniu, wymaga wskazania składników przez Użytkownika.
Grupa potrąceń z innych tytułów
Grupa domyślnie ustawiana jako druga w kolejności. Ustawienia dla niej są następujące:
Sekcja 1 – Ograniczenia dotyczące wynagrodzeń nie będących zasiłkami:
Podlegające egzekucji do [0.00]% kwoty netto. Składniki – lista typów wypłat, których ma dotyczyć (do uzupełnienia przez Użytkownika).
Podlegające egzekucji do [100.00]% kwoty netto. Składniki – lista typów wypłat, których ma dotyczyć (do uzupełnienia przez Użytkownika).
Pozostałe wynagrodzenia podlegają egzekucji do [50.00]% kwoty netto.
Kwota wolna od potrąceń [100.00]% minimalnej płacy, proporcjonalnie do wymiaru etatu „Tak”.
Sekcja 2 – Ograniczenia dotyczące zasiłków ZUS:
Podlegają egzekucji do [25.00]% kwoty.
Kwota wolna od potrąceń: kwota pobrana z konfiguracji dla potrącenia z innych tytułów, proporcjonalnie do wymiaru etatu „Tak”, proporcjonalnie do liczby dni zasiłku ”Nie”.
Zakładka Dodatkowe formularza, tj. Lista potrąceń – lista typów wypłat (potrąceń) podlegających ograniczeniu (do uzupełnienia przez Użytkownika).
W przypadku pracowników zatrudnionych w niepełnym wymiarze czasu pracy kwoty wolne od potrąceń ulegają zmniejszeniu proporcjonalnie do wymiaru czasu pracy.
W 2020 roku dla kwoty minimalnej płacy 2600,00 zł brutto kwoty wolne wynoszą:
Minimalna płaca netto dla:
1/1 etat
½ etatu
¾ etatu
¼ etatu
1
0.5
0.75
0.25
Koszty uzyskania przychodu podstawowe (250,00)
Ulga podatkowa (miesięczna – 43,76)
Podstawowe wpłaty na PPK
1861,62
973,81
1418,21
536,77
Koszty uzyskania przychodu podstawowe (250,00)
Ulga podatkowa (miesięczna – 43,76)
Brak
1920,62
1002,81
1462,21
551,77
Koszty uzyskania przychodu podwyższone (300,00)
Ulga podatkowa (miesięczna – 43,76)
Podstawowe wpłaty na PPK
1870,62
987,79
1426,21
545,27
Koszty uzyskania przychodu podwyższone (300,00)
Ulga podatkowa (miesięczna – 43,76)
Brak
1928,62
1016,79
1470,21
560,27
Koszty uzyskania przychodu podstawowe (250,00)
Brak
Brak
1876,62
959,81
1418,21
501,40
Koszty uzyskania przychodu podwyższone (300,00)
Brak
Brak
1884,62
967,81
1426,21
515,51
Brak
Ulga podatkowa (miesięczna – 43,76)
Brak
1877,62
960,81
1419,21
502,40
Brak
Brak
Brak
1833,62
916,81
1375,21
458,40
Kwota wolna od zasiłków
1/1 etatu
½ etatu
¾ etatu
¼ etatu
1
0.5
0.75
0.25
Alimenty
532,61
266,31
385,73
133,15
Komornik
878,81
439,41
659,11
219,70
Mechanizm ustalania kwoty ograniczeń potrąceń
Zakładając, że w wypłacie pracownika są tylko trzy elementy: wynagrodzenie zasadnicze, zasiłek opiekuńczy i potrącenie komornicze; jednocześnie wykorzystano domyślne ustawienia z II standardowej grupy ograniczeń, to wyliczenie kwoty potrącenia wykonywane jest następująco (kwoty dotyczą roku 2020).
Wyliczenie kwoty potrącenia zgodnie z definicją typu wypłaty (bez ograniczeń) – wynik to Kwota_P1,
Ustalenie 50 % wartości netto wynagrodzenia zasadniczego – wynik to Kwota_W1. Kwotę netto wynagrodzenia zasadniczego, czyli pomniejszonego o składki ZUS, wpłaty na PPK (jeśli pracownik przystąpił do PPK) i podatek, można sprawdzić na wydruku płacowym ‘Lista wypłaconych dodatków’ – kwota w kolumnie „Do wypłaty”.
Wyliczenie kwoty wolnej od potrąceń z wynagrodzenia – wynik to KwotaWolna_W. Kwota wolna to 100% minimalnej płacy z uwzględnieniem wymiaru etatu, tj. 2600,00 zł pomnożone przez wymiar etatu i gwarantowany procent minimalnej płacy, a następnie od tej kwoty odliczane są składki ZUS i podatek. Jeśli pracownik jest uczestnikiem PPK odlicza się także wpłaty na PPK finansowane przez niego.
Dla osoby zatrudnionej na pełny etat, z gwarantowaną minimalną płacą ustawioną w etacie jako 100%, z podstawowymi kosztami uzyskania (250 zł) oraz ulgą (43,76 zł), płacącej podatek w wysokości 17% i wszystkie składki na ubezpieczenia społeczne i zdrowotne – kwota wolna wyniesie 1 920,62 zł. Jeśli pracownik jest uczestnikiem PPK i opłaca tylko wpłatę podstawową kwota wolna wyniesie 1 861,62 zł.
Wyliczenie różnicy pomiędzy kwotą netto od wynagrodzenia uwzględnionego przy liczeniu potrącenia (pomniejszoną o wyliczone już potrącenia z grup o wyższym priorytecie), a kwotą wolną, czyli:
Kwota_W1 pomniejszona o KwotaWolna_W – wynik to Kwota_W2 (z ograniczeniem do 0.00zł, jeśli Kwota_W1 jest mniejsza od KwotaWolna_W)
Porównanie wartości Kwota_W1 i Kwota_W2. Mniejsza z nich przechodzi do dalszych obliczeń – wynik to Kwota_W3,
Sprawdzenie wartości brutto zasiłku i przemnożenie jej przez 25% – wynik to Kwota_Z1,
Wyliczenie kwoty wolnej od potrąceń z zasiłków – jako kwota, z uwzględnieniem wymiaru etatu – wynik to KwotaWolna_Z,
Dla osoby zatrudnionej na pełny etat kwota wolna wynosi 878,81 zł.
Wyliczenie kwoty netto zasiłku (tj. po odjęciu zaliczki podatku) – wynik to KwotaNetto_Z,
Porównanie kwoty netto zasiłku (KwotaNetto_Z) z kwotą wolną od potrąceń (KwotaWolna_Z), czyli wyliczenie różnicy pomiędzy kwotą netto zasiłku (można ją sprawdzić na wydruku płacowym ‘Zestawienie wynagrodzeń wg typów wypłat’ ), a kwotą wolną dla zasiłków, czyli:
KwotaNetto_Z pomniejszona o KwotaWolna_Z – wynik to Kwota_Z2 (z ograniczeniem do 0.00zł, jeśli KwotaNetto_Z < od KwotaWolna_Z),
Porównanie wartości Kwota_Z1 i Kwota_Z2, mniejsza z nich przechodzi do dalszych obliczeń – wynik to Kwota_Z3,
Sumowanie wyliczonych maksymalnych kwot potrąceń dla wynagrodzeń i zasiłków, czyli Kwota_W3 i Kwota_Z3 – wynik to Kwota_P2,
Porównanie kwot Kwota_P1 (pierwotnie policzona wartość potrącenia) i Kwota_P2 (maksymalna możliwa kwota potrącenia) – wynik to Kwota_P3, wartość potrącenia z uwzględnieniem ograniczeń.
Uwaga
Przy wyliczaniu ograniczeń potrąceń uwzględniane są wartości tylko tych elementów wypłaty, które generowane są automatycznie podczas jej naliczania.
Po wprowadzeniu zmian w elementach wypłaty należy przeliczyć wyliczoną kwotę zajęcia wynagrodzenia. Przeliczenie jest wykonywane za pomocą przycisku dostępnego na zakładce [Elementy wypłaty] w wypłatach etatowych, dla potrąceń przypiętych na liście zajęć wynagrodzenia pracownika. W przypadku, gdy w jednej wypłacie jest naliczone potrącenie komornicze oraz spłata pożyczki, wywołanie przeliczenia kwoty potrącenia po ręcznej modyfikacji elementów wypłaty spowoduje przeliczenie jedynie zajęcia wynagrodzenia. Kwota spłaty pożyczki nie ulegnie zmianie automatycznie, w razie potrzeby można ją skorygować ręcznie.
Wszystkie dodatkowe elementy wypłaty, naliczane w wypłacie automatycznie (a więc np. dodatki przypisane pracownikowi w kadrach) mogą mieć wpływ na wyliczenie kwot potrąceń. Przykładowo: potrącenie ‘Składka’ dodana pracownikowi w kadrach może zadziałać następująco:
‘Składka’ przypisana na zakładce 2 w tej samej grupie potrąceń, dodana poniżej ‘Potrącenia komorniczego’ -> jej kwota nie wpłynie na wartość pierwszego potrącenia komorniczego, ale składka wpisana jako druga, policzy się wg tych samych zasad ograniczeń, o ile po potrąceniu komornika, pozostanie jeszcze jakaś kwota do wykorzystania. Wg podanego wyżej schematu, suma obu tych potrąceń nie może przekroczyć wartości Kwota_P3; jeśli potrącenie komornicze „wykorzysta” tę kwotę w całości to składka policzy się zerowa, jeśli potrącenie komornicze byłoby niższe, to składka policzy się, ale z ograniczeniem do kwoty będącej różnicą wartości Kwota_P3 i wartości potrącenia komorniczego,
‘Składka’ przypisana na zakładce 2 w tej samej grupie potrąceń, dodana na liście powyżej ‘Potrącenia komorniczego’ -> składka policzy się w pierwszej kolejności w ramach tej grupy, oczywiście z ograniczeniem do wartości Kwota_P3, a potrącenie komornicze w drugiej kolejności, jeśli składka nie wykorzysta całej maksymalnej wartości Kwota_P3,
‘Składka’ przypisana na zakładce 2 w I grupie ograniczeń (wyższej niż ‘Potrącenie komornicze’) -> w pierwszej kolejności policzy się składka z uwzględnieniem warunków ograniczających ustawionych dla grupy I, w następnej kolejności wg warunków z grupy II, policzy się potrącenie komornicze. Przy czym tu nastąpi dodatkowe sprawdzenie, czy suma obu potrąceń nie przekroczyła kwoty będącej sumą dopuszczalnej wartości procentowej z najwyższej grupy (60% wynagrodzenia i zasiłku). Wg podanego wyżej schematu będzie to suma wartości Kwota_W1 i Kwota_Z1. Potrącenie z grupy drugiej, oprócz ograniczeń wynikających z definicji tej grupy, dodatkowo jest ograniczone „resztą” z maksymalnej kwoty w wyższej grupie,
‘Składka’ przypisana na zakładce 1 w tej samej grupie co ‘Potrącenie komornicze’, na liście wyjątków podlegających egzekucji do wysokości 0% -> kwota składki nie podlega ograniczeniu, jej wartość nie ma wpływu na wyliczanie wartości Kwota_W1 wg procentowego pułapu, ale zostanie uwzględniona przy porównaniu kwoty netto z wynagrodzenia z kwotą wolną (porównanie z KwotaWolna_W),
‘Składka’ nie przypisana ani na zakładce 1, ani na zakładce 2 w grupie potrąceń -> kwota składki nie podlega ograniczeniu, jej wartość zostanie uwzględniona zarówno przy wyliczeniu wartości Kwota_W1 wg procentowego pułapu, jak i przy porównaniu kwoty netto z wynagrodzenia z kwotą wolną (porównanie z KwotaWolna_W).
‘Składka’ nie przypisana ani na zakładce 1, ani na zakładce 2 w grupie potrąceń, ale ma zaznaczony parametr „Doliczany po ograniczeniu potrąceń” (Konfiguracja firmy/ Płace/ Typy wypłat > zakładka Szczegółowe) -> kwota składki nie zostanie uwzględniona przy wyliczaniu wartości Kwota_W1, jak i przy porównaniu kwoty netto z wynagrodzenia z kwotą wolną (porównanie z KwotaWolna_W). Kwota składki zostanie odjęta na końcu po wyliczeniu kwoty potrącenia
Przykłady
Przykład
Pracownik jest zatrudniony w pełnym wymiarze czasu pracy i otrzymuje stałe miesięczne wynagrodzenie w kwocie 3000,00 zł oraz ma przypisane w kadrach, na liście dodatków ‘Potrącenie komornicze’ w wysokości 1000,00zł. Pracownikowi przysługują podwyższone koszty uzyskania przychodu 300,00 zł i ulga podatkowa w kwocie 43,76 zł. Pracownik nie jest uczestnikiem PPK.
Wykorzystujemy standardową Grupę ograniczeń potrąceń z innych tytułów. Na drugiej zakładce wybieramy zdefiniowane wcześniej ‘Potrącenie komornicze’. Naliczamy wypłatę.
Ustalenie dopuszczalnej wysokości potrącenia komorniczego :
Obliczamy kwotę maksymalnego potrącenia (komorniczego), tj. ½ wynagrodzenia netto: 2 210,72* ½ = 1105,36 zł.
Dopuszczalna wielkość potrącenia komorniczego wynosi 1105,36 zł (Kwota_W1)
Uwaga
Przy wyliczaniu maksymalnych kwot dla potrąceń uwzględniane są kwoty netto poszczególnych elementów wynagrodzenia, czyli ich wartość pomniejszona o składki społeczne finansowane przez pracownika, składkę zdrowotną, wpłaty na PPK i zaliczkę podatku
Ustalenie kwoty wynagrodzenia wolnej od potrącenia komorniczego:
Ustalamy kwotę netto minimalnego wynagrodzenia dla pełnego etatu i podwyższonych kosztów uzyskania przychodu:
Założenia, jak we wcześniejszym przykładzie. Dodatkowo pracownik otrzymuje premię procentową w wysokości 650 zł. Premia przypisana jest w Grupie potrąceń z innych tytułów w sekcji podlegającej egzekucji do 100% (Konfiguracja / Firma / Płace / Grupy ograniczeń potrąceń).
Uwaga
W sytuacji, gdy w wypłacie pojawia się kilka elementów, dla których chcemy ustalić kwotę netto pomocny będzie wydruk Zestawienie wynagrodzeń wg typów wypłat. Naliczamy wypłatę danego pracownika. Z poziomu Listy wszystkich wypłat zaznaczamy tą wypłatę i wybieramy Zestawienie. Z menu wybieramy wydruk Zestawienie wynagrodzeń wg typów wypłat. Kwota ‘Do wypłaty’ (rysunek poniżej) brana jest pod uwagę do wyliczenia dopuszczalnej kwoty potrącenia z wynagrodzenia pracownika.
Ustalenie dopuszczalnej wysokości potrącenia komorniczego:
Ze składnika Wynagrodzenie zasadnicze możemy potrącić 50% kwoty netto, natomiast ze składnika Premia procentowa możemy pobrać 100% kwoty netto. Ustalamy więc kwoty netto odrębnie dla obydwu składników:
Pracownik jest zatrudniony w pełnym wymiarze czasu pracy i otrzymuje stałe miesięczne wynagrodzenie w kwocie 3.000,00zł. W kadrach, na liście dodatków ma dodane ‘Potrącenie komornicze’ w wysokości 1.500,00zł. Pracownikowi przysługują podstawowe koszty uzyskania przychodu 250,00 zł i ulga podatkowa w kwocie 43,76zł. Pracownik nie jest uczestnikiem PPK.
Dopuszczalna wysokość potrącenia komorniczego, tj. 50% wynagrodzenia netto: 1101,36zł.
Ustalenie kwoty wynagrodzenia wolnej od potrącenia komorniczego:
Kwota netto minimalnego wynagrodzenia dla pełnego etatu i podstawowych kosztów uzyskania przychodu, wolna od potrącenia komorniczego wynosi 1 920,62 zł.
Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:
2202,72 zł – kwota netto wypłaty, przed pomniejszeniem o potrącenie komornicze
1101,36zł – maksymalna kwota potrącenia komorniczego, bez uwzględniania kwoty wolnej, tj. 50% wynagrodzenia netto
Założenia jak we wcześniejszym przykładzie. Dodatkowo pracownik w dniach 1-3 sierpnia był nieobecny – Urlop opiekuńczy (zasiłek).
W sytuacji, gdy w wypłacie pojawia się zarówno wynagrodzenie jak i zasiłek zastosowane muszą być dwie metody ustalenia maksymalnej kwoty potrącenia: osobno dla wynagrodzeń, osobno dla zasiłków. Pomocny będzie wydruk Zestawienie wynagrodzeń wg typów wypłat. Kwota ‘Do wypłaty’ (rysunek poniżej) brana jest pod uwagę do wyliczenia dopuszczalnej kwoty potrącenia z wynagrodzenia pracownika.
W tym przypadku występują dwa sposoby ustalania kwoty wolnej: od wynagrodzenia i od zasiłku.
Kwota wypłaconego zasiłku opiekuńczego jest w całości wolna od potrącenia, co wynika z porównania kwot: 207,09zł < 878,81 zł. W tym przypadku nie będzie więc możliwe dokonanie potrącenia komorniczego z zasiłku opiekuńczego.
Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:
1991,15 zł – kwota netto wypłaty, bez zasiłku, bo kwota zasiłku jest wolna od potrącenia
Po uwzględnieniu zasiłku opiekuńczego pracownik ostatecznie otrzyma 1991,15 + 172,09 – 70,53 = 2092,71 zł.
Zmiana ustawień w grupie ograniczeń potrąceń dotyczących wyliczania kwoty wolnej od zasiłków (Konfiguracja / Firma / Płace / Grupy ograniczeń potrąceń).
W „Grupie potrąceń z innych tytułów” – na zakładce [Dodatkowe] zmieniono ustawienie parametru Proporcjonalnie do liczby dni zasiłku z „Nie” na „Tak”.
Zmiana ustawień wpływa jedynie na wyliczenie kwoty wolnej oraz wysokości potrącenia z zasiłków. Kwota potrącenia komorniczego od wynagrodzenia nie ulega zmianie. Z wynagrodzenia nadal można potrącić 70,53 zł.
Ustalenie dopuszczalnej wysokości potrącenia komorniczego z zasiłku:
Porównujemy obie wyliczone ‘maksymalne’ kwoty: 84,21 zł i 51,77 zł – mniejsza z nich, czyli 51,77 zł to dopuszczalna kwota potrącenia.
Po uwzględnieniu potrącenia z wynagrodzenia i zasiłku pracownik ostatecznie otrzyma 1991,15 + 172,09 – 70,53 – 51,77 = 2040,94 zł
Przykład
Pracownik jest zatrudniony na ¾ etatu na stawce 2856,00 zł, przysługują mu podwyższone koszty uzyskania przychodu 300,00zł. Podatek nie jest pomniejszany o ulgę. Pracownikowi udzielono pożyczki z PKZP, która spłacana jest w ratach 250,00zł + odsetki od pożyczki 2,50zł. Ponadto, pracownik ma przypisane potrącenie alimentacyjne w wysokości 300,00zł. W Konfiguracji -> Firma -> Płace-> Grupy ograniczeń potrąceń wykorzystano I grupę „Grupa potrąceń alimentacyjnych” i na zakładce 2 podpięto potrącenie alimentacyjne. Pracownik nie jest uczestnikiem PPK.
Ustalenie dopuszczalnej wysokości potrącenia alimentacyjnego z wynagrodzenia:
Spłata pożyczki i odsetki nie są przypisane w Grupie potrąceń alimentacyjnych, więc nie podlegają ograniczeniom do wysokości płacy minimalnej. Pracownikowi możemy potrącić pożyczkę w pełnej wysokości:
1765,64 – 250,00 – 2,50 = 1513,14 zł
Od następnego miesiąca dokonano zmian w Konfiguracji / Firma / Płace / Grupy ograniczeń potrąceń.
W „Grupie potrąceń z innych tytułów” – na zakładce 2 podpięto Spłatę pożyczki w kolejności:
Spłata pożyczki – rata kapitałowa,
Spłata pożyczki – odsetki.
Ustalenie dopuszczalnej wysokości potrącenia alimentacyjnego z wynagrodzenia:
Dopuszczalna kwota potrącenia alimentacyjnego z wynagrodzenia wynosi: 60% z 2065,64 = 1239,38 zł.
Potrącenie alimentacyjne w kwocie 300,00 zł może więc być zrealizowane w całości.
Kwota wynagrodzenia wolna od potrącenia alimentacyjnego:
Obowiązujące przepisy nie gwarantują w przypadku potrąceń alimentacyjnych minimalnego wynagrodzenia
Ustalenie możliwej do zrealizowania kwoty potrącenia alimentacyjnego:
Zgodnie z zadeklarowaną kolejnością, program dokonał pomniejszenia kwoty netto pracownika o potrącenie alimentacyjne przypisane w pierwszej „Grupie potrąceń alimentacyjnych”: 2065,64 zł – 300,00 zł = 1765,64 zł
Kwota wynagrodzenia wolna od potrąceń z innych tytułów:
Kwota netto wolna od potrącenia komorniczego dla wynagrodzenia z podwyższonymi kosztami uzyskania, bez prawa do ulgi podatkowej dla ¾ etatu wynosi 1 426,21zł.
Ustalenie możliwej do zrealizowania kwoty potrącenia z innych tytułów:
Sprawdzamy listę potrąceń przypisanych do drugiej „Grupy potrąceń z innych tytułów”, w której znajduje się Spłata pożyczki – rata kapitałowa i Spłata pożyczki – odsetki. W tej grupie potrąceń obowiązuje kwota wolna od potrąceń: 100% minimalnej płacy
Kwota maksymalnego potrącenia dla II grupy, tj. 50% wynagrodzenia netto wynosi: 50% * 2065,64 = 1032,83zł
Maksymalna kwota potrąceń dla II grupy, z uwzględnieniem kwoty wolnej: 2065,64 – 1 426,21 = 639,43 zł
Ustalenie rzeczywistej kwoty potrąceń w ramach II grupy, z uwzględnieniem potrąceń dokonanych w I grupie oraz kwoty wolnej od potrąceń, czyli: (2065,64 – 300,00) – 1 426,21 = 339,43 zł
Najmniejsza z tych trzech wartości, czyli 339,43 zł jest maksymalną kwotą dla potrąceń z grupy II. Pracownikowi można potrącić alimenty w pełnej wysokości 300,00zł oraz spłatę pożyczki – rata kapitałowa w ograniczonej wysokości 250 zł. Spłata pożyczki – odsetki będzie wynosić 2,50 zł.
Dla powyższych ustawień płaca minimalna pracownika zostanie zachowana.
Uwaga
Gdy ograniczenie zadziała dla elementów Spłaty pożyczki PKZP, która nie zostanie spłacona w zadeklarowanej kwocie, to przy zapisywaniu takiej wypłaty pojawi się komunikat informujący o konieczności przeliczenia Harmonogramu spłat. Należy wówczas w PKZP dodać nowy harmonogram spłat z uwzględnieniem bieżącego stanu zadłużenia.
Pracownik zatrudniony jest na ¾ etatu i otrzymuje stałe miesięczne wynagrodzenie w wysokości 2500,00zł. Pracownikowi przysługują podstawowe koszty uzyskania przychodu 250 zł i ulga podatkowa w kwocie 43,76 zł. Wypłata pracownika obciążona jest potrąceniem komorniczym na kwotę 1000,00 zł. Potrącenie komornicze przypisane jest do II grupy „Grupa potrąceń z innych tytułów”.
Ustalenie dopuszczalnej wysokości potrącenia komorniczego:
Od następnego miesiąca pracodawca zobowiązany jest do potrącania pracownikowi alimentów w wysokości 300,00 zł.
Potrącenie alimentacyjne przypięte jest do I grupy – „Grupa potrąceń alimentacyjnych”. W pierwszej kolejności z wypłaty zostaną potrącone alimenty, a jako następne potrącenie komornicze przypisane do II grupy potrąceń.
Ustalenie dopuszczalnej wysokości potrącenia alimentacyjnego:
Dopuszczalna wielkość potrącenia tj. 60% * 1850,10 wynosi 1100,06 zł.
Potrącenie alimentacyjne w kwocie 300,00zł może więc być zrealizowane w całości.
Kwota wynagrodzenia wolna od potrącenia alimentacyjnego:
Obowiązujące przepisy nie gwarantują w przypadku potrąceń alimentacyjnych minimalnego wynagrodzenia
Ustalenie możliwej do zrealizowania kwoty potrącenia alimentacyjnego:
1850,10 zł – 300,00 zł = 1550,10 zł
Po dokonaniu potrącenia alimentacyjnego sprawdzamy, czy pracownik ma potrącenia, które są przypisane w „Grupie potrąceń z innych tytułów”. Jest tam przypisane potrącenie komornicze, więc dokonujemy dalszych obliczeń:
Kwota wynagrodzenia wolna od potrącenia komorniczego:
Obliczamy kwotę minimalnego wynagrodzenia dla ¾ etatu, tj. ¾ * 2600,00 = 1950 zł brutto.
Kwota netto wolna od potrącenia komorniczego wynosi 1 462,21 zł.
Ustalenie kwoty potrącenia komorniczego możliwej do zrealizowania:
1850,10 zł – 300,00 zł = 1550,10 zł kwota netto wypłaty po pomniejszeniu o potrącenie alimentacyjne
W kolejnym miesiącu pracownik przystąpił do ubezpieczenia i opłaca dobrowolną składkę PZU w wysokości 50,00 zł. Kwota składki jest potrącana przez pracodawcę w imieniu pracownika.
Składka PZU nie jest przypięta do żadnej grupy ograniczeń potrąceń. W konfiguracji typu wypłaty, na zakładce Szczegółowe ma zaznaczony parametr „Doliczany po ograniczeniu potrąceń”. W pierwszej kolejności z wypłaty zostaną potrącone alimenty, jako następne potrącenie komornicze, a na końcu składka PZU bez żadnych ograniczeń.
Ustalenie dopuszczalnej wysokości potrącenia alimentacyjnego:
Dopuszczalna wielkość potrącenia tj. 60% * 1850,10 wynosi 1110,06 zł.
Potrącenie alimentacyjne w kwocie 300,00 zł może więc być zrealizowane w całości.
1850,10 zł – 300,00 zł = 1550,10 zł
Po dokonaniu potrącenia alimentacyjnego sprawdzamy, czy są potrącenia przypisane w „Grupie potrąceń z innych tytułów”. Jest tam przypisane potrącenie komornicze, więc dokonujemy dalszych obliczeń:
Ustalenie kwoty potrącenia komorniczego możliwej do zrealizowania:
50,00 zł – składka PZU potrącona w pełnej wysokości, już po ustaleniu poprzednich potrąceń
Pracownik otrzyma wynagrodzenie w kwocie: 1850,10 – 300,00 – 87,89 – 50,00 = 1412,21 zł.
Przykład
Pracownik zatrudniony jest w pełnym wymiarze czasu pracy i otrzymuje stałe miesięczne wynagrodzenie w wysokości 3000,00 zł. Wypłata etatowa jest wypłacana na koniec miesiąca. Dodatkowo 20.10 pracownik miał wypłaconą premię na liście innej w kwocie 1000 zł. Pracownikowi przysługują podwyższone koszty uzyskania przychodu 300,00 zł i ulga podatkowa w kwocie 43,76 zł. Wypłata pracownika obciążona jest potrąceniem komorniczym na kwotę 2000,00 zł. Potrącenie komornicze przypisane jest do II grupy „Grupa potrąceń z innych tytułów”.
Ustalenie dopuszczalnej wysokości potrącenia komorniczego podczas naliczania wypłaty Innej z premią na dzień 20.10:
Z premii możemy potrącić 50% kwoty netto. Ustalamy kwotę netto premii:
Porównujemy obie ‘maksymalne’ kwoty: 1457,98 zł i 987,34 zł – mniejsza z nich, czyli 987,34 zł to dopuszczalna kwota potrącenia.
Sprawdzamy czy kwota netto wypłaty etatowej pozwala na pobranie kwoty 987,34 tytułem egzekucji
987,34 zł < 2 105,01 zł
Z wypłaty etatowej można potrącić kwotę 987,34 zł.
Pracownik otrzyma wynagrodzenie etatowe w kwocie: 2 105,01 – 987,34 (potrącenie komornicze) = 1117,67 zł. Razem z kwotą netto otrzymaną z wypłaty premii została zachowana minimalna kwotę netto 1928,62 zł (1117,67+810,95).
Przykład
Pracownik zatrudniony jest na 1/2 etatu i otrzymuje stałe miesięczne wynagrodzenie w wysokości 1500,00 zł. Pracownikowi przysługują podstawowe koszty uzyskania przychodu 250,00 zł i ulga podatkowa w kwocie 43,76 zł. Wypłata pracownika obciążona jest potrąceniem komorniczym na kwotę 1000,00 zł. Potrącenie komornicze przypisane jest do II grupy „Grupa potrąceń z innych tytułów”. Pracownik jest uczestnikiem PPK. Opłaca składkę podstawową w wysokości 2.0%. Pracodawca finansuje pracownikowi składkę podstawową w wysokości 1.5%.
Ustalenie dopuszczalnej wysokości potrącenia komorniczego:
W kwocie zaliczki podatku znajduje się zaliczka od wynagrodzenia oraz od przychodu z tytuły finansowania składki PPK pracownikowi przez pracodawcę.
Dopuszczalna wysokość potrącenia komorniczego, tj. 50% wynagrodzenia netto: 555,43 zł.
Ustalenie kwoty wynagrodzenia wolnej od potrącenia komorniczego dla 1/2 etatu:
Obliczamy kwotę minimalnego wynagrodzenia dla 1/2 etatu, tj. 1/2 * 2600,00 = 1300 zł brutto.
Kwota netto minimalnego wynagrodzenia dla 1/2 etatu, podstawowych kosztów uzyskania przychodu i ulgi, w przypadku uczestnictwa w PPK, wolna od potrącenia komorniczego wynosi 973,81 zł.
Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:
1110,86 zł – kwota netto wypłaty, przed pomniejszeniem o potrącenie komornicze
Pracownik jest zatrudniony na pełnym etacie na stawce 3000,00 zł/mies., przysługują mu podwyższone koszty uzyskania przychodu 250,00zł i ulga podatkowa.Pracownik nie jest uczestnikiem PPK. Wypłata pracownika obciążona jest potrąceniem komorniczym z innych tytułów na kwotę 1500,00 zł. Pracownik zgłosił, że z powodu podjętych na terytorium Rzeczypospolitej Polskiej działań służących zapobieganiu zarażeniem wirusem SARS-CoV-2: jego żona utraciła źródło dochodu.
Ustalenie dopuszczalnej wysokości potrącenia komorniczego:
Dopuszczalna wysokość potrącenia komorniczego, tj. 50% wynagrodzenia netto: 1101,36 zł.
Ustalenie kwoty wynagrodzenia wolnej od potrącenia komorniczego dla 1/2 etatu:
W związku z utrata źródła dochodu przez żonę z powodu podjętych na terytorium Rzeczypospolitej Polskiej działań służących zapobieganiu zarażeniem wirusem SARS-CoV-2 kwoty zwolnione z egzekucji określone w art. 871 § 1 Kodeksu pracy ulegają zwiększeniu o 25% na każdego nieosiągającego dochodu członka rodziny, którego pracownik ten ma na utrzymaniu. Pracownik ma tylko na utrzymaniu żonę, która nie osiąga dochodu.
Aby odnotować podwyższenie kwoty wolnej o 25% należy w grupie ograniczeń potrąceń na zakładce ‘Ogólne’ w polu „Kwota wolna od potrąceń” ustawić wartość 125% (można skopiować standardową grupę ograniczeń potrąceń z innych tytułów lub utworzyć nową grupę np. „Grupa potrąceń – 125% kwoty wolnej” oraz ustawić odpowiednią wartość).
Podwyższona o 25% kwota netto minimalnego wynagrodzenia dla pełnego etatu i podstawowych kosztów uzyskania przychodu, wolna od potrącenia komorniczego wynosi 2400,76 zł
Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:
2202,72 zł – kwota netto wypłaty, przed pomniejszeniem o potrącenie komornicze
Z wynagrodzenia nie można potrącić zajęcia, gdyż pracownik nie miałby zagwarantowanej kwoty wolnej. Pracownik otrzyma wynagrodzenie w kwocie 2202,72 zł.
Użytkownik Comarch ERP Optima ma możliwość dodawania na listach dokumentów kolumn o dowolnej definicji z dowolnej tabeli dostępnej w bazie danych. Dodawanie kolumn odbywa się z pomocą mechanizmu personalizacji okna. Możliwe jest wyłączenie personalizacji listy dla danego operatora, zwykła personalizacja kolumn, które zdefiniował użytkownik poprzez dodanie kolejnych instrukcji JOIN, dodanie wyrażeń definiujących nową kolumnę oraz testowanie całego zapytania.
Można w dowolny sposób dołączać tabele (również z bazy konfiguracyjnej) do zdefiniowanego zapytania SQL oraz definiować kolumny o dowolnej składni pobierania danych. Dodawanie kolumn może odbywać się w łatwy sposób poprzez „przeciągnięcie” wybranej kolumny na listę Kolumny użytkownika. Dodane kolumny można sortować, grupować oraz wykonywać operacje dostępne z wiersza sum.
Po dodaniu kolumn i tabel wydajność pobierania danych na liście może znacznie spaść. Należy rozważyć tutaj dwa przypadki: sama definicja kolumny nie spowoduje żadnego spowolnienia, jeśli kolumna nie będzie widoczna oraz dodatkowa instrukcja LEFT JOIN spowoduje spowolnienie tylko wtedy, gdy będzie widoczna jakaś kolumna wykorzystująca tą instrukcję lub kolumna zostanie użyta w filtrze. Powyższe problemy zostawiamy do rozwiązania wdrożeniowo przez partnera rozszerzającego funkcjonalność listy.
Wygląd okna personalizacji
Funkcjonalność dostępna jest z poziomu personalizacji aktywnego okna <Shift>+<F9> po kliknięciu ikony . Na oknie Personalizacja listy jest możliwość:
Dodawania złączeń do kolejnych tabel bazy danych (również z bazy konfiguracyjnej).
Dodawania wyrażeń definiujących nową kolumnę danych, po której będzie można sortować i grupować listę.
Testowania całego zapytania.
Okno personalizacji listy podzielone jest na 5 części:
Kolumny dostępne z aktualnie wybranych tabel (wraz z dodatkowymi instrukcjami JOIN) – Jest to lista prezentująca wszystkie pola możliwe do pokazania na liście przy aktualnie zdefiniowanej klauzuli FROM wraz z dodatkowymi złączeniami (instrukcjami JOIN) dodanymi przez użytkownika. Lista jest aktualizowana po dołączeniu nowej tabeli przez użytkownika w sekcji Tabele użytkownika. Lista wyświetlana jest w trybie tylko do odczytu, istnieje jednak możliwość „przeciągnięcia” wybranej kolumny na listę Kolumny użytkownika.
Kolumny użytkownika – lista kolumn dodanych przez użytkownika. Dla dodanej kolumny można określić jej nazwę dla użytkownika, instrukcję pobierania, typ i format wyświetlania, domyślną widoczność i dostępność kolumny oraz dodatkowy opis.
Tabele domyślne – treść zapytania FROM standardowo wysyłanego do serwera SQL – pole do odczytu.
Tabele użytkownika – sekcja umożliwiająca dołączenie kolejnych tabel przez użytkownika. Aby dołączyć nową tabelę należy wskazać jej nazwę (wraz z prefixem „CDN”) oraz podać instrukcję łączenia, czyli klauzulę potrzebną do wykonania połączenia tabel (np. TrN_KntID= Knt_KntID).
Wynikowe zapytanie SQL – zapytanie utworzone z kolumn zdefiniowanych przez użytkownika i instrukcji FROM z dodanymi złączeniami (instrukcjami JOIN) użytkownika, z możliwością sprawdzenia poprawności wykonania – pole do odczytu.
Rys. Personalizacja listy
Na oknie znajdują się przyciski:
– Sprawdzenie poprawności utworzonego zapytania. Przycisk możliwy do wywołania w dwóch trybach (rozwijalna lista obok przycisku):
Sprawdź składnię – weryfikacja poprawności składni zapytań użytkownika, w przypadku poprawnego wykonania testu pojawia się komunikat: Kolumny zostały dodane poprawnie.
Sprawdź wydajność – zmierzenie czasu wykonania zapytania użytkownika; pierwsze wykonanie zmienionego zapytania SQL może nie być miarodajne, gdyż Serwer SQL nie będzie jeszcze miał w pamięci cache tego zapytania, w związku z czym pierwsze wykonanie zapytania może być dłuższe, niż kolejne.
Zapis zmian. Jeżeli po wprowadzeniu zmian użytkownik nie sprawdzi poprawności zapytania, zostanie to wykonane w momencie zapisu zmian w dodatkowych kolumnach. Jeżeli zapytanie nie będzie poprawne, okna nie będzie można zapisać. Podczas zapisu okna personalizacji listy sprawdzane jest również, czy modyfikacja zapytania nie spowodowała efektu „rozmnożenia” wierszy na liście (np. faktura pokazuje się na liście tyle razy, ile ma elementów) – taka sytuacja jest błędna i niektóre funkcje programu mogą wówczas nie działać prawidłowo
Eksport ustawień dodatkowych kolumn użytkownika, bez pozostałych ustawień personalizacji. Eksport wykonywany jest do formatu XML.
Import ustawień dodatkowych kolumn użytkownika z pliku XML.
Kolumny użytkownika
Lista umożliwiająca dodanie przez użytkownika nowej kolumny na listę. Zawiera kolumny:
Nazwa dla użytkownika – pod jaką nazwą kolumna będzie widoczna na interfejsie.
Instrukcja pobrania danych – pole z bazy lub można wpisać treść, która występuje w klauzuli SELECT i dotyczy pojedynczej kolumny.
Format wyświetlania – można określić formatowanie zwracanych wartości w kolumnie np. jeżeli do pokazania będzie kolumna typu DateTime, a standardowo część czasowa jest ucinana, potrzebne będzie tu wprowadzenie odpowiedniej wartości formatującej pokazywaną treść. Formatowanie należy ustawić w kolumnie Typ formatu wyświetlania oraz w kolumnie Format wyświetlania. Kolumna Typ formatuwyświetlania przyjmuje 4 wartości:
None – dane w definiowanej kolumnie wyświetlane są sposób domyślny
Numeric – dane liczbowe
DateTime – data/czas
Custom – niestandardowy format wyświetlania
Ostatnie 3 opcje definiują w jaki sposób wartości mają być wyświetlane używając formatu z pola Format wyświetlania.
Kolumna Formatwyświetlania
Standardowe formaty wyświetlania dla liczb.
Standardowy format wyświetlania dla liczb składa się z litery (określającej rodzaj formatu) oraz 2 cyfr (określających precyzję). Rodzaj formatu decyduje w jaki sposób wartość jest transformowana.
Rodzaj formatu
Opis
Przykład formatu
Przykładowa wartość
c lub C
Liczba jest wyświetlana jako wartość walutowa. Specyfikacja precyzji określa żądaną ilość miejsc dziesiętnych. Jeżeli precyzja nie zostanie wpisana, zostanie użyta domyślna precyzja wartości formatu waluty z ustawień regionalnych.
c2
$1,234.00
n lub N
Liczba jest wyświetlana w formie "-d,ddd,ddd.ddd...", gdzie każde 'd' oznacza cyfrę. Wartość będzie poprzedzona znakiem minus, jeżeli liczba jest ujemna. Separator tysięcy jest wstawiany między każdą grupę 3 cyfr na lewo od kropki dziesiętnej. Specyfikacja precyzji określa żądaną ilość miejsc dziesiętnych. Jeżeli precyzja nie zostanie wpisana, zostanie użyta domyślna precyzja wartości formatu waluty z ustawień regionalnych.
n0
1.234
d lub D
Wartość jest wyświetlana jako liczba całkowita ze znakiem minus. Jeżeli wyświetlana będzie liczba z częścią dziesiętna, zostanie ona sformatowana domyślnie. Specyfikacja precyzji określa minimalną ilość cyfr, która ma zostać pokazana. Jeżeli będzie to potrzebne, liczba zostanie dopełniona „nieistotnymi” zerami z lewej strony, aby zapewnić odpowiednią długość wartości. Jeżeli precyzja nie zostanie wybrana, pokazane zostanie dokładnie tyle cyfr, ile potrzeba do reprezentowania wartości bez początkowych zer.
D8
00004392
p lub P
Liczba mnożona jest przez 100 i wyświetlana ze znakiem %. Specyfikacja precyzji określa żądaną ilość miejsc dziesiętnych. Jeżeli nie zostanie określona, pokazywane są 4 miejsca dziesiętne.
P2
89,48 %
Standardowe formaty wyświetlania dla daty i czasu.
Standardowy format daty/czasu składa się z jednej litery, która określa wzorzec, wg którego wartości będą wyświetlane (czy i w jaki sposób wyświetlać lata, miesiące itd.).
Format
Opis
Przykład
d
Wzorzec daty krótkiej.
04-06-2014
D
Wzorzec daty długiej.
4 czerwca 2014
t
Wzorzec czasu krótkiego.
14:08
T
Wzorzec czasu długiego.
14:08:00
f
Wzorzec daty długiej i czasu krótkiego.
4 czerwca 2014 14:08
F
Wzorzec daty długiej i czasu długiego.
4 czerwca 2014 14:08:00
g
Wzorzec daty krótkiej i czasu krótkiego.
04-06-2014 14:08
G
Wzorzec daty krótkiej i czasu długiego.
04-06-2014 14:08:00
m lub M
Wzorzec miesiąca i dnia.
4 czerwca
y lub Y
Wzorzec roku i miesiąca.
czerwiec 2014
s
Wzorzec sortowalny.
2014-06-04T14:08:00
Niestandardowe formaty dla liczb
Formaty niestandardowe używane są do ręcznego stworzenia odpowiedniego wzorca. Tego sposobu formatowania należy używać tylko wtedy, gdy standardowe formaty nie są wystarczające. Wszystkie formaty składające się z litery, za którą występują jedna lub dwie cyfry, traktowane są jako formaty standardowe. Wszystkie pozostałe są interpretowane jako formaty niestandardowe. Poniżej znajdują się najczęściej używane symbole do konstruowanie niestandardowych formatów.
Znak
Znaczenie
0
Cyfra jest wyświetlana zawsze.
#
Cyfra jest wyświetlana, gdy jest potrzebna (używane np, aby nie wyświetlać początkowych zer).
.
Określa miejsce kropki dziesiętnej. Wygląd symbolu dziesiętnego zależy od ustawień regionalnych.
,
Wyznacza użycie separatora tysięcy. Wygląd separatora zależy od ustawień regionalnych.
%
Mnoży liczbę przez 100 i wstawia symbol % zgodny z ustawieniami regionalnymi.
\
Kolejny znak jest wstawiany literalnie do wyniku.
Niestandardowe formaty daty i czasu
Aby stworzyć wzorzec daty i czasu należy połączyć symbole z tabel poniżej, reprezentujące rok, miesiąc, dzień itd. w różnych formatach.
Symbole dotyczące dat:
Symbol
Znaczenie
Wynik formatownia przykładowej daty (22.06.2014)
yy
Ostatnie dwie cyfry roku.
14
yyyy
Cztery cyfry roku.
2014
MM
Numer miesiąca.
06
MMM
Skrót nazwy miesiąca.
cze
MMMM
Pełna nazwa miesiąca.
czerwiec
dd
Numer dnia.
22
ddd
Skrót dnia tygodnia.
N
dddd
Pełna nazwa dnia tygodnia.
niedziela
/
Separator daty. Pobierany z ustawień regionalnych.
Symbole dotyczące czasu:
Symbol
Znaczenie
hh
Godziny.
mm
Minuty.
ss
Sekundy.
:
Separator czasu. Pobierany z ustawień regionalnych.
Domyślnie Widoczna/Dostępna – domyślne wartości, jakie ustawią się dla tej kolumny na liście.
Opis – dodatkowy opis pokazujący się po najechaniu myszką na nagłówek kolumny.
Tabele użytkownika
Lista umożliwiająca dołączenie kolejnych tabel lub innych obiektów dozwolonych przez SQL do wykonywanego już zapytania. Zawiera kolumny:
Lp – liczba porządkowa, służy do ustalenia kolejności dołączania tabel w zapytaniu.
Nazwa tabeli – nazwa tabeli ze struktury bazy danych.
Instrukcja łączenia – klauzula potrzebna do wykonania połączenia tabel np. TrN_KntID= Knt_KntID.
Parametr kolumny użytkownika na oknie personalizacji
Na oknie personalizacji znajduje się kolumna Kolumny użytkownika. Domyślnie każdy operator ma zaznaczoną tę wartość, co oznacza, że dla tego operatora są dostępne do wyboru dodatkowo zdefiniowane kolumny. Jeżeli parametr dla operatora będzie odznaczony – wówczas pomimo dodanych nowych kolumn w personalizacji, lista dla tego operatora będzie miała dostępne tylko standardowe kolumny. Na rozwijanej liście z dostępnymi kolumnami, te dodane przez użytkownika wraz z przeniesionymi domyślnymi ustawieniami w kolumnach Widoczna i Dostępna będą widoczne na końcu listy, dodatkowo pisane kursywą dla łatwego ich odróżnienia od kolumn standardowych.
Rys. Okno personalizacji
Dodawanie kolumn na listach
Podczas uruchamiania okna programu z listą, która ma dodane przez użytkownika niestandardowe tabele, zostanie najpierw wykonane sprawdzenie, czy zapytanie użytkownika nie zwraca większej ilości wierszy, niż zapytanie standardowe. Jeżeli ilość wierszy będzie taka sama, wówczas okno uruchomi się w spersonalizowanym trybie. Jeżeli natomiast ilość wierszy będzie różna, wówczas wygenerowany zostanie komunikat: Dodatkowe tabele dodane w personalizacji powodują powielanie wierszy na liście. Lista zostanie uruchomiona w trybie standardowym., po czym nastąpi uruchomienie okna bez dodatkowych kolumn i tabel.
Uwaga
Dodanie każdej tabeli użytkownika powoduje modyfikację treści FROM zapytania. W związku z tym wskazanie np. tabeli z elementami dokumentu (nawet bez wybrania kolumn z tej tabeli) będzie powodować zduplikowanie wyświetlanych wierszy i generowanie powyższego komunikatu przy otwieraniu listy.
Jeżeli nie uda się pobieranie danych na listę z dodatkowymi kolumnami i/lub tabelami, pokazany zostanie komunikat Błąd pobierania danych na listę. Lista zostanie uruchomiona w trybie standardowym., a następnie okno programu zostanie uruchomione bez dodatkowych kolumn i tabel.
W przypadku ustawienia filtrowania lub sortowania wg dodanej przez użytkownika kolumny, wydruki z list mogą nie działać poprawnie, jednakże wydruk bieżącego widoku powinien zawsze działać poprawnie.
W menu Narzędzia/ Testy integralności jest dostępny test Okna z dodatkowymi kolumnami sprawdzający, do których okien dodane zostały kolumny lub tabele użytkownika i prezentujący w logu nazwy tych okien.
Przekazywanie zmiennych dynamicznych
W polach Instrukcja wprowadzania danych oraz Instrukcja łączenia istnieje możliwość przekazania wybranych wartości ze zmiennych dynamicznych oraz wartości z panelu filtra. Otrzymujemy możliwość uzależnienia wartości pokazywanych w dodatkowych kolumnach od wartości ze zmiennych dynamicznych (np. uzależnienie od Operatora), czy wartości z panelu filtra (np. uzależnienie od daty aktualności listy).
W polach wprowadzania instrukcji, gdzie podajemy konkretne wartości (np. 2017-11-21) mamy możliwość wykorzystania specjalnych aliasów, odpowiadających tym wartościom (np. #CDN_DataBiezaca#), przekazujących wybrane zmienne dynamiczne lub wartości z panelu filtra. Aby ułatwić wstawienie odpowiedniego aliasu menu kontekstowe wyświetla listę dostępnych wartości:
Parametry standardowe - przy dodawaniu kolumn udostępnione zostały wybrane wartości ze zmiennych dynamicznych. Po wybraniu opcji Parametry standardowe rozwija się dodatkowe menu z następującymi wartościami:
Parametry filtra - po wybraniu opcji Parametry filtra rozwija się dodatkowe menu z wartościami przekazywanymi z panelu filtra danej listy. Między różnymi listami mogą być różne parametry filtra. Poniżej przykład z wartościami przekazywanymi z listy pracowników:
Po wybraniu wartości w miejsce kursora zostanie wstawiony odpowiedni alias.
Przykłady z instrukcją tworzenia
1. Lista zasobów/cennik. Kolumny: kod PLU, nazwa fiskalna oraz waga towaru
Potrzebne pola znajdują się w tabeli CDN.Towary. Na oknie personalizacji listy w sekcji Kolumny dostępnez aktualnie wybranych tabel należy odnaleźć pole Twr_PLU i przeciągnąć do sekcji Kolumny użytkownika oraz nadać nazwę dla kolumny. Tak samo należy postąpić w przypadku pozostałych kolumn czyli Twr_NazwaFiskalna oraz Twr_WagaKG. Dodatkowo dla pola Waga ustawiamy w kolumnie Typ formatu wyświetlania na Numeric a Format wyświetlania na N4 (N- wartość numeryczna, 4 – wyświetlanie do czterech miejsc dziesiętnych).
2. Lista zasobów/cennik. Kolumny: kod CN oraz kraj pochodzenia
Potrzebne pola znajdują się w tabeli CDN.Towary oraz CDN.KodyCN. Na oknie personalizacji listy w sekcji Tabele użytkownika należy połączyć powyższe tabele aby mieć dostęp do pól związanych z kodami CN. W związku z powyższym w kolumnie Nazwa tabeli podajemy tabelę CDN.KodyCN a w kolumnie Instrukcja łączenia wprowadzamy pola klucze łączące obie tabele Twr_KCNId=KCN_KCNId zgodnie ze strukturą bazy danych. Teraz w sekcji Kolumny dostępne z aktualnie wybranych tabel pojawią się pola z tabeli CDN.KodyCN. Należy odnaleźć pole KCN_Kod i przeciągnąć do sekcji Kolumny użytkownika oraz nadać nazwę dla kolumny. Tak samo należy postąpić w przypadku kolumny Twr_KrajPochodzenia.
3. Lista zasobów/cennik. Kolumna marża procentowa dla ceny hurtowa1 - szybkie sprawdzenie przewidywanej marży
Ceny zapisywane są w tabeli CDN.TwrCeny i wiązane z tabelą CDN.Towary po kluczu TwC_TwrId=Twr_TwrId. Ponieważ chcemy uzyskać marżę dla ceny o numerze drugim rozwiązaniem będzie zastosowanie zapytania SQL w kolumnie Instrukcja pobierania danych w sekcji Kolumny użytkownika. Ponieważ dodawanie kolumn odbywa się na oknie towarów należy w zapytaniu aliasować pole Twr_TwrId. Zapytanie będzie mieć następującą postać: (SELECT TwC_Marza From CDN.TwrCeny WHERE TwC_TwrId=A.Twr_TwrId And TwC_TwCNumer=2)
Kolumna ta ma pokazywać wartość w procentach w związku z tym ustawiamy w kolumnie Typ formatu wyświetlania typ na Custom oraz w kolumnie Format wyświetlania ustawiamy maskę 00.00”%” (0 – oznacza że cyfra jest zawsze wyświetlana, . – oznacza miejsca dziesiętne, „%” – dodanie na końcu znaku procent).
4. Lista dokumentów w Handlu. Kolumna Mail
Jeśli użytkownik korzysta ze skrzynki pocztowej w module CRM i wysyła wydruki faktur do swoich klientów drogą mailową to korzystając z powiązania faktura sprzedaży – mail może na liście faktur wyświetlić informację, czy faktura została wysłana do klienta. Informacja ta jest oparta o sprawdzenie czy z fakturą skojarzony jest jakikolwiek mail.
Mail - w sekcji Kolumny użytkownika dodać kolumnę o instrukcji pobierania danych: CASE WHEN EXISTS (SELECT * FROM CDN.DokRelacje WHERE Dor_DokumentId=A.TrN_TrnId AND Dor_ParentTyp=1011 AND DoR_DokumentTyp = 302) THEN 'Tak' ELSE 'Nie' END
5. Lista dokumentów w Handlu. Kolumna Wydruk
Jeśli użytkownik wykonuje kopie elektroniczne wydruków faktur sprzedaży to korzystając z powiązania faktura sprzedaży – wydruk w archiwum może na liście faktur wyświetlić informację czy faktura została wydrukowana. Dla przypomnienia: kopie elektroniczne wydruków są tworzone po zaznaczeniu parametru na definicji wydruku.
Wydruk - w sekcji Kolumny użytkownika dodać kolumnę o instrukcji pobierania danych: CASE WHEN EXISTS (SELECT * FROM CDN.WdrKopieElektroniczne WHERE WdKE_ObjId=A.TrN_TrNId AND WdKE_ObjType=A.TrN_typDokumentu) THEN 'Tak' ELSE 'Nie' END
6. Lista dokumentów WZ. Kolumna marża
Marża wyliczana jest jako różnica pomiędzy sumą Wartości Netto pozycji dokumentu a sumą ich Wartości Zakupu. Zastosujemy zapytanie SQL w kolumnie Instrukcja pobierania danych w sekcji Kolumny użytkownika. Zapytanie wyliczające marżę dokumentu będzie wyglądać następująco: (SELECT SUM(TrE_WartoscNetto) - SUM(TrE_WartoscZakupu) FROM CDN.TraElem WHERE TrE_TrnId=A.TrN_TrnId)
7. Lista dokumentów w Handlu. Kolumna e-mail kontrahenta (Nabywcy)
Należy skorzystać z widoku CDN.PodmiotyView i dostępnego pola Pod_Email. W zapytaniu sql pola z tego widoku muszą być aliasowane. Należy odnaleźć pole Pod_Email i przeciągnąć do sekcji Kolumny użytkownika nadać nazwę dla kolumny, a następnie edytować kolumnę Instrukcja pobierania danych i ustawić alias. Ostateczna postać wyrażenia Pod.Pod_Email.
8. Lista faktur sprzedaży. Kolumna pozostaje do zapłaty
Należy skorzystać z tabeli CDN.BnkZdarzenia. Kolumna Pozostaje do zapłaty musi zostać wyliczona poprzez odjęcie od pola Razem pola Zapłacono. Trzeba stworzyć wyrażenie, które będzie sprawdzać, czy faktura została utworzona z paragonu, gdyż w przypadku, gdy faktura została przekształcona z paragonu zapisy kasowo/bankowe są tworzone dla paragonu. Do sprawdzenia, czy faktura została utworzona z paragonu, posłuży pole TrN_Rodzaj oraz pole TrN_TrNFaId z tabeli CDN.TraNag. W sekcji Kolumny użytkownika należy dodać kolumnę o nazwie Pozostaje do zapłaty i następującej instrukcji pobierania danych: CASE WHEN TrN_Rodzaj=302006 THEN (SELECT SUM(Bzd_Kwota * BZd_Kierunek) FROM CDN.BnkZdarzenia WHERE Bzd_DokumentTyp=1 AND Bzd_DokumentId=A.TrN_FaId) - (SELECT SUM(Bzd_KwotaRoz * Bzd_Kierunek) FROM CDN.BnkZdarzenia WHERE Bzd_DokumentTyp=1 AND Bzd_DokumentId =A.TrN_FaId) ELSE (SELECT SUM(Bzd_Kwota * BZd_Kierunek) FROM CDN.BnkZdarzenia WHERE Bzd_DokumentTyp=1 AND Bzd_DokumentId=A.TrN_TrNId) - (SELECT SUM(Bzd_KwotaRoz * Bzd_Kierunek) FROM CDN.BnkZdarzenia WHERE Bzd_DokumentTyp=1 AND Bzd_DokumentId =A.TrN_TrNId) ENDJeśli płatności do dokumentów są w różnych walutach, to powyższe zapytanie należy zmodyfikować i dostosować do potrzeb użytkownika.
9. Lista dokumentów w Handlu. Kolumna z informacją o akronimie operatora, który zmodyfikował dokument
Dane o operatorach zapisane są w bazie konfiguracyjnej w tabeli CDN. Operatorzy. Należy wykonać złączenie do bazy konfiguracyjnej i powyższej tabeli. Na oknie personalizacji listy w sekcji Tabele użytkownika w kolumnie Nazwa tabeli podajemy tabelę i nazwę bazy do której jest ona podpięta, obie tabele muszą istnieć na serwerze SQL. Wprowadzamy [CDN_KNF_Konfiguracja].[CDN].[Operatorzy] a w kolumnie Instrukcja łączenia wprowadzamy pola klucze łączące tabele CDN.Operatorzy i CDN.TraNag czyli Ope_OpeId=TrN_OpeModId zgodnie ze strukturą bazy danych. Należy odnaleźć pole Ope_Kod i przeciągnąć do sekcji Kolumny użytkownika oraz nadać nazwę dla kolumny.
10. Lista dokumentów w Handlu. Kolumna z nazwą dnia tygodnia terminu płatności
Należy skorzystać z funkcji sqlowej CDN. NazwaDnia i podać dla niej parametry TrN_Termin oraz tryb 0. W związku z powyższym w sekcji Kolumny użytkownika w kolumnie Instrukcja łączenia wprowadzamy wyrażenie: (SELECT CDN.NazwaDnia(A.TrN_Termin, 0))
11. Formularz dokumentu HaMag. Ostatnia cena zakupu
W pierwszej kolejności należy dołączyć tabelę CDN.TwrCeny – instrukcja łączenia: twc_twrid = tre_twrid
Kolejny krok to samo zapytanie wyciągające cenę zakupu z cennika. Będzie to zawsze ostatnia cena zakupu zgodnie z konfiguracją programu (uwzględnianie korekt itp.): (SELECT TwC_Wartosc from CDN.TwrCeny WHERE TwC_TwCNumer =1 AND TwC_TwrId = TrE_TwrId)
12. Lista pracowników. Kolumna z wartością atrybutu o nazwie Atrybut 1 na dzień bieżący
Potrzebne pola znajdują się w tabeli CDN.OAtrybuty oraz CDN.OAtrybutyHist. Na oknie personalizacji listy w sekcji Tabele użytkownika należy dołączyć powyższe tabele, aby mieć dostęp do ich pól. W związku z tym w kolumnie Nazwa tabeli dodajemy tabelę CDN.OAtrybuty, a w kolumnie Instrukcja łączenia wprowadzamy pola łączące obie tabele oraz dodatkowy warunek dla atrybutu o nazwie Atrybut 1, wprowadzamy zatem: OAT_PrcId = PRI_PraId AND OAT_NazwaKlasy = 'Atrybut 1'Następnie podajemy drugą tabelę CDN.OAtrybutyHist, a w kolumnie Instrukcja łączenia wprowadzamy pola łączące obie tabele oraz dodatkowy warunek filtrujący zakres dat na dzień bieżący, wprowadzamy zatem: ATH_OatId = OAT_OatId AND ATH_DataOd <= GETDATE() AND ATH_DataDo >= GETDATE()Teraz w sekcji Kolumny dostępne z aktualnie wybranych tabel pojawią się pola dostępne z tabeli CDN.OAtrybutyHist. Należy odnaleźć pole ATH_Wartosc i przeciągnąć do sekcji Kolumny użytkownika oraz nadać nazwę dla kolumny.
13. Lista pracowników. Kolumna z wartością atrybutu o nazwie Atrybut 1 na dzień daty aktualności listy
Potrzebne pola znajdują się w tabeli CDN.OAtrybuty oraz CDN.OAtrybutyHist. Na oknie personalizacji listy w sekcji Tabele użytkownika należy dołączyć powyższe tabele, aby mieć dostęp do ich pól. W związku z tym w kolumnie Nazwa tabeli dodajemy tabelę CDN.OAtrybuty, a w kolumnie Instrukcja łączenia wprowadzamy pola łączące obie tabele oraz dodatkowy warunek dla atrybutu o nazwie Atrybut 1, wprowadzamy zatem: OAT_PrcId = PRI_PraId AND OAT_NazwaKlasy = 'Atrybut 1'Następnie podajemy drugą tabelę CDN.OAtrybutyHist, a w kolumnie Instrukcja łączenia wprowadzamy pola łączące obie tabele oraz dodatkowy warunek filtrujący zakres dat na dzień daty aktualności listy, wprowadzamy zatem: ATH_OatId = OAT_OatId AND ATH_DataOd <= #filtr_dtDataAkt# AND ATH_DataDo >= #filtr_dtDataAkt#Teraz w sekcji Kolumny dostępne z aktualnie wybranych tabel pojawią się pola dostępne z tabeli CDN.OAtrybutyHist. Należy odnaleźć pole ATH_Wartosc i przeciągnąć do sekcji Kolumny użytkownika oraz nadać nazwę dla kolumny.
14. Lista pracowników. Kolumna z pełnym kodem ubezpieczenia pracownika na dzień daty aktualności listy
Na oknie personalizacji listy w sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych: CASE WHEN LEN(PRE_UBZTyuId) = 3 THEN '0' + CAST(PRE_UBZTyuId as CHAR(3)) + CAST(PRE_PrawoER as CHAR(1)) + CAST(PRE_StNiepelnosp as CHAR(1)) WHEN PRE_UBZTyuId = 99999 THEN '' ELSE CAST(PRE_UBZTyuId as CHAR(4)) + CAST(PRE_PrawoER as CHAR(1)) + CAST(PRE_StNiepelnosp as CHAR(1)) END
15. Lista wypłat pracowników. Kolumna z sumą naliczonej zaliczki podatku (bez zaokrągleń) w wypłacie pracownika dla wybranej listy płac
Potrzebne pola znajdują się w tabeli CDN.Wyplaty. Należy wykonać złączenie do powyższej tabeli. Na oknie personalizacji listy w sekcji Tabele użytkownika w kolumnie Nazwa tabeli podajemy tabelę CDN.Wyplaty, a w kolumnie Instrukcja łączenia wprowadzamy pola łączące obie tabele oraz dodatkowy warunek przekazujący ID wybranej listy płac, wprowadzamy zatem: WPL_PraId = PRI_PraId and WPL_LplId = #filtr_LookupListaPlac_ID#
Następnie w sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych: (SELECT SUM(WPE_NalFis) FROM CDN.WypElementy WHERE WPE_WplId = WPL_WplId)
16. Lista wypłat pracowników. Kolumna z sumą naliczonej zaliczki podatku (bez zaokrągleń) w wypłacie pracownika dla wybranej listy płac – przypadek, gdy dwie wypłaty (np. umowy cywilnoprawne) policzone są w jednej wypłacie
Na oknie personalizacji listy w sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych: (SELECT Suma FROM (
SELECT WPE_WplId, WPE_PraId, SUM(WPE_NalFis) OVER(PARTITION BY WPE_PraID) AS Suma, WPL_LplId, ROW_NUMBER() OVER(PARTITION BY WPE_PraID ORDER BY WPE_NalFis) AS "Row Number"
FROM CDN.WypElementy
JOIN CDN.Wyplaty ON WPL_WplId = WPE_WplId
WHERE WPL_LplId = #filtr_LookupListaPlac_ID#
GROUP BY WPL_LplId, WPE_PraId, WPE_NalFis, WPE_WplId) AS T
WHERE "Row Number" = 1 AND WPE_PraId = PRI_PraId)
17. Rejestr VAT. Kolumna do jakiego dziennika został zapis z rejestru zaksięgowany oraz jaki ma numer w dzienniku
Potrzebne pola znajdują się w tabeli CDN.DekretyNag. Na oknie personalizacji listy w sekcji Tabele użytkownika należy połączyć powyższe tabele aby mieć dostęp do pól związanych z dziennikami. W związku z powyższym w kolumnie Nazwa tabeli podajemy tabelę CDN.DekretyNag a w kolumnie Instrukcja łączenia wprowadzamy pola klucze łączące obie tabele VaN_DekId = DeN_DeNId zgodnie ze strukturą bazy danych. Teraz w sekcji Kolumny dostępne z aktualnie wybranych tabel pojawią się pola dostępne z tabeli CDN.DekretyNag. Należy odnaleźć pole DeN_Dziennik i przeciągnąć do sekcji Kolumny użytkownika oraz nadać nazwę dla kolumny. Tak samo dla kolumny DeN_NrKsiegi.
18. Rejestr VAT. Kolumny: forma płatności, termin, kwota zaksięgowania do KPiR-kwota, data księgowania, numer korekty, numer dziennika cząstkowego
Forma płatności - należy skorzystać z dostępnej na liście kolumny: Fpl_Nazwa
Termin - należy skorzystać z dostępnej na liście kolumny: VaN_Termin
Kwota zaksięgowana do KPiR - Kwota: Należy w sekcji Tabele użytkownika wykonać złączenie do tabeli CDN.ZapisyKPR po polach VaN_KPRID=KpR_KPRID. Teraz w sekcji Kolumny użytkownika dodać kolumnę o instrukcji pobierania danych:
Data księgowania - należy skorzystać z dostępnej na liście kolumny: KPR_DataOpe
Numer korekty - należy skorzystać z dostępnej na liście kolumny: VaN_Korekta
Numer dziennika cząstkowego - Należy w sekcji Tabele użytkownika wykonać złączenie do tabeli CDN.DekretyNag po polach VaN_DekID=DeN_DeNID. Teraz w sekcji Kolumny użytkownika dodać kolumnę o instrukcji pobierania danych: DeN_Dziennik+'/'+CONVERT(varchar(20),DeN_NrDziennika)
19. Lista not odsetkowych, ponagleń zapłaty, potwierdzeń sald. Kolumna kod podmiotu
Kod podmiotu - należy skorzystać z dostępnej na liście kolumny: Pod_Kod
20. Lista dokumentów rozliczonych. Kolumna pokazująca czy rozliczenie zostało uwzględnione na dokumencie kompensaty
Należy w sekcji Tabele użytkownika wykonać złączenie do tabeli CDN.KompensatyElem po polach BrK_BrkId=Kpe_BrkId. Teraz w sekcji Kolumny użytkownika dodać kolumnę o instrukcji pobierania danych: CASE Brk_BrkId WHEN Kpe_BrkId THEN 'Tak' ELSE '' END
21. Lista środków trwałych. Kolumny: metoda amortyzacji, opis
Metoda amortyzacji - w sekcji Kolumny użytkownika dodać kolumnę o instrukcji pobierania danych: CASE SrT_Metoda WHEN 1 THEN 'Liniowa' WHEN 2 THEN 'Degresywna' WHEN 3 THEN 'Jednorazowy' WHEN 4 THEN 'Naturalna' WHEN 5 THEN 'Nie amortyzowany' ENDOpis - należy skorzystać z dostępnej na liście kolumny: Srt_Opis.
22. Lista dokumentów środków trwałych. Kolumny: osoba przekazująca, osoba przyjmująca, miejsce użytkowania przekazujące, miejsce użytkowania przyjmujące
Osoba przekazująca - należy skorzystać z dostępnej na liście kolumny: SrH_PrcImieNazwisko1
Osoba przyjmująca - należy skorzystać z dostępnej na liście kolumny: SrH_PrcImieNazwisko2
Miejsce użytkowania przekazujące - należy skorzystać z dostępnej na liście kolumny: SrH_MiejsceUzytkowania1
Miejsce użytkowania przyjmujące - należy skorzystać z dostępnej na liście kolumny: SrH_MiejsceUzytkowania2
23. Lista ewidencji dodatkowej. Kolumna kod kategorii
Kod kategorii: Należy w sekcji Tabele użytkownika wykonać złączenie do tabeli CDN. Kategorie po polach EDN_KatID=Kat_KatID. Teraz w sekcji Kolumny użytkownika dodać kolumnę o instrukcji pobierania danych Kat_KodSzczegol
24. Lista zleceń serwisowych. Kolumny: nazwa urządzenia, opis urządzenia, priorytet zlecenia
Nazwa urządzenia - należy skorzystać z dostępnej na liście kolumny: SrU_Nazwa
Opis urządzenia - należy skorzystać z dostępnej na liście kolumny: SrU_Opis
Priorytet zlecenia - w sekcji „Kolumny użytkownika” dodać kolumnę o instrukcji pobierania danych: CASE SrZ_Priorytet WHEN 1 THEN 'najwyższy' WHEN 2 THEN 'wysoki' WHEN 3 THEN 'niski' WHEN 4 THEN 'najniższy' END
25. Lista biblioteki dokumentów. Kolumny: schemat obiegu oraz etap bieżący
Schemat obiegu - należy skorzystać z dostępnej na liście kolumny: DNV_ProcesKod
Etap bieżący - Należy w sekcji Tabele użytkownika wykonać złączenie do bazy konfiguracyjnej i tabeli CDN. SekEtapy. W kolumnie Nazwa tabeli należy wprowadzić [CDN_KNF_Konfiguracja].[CDN].[SekEtapy] a w kolumnie Instrukcja łączenia wprowadzić DNV_EtapBiezacyLP=SE_SEID. Teraz w sekcji Kolumny użytkownika skorzystać z dostępnej na liście kolumny: SE_Symbol
26. Zlecenie serwisowe. Zakładka Części. Kolumna z numerem dokumentu wydającego część
W sekcji Tabele użytkownika należy wykonać złączenie do trzech tabel:
CDN.TraElemRelacje po polach TeR_ParentId = SrC_SrCId and TeR_ParentTyp = 902,
CDN.TraElem po polach TrE_TrEId = TeR_ChildId,
CDN.TraNag po polach TrN_TrNId = TrE_TrNId.
Następnie w sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych TrN_NumerPelny.
27. Oferta Handlowa. Dodanie kolumny zawierającej cenę zakupu w liście elementów
W sekcji Tabele użytkownika należy wykonać złączenie do jednej tabeli : CDN.TwrCeny
W polu instrukcja łączenie wpisujemy TwC_TwCNumer=1 and TwC_TwrID =TwrId
W obszarze Kolumny użytkownika dodajemy nową kolumnę Cena Zakupu o instrukcji TwC_Wartosc
28. Dodanie na dokumentach handlowo magazynowych kolumny: Ilość dostępna i braki towaru, na magazynie z dokumentu i z datą wystawienia dokumentu
Na oknie konfiguracji kolumn dodatkowych dodajemy w obszarze dodatkowych tabel tabelę CDN.TraNag z łączem UsrA.Trn_TrnID = Tre_TrnID
Następnie w oknie dodatkowych kolumn dodajemy kolumnę Ilość dostępna: (select case when TwI_Ilosc - TwI_Rezerwacje >0 then TwI_Ilosc - TwI_Rezerwacje else 0 end from
CDN.TwrIlosci B
where
B.TwI_TwrId = Tre_TwrId and
B.TwI_MagId = TrE_MagId --MagID
And B.TwI_Data = (
Select Top 1 H.TwI_Data From CDN.TwrIlosci H Where H.TwI_TwrId = B.TwI_TwrID --A.Twr_TwrId
and H.TwI_MagId = TrE_MagId --magId
And H.TwI_Data <= TrN_DataDok --'2016-03-10'
Order By H.TwI_Data Desc ))
A dla kolumny Braki: (select TwI_Braki from
CDN.TwrIlosci B
where
B.TwI_TwrId = Tre_TwrId and
B.TwI_MagId = TrE_MagId --MagID
And B.TwI_Data = (
Select Top 1 H.TwI_Data From CDN.TwrIlosci H Where H.TwI_TwrId = B.TwI_TwrID --A.Twr_TwrId
And H.TwI_MagId = TrE_MagId --magId
And H.TwI_Data <= TrN_DataDok --'2016-03-10'
Order By H.TwI_Data Desc ))
29. Formularz dokumentu handlowo-magazynowego – ostatnia cena zakupu, data ostatniej dostawy oraz średnia cena zakupu
Ostatnia cena zakupu:
Należy dodać tabelę CDN.TwrCeny z łączeniem Tre_TwrId = Twc_TwrId and Twc_TwCNumer = 1
Instrukcja pobierania danych dla kolumny ma postać:
TwC_Wartosc
Data ostatniej dostawy:
Należy dodać tabelę CDN.TraSElem z łączeniem Tre_TwrId = Trs_TwrId
Instrukcja pobierania danych dla kolumny ma postać:
(select MAX(trs_dataope) from cdn.traselem where trs_typ = 1)
Średnia cena zakupu:
Należy dodać tabelę CDN.TraSElem z łączeniem Tre_TwrId = Trs_TwrId
Instrukcja pobierania danych dla kolumny ma postać:
(select CONVERT(decimal(10,2), AVG(trs_cena)) from cdn.traselem where trs_typ = 1)
30. Okno historii Towaru - kolumna opis dokumentu
W sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych: (Select Trn_Opis from cdn.TraNag TRN where TRN.TrN_TrNId = _DATASOURCE_.TrNId)
31. Formularz dokumentu handlowo-magazynowego - kolumna wartość atrybutu pozycji
W sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych
STUFF(
(SELECT ', ' +
CASE trA_Wartosc
WHEN '' THEN '{pusty}'
ELSE
CASE DEA.DeA_Format
WHEN 4 THEN
CAST(FORMAT(DATEADD(DAY,CAST(trA_Wartosc AS INT),'1800/12/28'),'yyyy-MM-dd') AS NVARCHAR)
ELSE TrA_Wartosc
END
END
FROM cdn.TraElemAtr TRA
LEFT JOIN cdn.DefAtrybuty DEA ON TRA.TrA_DeAId = DEA.DeA_DeAId
WHERE TRA.TrA_Kod='KOD_ATRYBUTU' AND
TRA.TrA_TrEID = 1
FOR XML PATH (''))
,1,2,'')
gdzie w miejsce KOD_ATRYBUTU trzeba wprowadzić konkretny kod
32. Lista dokumentów w Handlu. Sumaryczna waga dokumentu
Na karcie towaru można podać jego wagę, a informacja ta jest zapisywana w tabeli CDN.Towary. Aby wyświetlić na liście sumaryczną wagę dla danego dokumentu należy skorzystać z poniższego zapytania:
(SELECT CAST(SUM(TRE.TrE_Ilosc * TWR.Twr_WagaKG) as numeric(36,4)) FROM CDN.TraElem TRE LEFT JOIN CDN.Towary TWR on TWR.Twr_TwrId = TRE.TrE_TwrId WHERE TRE.Tre_TrNID = A.Trn_TrnId)
33. Formularz dokumentu HaMag. Sumaryczna waga pozycji
Na karcie towaru można podać jego wagę, a informacja ta jest zapisywana w tabeli CDN.Towary. Aby wyświetlić na formularzu dokumentu sumaryczną wagę dla danej pozycji, należy skorzystać z poniższego zapytania:
(SELECT CAST(_DATASOURCE_.TrE_Ilosc * TWR.Twr_WagaKG as numeric(36,4)) FROM cdn.Towary TWR WHERE TWR.Twr_TwrId = _DATASOURCE_.TrE_TwrId)
34. Lista zgłoszeń przewozu towaru SENT – Kod CN.
W sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych:
STUFF(
(
SELECT ', ' + CAST(SNEL_KodCN AS VARCHAR(MAX))
FROM CDN.SentElement WHERE SNEL_SentID = Sent_SentID
FOR XML PATH('')
) ,1,2,'' )
35. Wyświetlanie na liście Rezerwacji Odbiorcy informacji, czy do zamówienia ma być wystawiony Paragon/Faktura.
W sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych:
(CASE A.TrN_eSklepRodzajDokumentu WHEN 1 THEN 'Paragon' WHEN 2 THEN 'Faktura' ELSE '' END)
36. Wyświetlanie na liście Wydań Zewnętrznych informacji, czy do powiązanego z nim zamówienia (Rezerwacji Odbiorcy) ma być wystawiony Paragon/Faktura.
W sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych:
(SELECT
CASE TRN.TrN_eSklepRodzajDokumentu
WHEN 1 THEN 'Paragon'
WHEN 2 THEN 'Faktura'
ELSE '' END
FROM CDN.Tranag TRN
where TRN.TrN_TrNID = (Select top 1 ISNULL(TrN_TrnID,0)
from cdn.Powiazania(A.Trn_TrnID,306)
where TrN_TypDokumentu = 308 order by Trn_DataOpe))
37.Wyświetlanie na listach dokumentów numerów powiązanych dokumentów Zlecenia Nadania Przesyłek.
Kolumna wyświetla wszystkie zlecenia rozdzielone przecinkami.
W sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych:
Dla dokumentów handlowo-magazynowych:
(SELECT SZL.SZL_NumerPelny + ', ' FROM CDN.SenditZleceniePrzesylki SZL
WHERE A.Trn_TrnID IN (select [Data] from CDN.SplitString(SZL.SZL_DokZrodlowe,','))
and SZL_DokZrodloweTyp = A.Trn_TypDokumentu
ORDER BY SZL.SZL_SZLID FOR XML PATH (''))
Dla dokumentów Zleceń serwisowych:
(SELECT SZL.SZL_NumerPelny + ', ' FROM CDN.SenditZleceniePrzesylki SZL
WHERE A.SrZ_SrZId (select [Data] from CDN.SplitString(SZL.SZL_DokZrodlowe,','))
and SZL_DokZrodloweTyp = 900
ORDER BY SZL.SZL_SZLID FOR XML PATH (''))
Kolumna wyświetla pierwsze powiązane zlecenie wg ID, a po najechaniu na ten numer wszystkie powiązane.
W sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych:
Dla dokumentów handlowo-magazynowych:
(SELECT SZL.SZL_NumerPelny + char(10) FROM CDN.SenditZleceniePrzesylki SZL
WHERE A.Trn_TrnID IN (select [Data] from CDN.SplitString(SZL.SZL_DokZrodlowe,','))
and SZL_DokZrodloweTyp = A.Trn_TypDokumentu
ORDER BY SZL.SZL_SZLID FOR XML PATH (''))
Dla dokumentów Zleceń serwisowych:
(SELECT SZL.SZL_NumerPelny + char(10) FROM CDN.SenditZleceniePrzesylki SZL
WHERE A.SrZ_SrZId IN (select [Data] from CDN.SplitString(SZL.SZL_DokZrodlowe,','))
and SZL_DokZrodloweTyp = 900
ORDER BY SZL.SZL_SZLID FOR XML PATH (''))
38.Lista Faktur Sprzedaży oraz Faktur Zakupu. Wyświetlanie rozliczających dokumentów KP/KW.
W sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych:
ISNULL(STUFF((SELECT '# ' + CASE WHEN BRK_LDokTyp=1 AND BRK_LDokID=BZd_BZdID THEN
BRK_PNumer ELSE BRK_LNumer END
FROM cdn.BnkZdarzenia A JOIN
cdn.BnkRozKwoty B ON (B.BRK_LDokTyp=1 AND B.BRK_LDokID=A.BZd_BZdID OR
B.BRK_PDokTyp=1 AND B.BRK_PDokID=A.BZd_BZdID)
WHERE ((((BZd_DokumentTyp = 1 AND BZd_DokumentID = TrN_TrNID)))) FOR XML
PATH('')),1,1,''),'nierozliczony')
39.Lista Faktur Sprzedaży oraz Faktur Zakupu. Wyświetlanie daty rozliczenia dokumentu.
(ISNULL((Select DataRoz=STUFF( (SELECT ', ' + cast(Bzd_dataRoz as nvarchar(25))
From CDN.BnkZdarzenia T1 WHERE T1.BZd_DokumentID = T2.BZd_DokumentID
FOR XML PATH ('')), 1, 1, '')
FROM CDN.BnkZdarzenia T2 Where BZd_DokumentTyp = 1
And BZd_DokumentId = TrN_TrNId group
by BZd_DokumentID),' nierozliczony'))
40. Lista Faktur Sprzedaży oraz Paragonów. Wyświetlanie powiązanych dokumentów Wydania Zewnętrznego.
W sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych:
STUFF((select ', ' + POW.TrN_NumerPelny from CDN.Powiazania(A.Trn_TrnId,
A.TrN_TypDokumentu) POW where POW.TrN_TypDokumentu = 306
FOR XML PATH('')), 1, 2, '')
41. Lista Faktur Sprzedaży oraz Wydań Zewnętrznych. Wyświetlanie powiązanych korekt.
W sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych:
(select TRN.TrN_NumerPelny + ', ' from cdn.tranag TRN where
TrN_ZwrId = A.TrN_TrNID AND TRN.TrN_Anulowany = 0 for xml path (''))
42. Lista pracowników. Kolumna z wyszczególnioną datą ważności badań okresowych, która upłynęła lub upłynie w okresie 30 dni od daty
W sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych:
(select PRE_WaznoscBadanOkres from cdn.pracetaty a where pri_praid = a.pre_praid
and year(a.pre_datado) = 2999)
W celu wyróżnienia kolorem daty ważności badań okresowych, która upłynęła lub upłynie w okresie 30 dni od daty aktualności w Stylach wartości należy dodać poniższy warunek:
(select PRE_WaznoscBadanOkres from cdn.pracetaty a where pri_praid = a.pre_praid
and year(a.pre_datado) = 2999) <= #filtr_dtDataAkt# + 30
AND (select PRE_WaznoscBadanOkres from cdn.pracetaty a where pri_praid =
a.pre_praid and year(a.pre_datado) = 2999) >= #filtr_dtDataAkt# -30
43. Lista pracowników. Kolumna z wyszczególnioną datą zwolnienia, która upłynęła lub upłynie w okresie 5 dni od daty aktualności.
W sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych:
(select PRE_ZatrudnionyDo from cdn.pracetaty a where pri_praid = a.pre_praid
and year(a.pre_datado) = 2999)
W celu wyróżnienia kolorem daty zwolnienia, która upłynęła lub upłynie w okresie 5 dni od daty aktualności w Stylach wartości należy dodać poniższy warunek:
(select PRE_ZatrudnionyDo from cdn.pracetaty a where pri_praid = a.pre_praid
and year(a.pre_datado) = 2999) <= #filtr_dtDataAkt# + 5 AND
(select PRE_ZatrudnionyDo from cdn.pracetaty a where pri_praid = a.pre_praid
and year(a.pre_datado) = 2999) >= #filtr_dtDataAkt# -5
44. Lista pracowników. Kolumna z datą rozwiązania nierozliczonej umowy, która zakończyła się 10 dni temu w stosunku do daty aktualności.
W sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych:
(select top 1 umw_datado from cdn.umowy where umw_splacona < UMW_Brutto
and UMW_Praid = Pra_Praid and UMW_DataDo <= #filtr_dtDataAkt# - 10)
45. Lista pracowników. Kolumna z wyszczególnioną datą ważności uprawnienia Szkolenie BHP (UPR_UprId=52), która upłynęła lub upłynie w okresie 30 dni od daty aktualności.
Potrzebne pole znajduje się w tabeli CDN.Uprawnienia. Na oknie personalizacji listy w sekcji Tabele użytkownika należy dołączyć powyższą tabelę, aby mieć dostęp do jej pól. W związku z tym w kolumnie Nazwa tabeli dodajemy tabelę CDN.Uprawnienia, a w kolumnie Instrukcja łączenia wprowadzamy pola łączące obie tabele oraz dodatkowy warunek dla uprawnienia o Id=52, wprowadzamy zatem:
upr_praid=pra_praid and upr_dkmid=52
W sekcji Kolumny dostępne z aktualnie wybranych tabel pojawią się pola dostępne z tabeli CDN.Uprawnienia. Należy odnaleźć pole UPR_KursTermin i przeciągnąć do sekcji Kolumny użytkownika oraz nadać nazwę dla kolumny.
W celu wyróżnienia kolorem daty ważności uprawnienia, która upłynęła lub upłynie w okresie 30 dni od daty aktualności w Stylach wartości należy dodać poniższy warunek:
UPR_KursTermin <= #filtr_dtDataAkt# + 30 AND UPR_KursTermin>=
#filtr_dtDataAkt# -30
46. Lista zasobów. Ilość dni zalegania towaru na magazynie/ach na podstawie najstarszej dostawy.
W sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych:
(SELECT TOP 1 CASE WHEN #filtrMagazynGridLookup_ID# = 0 then
(SELECT DATEDIFF(DAY, min(TwZ_Data), GETDATE()) AS DateDiff
FROM CDN.TwrZasoby
WHERE Twr_TwrId = TwZ_TwrId)
else (SELECT DATEDIFF(DAY, min(TwZ_Data), GETDATE()) AS DateDiff
FROM CDN.TwrZasoby
WHERE Twr_TwrId = TwZ_TwrId AND TwZ_MagId = #filtrMagazynGridLookup_ID#) end)