OPT066 – Szybki import i eksport przelewów przez bankowość internetową ING

Data aktualizacji: 28-11-2018

Informacje ogólne

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.

Rys. 2 – Formularz banku, zakładka Ustawienia usługi sieciowej

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. 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.

Pliki do pobrania




OPT073 – Szybki import i eksport przelewów przez bankowość internetową Pekao

Data aktualizacji: 20-07-2021

Informacje ogólne

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.

Rysunek 2. Formularz banku, zakładka „Ustawienia usługi sieciowej”

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 Eksport przelewów do pliku.

Rysunek 3. Okno eksportu przelewów 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 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.


Pliki do pobrania




OPT032 – Handlowy dokument identyfikacyjny

Data aktualizacji: 20-11-2019

Wstęp

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.

Rysunek 1. Import wydruku HDI.

Pliki do pobrania




OPT009 – Import danych z arkusza Microsoft Excel

Data aktualizacji: 09-07-2021

Eksport /Import – przygotowanie danych

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: FormaPlatnosciTerminPlatnosci

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.KontrahenciNazwa pola w arkuszu KontrahenciWartości wymagane w polu arkusza
1.Knt_KodKodKod kontrahenta – pole obowiązkowe
2.Knt_Nazwa1NazwaNazwa kontrahenta cz.1 – pole obowiązkowe
3.Knt_Nazwa2Nazwa2Nazwa kontrahenta cz. 2
4.Knt_Nazwa3Nazwa3Nazwa kontrahenta cz. 3
5.Knt_TelefonTelefonNumer telefonu
6.Knt_Telefon2Telefon2Drugi numer telefonu
7.Knt_TelefonSmsTelefonSmsTelefon dla SMS
8.Knt_FaxFaxNumer faxu
9.Knt_UlicaUlicaAdres kontrahenta – ulica
10.Knt_NrDomuNrDomuAdres kontrahenta – numer budynku
11.Knt_NrLokaluNrLokaluAdres kontrahenta – numer lokalu
12.Knt_KodPocztowyKodPocztowyKod pocztowy miasta kontrahenta
13.Knt_Poczta PocztaPoczta
14.Knt_Miasto MiastoMiasto
15.Knt_KrajKrajKraj
16.Knt_WojewodztwoWojewodztwoWojewództwo
17.Knt_PowiatPowiatPowiat – pole niedostępne na formularzu kontrahenta, możliwe uzupełnienie z poziomu bazy danych
18.Knt_GminaGminaGmina – pole niedostępne na formularzu kontrahenta, możliwe uzupełnienie z poziomu bazy danych
19.Knt_URLURLAdres strony WWW kontrahenta
20.Knt_GrupaGrupaGrupa kontrahentów
21.Knt_FinalnyOsobaFizyczna0 – podmiot gospodarczy
1 – osoba fizyczna
22.Knt_NIPENIPNumer NIP – pole obowiązkowe
23.Knt_NIPKrajNIPKrajPrzedrostek NIP dla krajów UE
24.Knt_ZezwolenieZezwolenieNumer zezwolenia na działalność gospodarczą
25.Knt_RegonRegonNumer REGON
26.Knt_PeselPeselNumer PESEL
27.Knt_EmailEmailAdres e-mail
28.Knt_RachunekNrBankRachunekNrNumer rachunku kontrahenta
29.Knt_BnkNazwaBankNazwaNazwa banku
30.Knt_OsNazwiskoOsobaNazwisko przedstawiciela
31.Knt_OpisOpisDodatkowy opis kontrahenta
32.Knt_RodzajRodzajO – 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)
33.Knt_PodatekVATPlatnikVAT0 – (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)
34.Knt_PodatekVatPodatnikVatCzynnyPodatnik VAT czynny
0 – parametr niezaznaczony
1 – parametr zaznaczony
35.Knt_ExportEksport0 – (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.
36.Knt_LimitKredytuLimitKredytuJeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowane jest 0 (zero)
37.Knt_TerminTerminTermin płatności – określany w dniach od daty wystawienia dokumentu.
38.Knt_FplID z CDN.FormyPlatnosciFormaPlatnosciSłownie wyrażona forma płatności. Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowane jest gotówka.
39.Knt_CenyCenyCena 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”.
40.Knt_CenyCenyNazwaNazwa 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
41.CDN.Rabaty, dla Rab_typ=2 (jeden kontrahent / wszystkie towary)UpustWartość upustu. Jeżeli kontrahent na 10% upustu należy wpisać 10 (bez znaczka procentu).
42.Knt_NieNaliczajOdsetekNieNaliczajOdsetekNie naliczać odsetek dla płatności kontrahenta.
43.Knt_MetodaKasowaMetodaKasowaMetoda kasowa
0 – niezaznaczony żaden parametr
1 – Zakup (parametr zależny od Podatnik VAT czynny)
2 – Sprzedaż
44.Knt_WindykacjaEMailWindykacjaEMailAdres poczty e-mail osoby reprezentującej firmę w sprawach windykacji należności.
45.Knt_WindykacjaTelefonSmsWindykacjaTelefonSmsTelefon dla SMS
46.Knt_AlgorytmAlgorytmNettoBruttoDomyślny algorytm naliczania podatku VAT na dokumentach handlowo – magazynowych
0 – netto
1 – brutto
47.Knt_WalutaWalutaDomyś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.TowaryNazwa pola w arkuszu CennikWartości wymagane w polu arkusza
1.Twr_KodKodKod towaru - pole obowiązkowe
2.Twr_NazwaNazwaNazwa towaru - pole obowiązkowe
3.Twr_JmJMNazwa jednostki miary - pole obowiązkowe
4. Twr_JMWysCmWysokoscCmWysokość dla jednostki podstawowej (zakładka [Jednostki, EAN, VAT] na formularzu towaru
5. Twr_JMSzerCmSzerokoscCmSzerokość dla jednostki podstawowej (zakładka [Jednostki, EAN, VAT] na formularzu towaru
6. Twr_JMDlugCmDlugoscCmDługość dla jednostki podstawowej (zakładka [Jednostki, EAN, VAT] na formularzu towaru
7.Twr_JmZJmZDodatkowa jednostka miary. Jeżeli towar posiada więcej jednostek miary należy dodać arkusz JednostkiMiary.
8.Twr.JMPrzelicznikLPrzelicznik_JmJmZPrzelicznik podstawowej jednostki miary na jednostkę złożoną.
Twr.JMPrzelicznikM
9.Twr_TypTypTP – towar prosty
Twr_ProduktTZ – 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.
10.Twr_NumerKatNumerKatalogowyNumer katalogowy
11.Twr_SWWSWWNumer PKWiU
12.Twr_TwGGIDNumerGrupaGrupa towarowa
CDN.TwrGrupy
13.Twr_IloscMinStanMinStan minimalny towaru na magazynie
14.Twr_IloscMaxStanMaxStan maksymalny towaru na magazynie
15.Twr_StawkaVATLiczba całkowita określająca stawkę VAT. Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowana jest wartość 23.
16.Twr_StawkaZakVATZakLiczba 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.
17.Twr_FlagaVATFlaga1 - 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.
18.Twr_FlagaZakVatZakFlaga1 - 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.
19.Twr_EANEANKod kreskowy
20.Twr_OpisOpisOpis towaru
21.Twr_KaucjaOpakowanieKaucjaKolumna powinna zawierać 1 jeśli towar jest opakowaniem kaucjonowanym i 0 w pozostałych przypadkach.
22.Twr_OdwrotneObciazenieOdwrotneObciazenieParametr 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
23.Twr_CenaZCzteremaMiejscamiCenaZCzteremaMiejscamiParametr 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
24.Twr_TypMinimumGranica ceny0 – brak granicy ceny,
1 – minimalna marża,
2 – maksymalny rabat.
25.Twr_MinCenaMarzaMinimalna cena/marżaWartość ustalonej granicy ceny (min. marży/ max. rabatu).
26.Twr_Kntid (Id z tabeli CDN.Kontrahenci)DostawcaDostawca (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.
27.Twr_KoddostawcyKod u dostawcyKod u dostawcy (kod towaru u dostawcy z zakładki Dodatkowe na karcie towaru).
28.Twr_ProducentKodKod producentaKod producenta (kod towaru producenta z zakładki Dodatkowe na karcie towaru).
29.Twr_KosztUslugiTypKosztUslugiTyp1 - typ kwotowy
2 – typ procentowy
30.Twr_KosztUslugiKosztUslugiKoszt usługi w przeliczeniu na PLN lub procent dla typu procentowego
31. Twr_KosztUslugiWalKosztUslugiWalKoszt usługi w walucie lub procent dla typu procentowego
32. Twr_WalutaWalutaWaluta ostatniej ceny zakupu
33.Twr_KCNId (Id z tabeli CDN.KodyCN)Intrastat - kod CNOś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.
34.Twr_KrajPochodzeniaIntrastat - kraj pochodzeniaDwuznakowy symbol kraju pochodzenia towaru.
35.Twr_MasaIntrastat - masaMasa netto dla jednostki podstawowej towaru podana w kg.
36.Twr_JmPomPrzelicznikLIntrastat - JmPomPrzelicznikLLicznik przelicznika jednostki miary uzupełniającej przypisanej do kodu CN określającego jej stosunek do podstawowej jednostki miary towaru.
37.Twr_JmPomPrzelicznikMIntrastat - JmPomPrzelicznikMMianownik przelicznika jednostki miary uzupełniającej przypisanej do kodu CN określającego jej stosunek do podstawowej jednostki miary towaru.
38.Twr_SplitPayPodzielona płatnośćParametr MPP - podzielona płatność (widoczny w oknie Pozycji cennika na zakładce [Ogólne]):
0 - niezaznaczony
1 - zaznaczony
39.Prd_KodProducentProducent towaru (zakładka [Dodatkowe] na formularzu towaru)
40.Mrk_NazwaMarkaMarka towaru (zakładka [Dodatkowe] na formularzu towaru)
41.Twc_wartosc dla Twc_TwcNumer=1 dla odpowiedniego towaru Twc_twridCena zakupuCena zakupu
42.TwC_Waluta dla TwcNumer=1 dla odpowiedniego towaru Twc_twridWaluta Cena zakupuWaluta ceny zakupu
43.Twc_wartosc dla Twc_TwcNumer= 2Cena hurtowa 1Cena hurtowa (1)
44.TwC_Waluta dla TwcNumer=2Waluta Cena hurtowa 1Waluta ceny hurtowej (1)
45.Twc_wartosc dla Twc_TwcNumer=3Cena hurtowa 2Cena hurtowa (2)
46.TwC_Waluta dla TwcNumer=3Waluta Cena hurtowa 2Waluta ceny hurtowej (2)
47.Twc_wartosc dla Twc_TwcNumer=4Cena hurtowa 3Cena hurtowa (3)
48.TwC_Waluta dla TwcNumer=4Waluta Cena hurtowa 3Waluta ceny hurtowej (3)
49.Twc_wartosc dla Twc_TwcNumer=5Cena detalicznaCena detaliczna
50.TwC_Waluta dla TwcNumer=5Waluta Cena detalicznaWaluta ceny detalicznej
51.Twc_wartosc dla Twc_TwcNumer=6Cena iSklep24Ewentualna cena dodana przez Użytkownika
52.TwC_Waluta dla TwcNumer=6Waluta Cena iSklep24Waluta ceny iSklep24

Arkusz JednostkiMiary

1.Twr_KodKodTowaruKod towaru - pole obowiązkowe
2.TwJZ_JM (Twr_TwrID = TwJZ_TwrID)JMZNazwa jednostki miary - pole obowiązkowe
3.TwJZ_JMPrzelicznikL ((Twr_TwrID = TwJZ_TwrID)PrzelicznikLJeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowana jest wartość równa 1.
4.TwJZ_JMPrzelicznikM (Twr_TwrID = TwJZ_TwrID)PrzelicznikMJeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowana jest wartość równa 1.
5.TwJZ_WysCmWysokoscCmWysokość dla jednostki pomocniczej (zakładka [Jednostki, EAN, VAT] na formularzu towaru
6.TwJZ_SzerCmSzerokoscCmSzerokość dla jednostki pomocniczej (zakładka [Jednostki, EAN, VAT] na formularzu towaru
7.TwJZ_DlugCmDlugoscCmDługość dla jednostki pomocniczej (zakładka [Jednostki, EAN, VAT] na formularzu towaru

Arkusz KodyKreskowe

1.Twr_KodKodTowaruKod towaru – pole obowiązkowe
2.TwE_EAN (Twr_TwrID = TwE_TwrID)EanKod kreskowy – pole obowiązkowe
3.TwE_JM (Twr_TwrID = TwE_TwrID)JmDlaEanJeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowana jest wartość z JM.
4.TwE_Domyslny (Twr_TwrID = TwE_TwrID)DomyslnyStatus kodu kreskowego – pole obowiązkowe

Arkusz Producenci

1.Prd_KodKodKod producenta – pole obowiązkowe
2.Prd_NazwaNazwaNazwa producenta
3.Prd_URLURLOdsyłacz do adresu internetowego

Arkusz Marki

1.Mrk_NazwaMarkaNazwa marki – pole obowiązkowe
2.Prd_KodProducentKod producenta

Arkusz Kody CN

1.KCN_KodKodOśmiocyfrowy kod CN – pole obowiązkowe
2.KCN_OpisOpisOpis kodu CN
3.KCN_UzupJMJmDla kodów CN związanych z jednostką miary uzupełniającą należy podać nazwę tej jednostki
4.KCN_MasaMasaPrzyjmuje 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 .
5.KCN_StawkaVATLiczba całkowita określająca stawkę VAT kodu CN.
6.KCN_FlagaVATFlaga1 - 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

1.Twr_KodKodTowaruKod towaru – pole obowiązkowe
2.Twes_Udostepnij
(Twr_TwrID = Twes_TwrID)
UdostepnijParametr Udostępnij (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 - zaznaczony
3.Twes_TwGGIDNumer
(Twr_TwrID = Twes_TwrID
CDN.TwrGrupy)
GrupaGrupa Towarowa dla e-Sklep/e-Sale
(wskazana grupa musi być podgrupą dla grupy udostępnianej do sklepu)
4.Twes_ESklepStatus
(Twr_TwrID = Twes_TwrID)
StatusDostepnosciParametr 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
5.Twes_ESklepDostepnosc
(Twr_TwrID = Twes_TwrID)
DostepnoscWartość 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
6.Twes_ESklepNieKontrolujStanow
(Twr_TwrID = Twes_TwrID)
KontrolaStanowParametr 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ą
7.Twes_ESklepDostepnyOd
(Twr_TwrID = Twes_TwrID)
DostepnyOdParametr 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
8.Twes_ESklepDataDostepnosci
(Twr_TwrID = Twes_TwrID)
DataDostepnyOdData 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
9.Twes_ESklepZapytajOCene
(Twr_TwrID = Twes_TwrID)
ZapytajOCeneParametr Zapytaj o cenę towaru (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 – zaznaczony
10.Twes_ESklepBezRabatu
(Twr_TwrID = Twes_TwrID)
RabatParametr Towar nie podlega rabatowaniu (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 – zaznaczony
11.Twes_ESklepKalkulacjaDostaw
(Twr_TwrID = Twes_TwrID)
KosztDostawyWartość parametru Negocjowalny koszt dostawy (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – ustawienia e-Sklep
1 – negocjowalny koszt dostawy
2 –stały koszt dostawy
12.Twes_ESklepKalkulacjaDostawWartosc
(Twr_TwrID = Twes_TwrID)
KosztDostawyWartoscWartość kosztu dostawy w przypadku ustawienia stałego kosztu dostawy.
Parametr nie zostanie wypełniony jeśli w kolumnie KosztDostawy ustawiono wartość inną niż 2
13.Twes_ESklepFlaga_Nowosc
(Twr_TwrID = Twes_TwrID)
NowoscFlaga dla atrybutu czasowego Nowość (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 - zaznaczony
14.Twes_ESklepFlaga_Promocja
(Twr_TwrID = Twes_TwrID)
PromocjaFlaga dla atrybutu czasowego Promocja (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 - zaznaczony
15.Twes_ESklepFlaga_ProduktzGazetki
(Twr_TwrID = Twes_TwrID)
GazetkaFlaga dla atrybutu czasowego Produkt z gazetki (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 - zaznaczony
16.Twes_ESklepFlaga_ProduktPolecany
(Twr_TwrID = Twes_TwrID)
PolecanyFlaga dla atrybutu czasowego Produkt polecany (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 - zaznaczony
17.Twes_ESklepFlaga_Wyprzedaz
(Twr_TwrID = Twes_TwrID)
WyprzedazFlaga dla atrybutu czasowego Wyprzedaż (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 - zaznaczony
18.Twes_ESklepFlaga_Nagroda
(Twr_TwrID = Twes_TwrID)
NagrodaFlaga 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
19.Twes_ESklepFlaga_SuperJakosc
(Twr_TwrID = Twes_TwrID)
SuperJakoscFlaga dla atrybutu czasowego Super Jakość (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 - zaznaczony
20.Twes_ESklepFlaga_SuperCena
(Twr_TwrID = Twes_TwrID)
SuperCenaFlaga dla atrybutu czasowego Super Cena (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 - zaznaczony
21.Twes_ESklepFlaga_NajlepiejOceniany
(Twr_TwrID = Twes_TwrID)
NajlepiejOcenianyFlaga dla atrybutu czasowego Najlepiej Oceniany (widoczny w oknie Pozycji cennika na zakładce [eHandel]):
0 – niezaznaczony
1 - zaznaczony
22.Twes_ESklepFlaga_RekomendacjaSprzedawcy
(Twr_TwrID = Twes_TwrID)
RekomendacjaFlaga 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)

1.Twr_KodKodTowaruKod towaru – pole obowiązkowe
2.TwrJ_JezykID
(Twr_TwrID = TwrJ_TwrID)
JezykIDId 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
3.TwrJ_NazwaNazwaNazwa towaru w języku obcym (Formularz języka towaru zakładka [e-Sklep/e-Sale])
4.TwrJ_OpisOpisOpis towaru w języku obcym (Formularz języka towaru zakładka [e-Sklep/e-Sale])
5.TwrJ_MetaTytulTytulTytuł towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie])
6.TwrJ_LinkLinkLink dla pozycjonowania towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie])
7.TwrJ_MetaSlowaKluczoweSlowaKluczoweSłowa kluczowe dla pozycjonowania towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie])
8.TwrJ_MetaOpisMetaOpisMeta Opis dla pozycjonowania towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie])
9.TwrJ_OpisKrotkiOpisSkroconyOpis skrócony dla pozycjonowania towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie])
10.TwrJ_SzukajSzukajSłowa kluczowe wykorzystywane do wyszukiwania przy pozycjonowaniu towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie])

Arkusz eHandelJednostki

1.Twr_Kod
(Twr_TwrID = TwJZ_TwrID)
KodTowaruKod towaru – pole obowiązkowe
2.TwJZ_JM
(Twr_TwrID = TwJZ_TwrID)
JednostkaPomocniczaNazwa jednostki miary dla eSklep
3.TwJZ_eSklepDomyslna
(Twr_TwrID = TwJZ_TwrID)
DomyslnaParametr 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.

Pliki do pobrania




OPT022 – Przykłady schematów księgowych w Comarch ERP Optima

Data aktualizacji: 28-11-2018

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 WnKonto MaSłownikKwotaWarunek
@KontoRach@KontoPrzeciwPodmioty@Przychod
@KontoPrzeciw@KontoRachPodmioty@Rozchod
@KontoDodatWn@KontoDodatMaPodmioty@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 WnKonto MaSłownikKwotaKsięg. walutWarunek
1@KontoRachbrak@Rozchodtak
2@KontoPrzeciwPodmioty@Rozchodtak@KontoPrzeciw '149'
3@KontoRachbrak@Przychodtak
4@KontoPrzeciwPodmioty@Przychodtak@KontoPrzeciw '149'
5@KontoPrzeciwbrak@Przychodnie@KontoPrzeciw ='149'
6@KontoPrzeciwbrak@Rozchodnie@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 WnKonto MaSłownikKwotaKsięg. walutWarunek
1@KontoRach201-1-1Podmioty@Przychodnie@RozliczenieWaluta ='PLN'
2202-1-1@KontoRachPodmioty@Rozchodnie@RozliczenieWaluta ='PLN'
3@KontoRachbrak@Rozchodnie@RozliczenieWaluta 'PLN' AND @Waluta ='PLN' AND @KontoRach ='131'
4@KontoRachbrak@Rozchodtak@RozliczenieWaluta 'PLN' AND @Waluta 'PLN' AND @KontoRach ='135'
5@KontoRachbrak@Rozchodnie@RozliczenieWaluta 'PLN' AND @Waluta 'PLN' AND @KontoRach ='131'
6203podmioty@Rozchodtak@RozliczenieWaluta 'PLN'
7203podmioty@Przychodtak@RozliczenieWaluta 'PLN'
8@KontoRachbrak@Przychodnie@RozliczenieWaluta 'PLN' AND @Waluta ='PLN' AND @KontoRach ='131'
9@KontoRachbrak@Przychodtak@RozliczenieWaluta 'PLN' AND @Waluta 'PLN' AND @KontoRach ='135'
10@KontoRachbrak@Przychodnie@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:

  1. 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
  2. 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 WnKonto MaSłownikKwotaWarunek
202-2-1Podmioty@Brutto
221-1brak@Vat
@KatElemKontoWnbrak@Netto
@KontoDodatWn@KontoDodatMaPodmioty@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 WnKonto MaSłownikKwotaWarunek
201-2-1Podmioty@Brutto
221-2brak@Vat
842-2brak@Netto@CzyZaliczkowa ='TAK'
731-2brak@Netto@CzyZaliczkowa ='FINALNA' OR @CzyZaliczkowa ='NIE'
842-2731-2brak@ZalNetto@CzyZaliczkowa ='FINALNA'

Gdy konto 731-2 jest kontem słownikowym towarów, schemat może wyglądać następująco:

Konto WnKonto MaSłownikKwotaWarunek
201-2-1Podmioty@Brutto
221-2brak@Vat
842-2brak@Netto@CzyZaliczkowa ='TAK'
731-2Towary@PozNetto@CzyZaliczkowa ='FINALNA' OR @CzyZaliczkowa ='NIE'
842-2brak@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:

  1. pracownik pobiera zaliczkę z kasy np. 250 zł – w menu Kasa/Bank -> Zapisy Kasowe/Bankowe dodajemy dokument rozchodowy (KW), wybierając jako podmiot Pracownika.
  2. 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:

  1. pracownik pobiera zaliczkę z kasy np. 150 zł – w menu Kasa/Bank -> Zapisy Kasowe/Bankowe dodajemy dokument rozchodowy (KW), wybierając jako podmiot Pracownika.
  2. 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 WnKonto MaSłownikKwotaWarunek
@KatElemKontoWn@Netto
221-1@VAT
202-2-1Podmioty@Brutto
202-2-1Podmioty@PlatZaliczka@TypPodmiotu ='kontrahent' AND @TypZaliczkobiorcy ='pracownik'
234Zaliczkobiorcy@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 WnKonto MaSłownikKwotaWarunek
@KatElemKontoWn@Netto
221-1@VAT
202-2-1Podmioty@Brutto@TypPodmiotu ='kontrahent' AND @TypZaliczkobiorcy 'pracownik'
234Zaliczkobiorcy@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 WnKonto MaSłownikKwotaKsięgowanie walutoweWarunek
204Podmioty@RoznicaPlusTAK@TypRozl ='FZK-KP' OR @TypRozl ='FZ-FZK' OR @TypRozl ='FZ-KW'
204Podmioty@RoznicaMinusTAK@TypRozl ='FZK-KP' OR @TypRozl ='FZ-FZK' OR @TypRozl ='FZ-KW'
752-5brak@RoznicaPlusNIE
751-4brak@RoznicaMinusNIE
203Podmioty@RoznicaPlusTAK@TypRozl ='FSK-FS' OR @TypRozl ='FSK-KW' OR @TypRozl ='FS-KP'
203Podmioty@RoznicaMinusTAK@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 WnKonto MaSłownikKwotaWarunek
202-2-1Podmioty@KwotaRoz1
201-2-1Podmioty2@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 WnKonto MaSłownikKwotaWarunek
202-2-1Podmioty@KwotaRoz1@TypRozl ='FZ-FS'
201-2-1Podmioty2@KwotaRoz1@TypRozl ='FZ-FS'
202-2-1Podmioty@KwotaRoz1@TypRozl ='KW-KP'
201-2-1Podmioty2@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

Data aktualizacji: 03-09-2021



Informacje ogólne

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 [Ustawienia usługi sieciowej]. Na zakładce tej Użytkownik wprowadza ustawienia dotyczące przelewów walutowych oraz podpina certyfikat do komunikacji.

Rysunek 2. Formularz banku, zakładka „Ustawienia usługi sieciowej”.

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 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)

Data aktualizacji: 07-12-2020

O Elektronicznej Wymianie Danych

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:

  1. 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.
  2. 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)
  3. Definicja KP – symbol numeracji dla dokumentów typu przychód
  4. 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.

  1. 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.
  2. 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.
  3. Rozszerzenie pliku – należy podać rozszerzenie pliku udostępnianego/ wymaganego przez bank, np. csv, txt, pli.
  4. 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)
  5. 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ć.
  6. 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 (|)
  7. 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.
  8. Ograniczniki tekstu – pola tekstowe w pliku będą otaczane tym znakiem, najczęściej jest nim cudzysłów.
  9. 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.
  10. 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.
  11. 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.
  12. 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).
  13. 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.
  14. Separator tysięcy – separator grupujący. Dostępne opcje do wyboru to: puste (brak separatora), kropka (.), przecinek (,).
  15. 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.
  16. 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ą .

  1. Nazwa pola z rozwijalnej listy należy wybrać odpowiednią opcję, np. Data dokumentu, Kwota płatności, Nazwa podmiotu, Pełny numer rachunku podmiotu.
  2. 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.
  3. 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”
  4. Szerokość – ilość znaków przewidziana na dane pole, pole wykorzystywane głównie w formatach do eksportu przelewów
  5. 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 „|”.
  6. 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.
  7. 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:

110,20000121,555500,12401066,0,”27124010661111222233339999″,”79106000761234123412341234″,
„1_PODPOLE-NAZWA_ZLECENIODAWCY|2_PODPOLE-NAZWA_ZLECENIODAWCY|3_PODPOLE-ULICA_ZLECENIODAWCY|4_PODPOLE-MIEJSCOWOSC_ZLECENIODAWCY”,”1_PODPOLE-NAZWA KONTRAHENTA|2_PODPOLE-NAZWA_KONTRAHENTA|3_PODPOLE-ULICA KONTRAHENTA|4_PODPOLE-MIEJSCOWOSC_KONTRAHENTA”,0,10600076,”1_PODPOLE-SZCZEGOLY PLATNOSCI|2_PODPOLE-SZCZEGOLY_PLATNOSCI|3_PODPOLE-SZCZEGOLY PLATNOSCI|4_PODPOLE-SZCZEGOLY_PLATNOSCI”,””,””,”51″,”1_PODPOLE-INFORMACJE_KLIENT-BANK|2_PODPOLE-INFORMACJE_KLIENT-BANK|3_PODPOLE-INFORMACJE_KLIENT-BANK|4_PODPOLEINFORMACJE_KLIENT-BANK|5_PODPOLE-INFORMACJE_KLIENT-BANK|6_PODPOLE-INFORMACJE_KLIENT-BANK”

 

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.

NrNazwa polaO/FD/FPozycja w formacie przelewów w programie
1Typ operacji
110 = Polecenie przelewu, wypł. gotówk.
120 = Płatność ZUS
210 = Polecenie zapłaty
O3 n SPozycja „stała wartość”, w polu wartość: 110
2Data płatności RRRRMMDDO8 d SData operacji
3Kwota bez kropek tysięcznych i przecinka oddzielającego wartość groszyO15 n ZKwota płatności
4Numer banku zleceniodawcy (NRB)O8 n ZNumer rozliczeniowy banku własnego
5Pole zerowe (wypełnione cyfrą "0")O1 n ZPozycja „stała wartość”, w polu wartość: 0
6Numer rachunku zleceniodawcyO34 a ZPełny numer rachunku własnego
7Numer rachunku kontrahentaO34 a ZPełny numer rachunku podmiotu
8Dane zleceniodawcyO4*35 a Z4 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)”
9Dane kontrahentaO4*35 a Z4 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)”
10Pole zerowe (wypełnione cyfrą "0")O1 n ZPozycja „stała wartość”, w polu wartość: 0
11Numer banku kontrahenta.O8 n ZNumer rozliczeniowy banku podmiotu
12Szczegóły płatnościO4*35 a Z4 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)”
13Niewykorzystane : wartość pusteOS aStała wartość
14Niewykorzystane : wartość pusteOS aStała wartość
15Kod "51" dla przelewów i poleceń specjalnych, natomiast kod "01" dla poleceń zapłaty, ”71” dla płatności podatkowych USO1*2 a SPozycja „stała wartość”, w polu wartość: 51
16Informacje klient-BankF6*35 a Z6 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.).

Szczegółowe informacje na temat wymiany danych poprzez usługę sieciową można znaleźć w podręczniku do modułu Kasa/Bank oraz w biuletynie OPT066 – Szybki eksport i import przelewów przez bankowość internetową ING, OPT072 – Szybki import i eksport przelewów przez bankowość internetową BNP Paribas, OPT073 – Szybki import i eksport przelewów przez bankowość internetową PekaoOPT075 – Szybki import i eksport przelewów przez bankowość internetową banku Citi Handlowy, OPT084 – Szybki import i eksport przelewów przez bankowość internetową Banku Millennium oraz OPT085 – Szybki import i eksport przelewów przez bankowość internetową mBank CompanyNet. Dostępne są również filmy instruktażowe, w których przedstawiony został proces konfiguracji oraz obsługi wymiany danych z bankiem za pomocą usługi sieciowej.




OPT048 – Współpraca z urządzeniami zewnętrznymi w Comarch ERP Optima

Data aktualizacji: 11-01-2022

Wprowadzenie

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:

Współpraca z drukarkami fiskalnymi

W aktualnej wersji program Comarch ERP Optima współpracuje z następującymi drukarkami fiskalnymi:

  • 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.

W przypadku sterowników Elzab, Elzab Online, Novitus od 2.0, Posnet Thermal HS i FV możliwa jest komunikacja po protokole TCP/IP. W zależności od wyboru sterownika drukarki program podpowie domyślną wartość dla portu TCP/IP: Elzab i Elzab Online – 8000, Novitus od 2.0 – 6001, Posnet Thermal HS i FV – 6666.

W przypadku komunikacji po porcie COM niektóre drukarki wymagają ustawienia odpowiedniego sterowania przepływem danych. 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
Drukarki fiskalne nie są przystosowane do fiskalizacji z wielu stanowisk jednocześnie. W celu zapewnienia poprawnej fiskalizacji należy unikać równoczesnego drukowania z kilku stanowisk.

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

ParametryPosnetElzabInnovaNovitusTORELLEMAR
Szybkość96009600 / 192009600960096009600
Parzystośćbrak (none)parzysta (even)brak (none)brak (none)brak (none)brak (none)
Liczba bitów888888
Bit stopu111111
Sterowanie przepływembrakbrak, xon/xoff, *brakbrakbrakbrak

Uwaga
W przypadku drukarek Elzab starszego typu należy sterowanie przepływem ustawić na: sprzętowe.

Drukarki w usługach terminalowych

Więcej informacji o konfiguracji połączenia drukarek fiskalnych w usługach terminalowych znajdą Państwo w biuletynie technicznym: „OPT060 – Comarch ERP Optima w środowisku terminalowym”.

Najczęściej pojawiające się problemy

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 OptimaKonfiguracja 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.

Dodatkowe informacje

Uwaga
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).

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)
  • SHARP (ER-457P, ER-237P, ER-277P, ER-A285P)
  • NOVITUS (zgodne z protokołem Tango: Bravo, Nano , PS-3000, PS-4000E, Soleo, Sento online)

Ustawienia portów COM

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 Optima Konfiguracja 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:

  1. 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.
  2. Odszukiwania pozycji w cenniku/ na liście zasobów – operacje można wykonać z poziomu Cennika/Listy zasobów – zakładka Wg EAN.
  3. 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.
  4. 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 rozpoczynać się prefiksem od 20 do 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ć 99.999 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:

  1. Towar o wadze 1,525 kg jest oznaczony numerem 29 1234 V 01525 K. Numer 1234 jest numerem tego towaru.
  2. 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 Optima Konfiguracja 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:

  1. Wyłączamy kolektor.
  2. Włączamy kolektor kombinacją klawiszy: 7,9 i przycisk włącz (Power).
  3. Wybieramy: 6. Load Program -> 1. Cradle-IR -> 6. Baud rate: 9600 -> please place In Cradle (odstawiamy kolektor na tranceiver).
  4. Uruchamiamy program ProgLoad.exe. Podajemy typ komunikacji, numer portu COM, prędkość transmisji oraz wskazujemy plik .SHX z frameware, zgodnie z rysunkiem 4.
  5. Wciskamy przycisk OK. Po nawiązaniu połączenia z kolektorem i wykonaniu downloadu wyłączamy kolektor.
  6. 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

Sterownik: C:\Program Files\Comarch ERP Optima\cdn_coll.dll

  • Protokół: SKKBHT
  • Prędkość transmisji: 19200
  • Parzystość: brak
  • Bit danych: 8
  • Bit stopu: 1
  • Używaj tranceivera: odznaczone

Definicja rekordu:

  • Długość rekordu: 30
  • Pocz. pola towaru: 0
  • Koniec pola tow.:19
  • Pocz. pola ilość: 21

Uwaga
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
  • ING

Za pomocą terminali płatniczych obsługiwane są następujące operacje kartą płatniczą:

PolcardeServiceING
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
  • ING
  • ING – 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, 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.




OPT053 – Kontrola wysokości potrąceń

Data aktualizacji: 05-01-2021

Wprowadzenie

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 minimalnego wynagrodzenia 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>.

Konfiguracja/Firma/Płace/Grupy ograniczeń potrąceń

Formularz Grupy ograniczeń potrąceń

Składa się z dwóch zakładek:

  • 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.

  • Kwota wolna od potrąceń [ ]% minimalnej płacy (domyślnie podpowiadane 0%). ) 

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).

Wskaźniki obliczeniowe

Potrącenia alimentacyjnePotrącenia komornicze

Od wynagrodzeń

Maksymalna kwota potrącenia – 60% kwoty nettoMaksymalna kwota potrącenia – 50% kwoty netto
Gwarantowana kwota wolna – 0% minimalnej płacy nettoGwarantowana kwota wolna – 100% minimalnej płacy netto

Od zasiłków

Maksymalna kwota potrącenia – 60% kwoty zasiłku bruttoMaksymalna kwota potrącenia – 25% kwoty zasiłku brutto
Gwarantowana kwota wolna – 532,61 złGwarantowana kwota wolna – 878,81 zł

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
10.50.750.25
Koszty uzyskania przychodu podstawowe (250,00)Ulga podatkowa (miesięczna – 43,76)Podstawowe wpłaty na PPK1861,62973,811418,21536,77
Koszty uzyskania przychodu podstawowe (250,00)Ulga podatkowa (miesięczna – 43,76)Brak1920,621002,811462,21551,77
Koszty uzyskania przychodu podwyższone (300,00)Ulga podatkowa (miesięczna – 43,76)Podstawowe wpłaty na PPK1870,62987,791426,21545,27
Koszty uzyskania przychodu podwyższone (300,00)Ulga podatkowa (miesięczna – 43,76)Brak1928,621016,791470,21560,27
Koszty uzyskania przychodu podstawowe (250,00)BrakBrak1876,62959,811418,21501,40
Koszty uzyskania przychodu podwyższone (300,00)BrakBrak1884,62967,811426,21515,51
BrakUlga podatkowa (miesięczna – 43,76)Brak1877,62960,811419,21502,40
BrakBrakBrak1833,62916,811375,21458,40

Kwota wolna od zasiłków1/1 etatu½ etatu¾ etatu¼ etatu
10.50.750.25
Alimenty532,61266,31385,73133,15
Komornik878,81439,41659,11219,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 :

3000,00 zł – 411,30 zł (składki ZUS pracownika) = 2 588,70 zł (podstawa składki zdrowotnej)

2 588,70 zł * 9% = 232,98 zł (składka zdrowotna pobrana)

2 588,70 * 7,75% = 200,62 zł (składka zdrowotna odliczana od podatku)

3000,00 zł – 411,30zł – 300,00zł (K.U.P. podwyższone) = 2 288,70 zł => po zaokrągleniu 2289,00 zł (podstawa opodatkowania) * 17% – 43,76zł (ulga) = 345,37 zł – 200,62 zł (składka zdrowotna odliczana) = 144,75 zł -> po zaokrągleniu 145,00 zł (zaliczka podatku)

3000,00 – 411,30 – 232,98 – 145 = 2 210,72 (kwota netto)

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:

2600,00 zł – 356,46zł (składki ZUS pracownika) – 201,92 zł (składka zdrowotna) – 113,00 zł (zaliczka podatku) = 1 928,62 zł

Kwota netto wolna od potrącenia komorniczego (dla pełnego etatu) wynosi 1 928,62 zł 
(KwotaWolna_W)

Uwaga
W przypadku potrąceń z wynagrodzenia innych niż potrącenia alimentacyjne, gwarantowane wynagrodzenie wynosi 100% minimalnej płacy netto.

  • Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:

2 210,72 zł – kwota netto wypłaty, przed pomniejszeniem o potrącenie komornicze

1105,36 zł – maksymalna kwota potrącenia komorniczego, bez uwzględniania kwoty wolnej, tj. 50% wynagrodzenia netto (Kwota_W1)

1 928,62 zł – kwota wynagrodzenia wolna od potrącenia komorniczego (gwarantowane minimalne wynagrodzenie netto)

2 210,72 – 1 928,62 = 282,10 zł (Kwota_W2) – maksymalna kwota potrącenia komorniczego, z uwzględnieniem kwoty wolnej (kwota możliwego potrącenia komorniczego, które zagwarantuje, że pracownik otrzyma płacę minimalną)

Porównanie wartości Kwota_W1 i Kwota_W2 > mniejsza z nich czyli 282,10  to dopuszczalna wysokość potrącenia (Kwota_W3)

Pracownik otrzyma wynagrodzenie w kwocie: 2 210,72 zł – 282,10 zł (potrącenie komornicze) = 1 928,62 zł zachowując minimalną płacę netto.

Przykład

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:

3000,00 – 411,30 – 232,98 – 145 = 2 210,72 zł (kwota netto) – Wynagrodzenie zasadnicze

50%* 2 210,72 zł = 1105,36 zł – maksymalne potrącenie z wynagrodzenia zasadniczego

650,00 – 89,12 – 50,48 – 52 = 458,40 zł (kwota netto) – Premia procentowa

Obliczamy maksymalną kwotę potrącenia komorniczego:

1105,36 zł + 458,40zł = 1563,76 zł – dopuszczalna wysokość potrącenia komorniczego wynosi 1563,76 .

  • Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:

2 669,12 zł – kwota netto wypłaty, przed pomniejszeniem o potrącenie komornicze

1563,76 zł – maksymalna kwota potrącenia komorniczego (dla dwóch składników wynagrodzenia)

1928,62 zł – kwota wynagrodzenia wolna od potrącenia komorniczego (gwarantowane minimalne wynagrodzenie, które pracownik musi otrzymać)

2 669,12 – 1928,62 = 740,50 zł – maksymalna kwota potrącenia komorniczego, z uwzględnieniem kwoty wolnej

Porównujemy obie ‘maksymalne’ kwoty: 1563,76 zł i 740,50 zł – mniejsza z nich, czyli 740,50 zł to dopuszczalna kwota potrącenia.

Pracownik otrzyma wynagrodzenie w kwocie: 2 669,12 – 740,50 (potrącenie komornicze) = 1928,62 zł zachowując minimalną kwotę netto.

Przykład

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.

  • Ustalenie dopuszczalnej wysokości potrącenia:

3000,00 – 411,30 – 232,98 – 153,00 = 2202,72zł (kwota netto)

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

1 920,62 zł – kwota wynagrodzenia wolna od potrącenia komorniczego (minimalne wynagrodzenie netto)

2202,72 zł – 1 920,62 zł = 282,10 zł – maksymalna kwota potrącenia komorniczego, z uwzględnieniem kwoty wolnej

Porównujemy obie wyliczone ‘maksymalne’ kwoty: 1101,36 zł i 282,10 zł – mniejsza z nich, czyli 282,10  to dopuszczalna kwota potrącenia.

Pracownik otrzyma wynagrodzenie w kwocie: 2202,72 – 282,10 zł (potrącenie komornicze) = 1 920,62 zł zachowując minimalną kwotę netto.

W następnym miesiącu pracownik był nieobecny – Urlop bezpłatny (np. 4– 8 marca tj. 40 godz – 5 dni).

  • Ustalenie dopuszczalnej wysokości potrącenia:

3000,00 – 714,29 (pomn.prop.) = 2285,71 zł wynagrodzenie zasadnicze pomniejszone o urlop bezpłatny.

2285,71zł – 313,38zł – 177,51zł – 96,00 zł = 1698,82zł (kwota netto)

Dopuszczalna wysokość potrącenia komorniczego, tj. 50% wynagrodzenia netto: 849,41zł.

  • 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 

  • Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:

1698,82 zł – kwota netto wypłaty, przed pomniejszeniem o potrącenie komornicze

1 920,62 zł – kwota wynagrodzenia wolna od potrącenia komorniczego (minimalne wynagrodzenie netto)

1698,82 zł < 1 920,62 – w tym miesiącu nie będzie możliwe dokonanie potrącenia komorniczego z wynagrodzenia

W kolejnym miesiącu pracownik był nieobecny – Urlop opiekuńczy na dziecko (np. od 1 do 31 maja).

  • Ustalenie dopuszczalnej wysokości potrącenia komorniczego:

0,00 zł – Wynagrodzenie zasadnicze pomniejszone o nieobecność

2139,93zł – Zasiłek opiekuńczy brutto

Dopuszczalna kwota potrącenia komorniczego z zasiłku: 2139,93zł * 25% = 534,98zł

  • Kwota zasiłku wolna od potrącenia komorniczego (dla pełnego etatu): 878,81 zł
  • Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:

2139,93 – 320,00 zaliczka podatku = 1819,93 zł – kwota netto zasiłku

1819,93 zł (kwota netto zasiłku) > 878,81 zł (kwota wolna zasiłku)

1819,93 zł – 878,81 zł = 941,12 zł taka byłaby maksymalna kwota potrącenia komorniczego

Porównujemy obie wyliczone ‘maksymalne’ kwoty: 941,12 zł i 534,98 zł – mniejsza z nich, czyli 534,98 zł to dopuszczalna kwota potrącenia.

Pracownik otrzyma wynagrodzenie w kwocie: 1819,93 zł – 534,98 zł = 1284,95 zł

Przykład

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.

3000,00 – 300,00 (pomn. 1/30) = 2700,00 zł – wynagrodzenie zasadnicze pomniejszone o nieobecność

207,09 zł – zasiłek opiekuńczy brutto

  • Ustalenie dopuszczalnej wysokości potrącenia od wynagrodzenia zasadniczego:

2700,00 – 370,17 – 209,68 – 129,00 = 1991,15zł.

Obliczamy maksymalną kwotę potrącenia komorniczego z wynagrodzenia: 50%* 1991,15 = 995,58zł.

  • Kwota wynagrodzenia wolna 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 

  • Kwota zasiłku wolna od potrącenia komorniczego (dla pełnego etatu): 878,81 zł

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

995,58 zł – maksymalna kwota potrącenia komorniczego, tj. 50% wynagrodzenia netto

1991,15 zł – 1 920,62 zł = 70,53  zł – kwota potrącenia możliwa do pobrania

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:

207,09 zł – Zasiłek opiekuńczy brutto

Dopuszczalna kwota potrącenia komorniczego z zasiłku: 207,09 * 25% = 51,77 zł

  • Ustalenie kwoty wolnej od potrąceń dla zasiłku proporcjonalnie do liczby dni zasiłku

878,81 zł / 30 * 3 = 87,88 zł (kwota wolna)

  • Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego z zasiłku:

207,09 zł – 35,00 zł (zaliczka podatku) = 172,09 zł – kwota netto zasiłku

172,09 zł (kwota netto zasiłku) > 87,88 zł (kwota wolna zasiłku)

172,09 zł – 87,88 zł = 84,21 zł taka byłaby maksymalna kwota potrącenia komorniczego

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:

2856,00 zł – 391,56 zł – 221,80 zł – 177,00 zł = 2065,64 zł (kwota netto)

Dopuszczalna kwota potrącenia alimentacyjnego, tj. 60% wynagrodzenia netto: 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 oraz pożyczki:

Wynagrodzenie pracownika po uwzględnieniu potrącenia alimentacyjnego: 2065,64 – 300,00 = 1765,64 zł

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:

2856,00 zł – 391,56 zł – 221,80 zł – 177,00 zł = 2065,64 zł (kwota netto)

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,21 zł.

  • 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.

http://www.comarch.pl/erp/comarch-optima/rozwiazania-dla-biur-rachunkowych/

Przykład

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:

2500,00 zł – 342,75 zł – 194,15 zł – 113,00 zł = 1 850,10 zł (kwota netto)

Dopuszczalna wysokość potrącenia komorniczego, tj. 50% wynagrodzenia netto: 925,05 zł.

  • Ustalenie kwoty wynagrodzenia wolnej od potrącenia komorniczego dla ¾ etatu:

Obliczamy kwotę minimalnego wynagrodzenia dla ¾ etatu, tj. ¾ * 2600,00 = 1950 zł brutto.

Kwota netto minimalnego wynagrodzenia dla 3/4 etatu i podstawowych kosztów uzyskania przychodu, wolna od potrącenia komorniczego wynosi 1 462,21 zł.

  • Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:

1850,10 zł – kwota netto wypłaty, przed pomniejszeniem o potrącenie komornicze

925,05 zł – maksymalna kwota potrącenia komorniczego

1 462,21 zł – kwota wynagrodzenia wolna od potrącenia komorniczego (gwarantowane minimalne wynagrodzenie, które pracownik musi otrzymać)

1850,10 – 1 462,21 = 387,89 zł – maksymalna kwota potrącenia komorniczego, z uwzględnieniem kwoty wolnej

Porównujemy obie wyliczone ‘maksymalne’ kwoty: 925,05 zł i 387,89 zł – mniejsza z nich, czyli 387,89 to dopuszczalna kwota potrącenia.

Pracownik otrzyma wynagrodzenie w kwocie: 1850,10 – 387,89 = 1 462,21 zł zachowując minimalną kwotę netto.

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:

2500,00 zł – 342,75 zł – 194,15 zł – 113,00 zł = 1850,10 zł (kwota netto)

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

925,05 zł – maksymalna kwota potrącenia komorniczego

1 462,21 zł – kwota wynagrodzenia wolna od potrącenia komorniczego (gwarantowane minimalne wynagrodzenie, które pracownik musi otrzymać)

1550,10 – 1 462,21 = 87,89 – maksymalna kwota potrącenia komorniczego, z uwzględnieniem kwoty wolnej

Pracownik otrzyma wynagrodzenie w kwocie: 1850,10 – 300,00 – 87,89 = 1 462,21 zł zachowując minimalną kwotę netto.

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:

2500,00 zł – 342,75 zł – 194,15 zł – 113,00 zł = 1850,10 zł (kwota netto)

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:

925,05 zł – maksymalna kwota potrącenia komorniczego

1 462,21 zł – kwota wynagrodzenia wolna od potrącenia komorniczego (gwarantowane minimalne wynagrodzenie, które pracownik musi otrzymać)

1550,10 – 1 462,21 = 87,89 zł – maksymalna kwota potrącenia komorniczego, z uwzględnieniem kwoty wolnej

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:

1000,00 – 137,10 – 51,95– 0 = 810,95 zł (kwota netto) – premia

50%* 810,95 zł = 405,48 zł – maksymalne potrącenie z premii

  • Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:

810,95 zł – kwota netto wypłaty, przed pomniejszeniem o potrącenie komornicze

1 928,62 zł – kwota wynagrodzenia wolna od potrącenia komorniczego (gwarantowane minimalne wynagrodzenie, które pracownik musi otrzymać)

810,95 zł < 1 928,62 zł

Podczas naliczania premii, która została wypłacona 20.10 nie można było potrącić zajęcia, gdyż pracownik nie miałby zagwarantowanej kwoty wolnej.

  • Ustalenie dopuszczalnej wysokości potrącenia komorniczego podczas naliczania wypłaty etatowej na dzień 31.10:

Ze składnika Wynagrodzenie zasadnicze i premii możemy potrącić 50% kwoty netto. Ustalamy więc kwoty netto odrębnie dla obydwu składników:

3000,00 – 411,30 – 258,69– 225,00= 2 105,01 zł (kwota netto) – Wynagrodzenie zasadnicze

50%* 2 105,01 zł = 1052,50 zł – maksymalne potrącenie z wynagrodzenia zasadniczego

1000,00 – 137,10 – 51,95 – 0 = 810,95 zł (kwota netto) – premia

50%* 810,95 zł = 405,48 zł – maksymalne potrącenie z premii

Obliczamy maksymalną kwotę potrącenia komorniczego:

1052,50 zł + 405,48 zł = 1457,98 zł – dopuszczalna wysokość potrącenia komorniczego wynosi 1457,98 zł.

  • Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:

2915,96 zł – kwota netto wypłaty, przed pomniejszeniem o potrącenie komornicze

1457,98 zł – maksymalna kwota potrącenia komorniczego (z dwóch wypłat)

1 928,62 zł – kwota wynagrodzenia wolna od potrącenia komorniczego (gwarantowane minimalne wynagrodzenie, które pracownik musi otrzymać)

2915,96 – 1 928,62 = 987,34 zł – maksymalna kwota potrącenia komorniczego, z uwzględnieniem kwoty wolnej

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:

1500,00 zł – 205,65 zł (skł. społ.) – 116,49 zł (skł. zdrow.) – 37,00 zł (zaliczka podatku) – 30,00 zł (skł. PPK) = 1 110,86 zł (kwota netto)

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

555,43 zł – maksymalna kwota potrącenia komorniczego

973,81 zł – kwota wynagrodzenia wolna od potrącenia komorniczego (gwarantowane minimalne wynagrodzenie, które pracownik musi otrzymać)

1110,86 – 973,81 = 137,05 zł – maksymalna kwota potrącenia komorniczego, z uwzględnieniem kwoty wolnej

Porównujemy obie wyliczone ‘maksymalne’ kwoty: 555,43 zł i 137,05 zł – mniejsza z nich, czyli 137,05 to dopuszczalna kwota potrącenia.

Pracownik otrzyma wynagrodzenie w kwocie: 1110,86 – 137,05 = 973,81 zł zachowując minimalną kwotę netto.

Przykład

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:

3000,00 – 411,30 – 232,98 – 153,00 = 2202,72 zł (kwota netto)

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

1101,36 zł – maksymalna kwota potrącenia komorniczego

2400,76 zł – kwota wynagrodzenia wolna od potrącenia komorniczego (gwarantowane minimalne wynagrodzenie, które pracownik musi otrzymać)

2202,72 zł < 2400,76 zł – kwota wolna jet wyższa niż wynagrodzenie netto pracownika

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ł.




OPT074 – Dodawanie kolumn użytkownika na listach

Data aktualizacji: 04-10-2021


Spis treści

Wstęp

Przykłady z instrukcją tworzenia


Wstęp

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 – definiowanie kolumn użytkownika

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 formatu wyś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 Format wyś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 CLiczba 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 NLiczba 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.n01.234
d lub DWartość 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.D800004392
p lub PLiczba 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.P289,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.).

FormatOpisPrzykład
dWzorzec daty krótkiej.04-06-2014
DWzorzec daty długiej.4 czerwca 2014
tWzorzec czasu krótkiego.14:08
TWzorzec czasu długiego.14:08:00
fWzorzec daty długiej i czasu krótkiego.4 czerwca 2014 14:08
FWzorzec daty długiej i czasu długiego.4 czerwca 2014 14:08:00
gWzorzec daty krótkiej i czasu krótkiego.04-06-2014 14:08
GWzorzec daty krótkiej i czasu długiego.04-06-2014 14:08:00
m lub MWzorzec miesiąca i dnia.4 czerwca
y lub YWzorzec roku i miesiąca.czerwiec 2014
sWzorzec 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.

ZnakZnaczenie
0Cyfra 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:

SymbolZnaczenieWynik formatownia przykładowej daty (22.06.2014)
yyOstatnie dwie cyfry roku.14
yyyyCztery cyfry roku.2014
MMNumer miesiąca.06
MMMSkrót nazwy miesiąca.cze
MMMMPełna nazwa miesiąca.czerwiec
ddNumer dnia.22
dddSkrót dnia tygodnia.N
ddddPełna nazwa dnia tygodnia.niedziela
/Separator daty. Pobierany z ustawień regionalnych.

  • Symbole dotyczące czasu:

SymbolZnaczenie
hhGodziny.
mmMinuty.
ssSekundy.
:Separator czasu. Pobierany z ustawień regionalnych.

Szczegółowe informacje na temat formatowania danych można odnaleźć na stronach MSDN w obszarze dotyczącym formatowania wartości (Formatting types: http://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.100).aspx).

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

Handel

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ępne z 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 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)

5. Lista zasobów/cennik. Kolumna średnia cena zakupu dla dostaw, które nie zostały zdjęte z magazynu

Wyświetla średnią ważoną dla cen, po których dostawy danego towaru zostały wprowadzone do magazynu. Brane pod uwagę są tylko dostawy, które ciągle znajdują się w magazynie. Listę tych dostaw można sprawdzić otwierając formularz towaru i przechodząc na zakładkę Zasoby.

(SELECT CONVERT(DECIMAL(10, 2), AVG(TwZ_Wartosc/TwZ_Ilosc)) FROM CDN.TwrZasoby
WHERE TwZ_TwrId=Twr_TwrId)

6. Lista zasobów/cennik. Kolumna wyświetlająca ‘Tak’ jeśli towar/usługa jest udostępniany w przynajmniej jednym e-Sklepie oraz ‘Nie’ jeśli nie jest udostępniany

CASE WHEN EXISTS 
(SELECT * FROM Cdn.TwrESklep WHERE Twes_TwrID=Twr_TwrId AND Twes_Udostepnij=1) 
THEN 'Tak' ELSE 'Nie' END

7. Lista kontrahentów. Kolumna z listą atrybutów przypisanych do kontrahenta

Atrybuty przedstawiane są w formie Nazwa_atrybutu: Wartość.

STUFF(
(SELECT ', ' + DA.DeA_Kod + ': ' + KA.KnA_WartoscTXT
FROM CDN.KntAtrybuty KA
JOIN CDN.DefAtrybuty DA ON KA.KnA_DeAId=DA.DeA_DeAId
WHERE KA.KnA_PodmiotId=Knt_KntId 
FOR XML PATH (''))
,1,2,'')

8. Lista zestawów promocyjnych. Kolumna z maksymalną liczbą zestawów jakie można utworzyć, biorąc pod uwagę ilości towarów wchodzących w skład zestawu znajdujące się w magazynach

Łączna ilość ze wszystkich magazynów, dla towaru wchodzącego w skład zestawu promocyjnego jest dzielona przez ilość, w jakiej ten towar występuje w składzie zestawu. Kolumna wyświetla najniższy wynik takich obliczeń (zaokrąglony w dół do liczb całkowitych), wykonanych dla wszystkich towarów wchodzących w skład zestawu.

(SELECT FLOOR(MIN(t.sum1)) FROM
(SELECT SUM(TZ.TwZ_Ilosc) sum1 FROM CDN.TwrZasoby TZ 
JOIN CDN.ZestawyTwr ZT ON TZ.TwZ_TwrId=ZT.ZTw_TwrId
WHERE ZT.ZTw_ZTwId=ZTw_ZTwId
UNION
SELECT SUM(TZ.TwZ_Ilosc/ZTS.ZTS_Ilosc) sum1 FROM CDN.TwrZasoby TZ 
JOIN CDN.ZestawyTwrSkladniki ZTS ON TZ.TwZ_TwrId=ZTS.ZTS_TwrId
WHERE ZTS.ZTS_ZTwId=ZTw_ZTwId
GROUP BY TwZ_TwrId) t)

9. Lista dokumentów w module Handel. 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

10. Lista dokumentów w module Handel. 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

11. Lista dokumentów w module Handel. 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.

12. Lista dokumentów w module Handel. 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.

13. Lista dokumentów w module Handel. 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))

14. Lista dokumentów w module Handel. 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)

15. Lista dokumentów w module Handel. Kolumna z formą płatności

Kolumna wyświetla nazwę formy płatności, która została wybrana na formularzu dokumentu.

(SELECT FPl_Nazwa FROM CDN.FormyPlatnosci WHERE FPl_FPlId=TrN_FPlId)

16. Lista dokumentów w module Handel. Akronim operatora lub pracownika, który jest opiekunem kontrahenta, dla którego został wystawiony dokument

Wyświetla akronim operatora lub pracownika, który został wskazany na formularzu kontrahenta (zakładka Dodatkowe) wybranego na dokumencie.

Dane o operatorach zapisane są w bazie konfiguracyjnej. Zamiast CDN_KNF_Konfiguracja należy wprowadzić nazwę własnej bazy konfiguracyjnej.

(SELECT Ope_Kod 
FROM CDN_KNF_Konfiguracja.CDN.Operatorzy O 
JOIN CDN.Kontrahenci Knt ON TrN_PodID=Knt.Knt_KntId
WHERE Knt.Knt_OpiekunId=O.Ope_OpeID AND Knt.Knt_OpiekunTyp=8
UNION
SELECT Pre_Kod FROM CDN.PracEtaty PE 
JOIN CDN.Kontrahenci Knt ON TrN_PodID=Knt.Knt_KntId
WHERE Knt.Knt_OpiekunId=PE.Pre_PreId AND Knt.Knt_OpiekunTyp=3)

17. Lista dokumentów w module Handel. Kolumna pokazująca łączną wysokość opłaty cukrowej naliczonej dla pozycji danego dokumentu

(SELECT CONVERT(DECIMAL(10,2), SUM(TrE_Ilosc*Tre_OplataCukrowaDoliczDoCeny*
TrE_OplataCukrowaPrzelicznikML/1000)) FROM CDN.TraElem 
WHERE TrE_TrNId=TrN_TrNId)

18. 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 (''))

19. 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) END

Jeś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.

20. 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')

21. Lista Faktur Sprzedaży oraz Faktur Zakupu. Wyświetlanie daty rozliczenia dokumentu.

W sekcji Kolumny użytkownika należy dodać kolumnę o instrukcji pobierania danych:

(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'))

22. 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, '')

23. 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 (''))

24. 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)

25. 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))

26. 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)

27. Lista Faktur Pro Forma. Kolumna wyświetlająca sumę wartości netto wszystkich powiązanych Faktur Zaliczkowych

(SELECT SUM(TN.TrN_RazemNetto) 
FROM CDN.TraNag TN
JOIN CDN.TraNagRelacje TNR ON TNR.TrR_TrNId = TN.TrN_TrNID 
WHERE TNR.TrR_FaId = A.TrN_TrNID AND TN.TrN_Rodzaj=302200)

28. 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,'' )

29. Formularz dokumentu w module Handel. 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)

30. Formularz dokumentu w module Handel. 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)

31. Formularz dokumentu w module Handel. 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 ))

32. Formularz dokumentu w module Handel. 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)

33. Formularz dokumentu w module Handel. 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.

34. Formularz dokumentu w module Handel. Kolumna pokazująca, z którego dokumentu agregowanego pochodzi dana pozycja

W przypadku gdy dokument, którego formularz jest aktualnie otwarty powstał w wyniku przekształcenia więcej niż jednego dokumentu, możliwe będzie zidentyfikowanie z jakiego dokumentu pochodzi dana pozycja.

STUFF(
(SELECT ', ' + TRN.TrN_NumerPelny
FROM CDN.TraNag TRN
JOIN CDN.TraElem TE ON TE.TrE_TrNId=TRN.TrN_TrNId
JOIN CDN.TraElemRelacje TER ON TER.TeR_ParentId=TE.TrE_TrEID
WHERE TER.TeR_ChildId=_DATASOURCE_.TrE_TrEID
FOR XML PATH (''))
,1,2,'')

35. Formularz dokumentu w module Handel. Kolumna z listą atrybutów przypisanych do pozycji dokumentu

Atrybuty przedstawiane są w formie Nazwa_atrybutu: Wartość. Prawidłowe wartości w tej kolumnie będą się wyświetlać dopiero po zapisaniu i ponownym otwarciu dokumentu.

STUFF(
(SELECT ', ' + ATR.TrA_Kod + ': ' + ATR.TrA_Wartosc 
FROM CDN.TrAElemAtr ATR 
WHERE ATR.TrA_TrEId=_DATASOURCE_.TrE_TrEID 
FOR XML PATH (''))
,1,2,'')

36. Formularz Inwentaryzacji. Średnia cena zakupu dostaw znajdujących się w magazynie, dla którego wykonywana jest inwentaryzacja

Kolumna dla każdego z towarów wprowadzonych na Arkusz Inwentaryzacyjny wyświetla średnią cenę zakupu dostaw, które ciągle znajdują się w magazynie, dla którego wykonywana jest inwentaryzacja.

(SELECT CONVERT(DECIMAL(10,2), AVG(TwZ_Wartosc/TwZ_Ilosc)) 
FROM CDN.TwrZasoby 
WHERE TwZ_TwrId=TrE_TwrId AND TrE_MagId=TwZ_MagId)

37. 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)

Serwis, CRM, Obieg dokumentów

1. 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

2. 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.

3. Lista Ofert Handlowych. Kolumna zawierająca numery dokumentów powiązanych

Kolumna wyświetla dokumenty, które powstały z przekształcenia danej Oferty Handlowej.

STUFF(
(SELECT ', ' + TRN.TrN_NumerPelny
FROM CDN.TraNag TRN
JOIN CDN.DokRelacje DR ON DR.DoR_DokumentId=TRN.TrN_TrNID
WHERE DR.DoR_ParentId = OfD_OfDId AND DR.DoR_ParentTyp=800 
FOR XML PATH (''))
,1,2,'')

4. 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

5. Formularz Oferty Handlowej, zakładka Kontrahent. Kolumna z numerami dokumentów, które zostały wygenerowane dla danego Kontrahenta poprzez przekształcenie aktualnie otwartej Oferty

STUFF(
(SELECT ', ' + TRN.TrN_NumerPelny
FROM CDN.TraNag TRN
JOIN CDN.DokRelacje DR ON TRN.TrN_TrNId=DR.DoR_DokumentId
JOIN CDN.OfertyKnt OK ON DR.DoR_ParentId=OK.OfK_OfDId
WHERE OK.OfK_OfKId=_DATASOURCE_.Ofk_OfkId AND DR.DoR_ParentTyp=800 AND 
TRN.TrN_PodID=_DATASOURCE_.Ofk_PodID
FOR XML PATH (''))
,1,2,'')

6. 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

Księgowość i Kasa/Bank

1. 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.

2. 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:

KPR_Sprzedaz+KPR_Pozostale+KPR_Towary+KPR_Uboczne+KPR_Reklama+KPR_Wynagrodz+KPR_Inne+KPR_Zaszlosci

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)

3. 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.

4. 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

5. 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

6. 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

7. 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

Płace i Kadry

1. 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.

2. 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.

3. 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

4. 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

5. 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

6. 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)

7. 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

8. 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)

9. 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)