Pierwsze kroki
Jak zacząć?
Jak zainstalować program?

Pomoce dydaktyczne programu Comarch ERP Optima
Jak rozpocząć pracę z wybranym modułem?
Pierwsze kroki w programie
Jak aktywować zakupione moduły?
- Kliknij prawym przyciskiem na ikonę Menadżera Kluczy. Ikona znajduje się na pasku narzędzi Windows w prawym dolnym rogu:
Kolor czerwony ikony informuje nas, że moduły nie zostały jeszcze aktywowane.
- Po kliknięciu prawym przyciskiem pojawi się menu, z którego wybierz Pokaż konfigurację.
- Przejdź na zakładkę trzecią Konfiguracja i za pomocą
wprowadź dane z certyfikatu (ID, PIN, numer klucza oraz adres email).
- Kliknij w ikonę pioruna by zaktualizować moduły.
Jak korzystać z pomocy w programie?


- Pomoc do programu – po kliknięciu otwierana jest strona internetowa z Bazą Wiedzy programu Comarch ERP Optima
- Nowości i zmiany – strona opisująca nowości i zmiany wprowadzone w określonych wersjach (ulotki do programu)
- Pierwsze kroki – strona Pierwsze kroki w programie przeznaczona dla nowych Użytkowników
- Szkolenia e-learningowe – strona zawierająca szkolenia multimedialne dotyczące programu Comarch ERP Optima
- Biuletyny – dostępne biuletyny dotyczące określonych funkcjonalności programu


Faktury
Jak ustawić schemat numeracji Faktur sprzedaży?
- Zacznijmy od tego, że nie można zmodyfikować istniejącej definicji schematu numeracji dokumentów, jeżeli już została ona wykorzystana na dokumentach.
- Można natomiast w konfiguracji (Start/Konfiguracja/ Firma/ Definicje dokumentów/ Handel) wskazać Faktury Sprzedaży i dodać nową definicję schematu numeracji przyciskiem
. Możesz użyć taki sam symbol jaki posiada istniejący już schemat, lub inny dowolny. Następnie określasz poszczególne człony schematu numeracji - np. miesiąc, rok, magazyn itp. Jeśli w definicji nowego schematu użyty został ponownie taki sam symbol, to przy zapisie tego schematu numeracji wyświetli się komunikat: Istnieje już aktywny schemat o symbolu [FA]. Czy chcesz mimo to zapisać nowy schemat i oznaczyć istniejący już schemat [FA] jako nieaktywny?
- Jeśli utworzyliśmy schemat numeracji z nowym symbolem i chcemy ustawić ten schemat numeracji jako domyślny, możemy to zrobić w lokalizacji: Konfiguracja/ Firma/ Handel/ Dokumenty i dla typu np. FA- Faktura Sprzedaży przypisujemy nową definicję (po dwukrotnym kliknięciu w kolumnie Definicja można wybrać utworzoną wcześniej definicję schematu numeracji z listy), aby przy wystawianiu dokumentu program automatycznie podpowiadał nowy schemat numeracji.
Jak dodać numer rachunku bankowego?
- Zacznij od dodania banku w menu Ogólne/Inne/ Banki. W numerze rozliczeniowym podaj 8 cyfr po dwóch pierwszych cyfrach kontrolnych np. 11-11111111-1111111111111111
- Może zamiast tego Teraz w menu Kasa/Bank/ Rejestry kasowe/bankowe za pomocą ikony
dodaj rejestr bankowy (zaznacz typ rejestru konto bankowe). Aby prawidłowo uzupełnić nr rachunku kliknij na przycisk Bank, wyświetli się lista banków, z której wybierasz właściwy bank. W numerze rachunku pojawią się @@ oraz 8 cyfr numeru rozliczeniowego np. @@-11111111. Dwie @@ oraz numer rozliczeniowy zostawiamy, uzupełniamy pozostałe cyfry rachunku bankowego np. @@-11111111-1111111111111111. Program sam zastąpi @@ 2 cyframi kontrolnymi.
- W ostatnim kroku, jak zapiszesz formularz pojawi się okno, w którym będziesz mógł rejestr przypisać do odpowiedniej formy płatności.
- Po wybraniu formy płatności przypisanej do stworzonego rejestru na wydruku faktury będzie widoczny numer rachunku określony w rejestrze bankowym.
- Pamiętaj, że możesz założyć dowolną ilość forma płatności wybierając Start/Konfiguracja/ Firma/ Kasa i Bank/ Formy płatności.
Jak wystawić fakturę sprzedaży?


- Do bufora, co oznacza, że w przyszłości będziesz mógł dokonywać zmian lub usunąć dokument. W tym celu należy zaznaczyć widoczny w prawym górnym rogu parametr Bufor. Po zatwierdzeniu, faktura na Liście faktur będzie widoczna w kolorze zielonym.
- Na stałe (na liście w kolorze czarnym), co oznacza, że nie będą już możliwe żadne zmiany ani usunięcie faktury. Dokument będzie można tylko anulować. Pamiętaj, że jeśli anulujesz dokument to jego numer możesz wykorzystać ponownie.
Jak wystawić dokument w walucie obcej?
- Lista walut znajduje się w menu Start/Konfiguracja/ Program/ Ogólne/ Waluty i jest domyślnie uzupełniona o waluty: AUD (Dolar australijski), CAD (Dolar kanadyjski), CHF (Frank szwajcarski), DKK (Korona duńska), EUR (Euro), GBP (Funt brytyjski), JPY (Jen japoński), NOK (Korona norweska), SEK (Korona szwedzka) i USD (Dolar amerykański). Inne waluty oczywiście możesz wprowadzić „ręcznie”.
- Dla średniego kursu NBP, kursu kupna NBP oraz kursu sprzedaży NBP notowania kursów walut są pobierane automatycznie.
- Z tego poziomu możesz również pobrać aktualny kurs dnia, klikając ikonę
. Wyświetli się wówczas okno Wprowadzanie kursu dnia.
- Wybierając w polu Typ kursu waluty: NBP, NBPK, NBPS, EBC uaktywnia się przycisk Import kursów walut
. Po kliknięciu przycisku, wyświetli się okno, w którym możemy ustalić zakres dat, dla jakich będziemy pobierać kurs waluty. Zapisujemy zmiany przyciskiem
.
- Aby przejść do wystawiania faktur w walucie obcej musimy zaznaczyć jeszcze odpowiedni parametr w konfiguracji programu. W menu Start/Konfiguracja/ Firma/ Handel/ Parametry zaznacz Zezwalaj na zmianę waluty dokumentu. Jeśli na dokumentach wystawianych w walucie obcej ma być naliczany podatek VAT, zaznacz również parametr VAT na fakturach w walucie.
- Przejdźmy do wystawienia Faktury sprzedaży w walucie. Sam dokument wprowadzasz dokładnie w taki sam sposób jak standardową fakturę, natomiast walutę możesz zmienić na trzeciej zakładce Płatności.
- Jeśli posiadasz kontrahentów z którymi transakcje prowadzisz w obcych walutach np. EUR warto pamiętać, że na karcie kontrahenta na zakładce Płatności możesz wskazać walutę domyślną. Przy takim ustawieniu wszystkie faktury wystawiane dla danego kontrahenta będą automatycznie w walucie obcej.
Jak dodać kontrahenta?

- Kod– pole pozwalające na wprowadzenie 20 znakowego kodu, identyfikującego kontrahenta. Pole to może zawierać dowolny ciąg znaków (liter, cyfr), przy czym powinien być on nadawany w sposób pozwalający na łatwą identyfikacje kontrahenta (np. może być to skrót nazwy). Kod musi posiadać unikalną wartość, tzn. W ewidencji nie może znaleźć się dwóch kontrahentów o identycznym kodzie (program posiada zabezpieczenie uniemożliwiające wprowadzenie dwóch kontrahentów o identycznych kodach). Kod może być nadawany automatycznie po zaznaczeniu w Konfiguracji Firmy/ Ogólne/ Parametry: Autonumeracja akronimów kontrahentów przy dodawaniu.
- Nazwa– program pozwala na wprowadzenie nazwy kontrahenta składającej się z trzech linii. W dwóch pierwszych można wprowadzić po 50 znaków, w trzeciej 250 znaków.



Jak zaimportować cennik oraz kartoteki kontrahentów?
- Zacznijmy może od przygotowania pliku, który wykorzystasz do importu. Opis pól w arkusz znajdziesz tu: https://www.comarch.pl/erp/comarch-optima/demo/biuletyny/ w biuletynie Import danych z arkusza MS Excel do Comarch ERP Optima
- Z menu głównego wybierz Ogólne/ Cennik.
- Następnie wykorzystaj ikonę znajdującą się w lewym dolnym rogu okna
.
- Teraz musisz wybrać parametry importu cennika. Zaznacz Plik w formacie MS Excel, wskaż plik z danymi i wybierz opcję Tylko dopisywanie nowych pozycji. Jak widzisz w przyszłości będziesz mógł również wykorzystać tą opcję do aktualizacji swoich danych. Import wykonujesz ikoną
.
Jak dodać kartę usługi?
- Wybierz Ogólne/ Cennik, a następnie wykorzystaj przycisk
.
- Wyświetlone zostaje okno Pozycja cennika. Teraz na zakładce Ogólne uzupełnij pola:
- Kod – max 26 znaków. Jego zadaniem jest pomóc Ci w szybkim odszukiwaniu usługi. Dlatego należy starannie przemyśleć sposób kodowania tak, by łatwo kojarzył się z danym zasobem.
- Nazwa – pełny opis danej usługi,
- Podstawowa – jednostka miary, w jakiej jest dana usługa, np. godzina, dzień.
- Stawka VAT – stawka VAT dla danej usługi. Możemy ją wpisać ręcznie lub wybrać z rozwijalnej listy.
- Pola te są wymagane do zapisania karty usługi.
- Jak uzupełnisz wymienione pola to w tabelce w dolnej części formularza po dwukrotnym kliknięciu możesz wprowadzić poszczególne ceny za usługę.
- Gdy karta będzie gotowa zapisz zmiany przyciskiem
.
- Pamiętaj, że zapisaną kartę możesz zawsze edytować
.
Płace i Kadry
Jak przygotować deklarację PIT-4R?
- Z menu Płace i Kadry wybierz Zaliczki na PIT-4R.
- Z menu dostępnych opcji przy ikonie
wybierz Deklaracja PIT-4R w odpowiedniej wersji.
- Sprawdź rok, za który dodajesz deklarację PIT-4R i nalicz za pomocą ikony
.
- Zapisz formularz deklaracji
.
- W module Płace i Kadry istnieje możliwość wysyłki obliczonej deklaracji PIT-4R do Urzędu Skarbowego.
- Przed wysyłką, należy zablokować deklarację przed zmianami. Opcja ta dostepna jest z poziomu otwartego formularza deklaracji.
- Po zablokowaniu pojawi się ikona umożliwiająca wysyłkę e-Deklaracji
.
- Rozwijając strzałkę obok ikony e-Deklaracji, mamy możliwość wyboru podpisu (kwalifikowany lub niekwalifikowany), którego chcemy użyć do wysyłki e-Deklaracji
Jak dodać pracownikowi limit Urlopu wypoczynkowego?
- Z poziomu modułu Płace i Kadry wybierz Kadry.
- Ustaw się na wybranym pracowniku a następnie przy ikonie Kalendarz
rozwiń menu dostępnych opcji i wybierz Limity nieobecności.
- Za pomocą ikony
dodaj nowy Formularz limitu nieobecności i wybierz typ limitu Urlop wypoczynkowy. Program obliczy wymiar limitu adekwatnie do stażu pracy, daty zatrudnienia oraz wymiaru etatu pracownika.
- Zapisz Formularz limitu nieobecności oraz uzupełnioną Listę limitów nieobecności.
Jak przygotować deklarację rozliczeniową ZUS DRA?
- Z poziomu modułu Płace i Kadry wybierz Deklaracje ZUS rozliczeniowe.
- Dodaj nową Deklarację ZUS DRA za pomocą ikony
.
- Wybierz przycisk KEDU i wyszukaj wcześniej dodany plik KEDU lub ikoną
dodaj nowy plik. Następnie zatwierdź
.
- Nie wypełniaj pola Właściciel (poniżej będzie widoczny wyszarzony napis Pracownicy co oznacza, że wyliczasz deklarację rozliczeniową dotyczącą pracowników razem z Właścicielem)
- Deklaracja za miesiąc – ustalasz miesiąc, za który ma być obliczona deklaracja ZUS DRA.
- Za pomocą ikony
nalicz deklarację i zapisz
.
- Po naliczeniu deklaracji możesz ją wyeksportować do programu Płatnik. W tym celu wchodzisz do deklaracji ponownie za pomocą ikony
i wybierasz ikonę Eksport do programu Płatnik
.
- Wpisz ścieżkę docelową pliku *.xml. W polu Nazwa pliku musi widnieć nazwa pliku wraz z rozszerzeniem, w przeciwnym wypadku Program Płatnik nie rozpozna pliku (np. C:\DRA12.xml).
- Po wpisaniu ścieżki naciśnij
. Jeżeli został zaznaczony parametr Otwórz program Płatnik po wyeksportowaniu uruchomiony zostanie Program Płatnik i z poziomu tego programu należy zapisany plik zaimportować
- W Programie Płatnik dokonujesz importu dokumentów – wskazując zapisany plik o rozszerzeniu *.xml.
- Po zweryfikowaniu poprawności raportów ZUS możesz zamknąć deklarację – w tym celu wróć do formularza deklaracji ZUS i zaznacz pole Zablokowana.
- Zapisz formularz deklaracji
.
Jak zaktualizować dane kadrowe pracownika?
- Z poziomu modułu Płace i Kadry wybierz Kadry.
- Ustaw się na wybranym pracowniku a następnie wybierz ikonę Aktualizacja zapisu
.
- Uzupełnij pole Data aktualizacji – to jest dzień, od którego obowiązuje zmiana i zaakceptuj poprzez ikonę
.
- Otworzy się Formularz danych kadrowych, na którym odnotowujemy odpowiednie zmiany, np. aktualną stawkę zaszeregowania.
- Zapisujemy formularz danych kadrowych posługując się ikoną
.
- Każda aktualizacja zapisu skutkuje uzupełnieniem historii pracownika o kolejny zapis historyczny. Lista zapisów historycznych dostępna jest z poziomu Listy pracowników. Po ustawieniu kursora na wybranym pracowniku wybierz ikonę
Lista zapisów historycznych pracownika, która jest dostępna na wstążce programu.
Płace i Kadry
Płace i Kadry
Nowości
- Deklaracje podatkowe
- Umożliwiono naliczenie deklaracji rocznych na formularzach obowiązujących za rok 2019: PIT-4R(9), PIT-8AR(8), PIT-11(25) z załącznikiem PIT-R(20), PIT -8C(10), IFT-1/1R(15).
- Dodano nowe wzory wydruków dla deklaracji podatkowych: PIT-4R(9), PIT-8AR(8), PIT-11(25) z załącznikiem PIT-R(20), PIT -8C(10), IFT-1/1R(15).
- Umożliwiono przekazanie nowych wzorów deklaracji PIT-11(25), PIT‑4R(9), PIT-8AR(8), PIT-8C(10) do Comarch ERP Optima Pulpit Menadżera.
- Dostosowano wydruk PIT-2 Oświadczenie pracownika dla celów obliczania miesięcznych zaliczek na podatek dochodowy od osób fizycznych do nowego wzoru.
- Naliczanie deklaracji PIT-11 w wersji 25:
- Na formularzu PIT-11 wprowadzono zmiany związane z wykazywaniem przychodów otrzymanych przez pracowników, którzy w 2019 roku byli uprawnieni do skorzystania ze zwolnienia z PIT dla młodych:
- W pozycjach 1 i 5 części E wykazywane są odpowiednio przychody ze stosunku pracy lub umów zleceń, które pracownik otrzymał od stycznia do lipca 2019 oraz w okresie od sierpnia do grudnia 2019, ale które przypadało po dacie ukończenia 26 lat. Podczas sprawdzania czy wynagrodzenie zostało wypłacone po ukończeniu 26 lat porównywana jest data ukończenia przez pracownika 26 lat z datą wypłaty na liście płac, na której była naliczona wypłata.
- W pozycjach 2 i 6 części E wykazywane są odpowiednio przychody ze stosunku pracy lub umów zleceń, które pracownik otrzymał w okresie od sierpnia 2019 do grudnia 2019 jednak nie później niż do ukończenia 26 lat, od których pracodawca pobierał podatek. W tych pozycjach uwzględniany jest także przychód w wysokości przekraczającej kwotę zwolnioną od podatku.
- W części G w polach 86, 87 i 88 wykazywany jest przychód, do którego było zastosowane zwolnienie z podatku dla pracowników do 26 lat. W przypadku pracowników oddelegowanych do pracy za granicę wykazywana jest kwota przychodu bez pomniejszenia o 30% diet. Aby w tych pozycjach był uwzględniony przychód pracownik musiał mieć zaznaczony parametr Zwolnienie z PIT dla młodych w momencie naliczania wypłat za 2019 rok. Jeśli w wypłatach zaliczka podatku była ręcznie usuwana przychód nie zostanie zakwalifikowany jako zwolniony.
- W części E w pozycjach 5 i 6 uwzględniane są przychody z tytułu umów zleceń. Jako umowy zlecenie traktowane są elementy wypłaty, które mają ustawioną pozycję na deklaracji PIT jako PIT-8B 6. Przychody z osobiście wykonywanej działalności w tym umowy zlecenia.
- W związku z wyjaśnieniami zawartymi w punkcie 17 na deklaracji PIT-11 (25) wypłacone przez zakład pracy zasiłki z ubezpieczenia społecznego powinny być wykazane w części E w pozycji 8.Inne źródła. W związku z tym otrzymane przez pracownika zasiłki, od których była naliczana zaliczka podatku niezależnie od wskazanej pozycji na deklaracji PIT w nieobecności będą wykazane jako Inne źródła.
- Naliczanie podatku od składek PPK. Umożliwiono naliczanie podatku od składek PPK finansowanych przez pracodawcę w kolejnym miesiącu, w stosunku do miesiąca, w którym zostały naliczone. W konfiguracji firmy (Konfiguracja/Firma/Płace/Parametry) dodano parametr ‘Nalicz podatek od składek PPK pracodawcy na podstawie składek z bieżącej wypłaty’, który decyduje o momencie powstania przychodu i pobrania podatku od składek PPK finansowanych przez pracodawcę. Ustawienie parametru jest zapamiętywane historycznie. Użytkownik może wskazać, od którego miesiąca deklaracji ma obowiązywać zmiana. Działanie parametru:
- Zaznaczony (domyślne ustawienie) – podatek jest naliczany na podstawie składek PPK naliczonych w bieżącej wypłacie. Elementy Przychód z tytułu PPK/E, Przychód z tytułu PPK/U, Przychód z tytułu PPK/IFT-1, Przychód z tytułu PPK/PIT-8A są naliczane automatycznie w wypłatach etatowych, umowach, zaliczkach brutto oraz innych, w których zostały naliczone składki PPK. Element nalicza się w kwocie będącej sumą składek PPK podstawowych i dodatkowych pracodawcy pobranej z bieżącej wypłaty i od tej kwoty jest pobierany podatek.
- Niezaznaczony – podatek od składek PPK finansowanych przez pracodawcę jest naliczany na podstawie kwot składek naliczonych w poprzednim miesiącu deklaracji w stosunku do miesiąca deklaracji, który jest ustawiony na liście płac, na której jest naliczana bieżąca wypłata. Elementy Przychód z tytułu PPK/E, Przychód z tytułu PPK/U, Przychód z tytułu PPK/IFT-1, Przychód z tytułu PPK/PIT-8A są naliczane automatycznie w wypłatach etatowych oraz umowach. W wypłacie etatowej naliczany jest element Przychód z tytułu PPK/E w kwocie będącej sumą składek PPK pracodawcy z poprzedniego miesiąca naliczonych w wypłatach etatowych, innych oraz zaliczkach brutto. W wypłacie umowy elementy Przychód z tytułu PPK/U, Przychód z tytułu PPK/IFT-1, Przychód z tytułu PPK/PIT-8A są naliczane w kwocie składek naliczonych w wypłatach umów. W przypadku, gdy pracownik ma w danym miesiącu kilka wypłat etatowych lub umów przychód z tytułu PPK i podatek jest naliczany tylko w pierwszej wypłacie. W drugiej zostanie doliczony jedynie w przypadku, gdy zostanie usunięty z pierwszej wypłaty. W przypadku zwolnienia pracownika lub zmiany formy zatrudnienia w celu naliczenia podatku od składek PPK z poprzedniego miesiąca należy w miesiącu, w którym powstał przychód naliczyć wypłatę i dodać odpowiedni element Przychód z tytułu PPK/E, Przychód z tytułu PPK/U, Przychód z tytułu PPK/IFT-1 lub Przychód z tytułu PPK/PIT-8A w zależności od tego z jakiego źródła jest to przychód.
- W przypadku, gdy do tej pory podatek od PPK był pobierany od razu w wypłacie, w której zostały naliczane składki PPK, aby zmienić sposób naliczania podatku należy w konfiguracji ustawić okres, od którego ma obowiązywać zmiana i odznaczyć parametr ‘Nalicz podatek od składek PPK pracodawcy na podstawie składek z bieżącej wypłaty’. Okres powinien być ustawiony zgodnie z ustawieniami miesiąca i roku deklaracji z listy płac, na której będzie naliczana pierwsza wypłata po zmianie. W wypłacie, której okres deklaracji będzie zgodny z datą zmiany ustawienia parametru nie zostanie naliczony podatek od PPK. W kolejnej wypłacie podatek zostanie naliczony od składek PPK naliczonych w poprzednim miesiącu.
- W przypadku, gdy firma przekazywała wpłaty do instytucji finansowej w kolejnym miesiącu, w stosunku do miesiąca, w którym zostały obliczone i podatek od PPK był naliczany dopiero w tym miesiącu (Użytkownik zmieniał domyślnie wyliczoną kwotę przychodu PPK w wypłatach, usuwał standardowy składnik Przychód z tytułu PPK lub stosował niestandardowe elementy), aby zmienić sposób naliczania podatku należy w konfiguracji ustawić okres, od którego ma obowiązywać zmiana i odznaczyć parametr ‘Nalicz podatek od składek PPK pracodawcy na podstawie składek z bieżącej wypłaty’. Okres powinien być ustawiony zgodnie z ustawieniami miesiąca i roku deklaracji z listy płac, od której podatek był pobierany w kolejnym miesiącu. W wypłacie, której okres deklaracji będzie zgodny z datą zmiany ustawienia parametru nie zostanie naliczony podatek od PPK. W kolejnej wypłacie podatek zostanie naliczony od składek PPK naliczonych w poprzednim miesiącu.
Zmiany
- Wydruk Pracownicy z przychodami. Na wydruku dodano informację o przychodzie, do które było zastosowane zwolnienie z podatku dla młodych. Przychód ten jest wykazywany w nowej kolumnie Przych. zwol. dla młodych. W kolumnie Przychód wykazywany jest przychód, od którego była naliczana zaliczka podatku.
Jak dodać pracownikowi umowę zlecenie?
- Z poziomu modułu Płace i Kadry wybierz Kadry.
- Ustaw się na wybranym pracowniku, a następnie wybierz ikonę Lista umów cywilnoprawnych
.
- Za pomocą ikony
dodajesz nowy Formularz umowy.
- Na zakładce Ogólne określ: Rodzaj umowy, Datę zawarcia, Datę rozpoczęcia, Datę zakończenia oraz wartość
- Jeśli zleceniobiorca podlega jakiemukolwiek ubezpieczeniu to przejdź na zakładkę Ubezpieczenia i uzupełnij zgłoszenie.
- Zapisz formularz umowy posługując się ikoną
.
- Z poziomu Formularza umowy możesz wydrukować zawartą umowę wybierając z menu dostępnych opcji przy ikonie
Wydruki kadrowe. Przed wydrukiem program proponuje wypełnienie kilku dodatkowych informacji tak, aby wydrukować kompletny dokument. Z poziomu wydruków Wydruki do Worda (XML), po wybraniu Uruchom można zmodyfikować treść umowy i dostosować do własnych potrzeb.
Jak uzupełnić dane o rachunku bankowym pracownika?
- Z poziomu modułu Płace i Kadry wybierz Kadry.
- Ustaw się na wybranym pracowniku i za pomocą ikony
otworzysz Formularz danych kadrowych.
- Wybierz ikonę
Schemat płatności.
- Standardowo dodając nowego pracownika do bazy zostaje mu przypisana forma płatności ‘gotówka’. Poprzez ikonę
otworzysz Formularz płatności do edycji. Uzupełnij pola: Forma płatności, Odbiorca płatności, Bank, Numer rachunku oraz procent wynagrodzenia, które ma być realizowane wybraną formą płatności. Jeśli całość wynagrodzenia ma być realizowana za pomocą przelewu wpisz (100%). Parametr ‘Nadwyżki nad zadeklarowane kwotydodawane do tej płatności’ powinien pozostać zaznaczony.
- Zapisz Formularz płatności poprzez ikonę
a następnie zatwierdź całą Listę płatności za pomocą ikony
.
Jak przygotować deklarację PIT-11?
- Z poziomu modułu Płace i Kadry wybierz Kadry.
- Ustaw się na wybranym pracowniku a następnie wybierz ikonę Deklaracje pracownika
.
- W polu Okres od /do – podaj okres, za jaki będzie obliczana deklaracja. Program proponuje domyślnie cały bieżący rok, zgodny z datą systemową.
- W polu Lista deklaracji wybierz PIT-11.
- Następnie dodaj formularz nowej deklaracji za pomocą ikony
pojawi się okno, na którym należy podać okres, za który chcemy utworzyć deklarację oraz określić cel złożenia zeznania. Domyślnie zaznaczony jest parametr Złożenie deklaracji. W przypadku, gdy jest to korekta deklaracji należy samodzielnie zmienić na Korekta deklaracji.
- Nalicz deklarację za pomocą ikony
Utwórz deklarację. Formularz zostanie wypełniony zgodnie z naliczonymi w danym okresie składnikami.
- Deklaracja PIT-11 zostanie otwarta w aplikacji Comarch Deklaracje Podatkowe. Jeżeli na deklaracji nie uzupełniono wszystkich wymaganych pól to podczas próby zapisania formularza wyświetlany jest komunikat: Niektóre pola nie zostały uzupełnione. Popraw błędy na formularzu. W przypadku, gdy adres zamieszkania jest różny od adresu zameldowania (Formularz danych kadrowych / zakładka [Ogóle]) i ma być wykazywany na deklaracji należy: - Na Formularzu danych kadrowych wybrać Dodatkowe dane kadrowe, - Uzupełnić adres zamieszkania (pole obligatoryjne to Kod pocztowy), - Na formularzu danych kadrowych na zakładce [Nr ident./Podatki] zaznaczyć parametr Adres zamieszkania zamiast adresu zameldowania na deklaracji PIT, -Zapisać formularz pracownika, -Ponownie utworzyć deklarację PIT-11.
- Zapisz przeliczoną deklarację za pomocą ikony
- Deklarację możesz wydrukować z kilku poziomów:
Jak zdefiniować kalendarz na podstawie domyślnie dodanego kalendarza Standard?
- Wejdź w menu System i Konfiguracja, a następnie gałąź Firma / Płace / Kalendarze.
- Domyślnie dodany jest kalendarz Standard. Jeśli praca w Twojej firmie odbywa się od poniedziałku do piątku w godzinach 7:00 – 15:00 to możesz wykorzystać ten harmonogram pracy.
- Ustaw się na kalendarzu i za pomocą ikony
otworzysz do edycji Kalendarz.
- Przejdź na zakładkę Kalendarz. Dni będą widoczne ze znacznikiem
, co oznacza, że kalendarz nie został zdefiniowany.
- Kalendarz zawsze powinien mieć zdefiniowane wszystkie dni danego roku (bez
), aby szybko je zdefiniować możesz wykorzystać Serię kalendarzy.
- W Seriach kalendarzy jest domyślnie przygotowana seria Tydz_40. Serię kalendarzy należy nanosić od dnia, który jest poniedziałkiem. Ustaw więc kursor na pierwszym poniedziałku z danego roku (02.01.2023r.) i naciśnij ikonę Wstawianie serii
. Uzupełnij pole Do dnia – datą ostatniego dnia roku (31.12.2023r.).
- W części Pozostaw bez zmian odznacz wszystkie parametry (Zdefiniowane dni, Niedziele i święta, Dni wolne).
- Przejdź na zakładkę Seria. w polu Wykorzystaj serię - wybierz Tydz_40 (domyślnie zdefiniowana).
- Następnie ikoną
uruchomisz wstawianie serii na kalendarz Standard.
- Po wstawieniu serii wyświetl dowolny miesiąc roku, który jest definiowany aby wstawić Święta i wybierz ikonę Wstawianie świąt
.
- Jeśli w danym roku występują święta przypadające w soboty, należy odnotować dodatkowe dni wolne za te święta (podstawa prawna: art. 130 § 2 K.p.). W roku 2023 święta wypadające w sobotę mamy 11.11.2023r., należy zatem pamiętać by oddać pracownikom dzień wolny za to święto.
- Sprawdź także czy wymiar czasu pracy w poszczególnych miesiącach jest prawidłowy. Jeśli są miesiące, w których wymiar pomimo zdefiniowania dni i wstawienia świąt jest zawyżony lub zaniżony, powinieneś wprowadzić odpowiednie zmiany ręcznie.
- Po sprawdzeniu wymiarów czasu pracy zapisz kalendarz
.
Jak dodać listę płac za konkretny miesiąc?
- Z poziomu modułu Płace i Kadry wybierz Listy płac.
- Za pomocą ikony
dodaj nowy Formularz listy płac.
- Wybierz odpowiedni Dokument – czyli symbol Listy płac, np. E w polu Rodzaj pojawi się domyślny rodzaj listy płac np. Etat.
- Określ okres, za jaki będą naliczane wypłaty oraz datę wypłaty. Na podstawie daty wypłaty automatycznie podpowiada się zgodny z nią miesiąc deklaracji.
- Zapisz formularz listy płac
.
- Na podstawie wcześniej zdefiniowanej listy płac można utworzyć listę na kolejny miesiąc. W tym celu wyświetl Listę Listy płac, ustaw kursor na liście, którą chcesz skopiować na kolejny miesiąc i naciśnij <Ctrl> + <Ins> lub <Ctrl>+
. Zapisz skopiowaną listę
.
Jak naliczyć zwolnionemu pracownikowi ekwiwalent za niewykorzystany urlop?
- Aby poprawnie naliczyć pracownikowi ekwiwalent za niewykorzystany urlop należy uzupełnić datę zwolnienia na formularzu danych kadrowych oraz przeliczyć limit urlopu wypoczynkowego.
- Z menu Płace i Kadry wybierz Wypłaty pracowników.
- W polu Lista płac wybierz listę płac etatową za ostatni miesiąc zatrudnienia pracownika i nalicz wypłatę za pomocą ikony
.
- Program automatycznie wyliczy ‘Ekwiwalent za niewykorzystany urlop’ za ilość godzin urlopu, która pozostała pracownikowi do rozliczenia.
- Zapisz Formularz wypłaty
.
Jak udzielić pracownikowi zaliczki na poczet przyszłych poborów?
- Z poziomu modułu Płace i Kadry wybierz Wypłaty pracowników.
- Za pomocą
dodaj listę płac o rodzaju Zaliczka netto/Zaliczka brutto. Data wypłaty tej zaliczki powinna być wcześniejsza od daty wypłaty listy etatowej, na której nastąpi potrącenie zaliczki.
- Zapisz zdefiniowana listę
, a następnie wybierz ją z listy.
- Po wybraniu listy płac wrócisz do okna Wypłaty pracowników i ustaw się na wybranym pracowniku.
- Nalicz wypłatę za pomocą ikony
lub naciskając <Insert>.
- Na Formularzu wypłaty, na zakładce Elementy wypłaty, za pomocą ikony
dodaj nowy element Zaliczka netto/ Zaliczka brutto i wpisz Wartość.
- Zapisz Formularz zaliczki oraz całej wypłaty za pomocą ikony
.
Jak rozliczyć nieobecność z poprzedniego miesiąca?
- Z menu Płace i Kadry wybierz Listy płac.
- Dodaj
nowy Formularz listy płac. Określ bieżący okres, a w polu Miesięcy wstecz zmień wartość z 0 na 1 i zapisz formularz listy płac posługując się ikoną
. Ustawienie parametru Miesięcy wstecz z wartością 1 – oznacza, że będziemy rozliczać nieobecność, która nie została wypłacona na liście etatowej za poprzedni miesiąc.
- W oknie Wypłaty pracowników za pomocą
wybierz zdefiniowaną w poprzednim kroku listę płac.
- Ustaw się na wybranym pracowniku i otwórz Kalendarz pracownika wybierając ikonę
a następnie nanieś nieobecność w poprzednim miesiącu.
- Po wprowadzeniu nieobecności (np. Zwolnienie chorobowe) pracownikowi nalicz wypłatę korzystając z ikony
lub <Insert>. Przejdź na zakładkę Elementy wypłaty – pojawi się tutaj rozliczenie nieobecności z poprzedniego miesiąca np. Wynagrodzenie za czas choroby.
Jak odnotować zatrudnienie pracownika na umowę o pracę?
- Z poziomu modułu Płace i Kadry wybierz Kadry.
- Ustawiasz się na pracowniku i za pomocą ikony
edytujesz Formularz danych kadrowych.
- Aby uzupełnić informacje o zatrudnieniu przechodzisz na zakładkę Etat. Określasz między innymi: Datę zatrudnienia, Rodzaj umowy, Stanowisko, Kalendarz, Wymiar etatu, Stawkę zaszeregowania.
- Następnie przechodzisz na zakładkę Ubezpieczenie (etat) i uzupełniasz informacje o ubezpieczeniach pracownika.
- Zapisujesz formularz pracownika (uzupełniony o dane etatowe) wybierając ikonę
.
- Z poziomu Formularza danych kadrowych pracownika możesz wydrukować treść zawartej Umowy o pracę wybierając Wydruk danych
lub Podgląd wydruku
. Przed wydrukiem program proponuje Ci wypełnienie dodatkowych informacji, tak, aby wydrukować kompletny dokument.
Jak wprowadzić informację o zwolnieniu pracownika?
- Z poziomu modułu Płace i Kadry wybierz Kadry.
- Ustaw się na pracowniku i za pomocą ikony
otworzysz do edycji Formularz danych kadrowych.
- Przejdź na zakładkę Etat i uzupełnij Datę zwolnienia oraz Przyczynę zwolnienia.
- Następnie przejdź na zakładkę Ubezpieczenie (etat), gdzie uzupełniamy informacje o wyrejestrowaniu z ubezpieczeń pracownika. Podajemy datę wyrejestrowania oraz kod przyczyny.
- Zapisz formularz pracownika posługując się ikoną
.
- Po odnotowaniu zwolnienia należy przeliczyć limity nieobecności, aby sprawdzić czy pracownikowi pozostał niewykorzystany urlop wypoczynkowy, za który trzeba wypłacić ekwiwalent. Na Liście pracowników (Kadry), ustaw się na wybranym pracowniku, a następnie z menu dostępnych opcji przy ikonie
wybierz Limity nieobecności.
- Ustaw się na limicie urlopu wypoczynkowego za bieżący rok i przelicz za pomocą ikony
. Program przeliczy limit proporcjonalnie do okresu zatrudnienia. W polu Pozostało będzie wykazana liczba dni niewykorzystanego urlopu.
- Zapisz Listę limitów nieobecności za pomocą ikony
.
Jak dodać pracownika do Listy pracowników?
- Z poziomu modułu Płace i Kadry wybierz Kadry.
- Posługując się ikoną
otworzysz nowy Formularz danych kadrowych.
- Wypełnij wymagane pola na zakładce Ogólne tj.: Akronim, Nazwisko i Imię. Te dane pozwolą Ci na zapisanie formularza. Jeżeli posiadasz więcej danych pracownika uzupełnij także pozostałe pola.
- Zapisz formularz danych pracownika za pomocą ikony
.
- Tak wprowadzona osoba pojawi się na Liście pracowników z ustawionym filtrem Wszyscy lub Bez zatrudnienia.
Jak utworzyć zestawienie zaliczek na podatek dochodowy PIT-4R?
- Z menu Płace i Kadry wybierz Zaliczki na PIT-4R.
- Za pomocą ikony
dodaj nowy Formularz zaliczki na PIT-4R w odpowiedniej wersji.
- Określ miesiąc i rok, za który ma być obliczona zaliczka.
- Używając ikony
przelicz deklarację.
- Możesz zaznaczyć pole Zablokuj deklarację przed zmianami i za pomocą ikony
zapisz formularz.
- Na liście pojawi się zamknięte zestawienie, które stanowi część składową dla deklaracji rocznej PIT-4R.
- Przeliczenie deklaracji spowoduje automatyczne wygenerowanie płatności do Urzedu Skarobowego. Płatność pojawi się w module Kasa/Bank Preliminarz płatności.
Jak wypełnić Historię zatrudnienia pracownika?
- Z poziomu modułu Płace i Kadry wybierz Kadry.
- Następnie ustaw się na pracowniku i za pomocą ikony
otworzysz do edycji Formularz danych kadrowych.
- Przy ikonie Dodatkowe dane kadrowe
rozwiń menu dostępnych opcji i wybierz Historia zatrudnienia.
- Poprzez ikonę
dodasz nową pozycję określając staż pracy w latach lub wypełniając pole Okres od…do oraz nazwę zakładu pracy. Możesz także szybko wprowadzić informację o stażu pracy u poprzednich pracodawców w wysokości 10 lat bez konieczności ręcznego edytowania formularza historii zatrudnienia, za pomocą ikony Dodaj zbiorczy 10-letni staż z poprzednich zakładów pracy
.
- Zatwierdź Formularz historii zatrudnienia
, a następnie Formularz danych kadrowych pracownika
.
Jak przypisać pracownikowi dodatkowe elementy wynagrodzenia?
- Z poziomu modułu Płace i Kadry wybierz Kadry.
- Ustaw się na wybranym pracowniku a następnie wybierz ikonę Dodatkowe elementy wynagrodzenia
.
- Za pomocą ikony
dodasz nowy Formularz dodatku i wybierz odpowiedni typ składnika oraz uzupełnij pozostałe pola.
- Na Formularzu dodatku dostępny jest przycisk
. Dodatek, dla którego wskażesz Symbol listy płac, będzie wyliczał się automatycznie tylko przy naliczaniu wypłaty na liście płac zgodnej ze wskazanym symbolem. Pozostawienie tego pola pustym skutkuje naliczeniem dodatku na pierwszej wypłacie etatowej pracownika za dany miesiąc.
- Zapisz Formularz dodatku oraz uzupełnioną Listę dodatkowych elementów przez
.
Jak naliczyć deklarację zgłoszeniową ZUS ZUA?
- Z poziomu modułu Płace i Kadry wybierz Kadry.
- Ustaw się na konkretnym pracowniku i przy ikonie Deklaracje pracownika
rozwiń menu dostępnych opcji i wybierz Deklaracje zgłoszeniowe ZUS.
- W polu Lista wybierz deklarację, którą będziesz generować. W Twoim przypadku będzie to ZUA.
- Aby dodać deklarację naciśnij ikonę
. Otworzy się formularz deklaracji ZUS ZUA gdzie w polu KEDU powinieneś wskazać nazwę pliku *.xml, do którego zastanie zapisana deklaracja ZUA. Jeśli chcesz dodać nowy plik KEDU naciśnij
, wpisz nazwę i zapisz
. Następnie wybierz ją przyciskiem
.
- W polu Dane aktualne w dniu wskaż datę zgodną z datą zgłoszenia pracownika do ubezpieczeń (zakładka Ubezpieczenie (etat) na formularzu danych kadrowych pracownika).
- Za pomocą ikony
nalicz deklarację i zapisz ikoną
.
- Po naliczleniu deklaracji możesz ją wyeksportować do programu Płatnik. W tym celu wchodzisz do deklaracji ponownie za pomocą ikony i wybierasz ikonę Eksport do programu Płatnik
.
- Wpisz teraz ścieżkę docelową gdzie chcesz zapisać plik z deklaracją. W polu Nazwa pliku musi widnieć nazwa pliku wraz z rozszerzeniem, w przeciwnym wypadku Program Płatnik nie rozpozna pliku (np. C:\ZUA.xml).
- Po wpisaniu ścieżki naciśnij
. Jeżeli zaznaczyłeś parametr Otwórz program Płatnik po wyeksportowaniu uruchomiony zostanie Program Płatnik i z poziomu tego programu należy zapisany plik zaimportować.
- Pamiętaj, że w deklaracjach ZUA, ZIUA, ZZA, ZWUA, ZCNA, ZSWA, RCA, RSA, RZA jako podstawowy identyfikator wykorzystywany jest numer PESEL, a w przypadku jego braku numer i seria paszportu lub dowodu osobistego.
Jak zaksięgować listę płac do Książki Podatkowej (KP)?
- Z menu Płace i Kadry wybierz Listy płac.
- Podświetl listę i wybierz ikonę
Księgowanie listy płac.
- Zaksięgowana lista płac zmieni kolor na niebieski. Pamiętaj, że zaksięgować można tylko zamknięte listy płac.
Jak naliczyć wypłatę (indywidualnie i seryjnie)?
- Z poziomu modułu Płace i Kadry wybierz Wypłaty pracowników.
- Za pomocą
wskaż wcześniej zdefiniowaną listę płac o rodzaju Etat.
- Ustaw się na pracowniku i nalicz wypłatę za pomocą ikony
lub naciskając <Insert>.
- Zapisz Formularz wypłaty wybierając ikonę
.
- Naliczona, zapisana wypłata widoczna jest w kolorze zielonym (bufor), co oznacza, że można ją jeszcze ewentualnie zmodyfikować/skasować (jest otwarta).
- Zapisz Formularz wypłaty
.
- Jeśli chcesz naliczyć wypłatę dla kilku pracowników jednocześnie, to wystarczy, że zaznaczysz ich na liście i za pomocą ikony
naliczysz seryjnie wypłaty. W przypadku, gdy dana osoba ma już naliczoną wypłatę, będzie pomijana (nie następuje przeliczenie wypłaty). W logu uzyskasz informację, że pracownik posiada już wcześniej naliczoną wypłatę.
- Warto zapamiętać, że jeżeli na Kalendarzu pracownika odnotowałeś nieobecności lub nadgodziny, wówczas na formularzu wypłaty na zakładce Elementy wypłaty pojawią się odpowiednie elementy.
- Po naliczeniu wypłaty możesz wydrukować Kwitek wypłaty. W tym celu z poziomu listy Wypłaty pracowników, wybierz odpowiedni wydruk z menu dostępnych opcji przy ikonie
.
- Naliczanie wypłat dla umów cywilnoprawnych odbywa się analogicznie, jak przy naliczaniu wypłat etatowych. W celu naliczenia wypłaty umowy należy zdefiniować Listę płac o rodzaju Umowa.
Jak udzielić pracownikowi pożyczki?
- Z menu Płace i Kadry wybierz Wypłaty pracowników.
- Za pomocą
dodaj listę płac o rodzaju Pożyczka. Data wypłaty tej pożyczki powinna być wcześniejsza od daty wypłaty listy etatowej, na której nastąpi spłata raty pożyczki.
- Zapisz zdefiniowaną listę
, a następnie wybierz ją z listy.
- Po wybraniu listy płac wrócisz do okna Wypłaty pracowników i ustaw kursor na wybranym pracowniku.
- Nalicz wypłatę za pomocą ikony
lub naciskając <Insert>.
- Na Formularzu wypłaty, na zakładce Elementy wypłaty, za pomocą ikony
dodaj nowy element Pożyczka i wpisz Wartość, Wysokość raty oraz Kwotę odsetek.
- Zapisz Formularz pożyczki oraz całej wypłaty za pomocą ikony
.
Jak zamknąć listę płac?
- Z menu Płace i Kadry wybierz Listy płac.
- Podświetl listę i posługując się ikoną
wybierz opcję
. Zamknięta lista płac zmieni kolor na czarny.
- Innym sposobem na zmianę statusu listy płac jest podświetlenie listy i pod prawym przyciskiem myszki wybranie z menu kontekstowego opcji Zamknij listę płac.

Jak pracownikowi odnotować nieobecność?
- Z poziomu modułu Płace i Kadry wybierz Kadry.
- Ustaw się na wybranym pracowniku a następnie przy ikonie Kalendarz
rozwiń menu dostępnych opcji i wybierz (Nie)obecności. Zapamiętaj także, że ta sama ikona jest dostepna z poziomu Listy pracowników, Formularza danych kadrowych, oraz Wypłat pracowników.
- Na zakładce Nieobecności za pomocą ikony
dodaj odpowiednią nieobecność, a następnie zapisz formularz nieobecności
.
- Na zakładce Kalendarz widzimy wprowadzoną nieobecność oraz pomniejszony o nią czas pracy.
- Zapisz Kalendarz za pomocą ikony
.
Jak uzupełnić naliczoną wypłatę etatową o dodatek?
- Z poziomu modułu Płace i Kadry wybierz Wypłaty pracowników.
- Ustaw się na pracowniku i za pomocą ikony
otwórz do edycji Formularz wypłaty.
- Przejdź na zakładkę Elementy wypłaty i za pomocą ikony
dodaj nowy element.
- Wybierz Typ wypłaty i określ wartość dodatku (albo wyliczy się automatycznie na podstawie wzoru), a następnie zapisz ikoną
. Wybrany dodatek pojawi się na Elementach wypłaty.
- Zapisz Formularz wypłaty
.
Jak seryjnie wypłacić dodatek na dodatkowej liście płac?
- Z poziomu modułu Płace i Kadry wybierz Wypłaty pracowników.
- Za pomocą
wskaż wcześniej zdefiniowaną listę płac o rodzaju Inne.
- Zaznacz wszystkich lub wybranych pracowników na liście i z menu dostępnych opcji przy ikonie
wybierz Wypłać seryjnie dodatek.
- Określ typ składnika, który chcesz wypłacić, a następnie za pomocą ikony
nalicz seryjnie dodatki.
- Warto zwrócić uwagę, że w trakcie naliczania kolejnej wypłaty dla pracownika, przyporządkowanego do tego samego miesiąca deklaracji, w tle następuje zamknięcie pierwszej wypłaty w celu poprawnego wyliczenia kwot składek ZUS, składki zdrowotnej oraz zaliczki na podatek dochodowy w drugiej wypłacie (te wartości uzgadniane są w obrębie miesiąca deklaracji, a nie tylko jednej danej wypłaty).
Handel
Kiedy możesz usunąć, a kiedy anulować dokument?
- Zacznijmy od usuwania. Tu sytuacja jest prosta – jeśli dokument jest zapisany do bufora, możesz go zaznaczyć i usunąć ikoną
.
- Co natomiast jeśli dokument jest zapisany na trwałe? Możesz go wtedy anulować i wystawić nowy z tym samym numerem. Dokument, który ma być anulowany zaznacz na liście i po kliknięciu prawym przyciskiem myszy wybierz opcję Anulowanie faktury.
- Dokumenty anulowane zostają na liście w kolorze czerwonym (nie mają wpływu na płatności, ani na stany magazynowe, pozostają tylko informacyjnie, jako ślad wykonanej operacji w programie). Nie zalecamy ich usuwania, ale jeśli to będzie konieczne, skontaktuj się z Autoryzowanym Partnerem Comarch.
Jak wykonać inwentaryzację?
- Krok pierwszy – musimy przygotować arkusz inwetaryzacyjny, który będzie zawierał listę towarów, które podlegają inwentaryzacji. Arkusz możesz dodać wybierając Handel/ Inne (w sekcji Magazyn)/ Inwentaryzacja.
- Krok drugi – na wprowadzonym arkuszu uzupełniamy stan rzeczywisty towarów, a więc mówiąc prościej ile danego towaru mamy aktualnie na magazynie. Pamiętaj, że aby uzupełnić stany musisz najpierw zapisać arkusz na trwałe, dopiero wtedy będziesz mógł uzupełnić kolumnę Stan wg spisu.
- Krok trzeci – po uzupełnieniu stanów wykonamy inwentaryzację ikoną
w wyniku której powstaną dokumenty RWAI oraz PWAI. Dokumenty te odpowiednio spowodują zdjęcie towaru, którego brakuje w magazynie oraz przyjęcie ewentualnych nadwyżek.
Jak wprowadzić początkowy stan magazynu rozpoczynając pracę z programem?
- Bilans dodasz wybierając z menu Handel/ Inne(Magazyn)/ Bilans Otwarcia. Dokument dodajesz oczywiście ikoną
.
- Na formularzu Bilansu otwarcia musisz określić magazyn. Jeśli prowadzisz kilka magazynów to na każdy magazyn tworzysz oddzielny bilans.
- Jak już wiesz na Bilans towary wraz z ilościami i wartościami. Możesz to zrobić albo za pomocą ikony
albo zaimportować pozycję z pliku tekstowego ikoną
. Więcej informacji na temat importu pozycji z pliku znajdziesz tutaj.
- Pamiętaj, że na Bilans otwarcia możesz wprowadzić tylko te pozycje z którymi nie ma żadnych transakcji na danym magazynie!!!
Potrzebujesz informacji na temat magazynu? Nie zawsze wiesz z którego raportu skorzystać?
- Wszystkie wydruki dostępne są po wejści na listę Zasobów (Handel/ Zasoby) po kliknięciu ikony
.
- W zależności jaką informację potrzebujesz uzyskać wybierz jeden z raportów:
-
- Spis z natury przedstawia stan magazynu na dany dzień. Raport dotyczy tylko towarów.
- Bilans handlowy towarów informuje o ilości/wartości przychodów i rozchodów towaru w danym okresie czasu.
- Towary zalegające (GenRap)/Wzór standard zawiera informacje o towarach, które zalegają na magazynie określoną ilość dni (raport jest dostępny dla baz, gdzie naliczanie kosztu własnego sprzedaży odbywa się wg metody FIFO lub LIFO).
Jak dzielimy dokumenty w programie? Które z nich wpłyną na stan Twojego magazynu?
- Na początek warto zaznajomić się z podziałem na:
- Dokumenty handlowe: Faktury Sprzedaży, Paragony ,Faktury Zakupu, Zamówienia u Dostawców orazRezerwacje Odbiorców.
- Dokumenty magazynowe: Wydania Zewnętrzne, Przyjęcia Zewnętrzne, Rozchody Wewnętrzne, Przychody Wewnętrzne i Przesunięcia Międzymagazynowe.
- Wiesz już, że ilość towaru na magazynie jest zależna od wprowadzanych przez Ciebie dokumentów. Dokumenty magazynowe omówimy na przykładzie Wydania Zewnętrznego. WZ jest dokumentem którego wystawienie powoduje zdjęcie towaru z magazynu, a więc zmniejsza jego ilość oraz wartość na magazynie.
- Pamiętaj, że dokument ten zapisany do bufora już powoduje zdjęcie towaru z magazynu oraz powinien być skojarzony z Fakturą Sprzedaży.
- Wydanie Zewnętrzne możesz wystawić na kilka sposobów:
- Wystawiając FA i przed zatwierdzeniem zaznaczając parametr w prawym górnym rogu – automatycznie utworzyć dokument WZ.
- Zapisując FA na trwałe bez tworzenia WZ i dopiero potem utworzyć dokument WZ (w chwili wydania towaru), wybierając ikonę .
- Możesz również zacząć od dodania dokumentu WZ z poziomu Handel/ Wydania Zewnętrzne ikoną .
Kasa/Bank
Jak wygenerować Potwierdzenie salda?
- Otwórz menu Kasa/Bank/ Potwierdzenia salda
- Na Liście potwierdzeń sald naciśnij ikonę
- Wybierz kontrahenta, datę oraz walutę, a także szczegółowe dane dotyczące wykazywanych dokumentów, tj. rodzaj (należności i/lub zobowiązania), typ dokumentu źródłowego (przychodowe i/lub rozchodowe) oraz to czy mają być uwzględniane dokumenty niezatwierdzone (np. wprowadzone do modułu Handel lub ręcznie do Preliminarza płatności ze stanem Bufor).
- Naciśnij ikonę
, aby wygenerować potwierdzenie salda
- Zatwierdź dane ikoną
- Otwórz menu Ogólne/Kontrahenci i zaznacz wybranych kontrahentów na liście
- Na pasku u góry pojawi się ikona , rozwijamy listę strzałką i wybieramy Generacja potwierdzeń salda
- Pojawi się okno z możliwością wyboru różnych parametrów:
-
- Dokument – wybór schematu numeracji dla mających powstać potwierdzeń sald (domyślnie podpowiadany jest schemat numeracji wskazany w Konfiguracji Firmy/ Kasa/Bank/ Dokumenty)
- Na dzień – data, na którą będą generowane potwierdzenia salda (domyślnie podpowiadana jest data bieżąca)
- Waluta – domyślnie zaznaczona opcja -wszystkie-, z możliwością wybrania konkretnej waluty PLN
- Rodzaj: należności/ zobowiązania – jaki rodzaj dokumentów ma być wykazywany na potwierdzeniach salda: tylko należności, tylko zobowiązania, czy oba rodzaje
- Dokumenty źródłowe: przychodowe/ rozchodowe – jaki typ dokumentów źródłowych ma być wykazywany na potwierdzeniach salda: tylko przychodowe, tylko rozchodowe, czy oba typy
- dok. w buforze – czy dokumenty niezatwierdzone (o stanie Bufor) mają być wykazywane na potwierdzeniach sald
- O saldach: Dowolnych/ Niezerowych/ Zerowych – wybór jednego z trzech możliwych wariantów oznacza, że dla wskazanych podmiotów będą generowane potwierdzenia o saldach: Dowolnych lub tylko Niezerowych lub tylko Zerowych
-
- Zatwierdzamy wybór ikoną
- Potwierdzenia salda dla wybranych kontrahentów pojawi się na Liście potwierdzeń sald (Kasa/Bank/Potwierdzenia salda)
Jak wygenerować ponaglenie zapłaty?
- Otwórz Kasa/Bank/ Ponaglenia zapłaty
- Na Liście ponagleń zapłaty naciśnij ikonę
- Wybierz kontrahenta, którego dotyczy ponaglenie, zaznacz jakich odsetek dotyczy dokument oraz naciśnij ikonę
- Nie zapomnij wybrać odpowiedniej waluty!
- Zatwierdź dane ikoną
Jak dodać rejestr kasowo/bankowy?
- Otwórz menu Kasa/Bank/Rejestry kasowo/bankowe
- Naciśnij ikonę
- Uzupełnij kolejno Akronim, symbol Rejestru i jego Nazwę
- Określ Typ rejestru oraz uzupełnij pozostałe dane
- Pamiętaj, aby dodać bilans otwarcia danego rejestru – czyli np. stan Kasy na dzień w którym dodasz rejestr
- Za pomocą przycisku
zapisz zmiany.
Jak wygenerować Notę odsetkową?
- Otwórz menu Kasa/Bank/ Noty odsetkowe
- Na Liście not odsetkowych naciśnij ikonę
- Wybierz kontrahenta, którego dotyczy nota odsetkowa, zaznacz jakich odsetek dotyczy dokument oraz naciśnij ikonę
- Nie zapomnij wybrać odpowiedniej waluty!
- Zatwierdź dane ikoną
Jak dodać zapis kasowo/bankowy?
- Otwórz menu Kasa/Bank/Zapisy kasowo/bankowe
- Wybierz z filtra pod listą Rejestr oraz Raport – pamiętaj, że Raport musi być otwarty!
- Naciśnij ikonę
- Wypełnij okno zgodnie z danymi np. z wyciągu – wpisz nr dokumentu, kwotę oraz wybierz kontrahenta
- Pamiętaj, aby Status ustawić na Nie rozliczono, dzięki temu będziesz mógł w przyszłości rozliczyć dany zapis!
- Zapisz zmiany ikoną
Rozliczenia podmiotu
- Otwórz Kasa/Bank/ Rozliczenia podmiotu
- Zaznacz na liście dokumenty, które chcesz rozliczyć – pamiętaj, że dokumenty te muszą być w tej samej walucie!
- Za pomocą ikony
wybrane rozlicz dokumenty
- Pamiętaj, że z tego poziomu możesz rozliczyć ze sobą więcej niż dwa dokumenty, wystarczy że zaznaczysz je wszystkie na liście.
Jak dokonać kompensaty zapisów kasowych?
- Otwórz listę zapisów kasowo/bankowych i wybierz rejestr KASA
- Znajdź na liście dwa zapisy o przeciwstawnych kierunkach (KP i KW) wskazując konkretnego kontrahenta i zaznaczając status Nie rozliczone
- Otwórz zapis KW na zakładce Rozliczenia dokumentu za pomocą przycisku
- U dołu dokumentu pojawi się aktywna ikona
- naciśnij ją
- Z listy nierozliczonych dokumentów wybierz zapis KP i zaakceptuj wybór ikoną
- Zapisz zmiany ikoną
.
Jak rozliczyć zapis z planowaną płatnością?
- Otwórz Preliminarz płatności (Kasa/Bank/Preliminarz płatności) i wybierz konkretny rejestr
- Na liście wybierz zdarzenie, które chcesz rozliczyć i naciśnij ikonę
- Przejdź na zakładkę 2 Rozliczenia i naciśnij ikonę
- Wybierz transakcję, którą chcesz rozliczyć i zatwierdź
- Zapisz zmiany ikoną
- Na liście zapisów kasowo/bankowych możesz zobaczyć, że status dokumentu zmienił się na R – rozliczony.
- W preliminarzu podświetl zdarzenie i kliknij na nie prawym przyciskiem myszki
- Wybierz z menu rozwijalnego opcję Rozlicz pojedynczo, określ typ tworzonego zapisu, a następnie wskaż rejestr do którego trafi zapis kasowo/bankowy
- Wyświetlony został formularz zapisu kasowo/bankowego, na który przepisane zostały informacje ze zdarzenia. Jako datę zapisu program proponuje datę bieżącą – jeżeli chcesz możesz ją zmodyfikować.
- Po zatwierdzeniu formularza ikoną
program automatycznie rozliczy zapis i zdarzenie.
Jak dodać raport kasowo/bankowy?
- Otwórz menu Kasa/Bank/Raporty kasowo/bankowe
- Pamiętaj, aby we filtrze pod listą wybrać Rejestr
- Kliknij ikonę
- Określ datę otwarcia i zamknięcia rejestru – to od Ciebie zależy na jaki okres stworzysz raport
- Zatwierdź dane ikoną
Jak wprowadzić nowe zdarzenie z poziomu Preliminarza?
- Otwórz Kasa/Bank/Preliminarz płatności
- Z filtra pod listą wybierz konkretny Rejestr
- Naciśnij ikonę
i wypełnij wymagane dane
- Zapisz zmiany ikoną
Księga Podatkowa
Ewidencja VAT – informacje podstawowe
- Otwórz Rejestry VAT/Rejestry VAT i wybierz pionową zakładkę 2 Rejestr spr. oraz poziomą 1 Rejestr VAT
- W filtrze aktywnym pod listą ustaw podrejestr oraz wskaż miesiąc
- Naciśnij ikonę
- Pamiętaj, aby na fakturze wybrać kontrahenta, wpisać numer dokumentu oraz sprawdzić czy dokument posiada odpowiednie daty
- Za pomocą ikony
uzupełnij pozycje na liście
- Po wprowadzeniu danych zatwierdź zmiany przyciskiem
- Otwórz Rejestry VAT/Rejestry VAT i wybierz pionową zakładkę 1 Rejestr zak. oraz poziomą 1 Rejestr VAT
- W filtrze aktywnym pod listą ustaw podrejestr oraz wskaż miesiąc
- Naciśnij ikonę
- Pamiętaj, aby na fakturze wybrać kontrahenta, wpisać numer dokumentu oraz sprawdzić czy dokument posiada odpowiednie daty
- Przejdź na zakładkę Waluta i zmień walutę na EUR
- Wróć na zakładkę Ogólne i wprowadź pozycję ze stawką NP oraz rodzajem Towary lub Środki transportu
- Przejdź na zakładkę Kontrahent i wybierz rodzaj transakcji : Nabycie wewnątrzunijne lub Nabycie wewnątrzunijne trójstronne oraz zaznacz parametr Rozliczać w VAT-UE
- Po zapisaniu zmian ikoną
pojawi się okno Generowania dokumentu wewnętrznego zarówno sprzedaży jak i zakupu. Musisz wybrać rejestry do których trafią poszczególne dokumenty oraz wpisać ich numer.
- Możesz wygenerować oba dokumenty jednocześnie, bądź tylko Dokument wewnętrzny sprzedaży. Po uzupełnieniu danych zatwierdź ikoną
- Aby dokumenty pojawiły się musisz je teraz tylko zapisać ikoną
- Wejdź z poziomu Start/Konfiguracja/Firma/Dane firmy/Deklaracje i uzupełnij Urząd Skarbowy oraz zapisz zmiany ikoną
- Przejdź na zakładkę Rejestry VAT/Deklaracje VAT-7
- Na liście deklaracji VAT-7 dodaj deklarację za pomocą
.
- Wybierz miesiąc i rok za jaki deklaracja ma się przeliczyć oraz naciśnij ikonę
- Aby zablokować deklarację przed zmianami należy zaznaczyć parametr na zakładce 1C: Zablokuj deklarację przed zmianami. Odblokowanie deklaracji jest możliwe z poziomu listy deklaracji po kliknięciu prawym klawiszem myszy na daną deklarację i wybraniu opcji Odblokuj deklarację.
- Po wykonaniu powyższych kroków zapisz zmiany naciskając ikonę
Ewidencja środków trwałych
- Otwórz Księgowość/Ewidencja środków trwałych
- Naciśnij ikonę
- Na formularzu Środka Trwałego wypełnij bezwzględnie pola: Grupa, Numer inwentarzowy i Nazwa. Jeżeli którekolwiek z tych pól jest niewypełnione, wówczas program nie pozwoli zatwierdzić formularza.
- Na trzeciej zakładce Amortyzacja możesz ustalić m.in. metodę, stawkę i współczynnik amortyzacji oraz określić datę przyjęcia środka trwałego i jego wartość początkową
- Na liście środków trwałych wybierz Grupa: Wszystkie i zaznacz wszystkie pozycje na liście
- Przyciskiem
uruchom generację planu amortyzacji .
- Po wygenerowaniu planu amortyzacji program wyświetli informację oraz plan amortyzacji, który możesz wydrukować, klikając na ikonę drukarki.
- Na liście środków trwałych wybierz Grupa: Wszystkie i zaznacz wszystkie pozycje na liście.
- Przyciskiem
wygeneruj amortyzację
- Dokument amortyzacji będzie widoczny na liście Dokumentów środków trwałych. (Księgowość/Dokumenty środków trwałych)
Ewidencja wynagrodzeń
Jak wprowadzić dokument do ewidencji dodatkowej?
- Otwórz Rejestry VAT/Ewidencja dodatkowa
- Wybierz zakładkę pionową Koszty, rejestr KOSZTY oraz ustal miesiąc
- Dodaj dokument używając ikony
.
- Za pomocą ikony
otwórz formatkę kwot dodatkowych i dodaj pozycję księgowania określając konta.
- Za pomocą ikony
zapisz cały dokument.
Różnice kursowe
Jak obliczyć zaliczkę na PIT-36/PIT-36L?
- Wybierz z menu Ogólne/Inne/Właściciele a następnie ikoną
dodaj wspólnika uzupełniając niezbędne dane
- Z poziomu otwartego formularza wspólnika naciśnij ikonę
- W wyświetlonym oknie Lista kwot deklaracji właściciela dodaj nową pozycję za pomocą ikony
i uzupełnij dane
- Przejdź na zakładkę Działalność gospodarcza i wpisz udziały, np. 100/100 czyli 100%
- Za pomocą ikony
zatwierdź zdefiniowane udziały
- Nie zapomnij zapisać formularza właściciela!
- Przejdź w menu Księgowość/Zaliczki na PIT-36 oraz naciśnij ikonę
- Wybierz: miesiąc i rok za który chcesz policzyć zaliczkę oraz wspólnika
- Wybierz parametr Uwzględniaj zapisy w buforze jeżeli chcesz pobrać dane również z dokumentów zapisanych w buforze
- Przyciskiem
przelicz deklarację i zatwierdź ją ikoną
- Pamiętaj, że przed wysłaniem deklaracji do Urzędu Skarbowego musisz ją najpierw zablokować przed zmianami.
Jak skonfigurować program do pracy z Księgą Podatkową/Ewidencję ryczałtową?
- Aby ustawić parametry księgowe wybieramy Konfigurację firmy/ Księgowość/ Parametry.
- Ustawiamy parametr Rodzaj księgowości: Księga podatkowa/ Ewidencja ryczałtowa.
Spis z natury
- Otwórz Księgowość/Spis z natury
- Naciśnij na ikonę
i uzupełnij dane na formularzu
- Aby dodać pozycję na liście naciśnij
i uzupełnij
- Zapisz wszystko ikoną
Jak dodać zaliczkę na deklarację PIT-4R?
- Otwórz listę pracowników (Ogólne/Pracownicy)
- Ikoną
dodaj nowego pracownika, wypełniając jego dane, po czym zatwierdź formularz
- Otwórz listę wypłat wybierając z menu Księgowość/Wynagrodzenia/Lista wynagrodzeń
- Wprowadź informację za jaki miesiąc chcesz obliczyć wynagrodzenie
- Zaznacz z jakiego tytułu ma być liczone wynagrodzenie
- Korzystając z ikony
dodaj wynagrodzenie
- Aby dodać poszczególne elementy wynagrodzenia musisz nacisnąć przycisk
- Na każdym z formularzy zatwierdź zmiany przy użyciu ikony
- Otwórz System/Konfiguracja/Firma/Dane firmy/Deklaracje i wybierz Urząd Skarbowy dla deklaracji PIT-4R
- W menu Księgowość/Wynagrodzenia/Zaliczki na PIT-4R za pomocą strzałki
dostępnej obok ikony
wybierz odpowiednią wersję deklaracji
- Przelicz deklarację
i zatwierdź ją ikoną
Jak rozliczyć przejazd samochodem prywatnym?
- Otwórz Księgowość/Samochody/Ewidencja samochodów za pomocą ikony
dodaj swój samochód
- Następnie z menu Księgowość/Samochody/Rozliczenia przejazdów wpisz w filtrze aktywnym Nr rejestracyjny i naciśnij Enter
- Ikoną
dodaj Przejazd, uzupełniając wymagane dane i zapisz formularz
- Następnie przejdź na zakładkę 2 Koszty i dodaj
koszt przejazdu
- Przejdź na zakładkę 3 Rozliczenia, kliknij ikonę
, wybierz miesiąc i za pomocą ikony
wygeneruj rozliczenie
- Zatwierdź wprowadzone dane ikoną
Ewidencja wyposażenia
- Otwórz Księgowość/Ewidencja wyposażenia
- Na liście naciśnij ikonę
- Obowiązkowo wpisz Nr inwentarzowy oraz Nazwę składnika majątku oraz wypełnij inne potrzebne dane
- Zapisz formularz ikoną
Jak dodać zapis w ewidencji ryczałtowej?
- Otwórz menu: Księgowość/ Ewidencja ryczałtowa wybierz zapisy w buforze i miesiąc.
- Dodaj nowy zapis za pomocą przycisku
i uzupełnij dane,
- Zatwierdź zapis ikoną
.
Księga inwentarzowa
- Prowadzenie ewidencji środków trwałych i wartości niematerialnych i prawnych.
- Rejestrację „historii” środka trwałego, związaną ze zmianami jego wartości.
- Generowanie odpisów amortyzacyjnych, z uwzględnieniem metod amortyzacji:
- liniowej
- degresywnej
- jednorazowej
- naturalnej
- Uwzględnienie szczególnych przypadków amortyzacji, jak amortyzacja sezonowa, ulgi inwestycyjne, ograniczenie wartości środka trwałego, dla której amortyzacja stanowi koszt uzyskania. W sytuacji czasowego wyłączenie środka trwałego z użytkowania, bądź w przypadku zawieszenia działalności istnieje również możliwość zawieszenia okresu amortyzacji.
- Tworzenie planu amortyzacji środka.
- Księgowanie odpisów amortyzacyjnych do księgi.
- Na tworzenie arkuszy inwentaryzacyjnych środków trwałych oraz wyposażenia.
Księga Handlowa
Jak stworzyć schemat księgowy?
- Otwórz Księgowość/Inne/Schematy księgowań
- Wybierz typ schematu, przykładowo Rejestr sprzedaży VAT
- Naciśnij ikonę
- Na otwartym formularzu schematu księgowego wpisz Symbol oraz wybierz Dziennik
- Za pomocą
dodaj element schematu księgowego wg podanego wzoru:
- Za pomocą przycisku konta księgowego Konto Wn, z listy wybierz konto syntetyczne rozrachunkowe 201-2-1 (Rozrachunki z odbiorcami), w polu Podział na słowniki: Podmioty.
- W definicji kwoty – wybierz Kwota/Brutto/Razem, skutkuje to pojawieniem się w okienku obok makra @Brutto.
- Przyciskiem dyskietki zapisz zmiany
- Dodaj drugą pozycję schematu:
- Za pomocą przycisku Konto Ma, z listy wybierz konto analityczne 731-2 (Sprzedaż towarów), Podział na słowniki: Brak.
- Kliknij Kwota/ Netto/ Razem, w okienku obok makra pojawi się @Netto.
- Przyciskiem dyskietki zaakceptuj daną pozycję schematu.
- Dodaj trzecią pozycję schematu:
- Za pomocą przycisku Konto Ma, z listy wybieramy konto analityczne 221-2 (VAT należny), Podział na słowniki: Brak.
- W definicji kwoty klikamy Kwota/Vat/Razem, co skutkuje pojawieniem się w okienku obok makra @Vat.
- Przyciskiem dyskietki akceptujemy daną pozycję schematu.
- Ikoną
zapisujemy cały schemat.
Jak stworzyć bilans otwarcia?
- Otwórz Księgowość/Inne/Dokumenty BO
- Wybierz ikonę
, otworzy się formularz Bilansu Otwarcia
- Ustal datę księgowania dokumentu
- Za pomocą strzałki
dostępnej obok ikony
masz możliwość wybrania sposobu dodania pozycji.
- Uzupełnij konta księgowe oraz kwoty strony Wn i Ma
- Zapisz dokument ikoną
- Dopóki dokument jest na liście w kolorze zielonym, możesz go edytować ikoną
Zapis księgowy
- Przejdź Start/Konfiguracja/Firma/Księgowość/Dzienniki
- Naciśnij ikonę
- Nadaj Symbol i Nazwę dziennika i naciśnij przycisk
- Otwórz listę zapisów księgowych z poziomu Księgowość/Dzienniki
- Zaznacz wybrany miesiąc oraz wybierz Dziennik do którego ma trafić zapis i zaznacz parametr bufor
- Dodaj nowy zapis księgowy korzystając z ikony
- Uzupełnij dane i zatwierdź formularz ikoną
Jak obliczyć zaliczkę na CIT-8?
- Z poziomu Start/Konfiguracja/Firma/Dane firmy/Deklaracje ustal Urząd Skarbowy oraz formę płatności
- Uzupełnij dane o działalności w Konfiguracji firmy/Dane firmy/PIT-4R, CIT-8, ZUS DRA oraz stawki podatkowe (Konfiguracja programu/Księgowość/Stawki podatkowe).
- Z menu Księgowość/Zestawienia księgowe zakładka Systemowe podepnij odpowiednie konta do gałęzi zestawienia systemowego CIT-8
- Wejdź w Księgowość/Zaliczki na CIT-8 i ikoną
dodaj deklarację
- Po wykonaniu powyższych kroków przelicz deklarację
i zatwierdź ją ikoną
- Pamiętaj, że przed wysłaniem deklaracji do Urzędu Skarbowego musisz ją najpierw zablokować przed zmianami.
Zestawienie księgowe
- Otwórz Księgowość/Zestawienia księgowe i kliknij ikonę
- Na zakładce Ogólne wpisz Symbol i Nazwę oraz wybierz schemat numeracji
- Na drugiej zakładce Kolumny wpisz kolejno:
- Nazwa Początek roku i wybierz Okres Bilans otwarcia
- Nazwa Koniec roku i wybierz Okres Bieżący okres
- Zapisz dane ikoną
- Następnie podświetl na liście wybrane zestawienie i naciśnij ikonę
- z tego miejsca możesz dodać pozycje zestawienia
- Ikoną
dodaj pierwszą pozycję zestawienia Nazwa: Aktywa i zapisz przyciskiem (każdorazowo musisz zapisać zdefiniowaną pozycję).
- Za pomocą strzałki
dostępnej obok ikony
wybierz Dodaj pozycję na następnym poziomie i wprowadź : Nazwa: Aktywa trwałe i analogicznie dodaj pozycję podrzędną do Aktywów trwałych: Nazwa: Wartości niematerialne i prawne Sumowanie ze znakiem +
- Na liście ustaw się na pozycji Wartości niematerialne i prawne i dodaj ikoną
pozycję: Nazwa – Rzeczowe aktywa trwałe, Sumowanie ze znakiem +
- Przyciskiem
wróć do formatki z listą zestawień księgowych.
- Naciśnij ikonę
Przelicz wybrane zestawienie dzięki której wywołasz obliczenie zestawienia. Jego wyniki pojawią się na Twoim ekranie. Z tego poziomu możesz je wydrukować bądź wyeksportować do arkusza Excel.
- Pamiętaj, że w każdym momencie za pomocą ikony
możesz zobaczyć wcześniej obliczone zestawienie!
Jak obliczyć zaliczkę na PIT-36 PIT-36L?
- Wybierz z menu Ogólne/Inne/Właściciele a następnie ikoną
dodaj wspólnika uzupełniając niezbędne dane
- Z poziomu otwartego formularza wspólnika naciśnij ikonę
- W wyświetlonym oknie Lista kwot deklaracji właściciela dodaj nową pozycję za pomocą ikony
i uzupełnij dane
- Przejdź na zakładkę Działalność gospodarcza i wpisz udziały, np. 100/100 czyli 100%
- Za pomocą ikony
zatwierdź zdefiniowane udziały
- Nie zapomnij zapisać formularza właściciela!
- Z menu wybierz Księgowość/Zestawienia księgowe- zakładka Systemowe podświetl na liście PIT-36 i naciśnij
- Na liście widnieją już zdefiniowane gałęzie zestawienia pod które możesz podpiąć odpowiednie konta księgowe, dwukrotnie klikając na poszczególne pozycje i definiując ich kwoty
- Jeżeli przy generowaniu planu kont wybrałeś Typ podmiotu : osoba fizyczna to zestawienie PIT-36, będzie już posiadało podpięte odpowiednie konta księgowe
- Przejdź w menu Księgowość/Zaliczki na PIT-36 oraz naciśnij ikonę
- Wybierz: miesiąc i rok za który chcesz policzyć zaliczkę oraz wspólnika
- Wybierz parametr Uwzględniaj zapisy w buforze jeżeli chcesz pobrać dane również z dokumentów zapisanych w buforze
- Przyciskiem
przelicz deklarację i zatwierdź ją ikoną
- Pamiętaj, że przed wysłaniem deklaracji do Urzędu Skarbowego musisz ją najpierw zablokować przed zmianami.
Jak wygenerować plan kont?
- Z poziomu Księgowość/Plan Kont kliknij na menu rozwijalne obok ikony
i wybierz parametr Generowanie wzorcowego planu kont.
- Pojawi się okno
na którym wybierz Typ podmiotu, Działalność oraz Koszty
- Zatwierdź wszystko ikoną
Jak modyfikować plan kont?
- Wejdź na zakładkę Księgowość/Plan Kont
- Ustaw się na dowolnym koncie syntetycznym, naciśnij ikonę
i dodaj konto syntetyczne
- Uzupełnij kolejno:
- Numer konta: 233
- Nazwa: Rozrachunki ze zleceniobiorcami
- Zaznaczamy parametr: Konto rozrachunkowe
- Typ konta: Aktywa-Pasywa
- Korekta kosztów: pole puste
- Kontrola salda: brak
- Słownikowe: Pracownicy i wspólnicy
- Zapisz ikoną
- Ustawić się na konkretnym koncie syntetycznym i nacisnąć strzałkę
obok ikony
- Kliknąć parametr Dodaj konto analityczne
- W tym przypadku dodasz tylko kolejną część numeru konta, ponieważ jego początek jest dziedziczony z konta syntetycznego
- Uzupełnij pozostałe informacje
- Zapisz wszystko ikoną
Co warto wiedzieć o wydrukach Ksiąg rachunkowych z programu?
- Są trwale oznaczone nazwą jednostki, której dotyczą
- Posiadają zrozumiałą nazwą księgi, której dotyczą
- Są wyraźnie oznaczone co do roku obrotowego, okresu sprawozdawczego i daty sporządzenia
- Każda strona księgi rachunkowej jest automatycznie numerowana, z wyraźnym oznaczeniem ostatniej („koniec wydruku”)
- Na kolejnych stronach księgi rachunkowej ma miejsce sumowanie zapisów, przy czym została zapewniona kontrola ciągłości zapisów, przenoszenia obrotów i sald
- Są oznaczone nazwą programu przetwarzania (jego aktualnej wersji).
Jak skonfigurować program do pracy z Księgą Handlową?
- Aby ustawić parametry księgowe wybieramy Konfigurację firmy/Księgowość/Parametry.
- Ustawiamy parametr Rodzaj księgowości: Księgowość kontowa.
- Aby wprowadzić okres obrachunkowy, należy wejść w Konfigurację firmy/Księgowość/Okresy obrachunkowe i skorzystać z ikony
oraz w Konfigurację firmy/Księgowość/Księgowość kontowa, gdzie wybieramy bieżący okres.
OCR
Usługa OCR w Comarch ERP Optima
Wstęp
OCR – Optyczne Rozpoznanie Znaków (ang. Optical Character Recognition) to usługa, która umożliwia wczytywanie faktur do rejestru VAT na podstawie skanów i zdjęć dokumentów. Usługa dostępna w Comarch ERP Optima od wersji 2019.2 (Premiera 31.01.2019), na liście Faktur Zakupu oraz na formularzu wiadomości e-mail od wersji 2022.0.1.Informacje ogólne
Jakie dokumenty rozpoznajemy i jakie dane z dokumentów odczytujemy?
Comarch OCR w programie Comarch ERP Optima umożliwia zaczytanie następujących dokumentów:- Faktur
- wystawionych w walucie PLN, EUR, GBP oraz USD,
- wystawionych w języku polskim i angielskim,
- z pojedynczych plików (jeden plik = jedna faktura) oraz z plików, w których znajduje się wiele faktur (jeden plik = wiele faktur),
- do rejestru VAT zakupu, rejestru VAT sprzedaży oraz na listę Faktur zakupu w module Handel.
- Paragonów
- wystawionych w walucie PLN,
- wystawionych w języku polskim,
- z pojedynczych plików (jeden plik = jeden paragon) oraz z plików, w których znajduje się wiele paragonów (jeden plik = wiele paragonów),
- nie jest możliwe zaczytanie kilku paragonów, jeżeli znajdują się one na jednej stronie,
- do rejestru VAT sprzedaży oraz rejestru VAT zakupu.
- Wydań Zewnętrznych/ Przyjęć Zewnętrznych
- wystawionych w walucie PLN, EUR, GBP oraz USD,
- wystawionych w języku polskim,
- z pojedynczych plików (jeden plik = jeden dokument PZ) oraz z plików, w których znajduje się wiele dokumentów PZ (jeden plik = wiele dokumentów PZ),
- na listę Przyjęć zewnętrznych w module Handel.
- numer NIP oraz prefiks (nazwa i adres kontrahenta pobierane są z bazy GUS),
- numer dokumentu,
- data wystawienia i sprzedaży,
- forma płatności i termin płatności,
- stawki VAT oraz kwoty,
- numer rachunku bankowego,
- pozycje na dokumencie.
Jak robić zdjęcia lub skany
Podczas pracy z Comarch OCR aby zmaksymalizować poprawność rozpoznawania danych trzeba zwrócić uwagę na poniższe informacje:- potrzebny jest dobrej jakości skan dokumentu lub zdjęcie dokumentu w formacie jpg, pdf, tiff, png lub jpeg (w przypadku formatu jpeg potrzebna jest wersja Comarch ERP Optima 2020.0),
- skan dokumentu/zdjęcie powinny być wykonane w pionie zgodnie z orientacją tekstu na dokumencie,
- maksymalny rozmiar pliku to 20 MB,
- maksymalny rozmiar pojedynczej strony to 5MB, 11,7×16,5 cali co odpowiada formatowi A3 a maksymalna rozdzielczość jednej strony to 20mln pikseli



Zadbaj, aby na generowanym obrazie były wszystkie informacje i nie ulegały obcięciu informacje na marginesie dokumentu (np. NIP, numer faktury).


Uruchomienie usługi
- W menu System/Konfiguracji->Program->OCR znajduje się możliwość wskazania jednego z trzech miejsc przechowywania skanów.

- w Konfiguracji firmy/Ogólne/Parametry w sekcji ‘Sprawdzanie wyst. podobnych kontrahentów’ należy wybrać opcję Blokuj

Sposoby dodawania dokumentów
Na liście faktur w rejestrze VAT oraz na liście Faktur Zakupu w menu Handel, dostępna jest ikona OCR, która umożliwia wskazanie jednego lub wiele dokumentów, które powinny zostać przetworzone. Po pierwszym kliknięciu w przycisk OCR – Dodaj fakturę ze zdjęcia, skanu lub PDF
Atrybuty opisujące dokument
Na dokumentach wczytanych poprzez usługę OCR, widoczne są atrybuty dokumentu:- NUMER_STRONY – informacja, na której stronie w pliku znajduje się dokument, wykorzystywana w celu poprawnego wyświetlenia pliku, na podstawie którego powstał dokument,
- OBRACANIE i OBRACANIE_ILOŚĆ_STR – atrybuty techniczne, wykorzystywane w celu poprawnego wyświetlenia podglądu skanu. Pojawiają się tylko, jeśli skan wymagał obrócenia widoku.
- OCR – atrybut o formacie lista, który jest dodawany w celu łatwego odnalezienia dokumentów przetworzonych za pomocą usługi Comarch OCR. Przyjmuje wartości Niezweryfikowany/ Zweryfikowany.
Weryfikacja przetworzonych dokumentów
Bezpośrednio po wczytaniu dokumentu na listę dokumentów w programie Comarch ERP Optima, ustawiana jest wartość Niezweryfikowany dla atrybutu OCR. Operator może ustawić status Zweryfikowany, po sprawdzeniu zgodności otrzymanego dokumentu z dokumentem utworzonym przez OCR. Szczególną uwagę podczas weryfikacji zwracamy na dane, które są rozpoznawane:- numer NIP,
- numer dokumentu,
- daty,
- forma płatności i termin płatności,
- stawki VAT oraz kwoty,
- numer rachunku bankowego.
- z poziomu formularza dokumentu, zakładka [Atrybuty]:

- z poziomu formularza dokumentu poprzez przycisk OCR
.


- seryjnie, korzystając z opcji Oznacz dokumenty jako zweryfikowane/ Oznacz dokumenty jako niezweryfikowane dostępnej na liście dokumentów w rozwinięciu przycisku OCR:

Powiązanie z modułem Obieg Dokumentów
Jeśli wskazywany jest plik z dysku, wówczas przed dodaniem go na listę dokumentów w Comarch ERP Optima, tworzony jest w tle dokument w module Obieg Dokumentów wraz z podpiętym skanem. W kolejnym kroku, skan ten jest za pomocą usługi OCR wczytywany na listę dokumentów. Na formularzu wczytanego dokumentu, na zakładce [Dokumenty] widoczne jest powiązanie z dokumentem Biblioteki dokumentów, jeśli operator zalogowany jest do modułu Obieg Dokumentów. Na formularzu operatora (Start/Konfiguracja/ Program/ Użytkowe/ Operatorzy), na zakładce [Parametry cd] znajduje się parametr Prawo do udostępniania plików dla usługi OCR. Dla operatorów, którzy w konfiguracji mają zaznaczony ten parametr, na formularzu dokumentu firmowego w sekcji Archiwum plików widoczna jest kolumna Udostępnij dla usługi OCR. Kolumna nie jest dostępna na dokumentach, dla których wskazano Typ: Wspólny.
Weryfikacja wczytanych skanów
Podczas wczytywania dokumentu weryfikowane są: Dane sprzedawcy Sprawdzana jest zgodność numeru NIP nabywcy na wczytywanej fakturze z numerem NIP z aktualnej pieczątki firmy. Weryfikacja odbywa się według poniższych założeń:- Sprawdzany jest NIP z aktualnej pieczątki. Pieczątki historyczne nie są weryfikowane
- Dodając fakturę zakupu sprawdzany jest NIP nabywcy z NIP w pieczątce
- Dodając fakturę sprzedaży sprawdzany jest NIP sprzedawcy z NIP w pieczątce

- TAK – dokument zostanie dodany na listę dokumentów,
- NIE – dokument nie zostanie dodany na listę dokumentów, w podsumowaniu wyświetlony zostanie komunikat informujący, że dokument nie został dodany ze względu na niezgodność numeru NIP z numerem w pieczątce firmy.
- numer dokumentu
- numer NIP
- kwota netto
- data wystawienia
- parametr nie jest zaznaczony, wówczas w pole Kod na formularzu kontrahenta wstawiany jest numer NIP kontrahenta,
- parametr jest zaznaczony, wówczas pole Kod na formularzu kontrahenta wypełniane jest zgodnie z ustawieniami parametrów autonumeracji.

- Tak, we wszystkich firmach – zostanie ustawiona opcja Blokuj, we wszystkich bazach firmowych,
- Tak, w tej firmie – zostanie ustawiona opcja Blokuj, w firmie, do której operator jest aktualnie zalogowany,
- Nie – nie zostanie dokonana żadna zmiana w parametrach.
Usługa Comarch OCR w Rejestrze VAT
Przetwarzanie dokumentów
Comarch OCR pozwala na przetwarzanie jednocześnie wielu plików. Po kliknięciu w ikonę OCR jest możliwość wskazania dokumentów z dysku lub Obiegu Dokumentów/ BI Point. W momencie rozpoczęcia wczytywania dokumentu pojawi się komunikat informujący użytkownika, do którego rejestru zostanie zapisany dokument. Informacja pojawi się zarówno w przypadku rejestru sprzedaży jak i zakupu.

- Tak – dokument zostanie dodany z datą bieżącą. Oznacza to, że dla faktur zakupu zostanie ustawiona bieżąca data wpływu a dla faktur sprzedaży data wystawienia jako data bieżąca.
- Nie – dokument zostanie dodany z datą rozpoznaną.
Blokada zmiany dokumentów jeżeli zatwierdzona deklaracja VAT-7/plik JPK_V7
w Konfiguracji Programu/Użytkowe/Operatorzy. Jeżeli deklaracja VAT-7/VAT-7K/JPK_V7M/JPK_V7K jest zatwierdzona i wybrana jest opcja:- Ostrzegaj – wówczas dokument jest dodawany do rejestru z komunikatem informacyjnym w logu o treści Rozpoznano i dodano dokument ‘numer dokumentu’ z dnia ‘data wystawienia’. ‘nazwa pliku’. Deklaracja VAT-7/JPK_V7 za podany okres została zatwierdzona. Należy ponownie sporządzić deklaracje lub korektę do deklaracji.
- Blokuj – wówczas dokument nie zostanie dodany do rejestru VAT i pojawi się komunikat. Wystąpił błąd przy imporcie składnika. ‘numer dokumentu’. Dokument nie został dodany. Dotyczy deklaracji VAT-7/JPK_V7, która została już zatwierdzona. Administrator zablokował możliwość wprowadzania zmian na takich dokumentach. ‘nazwa pliku’.
- w przypadku faktur sprzedaży kody GTU, procedury i typy dokumentu umieszczone na skanie dokumentu oraz kody umieszczone na karcie kontrahenta w zakładce JPK i z przypisanej do niego kategorii
- kod TP przypisywany jest dla faktur sprzedaży, jeżeli na karcie kontrahenta zaznaczono parametr Kontrahent powiązany
- kod RO przypisywany jest dla faktur sprzedaży, jeżeli na karcie kontrahenta przypisano kategorię z zaznaczonym parametrem Również na fakturze sprzedaży zaznacza się parametr Sprzedaż detaliczna
- kod VAT_RR przypisywany jest dla faktur zakupu, jeżeli na karcie kontrahenta zaznaczono parametr Rolnik
- kod MPP przypisywany jest dla faktur sprzedaży i zakupu jeżeli na karcie kontrahenta w zakładce [JPK] została wybrana Procedura MPP

Automatyczne wczytywanie do Rejestru VAT skanów podpiętych w platformie Comarch BI Point
W Biurze Rachunkowym umożliwiliśmy tworzenie faktur zakupu i sprzedaży w rejestrze VAT na podstawie skanów dokumentów umieszczonych w Comarch BI Point przez klientów Biura Rachunkowego. Skany dokumentów umieszczone w Comarch BI Point zaczytywane są automatycznie do IBARD. Po rozwinięciu listy dostępnej obok przycisku OCR w rejestrze VAT, jeżeli użytkownik wybierze opcję Wybierz dokumenty z Obiegu Dokumentów, przy odpowiedniej konfiguracji program połączy się z IBARD, gdzie przechowywane są pliki wgrywane przez klienta Biura Rachunkowego w Comarch BI Point i pobierze je do Comarch ERP Optima. Pliki zostaną zapisane jako nowe dokumenty w Obiegu Dokumentów i udostępnione dla usługi OCR. Pojawią się od razu na liście plików z Obiegu Dokumentów, które będzie można zaznaczyć do przetworzenia przez usługę OCR.















Usługa Comarch OCR na formularzu e-mail
Z poziomu wiadomości email możliwe jest wczytanie do Rejestru VAT dokumentu, który został dołączony do zakładki Załączniki.

Usługa Comarch OCR dla Faktur Zakupu i Przyjęć Zewnętrznych
Funkcjonalność wczytywania Faktur Zakupu za pomocą usługi Comarch OCR dostępna jest od wersji 2022.0.1 Comarch ERP Optima. Od wersji 2023.1.1 możliwe jest wczytywanie Przyjęć Zewnętrznych. ZLicencjonowanie i sugerowane ustawienia
W celu skorzystania z możliwości wczytywania skanów poprzez usługę Comarch OCR, konieczne jest posiadanie wykupionego pakietu OCR. Dodatkowo wymagany jest jeden z modułów – Faktury, Handel lub Handel Plus. Moduł Obieg Dokumentów nie jest konieczny do wczytywania Faktur Zakupu na podstawie skanów. Przed rozpoczęciem korzystania z funkcji OCR należy zweryfikować ustawienia w programie:- Blokady operatora, które nie powinny być włączone:
- Formularz pozycji cennika – Dodawanie
- Formularz danych kontrahenta – Dodawanie
- Formularz faktury zakupu – Dodawanie
- Parametry importu towarów z dokumentu PEF/ OCR – Zmiana
- Dla dokumentów walutowych – ustawienia parametrów w menu Start/Konfiguracja/ Firma/ Handel/ Parametry, sekcja Waluty zalecane jest włączenie parametrów Zezwalaj na zmianę waluty oraz VAT na fakturach w walucie lub umożliwienie operatorowi włączenia tych parametrów (brak blokady na formularzu operatora Parametry pracy modułu handlowego – firma – Zmiana).
Weryfikacja wczytywanych skanów Faktur Zakupu i Przyjęć Zewnętrznych
Po wskazaniu skanu do wczytania na listę Faktur Zakupu lub Przyjęć Zewnętrznych, wyświetlane jest okno, w którym prezentowane są informacje na temat procesu wczytywania dokumentów. Na końcu widnieje informacja o aktualności usługi OCR oraz ilości dokumentów dostępnych jeszcze w pakiecie.
Ustawienia na formularzu Faktury Zakupu i Przyjęcia Zewnętrznego
Wczytywane Faktury Zakupu i Przyjęcia Zewnętrzne zawsze zapisywane są z parametrem bufor. Wymagana jest weryfikacja przed zapisaniem dokumentu na trwałe. Przy próbie zapisu dokumentu niezweryfikowanego pojawi się komunikat: Dokument jest wprowadzony po rozpoznaniu przez OCR. Zweryfikuj dokument zanim zostanie zatwierdzony. Warto zwrócić uwagę na poniższe ustawienia: Daty na dokumencie Data wystawienia na skanie będzie datą wystawienia na formularzu dokumentu, a data sprzedaży zostanie przeniesiona do pola data zakupu. Data wpływu ustawiona zostanie zgodnie z datą wczytania dokumentu. Magazyn Na dokumencie pobierany jest magazyn domyślny z karty operatora. Jeżeli operator nie ma przypisanego magazynu domyślnego, wówczas ustawiony zostanie magazyn domyślny stanowiska (ustawiony w menu Start/Konfiguracja/ Stanowisko/ Handel/ Parametry). Natomiast jeśli nie został wskazany magazyn operatora ani stanowiska, wówczas ustawiony zostanie magazyn, który został wybrany na liście Faktur Zakupu lub Przyjęć Zewnętrznych. Jeżeli nie ma również tego magazynu, na dokumencie zostanie wskazany magazyn główny. Algorytm netto/brutto Algorytm dokumentu ustawiany jest na podstawie danych zwróconych przez usługę OCR. Na formularzu nowo tworzonego kontrahenta ustawiany jest zawsze algorytm domyślny „od netto”. Kody JPK_V7 Kody JPK_V7 nadawane są automatycznie, zgodnie z mechanizmami działającymi przy dodawaniu Faktur Zakupu. Parametr MPP W tym zakresie działają mechanizmy takie jak przy wystawianiu Faktur Zakupu. Pozycje dokumentu Przy wyszukiwaniu pozycji w pierwszej kolejności weryfikujemy, czy w bazie istnieje produkt o kodzie EAN odczytanym ze skanu. Jeżeli nie ma takiego kodu EAN w bazie, wówczas weryfikujemy po nazwie. Jeżeli w cenniku znajduje się pozycja o wskazanym kodzie EAN lub nazwie, wówczas dodajemy ją na dokument. Jeżeli w bazie nie ma pasującej pozycji, podczas wczytywania dokumentu proponujemy założenie kart towarów/usług. Pojawia się wówczas okno Wybierz parametry dodawanych towarów, na którym widoczne są wszystkie pozycje dokumentu, które nie zostały odnalezione w bazie:

- Rodzaj jednostki – w pierwszym wierszu wyświetlana jest jednostka podstawowa, natomiast w kolejnych – jednostki pomocnicze. Jeśli wskazano towar w kolumnie Przypisz towar z bazy, wówczas pojawia się dodatkowy wiersz i jako podstawowa jednostka prezentowana jest jednostka z karty towaru, a pomocnicza – z pliku.
- Nazwa j.m – nazwa jednostki z pliku lub z karty towaru.
- Licznik/ Mianownik – domyślnie ustawiana jest wartość 1 dla obydwu tych pól. Dla jednostki podstawowej pola nie podlegają edycji. Dla jednostek pomocniczych możemy określić relację do jednostki podstawowej.
- Przelicznik – pole puste dla jednostki podstawowej, natomiast dla jednostek pomocniczych prezentowany jest wynik na podstawie danych wprowadzonych w polach licznik/ mianownik.
- Przypisz j.m. z bazy – dla jednostki z pliku lub jednostki pomocniczej możemy wskazać, do której jednostki z bazy ma być mapowanie. Wybór możliwy jest tylko jeśli jednostki o takiej nazwie nie rozpoznano w bazie. Wybór jest niedostępny dla jednostki podstawowej towaru wskazanego w kolumnie Przypisz towar z bazy.

- jeżeli parametr jest zaznaczony, wówczas pole Kod na formularzu towaru uzupełniane jest zgodnie ze schematem autonumeracji.
- jeżeli parametr jest nie zaznaczony, a w pliku znajduje się informacja o kodzie EAN, wówczas pole Kod uzupełniane jest kodem EAN
- jeżeli parametr nie jest zaznaczony i w pliku nie znajduje się informacja o kodzie EAN, wówczas pole Kod uzupełniane jest fragmentem nazwy produktu (maksymalnie 50 znaków).
Dokumenty walutowe
Poprzez usługę Comarch OCR możliwe jest wczytanie dokumentów w walutach EUR, GBP, USD. Przed wczytaniem Faktury Zakupu na listę, weryfikowane jest ustawienie parametru: Zezwalaj na zmianę waluty, znajdującego się w Konfiguracja/ Firma/ Handel/ Parametry, w sekcji Waluty. Faktura Zakupu może zostać wczytana na listę tylko w przypadku, gdy ten parametr jest zaznaczony. Jeżeli parametr: Zezwalaj na zmianę waluty nie jest zaznaczony, wówczas pojawi się komunikat: Dokument jest wystawiony w walucie. Aby wczytać dokument należy w Konfiguracji/ Firma/ Handel/ Parametry zaznaczyć parametr: Zezwalaj na zmianę waluty dokumentu. Czy chcesz zmienić ustawienia tego parametru? Wybór opcji Tak spowoduje zaznaczenie parametru w Konfiguracji. Jeśli wybierzemy Nie, wówczas dokument nie zostanie wczytany na listę, a w podsumowaniu pojawi się informacja Nie dodano dokumentu numer_dokumentu z dnia XXXX-XX-XX. Nie ustawiono parametru w konfiguracji: Zezwalaj na zmianę waluty dokumentu. Jeśli zaznaczono parametr Zezwalaj na zmianę waluty, a na dokumencie walutowym naliczony jest podatek VAT, wówczas weryfikowane jest ustawienie parametru: VAT na fakturach w walucie. Jeżeli parametr nie jest zaznaczony, wówczas pojawi się komunikat: Dokument jest wystawiony w walucie z naliczonym podatkiem VAT. Aby wczytać dokument należy w Konfiguracji/ Firma/ Handel/ Parametry zaznaczyć parametr: VAT na fakturach w walucie. Czy chcesz zmienić ustawienia tego parametru? Wybór opcji Tak spowoduje zaznaczenie parametru w Konfiguracji. Jeśli wybierzemy Nie, wówczas dokument nie zostanie wczytany na listę, a w podsumowaniu pojawi się informacja Nie dodano dokumentu numer_dokumentu z dnia XXXX-XX-XX. Nie ustawiono parametru w konfiguracji: VAT na fakturach w walucie. Jeśli w menu w Konfiguracja/ Firma/ Handel/ Parametry, w sekcji Waluty zaznaczony jest parametr Płatność VAT w PLN na fakturach krajowych w walucie, wówczas dla dokumentów z naliczonym VATem, płatność rozbijana jest na kwotę netto w walucie oraz wartość VAT w PLN. Jeśli operator ma założoną blokadę Parametry pracy modułu handlowego – firma – Zmiana, wówczas nie pojawią się komunikaty z poziomu, których można zmienić ustawienia parametrów w konfiguracji. Kurs waluty przenoszony jest na dokument Faktury Zakupu z danych dostarczanych przez usługę OCR. Typ kursu waluty ustawiamy jako Kurs średni NBP. Wartości walutowe na dokumencie przeliczane są na PLN po kursie wskazanym na dokumencie. Na podstawie tych wyliczeń uzupełniana jest tabelka VAT na zakładce [Płatności].Okno podglądu wczytanego dokumentu
Na podglądzie formularza Faktury Zakupu lub Przyjęcia Zewnętrznego wczytanego ze skanu poprzez usługę OCR, z lewej strony wyświetlany jest podgląd skanu. Okno można zamknąć, natomiast przy ponownym podniesieniu formularza, będzie ono ponownie widoczne. Zapamiętywane jest ustawienie wielkości okna, natomiast nie ma możliwości jego zamknięcia na stałe. Okno można zamknąć, natomiast ponowne jego otwarcie możliwe jest po naciśnięciu przycisku Podgląd dokumentu z biblioteki

API do usługi Comarch OCR
Usługa | Adres |
---|---|
Comarch OCR | https://www.erp.comarch.pl/OCR/ |
Comarch OCR API | https://ocr.erp.comarch.pl/v1.0/api/ |
Metody
Tworzenie sesji użytkownika (POST)
Adres: https://ocr.erp.comarch.pl/v1.0/api/sessions/post W nagłówku zapytania należy dołączyć następujące dane uwierzytelniające:Klucz | Wartość |
---|---|
authKey | Klucz wygenerowany w panelu do zarządzania Comarch OCR |
authSecret | Sekret wygenerowany w panelu do zarządzania Comarch OCR |
Property | Opis |
---|---|
sessionToken | Token sesji |
{ "sessionToken": "00000000-0000-0000-0000-000000000000"" }
Możliwe kody odpowiedzi HTTP:
Kod | Znaczenie |
---|---|
200 | Poprawnie wygenerowano token sesji. |
400 | Brak wymaganych parametrów w nagłówku żądania lub błędne dane. |
403 | Wymagane jest użycie SSL |
Usuwanie sesji użytkownika (DELETE)
Adres: https://ocr.erp.comarch.pl/v1.0/api/sessions/deleteW nagłówku zapytania należy dołączyć następujące wartości:
Klucz | Wartość |
---|---|
authToken | Token sesji |
Kod | Znaczenie |
---|---|
204 | Sesja poprawnie zakończona |
400 | Brak tokenu sesji w nagłówku żądania. |
403 | Wymagane jest użycie SSL |
Przetwarzanie dokumentu (POST)
Adres: https://ocr.erp.comarch.pl/v1.0/api/invoice/post Opis struktury JSON zapytaniaProperty | Opis |
---|---|
Data | Plik o rozszerzeniu *.jpg, *.png, *bmp lub *.pdf w postaci binarnej |
InvoiceGuid | Opcjonalne - GUID |
Filename | Nazwa pliku wraz z rozszerzeniem |
ReturnData | Opcjonalne - informacja czy usługa ma zwrócić pliki dla przetworzonych dokumentów, wartość parametru 1 – pliki są dołączone do odpowiedzi |
RecognitionLanguageOption | Opcjonalny - język rozpoznawania dokumentu, 0 - j. polski (jeśli na fakturze zostanie rozpoznany język angielski, rozpoznanie nastąpi jak dla faktur angielskich), 1 - j. niemiecki, 2 - j. francuski, 3 - j. angielski -1 – rozpoznanie na podstawie języka wykrytego na dokumencie (domyślnie - j. polski) |
BarCodeRecognition | Opcjonalny - informacja czy należy rozpoznawać kody kreskowe da dokumentach, opcja wymaga ustawienia ExportFormat=1, 0 - nie rozpoznaje kodów, 1 - rozpoznaje kody, 2 - łączy strony na podstawie rozpoznanych kodów |
OneInvoiceFile | Opcjonalny - informacja jak należy łączyć strony w przesłanym pliku, 0 - łączenie stron w dokumenty na podstawie danych zawartych na stronach, 1 - jeden przesłany plik to jeden dokument |
DefaultPaymentForm | Opcjonalny – domyślna forma płatności jaka ma zostać zwrócona w przypadku nie wykrycia formy płatności na dokumencie (np. „gotówka”) |
Language | Opcjonalny – informacja w jakim języku mają byc zwrócone komunikaty, 0 - j. polski, 1 - j. niemiecki (domyślnie - j. polski) |
PagesToRecognize | Opcjonalny – informacja które strony w pliku mają zostać rozpoznane (np. "1-3,5") |
RawRecognitionText | Opcjonalny – informacja czy ma zostać zwrócona oryginalna, niezmieniona treść wykryta na stronie, 0 - brak oryginalnej treści, 1 - oryginalna treść zostanie zwrócona |
PaymentMethodMapping | Opcjonalny – tylko dla dokumentów w języku angielskim, informacja czy forma płatności ma zostać mapowana na podstawową formę płatności (gotówka, przedpłata, karta, przelew), 0 - brak mapowania, 1 - mapowanie |
Klucz | Wartość |
---|---|
authToken | Token sesji |
{ "type": "object", "properties": { "Data": { "type": [ "string" ] }, "InvoiceGuid": { "type": [ "string" ] }, "Filename": { "type": [ "string" ] }, " ReturnData": { "type": [ "integer" ] }, " RecognitionLanguageOption ": { "type": [ "integer" ] }, " BarCodeRecognition ": { "type": [ "integer" ] } }, "required": [ "Data", "Filename", ]Opis struktury JSON odpowiedzi
Property | Opis |
---|---|
ExportString | Odpowiedź w formacie JSON |
Message | Komunikat o wyniku przetwarzania dokumentu przez usługę |
Code | Kod odpowiedzi |
Status | Status odpowiedzi |
AdditionalMessage | Dodatkowa informacja o pozostałych dokumentach, gdy w pakiecie pozostało 10 lub mniej dokumentów |
UriToDownload | Adres URL do strony spójnej z kodem odpowiedzi |









Code | Status | Opis | Dodatkowe informacje |
---|---|---|---|
Dowolny | 1 | Informacja | |
Dowolny | 2 | Ostrzeżenie | Należy sprawdzić czy coś się znajduje w AdditionalMessage lub UriToDownload |
Dowolny | 3 | Błąd | Należy sprawdzić czy coś się znajduje w AdditionalMessage lub UriToDownload |
Code | Status | Opis | Dodatkowe informacje |
---|---|---|---|
1 | 1 | Dokument rozpoznany prawidłowo. | |
1 | 2 | Dokument rozpoznany prawidłowo. | Klientowi pozostało w pakiecie 10 lub mniej dokumentów, szczegółowa informacja w AdditionalMessage, link do sklepu Comarch znajduje się w UriToDownload. |
2 | 1 | Dokument rozpoznany częściowo lub błędnie. | |
2 | 2 | Dokument rozpoznany częściowo lub błędnie. | Klientowi pozostało w pakiecie 10 lub mniej dokumentów, szczegółowa informacja w AdditionalMessage, link do sklepu Comarch znajduje się w UriToDownload. |
3 | 3 | Dokument nierozpoznany. | |
4 | 3 | Funkcja niedostępna. | |
5 | 3 | Przerwa techniczna. | |
6 | 3 | Niepoprawne zapytanie. | |
7 | 3 | Niepoprawny numer klucza. | |
8 | 3 | Brak podpisanej klauzuli RODO. | Link do formularza z umową znajduje się w UriToDownload. |
9 | 3 | Brak wykupionego pakietu przez klienta. | Link do sklepu Comarch znajduje się w UriToDownload. |
10 | 3 | Wykorzystany pakiet dokumentów. | Link do sklepu Comarch znajduje się w UriToDownload. |
11 | 3 | Klient zaznaczył dokument w którym jest więcej stron niż pozostało w pakiecie. | Link do sklepu Comarch znajduje się w UriToDownload. |
12 | 3 | Rozmiar pojedynczej strony przekracza obsługiwany limit. | |
13 | 3 | Klient został zablokowany ze względu na brak opłaconego pakietu. | |
14 | 3 | Błędny token sesji. (W przypadku korzystania z OCR API) | |
15 | 3 | Brak dostępu do API OCR (W przypadku korzystania z OCR API) | |
17 | 3 | Nierozpoznany język na dokumencie (W przypadku korzystania z OCR API) |
{ "Data": "[DANE BINARNE]", "InvoiceGuid":"dce8b807-2846-4816-a24b-12d7eca140ed", "Filename":"255430.pdf", }
Przykładowa odpowiedź JSON { "ExportString": "[ODPOWIEDŹ W FORMACIE JSON]", "Message": "Rozpoznano dokument 255430.pdf.", "Code": 1, "Status": 2, "AdditionalMessage": "W bezpłatnym pakiecie Demo OCR zostało jeszcze 7 dokumentów do wykorzystania. Kliknij w ten komunikat, aby przejść do Sklepu Comarch i kupić odpowiedni Pakiet Comarch OCR.", "UriToDownload": "https://sklep.comarch.pl/produkty/ocr,2,16251" }
Moje BR
Jak założyć konto w Comarch Moje BR?



Biuletyny
Techniczne
OPT057 - Strojenie wydajnościowe baz MS SQL dla Comarch ERP Optima
Data aktualizacji: 28-11-2018
Wprowadzenie
Serwer bazy danych jest centralnym miejscem dla całej instalacji Comarch ERP Optima i ma bardzo duże znaczenie dla wydajnej jej pracy. Dlatego bardzo ważne jest odpowiednie skonfigurowanie serwera zarówno pod względem sprzętowym, doboru właściwego oprogramowania oraz jego ustawień. Dodatkowo z biegiem czasu i działalnością klienta spływają nowe dane słownikowe oraz dokumenty, co powoduje przyrost bazy danych. Ważne jest więc monitorowanie stanu serwera SQL i odpowiednie reagowanie w celu zapewnienia jak najlepszej wydajności. Niniejszy biuletyn zawiera wytyczne dla konfiguracji serwera bazy danych dedykowanego do pracy z Comarch ERP Optima. Przedstawiono w nim również podstawowe metody diagnozy problemów wydajnościowych oraz sposoby optymalizacji. W ostatnim rozdziale znajduje się obszerny opis cyklicznych czynności administracyjnych, których celem jest utrzymanie serwera SQL w dobrej kondycji. Do biuletynu dołączone są skrypty, które pozwalają zautomatyzować cykliczne czynności administracyjne dla wersji Express serwera SQL.Planowanie instalacji
Dobór konfiguracji sprzętowej dla serwera bazy danych
Serwer bazy danych jest wrażliwym elementem, którego awaria może spowodować przestój całej firmy oraz duże straty finansowe, dlatego warto zainwestować w markowy, sprawdzony sprzęt. Taki serwer w atrakcyjnych cenach można np. nabyć w ramach Zintegrowanej Oferty Comarch.Konfiguracja sprzętowa
Przy doborze serwera bazy danych należy zwrócić szczególną uwagę to, aby zapewniał on niezawodną pracę i bezpieczeństwo przechowywanych danych. Dlatego warto, aby jak najwięcej komponentów było nadmiarowych usuwając pojedyncze ogniwa awarii. Czyli dobrze jest zastosować podwójne zasilacze oraz zasilanie awaryjne (UPS) pozwalające na prawidłowe zamknięcie systemu w momencie braku prądu. Jeżeli chodzi o wydajność to przede wszystkim należy zwrócić na ilość pamięci RAM oraz szybkość podsystemu dyskowego. Procesor zwykle odgrywa mniejsze znaczenie. Jednakże powinien zawierać rdzenie nowej generacji (Intel Nehalem lub lepszy) i taktowaniu przynajmniej 2 GHz. Im więcej dostępnej pamięci tym lepiej, oczywiście ze względu na koszty, jej ilość musi być dobrana do zapotrzebowania, bazując na wielkości instalacji, czyli ilości użytkowników, wielkości baz danych oraz ich ilości. Orientacyjne ilości pamięci RAM dla różnych konfiguracji zostały podane w Podręczniku konfiguracji dla bieżącej wersji Comarch ERP Optima. Później oczywiście należy obserwować liczniki serwera i sprawdzać, czy nie ma potrzeby jej zwiększenia. Informacje na temat przykładowych liczników, na które warto zwrócić uwagę podano w punkcie 4. Diagnoza problemów wydajnościowych. Podsystem dyskowy powinien być zabezpieczony przed awariami poprzez odpowiednią konfigurację. Zalecana konfiguracja to przynajmniej Raid 1 (mirror) dla wolumenu obsługującego system oraz w miarę możliwości Raid 10 dla wolumenu przechowującego dane. Dodatkowo należy zwrócić uwagę, aby kontroler dyskowy posiadał podtrzymywanie bateryjne, które umożliwia zastosowanie opcji write-back przyspieszającej działanie podsystemu dyskowego. Najczęściej przyjmowaną jednostką wydajności podsystemu dyskowego jest IOPS[1] (ang. Input/Output Operations Per Second, IOPS), czyli ilość operacji wejścia wyjścia na sekundę. Jako operację wejścia/ wyjścia rozumie się odczyt lub zapis fragmentu danych, najczęściej o rozmiarze 4 kB. Poniżej znajdują się orientacyjne dane dotyczące wydajności różnych podsystemów dyskowych:Dysk | Orientacyjna wartość IOPS[2] |
---|---|
Dysk Sata 5400 | ~50-80 |
Dysk Sata 7200 | ~75-100 |
Dysk SAS 10k | ~140 |
Dysk SAS 15k | ~175-210 |
Dysk SSD | ~400-1000000[3] |
Biura rachunkowe:
Kilka mniejszych baz danych słabiej obciąża serwer niż jedna duża. Dlatego przy skalowaniu serwera SQL dla biura rachunkowego należy przede wszystkim sprawdzić jaka będzie wielkość największej bazy danych i pod nią dobierać konfigurację plus zabezpieczyć dodatkową ilość pamięci RAM współmiernie do ilości baz danych. Raczej nie należy przekraczać ilości 50 baz danych o wielkości do 200 MB na rdzeń procesora.Edycje serwera SQL
Bardzo duże znaczenie dla wydajnej pracy serwera SQL jest właściwe dobranie edycji serwera SQL. Comarch ERP Optima jest dystrybuowana z darmową serwera SQL o nazwie Express. Edycja ta posiada określone ograniczenia co do możliwości wykorzystania zasobów komputera, na którym jest zainstalowana. Szczegóły znajdują się w poniższej tabeli.Edycja | Maksymalna ilość pamięci RAM (dla puli buforów) | Maksymalna wielkość bazy danych | Ilość obsługiwanych procesorów |
---|---|---|---|
SQL 2008 Express | 1 GB* | 4 GB | 1 |
SQL 2008 R2 Express | 1 GB* | 10 GB | 1 |
SQL 2012 / 2014 Express | 1 GB* | 10 GB | 1 (maksymalnie 4 rdzenie) |
SQL 2008 R2 Workgroup | 3 GB | Bez ograniczeń (524 PB) | 2 |
SQL 2008 R2 Standard | 64 GB | Bez ograniczeń (524 PB) | 4 |
SQL 2012 Standard / BI | 64 GB | Bez ograniczeń (524 PB) | 4 procesory (do 16 rdzeni) |
SQL 2014 Standard / BI | 128 GB | Bez ograniczeń (524 PB) | 4 procesory (do 16 rdzeni) |
Architektura 32 bit, a 64 bit.
Obecnie obowiązującą architekturą jest architektura 64 bitowa i w miarę możliwości zalecana jest aktualizacja do niej środowisk 32 bitowych, które posiadają ograniczenia związane z ilością adresowanej pamięci, a także różnymi komplikacjami w jej alokacji. W podstawowej konfiguracji proces 32 bitowy może maksymalnie zaadresować 2 GB pamięci, przy zastosowaniu specjalnego przełącznika można tą wartość zwiększyć do 3 GB, ale dzieje się to kosztem ilości dostępnej przestrzeni adresowej dla systemu operacyjnego dlatego należy robić to ostrożnie. Serwer SQL może dodatkowo wykorzystać mechanizm AWE, który pozwala na systemach 32 bitowych wyjść poza zakres 4 GB pamięci. Szczegóły można znaleźć w archiwalnym biuletynie technicznym OPT041-Wydajność Comarch OPT!MA a procesory wielordzeniowe i 64 bitowe, który jest dostępny na stronach walidowanych. Na systemach 64 bitowych warto zwrócić uwagę, aby instalować również serwer SQL w wersji 64 bitowej ponieważ jego 32 bitowy odpowiednik będzie w stanie wykorzystać jedynie 4 GB z dostępnej pamięci nawet w edycji Standard. Więcej informacji na temat możliwości wykorzystania pamięci operacyjnej przez poszczególne wersje systemów operacyjnych Windows można znaleźć tutaj: http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778(v=vs.85).aspxKonfiguracja serwera SQL
Większość parametrów serwera SQL należy pozostawić bez zmian, ponieważ domyślne wartości są optymalne dla większości warunków pracy. Sugerujemy jednakże zwrócić uwagę na Maksymalną / Minimalna ilość wykorzystywanej pamięci RAM.Minimalna i Maksymalna ilość wykorzystywanej pamięci RAM>
Parametr minimalnej i maksymalnej ilości wykorzystanej pamięci RAM odnosi się wyłącznie do jednego z komponentów serwera SQL, czyli puli buforów. Jest to kluczowy element jednakże, przy rezerwowaniu pamięci dla puli buforów należy wziąć pod uwagę również inne składniki samego serwera SQL jak i samego systemu operacyjnego.Minimum Server Memory
Domyślną wartością parametru Minimum Server Memory jest zero, co oznacza, że serwer będzie dynamicznie zarządzał dostępną pamięcią RAM dla puli buforów. Ustawienie tego parametru powyżej zera oznacza, że serwer SQL nie będzie mógł zwolnić tej pamięci w razie potrzeby. Z drugiej strony w środowisku, gdzie pracuje więcej aplikacji prócz samego serwera SQL może być konieczne zarezerwowanie niezbędnego minimum pamięci, ponieważ niemożność zaalokowania niezbędnego minimum spowoduje konieczność korzystania z pliku wymiany na dysku twardym i znaczną degradację wydajności Serwera SQL. Na komputerach dedykowanych do pracy tylko z serwerem SQL zaleca się pozostawienie domyślnej wartości tego parametru.Maximum Server Memory
Domyślna wartością tego parametru to: 2147483647 MB, co oznacza że Server SQL będzie chciał zająć całą dostępną pamięć na komputerze. Może to niestety prowadzić do spadku wydajności całego środowiska poprzez to, że pula buforów zajmie pamięć potrzebną do działania systemu operacyjnego lub innych komponentów serwera SQL. Dlatego zaleca się ograniczenie tej pamięci rezerwując niezbędną przestrzeń do działania systemu operacyjnego i pozostałych elementów serwera SQL (oraz ewentualnie dla dodatkowych aplikacji pracujących na tym systemie).
Pamięć fizyczna | Maximum Server Memory |
---|---|
2 GB | 1500 MB |
4 GB | 3200 MB |
6 GB | 4800 MB |
8 GB | 6400 MB |
12 GB | 10000 MB |
16 GB | 13500 MB |
24 GB | 21500 MB |
Inne parametry
Optimize for Ad hoc Workloads
Włączenie parametru „Optimize for Ad hoc Workloads” pozwala na lepsze wykorzystanie dostępnej pamięci RAM w sytuacji, gdy na serwerze generowane jest wiele zapytań, które nigdy więcej lub bardzo rzadko są uruchamiane ponownie. Parametr ten powoduje, że plany dla zapytań „ad hoc” nie są zapisywane w pamięci podręcznej do późniejszego wykorzystania. Zapisywany jest tylko ich mały fragment, cały plan jest zapisywany dopiero przy powtórnym wykonaniu tego samego zapytania. W ten sposób oszczędzana jest pamięć RAM, przez co może być ona wykorzystana przez serwer SQL do innych celów, a co za tym idzie zwiększa się jego wydajność.
select objtype, count(*) as number_of_plans, sum(cast(size_in_bytes as bigint))/1024/1024 as size_in_MBs, avg(usecounts) as avg_use_count from sys.dm_exec_cached_plans group by objtype
Poniższy wynik wskazuje, że plany typu „Adhoc” zajmują 1439 MB pamięci, co jest stosunkowo dużą wartością więc warto włączyć opcję „Optimize for ad hoc workloads”. 
DBCC FREESYSTEMCACHE('SQL Plans')
można wyczyścić pamięć podręczną planów dla planów typu Adhoc.
Diagnoza problemów wydajnościowych
Temat diagnozy wydajności serwera SQL jest bardzo obszerny, jednakże poniżej wybrano kilka podstawowych wskaźników, które warto sprawdzić, gdy występują problemy wydajnościowe. Wszystkie poniższe wskaźniki dostępne są z poziomu systemu operacyjnego. Narzędzia administracyjne \ Monitor wydajnościNazwa parametru | Zalecane wartości | Zalecane działania |
---|---|---|
Procesor: Czas procesora [%] | < 80% | Jeżeli wartość tego parametru przynajmniej kilka razy dziennie na dłuższy czas przekracza zalecaną wartość należy zaplanować dołożenie drugiego procesora lub jego wymianę na wydajniejszy |
System: Processor Queue Lenght | < 2 (dla rdzenia) | Jeżeli wartość tego parametru przynajmniej kilka razy dziennie na dłuższy czas przekracza zalecaną wartość należy zaplanować dołożenie drugiego procesora lub jego wymianę na wydajniejszy |
Pamięć: Strony/s | < 20 | Zbyt mała ilość dostępnej pamięci RAM |
Pamięć: Dostępne bajty | > 300 | Zbyt mała ilość dostępnej pamięci RAM |
Dysk fizyczny: Czas dysku [%] (poddzielone przez ilość dysków) | < 55% | Wysoka wartość tego parametru może wskazywać na nie wystarczająco szybki podsystem dyskowy lub zbyt małą ilość dostępnej pamięci RAM. |
Dysk fizyczny: Średnia długość kolejki dysku (podzielone przez ilość dysków) | < 2 | Wysoka wartość tego parametru może wskazywać na nie wystarczająco szybki podsystem dyskowy lub zbyt małą ilość dostępnej pamięci RAM. |
(najlepiej w okolicach zera) | ||
SQL Server Buffer: Buffer Cache Hit Ratio | > 90% | Zbyt mała ilość dostępnej pamięci RAM dla serwera SQL |
(najlepiej w granicach 99%) | ||
Page life expectancy | > 300 | Zbyt mała ilość dostępnej pamięci RAM dla serwera SQL |
- Za mało pamięci w serwerze
- Ograniczenia wersji Express
- Nieprawidłowo skonfigurowany parametr Max Server Memory
- Ograniczenia architektury 32 bitowej
Optymalizacja dużych baz danych
Program jest dostosowany do pracy w większości warunków, jednakże niektóre szczególnie duże bazy ze względu na specyficzny rozkład danych w tabelach mogą wymagać dodatkowej optymalizacji. Za duże bazy danych uważamy te, które mają rozmiar rzędu kilku gigabajtów lub więcej. Przed przystąpieniem do poniższych czynności dobrze upewnić się, czy serwer jest prawidłowo skonfigurowany i posiada odpowiednią ilość zasobów.Wyszukiwanie brakujących indeksów
Microsoft SQL Server posiada wbudowane mechanizmy, które pozwalają określić orientacyjnie jakich indeksów może brakować. W tym celu można uruchomić na serwerze następujące zapytanie:select d.* , s.avg_total_user_cost , s.avg_user_impact , s.last_user_seek ,s.unique_compiles from sys.dm_db_missing_index_group_stats s ,sys.dm_db_missing_index_groups g ,sys.dm_db_missing_index_details d where s.group_handle = g.index_group_handle and d.index_handle = g.index_handle order by s.avg_user_impact desc go
Źrodło: http://www.google.pl/url?sa=t&rct=j&q=performance_tuning_waits_queues.doc&source=web&cd=1&ved=0CFkQFjAA&url=http%3A%2F%2Fdownload.microsoft.com%2Fdownload%2F4%2F7%2Fa%2F47a548b9-249e-484c-abd7-29f31282b04d%2FPerformance_Tuning_Waits_Queues.doc&ei=IrjYT__PAcXk4QSOxJzRAw&usg=AFQjCNFRIebSlMLnry8gH99CQklhdmokJw Zapytanie to najlepiej uruchomić po dłuższej pracy użytkowników wykonujących swoje zadania z Comarch ERP Optima w szczególności w obszarach, gdzie zauważają problemy wydajnościowe. Należy pamiętać, że dane o brakujących indeksach są usuwane po restarcie serwera SQL. Przykładowy wynik powyższego zapytania (pominięto kilka kolumn, aby zachować czytelność). 
PRINT 'Missing Indexes: ' PRINT 'The "improvement_measure" column is an indicator of the (estimated) improvement that might ' PRINT 'be seen if the index was created. This is a unitless number, and has meaning only relative ' PRINT 'the same number for other indexes. The measure is a combination of the avg_total_user_cost, ' PRINT 'avg_user_impact, user_seeks, and user_scans columns in sys.dm_db_missing_index_group_stats.' PRINT '' PRINT '-- Missing Indexes --' SELECT CONVERT (varchar, getdate(), 126) AS runtime, mig.index_group_handle, mid.index_handle, CONVERT (decimal (28,1), migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans)) AS improvement_measure, 'CREATE INDEX missing_index_' + CONVERT (varchar, mig.index_group_handle) + '_' + CONVERT (varchar, mid.index_handle) + ' ON ' + mid.statement + ' (' + ISNULL (mid.equality_columns,'') + CASE WHEN mid.equality_columns IS NOT NULL AND mid.inequality_columns IS NOT NULL THEN ',' ELSE '' END + ISNULL (mid.inequality_columns, '') + ')' + ISNULL (' INCLUDE (' + mid.included_columns + ')', '') AS create_index_statement, migs.*, mid.database_id, mid.[object_id] FROM sys.dm_db_missing_index_groups mig INNER JOIN sys.dm_db_missing_index_group_stats migs ON migs.group_handle = mig.index_group_handle INNER JOIN sys.dm_db_missing_index_details mid ON mig.index_handle = mid.index_handle WHERE CONVERT (decimal (28,1), migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans)) > 10 ORDER BY migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans) DESC PRINT '' GO
Przygotowuje on od razu definicję indeksu wraz z przykładową nazwą sortując indeksy po polu „miara poprawy”, które jest wyliczane biorąc pod uwagę wspomniane wcześniej kolumny: avg_total_user_cost, avg_user_impact, oraz dodatkowo user_seeks i user_scans z sys.dm_db_missing_index_group_stats.
Database Engine Tuning Advisor
Pełne wersje Microsoft SQL Server posiadają dodatkowe narzędzie o nazwie Database Engine Tuning Advisor. Pozwala ono również na dodanie brakujących indeksów na podstawie zapisanego wcześniej ruchu SQL. Ruch ten można zapisać za pomocą innego narzędzia Microsoft SQL Server Profiler, które również jest dostępne w pełnej wersji serwera SQL. W skrócie proces optymalizacji można przedstawić w poniższych krokach:- Zapis ruchu za pomocą Microsoft SQL Server Profiler
- Przygotowanie optymalizacji w Database Engine Tuning Advisor
- Zapis rekomendacji
- Przygotować plik usuwający dodatkowe indeksy i statystyki
- Utworzenie dodatkowych indeksów i statystyk
Zapis ruchu za pomocą Microsoft SQL Server Profiler

Przygotowanie optymalizacji w Database Engine Tuning Advisor
Po zakończeniu zapisu ruchu przechodzimy do Database Engine Tuning Advisor. Na pierwszej zakładce „General” nowej sesji wskazujemy plik (File) jako źródło ruchu do optymalizacji oraz podajemy bazę do analizy. Na drugiej zakładce „Tuning Options” pozostawiamy domyślne parametry.


Zapis rekomendacji
Po zakończonej analizie otrzymujemy szacowany wzrost wydajności oraz rekomendacje co do założenia dodatkowych indeksów i statystyk. Przygotowane rekomendacje należy zapisać w pliku poprzez przejście do menu Action \ Save Rekommendations. Z tak przygotowanych rekomendacji można wybrać kilka lub wszystkie indeksy i statystyki, jednakże należy pamiętać, że każdy dodatkowy indeks będzie spowalniał operacje dodawania, aktualizowania i usuwania rekordów w tabeli, której on dotyczy. Następnie wybrane indeksy i statystyki należy zapisać w skrypcie nadając im nazwy, które będą łatwe do identyfikacji. Na koniec należy również przygotować skrypt, który będzie usuwał niestandardowe indeksy i statystyki, ponieważ trzeba je usuwać przed przystąpieniem do konwersji bazy danych. Po zakończeniu konwersji można je ponownie dodać.Cykliczne czynności administracyjne
Cykliczne czynności administracyjne są bardzo istotne z punktu widzenia bezpieczeństwa jak i wydajności serwera SQL i należy traktować je jako obowiązkowe, a nie opcjonalne. Do najważniejszych czynności administracyjnych można zaliczyć:- Kopia bezpieczeństwa
- Cykliczne odtwarzanie kopii bezpieczeństwa w celu weryfikacji poprawności backupu.
- Optymalizacja indeksów
- Kontrola poprawności baz danych DBCC CHECKDB
Maintenance Plan – zautomatyzowane strojenie dla pełnych wersji MS SQL
Każda pełna wersja MS SQL posiada mechanizm automatyzacji procesów, których zadaniem jest optymalizowanie bazy danych oraz kreowanie kopii bezpieczeństwa. Raz skonfigurowany zestaw operacji nazywany Maintenance Plan’em, czyli planem serwisowym, może być wielokrotnie uruchamiany w zadanym czasie. Tworzony jest zatem pewien „automat”, który o konkretnej porze wykona za nas operacje, które można wykonać z interfejsu programu Comarch ERP Optima. W niniejszym podrozdziale przedstawiony został przykład planu serwisowego obejmującego:- Sprawdzenie spójności i ciągłości bazy danych (element testów integralności)
- Odbudowę indeksów (ikona pioruna na oknie listy baz danych w konfiguracji)
- Aktualizację statystyk
- Wykonanie kopii bezpieczeństwa bazy konfiguracyjnej oraz firmowej
- Usunięcie plików powstałych na potrzeby wykonywania planu
Krok 1 – Uruchomienie kreatora Maintenance Plan’u
Kreator uruchamiany jest z poziomu programu Management Studio (pełna wersja). SQL Server /Management/Maintenance Plan Wizard
Krok 2 – Wskazanie nazwy planu oraz terminu jego wykonywania
Kolejnym oknem kreatora, na które natrafiamy, jest krótki opis możliwości samego kreatora. Możemy zaznaczyć opcję, aby nie pokazywało się ono następnym razem. Interesuje nas następne okno.

- „Start automatically (…)” – plan uruchomi się tuż po uruchomieniu serwera oraz usługi SQL Agent
- „Start whenever when CPU (…)” – plan uruchomi się, kiedy procesor nie będzie obciążony
- „Recurring” – plan ustala się według interwałów rok / miesiąc / dzień
- „On time” – plan wykona się tylko raz w zadanym dniu i godzinie
Krok 3 – wskazanie składników planu serwisowego
Kolejne okno kreatora planu przedstawia zakres czynności, jakie można wykonać. Są to:- „Check Database Inegrity” – kontrola poprawności struktury bazy danych. Nie można mylić jej z testami integralności, które walidują poprawność samych danych.
- „Shrink Database” – pomniejszenie wielkości bazy danych poprzez usunięcie już niepotrzebnej rezerwy. Serwer SQL podczas pracy alokuje nowe zasoby na potrzeby przyszłych danych oraz operacji. Nie usuwa natomiast powstałem w tej sposób nadwyżki, kiedy dane zostaną usunięte a operacja się zakończy. Shrink pozwala na uwolnienie tych danych. Należy jednak pamiętać o tym, iż usunięcie nadmiarowych danych skutkuje fragmentacją dysku i może negatywnie wpływać na wydajność SQL. Nie zaleca się shrinkowania bazy danych tuż po wykonaniu odbudowy indeksów. Może to przynieść efekt odwrotny od zamierzonego.
- „Reorganize Index” – defragmentacja indeksów.
- „Rebuild Index” – odbudowa indeksów na nowo. Operacja ta jest bardziej długotrwała aniżeli defragmentacja, lecz daje lepsze efekty.
- „Update Statistics” – aktualizacja “query optimizer’a” dzięki której serwer będzie potrafił wydajniej wykonywać polecenia.
- „Clean Up History” – usuwanie historii wykonywania i odtwarzania kopii baz danych.
- „Execute SQL Server Agent Job” – wykonanie “Job’a”.
- „Back Up Database” – wykonanie kopi bezpieczeństwa bazy danych.
- „Maintenance Cleanup Task” – usunięcie plików powstałych podczas wykonywania planu.

Krok 4 – wskazanie kolejności wykonywania składników planu serwisowego
Kolejne okno kreatora planu pozwala na zadecydowanie, w jakiej kolejności powinny wykonać się poszczególne składniki planu serwisowego.
Krok 5 – wskazanie baz danych dla każdego elementu planu serwisowego
Każdy element planu serwisowego można wykonać dla dowolnego zestawu baz danych. Naszym celem będzie baza konfiguracyjna i baza firmowa. Krok ten pozwala na elastyczność podczas tworzenia planu dla serwera przechowującego dużą ilość baz danych. Każdej z nich można przypisać oddzielne punkty planu. Ogólna zasada wyboru baz danych jest wspólna dla wszystkich elementów planu serwisowego. Możemy wybrać:- „All databases” – operacja zostanie wykonana na wszystkich bazach danych znajdujących się na serwerze.
- „System databases” – operacja zostanie wykonana tylko dla systemowych baz danych (przykład nie zakłada żadnych optymalizacji na tym typie baz danych).
- „All user databases” – operacja zostanie wykonana tylko dla baz danych użytkownika, czyli niesystemowych. Dzięki tej opcji mamy pewność, iż zoptymalizujemy wszystkie bazy danych i nie narazimy na niebezpieczeństwo bazy systemowe.
- „These databases” – operacja zostanie wykonana tylko dla zaznaczonych baz danych. Opisywany przykład wykorzystuję tę opcję.
- „Ignore databases (…)” – wszystkie te bazy danych, których stan nie jest „Online” nie będą podlegać optymalizacji.

Krok 6 – charakterystyczne opcje dla każdego elementu planu serwisowego
Podczas wskazywania, które bazy danych mają zostać zoptymalizowane, możemy ustalić pewne opcje charakterystyczne dla elementu planu serwisowego. Dla elementów wykorzystanych w przykładzie mamy:- Check Database Inegrity -Include indexes – po odznaczeniu proces kontroli nie obejmie indeksów, zajmie więc mniej czasu.
- Rebuild Index -Reorganize pages with the default amount of free space – odbudowa indeksów z domyślnym “fill factor”. Oznacza to, iż indeksy zostaną odbudowane zgodnie z ustawieniami zadanymi podczas kreowana bazy danych, czyli przewidziane przez Comarch. -Change free space per page percentage to … – wskazanie wartości “fill factor” samodzielnie. -Sort results in tempdb – zastosowanie SORT_IN_TEMPDBoption. -Keep index online while reindexing – podczas odbudowy indeksy będą możliwe do odczytu (ta opcja dostępna jest dla edycji Enterprise)
- Update Statistics -Update: – wybór elementów poddanych aktualizacji. -Scan type: – zakres elementów poddanych aktualizacji.
- Back Up Database -Sekcja „Create a backup file for every database” – opcje związane z katalogiem, w którym zostaną umieszczone pliki kopii zapasowych.
- Maintenance Cleanup Task -Dostępne opcje pozwalają na zadecydowanie jaki typ danych historycznych ma podlegać kasowaniu. Wskazuje się albo pewien plik, albo folder. Określa się również wymagany wiek pliku.
Krok 7 – wskazanie sposobu raportowania wyników wykonania planu serwisowego oraz zakończenie pracy z kreatorem.
Ostatnim etapem tworzenia planu serwisowego jest wskazanie ścieżki dostępu dla pliku raportu. Zawiera on zestawienie podjętych czynności oraz wyniki ich działania. Po zakończeniu kreatora, nowy plan znajduje się na liście Maintenance Plans w programie Management Studio.
Plan serwisowy dla bezpłatnych wersji MS SQL
Opisany wcześniej plan serwisowy zbudować można tylko dla płatnych wersji silnika bazy danych. Nic nie stoi jednak na przeszkodzie, aby samemu sporządzić podobną funkcjonalność i zaproponować ją klientowi. Podobny efekt uzyskamy poprzez sporządzenie:- Skryptu SQL, który zawierał będzie wszystkie potrzebne dla optymalizacji zapytania.
- Skryptu JS/VBS lub pliku .bat, który będzie zdalnie uruchamiał skrypt SQL z poziomy konsoli.
- Harmonogramu systemu Windows, w którym zawrze się ramy czasowe planu.
- SERWER – nazwa serwera, na którym znajdują się bazy danych.
- D:\StrojenieBazCDN.sql – ścieżka dostępu oraz nazwa skryptu SQL.
- C:\Backup – ścieżka docelowego miejsca składowania kopii baz danych (katalog musi istnieć).
Pliki do pobrania
OPT060 – Comarch ERP Optima w środowisku terminalowym
Data aktualizacji: 29-06-2022
Wprowadzenie
Biuletyn przedstawia informacje na temat konfiguracji programu Comarch ERP Optima oraz środowiska terminalowego do pracy z programem, biorąc pod uwagę parametry łącza, konfigurację serwera, konfigurację klienta, podłączanie urządzeń współpracujących z programem a także ustawienia po stronie aplikacji Comarch ERP Optima. Biuletyn zakłada, że na serwerze terminali uruchamiana jest sama Comarch ERP Optima. Natomiast baza danych znajduje się na osobnym serwerze, którego konfiguracja jest poza zakresem niniejszego dokumentu. Biuletyn zawiera również informacje na temat urządzeń współpracujących z Comarch ERP Optima oraz sposobu ich konfiguracji w środowisku terminalowym.Parametry łącza
Przepustowość łącza
Protokół RDP ma stosunkowo niskie wymagania, jeżeli chodzi o przepustowość. Oczywiście zależą one od parametrów sesji terminalowej czyli ilości kolorów, włączonych opcji w kliencie zdalnego pulpitu (szczegóły w p. 4 – Konfiguracja po stronie klienta) oraz rodzaju wykonywanej pracy. Z praktycznego punktu widzenia można przyjąć, że jedno połączenie przez pulpit zdalny przy głębi kolorów 16 bit zajmuje około 80 kbit/s. Może się ono wahać od 5 kbit/s do około 150 kbit/s. Przy czym kalkulacje wielkości łącza potrzebnego dla serwera terminali należy przeprowadzić w oparciu o parametr Upload, czyli transfer „do Internetu”. Ten parametr ma zwykle u dostawców Internetu znacząco niższą wartość od „Download”, czyli szybkości pobierania danych „z Internetu”. Czyli dla 10 równocześnie pracujących użytkowników należy zabezpieczyć łącze z parametrem Upload rzędu 800 kbit/s. Przepustowość łącza można przetestować za pomocą narzędzi online dostępnych w Internecie np. https://www.predkosc.pl/info/
Jakość łącza
Na wydajność pracy ma również wpływ jakość łącza to znaczy wielkość opóźnień pakietów, wariancja opóźnień (jitter) oraz straty pakietów. Dobre jakościowo łącze, to łącze o opóźnieniach poniżej 100 ms, wariancją opóźnień do kilkunastu ms, straty pakietów w okolicach zera.Konfiguracja po stronie serwera usług terminalowych
Wytyczne do konfiguracji sprzętowej dla serwera usług terminalowych
Przy doborze konfiguracji sprzętowej dla serwera terminali należy przede wszystkim zwrócić uwagę na mocne procesory. Zalecane byłyby procesory Xeon ze rdzeniami nowej generacji (Nehalem lub nowsze) oraz częstotliwością taktowania przynajmniej 2,6 GHz lub odpowiadające im procesory AMD. Ilość rdzeni zależna jest od ilości użytkowników. Zgrubnie szacując na jednym rdzeniu można uruchomić około 5 użytkowników. Przy czym jeden rdzeń należy odliczyć dla systemu operacyjnego. Ilość pamięci RAM również powinna być dostosowana do ilości użytkowników przeznaczając średnio około 500 MB dla jednego użytkownika, dodatkowo przynajmniej 2 GB na potrzeby systemu Windows plus około 1-2 GB rezerwowe. Dodatkowo należy wziąć pod uwagę, że zbyt mała ilość pamięci RAM może doprowadzić do intensywnego wykorzystania dysku twardego, co ostatecznie doprowadza do bardzo znaczącego spadku wydajności całego systemu, włączając w to działające na nim aplikacje. Do niezawodnej pracy serwera terminali zalecane jest uruchomienie dysków w konfiguracji RAID 1, czyli mirroring. Zastosowanie szybszych dysków (Serial SCSI 15 000 RPM lub SSD) pozwoli na szybsze wczytywanie binariów aplikacji, a przez to korzystnie wpływa na jej wydajność. Podsumowując dla 10 użytkowników powinno się zabezpieczyć trzy procesory lub jeden czterordzeniowy oraz około 7-8 GB pamięci RAM.Wersja serwera terminala
Z wersji na wersję protokół RDP jest udoskonalany dlatego zalecamy używanie najnowszej jego wersji 8.0 dostępnej w serwerze Windows Server 2012. Poniższa tabela przedstawia różnice w ilości przesyłania danych (w Bajtach) przez takich samych klientów w zależności od wersji protokołu:Wersja klienta zdalnego pulpitu | System operacyjny po stronie serwera | Bajty | Zmniejszenie ilości przesłanych danych przy użyciu protokołu RDP 6.1 |
---|---|---|---|
RDC 6.1 (Windows Server 2008) | Windows Server 2008 | 7559075 | - |
RDC 5.2 (Windows Server 2003) | Windows Server 2008 | 9450351 | 0.2 |
RDC 5.1 (Windows XP) | Windows Server 2008 | 11185633 | 0.32 |
Konfiguracja serwera terminali
Na serwerze terminali należy wyłączyć wszystkie nieużywane opcje i usługi w systemie. Szczególnie nie jest zalecane włączanie funkcji „Środowisko pulpitu” (ang. Desktop Experience), ustawianie tapet na pulpicie oraz uruchamianie aplikacji, które obciążają procesor i pamięć serwera.Ograniczenie maksymalnej głębi kolorów oraz blokowanie mapowanych urządzeń
W konfiguracji serwera terminali w celu zmniejszenia wymaganego pasma dla połączenia można ograniczyć głębię kolorów do 15 bit. Oznacza to, że użytkownicy mimo innych ustawień w kliencie zdalnego pulpitu będą mogli zestawić połączenie z maksymalną zdefiniowaną ilością kolorów. Dodatkowo dobrze jest zablokować mapowanie nieużywanych dodatkowych urządzeń takich jak porty COM, dyski lokalne klienta i inne ze względu na to, że każde z takich mapowań generuje dodatkowy ruch sieciowy.
Konfiguracja sesji użytkowników
W konfiguracji serwera warto również dbać o to, aby na serwerze nie „wisiały” nieużywane, rozłączone sesje terminalowe, które zajmują zasoby serwera w szczególności pamięć. Można to zrobić ustawiając parametry sesji użytkowników na zakładce Sesja. Przykładowe wartości znajdują się na zrzucie ekranu, przy czym należy je dostosować do specyfiki pracy w danym środowisku.
Mapowanie drukarek sieciowych
Dla systemów Windows Server 2008 oraz Windows Server 2008 R2 zalecanym sposobem mapowania drukarek jest domyślny mechanizm EasyPrinting. Nie wymaga on żadnych dodatkowych czynności na serwerze terminali natomiast komputer klienta musi mieć zainstalowany Microsoft .Net Framework 3.0 SP1 oraz aplikację do połączenia przez pulpit zdalny (Remote Desktop Connection) minimum w wersji 6.1 (aplikacja ta jest składnikiem systemu, ale może wymagać uaktualnienia). W przypadku systemu Windows Server 2003, aby możliwe było mapowanie drukarki z klienta konieczna jest instalacja wszystkich sterowników drukarek używanych przez klienta. Dodatkowo, aby mapowanie powiodło się konieczna jest dokładna zgodność w nazwie sterownika po stronie klienta i serwera. W przypadku problemów można skorzystać z rozwiązania zawartego w dokumencie http://support.microsoft.com/kb/239088.Zmiana algorytmu kompresji
Z poziomu zarządzania politykami grup (polecenie gpedit.msc) można zmienić domyślny algorytm kompresji, który bazuje na konfiguracji sprzętowej komputera. Pozwala to na samodzielne dostosowanie parametrów protokołu do warunków środowiska i konfiguracji komputera. Polityka grup pozwalająca na zmianę algorytmu kompresji na anglojęzycznych systemach nazywa się „Konfiguruj kompresję danych RemoteFX”. Konfiguracja komputera\ Szablony Administracyjne\ Składniki systemu Windows\ Usługi pulpitu zdalnego\ Host sesji pulpitu zdalnego\ Środowisko sesji zdalnej: Konfiguruj kompresję danych RemoteFX Mamy możliwość wprost wskazać, czy algorytm ma używać jak najmniejszych zasobów sieciowych kosztem pamięci i procesora (Optimized to use less network bandwidth), czy ma jak najmniej obciążać procesor i pamięć kosztem większego zapotrzebowania na pasmo sieciowe (Optimized to use less memory). Jest też możliwość wybrania konfiguracji zbalansowanej pomiędzy tymi dwoma opcjami (Balanced memory and network bandwith) oraz wyłączenie kompresji RDP (Do not use RDP compression algorithm).
Konfiguracja po stronie klienta
Analogicznie jak w przypadku serwera najlepiej jest korzystać z najnowszej wersji klienta zdalnego pulpitu. Dla połączeń z Windows Server 2008 R2 powinien to być klient o wersji minimum 6.1, a najlepiej w wersji 7.0.Parametry połączenia do serwera terminali po stronie klienta
Głębia kolorów oraz mapowanie dodatkowych urządzeń
Dla połączeń przez Internet zalecane jest użycie ograniczonej liczby kolorów, czyli trybu High Color (15 bit lub 16 bit). Ilość kolorów można ustawić w kliencie połączenia przez pulpit zdalny na zakładce Ekran.



Parametry graficzne w połączeniu zdalnego pulpitu
Znaczący wpływ na ilość zajętego pasma sieciowego przez połączenie pulpitu zdalnego mają parametry związane z graficznymi efektami w ramach sesji. Można je dostosować na zakładce „Wrażenia” klienta zdalnego pulpitu, są one tam powiązane z ustawieniami szybkości posiadanego łącza, ale można je również osobno zaznaczać i odznaczać.
Typ użytkownika | Tekst ClearType [kbit/s] | Normalny tekst [kbit/s] | Zwiększenie zapotrzebowania na pasmo przy użyciu ClearType |
---|---|---|---|
Pisanie i przewijanie | 35.6 | 22.56 | 57.64 % |
Przewijanie | 25.44 | 7.04 | 260.92 % |
Internet Explorer | 1410.4 | 157.68 | 794.52 % |
Pobieranie licencji
Program pracujący na komputerze usług terminalowych pobiera licencje w ten sam sposób co aplikacja pracująca „Stacjonarnie”, czyli instalacja taka jest wyposażona w Comarch ERP Menadżer Licencji (ML). Specyfiką usług terminalowych jest sposób zamykania sesji na serwerze usług terminalowych, np.: gdy host który pracował z sesją stracił połączenie do sesji na terminalu bądź też przerwał to połączenie celowo, to w obydwu przypadkach na serwerze terminali pozostaje pracująca sesja razem z programami uruchomionymi w niej, w tym z Comarch ERP Optima. Konfiguracja usług terminalowych pozwala na zarządzanie takimi sesjami na dwa sposoby – pozwala na ponowne podłączenie się do sesji z hosta, który utracił z nią połączenie (lub operatora który jest zalogowany w sesji) bądź pozwala na automatyczne zamknięcie takiej sesji. Problemem może okazać się automatyczne zamknięcie sesji, które zamyka aplikacje pracujące w tej sesji. Licencje które zostały przydzielone Comarch ERP Optima, która została zamknięta w taki sposób będą wciąż licencjami zajętymi, zmniejszającymi ilość dostępnych licencji w instalacji. Żeby uniknąć tego problemu wystarczy w Menu Widok Comarch ERP Optima wyłączyć parametr: „Potwierdzenie zamknięcia programu”. Program z tak ustawionym parametrem w automatycznie zamykanej sesji wyloguje zajmowane przez siebie licencje z (ML).Konfiguracja interfejsu w Comarch ERP Optima
W konfiguracji Comarch ERP Optima przygotowano specjalne ustawienia pozwalające na uzyskanie lepszej wydajności przy słabszych parametrach połączenia do serwera terminali.Ustawienie skórki
Skórkę programu można ustawić z poziomu menu Widok po zalogowaniu do programu.
Wyłączenie animacji
Również w menu Widok po zalogowaniu do programu można wyłączyć animacje w programie.
Zwinięcie graficznego menu (ribbon)
Obszar graficznego menu (ribbon) jest najdłużej odrysowywany dlatego jego wyłączenie na wolnym łączu powinno poprawić szybkość ściągania obrazu aplikacji z serwera.

Drukarki fiskalne w usługach terminalowych
System Comarch ERP Optima posiada możliwość pracy w środowisku terminalowym. Istotnym elementem pracy tego systemu jest możliwość korzystania z drukarek fiskalnych. Przepisy wymagają od użytkownika umieszczenia drukarek fiskalnych na stanowisku, gdzie odbywa się sprzedaż fiskalna. W środowisku terminalowym oznacza to podłączenie drukarki fiskalnej do komputera, na którym pracuje klient terminala. W przypadku systemów Microsoft Windows Terminal Serwer do podłączenia drukarki fiskalnej do portu COM stanowiska terminalowego można wykorzystać stworzone przez nas oprogramowanie. Oprogramowanie pozwala na przekazanie do końcówki terminala danych dla drukarki fiskalnej poprzez tak zwany kanał wirtualny. Aby przekazywanie danych do drukarki mogło mieć miejsce zarówno po stronie końcówki terminala jak i po stronie serwera musi być zainstalowane odpowiednie oprogramowanie, które można użytkować zgodnie z zasadami podanymi w punkcie 7.3.Instalacja i konfiguracja komponentów na serwerze
Program Comarch ERP Optima nawiązują połączenie z drukarką fiskalną poprzez API udostępnione przez bibliotekę sterownika fiskalnego. Instalacja sterowników odbywa się wraz z instalacją programu Comarch ERP Optima. Konfiguracja programu do współpracy z drukarką podłączoną do konsoli terminala odbywa się, poprzez wybranie odpowiednio zmodyfikowanego sterownika przeznaczonego do pracy w TS. W konfiguracji programu „Comarch ERP Optima Start/Konfiguracja / Stanowisko / Ogóle / Drukarka fiskalna” należy wybrać odpowiedni dla drukarki fiskalnej sterownik i zaznaczyć parametr Sterownik terminalowy.Instalacja komponentów na końcówce terminala
Po stronie końcówki terminala umieszczone są komponenty zajmujące się obsługą kanału wirtualnego oraz połączeniem z drukarką fiskalną. Pliki zawierające instalatory komponentów znajdują się w katalogu „Drukowanie Fiskalne w usługach terminalowych - Client” (na płycie instalacyjnej programu w katalogu Dodatki), lub bezpośrednio w katalogu z programem Comarch ERP Optima. Plik OnlineFP.exe zawiera instalator odpowiedni dla systemów 32 i 64 bitowych. Aby zainstalować obsługę terminalowych drukarek fiskalnych należy: 1. Plik OnlineFP.exe przegrać na końcówkę terminala. 2. Przeprowadzić instalację obsługi sterowników terminalowych na końcówce. Użytkownik Windows, który instaluje obsługę sterowników, musi mieć uprawnienia administratora. Oprogramowanie po stronie klienta składa się z plików obsługujących kanał wirtualny i z samych sterowników do drukarek. Wszystkie pliki kopiowane są do katalogu wskazanego podczas instalacji. Sterowniki drukarki nawiązują połączenie z urządzeniem na wskazanym adresie TCP/IP lub porcie COM wybranym w konfiguracji programu pracującego po stronie pulpitu zdalnego. Należy zwrócić uwagę również na następujące aspekty: 1. Mechanizm komunikacji z drukarkami fiskalnymi nie wykorzystuje mapowania portów COM w samej usłudze terminalowej. 2. Przy aktualizacji wersji programu Comarch ERP Optima zaleca się również aktualizację sterowników na końcówce terminala. Odinstalowanie z poziomu panelu sterowania programu Comarch ERP Sterowniki i usługi terminalowe i zainstalowanie aktualnej wersji z pliku OnlineFP.exe Po prawidłowo wykonanej instalacji na końcówce terminala i konfiguracji komponentów na serwerze można wykonać test połączenia z drukarką z poziomu konfiguracji programu.Licencje
Komponenty do współpracy z drukarką fiskalną poprzez usługi pulpitu zdalnego wymagają licencji na „Fiskalny driver terminalowy”. Licencje są pobierane przez Comarch ERP Optima w sesji terminalowej w momencie wywołania pierwszej operacji chronionej licencją. Są to: fiskalizacja i wydruk raportów fiskalnych. Licencje są zwalnianie przy wylogowaniu się operatora z programu.Schemat połączenia do drukarki fiskalnej

Terminale płatnicze w usługach terminalowych
System Comarch ERP Optima posiada możliwość pracy w środowisku terminalowym i komunikowania się z terminalem płatniczym podłączonym do komputera, na którym pracuje klient terminala. W przypadku systemów Microsoft Windows Terminal Serwer można wykorzystać stworzone przez nas oprogramowanie. Oprogramowanie pozwala na przekazanie do końcówki terminala danych dla terminala płatniczego poprzez tak zwany kanał wirtualny. Aby przekazywanie danych do terminala płatniczego mogło mieć miejsce zarówno po stronie końcówki terminala jak i po stronie serwera musi być zainstalowane odpowiednie oprogramowanie.Instalacja i konfiguracja komponentów na serwerze
Program Comarch ERP Optima nawiązują połączenie z terminalem płatniczym poprzez API udostępnione przez bibliotekę sterownika fiskalnego. Instalacja sterowników odbywa się wraz z instalacją programu Comarch ERP Optima. Konfiguracja programu do współpracy z terminalem płatniczym podłączonym do konsoli terminala odbywa się, poprzez wybranie odpowiednio zmodyfikowanego sterownika przeznaczonego do pracy w TS. W konfiguracji programu „Comarch ERP Optima Start/Konfiguracja / Stanowisko / Ogóle / Terminal płatniczy” należy wybrać odpowiedni dla terminala płatniczego sterownik z dopiskiem „terminal” w nazwie.Instalacja komponentów na końcówce terminala
Po stronie końcówki terminala umieszczone są komponenty zajmujące się obsługą kanału wirtualnego oraz połączeniem z terminalem płatniczym. Pliki zawierające instalatory komponentów znajdują się w katalogu „Drukowanie Fiskalne w usługach terminalowych - Client” (na płycie instalacyjnej programu w katalogu Dodatki), lub bezpośrednio w katalogu z programem Comarch ERP Optima. Plik OnlineFP.exe zawiera instalator odpowiedni dla systemów 32 i 64 bitowych. Aby zainstalować obsługę terminali płatniczych należy: 1. Plik OnlineFP.exe przegrać na końcówkę terminala. 2. Przeprowadzić instalację obsługi sterowników terminalowych na końcówce. Użytkownik Windows, który instaluje obsługę sterowników, musi mieć uprawnienia administratora. Oprogramowanie po stronie klienta składa się z plików obsługujących kanał wirtualny i z samych sterowników do terminali płatniczych. Wszystkie pliki kopiowane są do katalogu wskazanego podczas instalacji. Sterownik terminala nawiązuje połączenie z urządzeniem na wskazanym adresie TCP/IP lub porcie COM wybranym w konfiguracji programu pracującego po stronie pulpitu zdalnego. Należy zwrócić uwagę również na następujące aspekty: 1. Mechanizm komunikacji z terminalami płatniczymi nie wykorzystuje mapowania portów COM w samej usłudze terminalowej. 2. Przy aktualizacji wersji programu Comarch ERP Optima zaleca się również aktualizację sterowników na końcówce terminala. Odinstalowanie z poziomu panelu sterowania programu Comarch ERP Sterowniki i usługi terminalowe i zainstalowanie aktualnej wersji z pliku OnlineFP.exe Po prawidłowo wykonanej instalacji na końcówce terminala i konfiguracji komponentów na serwerze można wykonać test połączenia z terminalem płatniczym z poziomu konfiguracji programu.Podłączenie kolektorów i kas fiskalnych
Komunikacja z tego typu urządzeniami odbywa się poprzez mapowanie portów COM pomiędzy stacją roboczą a sesją na komputerze usług terminalowych, na które pozwala protokół RDP. Z pracą tak podłączonych urządzeń wiążą się niekiedy kłopoty z czasem przesyłania danych z podpiętego urządzenia (z tego powodu dla drukarek fiskalnych wprowadzone są dodatkowe kanały przesyłania danych). Aby mapowanie urządzeń było możliwe w sesji terminalowej należy: Po stronie serwera: Sprawdzić czy mapowanie portów COM jest załączone w konfiguracji serwera usług terminalowych (Terminal Server Configuration)

Drukowanie na drukarki i urządzenia przez wydruki XML (tekstowe/inne)
Wydruki XML (tekstowy/inne) wysyłają rezutlat wydruku zawierający dane oraz kody sterujące dla urządzenia bezpośrednio do portu (LPT/USB/COM) przypisanego do urządzenia. Z reguły wysłanie tych danych odbywa się metodą kopiowania plików do określonego portu. Może to powodować problemy przy przesyłaniu tych danych z sesji terminalowej do urządzenia. Uruchamiając wysłanie danych z tych wydruków w konfiguracji połączenia należy włączyć opcję mapowania portów, identycznie jak w punkcie Podłączenie kolektorów i Kas Fiskalnych. Ta metoda nie pozwala jednak na wysyłanie danych do urządzeń pracującyh na portach USB, bywa też zawodna. Jeśli napotykamy na problem przesyłania danych bezpośrednio do mapowanych portów możemy, zastosować dodatkowy mechanizm przesyłania danych z wydruku do strumienia danych RAW sterownika drukarki, który został zmapowany w sesji. Opcja mapowania drukarek w konfiguracji połączenia sesji terminalowej musi być włączona. Do przesyłania danych do strumienia drukarki używamy dodatkowego programu RawPrint.exe. Pozwala on na przesłanie pliku utworzonego w sesji do strumienia drukarki – jako parametr podajemy nazwę pliku oraz nazwę drukarki w systemie Windows: RawPrint.exe “Oki ML3320 (from PCBIURO) in session 1” PlikDanych.dat Uruchomienie wydruku w takim trybie wykonujemy zmieniając sekcję [RUN] w definicji wydruku XML (od wersji 2013.6. możliwe jest przekazywanie parametrów do programu uruchamianego w sekcji RUN). W tej sekcji wprowadzamy komendę uruchamiającą program RawPrint lub kombinacje uruchomienia programu PrintTxt i RawPrint. Połączenie uruchomienia tych programów możemy zrealizować za pomocą pliku bat lub cmd umieszczonego w katalogu roboczym Comarch ERP Optima. W sekcji [RUN] podajemy nazwę pliku z komendami, np wykonaj_wydruk.bat:
Czytniki kodów kreskowych EAN
Program obsługuje czytniki kodów kreskowych podłączane szeregowo z klawiaturą. Czytniki te będą działać w sesji terminalowej bez dodatkowej konfiguracji.Skanery dokumentów do współpracy z modułem OBD
W programie Comarch ERP Optima uruchamianej przez terminal jest możliwość podłączenia skanera. W tym celu należy zainstalować na końcówce sieciowej aplikacji OnlineFP.exe i w konfiguracji Optimy w gałęzi Stanowisko \ Ogólne \Parametry i załączyć parametr : Wymiana danych z komputerem lokalnym w pracy Terminalowej. Po wykonaniu powyższych czynności i przelogowaniu w programie Comarch ERP Optima, Skaner powinien być dostępny z poziomu modułu Obieg Dokumentów i pracować jak w sesji lokalnej.Wysyłanie i odbieranie plików przez kanały wirtualne
W programie Comarch ERP Optima uruchamianej przez terminal jest możliwość wysyłania i odbierania plików na końcówce sieciowej w następujących funkcjach programu:Funkcje w programie: |
---|
Eksport ustawień personalizacji. |
Import urzędów, |
Eksport wydruków. |
Eksporty przelewów |
Eksport i import kontrahentów |
Export i import cennika |
Eksporty do ECOD |
Eksport i import danych kadrowych |
Eksport wypłat |
Eksport deklaracji ZUS do Płatnika |
Eksport deklaracji PFRON do SODiR |
Import czasu pracy z czytników RCP |
Import z pliku KEDU |
Eksport/import ustawień operatora. |
Pozostałe uwagi dotyczące konfiguracji Comarch ERP Optimy pracującej w usługach terminalowych
Uruchamianie Comarch ERP Przypominacz – program uruchomi się podczas logowania na serwer terminalowy, jeżeli nie było aktywnej sesji logującego się użytkownika; jeżeli użytkownik podłącza się pod istniejącą sesję, to program się nie uruchomi. Podpis elektroniczny dla e-maili, PDFów, e-Deklaracji – działa po konfiguracji certyfikatów po stronie serwera usług terminalowych bądź dla przekazywanie certyfikatów po stronie stanowiska. I tak:- Dla certyfikatów po stronie stanowiska sieciowego musimy zainstalować obsługę kanałów wirtualnych przez aplikację OnlineFP.exe a następnie załączyć w konfiguracji Comarch ERP Optima w gałęzi Stanowisko \ Ogólne \ Parametru parametr : Wymiana danych z komputerem lokalnym w pracy terminalowej.
- Dla certyfikatów po serwera usług terminalowych certyfikaty klienta muszą być przeniesione na system z usługami terminalowymi. Na terminalu i serwerze należy zainstalować komponenty obsługi podpisu elektronicznego, dostarczane przez jego producenta. W opcjach połączenie zdalnego należy zaznaczyć „Mapuj zasoby lokalne – karty inteligentne”.
- Przez tworzenie plików dla płatnika z użyciem kanałów wirtualnych (Program płatnik pracuje po stronie stanowiska sieciowego)-punkt Wysyłanie i odbieranie plików przez kanały wirtualne,
- Bądź przez instalacje Płatnika bezpośrednio na serwerze ( program Płatnik będzie pracował „po stronie” serwera TS ).
Płace i kadry
OPT050 - Korygowanie wypłat
Data aktualizacji: 12-07-2023
1 Wprowadzenie
Zdarzają się sytuacje, gdy konieczne staje się skorygowanie naliczonej, zaksięgowanej i rozliczonej wypłaty pracownika, czasem nawet sprzed kilku miesięcy / lat, dlatego też w programie Comarch ERP Optima dostępna jest funkcjonalność anulowania wypłaty i naliczenia wypłaty korygującej oraz naliczenia wypłaty korygującej do wcześniej już skorygowanej wypłaty. Mechanizm korekty najczęściej jest wykorzystywany w sytuacji, gdy np.:- Rozliczono niewłaściwą nieobecność (np. urlop zamiast zwolnienia lekarskiego);
- Naliczono zły element (np. wynagrodzenie za czas choroby zamiast zasiłku chorobowego);
- Nieprawidłowo naliczono składki ZUS, np. z tytułu przekroczenia rocznej podstawy wymiaru składek na ubezpieczenie emerytalne i rentowe, nieoskładkowania jakiegoś elementu (np. ekwiwalentu za urlop), itd.
- Nieprawidłowo naliczono wypłatę korygującą (np. gdy istniała konieczność skorygowania wypłaty w związku z rozliczeniem niewłaściwej nieobecności, natomiast po jej wykonaniu, otrzymano informację o przekroczeniu rocznej podstawy składek emerytalno – rentowych)
2 Korygowanie wypłat
W celu przeprowadzenia korekty wynagrodzenia dla danej osoby w programie istnieje możliwość anulowania:- Wypłaty (zamkniętej lub zaksięgowanej);
- Nieobecności, gdy wcześniej została anulowana wypłata, w której jest rozliczona dana nieobecność;
- Zestawienia czasu pracy, gdy wcześniej została anulowana wypłata, w której jest rozliczone zestawienie.
- Wypłaty korygującej,
- Nieobecności korygującej, gdy wcześniej została anulowana wypłata korygująca, w której została rozliczona dana nieobecność.
- Zestawienie korygujące, gdy wcześniej została anulowana wypłata korygująca, w której zostało rozliczone zestawienie
2.1 Anulowanie wypłaty
Funkcja anulowania wypłaty możliwa jest do wykonania na pojedynczej, zamkniętej (kolor czarny), lub zaksięgowanej (kolor niebieski) wypłacie oraz na wypłacie korygującej (zamkniętej/zaksięgowanej). W programie nie ma seryjnego anulowania kilku wypłat.
Po wybraniu opcji Anuluj wypłatę, wypłata zostanie anulowana. Na liście wypłat będzie widniała w kolorze szarym, ze statusem ‘Anulowana’. Opcja Koryguj wypłatę spowoduje automatyczne anulowanie wypłaty oraz otworzenie okna formularza w celu utworzenia listy płac korygującej.

Po wybraniu opcji ‘Koryguj wypłatę’ pojawi się następujący komunikat:
‘Czy skorygować wypłatę? Korygowanie wiąże się z anulowaniem wypłaty. Operacji nie można odwrócić! Wypłaty anulowane nie podlegają księgowaniu’.

Po wybraniu opcji ‘Tak’ wypłata zostanie automatycznie anulowana, dodatkowo zostanie utworzona lista płac korygująca z domyślnym symbolem EKOR oraz ustawieniami skopiowanymi z listy płac, na której znajduje się anulowana wypłata.

Po zapisaniu Użytkownik zostanie przeniesiony na okno wypłaty pracowników, z domyślnie ustawioną listą płac, w celu naliczenia wypłaty korygującej.



2.2 Anulowanie i korygowanie nieobecności
Funkcja anulowania nieobecności możliwa jest do wykonania, gdy wcześniej została anulowana wypłata, w której została rozliczona dana nieobecność. Operacji dokonujemy z poziomu kalendarza rzeczywistego „Nie/obecności”, po wejściu na Listę nieobecności. Nieobecność należy podświetlić i pod prawym klawiszem myszy (menu kontekstowe) wybrać Anuluj nieobecność lub Koryguj nieobecność.

2.3 Anulowanie i korygowanie zestawień czasu pracy
Funkcja anulowania zestawień czasu pracy możliwa jest do wykonania, gdy wcześniej została anulowana wypłata, w której zostało rozliczone dane zestawienie. Operacji dokonujemy z poziomu kalendarza rzeczywistego „Nie/obecności”, po wejściu na Listę zestawień. Zestawienie należy podświetlić i pod prawym klawiszem myszy (menu kontekstowe) wybrać Anuluj zestawienie lub Koryguj zestawienie.
Akceptacja operacji ‘Anuluj zestawienie’ spowoduje, że zestawienie otrzyma status anulowanego i na liście wyświetlane będzie w kolorze szarym.
Wybranie opcji ‘Koryguj zestawienie’ spowoduje automatyczne anulowanie zestawienia w tle oraz otwarcie formularza, w celu dodania zestawienia korygującego. Zestawienie korygujące na liście będzie widniało w kolorze niebieskim.

2.4 Korygowanie innych informacji
W sytuacji, gdy korekta nie dotyczy czasu pracy pracownika, lecz na przykład: przekroczenia składek emerytalno – rentowych, kosztów uzyskania przychodu, ulgi podatkowej, kodu ubezpieczenia itp. należy dokonać aktualizacji zapisu Formularza danych kadrowych pracownika
2.5 Definiowanie listy płac korygującej
- Zaznaczamy parametr Lista płac korygująca;
2. Wybieramy Dokument. Na liście zdefiniowanych dokumentów domyślnie jest symbol ‘EKOR’. Użytkownik ma także możliwość definiowania własnych symboli. Aby utworzyć nowy symbol listy płac korygującej należy wybrać przycisk
i wzorując się na już istniejącym symbolu EKOR założyć własny symbol (można skopiować poprzez kombinację klawiszy <CTRL>+<INS>).
3.W polu Korekta do listy wskazujemy listę płac, na której pierwotnie była naliczona wypłata (to jest lista płac, na której jest wypłata o statusie „Anulowana”);
Po wybraniu opcji ‘Korekta do listy’, zostanie otworzone okno ‘Listy płac’ z wszystkimi utworzonymi listami płac w programie. Lista płac z wypłatą anulowaną będzie miała oznaczenie ‘A’ w kolumnie ‘Korekta’.

4. Data wypłaty jest zgodna z datą wypłaty z listy płac, na której została anulowana wypłata. Data jest automatycznie podpowiadana przez program.
Okres Od-Do, Rodzaj listy płac, miesiąc/rok deklaracji, opcja Miesięcy wstecz – kopiowane są zawsze z listy podstawowej wskazanej w polu Korekta do listy. Tym samym, wymienione pola na formularzu listy płac korygującej nie są dostępne do edycji.
2.6 Naliczanie wypłaty na korygującej liście płac
Gdy w oknie Wypłaty pracowników wybierzemy listę płac korygującą, to powinny pojawić się tylko osoby, dla których wcześniej anulowano wypłaty. Należy naliczyć wypłatę korygującą








Pojawi się okienko z wypłatą korygującą oraz stornującą.

Czy wpłaciłeś do urzędu skarbowego zaliczkę podatku za miesiąc, za który robisz korektę i chcesz w wypłacie korygującej naliczyć taką samą zaliczkę jak w wypłacie anulowanej?

Akceptacja powyższego komunikatu spowoduje automatyczne skopiowanie podatku z wypłaty anulowanej. Jeżeli zostanie wybrana opcja ‘Nie’, zaliczka podatku pozostanie bez zmian.
W kolejnym kroku Użytkownik otrzyma pytanie:
Czy chcesz rozliczyć różnicę w kwocie netto wynikającą z korekty? W przypadku wyboru opcji TAK w celu uzgodnienia wartości netto, do listy elementów w bieżącej wypłacie zostanie dodana Korekta netto wypłaty. Jej rozliczenie nastąpi w kolejnych wypłatach.

Wybór opcji ‘TAK’ spowoduje automatyczne zaznaczenie w wypłacie parametru ‘Ręczna korekta płatności w wypłacie’ oraz zostanie skopiowana płatność z anulowanej wypłaty, do której naliczana jest korekta. Do listy elementów wypłaty zostanie dodany element 'Korekta netto wypłaty’, rozliczenie nastąpi w kolejnych wypłatach pracownika.
2.7 Korygowanie wypłaty korygującej
W przypadku błędnie naliczonej wypłaty korygującej, istnieje możliwość anulowania wypłaty oraz ponowne naliczenie korekty. Po wybraniu listy płac korygującej w oknie Wypłaty pracowników oraz wskazaniu wypłaty (status: zamknięta lub zaksięgowana), która ma zostać anulowana, z menu kontekstowego pod prawym przyciskiem myszy należy wybrać jedną z dostępnych opcji: Anuluj wypłatę lub Koryguj wypłatę. Opis działania obu funkcji został szczegółowo opisany w punkcie 2.1 Anulowanie wypłaty.




2.8 Preliminarz płatności
W module Kasa/Bank status płatności wypłaty korygującej domyślne jest ustawiony na „Nie podlega” rozliczeniu, ponieważ w tej wypłacie zalecamy kopiowanie płatności z wypłaty anulowanej, którą pracownik już otrzymał. Mechanizm kopiowania płatności został omówiony w poprzednim podrozdziale.

- zapłaconą (z wypłaty obecnie anulowanej), w której pozostawiamy status na Nie podlega rozliczeniu;
- należną do zapłaty, którą przelejemy/wypłacimy dodatkowo pracownikowi – tutaj zmieniamy status na Nie rozliczono. Po jej zrealizowaniu (wypłaceniu) można tą płatność rozliczyć w Kasie/Banku z odpowiednim zapisem kasowo/bankowym.
2.9 Korekta deklaracji ZUS
Po naliczeniu wypłaty korygującej możemy przygotować korygującą deklarację DRA do ZUS. W tym celu należy przejść do okna Deklaracje ZUS rozliczeniowe, dodać nową deklarację i wybrać odpowiedni miesiąc/rok, za który chcemy przygotować korektę. Program automatycznie zaproponuje kolejny identyfikator np. 02/06/2023, gdzie 02 - oznacza numer kolejno naliczonej deklaracji za 06.2023. Deklarację należy przeliczyć przyciskiem

- zapłaconą, w której ustawiamy status na „Nie podlega” rozliczeniu;
- należną do zapłaty, którą przelejemy do ZUS.
2.10 Kwitek wypłaty korygującej
Po naliczeniu wypłaty korygującej można wydrukować Kwitek wypłaty korygującej, który jest dostępny z poziomu otwartego formularza listy płac korygującej. Wydruk ten zawiera zbiorcze informacje o przeprowadzonej korekcie: dane z wypłaty anulowanej, z wypłaty korygującej oraz wyliczenie różnicowe kwot.
3 Przykłady korygowania wypłat dotyczące pracownika etatowego
3.1 Zmiana wynagrodzenia za czas choroby na zasiłek opiekuńczy za poprzednie lata
Pracodawca w poprzednim roku podatkowym, np. 12.2022, za który pracownik już się rozliczył, wypłacił pracownikowi wynagrodzenie chorobowe zamiast zasiłku. Wynagrodzenie za czas choroby podlegało składce zdrowotnej, zasiłek chorobowy nie podlega. W tej sytuacji pracownik ma nadpłatę składki zdrowotnej . W bieżącym roku pracodawca powinien zwrócić pracownikowi pełną składkę na ubezpieczenie zdrowotne.L.p. | Opis pozycji | Wypłata 12.2022 (anulowana) |
Wypłata 12.2022 (korygująca) |
Różnica (wypł. anul.– koryg.) |
---|---|---|---|---|
1 | Wynagrodzenie zasadnicze | 5000,00 | 5000,00 | |
2 | Wynagrodzenie za czas choroby zostaje zmieniony na zasiłek opiekuńczy |
Wynagr.chorob. (80%) 690,30 |
Zasiłek opiekuńczy (80%) 690,30 |
|
3 | Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1) | 5000 | 5000 | |
4 | Składki społeczne finansowane przez pracownika (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%) |
685,50 | 685,50 | |
5 | Podstawa składki zdrowotnej (poz.3-poz.4) + wynagrodzenie chorobowe |
5004,80 | 4314,50 | |
6 | Składka zdrowotna pobrana (poz.5x9%) |
450,43 | 388,31 | 62,12 (nadpłata) |
7 | Koszty uzyskania przychodu | 250,00 | 250,00 | |
8 | Ulga podatkowa | 300 | 300 | |
9 | Podstawa opodatkowania po zaokrągleniu (poz.1+poz.2-poz.4-poz.7) | 4754,80 | 4754,80 | |
10 | Naliczona zaliczka podatku (poz.9 *12% - poz.8) |
270,60 | 270,60 | |
11 | Zaliczka podatku do U.S. po zaokrągleniu |
271,00 | 271,00 przed skopiowaniem podatku | |
12 | Do wypłaty (poz.1+poz.2-poz.4-poz.6–poz.141 |
2132,18 | 2136,25 przed skopiowaniem płatności | - 62,12(niedopłata) |
Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności) |
||||
13 | Zaliczka podatku do US skopiowana z wypłaty anulowanej |
271,00 | ||
14 | Płatność do wypłaty skopiowana z wypłaty anulowanej |
4283,37 | ||
15 | Korekta netto wypłaty | -62,12 | (nadpłata składki zdrowotnej pobranej) |
3.2 Zmiana wynagrodzenia za czas choroby na zasiłek chorobowy z ubezpieczenia wypadkowego w bieżącym roku podatkowym
W bieżącym roku podatkowym (np. w lutym br.) pracownikowi wypłacono wynagrodzenie chorobowe (80%) zamiast zasiłku chorobowego z ubezpieczenia wypadkowego (100%). Wynagrodzenie za czas choroby podlegało składce zdrowotnej, zasiłek wypadkowy nie podlega. W tej sytuacji pracownik ma nadpłatę składki zdrowotnej i niedopłatę podatku.- Wynagrodzenie zasadnicze w wys. 3000 zł (6000 zł – 6000 zł*15/30 = 6000 zł – 3000 zł = 3000 zł
- Wynagrodzenie za czas choroby w wys, 2070,90 (80%)
L.p. | Opis pozycji | Wypłata w marcu br. (anulowana) |
Wypłata w marcu br. (korygująca) |
Różnica (wypł. anulowana– koryg.) |
---|---|---|---|---|
1 | Wynagrodzenie zasadnicze | 3000 | 3000 | |
2 | Wynagrodzenie za czas choroby zostaje zmienione na zasiłek chorobowy/wyp. | 2070,90 | Należna wartość zasiłku wyp. (100%) 2588,70 która zostaje zmniejszona do kwoty 80% 2070,90 |
Niedopłata 20% -517,80((2070,90 – 2588,70) zostanie wypłacona jako Wyrównanie zasiłku chorobowego z ubezp. wyp. w bieżącej wypłacie |
3 | Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1) | 3000 | 3000 | |
4 | Składki społeczne finansowane przez pracownika (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%) |
411.30 | 411.30 | |
5 | Podstawa skł. zdrowotnej (poz.3-poz.4) + wynagrodzenie chorobowe |
4659,60 | 2588,70 | |
6 | Składka zdrowotna pobrana (poz.5x9%) |
419,36 | 232,98 | 186,38(nadpłata) |
7 | Koszty uzyskania przychodu | 250,00 | 250,00 | |
8 | Ulga podatkowa | 300,00 | 300,00 | |
9 | Podstawa opodatkowania po zaokrągleniu (poz.1+poz.2-poz.4-poz.7) |
4409,60 | 4409,60 | |
10 | Naliczona zaliczka podatku (poz.9*12% -poz.8) |
229,20 | 229,20 | |
11 | Zaliczka podatku do U.S. po zaokrągleniu |
229,00 | 229,00 przed skopiowaniem podatku | |
12 | Do wypłaty (poz.1+poz.2-poz.4-poz.6–poz.11) |
4011,24 | 4197,62 przed skopiowaniem płatności | -186,38 (niedopłata) |
Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności) |
||||
13 | Zaliczka podatku do US skopiowana z wypłaty anulowanej |
229 | ||
14 | Płatność do wypłaty skopiowana z wypłaty anulowanej |
4011,24 | ||
15 | Korekta netto wypłaty | -186,38 | (nadpłata składki zdrowotnej pobranej) |
L.p. | Opis pozycji | Wypłata bieżąca |
---|---|---|
1 | Wynagrodzenie zasadnicze | 6000 |
2 | Spłata korekty netto wypłaty (nieopodatkowany) |
186,38 1) |
3 | Wyrównanie zasiłku chorobowego z ubezp.wyp. (opodatkowany) | 517,80 2) |
4 | Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1) | 6000,00 |
5 | Składki społeczne finansowane przez pracownika (poz.4x9,76% + poz.4x1,5% + poz.4x2,45%) | 822,60 |
6 | Podstawa skł. zdrowotnej (poz.4-poz.5) | 5177,40 |
7 | Składka zdrowotna pobrana (poz.6x9%) | 465,97 |
8 | Koszty uzyskania przychodu | 250,00 |
9 | Ulga podatkowa | 300 |
10 | Podstawa opodatkowania (poz.1+poz.3-poz.5-poz.8) | 5445,20 |
11 | Naliczona zaliczka podatku (poz.10*12% - poz.9) | 353,40 |
15 | Zaliczka podatku do U.S. po zaokrągleniu | 353,00 |
16 | Do wypłaty (poz.1+poz.2+poz.3-poz.5-poz.7-poz.12) | 5062,61 |
3.3 Zmiana zasiłku chorobowego na wynagrodzenie chorobowe za poprzednie lata
W minionym roku podatkowym, za który pracownik się rozliczył, pracodawca musi dokonać korekty, ponieważ został wypłacony zasiłek chorobowy zamiast wynagrodzenia chorobowego. Od zasiłku prawidłowo nie zostały odprowadzone ani składki społeczne, ani zdrowotna. Od wynagrodzenia za czas choroby powinna być odprowadzona składka zdrowotna – w tej sytuacji dla pracownika wystąpiła niedopłata składki zdrowotnej /- Wynagrodzenie zasadnicze w wys.4000 zł (6000 zł – 6000 żł * 10/30 = 6000 zł – 2000 zł = 4000 zł)
- Zasiłek chorobowy/wyp za 10 dni w wys. 1725,80 zł (100%),
L.p. | Opis pozycji | Wypłata 8.2020 (anulowana) |
Wypłata 8.2020 (korygująca) |
Różnica (wypł. anul.– koryg.) |
---|---|---|---|---|
1 | Wynagrodzenie zasadnicze | 4000,00 | 4000,00 | |
2 | Zasiłek chorobowy/wyp zostaje zmieniony na Wynagrodzenie za czas choroby | Zasiłek chor/wyp. (100%) 1725,80 |
Wynagr. chorobowe. (100%) 1725,80 |
|
3 | Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1) | 4000,00 | 4000,00 | |
4 | Składki społeczne finansowane przez pracownika (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%) |
548,40 | 548,40 | |
5 | Podstawa składki zdrowotnej (poz.3-poz.4) + wynagr. chorobowe |
3451,60 | 5177,40 | |
6 | Składka zdrowotna (poz.5x9%) |
310,64 | 465,97 | -155,33 (niedopłata) |
7 | Koszty uzyskania przychodu | 250,00 | 250,00 | |
8 | Ulga podatkowa | 300,00 | 300,00 | |
9 | Podstawa opodatkowania (poz.1+poz.2-poz.4-poz.7) |
4927,40 | 4927,40 | |
10 | Naliczona zaliczka podatku (poz.9 *12% - poz.8) | 291,24 | 291,24 | |
11 | Zaliczka podatku do U.S. po zaokrągleniu | 291,00 | 291,00 przed skopiowaniem podatku | |
12 | Do wypłaty (poz.1+poz.2-poz.4-poz.6–poz.11) |
4575,76 | 4420,43przed skopiowaniem płatności | 155,33(nadpłata) |
Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności) |
||||
13 | Zaliczka podatkowa do US skopiowana z wypłaty anulowanej | 291,00 | ||
14 | Płatność do wypłaty skopiowana z wypłaty anulowanej | 4575,76 | ||
15 | Korekta netto wypłaty | 155,33 |
L.p. | Opis pozycji | Wypłata bieżąca |
---|---|---|
1 | Wynagrodzenie zasadnicze | 6000,00 |
2 | Spłata korekty netto wypłaty (nieopodatkowany) | -155,33 1) |
3 | Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1) |
6000,00 |
4 | Składki społeczne finansowane przez pracownika (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%) |
822,60 |
5 | Podstawa składki zdrowotnej (poz.3-poz.4) | 5177,40 |
6 | Składka zdrowotna pobrana (poz.5x9%) | 465,97 |
7 | Koszty uzyskania przychodu | 250,00 |
8 | Ulga podatkowa | 300,00 |
9 | Podstawa opodatkowania po zaokrągleniu (poz.1-poz.4-poz.7) |
4927,40 |
10 | Naliczona zaliczka podatku(poz.9 *12% - poz.9) | 291,24 |
11 | Zaliczka podatku do U.S. po zaokrągleniu | 291,00 |
12 | Do wypłaty (poz.1+poz.2-poz.4-poz.6-poz.11) |
4265,10 |
3.4 Zmiana zasiłku opiekuńczego na wynagrodzenie chorobowe w bieżącym roku podatkowym
W bieżącym roku podatkowym pracodawca wypłacił pracownikowi zasiłek opiekuńczy zamiast wynagrodzenia za czas choroby. W tym przypadku pracownik ma niedopłatę składki zdrowotnej .W bieżącej wypłacie pracownikowi zostanie potrącona zaległa składka zdrowotna .- Wynagrodzenie zasadnicze w wys. 5600 zł (6000 zł – 6000zł * 2/30 = 6000 zł – 400 zł = 5600 zł
- Zasiłek opiekuńczy za 2 dni w wys. 276,12 (80%),
L.p. | Opis pozycji | Wypłata 9.2017 (anulowana) |
Wypłata 9.2017 (korygująca) |
Różnica (wypł. anul.– koryg.) |
---|---|---|---|---|
1 | Wynagrodzenie zasadnicze | 5600,00 | 5600,00 | |
2 | Zasiłek chorobowy/wyp zostaje zmieniony na Wynagrodzenie za czas choroby | Zasiłek opiekuńczy (80%) 276,12 |
Wynagr. chorobowe (80%) 276,12 |
|
3 | Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1) | 5600,00 | 5600,00 | |
4 | Składki społeczne finansowane przez pracownika (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%) |
767,76 | 767,76 | |
5 | Podstawa składki zdrowotnej (poz.3-poz.4) + wynagr. chorobowe |
4832,24 | 4832,24 | |
6 | Składka zdrowotna pobrana (poz.5x9%) |
434,90 | 434,90 | -24,85 (niedopłata) |
7 | Koszty uzyskania przychodu | 250,00 | 250,00 | |
8 | Ulga podatkowa | 300,00 | 300,00 | |
9 | Podstawa opodatkowania po (poz.1+poz.2-poz.4-poz.7) |
4858,36 | 4858,36 | |
10 | Naliczona zaliczka podatku (poz.9 *12% - poz.8) | 282,96 | 282,96 | |
11 | Zaliczka podatku do U.S. po zaokrągleniu | 283,00 | 283,00 przed skopiowaniem podatku | |
12 | Do wypłaty (poz.1+poz.2-poz.4-poz.6–poz.11) |
4390,46 | 4 365,61 przed skopiowaniem płatności | 24,85(nadpłata) |
Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności) |
||||
13 | Zaliczka podatkowa do US skopiowana z wypłaty anulowanej | 283,00 | ||
14 | Płatność do wypłaty skopiowana z wypłaty anulowanej | 4390,46 | ||
15 | Korekta netto wypłaty | 24,85 | (niedopłata skł. zdrow. pobranej |
L.p. | Opis pozycji | Wypłata bieżąca |
---|---|---|
1 | Wynagrodzenie zasadnicze | 6000,00 |
2 | Spłata korekty netto wypłaty (nieopodatkowany) | -24,85 1) |
3 | Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1) |
6 000,00 |
4 | Składki społeczne finansowane przez pracownika (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%) |
822,60 |
5 | Podstawa składki zdrowotnej (poz.3-poz.4) | 5 177,40 |
6 | Składka zdrowotna pobrana (poz.5x9%) | 465,97 |
7 | Koszty uzyskania przychodu | 250 |
8 | Ulga podatkowa | 300,00 |
9 | Podstawa opodatkowania po zaokrągleniu (poz.1-poz.4-poz.7) |
4 927,40 |
10 | Naliczona zaliczka podatku(poz.9 *12% - poz.8) | 291,24 |
11 | Zaliczka podatku do U.S. po zaokrągleniu | 291,00 |
12 | Do wypłaty (poz.1+poz.2-poz.4-poz.6-poz.11) |
4 395,58 |
3.5 Zmiana wynagrodzenia za czas urlopu na wynagrodzenie chorobowe w bieżącym roku podatkowym
W bieżącym roku podatkowym pracownik przebywając na urlopie wypoczynkowym zachorował i po naliczeniu wypłat poinformował pracodawcę o otrzymanym zwolnieniu lekarskim.
Pracownik otrzymał za wysoki przychód, ponieważ za czas chorobowy otrzymuje wynagrodzenie w wys. 80%. Dodatkowo ma nadpłatę składek społecznych.
L.p. | Opis pozycji | Wypłata w czerwcu br. (anulowana) | Wypłata w czerwcu br. (korygującą) |
Różnica (wypł. anul.– koryg.) |
---|---|---|---|---|
1 | Wynagrodzenie zasadnicze | 4000,00 | 4 171,43 | |
2 | Wynagrodzenie za czas urlopu | 2000,00 | 1 428,57 | |
3 | Wynagrodzenie za czas choroby | brak | 276,12 | |
4 | Przychód (poz.1+poz.2+poz.3) |
6000,00 | 5 876,12 | 123,88 (nadpłata) |
5 | Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1+poz.2) |
6 000,00 | 5 600,00 | |
6 | Składki społeczne finansowane przez pracownika (poz.5x9,76% + poz.5x1,5% + poz.5x2,45%) |
822,60 | 767,76 | 54,84 (nadpłata) |
7 | Podstawa składki zdrowotnej (poz.5 - poz.6) + poz. 3 (wyn.chorob.) |
5 177,40 | 5 108,36 | |
8 | Składka zdrowotna pobrana (poz.7x9%) |
465,97 | 459,75 | 6,22 (nadpłata) |
9 | KUP | 250,00 | 250,00 | |
10 | Ulga podatkowa | 300 | 300 | |
11 | Podstawa opodatkowania (poz.4 -poz.6-poz.9) |
4 927,40 | 4 858,36 | |
12 | Naliczona zaliczka podatku(poz.11*12% -poz.10) | 291,24 | 282,96 | |
13 | Zaliczka podatku do U.S. po zaokrągleniu | 291,00 | 283,00 bez kopiowania zaliczki podatku | 8,00 (nadpłata) |
14 | Do wypłaty (poz.4-poz.6-poz.8–poz.13) | 4 420,43 | 4 365,61 | 54,82 (nadpłata) |
Formularz wypłaty korygującej (po skopiowaniu kwot płatności) |
||||
15 | Płatność do wypłaty skopiowana z wypłaty anulowanej | 4 420,43 | ||
16 | Korekta netto wypłaty | 54,82 | (nadpłata kwoty do wypłaty) |
L.p. | Opis pozycji | Wypłata bieżąca |
---|---|---|
1 | Wynagrodzenie zasadnicze | 6 000,00 |
2 | Spłata korekty netto wypłaty (nieopodatkowany) | -54,82 1) |
3 | Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1) |
6 000,00 |
4 | Składki społeczne finansowane przez pracownika (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%) |
822,60 |
5 | Podstawa składki zdrowotnej (poz.3-poz.4) | 5 177,40 |
6 | Składka zdrowotna pobrana (poz.5x9%) | 465,97 |
7 | Koszty uzyskania przychodu | 250 |
8 | Ulga podatkowa | 300 |
9 | Podstawa opodatkowania po zaokrągleniu (poz.1-poz.4-poz.7) |
4 927,40 |
10 | Naliczona zaliczka podatku(poz.9 *12% - poz.7) | 291,00 |
11 | Zaliczka podatku do U.S. po zaokrągleniu | 291,00 |
12 | Do wypłaty (poz.1+poz.2-poz.4-poz.6-poz.11) |
4 365,61 |
3.6 Świadczenie rehabilitacyjne przyznane przez ZUS z opóźnieniem (zmiana nieobecności usprawiedliwionej na urlop rehabilitacyjny) w bieżącym roku podatkowym
Po wyczerpaniu okresu zasiłkowego pracownik nie może dłużej przebywać na zwolnieniu lekarskim. Jeśli dalsze leczenie lub rehabilitacja rokuje na odzyskanie zdolności do pracy, wówczas można wystąpić o świadczenie rehabilitacyjne. W praktyce decyzja o jego przyznaniu jest dostarczana często z opóźnieniem. W takiej sytuacji należy skorygować wykazaną wcześniej nieobecność usprawiedliwioną (RSA 151) na urlop rehabilitacyjny (RSA 321) od dnia przyznania świadczenia.
3.7 Przekroczenie rocznej podstawy wymiaru składek na ubezpieczenie emerytalno-rentowe za poprzednie lata
W wyniku przekroczenia rocznej podstawy wymiaru składek na ubezpieczenie emerytalno-rentowe mamy do czynienia z nadpłatą składek społecznych, niedopłatą składki zdrowotnej oraz niedopłatą zaliczki podatku. Jeżeli przekroczenie rocznej podstawy wymiaru składek na ubezpieczenie emerytalno-rentowe pracownika nastąpiło w poprzednim roku podatkowym, za który pracownik już się rozliczył z US, to dokonując korekty w bieżącym miesiącu pracodawca powinien wypłacić pracownikowi nadpłatę składek społecznych jako element opodatkowany (zwiększyć przychód, który należy opodatkować). Dodatkowo powinien potrącić z wypłaty pracownika niedopłatę składki zdrowotnej (pobranej).
L.p. | Opis pozycji | Wypłata 12.2022 (anulowana) |
Wypłata 12.2022(korygująca) | Różnica (wypł. anul.– koryg.) |
---|---|---|---|---|
1 | Wynagrodzenie zasadnicze | 10000,00 | 10000,00 | |
2 | Podstawa składek emerytalnej i rentowej | 10000,00 | 5000,00 | 5000,00 |
3 | Składka emerytalna (poz.2 x 9,76%) | 976,00 | 488,00 | 488,00 |
4 | Składka rentowa (poz.2 x 1,5%) | 150,00 | 75,00 | 75,00 |
5 | Podstawa składek chorobowej i wypadkowej | 10000,00 | 10000,00 | |
6 | Składka chorobowa (poz.5 x 2,45%) | 245,00 | 245,00 | |
7 | Składki ZUS pracownika (poz.3+poz.4+poz.6) | 1371,00 | 808,00 | 563,00 1) (nadpłata) |
8 | Podstawa zdrow. (poz.1-poz.7) | 8629,00 | 9192,00 | -563,00 |
9 | Składka zdrowotna pobrana (poz.8x9%) | 776,61 | 827,28 | -50,67 (niedopłata) |
10 | KUP | 250,00 | 250,00 | |
11 | Ulga podatkowa | 300 | 300 | |
12 | Podstawa opodatkowania (poz.1-poz.7-poz.10) |
8379,00 | 8942,00 | |
13 | Naliczona zaliczka podatku (poz.12 *12% - poz.11) | 705,48 | 773,04 | |
14 | Zaliczka podatku do U.S. po zaokrągleniu | 705,00 | 773,00 przed skopiowaniem podatku | -68,00 3) (niedopłata) |
15 | Do wypłaty (poz.1-poz.7-poz.9-poz.14) |
7 147,39 | 7 591,72przed skopiowaniem płatności | -444,33 |
Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności) |
||||
16 | Zaliczka podatkowa do US skopiowana z wypłaty anulowanej | 705,00 | ||
17 | Płatność do wypłaty skopiowana z wypłaty anulowanej | 7 147,39 | ||
18 | Korekta netto wypłaty | -512,33 | (nadpłata skł. ZUS 563,00 – niedopłata skł. zdrow. 50,67) |
1) Kwota zwrotu składek emerytalnej i rentowej, która powinna zostać opodatkowana i wykazana w przychodzie deklaracji PIT-11 za bieżący rok.
3) Kwota niedopłaty podatku w wys. -68,00 zł wynika z braku opodatkowania nadpłaty składek ER czyli czyli: 563 zł (nadpłata składek ER) *12% = 67,56, po zaokrągleniu 68,00 zł W bieżącej wypłacie etatowej automatycznie pojawi się Spłata korekty netto wypłaty w wys. 512,33 zł jako różnica między nadpłatą składek ER (563,00 zł) i niedopłaty składki zdrowotnej pobranej (50,67 zł). Jest to element nieopodatkowany, który wyrównuje tylko kwotę netto (płatność) dla pracownika. Natomiast kwota zwrotu składek ER w pełnej wysokości (563,00 zł) powinna zostać wykazana jako przychód w bieżącym roku podatkowym, który należy opodatkować. W tym celu zalecamy zdefiniowanie nowego typu wypłaty (z poziomu Konfiguracja firmy / Płace / Typy wypłat) o nazwie np. „Zwrot składek ER” i proponujemy ustawić odpowiednio pola: Na zakładce [Ogólne]:- Rodzaj - dodatek
- Algorytm - 1 – kwota
- Automatycznie korygować wynagrodzenie z tytułu - niezaznaczone
- Pozycja na deklaracji - PIT-4 1. Wynagrodzenie ze stosunku pracy
- Podatek - naliczać wg progów
- Zawsze naliczaj ulgę podatkowa [v] – zaznaczone
- Sposób naliczania koszty uzyskania – standardowe (lub nie naliczać)
- Sposób naliczania składek ZUS i składki zdrowotnej – nie naliczać
- Wliczać do podstawy naliczania: wszystkie pozycje – nie wliczać
- Wpływa na kwotę do wypłaty [ ] – niezaznaczone, co oznacza, że kwota tego elementu nie będzie wypłacana (pracownik otrzymuje do wypłaty zwrot kwoty nadpłaty składek ER pomniejszony o niedopłatę składki zdrowotnej w elemencie Spłata korekty netto wypłaty), natomiast zaliczka podatku policzona od tego elementu będzie pomniejszała całkowitą kwotę do wypłaty.
L.p. | Opis pozycji | Wypłata bieżąca | Korekta ręczna podatku i ubezpieczeń |
---|---|---|---|
1 | Wynagrodzenie zasadnicze | 10000,00 | |
2 | Spłata korekty netto wypłaty (nieopodatkowany) | 512,33 1) | |
3 | Zwrot składek ER (opodatkowany) | 563,00 2) | |
4 | Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1) |
10000,00 | |
5 | Składki społeczne finansowane przez pracownika (poz.4x 9,76% + poz.4x 1,5% + poz.4x 2,45%) |
1 371,00 | |
6 | Podstawa składki zdrowotnej (poz.4-poz.5) | 8 629,00 | |
7 | Składka zdrowotna (poz.6 x 9%) | 776,61 | 827,28 zwiększona o +50,67 (776,61 + 50,67) |
8 | Koszty uzyskania przychodu | 250,00 | |
9 | Ulga podatkowa | 300 | |
10 | Podstawa opodatkowania po zaokrągleniu (poz.1+ poz.3-poz.5-poz.8) |
8942,00 | |
11 | Naliczona zaliczka podatku (poz.10*12%-poz.9) |
773,00 | |
12 | Zaliczka podatku do U.S. po zaokrągleniu | 773,00 3) | 841,00 4) zwiększona o +68,00 (841,00 +68,00) |
13 | Do wypłaty (poz.1+poz.2-poz.5-poz.7-poz.12) |
7 591,72 | 7 473,05 |
1) Wypłacenie elementu nieopodatkowanego, wpływającego na płatność pracownika, jako zwrot nadpłaty składek ER pomniejszonej o niedopłatę składki zdrowotnej.
2) Dodatnie nadpłaty składek ER w celu zwiększenia tegorocznego przychodu i podstawy opodatkowania.
3) W przypadku niedopłaty zaliczki podatku oraz braku ręcznego skorygowania w bieżącej wypłacie, Płatnik może również pisemnie poinformować pracownika o niedopłacie i konieczności rozliczenia już w zeznaniu rocznym.
- Przychód będzie powiększony o kwotę zwrotu nadpłaconych składek społecznych w wysokości 563,00 zł.
- Zaliczka podatku będzie powiększona o 68,00 zł, która wynika z opodatkowania zwrotu składek 563,00 zł * 12% = 52,08 563,00 *12% = 67,56 po zaokrągleniu 68,00
3.8 Przekroczenie rocznej podstawy wymiaru składek na ubezpieczenie emerytalno-rentowe w bieżącym roku podatkowym
W sytuacji przekroczenia rocznej podstawy wymiaru składek na ubezpieczenie emerytalno-rentowe występuje nadpłata składek społecznych, niedopłata składki zdrowotnej oraz niedopłata zaliczki podatku. Jeżeli przekroczenie rocznej podstawy wymiaru składek na ubezpieczenie emerytalno-rentowe pracownika nastąpiło w bieżącym roku podatkowym, za który pracownik nie rozliczył się, to dokonując korekty w bieżącym miesiącu nie dodajemy elementu opodatkowanego jako zwrotu składek ER (nie zwiększamy przychodu, ponieważ w bieżącym roku przychód jest prawidłowy, tylko niepoprawnie zostały od niego naliczone składki ZUS). Pracownikowi zwracamy w kwocie netto różnicę między nadpłatą składek ER i niedopłata składki zdrowotnej (pobranej) oraz zwiększamy zaliczkę podatku, aby w zeznaniu rocznym pracownik nie miał niedopłaty.
L.p. | Opis pozycji | Wypłata za marzec br. (anulowana) | Wypłata za marzec br. (korygująca) | Różnica (wypł. anul.– koryg.) |
---|---|---|---|---|
1 | Wynagrodzenie zasadnicze | 8 000,00 | 8 000,00 | |
2 | Podstawa składek emerytalnej i rentowej | 8 000,00 | 2 000,00 | 6 000,00 |
3 | Składka emerytalna (poz.2 x 9,76%) | 780,80 | 195,20 | 585,60 |
4 | Składka rentowa (poz.2 x 1,5%) | 120,00 | 30,00 | 90,00 |
5 | Podstawa składek chorobowej i wypadkowej | 8 000,00 | 8 000,00 | |
6 | Składka chorobowa (poz.5 x 2,45%) | 196,00 | 196,00 | |
7 | Składki ZUS pracownika (poz.3+poz.4+poz.6) | 1 096,80 | 421,20 | 675,60 1) (nadpłata) |
8 | Podstawa zdrow. (poz.1-poz.7) | 6 903,20 | 7 578,80 | -675,60 |
9 | Składka zdrowotna (poz.8x9%) | 621,29 | 682,09 | -60,80 (niedopłata) |
10 | KUP | 250,00 | 250,00 | |
11 | Ulga podatkowa | 150,00 | 150,00 | |
12 | Podstawa opodatkowania (poz.1-poz.7-poz.10) |
~6653 | ~7329 | |
13 | Naliczona zaliczka podatku (poz.12 *12% - poz.11) | 648,36 | 729,48 | |
14 | Zaliczka podatku do U.S. po zaokrągleniu | 648,00 | 729,00 przed skopiowaniem podatku | -81,00 2) (niedopłata) |
15 | Do wypłaty (poz.1-poz.7-poz.9-poz.14) |
5 633,91 | 6 167,71 przed skopiowaniem płatności | -533,80 |
Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności) |
||||
16 | Zaliczka podatkowa do US skopiowana z wypłaty anulowanej | 648,00 | ||
17 | Płatność do wypłaty skopiowana z wypłaty anulowanej | 5 633,91 | ||
18 | Korekta netto wypłaty | -614,80 | (nadpłata skł. ZUS 675,60 – niedopłata skł. zdrow. 60,80) |
L.p. | Opis pozycji | Wypłata bieżąca | Korekta podatku i ubezpieczeń |
---|---|---|---|
1 | Wynagrodzenie zasadnicze | 8000,00 | |
2 | Spłata korekty netto wypłaty (nieopodatkowany) | 614,80 1) | |
3 | Podstawa składek emerytalnej i rentowej | 0,00 | |
4 | Składka emerytalna (poz.3 x 9,76%) | 0,00 | |
5 | Składka rentowa (poz.3 x 1,5%) | 0,00 | |
6 | Podstawa składek chorobowej i wypadkowej | 8000,00 | |
7 | Składka chorobowa (poz.6 x 2,45%) | 196,00 | |
8 | Składki ZUS pracownika (poz.4+poz.5+poz.7) | 196,00 | |
9 | Podstawa składki zdrowotnej (poz.6-poz.8) | 7804,00 | |
10 | Składka zdrowotna (poz.9 x 9%) | 702,36 | |
11 | Koszty uzyskania przychodu | 250,00 | |
12 | Ulga podatkowa | 150,00 | |
13 | Podstawa opodatkowania po zaokrągleniu (poz.1- poz.8-poz.11) |
7554,00 | |
14 | Naliczona zaliczka podatku(poz.13*12%-poz.12) | 756,48 | |
15 | Zaliczka podatku do U.S. po zaokrągleniu | 756,00 | 837,00 2) zwiększona o +81,00 (756,00 + 81,00) |
16 | Do wypłaty (poz.1+poz.2-poz.8-poz.10-poz.15) |
6 960,44 | 6 879,44 |
2) Po zaznaczeniu pola „Korekta podatku i ubezpieczeń” wpisujemy ręcznie wyliczoną i zaokrąglona kwotę zaliczki podatku do US. Pracownik nie będzie miał w zeznaniu rocznym niedopłaty podatku.
W deklaracji PIT-11 za bieżący rok:- Nie trzeba zwiększać przychodu na deklaracji o kwotę zwrotu nadpłaconych składek społecznych w wysokości 675,60 zł, ponieważ przychód ten był prawidłowy, tylko od niego były niepoprawnie naliczone składki ZUS.
- Składki społeczne i składka zdrowotna będą wykazane prawidłowe z wypłaty korygującej.
- Zaliczka podatku będzie wykazana prawidłowa, została powiększona o 81,00 zł w wypłacie bieżącej (w miesiącu, w którym było rozliczenie korekty z pracownikiem). Wynika ona z opodatkowania zwrotu składek (675,60 zł), czyli 676 *12% = 81,12 po zaokrągleniu 81,00 zł.
3.9 Przekroczenie rocznej podstawy wymiaru składek na ubezpieczenie emerytalno-rentowe za poprzednie lata dla byłego pracownika
W wyniku przekroczenia rocznej podstawy wymiaru składek na ubezpieczenie emerytalno-rentowe mamy do czynienia z nadpłatą składek społecznych, niedopłatą składki zdrowotnej oraz niedopłatą zaliczki podatku. W miesiącu, w którym kwota nadpłaty składek zostanie wypłacona (postawiona do dyspozycji) byłemu pracownikowi, pracodawca powinien pobrać od niej zaliczkę na podatek dochodowy, stosownie do postanowień art. 32 ustawy o pdof, czyli w wysokości 12% dochodu. Za dochód przyjmuje się „pełną” kwotę nadpłaty składek na ubezpieczenia emerytalne i rentowe (niepomniejszoną o niedopłacone składki na ubezpieczenia zdrowotne), po ewentualnym odliczeniu podstawowych kosztów uzyskania przychodów (250,00 zł).
L.p. | Opis pozycji | Wypłata 12.2022 (anulowana) |
Wypłata 12.20202(korygująca) | Różnica (wypł. anul.– koryg.) |
---|---|---|---|---|
1 | Wynagrodzenie zasadnicze | 8 000,00 | 8 000,00 | |
2 | Podstawa składek emerytalnej i rentowej | 8 000,00 | 3 000,00 | 5 000,00 |
3 | Składka emerytalna (poz.2 x 9,76%) | 780,80 | 292,80 | 488,00 |
4 | Składka rentowa (poz.2 x 1,5%) | 120,00 | 45,00 | 75,00 |
5 | Podstawa składek chorobowej i wypadkowej | 8 000,00 | 8 000,00 | |
6 | Składka chorobowa (poz.5 x 2,45%) | 196,00 | 196,00 | |
7 | Składki ZUS pracownika (poz.3+poz.4+poz.6) | 1 096,80 | 533,80 | 563,00 1) (nadpłata) |
8 | Podstawa zdrow. (poz.1-poz.7) | 6 903,20 | 7 466,20 | -563,00 |
9 | Składka zdrowotna (poz.8x9%) | 621,29 | 671,96 | -50,67 (niedopłata) |
10 | KUP | 250,00 | 250,00 | |
11 | Ulga podatkowa | 300 | 300 | |
12 | Podstawa opodatkowania (poz.1-poz.7-poz.10) |
~6 653 | ~7 216 | |
13 | Naliczona zaliczka podatku (poz.12*12%-poz.11) | 498,36 | 565,92 | |
14 | Zaliczka podatku do U.S. po zaokrągleniu | 498,00 | 566,0000 przed skopiowaniem podatku | -68,00 (niedopłata) 2) |
15 | Do wypłaty (poz.1-poz.7-poz.9-poz.14) |
5 783,91 | 6 228,24 przed skopiowaniem płatności | -444,33 |
Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności) |
||||
16 | Zaliczka podatkowa do US skopiowana z wypłaty anulowanej | 498,00 | ||
17 | Płatność do wypłaty skopiowana z wypłaty anulowanej | 5 783,91 | ||
18 | Korekta netto wypłaty (nowy element nieopodatkowany) | -512,33 | (nadpłata skł. ZUS 563,00 – niedopłata skł. zdrow. 50,67) |
1) Kwota zwrotu składek ER, która powinna zostać opodatkowana i wykazana w przychodzie na PIT za bieżący rok.
2) Kwota niedopłaty podatku w wys. 68,00 zł wynika z braku opodatkowania nadpłaty składek ER czyli: 563,00 zł * 12% = 67,56, po zaokrągleniu 68,00 zł. Kwota zwrotu składek ER (563,00 zł) powinna być wykazana jako przychód ze stosunku pracy, od którego można odliczyć standardowe KUP (250,00 zł) oraz naliczyć 12% podatek. W tym celu zalecamy dodanie nowego typu wypłaty (z poziomu Konfiguracja firmy / Płace / Typy wypłat) o nazwie np. „Zwrot składek ER” i proponujemy ustawienie pól: Na zakładce [Ogólne]:- Rodzaj - Dodatek
- Algorytm 1 – kwota
- Automatycznie korygować wynagrodzenie z tytułu – niezaznaczone
- Pozycja na deklaracji: PIT-4 1. Wynagrodzenie ze stosunku pracy
- Podatek - naliczać wg progów
- Zawsze naliczaj ulgę podatkowa [ ] – niezaznaczone
- Sposób naliczania koszty uzyskania – standardowe (lub nie naliczać)
- Sposób naliczania składek ZUS i składki zdrowotnej – nie naliczać
- Wliczać do podstawy naliczania: wszystkie pozycje – nie wliczać
- Wpływa na kwotę do wypłaty [ ] – niezaznaczone, co oznacza, że kwota tego elementu nie będzie wypłacana, ponieważ pracownik otrzymuje do wypłaty zwrot kwoty nadpłaty składek ER pomniejszony o niedopłatę składki zdrowotnej w elemencie Spłata korekty netto wypłaty. Natomiast zaliczka podatku policzona od elementu Zwrot składek ER będzie pomniejszała kwotę do wypłaty.
L.p. | Opis pozycji | Wypłata bieżąca | Korekta podatku I ubezpieczeń |
---|---|---|---|
1 | Spłata korekty netto wypłaty (nieopodatkowany) | 512,33 1) | |
2 | Zwrot składek ER (opodatkowany) | 563,00 2) | |
3 | Koszty uzyskania przychodu | 250,00 | |
4 | Podstawa opodatkowania po zaokrągleniu (poz.2-poz.3) |
313,00 | |
5 | Zaliczka podatku przed odjęciem składki zdrowotnej (poz.4*12%) |
37,56 | |
6 | Zaliczka podatku do U.S. po zaokrągleniu | 38,00 3) | 106,00 Zwiększona o +68,00 (38,00 + 68,00) |
7 | Do wypłaty (poz.1-poz.6) |
474,33 | 406,33 |
- Przychód ze stosunku pracy w wys. 563,00 zł
- Koszty uzyskania przychodu w wys. 250,00 zł
- Zaliczka podatku w wys. 106,00 zł
3.10 Korygowanie wypłaty korygującej
Zdarzają się sytuację, które wymuszają na Użytkowniku ponowne naliczenie wypłaty korygującej, do wcześniej już wykonanej korekty. Wynika, to w dużej mierze z opóźnieniem w dostarczaniu decyzji dotyczących, np. przekroczenia przez pracownika rocznej podstawy składek emerytalno – rentowych. W takich przypadkach, dla wcześniej już skorygowanej wypłaty konieczna jest jej ponowna korekta.- Wynagrodzenie zasadnicze – 5000 zł(6000 zł – 6000 zł * 5/30 = 6000 zł – 1000 zł = 5000 zł)
- Wynagrodzenie za czas choroby – 690,30 (Podstawa zasiłku: 5177,60 zł)
L.p | Opis pozycji | Wypłata czerwiec br. (anulowana) |
Wypłata czerwiec br. (korygująca) |
Różnica (wypł. anulowana– koryg.) |
---|---|---|---|---|
1 | Wynagrodzenie zasadnicze | 5000,00 | 5000,00 | |
2 | Wynagrodzenie za czas choroby zostaje zmienione na zasiłek chorobowy/wyp. |
Wynagr.chor. (80%) 690,30 |
Należna wartość zasiłku wyp. (100%) 862,90,, która zostaje zmniejszona do kwoty 80% 690,30 |
Niedopłata 20% 172,60 (862,90 – 690,30),zostanie wypłacona jako Wyrównanie zasiłku chorobowego z ubezp. wyp. w bieżącej wypłacie |
3 | Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1) |
5000,00 | 5000,00 | |
4 | Składki społeczne finansowane przez pracownika (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%) |
685,50 | 685,50 | |
5 | Podstawa skł. zdrowotnej (poz.3-poz.4) + wynagrodzenie chorobowe |
5004,80 | 4314,50 | |
6 | Składka zdrowotna (poz.5x9%) |
450,43 | 388,31 | 62,12 (nadpłata) |
7 | Koszty uzyskania przychodu | 250,00 | 250,00 | |
8 | Ulga podatkowa | 300,00 | 300,00 | |
9 | Podstawa opodatkowania (poz.1+poz.2-poz.4-poz.7) |
~4 755 | ~4 755 | |
10 | Naliczona zaliczka podatku (poz.9*12% -poz.8) |
270,60 | 270,60 | |
11 | Zaliczka podatku do U.S. po zaokrągleniu |
271,00 | 271,00 przed skopiowaniem podatku | |
12 | Do wypłaty (poz.1+poz.2-poz.4-poz.6–poz.11) |
4 283,37 | 4 345,49 przed skopiowaniem płatności |
-62,12 (niedopłata) |
Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności) |
||||
13 | Zaliczka podatku do US skopiowana z wypłaty anulowanej |
271,00 | ||
14 | Płatność do wypłaty skopiowana z wypłaty anulowanej |
4 283,37 | ||
15 | Korekta netto wypłaty | -62,12 | (nadpłata składki zdrowotnej) |

L.p | Opis pozycji | Wypłata korygująca (anulowana) 06.2023 |
Wypłata (korygująca nr 2) 06.2023 | Różnica (wypł. anul.– koryg.) |
---|---|---|---|---|
1 | Wynagrodzenie zasadnicze | 5 000,00 | 5 000,00 | |
2 | Zasiłek chorobowy/wyp. | 690,30 | Należna wartość zasiłku wyp. (100%) 862,90 która zostaje zmniejszona do kwoty 80% 690,30 |
|
3 | Korekta netto z poprzedniej wypłaty | -62,12 | -62,12 | |
4 | Podstawa składek emerytalnej i rentowej | 5 000,00 | 3000,00 | 2000,00 |
5 | Składka emerytalna (poz.4 x 9,76%) | 488,00 | 292,80 | |
6 | Składka rentowa (poz.4 x 1,5%) | 75,00 | 45,00 | |
7 | Podstawa składek chorobowej i wypadkowej | 5 000,00 | 5 000,00 | |
8 | Składka chorobowa (poz.7 x 2,45%) | 122,50 | 122,50 | |
9 | Składki ZUS pracownika (poz.5+poz.6+poz.8) | 685,50 | 460,30 | 225,20 1) (nadpłata) |
10 | Podstawa zdrow. (poz.1-poz.9) | 4 314,50 | 4 539,70 | -225,20 |
11 | Składka zdrowotna (poz.10x9%) | 388,31 | 408,57 | -20,26 (niedopłata) |
12 | Koszty uzyskania przychodu | 250,00 | 250,00 | |
13 | Ulga podatkowa | 300,00 | 300,00 | |
14 | Podstawa opodatkowania (poz.1+poz.2-poz.9-poz.12) |
4 754,80 ~4755 | 4 980,00 | |
15 | Naliczona zaliczka podatku (poz.14*12%-poz.13) |
270,60 | 297,60 | |
16 | Zaliczka podatku do U.S. po zaokrągleniu |
271,00 | 298,00 przed skopiowaniem podatku | - 27,00 (niedopłata) 2) |
17 | Do wypłaty (poz.1+poz.2+poz.3-poz.9 i poz.11 - poz.16) |
4 283,37 | 4 461,31 przed skopiowaniem płatności |
-177,94 |
Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności) |
||||
18 | Zaliczka podatkowa do US skopiowana z wypłaty anulowanej | 271,00 | ||
19 | Płatność do wypłaty skopiowana z wypłaty anulowanej |
4 283,37 | ||
20 | Korekta netto wypłaty (nowy element nieopodatkowany) |
-204,94 | (nadpłata skł. ZUS 225,20 – niedopłata skł. zdrow. 20,26) |
1) Wypłacenie elementu nieopodatkowanego, wpływającego na płatność pracownika - jako zwrot nadpłaty składek ER pomniejszonej o niedopłatę składki zdrowotnej. 2) Po zaznaczeniu pola „Korekta podatku i ubezpieczeń” wpisujemy ręcznie wyliczoną i zaokrąglona kwotę zaliczki podatku do US. Pracownik nie będzie miał w zeznaniu rocznym niedopłaty podatku.
4 Przykłady korygowania wypłat dotyczące zleceniobiorców
4.1 Przekwalifikowanie umowy o dzieło na umowę zlecenie za poprzednie lata (zleceniobiorca nadal wykonuje umowę, płatnik opłaci zaległe składki)
W wyniku kontroli ZUS w firmie zostały zakwestionowane umowy o dzieło i przekwalifikowane na umowy zlecenia. Firma musi dokonać zgłoszenia do ubezpieczeń i opłacić zaległe składki ZUS za poszczególne miesiące.L.p. | Opis pozycji | Wypłata 12.2022 (anulowana) |
Wypłata 12.2022 (korygująca) |
Różnica (wypł. anul.– koryg.) |
---|---|---|---|---|
1 | Umowa o dzieło później zamieniona na umowę zlecenie | 4000,00 | 4000,00 | |
2 | Podstawa składek społecznych (bez chorobowej) (poz.1) | 0,00 | 4000,00 | |
3 | Składki społeczne finansowane przez pracownika (E, R, bez chorobowej) (poz.2x9,76% + poz.2x1,5%) |
0,00 | 450,40 | -450,40 (niedopłata) |
4 | Podstawa składki zdrowotnej (poz.2-poz.3) |
0,00 | 3 549,60 | |
5 | Składka zdrowotna (poz.4x9%) |
0,00 | 319,46 | -319,46 (niedopłata) |
6 | KUP 20% ((poz.1-poz.3)*20%) | 800 | 709,92 | |
7 | Podstawa opodatkowania (poz.1-poz.3-poz.6) | 3200,00 | ~2 840 | |
8 | Naliczona zaliczka podatku (poz.7*12%) | 384,00 | 340,80 | |
9 | Zaliczka podatku do U.S. po zaokrągleniu | 384,00 | 341,00przed skopiowaniem podatku | 43,00 (nadpłata) |
10 | Do wypłaty (poz.1-poz.3-poz.5-poz.109) |
3 616,00 | 2 889,14 przed skopiowaniem płatności | 726,86 (nadpłata) |
Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności) |
||||
11 | Zaliczka podatku do US skopiowana z wypłaty anulowanej | 384,00 | ||
12 | Płatność do wypłaty skopiowana z wypłaty anulowanej | 3 616,00 | ||
13 | Korekta netto wypłaty | 769,86 |
L.p. | Opis pozycji | Wypłata bieżąca |
---|---|---|
1 | Umowa zlecenie | 4000,00 |
2 | Spłata korekty netto wypłaty (nieopodatkowany) | -769,86 1) |
3 | Zaległy ZUS / zlecenie / firma (PIT-11) (opodatkowany i ozusowany) | 769,86 |
4 | Podstawa składek społecznych (bez chorobowej) | 4 769,86 |
5 | Składki społeczne pracownika (E, R, bez chorobowej) (poz.4x9,76% + poz.4x1,5%) |
537,09 |
6 | Podstawa składki zdrowotnej (poz.4-poz.5) | 4 232,77 |
7 | Składka zdrowotna (poz.6 x 9%) | 380,95 |
8 | Koszty uzyskania przychodu 20% | 846,55 |
9 | Podstawa opodatkowania (poz.1+ poz.3-poz.5-poz.8) |
~3 386 |
10 | Naliczona zaliczka podatku (poz.9*`12%) |
406,32 |
11 | Zaliczka podatku do U.S. po zaokrągleniu | 406,00 |
12 | Do wypłaty (poz.1+poz.2 (ujemna) +poz.3-poz.5-poz.7-poz.11) |
2 675,96 |
4.2 Przekroczenie rocznej podstawy wymiaru składek na ubezpieczenie emerytalno-rentowe za poprzednie lata dla byłego zleceniobiorcy
W wyniku przekroczenia rocznej podstawy wymiaru składek na ubezpieczenie emerytalno-rentowe mamy do czynienia z nadpłatą składek społecznych, niedopłatą składki zdrowotnej oraz niedopłatą zaliczki podatku. Nadpłacone przez zleceniobiorcę składki na ubezpieczenia emerytalne i rentowe zgodnie z art. 26 ust. 1 pkt 2 lit. b) ustawy o pdof pomniejszyły dochód uzyskany przez tę osobę z umowy zlecenia. W konsekwencji zwrócona za pośrednictwem zleceniodawcy (tj. płatnika składek) kwota nadpłaconych składek na ubezpieczenia emerytalne i rentowe, w części sfinansowanej przez zleceniobiorcę, będzie stanowiła przychód tej osoby z działalności wykonywanej osobiście, o którym mowa w art. 13 pkt 8 ustawy o pdof. Od tego przychodu zleceniodawca, jako płatnik, powinien pobrać 12% zaliczkę na podatek dochodowy, zgodnie z zasadami określonymi w art. 41 ust. 1 i 1a ustawy o pdof. Trzeba przy tym zwrócić uwagę, że przy obliczaniu zaliczki na podatek dochodowy od zwracanej byłemu zleceniobiorcy kwoty nadpłaconych składek na ubezpieczenia emerytalne i rentowe, płatnik powinien uwzględnić koszty uzyskania przychodu w wysokości 20% przychodu (bądź 50%, jeżeli przedmiotem zawartej umowy jest czynność stanowiąca przedmiot prawa autorskiego). Wynika to z postanowień art. 41 ust. 1 w związku z art. 22 ust. 9 pkt 3 i 4 ustawy o pdof. Powyższe dotyczy również sytuacji, gdy zwrot nadpłaconych składek następuje już po wygaśnięciu umowy zlecenia z daną osobą. Źródłem oraz podstawą wypłaty tego świadczenia jest umowa zlecenia, która w przeszłości łączyła firmę będącą zleceniodawcą ze zleceniobiorcą.
L.p. | Opis pozycji | Wypłata 12.2022 (anulowana) |
Wypłata 12.2022(korygująca) | Różnica (wypł. anul.– koryg.) |
---|---|---|---|---|
1 | Umowa zlecenie | 10 000,00 | 10 000,00 | |
2 | Podstawa składek emerytalnej i rentowej | 10 000,00 | 5000,00 | 5000,00 |
3 | Składka emerytalna (poz.2 x 9,76%) | 976,00 | 488,00 | 488,00 |
4 | Składka rentowa (poz.2 x 1,5%) | 150,00 | 75,00 | 75,00 |
5 | Podstawa składek chorobowej i wypadkowej | 10 000,00 | 10 000,00 | |
6 | Składka chorobowa (poz.5 x 2,45%) | 245,00 | 245,00 | |
7 | Składki ZUS pracownika (poz.3+poz.4+poz.6) | 1 371,00 | 808,00 | 563,00 1) (nadpłata) |
8 | Podstawa zdrowotnej (poz.1-poz.7) | 8 629,00 | 9 192,00 | -563,00 |
9 | Składka zdrowotna (poz.8x9%) | 776,61 | 827,28 | -50,67 (niedopłata) |
10 | KUP 20% ((poz.1-poz.7)*20%) | 1 725,80 | 1 838,40 | |
11 | Podstawa opodatkowania (poz.1-poz.7-poz.12) |
~6 903 | ~7 354 | |
12 | Naliczona zaliczka podatku (poz.11 *12%) |
828,36 | 882,48 | |
13 | Zaliczka podatku do U.S. po zaokrągleniu | 828,00 | 882,00 przed skopiowaniem podatku | -54,00 2) (niedopłata) |
14 | Do wypłaty (poz.1-poz.7-poz.9-poz.13) |
7 024,39 | 7 482,72 przed skopiowaniem płatności | -458,33(niedopłata) |
Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności) |
||||
18 | Zaliczka podatkowa do US skopiowana z wypłaty anulowanej | 828,00 | ||
19 | Płatność do wypłaty skopiowana z wypłaty anulowanej | 7 024,39 | ||
20 | Korekta netto wypłaty | -512,33 | (nadpłata skł. ZUS 563,00 – niedopłata skł. zdrow. 50,67) ) |
- Rodzaj - Dodatek
- Algorytm 1 – kwota
- Automatycznie korygować wynagrodzenie z tytułu – niezaznaczone
- Pozycja na deklaracji PIT-8B 6. Przychody z osobiście wykonywanej działalności w tym umowy zlecenia…
- Podatek – „procent jak dla umów”
- Zawsze naliczaj ulgę podatkowa [ ] – niezaznaczone
- Sposób naliczania koszty uzyskania – procent – 20%
- Sposób naliczania składek ZUS i składki zdrowotnej – nie naliczać
- Wliczać do podstawy naliczania: wszystkie pozycje – nie wliczać
- Wpływa na kwotę do wypłaty [ ] – niezaznaczone, co oznacza, że kwota tego elementu nie będzie wypłacana (pracownik otrzymuje do wypłaty zwrot kwoty nadpłaty składek ER pomniejszony o niedopłatę składki zdrowotnej w elemencie Spłata korekty netto wypłaty), natomiast zaliczka podatku policzona od tego elementu będzie pomniejszała kwotę do wypłaty.
L.p. | Opis pozycji | Wypłata bieżąca |
---|---|---|
1 | Spłata korekty netto wypłaty (nieopodatkowany) | 512,33 1 |
2 | Zwrot składek ER / zlecenie (opodatkowany) | 563,00 2) |
3 | 20% KUP (poz.2 * 20%) | 112,60 |
4 | Podstawa opodatkowania (poz.2 - poz.3) |
~450 |
5 | Zaliczka podatku do U.S. po zaokrągleniu | 54,00 3) |
6 | Do wypłaty (poz.1 - poz.5) |
458,33 |
- Przychód z osobiście wykonywanej działalności w wysokości 563,00 zł
- Koszty uzyskania przychodu w wysokości 112,60 zł
- Zaliczka podatku w wysokości 54,00 zł
OPT035- Rozliczenie czasu pracy w modułach płacowych
Data aktualizacji: 11-08-2023
Wstęp
Dokument jest przeznaczony dla Użytkowników systemu Comarch ERP Optima - modułów: Płace i Kadry lub Płace i Kadry Plus - jako pomoc w skonfigurowaniu dostępnych w programie parametrów w celu rozliczenia czasu pracy pracowników, a szczególnie naliczenia nadgodzin. Ze względu na to, że przepisy dotyczące nadgodzin są bardzo rozbudowane i skomplikowane, to duża część dokumentu została poświęcona ich interpretacji. Opisy sposobów konfiguracji oraz rozliczania czasu pracy zostały przedstawione na przykładach praktycznych.Normy i wymiar czasu pracy w przepisach
Pojęcie normy czasu pracy (art. 129 k.p.)
Normy to maksymalne liczby godzin do przepracowania w przyjętym okresie rozliczeniowym, które określa art.129 kodeksu pracy. Art. 129. § 1. Czas pracy nie może przekraczać 8 godzin na dobę i przeciętnie 40 godzin w przeciętnie pięciodniowym tygodniu pracy w przyjętym okresie rozliczeniowym nieprzekraczającym 4 miesięcy, z zastrzeżeniem art. 135-138, 143 i 144. § 2. W każdym systemie czasu pracy, jeżeli jest to uzasadnione przyczynami obiektywnymi lub technicznymi lub dotyczącymi organizacji pracy, okres rozliczeniowy może być przedłużony, nie więcej jednak niż do 12 miesięcy, przy zachowaniu ogólnych zasad dotyczących ochrony bezpieczeństwa i zdrowia pracowników. W pozakodeksowych ustawach spotkać można inne, obniżone normy czasu pracy dla pewnych grup pracowniczych. Jest to np. norma dobowa – 7h i średniotygodniowa – 35h dla osób niepełnosprawnych.Pojęcie wymiaru czasu pracy (art. 130 k.p.)
Wymiar czasu pracy to liczba godzin, którą pracownik powinien przepracować w przyjętym okresie rozliczeniowym, wyliczana zgodnie art.130 kodeksu pracy. Art. 130. § 1. Obowiązujący pracownika wymiar czasu pracy w przyjętym okresie rozliczeniowym, ustalany zgodnie z art. 129 § 1, oblicza się: 1) mnożąc 40 godzin przez liczbę tygodni przypadających w okresie rozliczeniowym, a następnie 2) dodając do otrzymanej liczby godzin iloczyn 8 godzin i liczby dni pozostałych do końca okresu rozliczeniowego, przypadających od poniedziałku do piątku. § 2. Każde święto występujące w okresie rozliczeniowym i przypadające w innym dniu niż niedziela obniża wymiar czasu pracy o 8 godzin. Poniżej przykłady wyliczenia wymiaru czas pracy w jednomiesięcznych okresach rozliczeniowych w 2023 r.2023 - Miesiące | Liczba dni | Norma dobowa | WYMIAR |
---|---|---|---|
Styczeń | 21 | 8 | 168 |
Luty | 20 | 8 | 160 |
Marzec | 23 | 8 | 184 |
Kwiecień | 19 | 8 | 152 |
Maj | 21 | 8 | 168 |
Czerwiec | 21 | 8 | 168 |
Lipiec | 21 | 8 | 168 |
Sierpień | 22 | 8 | 176 |
Wrzesień | 21 | 8 | 168 |
Październik | 22 | 8 | 176 |
Listopad* | 20 | 8 | 160 |
Grudzień | 19 | 8 | 152 |
SUMA | 250 | - | 2000 |
*
- Za święto przypadające w sobotę należy wyznaczyć dodatkowy dzień wolny w planie pracy.
Wymiar czasu pracy niepełnoetatowca
Pracownik zatrudniony na część etatu powinien mieć obniżony wymiar czasu pracy w okresie rozliczeniowym proporcjonalnie do wymiaru zatrudnienia. Praca może być przez takiego pracownika świadczona przeciętnie 5 dni w tygodniu, we wszystkie dni robocze w mniejszym wymiarze dobowym, bądź w niektóre dni tygodnia przez większą liczbę godzin.Harmonogramy czasu pracy (plany pracy)
Harmonogram czasu pracy jest sprecyzowanym planem pracy pracownika (lub grupy pracowników), który powinien być zdefiniowany zgodnie z przepisami. Powinnością pracodawcy jest ustalenie wymiaru czasu pracy (proporcjonalnie do jego wymiaru etatu) przed rozpoczęciem danego okresu rozliczeniowego i jego „rozłożenie” na poszczególne dni tego okresu z uwzględnieniem:- obowiązujących pracownika norm czasu pracy,
- godzin rozpoczęcia i zakończenia pracy,
- odpoczynku dobowego i tygodniowego,
- przeciętnie pięciodniowego tygodnia pracy,
- zakazu pracy w niedziele i święta (a gdy jest dozwolona praca w niedzielę – wyznaczenie jednej na 4 tygodnie niedzieli wolnej od pracy).


Rys 1. W konfiguracji - kalendarz Standard – zakładka Kalendarz (z naniesionymi standardowymi świętami) oraz z wyznaczonym dniem wolnym (10.11.2023) wyznaczonym za święto przypadające w sobotę (11 listopada)
Konfiguracja pojedynczego kalendarza
Z poziomu Konfiguracja/ Firma/ Płace/ Kalendarze - na karcie danego kalendarza normatywnego (harmonogramu) występują pola:- Uwzględniaj wymiar etatu – powinien być zaznaczony dla kalendarzy pracowników zatrudnionych na niepełny etat, którzy mają obowiązek pracować w te same dni, co pracownicy pełnoetatowi, lecz w skróconym wymiarze czasu pracy. Jeśli pracownik zatrudniony na ½ etatu ma pracować np. co drugi dzień po 8 godzin, to definiujemy dla niego osobny kalendarz i odznaczamy ten parametr.
- Modyfikowanie planu pracy przez nieobecność – domyślnie zaznaczony, ma znaczenie, gdy w planie pracy (harmonogramie) stosujemy inną strefę niż „Czas pracy podstawowy”, wówczas wymagane jest zaznaczenie tego parametru. Powoduje on przywrócenie strefy „Czas pracy podstawowy” w planie pracy na dni wprowadzonych nieobecności. Jest to istotne, aby program dobrze pomniejszał wynagrodzenie zasadnicze za czas nieobecności.

- Rozliczaj nadgodziny – zaznaczony parametr umożliwia rozliczaniem nadgodzin przez program.
- Licz standardowe dopłaty do nadgodzin – zaznaczony parametr powoduje, że program będzie generował standardowe dopłaty do nadgodzin (50%, 100%).
- Licz standardowe wynagrodzenie powyżej/poniżej normy –zaznaczony parametr umożliwia naliczenie wynagrodzenia zasadniczego powyżej/poniżej normy – w nowy bazach jako osobny element wypłaty (poza wynagrodzeniem zasadniczym), ponieważ domyślnie jest zaznaczony inny parametr „Wynagrodzenie powyżej/poniżej normy liczone jako oddzielny element wypłaty” w Konfiguracja/ Firma/ Płace/ Parametry – zakładka 3.
- Licz standardowe dopłaty do godzin nocnych – zaznaczony parametr powoduje, że będą naliczane dopłaty do godzin nocnych.
- Norma zgodna z planem pracy – zaznaczony parametr oznacza, że norma do wyliczenia nadgodzin będzie przyjmowana z planu pracy.
- Jeśli nadgodziny mają być rozliczane zgodnie z normami kodeksowymi: dobową i średniotygodniową, to wyłączamy opcję [ ] Norma zgodna z planem pracy i wpisujemy odpowiednie wartości w polach: –Norma dobowa: standardowo 8h –Norma średniotygodniowa: standardowo 40h
- Parametr Z uwzględnieniem przedłużonych dobowych wymiarów z planu pracy (równoważny czas pracy) ma zastosowanie np. w równoważnym systemie czasu pracy, gdzie dopuszczalne jest wydłużenie dobowego wymiaru czasu pracy (ponad 8h) jednego dnia, które powinno być rekompensowane skróceniem dobowego wymiaru czasu pracy (poniżej 8h) w innym dniu lub udzieleniem dnia wolnego od pracy. Po zaznaczeniu tego parametru, praca w godzinach nadliczbowych dobowych będzie liczona następująco: –W dniach pracy – program będzie sprawdzał oprócz normy dobowej określonej w definicji kalendarza w konfiguracji, również dobowy wymiar czasu pracy ustalony w planie pracy (harmonogramie) pracownika. -W dniach wolnych od pracy / świątecznych – program będzie sprawdzał tylko normę dobową określoną w definicji kalendarza.
- Parametr Z uwzględnieniem standardowych świąt – ma wpływ na wyliczenie normy do nadgodzin uwzględnianej przy sprawdzaniu, czy doszło do przekroczenia normy średniotygodniowej. Gdy parametr jest: -Zaznaczony – to norma do nadgodzin (liczona jako pełne tygodnie * 40h + brzegowe dni * 8h) jest pomniejszona o ustawowe święta przypadające w innych dniach niż niedziela (zapisane w programie), niezależnie od tego, czy zostały naniesione w planie pracy. -Niezaznaczony – to norma do nadgodzin jest pomniejszana o święta wpisane na planie pracy pracownika w innych dniach niż niedziela.
- Parametr Podział dopłat na nadgodziny dobowe i średniotygodniowe – ma wpływ na wyliczenie dopłat do nadgodzin. Gdy parametr jest: -Zaznaczony – w przypadku okresu rozliczeniowego dłuższego niż miesiąc, dopłaty do nadgodzin dobowych są naliczane w miesiącu wystąpienia nadgodzin, natomiast dopłaty do nadgodzin średniotygodniowych na koniec okresu rozliczeniowego. Jako rozliczenie nadgodzin w wypłacie generują się standardowe typy wypłat: Dopłata do nadgodzin dobowych 50%, Dopłata do nadgodzin dobowych 100%, Dopłata do nadgodzin średniotygodn. 100%. (Dla okresu 1 miesięcznego też występuje podział na dopłaty dobowe i średniotygodniowe). -Niezaznaczony – w przypadku okresu rozliczeniowego dłuższego niż miesiąc, dopłaty do nadgodzin (dobowych i średniotygodniowych) są naliczane w wypłacie za ostatni miesiąc okresu rozliczeniowego. Jako rozliczenie generują się standardowe elementy Dopłaty do nadgodzin 50%, Dopłaty do nadgodzin 100%.
- Algorytm bilansowania nadgodzin w rozliczanym okresie zależy od parametru Podział dopłat na nadgodziny dobowe i średniotygodniowe i gdy ten parametr jest: Zaznaczony – to dostępne są opcje: –Tylko średniotygodniowe – nadgodziny dobowe nigdy nie są bilansowane, a na koniec okresu rozliczeniowego nadgodziny średniotygodniowe są bilansowane niedogodzinami oraz nieobecnościami nieusprawiedliwionymi z całego okresu rozliczeniowego. –Średniotygodniowe, dobowe 100%, 50% – w pierwszej kolejności pomniejszane są nadgodziny średniotygodniowe na koniec okresu rozliczeniowego pod warunkiem, że ich ilość jest wystarczająca do zbilansowania wszystkich niedogodzin. W przypadku, gdy ilość nadgodzin średniotygodniowych od początku okresu rozliczeniowego nie jest wystarczająca, to występujące niedogodziny będą na bieżąco bilansować nadgodziny dobowe – w pierwszej kolejności 100%, potem 50%. Nieobecności nieusprawiedliwione nigdy nie bilansują nadgodzin dobowych, tylko średniotygodniowe. –Średniotygodniowe, dobowe 50%, 100% – działanie opisane jak wyżej, tylko kolejność bilansowania nadgodzin dobowych jest najpierw 50%, potem 100%. Niezaznaczony – to dostępne są opcje: –Nie bilansuj – w przypadku rozliczania nadgodzin wg normy dobowej i średniotygodniowej ale bez podziału na dobowe i średniotygodniowe, niedogodziny i nieobecności nieusprawiedliwione nie pomniejszą nadgodziny dobowych, natomiast pomniejszają nadgodziny średniotygodniowe. A w przypadku rozliczania nadgodzin wg „Norma zgodna z planem pracy” – niedogodziny i nieobecności nieusprawiedliwione nie pomniejszą żadnych nadgodziny. –100%, 50% – niedogodziny oraz nieobecności nieusprawiedliwione (NN-ki) w pierwszej kolejności pomniejszają nadgodziny wynagradzane dopłatami 100%, potem 50%. –50%, 100% – działanie jak powyżej, tylko kolejność odwrotna – najpierw pomniejszane są nadgodziny wynagradzane dopłatami 50%, potem 100% (odwrotnie niż algorytm: 100%, 50%).

- Rozliczenie dopłat do nadgodzin w wielomiesięcznych okresach rozliczeniowych (funkcjonalność wykorzystywana tylko w module Płace i Kadry Plus):
- Co – określa długość okresu rozliczeniowego – przykładowo: 1 (domyślnie) – oznacza okres 1 miesięczny, czyli wszystkie dopłaty do nadgodzin naliczane są w miesiącu, w którym wystąpiły, 3 – oznacza okres 3 miesięczny i dopłaty do nadgodzin wypłacane są zależnie od ustawień parametru „Podział dopłat na nadgodziny dobowe i średniotygodniowe” – tzn. gdy będzie: -Zaznaczony – to dopłaty do nadgodzin dobowych wypłacane będą na bieżąco (co miesiąc) a dopłaty średniotygodniowe na koniec okresu rozliczeniowego (co 3 mc). -Niezaznaczony – to wszystkie dopłat do nadgodzin zostaną wypłacone na koniec okresu rozliczeniowego (w 3 miesiącu).
- Z przesunięciem – oznacza przesunięcie początku okresu rozliczania nadgodzin względem początku roku (dotyczy okresów co najmniej 2 miesięcznych) – przykładowo: 0 – pierwszy okres rozliczeniowy w roku rozpoczyna się w styczniu, 1 – pierwszy okres rozliczeniowy rozpoczyna się w lutym (jest przesunięty o 1 miesiąc względem stycznia), 2 – pierwszy okres rozliczeniowy rozpoczyna się w marcu (jest przesunięty o 2 miesiące względem stycznia).
- Z opóźnieniem – opcja możliwa do ewentualnego użycia tylko, gdy nie ma włączonego podziału dopłat na nadgodziny dobowe i średniotygodniowe – oznacza przesunięcie wypłat dopłat do nadgodzin względem ostatniego miesiąca okresu rozliczeniowego– przykładowo: 0 – dopłaty do nadgodzin zostaną wypłacone w ostatnim miesiącu okresu rozliczeniowego, 1 – wypłata dopłat do nadgodzin nastąpi w pierwszym miesiącu po zakończeniu okresu rozliczeniowego (np. okres rozliczeniowy styczeń – marzec zostanie rozliczony w kwietniu).
-
- Ręczna edycja parametrów związanych z dopłatami do godzin nocnych – zaznaczenie parametru powoduje, że dopłaty do godzin nocnych naliczane są zgodnie z ustawieniami zawartymi na formularzu kalendarza. Jeśli parametr nie jest zaznaczony, dopłata do godzin nocnych naliczana jest według ustawień dostępnych z poziomu: Konfiguracja/ Firma/ Płace/ Konfiguracja kalendarzy. Po zaznaczeniu tego parametru, aktywne stają się pozostałe parametry dotyczące naliczania dopłat do godzin nocnych. Domyślnie podpowiadają się takie wartości, jak te w Konfiguracji kalendarzy, ale Użytkownik może je zmienić.
- – Od godziny – Do godziny – w tych polach należy ustawić porę nocną obowiązującą pracowników rozliczanych wg tego kalendarza. – Limit godzin nocnych – maksymalna liczba godzin przypadających dla każdego dnia w porze nocnej, za którą pracownikowi przysługuje dopłata za pracę w nocy. – Dopłata do godzin nocnych liczona od i Procent wynagrodzenia za pracę w nocy – dla dopłat do godzin nocnych należy określić procent i wskazać, czy ma być liczona od minimalnej płacy, czy od stawki zaszeregowania pracownika. – Dopłata do godzin nocnych liczona zgodnie z normą k.p. art.130 – zaznaczenie parametru powoduje, że dopłata do godzin nocnych naliczana jest w oparciu o wymiar czasu pracy wynikający z art. 130 k.p. Jeśli parametr nie jest zaznaczony, to przy wyliczeniu stosowany jest wymiar czasu pracy wynikający z planu pracy pracownika.

- Ręczna edycja parametrów związanych z dopłatami do nadgodzin – zaznaczenie parametru powoduje, że dopłaty do nadgodzin naliczane są zgodnie z ustawieniami zawartymi na formularzu kalendarza. Jeśli parametr nie jest zaznaczony, dopłaty naliczane są według ustawień dostępnych z poziomu: Konfiguracja/ Firma/ Płace/ Konfiguracja kalendarzy. Po zaznaczeniu tego parametru, aktywne stają się pozostałe parametry dotyczące wynagrodzenia i dopłat za nadgodziny. Domyślnie podpowiadają się takie wartości, jak te w Konfiguracji kalendarzy, ale Użytkownik może je zmienić.- Procent dopłat ‘50’ – możliwość określenia procentu dopłat za nadgodziny standardowo naliczanych jako 50%, – Procent dopłat ‘100’ – możliwość określenia procentu dopłat za nadgodziny standardowo naliczanych jako 100%, – Dopłaty do nadgodzin liczone zgodnie z normą k.p. art. 130 –zaznaczenie parametru powoduje, że stawka dopłaty do godzin nocnych za 1h naliczana jest w oparciu o wymiar czasu pracy wynikający z art. 130 k.p. Jeśli parametr nie jest zaznaczony, to przy wyliczeniu stosowany jest wymiar czasu pracy wynikający z planu pracy pracownika.
- Wynagrodzenie zasad. powyżej/poniżej normy liczone zgodnie z normą k.p. art. 130 zaznaczenie parametru powoduje, że stawka za godzinę powyżej/poniżej normy liczona jest w oparciu o wymiar czasu pracy wynikający z art. 130 k.p. Takie wyliczenie dotyczy tylko elementów, które są naliczane w wypłacie jako oddzielne elementy wypłaty, o czym decyduje inny parametr o nazwie „Wynagrodzenie powyżej/poniżej normy liczone jako oddzielny element wypłaty” w Konfiguracja/ Firma/ Płace/ Parametry – zakładka 3 (domyślnie zaznaczony).Jeśli parametr „Wynagrodzenie zasad. powyżej/poniżej normy liczone zgodnie z normą k.p. art. 130” nie jest zaznaczony, to przy wyliczeniu stawki za godzinę stosowany jest wymiar czasu pracy wynikający z planu pracy pracownika.


Konfiguracja wszystkich kalendarzy
Z poziomu Konfiguracja/ Firma/ Płace/ Konfiguracja kalendarzy ustawiamy wspólne elementy dla wszystkich zdefiniowanych w bazie kalendarzy.
-
- Od godziny / do godziny – zakres godzin, pomiędzy którymi praca będzie traktowana jako praca w nocy,
- Limit godzin nocnych – dzienny limit godzin nocnych – 8 godzin (zgodne z przepisami)
- Procent dopłat do godzin nocnych – 20% (zgodnie z przepisami)
- Dopłata do godzin nocnych liczona od – określamy podstawę, od której będzie naliczana dopłata do godzin nocnych (minimalne wynagrodzenie lub stawka zaszeregowania).
-
- Godziny nocne – parametr domyślnie zaznaczony, nadgodziny w porze nocnej powinny być wynagradzane dopłatą w wysokości 100%.
- Niedziele i święta – parametr domyślnie zaznaczony, każda nadgodzina pracy w niedzielę i święto, powinna być wynagradzana dopłatą w wysokości 100%.
- Dni wolne (poniżej normy dobowej) – zaznaczenie spowoduje naliczenie 100% dopłat do nadgodzin nieprzekraczających normy dobowej w dniach wolnych pracownika. Parametr domyślnie zaznaczony, ponieważ nadgodziny wynikające z przekroczenia normy średniotygodniowej powinny być wynagradzane dodatkiem w wysokości 100%.
-
- Dni wolne (powyżej normy dobowej) – zaznaczenie jest równoznaczne z wypłatą 100% dopłat do nadgodzin w dni wolne po przekroczeniu normy dobowej. Program umożliwia ustawienie warunków wynagradzania korzystniejszych dla pracownika niż przewidują to przepisy.
- Dni pracy po przekroczeniu dobowego limitu nadgodzin 50% – ściśle związany jest z innym parametrem ‘Dobowy limit nadgodzin 50% w dni pracy’. Parametr zaznaczony powoduje, że praca w nadgodzinach w dni pracy do limitu będzie płatna dopłatą 50%, a nadgodziny powyżej limitu – dopłatą 100%. Dawniej dwie pierwsze nadgodziny były płatne 50%, kolejne 100%. Obecnie ten przepis już nie obowiązuje, jednak w wewnętrznych regulaminach firmy mogą być zachowane poprzednie zasady, dlatego nadal można korzystać z tych ustawień.
- Limit roczny – 150:00 (standardowo) z opcją: -Przerwanie naliczania – w wypłacie zostaną rozliczone tylko nadgodziny do limitu, powyżej limitu nie zostaną naliczone, -Brak – nie ma kontroli limitu nadgodzin.
- Procent dopłat ‘50’ / Procent dopłat ‘100’ – w sytuacjach, gdy wewnętrzne przepisy pracodawcy przewidują wyższą kwotę dopłat do nadgodzin, mamy możliwość ustawienia własnych procentów dopłat (np. 60% i 120%). Dodatkowo w definicji danego kalendarza mamy możliwość ustawienia indywidualnych procentów dopłat do nadgodzin.
Plan pracy i czas przepracowany pracownika
Plan pracy
Na formularzu pracownika, zakładka [Etat], w polu Kalendarz wskazujemy plan (harmonogram) czasu pracy zgodnie, z którym pracownik ma pracować. Domyślnie podpowiada się kalendarz Standard. (Oczywiście można wybrać inny harmonogram, jeżeli został wcześniej zdefiniowany w Konfiguracja/ Firma/ Płace/ Kalendarze).


Rys 9. Plan pracy pracownika z naniesionymi modyfikacjami („wyjątkami”)
Sposoby odnotowywania czasu przepracowanego
W formularzu pracownika, zakładka [Etat], w polu Rozliczenie czasu pracy określamy sposób odnotowywania czasu rzeczywiście przepracowanego przez pracownika, do wyboru mamy 3 sposoby:- Według kalendarza (domyślna opcja) – w kalendarzu Nie/obecności (rzeczywistym) na zakładce Kalendarz, czas pracy w danym dniu jest automatycznie przepisany z planu pracy. Użytkownik odnotowuje ewentualne zmiany w stosunku do planu na konkretnym dniu, np. nadgodziny. (Brak wpisu w danym dniu pracy oznacza pracę zgodną z planem pracy).
- Według obecności – w kalendarzu Nie/obecności (rzeczywistym), na zakładce Kalendarz, czas pracy w danym dniu nie jest automatycznie przepisywany z planu pracy (jest zerowy). Użytkownik musi każdy dzień pracy edytować i wprowadzić czas pracy (podpowiadany jest czas z planu pracy). W przypadku posiadania modułu Kadry i Płace PLUS możliwe jest zaimportowanie czasu pracy z pliku RCP. (Brak wpisu w danym dniu pracy oznacza dzień z zerowym czasem pracy, czyli niedgogodziny).
- Według zestawienia – dla tego sposobu brak jest informacji o czasie pracy w danym dniu, jest tylko łączny czas pracy za odpowiedni okres. W kalendarzu Nie/obecności (rzeczywistym) na zakładce [Zestawienia], użytkownik musi dodać zestawienie wpisując łączny czas przepracowany w godzinach (wraz z nadgodzinami) i w dniach, dodatkowo odnotowuje ilość godzin nocnych oraz nadgodzin 50% i 100%, za które program powinien naliczyć dopłaty. Zestawienie obejmuje maksymalnie okres miesiąca. Krótszy okres powinien być wpisany w przypadku aktualizacji danych pracownika w trakcie miesiąca lub zatrudnienia czy zwolnienia pracownika w trakcie miesiąca.

Nadgodziny
Pojęcie pracy w nadgodzinach (art. 151 k.p.)
Pojęcie pracy w nadgodzinach wyjaśnia art. 151 kodeksu pracy: Art. 151. § 1. Praca wykonywana ponad obowiązujące pracownika normy czasu pracy, a także praca wykonywana ponad przedłużony dobowy wymiar czasu pracy, wynikający z obowiązującego pracownika systemu i rozkładu czasu pracy, stanowi pracę w godzinach nadliczbowych. Praca w godzinach nadliczbowych jest dopuszczalna w razie: 1) konieczności prowadzenia akcji ratowniczej w celu ochrony życia lub zdrowia ludzkiego, ochrony mienia lub środowiska albo usunięcia awarii, 2) szczególnych potrzeb pracodawcy. § 2. Przepisu § 1 pkt 2 nie stosuje się do pracowników zatrudnionych na stanowiskach pracy, na których występują przekroczenia najwyższych dopuszczalnych stężeń lub natężeń czynników szkodliwych dla zdrowia. § 21. Nie stanowi pracy w godzinach nadliczbowych czas odpracowania zwolnienia od pracy, udzielonego pracownikowi, na jego pisemny wniosek, w celu załatwienia spraw osobistych. Odpracowanie zwolnienia od pracy nie może naruszać prawa pracownika do odpoczynku, o którym mowa w art. 132 i 133.Wynagradzanie za nadgodziny (art. 1511 k.p.)
Za pracę w godzinach nadliczbowych (zgodnie z art. 1511 k.p.) należy wypłacić, oprócz normalnego wynagrodzenia, dopłata w wysokości:- 100% wynagrodzenia – za pracę w godzinach nadliczbowych przypadających: – w nocy, – niedziele i święta, – w dni wolne od pracy poniżej normy dobowej, ponieważ zaliczane są do średniotygodniowych – w dni pracy poniżej normy dobowej, ponieważ zaliczane są do średniotygodniowych
- 50% wynagrodzenia – za pracę w godzinach nadliczbowych przypadających: – w dni wolne od pracy, powyżej normy dobowej (z wyłączeniem godzin nocnych), – w dni pracy powyżej normy dobowej lub przedłużonego dobowego wymiaru (z wyłączeniem godzin nocnych).
-
- Wynagrodzenie normalne – domyślnie generuje się tylko od stawki zaszeregowania (podanej na formularzu etatu) jako odrębny element wypłaty o nazwie „Wynagr. zasad. powyżej normy” – pod warunkiem, że jest zaznaczony inny parametr o nazwie „Wynagrodzenie powyżej/poniżej normy liczone jako oddzielny element wypłaty” (w Konfiguracja/ Firma/ Płace/ Parametry – zakładka 3) lub jako element o nazwie „Wynagrodzenie powyżej normy” w środku wynagrodzenia zasadniczego (zwiększa jego wartość), gdy wspomniany parametr nie jest zaznaczony.Gdy „Wynagr. zasad. powyżej normy” generowane jest osobno, to jego wartość może być powiększona o kwotę wynikającą z innych stałych elementów pracownika, np. z dodatku funkcyjnego – w tym celu w definicji dodatku funkcyjnego, na zakładce Szczegółowe, należy zaznaczyć pola: „Uwzględniaj przy wynagrodzeniu zasadniczym powyżej normy” i/lub „Uwzględniaj przy wynagrodzeniu zasadniczym poniżej normy”.
-
- Dopłaty do nadgodzin 50% lub 100% – standardowo liczone są tylko od stawki zaszeregowania. Jeżeli inne elementy mają być ujmowane w tych dopłatach, to należy w definicji odpowiednich typów wypłat (na zakładce [Szczegółowe]) zaznaczyć pole Uwzględnij przy dopłatach za nadgodziny.

- Oddzielnie wypłacone ‘powyżej normy’ wliczane do podstawy urlopu /ekwiwalentu
- Oddzielnie wypłacone ‘poniżej normy’ wliczane do podstawy urlopu /ekwiwalentu

Nadgodziny dobowe i średniotygodniowe
Nadgodziny dzielimy na:- dobowe, które występują:- w dniach pracy – praca powyżej normy dobowej (8h) lub przedłużonego dobowego wymiaru (np. 12h) -> płatne jako 50% lub 100% jeżeli przypadają w nocy – w dniach wolnych – praca powyżej normy dobowej 8h -> płatne jako 50% – w dniach świątecznych – praca powyżej normy dobowej 8h -> płatne jako 100%
- średniotygodniowe, które występują: – w dniach pracy – praca powyżej zaplanowanego dobowego wymiaru (np. 6h) do normy dobowej (8h) -> płatne jako 100% – w dniach wolnych – praca poniżej normy dobowej 8h -> płatne jako 100% – w dniach świątecznych – praca poniżej normy dobowej 8h -> płatne jako 100%
Rozliczanie nadgodzin wg norma zgodna z planem pracy
Parametry w konfiguracji
Rozliczanie nadgodzin wg parametru Norma zgodna z planem pracy polega na porównaniu dla każdego dnia ilości godzin rzeczywiście przepracowanych z kalendarzu (Nie)obecności z ilością godzin w planie pracy. W tej sytuacji każda godzina przepracowana ponad zaplanowany wymiar czasu pracy jest traktowana jako nadgodzina.
- Godziny nocne – zaznaczony (domyślnie)
- Niedziele i święta – zaznaczony (domyślnie)
- Dni wolne (poniżej normy dobowej) – zaznaczony (domyślnie), dotyczy pracy np. w sobotę do 8h
- Dni wolne (powyżej normy dobowej) – niezaznaczony (domyślnie), dotyczy pracy np. w sobotę powyżej 8h
- Dni pracy po przekroczeniu dobowego limitu nadgodzin 50% – niezaznaczony (domyślnie), związany jest z innym parametrem Dobowy limit nadgodzin 50% w dni pracy (2:00) – zgodnie z archiwalnymi przepisami dwie pierwsze nadgodziny w dni pracy były płatne jako 50%, kolejne 100%.

Przykłady rozliczenia nadgodzin wg norma zgodna z planem pracy
Poniżej prezentowane są przykłady wyliczenia nadgodzin „wg norma zgodna z planem pracy” (ustawienie w definicji kalendarza) - przy standardowych ustawieniach w Konfiguracji kalendarzy, czyli przy zaznaczonych parametrach dla: Nadgodziny 100%: Godziny nocne, Niedziele i święta, Dni wolne (poniżej normy dobowej).Podstawowy system czasu pracy – pełny etat
Pon. | Wt. | Śr. | Czw. | Piąt. | Sob. | Niedz. | Suma | |
---|---|---|---|---|---|---|---|---|
Plan pracy | 08:00 | 08:00 | 08:00 | 08:00 | 08:00 | 00:00 | 00:00 | 40h |
Rzeczywisty czas pracy | 08:00 | 12:00 | 08:00 | 08:00 | 08:00 | 10:00 | 02:00 | 56h |
Powyżej planu | +4:00 | +10:00 | +2:00 | +16h | ||||
Podstawowy system czasu pracy – niepełny etat
Pon. | Wt. | Śr. | Czw. | Piąt. | Sob. | Niedz. | Suma | |
---|---|---|---|---|---|---|---|---|
Plan pracy | 04:00 | 04:00 | 04:00 | 04:00 | 04:00 | 00:00 | 00:00 | 20h |
Rzeczywisty czas pracy | 10:00 | 04:00 | 04:00 | 04:00 | 04:00 | 09:00 | 06:00 | 41h |
Powyżej planu | +6:00 | +9:00 | +6:00 | +21h | ||||
Bilansowanie w rozliczeniu nadgodzin wg norma zgodna z planem pracy
Nadgodziny (praca ponad zaplanowany wymiar) są pomniejszane przez odnotowane niedogodziny (praca poniżej zaplanowanego dobowego wymiaru) i nieobecności nieusprawiedliwione (NN) – decyduje o tym parametr Algorytm bilansowania nadgodzin w rozliczanym okresie (w definicji kalendarza), dla którego są dostępne następujące opcje: 1. Nie bilansuj – niedogodziny i nieusprawiedliwione nieobecności (NN) nie pomniejszają nadgodzin, 2. 100%, 50% (domyślnie) - niedogodziny i nieusprawiedliwione nieobecności (NN) pomniejszają w pierwszej kolejności nadgodziny wynagradzane dopłatą 100%, a następnie dopłatą 50%, 3. 50%, 100% - analogicznie jak powyżej, tylko odwrotna kolejność pomniejszania.Pon. | Wt. | Śr. | Czw. | Piąt. | Sob. | Niedz. | Suma | |
---|---|---|---|---|---|---|---|---|
Plan pracy | 06:00 | 06:00 | 06:00 | 06:00 | 06:00 | 00:00 | 00:00 | 30h |
Rzeczywisty czas pracy | 08:00 | 03:00 | 06:00 | 06:00 | 06:00 | 04:00 | 00:00 | 33h |
Powyżej planu | +2:00 | +4:00 | +6h | |||||
Poniżej planu | -3:00 | -3h | ||||||
Rozliczanie nadgodzin wg normy dobowej i normy średniotygodniowej
Parametry w konfiguracji
W definicji kalendarza (w konfiguracji) możliwe jest określenie norm:- dobowej (standardowo 8h),
- średniotygodniowej (standardowo 40h).

- Zaznaczony – to norma do nadgodzin jest pomniejszona o standardowe święta przypadające w innych dniach niż niedziela (zapisane w programie), niezależnie od tego, czy zostały naniesione w planie pracy.
- Niezaznaczony – to norma do nadgodzin jest pomniejszana tylko o święta wpisane na planie pracy w innych dniach niż niedziela.
-
- Godziny nocne – 100% (zgodnie z przepisami, bez możliwości modyfikacji)
- Niedziele i święta – 100% (zgodnie z przepisami, bez możliwości modyfikacji)
- Dni wolne (poniżej normy dobowej) – 100% (zgodnie z przepisami, bez możliwości modyfikacji), dotyczy pracy np. w sobotę do 8h
- Dni wolne (powyżej normy dobowej) – niezaznaczony (domyślnie), dotyczy pracy np. w sobotę powyżej 8h
- Dni pracy po przekroczeniu dobowego limitu nadgodzin 50% – niezaznaczony (domyślnie), związany jest z innym parametrem Dobowy limit nadgodzin 50% w dni pracy (2:00) – dawniej dwie pierwsze nadgodziny w dni pracy były płatne jako 50%, kolejne 100%.

- dobowe, które występują: – w dniach pracy – praca powyżej normy dobowej (8h) lub przedłużonego dobowego wymiaru (np. 12h) -> płatne jako 50% lub 100% jeżeli przypada w nocy – w dniach wolnych – praca powyżej normy dobowej 8h -> płatne jako 50% – w dniach świątecznych – praca powyżej normy dobowej 8h -> płatne jako 100%
- średniotygodniowe, które występują: – w dniach pracy – praca powyżej zaplanowanego dobowego wymiaru (np. 6h) do normy dobowej (8h) -> płatne jako 100% – w dniach wolnych – praca poniżej normy dobowej 8h -> płatne jako 100% – w dniach świątecznych – praca poniżej normy dobowej 8h -> płatne jako 100%
Przykłady rozliczenia nadgodzin wg normy dobowej i średniotygodniowej
Poniżej prezentowane są przykłady wyliczenia nadgodzin dla okresu 1 miesięcznego przy ustawieniu norm: dobowej (8h) i średniotygodniowej (40h) z zaznaczonym parametr Z uwzględnieniem standardowych świąt w definicji kalendarza - przy standardowych ustawieniach w Konfiguracji kalendarzy dotyczących 100% dopłat do nadgodzin, czyli:- Dni wolne (powyżej normy dobowej) – niezaznaczone
- Dni pracy po przekroczeniu dobowego limitu nadgodzin 50% – niezaznaczone
Podstawowy system czasu pracy (1 miesięczny) – pełny etat
Pon. | Wt. | Śr. | Czw. | Piąt. | Sob. | Niedz. | Suma | |
---|---|---|---|---|---|---|---|---|
Plan pracy | 08:00 | 08:00 | 08:00 | 08:00 | 08:00 | 00:00 | 00:00 | 40h |
Rzeczywisty czas pracy | urlop | 13:00 | 08:00 | 08:00 | 08:00 | 10:00 | 09:00 | 56h |
Powyżej planu | +5:00 | +10:00 | +9:00 | +24h | ||||
- niezaznaczony – to w wypłacie zostanie naliczone: – Wynagrodzenie powyżej normy za 24h – Dopłata do nadgodzin 50% za 7h – Dopłata do nadgodzin 100% za 17h
- zaznaczony to w wypłacie zostanie naliczone: – Wynagrodzenie powyżej normy za 24h – Dopłata do nadgodzin dobowych 50% za 7h – Dopłata do nadgodzin dobowych 100% za 1h – Dopłata do nadgodzin średniotygodn. 100% za 16h
Równoważny system czasu pracy (1 miesięczny) – pełny etat
W równoważnym systemie czasu pracy dopuszczalne jest przedłużenie dobowego wymiaru ponad 8h, które powinno być rekompensowane dniami wolnymi od pracy lub skróceniem dobowego wymiaru czasu pracy (poniżej 8h) w niektórych dniach. W takiej sytuacji w definicji kalendarza przy rozliczeniu nadgodzin wg normy dobowej i średniotygodniowej powinien być zaznaczony parametr Z uwzględnieniem przedłużonych dobowych wymiarów z planu pracy (równoważny czas pracy). Po zaznaczeniu tego parametru, praca w godzinach nadliczbowych dobowych będzie liczona następująco:- W dniach pracy – program będzie sprawdzał oprócz normy dobowej określonej w definicji kalendarza (np. 8h) również dobowy wymiar czasu pracy ustalony w planie pracy (grafiku) pracownika. W dniach przedłużonego dobowego wymiaru czasu pracy (np. 12h) – nadgodziny dobowe wystąpią po przekroczeniu tego wymiaru (czyli po 12h). Natomiast w dniach skróconego dobowego wymiaru czasu pracy (np. 6h) – nadgodziny dobowe wystąpią po przekroczeniu dobowej normy czasu pracy określonej w definicji kalendarza, czyli po przekroczeniu 8h.
- W dniach wolnych od pracy/ świątecznych – program będzie sprawdzał tylko normę dobową określoną w definicji kalendarza (np. 8h), czyli czas pracy po przekroczeniu tej normy będzie zaliczany do nadgodzin dobowych. Natomiast czas przepracowany w obrębie (do) normy dobowej będzie uwzględniany w algorytmie sprawdzania przekroczenia normy średniotygodniowej.
Pon. | Wt. | Śr. | Czw. | Piąt. | Sob. | Niedz. | Suma | |
---|---|---|---|---|---|---|---|---|
Plan pracy | 12:00 | 00:00 | 12:00 | 00:00 | 12:00 | 00:00 | 00:00 | 36h |
Rzeczywisty czas pracy | 12:00 | 00:00 | 14:00 |
10:00 | 12:00 | 00:00 | 00:00 | 48h |
Powyżej planu | +2:00 | +10:00 | +12h | |||||
- Z uwzględnieniem przedłużonych dobowych wymiarów z planu pracy (równoważny czas pracy)
- Z uwzględnieniem standardowych świąt
- niezaznaczony – to w wypłacie zostanie naliczone: – Wynagrodzenie powyżej normy za 12h – Dopłata do nadgodzin 50% za 4h – Dopłata do nadgodzin 100% a 8h
- zaznaczony to w wypłacie zostanie naliczone: – Wynagrodzenie powyżej normy za 12h – Dopłata do nadgodzin dobowych 50% za 4h – Dopłata do nadgodzin średniotygodn. 100% za 8h
Podstawowy system czasu pracy (1 miesięczny) – niepełny etat
Dla pracownika zatrudnionego na część etatu pracodawca powinien ustalić tzw. limit godzin. Wynika to z art. 151 § 5 k.p., który informuje, że: Strony ustalają w umowie o pracę dopuszczalną liczbę godzin pracy ponad określony w umowie wymiar czasu pracy pracownika zatrudnionego w niepełnym wymiarze czasu pracy, których przekroczenie uprawnia pracownika, oprócz normalnego wynagrodzenia, do dodatku do wynagrodzenia, o którym mowa w art. 1511 § 1 (dodatku do wynagrodzenia jak za pracę nadliczbową). W programie Comarch ERP Optima Płace i Kadry można określić limit nadgodzin dla niepełnoetatowca tylko poprzez wprowadzenie odpowiedniej normy dobowej i średniotygodniowej (niższej niż dla pełnego etatu), np. dla osoby zatrudnionej na ½ wymiaru etatu – normę dobowa 6h, średniotygodniową 30h. Przy takim ustawieniu zalecamy zaznaczyć dodatkowo parametr Z uwzględnieniem przedłużonych dobowych wymiarów z planu pracy (równoważny czas pracy).Pon. | Wt. | Śr. | Czw. | Piąt. | Sob. | Niedz. | Suma | |
---|---|---|---|---|---|---|---|---|
Plan pracy | 04:00 | 04:00 | 04:00 | 04:00 | 04:00 | 00:00 | 00:00 | 20h |
Rzeczywisty czas pracy | 09:00 |
06:00 |
04:00 | urlop | 04:00 | 10:00 | 00:00 | 33h |
Powyżej planu | +5:00 | +2:00 | +10:00 | +17h | ||||
- Z uwzględnieniem przedłużonych dobowych wymiarów z planu pracy (równoważny czas pracy).
- Z uwzględnieniem standardowych świąt.
- niezaznaczony – to w wypłacie zostanie naliczone: – Wynagrodzenie powyżej normy za 17h – Dopłata do nadgodzin 50% za 7h
- zaznaczony to w wypłacie zostanie naliczone: – Wynagrodzenie powyżej normy za 17h – Dopłata do nadgodzin dobowych 50% za 7h
Podstawowy system czasu pracy (3 miesięczny) – pełny etat
W module Płace i Kady Plus istnieje możliwość stosowania okresu rozliczeniowego dłuższego niż 1 miesiąc (np. 3 miesięcznego). W tym celu w definicji kalendarza w obszarze Rozliczenie w polu: Co – należy wpisać 3 (miesiące).
- Zaznaczony – to dopłaty do nadgodzin dobowych są naliczane w miesiącu wystąpienia nadgodzin, natomiast dopłaty do nadgodzin średniotygodniowych na koniec okresu rozliczeniowego.
- Niezaznaczony – to dopłaty do nadgodzin (dobowych i średniotygodniowych) są naliczane w wypłacie w ostatnim miesiącu okresu rozliczeniowego.
- Z uwzględnieniem standardowych świąt,
- Podział dopłat na nadgodziny dobowe i średniotygodniowe.
- Dni wolne (powyżej normy dobowej) – niezaznaczone
- Dni pracy po przekroczeniu dobowego limitu nadgodzin 50% – niezaznaczone
- Z uwzględnieniem standardowych świąt – zaznaczony
- Podział dopłat na nadgodziny dobowe i średniotygodniowe – zaznaczony
Pon. | Wt. | Śr. | Czw. | Piąt. | Sob. | Niedz. | Suma | |
---|---|---|---|---|---|---|---|---|
Plan pracy | 08:00 | 08:00 | 08:00 | 08:00 | 08:00 | 00:00 | 00:00 | 40h |
Rzeczywisty czas pracy | urlop | 10:00 | 08:00 | 08:00 | 08:00 | 12:00 | 00:00 | 46h |
Powyżej planu | +2:00 | +12:00 | +14h | |||||
Pon. | Wt. | Śr. | Czw. | Piąt. | Sob. | Niedz. | Suma | |
---|---|---|---|---|---|---|---|---|
Plan pracy | 08:00 | 08:00 | 08:00 | 08:00 | 08:00 | 00:00 | 00:00 | 40h |
Rzeczywisty czas pracy | 08:00 | 08:00 | 08:00 | 08:00 | 10:00 | 00:00 | 09:00 | 51h |
Powyżej planu | +2:00 | +9:00 | +11h | |||||
Pon. | Wt. | Śr. | Czw. | Piąt. | Sob. | Niedz. | Suma | |
Plan pracy | 08:00 | 08:00 | 08:00 | 08:00 | 08:00 | 00:00 |
00:00 |
40h |
Rzeczywisty czas pracy | urlop | urlop | 08:00 | 12:00 |
08:00 | 09:00 |
00:00 |
37h |
Powyżej planu | +4:00 | +9:00 | +13h | |||||
Bilansowanie w rozliczeniu nadgodzin wg normy dobowej i średniotygodniowej
Przy rozliczaniu nadgodzin wg norm: dobowej i średniotygodniowej – Algorytm bilansowania nadgodzin w rozliczanym okresie zależy od parametru Podział dopłat na nadgodziny dobowe i średniotygodniowe. 1. Gdy Podział dopłat na nadgodziny dobowe i średniotygodniowe jest niezaznaczony – to do wyboru mamy opcje:- Nie bilansuj – nadgodziny dobowe nie są pomniejszane o niedogodziny i nieobecności nieusprawiedliwione (NN). Natomiast nadgodziny średniotygodniowe są pomniejszane, ponieważ przy sprawdzaniu, czy doszło do przekroczenia normy średniotygodniowej uwzględniamy czas przepracowany, który jest pomniejszony o czas niedogodzin – wg wzoru: X = CZAS PRZEPRACOWANY + CZAS USPRAWIEDLIWIONYCH NIEOBECNOŚCI – NADGODZINY DOBOWE – NORMA i gdy: X>0 – to oznacza, że wystąpiły nadgodziny średniotygodniowe, X<=0 – to oznacza, że nie wystąpiły nadgodziny średniotygodniowe
- 100%, 50% – najpierw liczone są nadgodziny dobowe i średniotygodniowe (bez pomniejszenia o niedogodziny), a następnie wyliczone ilość nadgodzin (50%, 100%) jest bilansowana – w pierwszej kolejności nadgodziny 100%, a potem 50%. X = CZAS PRZEPRACOWANY + CZAS NIEDOGODZIN + CZAS USPRAWIEDLIWIONYCH NIEOBECNOŚCI – NADGODZINY DOBOWE – NORMA i gdy: X>0 – to oznacza, że wystąpiły nadgodziny średniotygodniowe, X<=0 – to oznacza, że nie wystąpiły nadgodziny średniotygodniowe.
- 50%, 100% – analogicznie j.w., tylko odwrotna jest kolejność pomniejszania o niedogodziny, najpierw nadgodziny 50%, potem 100%.
- Tylko średniotygodniowe – nadgodziny dobowe nie są pomniejszane. Natomiast nadgodziny średniotygodniowe są pomniejszane, ponieważ przy sprawdzaniu, czy doszło do przekroczenia normy średniotygodniowej uwzględniamy czas przepracowany, który jest pomniejszony o czas niedogodzin – wg wzoru: X = CZAS PRZEPRACOWANY + CZAS USPRAWIEDLIWIONYCH NIEOBECNOŚCI – NADGODZINY DOBOWE – NORMA i gdy: X>0 – to oznacza, że wystąpiły nadgodziny średniotygodniowe, X<=0 – to oznacza, że nie wystąpiły nadgodziny średniotygodniowe
- Średniotygodniowe, dobowe 100%, 50% – w pierwszej kolejności pomniejszane są nadgodziny średniotygodniowe na koniec okresu rozliczeniowego pod warunkiem, że ich ilość jest wystarczająca do zbilansowania wszystkich niedogodzin z całego okresu rozliczeniowego. W przypadku, gdy ilość nadgodzin średniotygodniowych od początku okresu rozliczeniowego nie jest wystarczająca, to występujące niedogodziny na bieżąco będą pomniejszać nadgodziny dobowe – w pierwszej kolejności 100%, potem 50%. Nieobecności nieusprawiedliwione nigdy nie pomniejszają nadgodzin dobowych, tylko średniotygodniowe.
- Średniotygodniowe, dobowe 50%, 100% – działanie opisane jak wyżej, tylko kolejność pomniejszania nadgodzin dobowych jest najpierw 50%, potem 100%.
Przykład bilansowania przy podziale na nadgodziny dobowe i średniotygodniowe (okres 1 miesięczny)
Pon. | Wt. | Śr. | Czw. | Piąt. | Sob. | Niedz. | Suma | |
---|---|---|---|---|---|---|---|---|
Plan pracy | 08:00 | 08:00 | 08:00 | 08:00 | 08:00 | 00:00 | 00:00 | 40h |
Rzeczywisty czas pracy | urlop | 10:00 | 08:00 | 06:00 | 06:00 | 03:00 | 00:00 | 33h |
Powyżej planu | +2:00 | +3:00 | +5h | |||||
Poniżej planu | -2:00 | -2:00 | -4h | |||||
- Z uwzględnieniem standardowych świąt – zaznaczony
- Podział dopłat na nadgodziny dobowe i średniotygodniowe – zaznaczony
Przykład bilansowania przy podziale na nadgodziny dobowe i średniotygodniowe (okres 3 miesięczny)
- Z uwzględnieniem standardowych świąt – zaznaczony
- Podział dopłat na nadgodziny dobowe i średniotygodniowe – zaznaczony
Pon. | Wt. | Śr. | Czw. | Piąt. | Sob. | Niedz. | Suma | |
---|---|---|---|---|---|---|---|---|
Plan pracy | 08:00 | 08:00 | 08:00 | 08:00 | 08:00 | 00:00 | 08:00 | 40h |
Rzeczywisty czas pracy | urlop | 09:00 | 08:00 | 08:00 | 06:00 | 04:00 | 08:00 | 43h |
Powyżej planu | +1:00 | +4:00 | +5h | |||||
Poniżej planu | -2:00 | -2h | ||||||
Pon. | Wt. | Śr. | Czw. | Piąt. | Sob. | Niedz. | Suma | |
---|---|---|---|---|---|---|---|---|
Plan pracy | 08:00 | 08:00 | 08:00 | 08:00 | 08:00 | 00:00 | 00:00 | 40h |
Rzeczywisty czas pracy | 08:00 | 08:00 | 08:00 | 12:00 | 05:00 | 00:00 | 00:00 | 41h |
Powyżej planu | +4:00 | +4h | ||||||
Poniżej planu | -3:00 | -3h | ||||||
Pon. | Wt. | Śr. | Czw. | Piąt. | Sob. | Niedz. | Suma | |
---|---|---|---|---|---|---|---|---|
Plan pracy | 08:00 | 08:00 | 08:00 | 08:00 | 08:00 | 00:00 | 00:00 | 40h |
Rzeczywisty czas pracy | 08:00 | 08:00 | 08:00 | 10:00 | 07:00 | 00:00 | 04:00 | 45h |
Powyżej planu | +2:00 | +4:00 | +6h | |||||
Poniżej planu | -1:00 | -1h | ||||||
Marzec 2023 (trzeci miesiąc rozliczeniowy, ostatni) - liczymy najpierw nadgodziny dobowe, które nie pomniejszamy, a następnie nadgodziny średniotygodniowe, które są pomniejszane o niedogodziny i nieobecności nieusprawiedliwione (NN). Liczymy nadgodziny dobowe - 50% -> 2h (czwartek, praca ponad normę 8h) - 100% -> 0h Suma nadgodzin dobowych = 2h (50%) Liczymy nadgodziny średniotygodniowe: Czas przepracowany = 513h (163h styczeń + 161h luty +189h marzec) Czas usprawiedliwionych nieobecności = 8h (styczeń) Nadgodziny dobowe (z całego okresu rozliczeniowego) = 7h (1h styczeń + 4h luty + 2h marzec) Norma do nadgodzin = 12 pełnych tygodni * 40h + 5 dni brzegowych (27, 28, 29, 30, 31.03) * 8h – 1 dzień świąteczny (6.01) * 8h = 480h + 40h – 8h = 512h Czas przepracowany (513h) + czas usprawiedliwionych nieobecności (8h urlopu) - nadgodziny dobowe (7h) – norma (512h) = 513 + 8 – 7 - 512 = 2 > 0, czyli doszło do przekroczenia normy średniotygodniowej. W wypłacie zostaną naliczone elementy: - Wynagr. zasad. powyżej normy za 5h (6h-1h niedogodzina) - Dopłata do nadgodzin dobowych 50% za 2h - Dopłata do nadgodzin średniotygodn. 100% za 2h 2. Wyliczenie nadgodzin z bilansowaniem: Średniotygodniowe, dobowe 100%, 50% - w pierwszej kolejności pomniejszane są nadgodziny średniotygodniowe pod warunkiem, że ich ilość jest wystarczająca do zbilansowania wszystkich niedogodzin. W przypadku, gdy ilość nadgodzin średniotygodniowych od początku okresu rozliczeniowego nie jest wystarczająca, to występujące niedogodziny na bieżąco będą pomniejszać nadgodziny dobowe – w pierwszej kolejności 100%, potem 50%. Nieobecności nieusprawiedliwione nigdy nie bilansują nadgodzin dobowych, tylko średniotygodniowe. Styczeń 2023 (pierwszym miesiąc rozliczeniowy) Liczymy nadgodziny dobowe: - 50% -> 1h (wtorek, praca ponad normę 8h) - 100% -> 0h Suma nadgodzin dobowych = 1h (50%) Liczymy “potencjalne” nadgodziny średniotygodniowe od poczatku okresu rozliczeniowego, czyli za 1 mc (1.2023) bez uwzględnienia niedogodzin i NN, więc czas przepracowny jest powiększony o czas niedogodzin i NN. Czas przepracowany = 163h Czas niedogodzin i NN= 2h Czas usprawiedliwionych nieobecności = 8h Nadgodziny dobowe z bieżącego miesiaca = 1h (50%) Norma do nadgodzin =4 pełne tygodni * 40h + 2 dni brzegowe (30, 31.01) * 8h – 1 dzień świąteczny (6.01) * 8h = 160h + 16h – 8h = 168h Czas przepracowany (163h) + czas niedogodzin i NN (2h) + czas usprawiedliwionych nieobecności (8h urlopu) - nadgodziny dobowe z bieżącego mc (1h) – norma (168h) = 163 + 2 + 8 - 1 - 168 = 4 > 0, czyli ilość “potencjalnych” nadgodzin średniotygodnioych wynosi 4h. Sprawdzamy, czy ilość “potencjalnych” nadgodzin średniotygodniowych od początku okresu rozliczeniowego jest wystarczająca na zbilansowanie wszystkich niedogodzin i w przypadku, gdy: - ilość nadgodzin średniotygodniowych jest większa lub równa ilości niedogodziny, to nadgodziny dobowe nie są pomniejszane. - W przeciwnym przypadku, gdy ilość nadgodzin średniotygodniowych jest mniejsza niż ilości niedogodziny, to nadgodziny dobowe z bieżącego miesiąca są pomniejszane. W tym przypadku ilość “potencjalnych” nadgodzin średniotygodniowych (4h) jest większa niż niedogodzin (2h), więc nadgodziny dobowe z bieżącego miesiąca nie są pomniejszane. W wypłacie zostaną naliczone elementy: - Wynagr. zasad. powyżej normy za 3h (5h-2h niedogodziny) - Dopłata do nadgodzin dobowych 50% za 1h Luty 2023 (drugi miesiąc rozliczeniowy) Liczymy nadgodziny dobowe: - 50% -> 4h (czwartek, praca ponad normę 8h) - 100% -> 0h Suma nadgodzin dobowych = 4h (50%) Liczymy “potencjalne” nadgodziny średniotygodniowe od początku okresu rozliczeniowego, czyli za 2 mc (1-2.2023) bez uwzględnienia niedogodzin i NN, więc czas przepracowany jest powiększony o czas niedogodzin i NN. Czas przepracowany = 324h (163h styczeń + 161h luty) Czas niedogodzin i NN= 5h (2h styczeń + 3h luty) Czas usprawiedliwionych nieobecności = 8h (styczeń) Nadgodziny dobowe wypłacone = 1h Nadgodziny dobowe z bieżącego miesiaca = 4h (50%) Norma do nadgodzin = 8 pełnych tygodni * 40h + 2 dni brzegowe (27,28.02) * 8h – 1 dzień świąteczny (6.01) * 8h = 320h + 16h – 8h = 328h Czas przepracowany (324h) + czas niedogodzin i NN (5h) + czas usprawiedliwionych nieobecności (8h urlopu) - nadgodziny dobowe wypłacone (1h) – nadgodziny z bieżącego mc (4h) – norma (328h) = 324 + 5 + 8 - 1 – 4 - 328 = 4 > 0, czyli ilość “potencjalnych” nadgodzin średniotygodniowych wynosi 4h. Sprawdzamy, czy ilość “potencjalnych” nadgodzin średniotygodniowych od początku okresu jest wystarczająca na zbilansowanie wszystkich niedogodzin od początku okresu. W tym przypadku ilość “potencjalnych” nadgodzin średniotygodniowych (4h) jest mniejsza niż wszystkich niedogodzin (5h), więc nadgodziny dobowe z bieżacego miesiąca są pomniejszane o brakującą ilość nadgodzin średniotygodniowych zgodnie z wyliczeniem: Potencjalne nadgodziny średniotygodniowe (4h) – niedogodziny (5h) = - 1h – o tyle należy pomniejszyć nadgodziny dobowe z bieżącego miesiąca. Nadgodziny dobowe z bieżącego miesiąca = 4h (50%) - 1h (niedogodzina) = 3h. W wypłacie zostaną naliczone elementy: - Wynagr. zasad. powyżej normy za 1h (4h-1h niedogodzina) - Dopłata do nadgodzin dobowych 50% za 3h Marzec 2023 (trzeci miesiąc rozliczeniowy, ostatni) Liczymy nadgodziny dobowe: - 50% -> 2h (czwartek, praca ponad normę 8h) - 100% -> 0h Suma nadgodzin dobowych = 2h (50%) Liczymy “potencjalne” nadgodziny średniotygodniowe od poczatku okresu rozliczeniowego, czyli za 3 mc (1-3.2023) bez uwzględnienia niedogodzin i NN, więc czas przepracowany jest powiększony o czas niedogodzin i NN. Czas przepracowany = 513h (163h styczeń + 161h luty +189h marzec) Czas niedogodzin i NN= 6h (2h styczeń + 3h luty + 1h marzec) Czas usprawiedliwionych nieobecności = 8h (styczeń) Nadgodziny dobowe wypłacone = 4h (1h styczeń + 3h luty) Nadgodziny dobowe z bieżącego miesiaca = 2h (50%) Norma do nadgodzin =12 pełnych tygodni * 40h + 5 dni brzegowych (27, 28, 29, 30, 31.03) * 8h – 1 dzień świąteczny (6.01) * 8h = 480h + 40h – 8h = 512h Czas przepracowany (513h) + czas niedogodzin i NN (6h) + czas usprawiedliwionych nieobecności (8h urlopu) - nadgodziny dobowe wypłacone (4h) - nadgodziny dobowe z bieżącego mc (2h) – norma (512h) = 513 + 6 + 8 – 4 – 2 - 512 = 9 > 0, czyli ilość “potencjalnych” nadgodzin średniotygodniowych wynosi 9h. Sprawdzamy, czy ilość “potencjalnych” nadgodzin średniotygodniowych od początku okresu jest wystarczająca na zbilansowanie wszystkich niedogodzin od początku okresu. W tym przypadku ilość “potencjalnych” nadgodzin średniotygodniowych (9h) jest większa niż wszystkich niedogodzin (6h), więc nadgodziny dobowe z bieżącego miesiąca nie są pomniejszane. Nadgodziny dobowe z bieżacego miesiaca = 2h (50%) Na koniec wyliczamy ostateczną ilość nadgodzin średniotygodniowych od poczatku okresu rozliczeniowego, czyli za 3 mc (1-3.2023). Czas przepracowany = 513h (163h styczeń + 161h luty +189h marzec) Czas usprawiedliwionych nieobecności = 8h (styczeń) Nadgodziny dobowe wypłacone = 4h (1h styczeń + 3h luty) Nadgodziny dobowe z bieżącego miesiaca = 2h (50%) Norma do nadgodzin =12 pełnych tygodni * 40h + 5 dni brzegowych (27, 28, 29, 30, 31.03) * 8h – 1 dzień świąteczye (6.01) * 8h = 480h + 40h – 8h = 512h Czas przepracowany (513h) + czas usprawiedliwionych nieobecności (8h urlopu) - nadgodziny dobowe wypłacone (4h) - nadgodziny dobowe z bieżącego mc (2h) – norma (512h) = 513 + 8 – 4 – 2 - 512 = 3 > 0, czyli doszło do przekroczenia normy średniotygodniowej. W wypłacie zostaną naliczone elementy: - Wynagr. zasad. powyżej normy za 5h (6h- 1H niedogodzina) - Dopłata do nadgodzin dobowych 50% za 2h - Dopłata do nadgodzin średniotygodn. 100% za 3h 3. Wyliczenie nadgodzin z bilansowaniem: Średniotygodniowe, dobowe 50%, 100% - bilansowanie jest jak powyżej, tylko najpierw dobowe 50%, a następnie 100%.
10 Czas wolny za nadgodziny – Płace i Kadry Plus
Rekompensata za pracę w nadgodzinach - czasem wolnym
Praca w godzinach nadliczbowych może być rekompensowana czasem wolnym (art. 1512 k.p.). Udzielenie czasu wolnego za pracę w nadgodzinach zwalnia pracodawcę z obowiązku wypłaty dodatkowego wynagrodzenia za te nadgodziny. Udzielenie dnia wolnego w zamian za pracę w dniu wolnym oraz w niedzielę lub święto (do 8h) jest obowiązkiem pracodawcy. Jeżeli w trakcie trwania okresu rozliczeniowego nie jest to możliwe, wówczas należy wypłacić stosowne dodatki. Natomiast za pracę ponad normę/wymiar dobowy (powyżej 8h) w pierwszej kolejności należy się wypłata stosownych dodatków. Jednak tu też dopuszczalne jest odstępstwo od tej reguły i można takie nadgodziny wynagrodzić czasem wolnym.Ilość czasu wolnego za nadgodziny
Ilość udzielanego czasu wolnego za pracę nadliczbową zależy od tego, za jakie nadgodziny (dobowe, czy średniotygodniowe) jest przyznawany oraz na czyj wniosek (pracownika, czy pracodawcy). Poniżej znajduje się informacja, ile przysługuje czasu wolnego za dodatkowo przepracowane godziny – zależnie od rodzaju nadgodzin i na czyj wniosek:- w dni pracy po przekroczeniu wymiaru dobowego (nadgodziny dobowe) – na wniosek pracownika: za każdą nadgodzinę – 1 godzina czasu wolnego, – na wniosek pracodawcy: za każdą nadgodzinę – 1,5 godziny czasu wolnego.
- w dni wolne, w niedziele i święta po przekroczeniu normy dobowej (nadgodziny dobowe) – na wniosek pracownika: za każdą nadgodzinę – 1 godzina czasu wolnego, – na wniosek pracodawcy: za każdą nadgodzinę – 1,5 godziny czasu wolnego.
- w dni wolne, w niedziele i święta w granicach normy dobowej (nadgodziny średniotygodniowe) – bez względu na ilość przepracowanych godzin – 1 dzień wolny.
Czas wolny za nadgodziny w programie
W module Płacy i Kadry Plus udostępniona jest funkcjonalność odbierania nadgodzin. W kalendarzu czasu pracy pracownika, na danym wejściu w dniu znajduje się pole Odbiór nadgodzin z rozwijaną listą znaczników:- O.BM – nadgodziny do odbioru w bieżącym miesiącu (do strefy niewliczanej do czasu pracy)
- O.NM – nadgodziny do odbioru w kolejnym miesiącu (do strefy wliczanej do czasu pracy)
- W.PŁ – wolne za nadgodziny – płatne (do strefy wliczanej do czasu pracy)
- W.NP – wolne za nadgodziny – niepłatne (do strefy niewliczanej do czasu pracy)

Rys 19. Formularz wejścia na dniu pracy pracownika – odnotowanie nadgodzin do odbioru w bieżącym miesiącu
Sposób wynagradzania i wliczania do czasu pracy będzie odczytywany ze strefy, którą opisuje dany znacznik. Należy pamiętać, że opisy ‘O.NM’ i ‘W.PŁ’ mogą być uwzględniane wyłącznie dla wejść odnotowanych jako strefy wliczane do czasu pracy, a dwa pozostałe opisy ‘O.BM’ i ‘W.NP’ jako strefy niewliczanej do czasu pracy. Nieprawidłowe dopasowanie strefy i znacznika przy zapisie jest sygnalizowane komunikatem Wybrano niewłaściwy opis odbioru nadgodzin, niezgodny z wybraną strefą. Poniższa tabelka prezentuje powiązanie znaczników z odpowiednimi strefami czasu pracy. Można używać standardowych stref w programie (czas pracy podstawowej – wliczana do czasu pracy, czas przerwy – niewliczana do czasu pracy) lub zdefiniować własne na wzór standardowych.Znacznik | Rodzaj strefy czasu pracy – wliczanie do czasu przepracowanego oraz wynagradzanie | Wliczać do czasu pracy służącego do wyliczania nadgodzin |
---|---|---|
O.BM | niewliczana do czasu pracy, np. Czas przerwy bez wynagrodzenia | Nie |
O.NM | wliczana do czasu pracy, np. Czas pracy podstawowy wynagradzana 100% | Nie |
W.PŁ | wliczana do czasu pracy, np. Czas pracy podstawowy wynagradzana 100% | Tak |
W.NP | niewliczana do czasu pracy, np. Czas przerwy bez wynagrodzenia | Tak |
Wynagrodzenie za czas wolny (udzielony za nadgodziny)
Przy udzielaniu czasu wolnego bardzo ważne jest również, w jakim miesiącu ten czas wolny jest udzielany, tzn.: czy w tym samym miesiącu, w którym wystąpiły nadgodziny, czy w kolejnym miesiącu (do końca okresu rozliczeniowego) oraz na czyj wniosek: pracownika/pracodawcy. Udzielony czas wolny w tym samym miesiącu (co nadgodziny) charakteryzuje się tym, że pracownik ma prawo do normalnego wynagrodzenia za wszystkie godziny/dni wolne. Niepłatne są natomiast dodatkowo przepracowane nadgodziny, za które udzielono czasu wolnego, co prezentuje poniższa tabelka.Udzielenie czasu wolnego za nadgodziny w tym samym miesiącu | |||
---|---|---|---|
Rodzaj godzin pracy | Miesiąc wystąpienia nadgodzin (np. 1.2021) |
Miesiąc odbioru nadgodzin (np.1.2021) - czas wolny za nadgodziny na wniosek: |
|
pracownika | pracodawcy | ||
w dniu pracy ponad wymiar dobowy |
Ilość godzin: 1h Oznaczenie: O.BM (przerwa) Rozliczenie: Brak |
Ilość godzin: 1h Oznaczenie: W.PŁ (praca podst.) Rozliczenie: Brak |
Ilość godzin: 1,5h Oznaczenie: W.PŁ (praca podst.) Rozliczenie: Brak |
w dni wolne, niedziele i święta (powyżej normy dobowej 8h) |
Ilość godzin: 1h Oznaczenie: O.BM (przerwa) Rozliczenie: Brak |
Ilość godzin: 1h | Ilość godzin: 1,5h Oznaczenie: W.PŁ (praca podst.) Rozliczenie: Brak |
w dni wolne, niedziele i święta (do normy dobowej 8h) |
Ilość godzin: od 1h do 8h Oznaczenie: O.BM (przerwa) Rozliczenie: Brak |
Ilość godzin: 8h (cały dzień) Oznaczenie: W.PŁ (praca podst.) Rozliczenie: Brak |
Rys 21. Czas wolny za nadgodziny w jednomiesięcznym okresie rozliczeniowym
Udzielony czas wolny w innym miesiącu (niż nadgodziny) – przy dłuższym okresie rozliczeniowym czasu pracy – charakteryzuje się tym, że dodatkowo przepracowane nadgodziny są wynagradzane stawką zasadniczą w bieżącym miesiącu. W kolejnym miesiącu płatny jest tylko czas wolny udzielony za nadgodziny dobowe (ponad normę/wymiar) na wniosek pracodawcy (art. 1512 § 2 k.p.).Udzielenie czasu wolnego za nadgodziny w kolejnym miesiącu | |||
---|---|---|---|
Rodzaj godzin pracy | Miesiąc wystąpienia nadgodzin (np. 1.2021) |
Miesiąc odbioru nadgodzin (np.2.2021) - czas wolny za nadgodziny na wniosek: |
|
pracownika | pracodawcy | ||
w dniu pracy ponad wymiar dobowy |
Ilość godzin: 1h Oznaczenie: O.NM (praca podst.) Rozliczenie: Wynagr.powyżej normy (za 1h) |
Ilość godzin: 1h 1) Oznaczenie: W.NP (przerwa) Rozliczenie: Wynagr.poniżej normy (za 1h) |
Ilość godzin: 1,5h Oznaczenie: W.PŁ (praca podst.) Rozliczenie: Brak |
w dni wolne, niedziele i święta (powyżej normy dobowej 8h) |
Ilość godzin: 1h Oznaczenie: O.NM (praca podst.) Rozliczenie: Wynagr.powyżej normy (za 1h) |
Ilość godzin: 1h 1) Oznaczenie: W.NP (przerwa) Rozliczenie: Wynagr.poniżej normy (za 1h) |
Ilość godzin: 1,5h Oznaczenie: W.PŁ (praca podst.) Rozliczenie: Brak |
w dni wolne, niedziele i święta (do normy dobowej 8h) |
Ilość godzin: od 1h do 8h Oznaczenie: O.NM (praca podst.) Rozliczenie: Wynagr.powyżej normy (za 1 -8h) |
Ilość godzin: 8h (cały dzień) 2) Oznaczenie: W.NP (przerwa) Rozliczenie: Wynagr.poniżej normy (za 8h) |
Rys 22. Czas wolny za nadgodziny dla wielomiesięcznych okresów rozliczeniowych
1) Zgodnie z wykładnią prawa, pracownik nie nabywa prawa do wynagrodzenia za czas wolny udzielany w zamian za pracę w nadgodzinach, czyli udzielnie czasu wolnego w kolejnym miesiącu powoduje dysproporcję jego wynagradzania (w poszczególnych miesiącach okresu rozliczeniowego). W tej kwestii stanowisko zajął Sąd Najwyższy, który w wyroku z dnia 9 lutego 2010 r. (sygn. akt I PK 157/09) stwierdził, że wypłata normalnego wynagrodzenia za pracę w nadgodzinach rekompensowanych udzieleniem pracownikowi na jego wniosek czasu wolnego powinna nastąpić w okresie odbierania czasu wolnego. (W tej sytuacji w programie czas nadgodziny można oznaczyć tak jak odbiór w bieżącym miesiącu, czyli nadgodziny jako niepłatne (O.BM, czas przerwy) a czas wolny jako płatny (W.PŁ, praca podst.). 2) Gdy za 1 nadgodzinę w dniu wolnym (niedzielę / święto) udzielmy w kolejnym miesiącu dnia wolnego (8h) i oznaczymy jako niepłatne (jak mówią przepisy), to pracownik będzie stratny, będzie miał pomniejszenie wynagrodzenie za 8h. Działając na korzyść pracownika można oznaczyć dzień wolny jako płatny (W.PŁ, praca podst.) a nadgodziny jako niepłatne (O.BM, przerwa).
W programie z poziomu okna Listy pracowników dostępny jest wydruk „Pracownicy z czasem wolny za nadgodziny” (z menu wydruków: Pracownicy). Dodatkowo z poziomu formularza pracownika również dostępny jest wydruk „Czas wolny za nadgodziny” (z menu wydruków: Raporty). Wydruki te przedstawiają dane na temat udzielonego czasu wolnego za wypracowane nadgodziny oraz czas tych nadgodzin. Dane odczytywane są z kalendarza ‘(Nie)obecności’ pracownika z podziałem na poszczególne dni lub jako wartość łączna w podsumowaniu. Po oznaczeniu czasu pracy w poszczególnych dniach znacznikami O.BM, O.NM, W.PŁ, W.NP ilość czasu pracy będzie pokazywana na wydruku.Przykłady udzielania czasu wolnego za nadgodziny w dni pracy
Odbiór czasu wolnego w tym samym miesiącu – na wniosek pracownika
Dzień | Wejście | Godzina przyjścia | Godzina wyjścia | Przykładowa strefa | Znacznik |
---|---|---|---|---|---|
07.08 poniedziałek | W1 | 07:00 | 15:00 | czas pracy podstawowy | - |
W2 | 15:00 | 16:00 | czas przerwy (niewliczana do czasu pracy, niepłatna) |
O.BM | |
08.08 wtorek | W1 | 07:00 | 14:00 | czas pracy podstawowy | - |
W2 | 14:00 | 15:00 | czas pracy podstawowy (wliczana do czasu pracy, płatna) |
W.PŁ |
Odbiór czasu wolnego w tym samym miesiącu – na wniosek pracodawcy
Dzień | Wejście | Godzina przyjścia | Godzina wyjścia | Przykładowa strefa | Znacznik |
---|---|---|---|---|---|
07.08 poniedziałek | W1 | 07:00 | 15:00 | czas pracy podstawowy | - |
W2 | 15:00 | 16:00 | czas przerwy (niewliczana do czasu pracy, niepłatna) |
O.BM | |
08.08 wtorek | W1 | 07:00 | 13:30 | czas pracy podstawowy | - |
W2 | 13:30 | 15:00 | czas pracy podstawowy (wliczana do czasu pracy, płatna) |
W.PŁ |
Odbiór czasu wolnego w kolejnym miesiącu – na wniosek pracownika
Dzień | Wejście | Godzina przyjścia | Godzina wyjścia | Przykładowa strefa | Znacznik |
---|---|---|---|---|---|
07.08 poniedziałek | W1 | 07:00 | 15:00 | czas pracy podstawowy | - |
W2 | 15:00 | 16:00 | czas pracy podstawowy (wliczana do czasu pracy, płatna) |
O.NM | |
12.09 wtorek | W1 | 07:00 | 14:00 | czas pracy podstawowy | - |
W2 | 14:00 | 15:00 | czas przerwy (niewliczana do czasu pracy, niepłatna) |
W.NP |
Wynagrodzenie zostanie wypłacone za wszystkie przepracowane godziny 177h (176h + 1 nadgodzina), czyli:
Wynagrodzenie zasadnicze /miesiąc (praca.pdst) = 6000,00
Wynagr. zasad. powyżej normy (praca.pdst) = 34,09 (6000*1/176)
W 9.2023 do czasu pracy wliczamy 167h (‘czas pracy podstawowy’). Nie wliczamy tu 1h (‘Czas przerwy’ ze znacznikiem W.NP). Wynagrodzenie zostanie wypłacone za przepracowane godziny 167h (168h – 1h wolnego), czyli: Wynagrodzenie zasadnicze /miesiąc (praca.pdst) = 6000,00 Wynagr. zasad. poniżej normy (praca.pdst))= -35,71 (6000*1/168)Odbiór czasu wolnego w kolejnym miesiącu – na wniosek pracodawcy
Dzień | Wejście | Godzina przyjścia | Godzina wyjścia | Przykładowa strefa | Znacznik |
---|---|---|---|---|---|
09.08 poniedziałek | W1 | 07:00 | 15:00 | czas pracy podstawowy | - |
W2 | 15:00 | 16:00 | czas pracy podstawowy (wliczana do czasu pracy, płatna) |
O.NM | |
07.09 wtorek | W1 | 07:00 | 13:30 | czas pracy podstawowy | - |
W2 | 13:30 | 15:00 | czas pracy podstawowy (wliczana do czasu pracy, płatna) |
W.PŁ |
Wynagrodzenie zasadnicze /miesiąc (praca.pdst) = 6000,00
Wynagr. zasad. powyżej normy (praca.pdst) = 34,09 (6000*1/176)
W 9.2023 do czasu pracy wliczamy 166,5h (‘czas pracy podstawowy’) + 1,5h (‘czas pracy podstawowy’ ze znacznikiem W.PŁ) = 168h. Wynagrodzenie zostanie wypłacone za pełny wymiar czasu pracy (168h), choć pracownik przepracował 166,5 h(168h – 1,5h wolnego), czyli: Wynagrodzenie zasadnicze /miesiąc (praca.pdst) = 6000,00Przykłady udzielania czasu wolnego za nadgodziny w dni wolne do normy dobowej
Odbiór czasu wolnego w tym samym miesiącu
Dzień | Wejście | Godzina przyjścia | Godzina wyjścia | Przykładowa strefa | Znacznik |
---|---|---|---|---|---|
12.08 sobota | W1 | 07:00 | 13:00 | czas przerwy (niewliczana do czasu pracy, niepłatna) |
O.BM |
14.08 poniedziałek | W1 | 07:00 | 15:00 | czas pracy podstawowy (wliczana do czasu pracy, płatna) |
W.PŁ |
Odbiór czasu wolnego w kolejnym miesiącu
Dzień | Wejście | Godzina przyjścia | Godzina wyjścia | Przykładowa strefa | Znacznik |
---|---|---|---|---|---|
12.08 sobota | W1 | 07:00 | 13:00 | czas pracy podstawowy (wliczana do czasu pracy, płatna) |
O.NM |
04.09 poniedziałek | W1 | 07:00 | 15:00 | czas przerwy (niewliczana do czasu pracy, niepłatna) |
W.NP 1) |
Wynagrodzenie zasadnicze /miesiąc (praca.pdst) = 6000,00
Wynagr. zasad. powyżej normy (praca.pdst) = 204,55 (6000*6/176)
W 9.2023 do czasu pracy wliczamy 160h (‘czas pracy podstawowy’). Nie wliczamy tu 8h (‘Czas przerwy’ ze znacznikiem W.NP). Wynagrodzenie zostanie wypłacone za przepracowane godziny 160h (168h – 8h wolnego), czyli: Wynagrodzenie zasadnicze /miesiąc (praca.pdst) = 6000,00Wynagr. zasad. powyżej normy (praca.pdst) = -285,71 (6000*8/168)
Wydruki ewidencji czasu pracy
Wydruk karty pracy dostępny jest z Formularza pracownika/ Wydruki kadrowe/ Karta pracy lub z Listy pracowników/ Wydruki kadrowe/ Karta pracy – wszyscy (wydruk dla zaznaczonych). Oba wydruki mają możliwość drukowania pełnej informacji o czasie pracy w poszczególnych dniach lub może to być wydruk samego podsumowania. Na wydruku ze szczegółami karty pracy, obok dni kalendarzowych wykazany jest typ dnia (Pracy, Wolny, Święto) oraz oznaczenie dla dni wolnych/świątecznych, np. W5 – wolne z tytułu 5 dniowego tygodnia pracy, ND – niedziela, ŚW – święto. Można korzystać z standardowych opisów dni wolnych albo dodać własne z poziomu: Start/Konfiguracja / Firma / Płace / Opisy rodzajów dni wolnych do karty pracy. Kolejne kolumny obrazują ilościowo: godziny z planu pracy, rzeczywiście przepracowane godziny, czas pracy ponad i poniżej planu oraz godziny przepracowane w nocy. Osobna kolumna pokazuje nazwę nieobecności, która wystąpiła w danym dniu. W podsumowaniu wykazywana jest informacja o łącznej ilości czasu nadgodzin 50% i 100% rozliczonych w wypłacie. (Ta informacja pobiera jest z naliczonych standardowych dopłat do nadgodzin).- O.BM – nadgodziny do odbioru w bieżącym miesiącu,
- O.NM – nadgodziny do odbioru w kolejnym miesiącu,
- W.PŁ – wolne za nadgodziny – płatne,
- W.NP – wolne za nadgodziny – niepłatne.
Różnicowe wyliczenie wynagrodzenia za nadgodziny i godziny nocne
W przypadku, gdy za nadgodziny oraz pracę w nocy za wskazany miesiąc (np. 6.2023) zostało już wypłacone wynagrodzenie, a następnie zostały naniesione kolejne nadgodziny, czy praca w porze nocnej (za już rozliczony miesiąc 6.2023), to istnieje możliwość naliczenia różnicowo wynagrodzenia za dopisane nadgodziny oraz godziny nocne:
- na liście płac etatowej za kolejny miesiąc (7.2023) z opcją wstecz: 1 miesiąc
- lub ewentualnie na drugiej liście płac etatowej za ten sam miesiąc (6.2023).
W przypadku naliczenia wypłaty na liście płac z opcją ‘Mies. wstecz’ lub na dodatkowej liście nastąpi weryfikacja za ile godzin w danym miesiącu obecnie przysługuje dopłat do nadgodzin, dopłat za pracę w nocy czy wynagrodzenie powyżej/poniżej, a następnie tą ilość pomniejszy o ilość godzin, które już były rozliczone w innych wypłatach za ten miesiąc. Różnicowe wyliczenie wynagrodzenia powyżej/poniżej normy będzie dokonywane tylko w przypadku, gdy w naliczanej wypłacie te elementy mają taki sam okres od-do jak już wypłacone w innych wypłatach za ten sam okres.
Różnicowe rozliczenie wynagrodzenia za nadgodziny / porę nocną dotyczy standardowych elementów:- Dopłata do nadgodzin 50%,
- Dopłata do nadgodzin 100%,
- Dopłata do nadgodzin dobowych 50%,
- Dopłata do nadgodzin dobowych 100%,
- Dopłata do nadgodzin średniotygodniowych 100%,
- Dopłata za pracę w nocy,
- zasad. powyżej normy
- zasad. poniżej normy
Przykład różnicowego rozliczenia wynagrodzenia za nadgodziny i godziny nocne
- 07.2023 (piatek, w planie 8h) od 10:00 do 23:00 (13h), czyli 5 nadgodzin dobowych, w tym 1h nocna (22:00-23:00).
- 07.2023 (sobota, w planie 0h) od 10:00 do 15:00 (5 nadgodzin średniotygodniowych)
- nadgodziny dobowe 50% = 4h
- nadgodziny dobowe 100% = 1h, ponieważ przypada w porze nocnej
- Wynagrodzenie zasadnicze /miesiąc = 6000 (za 168h)
- Wynagr. zasad. powyżej normy = 357,14 (za 10h wg wyliczenia: 6000/168*10h)
- Dopłata do nadgodzin dobowych 50% = 71,43 (za 4h wg wyliczenia 6000/168*50%*4h)
- Dopłata do nadgodzin dobowych 100% = 35,71 (za 1h wg wyliczenia 6000/168*1h)
- Dopłata do nadgodzin średniotygodn. 100% = 178,57 (za 5h, wg wyliczenia 6000/168*5h)
- Dopłata za pracę w nocy = 4,29 (za 1h wg wyliczenia 3600/168*20%*1h)
- 28.07.2023 (piatek, w planie 8h) od 12:00 do 23:00 (11h), czyli 3 nadgodziny dobowe, w tym 1h nocna (22:00-23:00).
- 29.07.2023 (sobota, w planie 0h) od 12:00 do 16:00 (4 nadgodziny średniotygodniowe)
- nadgodziny dobowe 50% = 2h
- nadgodziny dobowe 100% = 1h, ponieważ przypada w porze nocnej
- nadgodziny sredniotygodniowe = 4h
- Wynagrodzenie zasadnicze /miesiąc za 7.2023 = 6000 (za 176h)
- Wynagr. zasad. powyżej normy = 250,00 (za 7h wg wyliczenia: 6000/168*7h)
- Dopłata do nadgodzin dobowych 50% = 35,71 (za 2h wg wyliczenia 6000/168*50%*4h)
- Dopłata do nadgodzin dobowych 100% = 35,71 (za 1h wg wyliczenia 6000/168*1h)
- Dopłata do nadgodzin średniotygodn. 100% = 142,86 (za 4h, wg wyliczenia 6000/168*4h)
- Dopłata za pracę w nocy = 4,29 (za 1h wg wyliczenia 3600/168*20%*1h)
OPT053 - Kontrola wysokości potrąceń
Data aktualizacji: 28-06-2023
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.
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.
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.
- 681,97 zł – przy potrącaniu należności alimentacyjnych,
- 1 125,26 zł – przy potrącaniu innych należności.
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.
- 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.


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.
- Podlegające egzekucji do [ ]% kwoty netto (domyślnie podpowiadane jest 0%).
- Podlegające egzekucji do [ ]% kwoty netto (domyślnie podpowiadane jest 0%).
- Pozostałe wynagrodzenia podlegają egzekucji do [ ]% kwoty netto (domyślnie podpowiadane jest 0%).
- Kwota wolna od potrąceń [ ]% minimalnej płacy (domyślnie podpowiadane 0%). )
- Podlegają egzekucji do [ ]% kwoty (domyślnie 0%).
- 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.

Formularz grupy ograniczeń - zakładka Ogólne
Zakładka [Dodatkowe] formularza, gdzie Użytkownik może wybrać pod przyciskiem
Podnieś – podwyższa priorytet naliczania,
Obniż – obniża priorytet naliczania.

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).
- 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”.
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”.
- 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”.
Wskaźniki obliczeniowe
Potrącenia alimentacyjne | Potrącenia komornicze |
---|---|
Od wynagrodzeń |
|
Maksymalna kwota potrącenia – 60% kwoty netto | Maksymalna kwota potrącenia – 50% kwoty netto |
Gwarantowana kwota wolna – 0% minimalnej płacy netto | Gwarantowana kwota wolna – 100% minimalnej płacy netto |
Od zasiłków |
|
---|---|
Maksymalna kwota potrącenia – 60% kwoty zasiłku brutto | Maksymalna kwota potrącenia – 25% kwoty zasiłku brutto |
Gwarantowana kwota wolna – 681,97 zł | Gwarantowana kwota wolna – 1 125,26 zł zł |
Minimalna płaca netto dla: |
1/1 etat | ½ etatu | ¾ etatu | ¼ etatu | ||
---|---|---|---|---|---|---|
1 | 0.5 | 0.75 | 0.25 | |||
Koszty uzyskania przychodu podstawowe (250,00) | Ulga podatkowa (miesięczna – 300) | Podstawowe wpłaty na PPK | 2 705,86 | 1 377,43 | 2 066,15 | 712,78 |
Koszty uzyskania przychodu podstawowe (250,00) | Ulga podatkowa (miesięczna – 300) | Brak | 2 783,86 | 1 413,43 | 2 120,15 | 730,78 |
Koszty uzyskania przychodu podwyższone (300,00) | Ulga podatkowa (miesięczna – 300) | Podstawowe wpłaty na PPK | 2 711,86 | 1 377,43 | 2 066,15 | 721,28 |
Koszty uzyskania przychodu podwyższone (300,00) | Ulga podatkowa (miesięczna – 300) | Brak | 2 789,86 | 1 413,43 | 2 120,15 | 739,28 |
Koszty uzyskania przychodu podstawowe (250,00) | Brak | Brak | 2 483,86 | 1 257,43 | 1 870,15 | 643,72 |
Koszty uzyskania przychodu podwyższone (300,00) | Brak | Brak | 2 489,86 | 1 263,43 | 1 876,15 | 649,72 |
Brak | Ulga podatkowa (miesięczna – 300) | Brak | 2 753,86 | 1 413,43 | 2 120,15 | 706,72 |
Brak | Brak | Brak | 2 453,86 | 1 227,43 | 1 840,15 | 613,72 |
Kwota wolna od zasiłków | 1/1 etatu | ½ etatu | ¾ etatu | ¼ etatu |
---|---|---|---|---|
1 | 0.5 | 0.75 | 0.25 | |
Alimenty | 681,97 | 340,99 | 511,48 | 170,49 |
Komornik | 1 125,26 | 562,63 | 843,95 | 281,32 |
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 2023).- 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 Kwota Wolna_W. Kwota wolna to 100% minimalnej płacy z uwzględnieniem wymiaru etatu, tj. 3600,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.
- 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,
- 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ń.

- ‘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
- Ustalenie dopuszczalnej wysokości potrącenia komorniczego :
4000,00 zł – 548,40 zł (składki ZUS pracownika) = 3 451,60 zł (podstawa składki zdrowotnej)
3 451,60 zł * 9% = 310,64 zł (składka zdrowotna pobrana)
4000,00 zł – 548,40 zł – 300,00zł (K.U.P. podwyższone) = 3 151,60 zł => po zaokrągleniu 3152,00 zł (podstawa opodatkowania) * 12% – 300,00 zł (ulga) = 78,24 zł -> po zaokrągleniu 78,00 zł (zaliczka podatku)
4000,00 – 548,40 – 310,64 – 78 = 3062,96 (kwota netto) Obliczamy kwotę maksymalnego potrącenia (komorniczego), tj. ½ wynagrodzenia netto: 3062,96 * ½ = 1531,48 zł. Dopuszczalna wielkość potrącenia komorniczego wynosi 1531,48 zł (Kwota_W1)- Ustalenie kwoty wynagrodzenia wolnej od potrącenia komorniczego:
3600,00 zł – 493,56 zł (składki ZUS pracownika) – 279,58 zł (składka zdrowotna) – 37,00 zł (zaliczka podatku) = 2 789,86 zł
Kwota netto wolna od potrącenia komorniczego (dla pełnego etatu) wynosi 2 789,86 zł (KwotaWolna_W)- Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:


- Ustalenie dopuszczalnej wysokości potrącenia komorniczego:
- Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:
- Ustalenie dopuszczalnej wysokości potrącenia:
- Ustalenie kwoty wynagrodzenia wolnej od potrącenia komorniczego:
- Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:
- Ustalenie dopuszczalnej wysokości potrącenia:
- Ustalenie kwoty wynagrodzenia wolnej od potrącenia komorniczego:
- Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:
- Ustalenie dopuszczalnej wysokości potrącenia komorniczego:
- Kwota zasiłku wolna od potrącenia komorniczego (dla pełnego etatu): 878,81 zł
- Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:

4000,00 – 266,67 (pomn. 1/30) = 3733,33 zł - wynagrodzenie zasadnicze pomniejszone o nieobecność
184,08 zł - zasiłek opiekuńczy brutto
- Ustalenie dopuszczalnej wysokości potrącenia od wynagrodzenia zasadniczego:
- Kwota wynagrodzenia wolna od potrącenia komorniczego:
- Kwota zasiłku wolna od potrącenia komorniczego (dla pełnego etatu): 1 125,26 zł

- Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:
- Ustalenie dopuszczalnej wysokości potrącenia komorniczego z zasiłku:
- Ustalenie kwoty wolnej od potrąceń dla zasiłku proporcjonalnie do liczby dni zasiłku
- Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego z zasiłku:
- Ustalenie dopuszczalnej wysokości potrącenia alimentacyjnego z wynagrodzenia:
- Kwota wynagrodzenia wolna od potrącenia alimentacyjnego:
- Ustalenie możliwej do zrealizowania kwoty potrącenia alimentacyjnego oraz pożyczki:
Wynagrodzenie pracownika po uwzględnieniu potrącenia alimentacyjnego: 2 735,54 – 300,00 = 2435,54 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:
2435,54 – 250,00 – 2,50 = 2183,04 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:
- Kwota wynagrodzenia wolna od potrącenia alimentacyjnego:
- Ustalenie możliwej do zrealizowania kwoty potrącenia alimentacyjnego:
- Kwota wynagrodzenia wolna od potrąceń z innych tytułów:
- Ustalenie możliwej do zrealizowania kwoty potrącenia z innych tytułów:
- Ustalenie dopuszczalnej wysokości potrącenia komorniczego:
- Ustalenie kwoty wynagrodzenia wolnej od potrącenia komorniczego dla ¾ etatu:
- Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:
- Ustalenie dopuszczalnej wysokości potrącenia alimentacyjnego:
- Kwota wynagrodzenia wolna od potrącenia alimentacyjnego:
- Ustalenie możliwej do zrealizowania kwoty potrącenia alimentacyjnego:
2716,24 zł – 300,00 zł = 2416,34 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:
- Ustalenie kwoty potrącenia komorniczego możliwej do zrealizowania:
- Ustalenie dopuszczalnej wysokości potrącenia alimentacyjnego:
- Ustalenie kwoty potrącenia komorniczego możliwej do zrealizowania:
- Ustalenie dopuszczalnej wysokości potrącenia komorniczego podczas naliczania wypłaty Innej z premią na dzień 20.07:
- Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:
- Ustalenie dopuszczalnej wysokości potrącenia komorniczego podczas naliczania wypłaty etatowej na dzień 31.107:
- Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:
- Sprawdzamy czy kwota netto wypłaty etatowej pozwala na pobranie kwoty 954,33 tytułem egzekucji
- Ustalenie dopuszczalnej wysokości potrącenia komorniczego:
- Ustalenie kwoty wynagrodzenia wolnej od potrącenia komorniczego dla 1/2 etatu:
Obliczamy kwotę minimalnego wynagrodzenia dla 1/2 etatu, tj. 1/2 * 3600,00 = 1800 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 1 377,43 zł.
- Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:
Pracownik jest zatrudniony na pełnym etacie na stawce 4000,00 zł/mies., przysługują mu podstawowe koszty uzyskania przychodu 250,00zł i ulga podatkowa 300,00 zł.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:
- Ustalenie kwoty wynagrodzenia wolnej od potrącenia komorniczego dla 1/2 etatu:
- Ustalenie możliwej do zrealizowania kwoty potrącenia komorniczego:
Handel
OPT048 - Współpraca z urządzeniami zewnętrznymi w Comarch ERP Optima
Data aktualizacji: 04-08-2023
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, XL2 Online)
- 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)
Ustawienia portów COM
Parametry | Posnet | Elzab | Innova | Novitus | TORELL | EMAR |
---|---|---|---|---|---|---|
Szybkość | 9600 | 9600 / 19200 | 9600 | 9600 | 9600 | 9600 |
Parzystość | brak (none) | parzysta (even) | brak (none) | brak (none) | brak (none) | brak (none) |
Liczba bitów | 8 | 8 | 8 | 8 | 8 | 8 |
Bit stopu | 1 | 1 | 1 | 1 | 1 | 1 |
Sterowanie przepływem | brak | brak, xon/xoff, * | brak | brak | brak | brak |
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.
- Zmienić nazwę tego towaru (dodając np. kropkę na końcu). Towar kiedyś został sprzedany w innej stawce podatkowej, drukarka fiskalna to pamięta i nie pozwala wysłać takiego towaru z nową stawką.
- Jeżeli to nie pomoże to może być problem z błędnym przypisaniem stawki. Należy wtedy wydrukować raport dobowy, potem w programie Comarch ERP Optima w Konfiguracja programu/ Ogólne/ Symbole stawek VAT dla odpowiedniej stawki przypisać oznaczenie takie, jakie jest dla niej na raporcie dobowym.
- 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.
- 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ą.
Dodatkowe informacje
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.
- 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.
- 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.
Czytniki kodów kreskowych
Comarch ERP Optima współpracuje z każdym czytnikiem kodów kreskowych, który emuluje klawiaturę - ma możliwość wpięcia go do portu klawiatury. Czytnik możemy wykorzystywać do:- Wpisywania kodu EAN na formularz towaru. Karty cennikowe muszą mieć wypełnione pole EAN. Jeśli pozycja nie posiada własnego kodu (pole EAN jest puste) – wciśnięcie przycisku nadaje 13-znakowy kod EAN rozpoczynający się od 201 lub należy ustawić się w polu EAN i odczytać czytnikiem taki kod z towaru.
UwagaWpisany tu kod kreskowy jednoznacznie identyfikuje pozycję, tzn. w jednej bazie nie mogą istnieć dwa towary o takim samym kodzie paskowym.
- Odszukiwania pozycji w cenniku/ na liście zasobów – operacje można wykonać z poziomu Cennika/Listy zasobów – zakładka Wg EAN.
- Dopisywania pozycji na dokument, w tym celu należy w Konfiguracja/ Firma/ Handel/ Parametry zaznaczyć w sekcji Dodawanie pozycji na dokumencie parametr edycja na liście – Wprowadzenie towarów polega na ustawieniu się w dokumencie w tabelce z towarami i odczyt czytnikiem kodu EAN, program szuka na liście zasobów pozycji o zadanym kodzie i jeśli taki kod istnieje pozycja zostanie dopisana. Pozostaje ustalenie ilości i ceny.
- Wprowadzania towaru jako składnika na recepturę.
- 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.
- Towar o wadze 1,525 kg jest oznaczony numerem 29 1234 V 01525 K. Numer 1234 jest numerem tego towaru.
- Towar o masie np. 1,52 kg jest oznaczony numerem 27 0001 V 01520 K. Numer 0001 jest numerem danego towaru.
Drukarki etykiet
System Comarch ERP Optima współpracuje z następującymi drukarkami etykiet:- Dymo z serii Label Writer: 400 i 450 (Duo i Turbo)
- Brother: QL-560 i QL-580N
- Dymo – Wzór: 57 x 32mm, 89 x 36 mm
- Brother – Wzór: 29 x 90 mm, 62 x 100 mm
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
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
- Protokół – SKKBHT
- Prędkość transmisji – 9600
- Parzystość – Brak
- Bity danych – 8
- Bity stopu – 1
- Długość rekordu – 24
- Początek pola kodu towaru – 0
- Koniec pola kodu towaru – 12
- Początek pola ilości – 14
- Koniec pola ilości – 23

Formularz dla ustawień kolektora Comarch ERP Optima
Import danych z kolektora do Comarch ERP Optima Po ustawieniu powyższych parametrów połączenia oraz zdefiniowaniu prawidłowej długości rekordu w kolektorze, wybieramy w kolektorze funkcję 1. Collect data i zaczytujemy do kolektora kody towarów EAN w odpowiednich ilościach. Następnie w kolektorze wybieramy opcję 2. Upload data a w programie Comarch ERP Optima na formularzu dokumentu ikoną Kolektor danych zaczytujemy dane z kolektora.Przeprogramowanie frameware kolektora Cipherlab
Jeżeli kolektor posiadał wgrane oprogramowanie importera, a nie oryginalne producenta należy wówczas takiemu kolektorowi przeprogramować jego środowisko programowe, tzw. „frameware”. Pliki zawierające środowisko programowe kolektora mają rozszerzenie .SHX, dostępne do pobrania ze strony producenta. W momencie włączenia kolektora na dole ekranu pod napisem „Welcome” możemy sprawdzić jaka jest jego obecna wersja frameware. Aby przeprogramować kolektor należy wykonać następujące czynności:- Wyłączamy kolektor.
- Włączamy kolektor kombinacją klawiszy: 7,9 i przycisk włącz (Power).
- Wybieramy: 6. Load Program -> 1. Cradle-IR -> 6. Baud rate: 9600 -> please place In Cradle (odstawiamy kolektor na tranceiver).
- Uruchamiamy program ProgLoad.exe. Podajemy typ komunikacji, numer portu COM, prędkość transmisji oraz wskazujemy plik .SHX z frameware, zgodnie z rysunkiem 4.
- Wciskamy przycisk OK. Po nawiązaniu połączenia z kolektorem i wykonaniu downloadu wyłączamy kolektor.
- Włączamy kolektor i wykonujemy programowanie Generatorem Aplikacji zgodnie z punktem 5.1.

Formularz programu ProgLoad
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.
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
- 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
- Długość rekordu: 30
- Pocz. pola towaru: 0
- Koniec pola tow.:19
- Pocz. pola ilość: 21
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
- Protokół – SKKBHT
- Prędkość transmisji – 19200
- Parzystość – Brak
- Bity danych – 8
- Bity stopu – 1
- 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
- Polskie ePłatności
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

Importowane dane
Kontrahenci
Arkusz MS Excel – należy zapisać jako skoroszyt programu MS Excel 97-2003. Wymagane są trzy kolumny: Kod, Nazwa, NIP Nazwa arkusza w pliku może być dowolna. Jeśli w pliku jest więcej wypełnionych arkuszy szukany jest pierwszy, który ma kolumnę NIP. Lista form płatności budowana jest w oparciu o pola: FormaPlatnosci i TerminPlatnosci Wszystkie płatności przypinane są do kasy gotówkowej. Dla każdego kontrahenta importowane są następujące pola:Arkusz Kontrahenci | |||
---|---|---|---|
Lp. | Nazwa pola w tabeli CDN.Kontrahenci | Nazwa pola w arkuszu Kontrahenci | Wartości wymagane w polu arkusza |
1. | Knt_Kod | Kod | Kod kontrahenta – pole obowiązkowe |
2. | Knt_Nazwa1 | Nazwa | Nazwa kontrahenta cz.1 – pole obowiązkowe |
3. | Knt_Nazwa2 | Nazwa2 | Nazwa kontrahenta cz. 2 |
4. | Knt_Nazwa3 | Nazwa3 | Nazwa kontrahenta cz. 3 |
5. | Knt_Telefon | Telefon | Numer telefonu |
6. | Knt_Telefon2 | Telefon2 | Drugi numer telefonu |
7. | Knt_TelefonSms | TelefonSms | Telefon dla SMS |
8. | Knt_Fax | Fax | Numer faxu |
9. | Knt_Ulica | Ulica | Adres kontrahenta – ulica |
10. | Knt_NrDomu | NrDomu | Adres kontrahenta – numer budynku |
11. | Knt_NrLokalu | NrLokalu | Adres kontrahenta – numer lokalu |
12. | Knt_KodPocztowy | KodPocztowy | Kod pocztowy miasta kontrahenta |
13. | Knt_Poczta | Poczta | Poczta |
14. | Knt_Miasto | Miasto | Miasto |
15. | Knt_Kraj | Kraj | Kraj |
16. | Knt_Wojewodztwo | Wojewodztwo | Województwo |
17. | Knt_Powiat | Powiat | Powiat – pole niedostępne na formularzu kontrahenta, możliwe uzupełnienie z poziomu bazy danych |
18. | Knt_Gmina | Gmina | Gmina – pole niedostępne na formularzu kontrahenta, możliwe uzupełnienie z poziomu bazy danych |
19. | Knt_URL | URL | Adres strony WWW kontrahenta |
20. | Knt_Grupa | Grupa | Grupa kontrahentów |
21. | Knt_Finalny | OsobaFizyczna | 0 – podmiot gospodarczy |
1 – osoba fizyczna | |||
22. | Knt_NIPE | NIP | Numer NIP – pole obowiązkowe |
23. | Knt_NIPKraj | NIPKraj | Przedrostek NIP dla krajów UE |
24. | Knt_Zezwolenie | Zezwolenie | Numer zezwolenia na działalność gospodarczą |
25. | Knt_Regon | Regon | Numer REGON |
26. | Knt_Pesel | Pesel | Numer PESEL |
27. | Knt_Email | Adres e-mail | |
28. | Knt_RachunekNr | BankRachunekNr | Numer rachunku kontrahenta |
29. | Knt_BnkNazwa | BankNazwa | Nazwa banku |
30. | Knt_OsNazwisko | Osoba | Nazwisko przedstawiciela |
31. | Knt_Opis | Opis | Dodatkowy opis kontrahenta |
32. | Knt_Rodzaj | Rodzaj | O – odbiorca, D – dostawca, K – konkurencja, P – partner, T – klient potencjalny |
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowane jest O (odbiorca) | |||
33. | Knt_PodatekVAT | PlatnikVAT | 0 – (zero) kontrahent nie jest płatnikiem VAT |
1 – kontrahent jest płatnikiem VAT | |||
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowane jest 1 (płatnik VAT) | |||
34. | Knt_PodatekVat | PodatnikVatCzynny | Podatnik VAT czynny |
0 – parametr niezaznaczony | |||
1 – parametr zaznaczony | |||
35. | Knt_Export | Eksport | 0 – (zero) kontrahent krajowy |
1 – kontrahent pozaunijny | |||
2 – pozaunijny (zwrot VAT) | |||
3 – kontrahent UE | |||
4 – wewnątrzunijny trójstronny | |||
5 – podatnikiem jest nabywca | |||
6 – poza terytorium kraju | |||
7 – poza terytorium kraju (stawka np.) | |||
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowane jest 0 – (zero) kontrahent krajowy. | |||
W przypadku kontrahentów wewnątrzunijnych oraz wewnątrzunijnych trójstronnych z kolumny NIPKraj pobierany jest wymagany kod kraju UE. | |||
36. | Knt_LimitKredytu | LimitKredytu | Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowane jest 0 (zero) |
37. | Knt_Termin | Termin | Termin płatności – określany w dniach od daty wystawienia dokumentu. |
38. | Knt_FplID z CDN.FormyPlatnosci | FormaPlatnosci | Słownie wyrażona forma płatności. Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowane jest gotówka. |
39. | Knt_Ceny | Ceny | Cena dla klienta |
0 – cena domyślna | |||
1 – cena zakupu | |||
2 – pierwsza cena sprzedaży | |||
3 – druga cena sprzedaży | |||
4 – trzecia cena sprzedaży | |||
5 – czwarta cena sprzedaży | |||
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowane jest 2 (pierwsza cena sprzedaży). Jeśli w bazie, do której importujemy nie ma ceny z arkusza to jako cena domyślna ustawiana jest cena „domyślna”. | |||
40. | Knt_Ceny | CenyNazwa | Nazwa ceny domyślnej np. hurtowa 2 |
Cena domyślna jest ustalana na podstawie nazwy, a jeśli nazwa nie zostanie znaleziona w bazie danych to cena domyślna ustalana jest na podstawie numeru z kolumny: Ceny | |||
41. | CDN.Rabaty, dla Rab_typ=2 (jeden kontrahent / wszystkie towary) | Upust | Wartość upustu. Jeżeli kontrahent na 10% upustu należy wpisać 10 (bez znaczka procentu). |
42. | Knt_NieNaliczajOdsetek | NieNaliczajOdsetek | Nie naliczać odsetek dla płatności kontrahenta. |
43. | Knt_MetodaKasowa | MetodaKasowa | Metoda kasowa |
0 – niezaznaczony żaden parametr | |||
1 – Zakup (parametr zależny od Podatnik VAT czynny) | |||
2 – Sprzedaż | |||
44. | Knt_WindykacjaEMail | WindykacjaEMail | Adres poczty e-mail osoby reprezentującej firmę w sprawach windykacji należności. |
45. | Knt_WindykacjaTelefonSms | WindykacjaTelefonSms | Telefon dla SMS |
46. | Knt_Algorytm | AlgorytmNettoBrutto | Domyślny algorytm naliczania podatku VAT na dokumentach handlowo – magazynowych |
0 – netto | |||
1 – brutto | |||
47. | Knt_Waluta | Waluta | Domyślna waluta kontrahenta |
Jeżeli waluty nie ma w programie, wówczas przy imporcie jest ona dodawana w Konfiguracji Programu /Ogólne/Waluty . |
Towary
Wymagane są trzy kolumny: Kod, Nazwa, JM Nazwa arkusza w pliku może być dowolna. Jeśli w pliku jest więcej wypełnionych arkuszy szukany jest pierwszy, który ma kolumnę J.M. lub JM W przypadku, gdy towar posiada więcej jednostek miary lub kodów EAN należy dodać odpowiednio arkusz: JednostkiMiary lub KodyKreskowe Dla arkusza JednostkiMiary wymagane pola to: KodTowaru, JMZ Dla arkusza KodyKreskowe wymagane pola to: KodTowaru, Ean, Domyslny W przypadku, gdy mają być importowani producenci lub marki należy dodać odpowiednio arkusz: Producenci lub Marki. Dla arkusza Producenci wymagane pole to: Kod Dla arkusza Marki wymagane pole to: Marka Aby zaimportować kody CN należy dodać arkusz KodyCN, dla którego wymagane jest pole Kod. Aby zaimportować dane towarowe dla sklepów internetowych (od wersji 2021.4) należy dodać odpowiednio arkusze eHandel, eHandelJezyki, eHandelJednostki. Arkusz eHandel zawiera dane dot. udostepnienia towaru w e-Sklep takie jak grupa domyślna do sklepu, statusy dostępności, koszty dostaw oraz atrybuty czasowe Dla arkusza eHandel wymagane pola to: KodTowaru, Grupa Arkusz eHandelJezyki zawiera dane dot. nazw i opisów towarów dla Comarch e-Sklep w językach obcych Dla arkusza eHandelJezyki wymagane pola to: KodTowaru, JęzykID, Nazwa Arkusz eHandelJednostki zawiera dane dot. Jednostek miar wysyłanych do Comarch e-Sklep Dla arkusza eHandelJednostki wymagane pola to: KodTowaru, JednostkaPomocnicza Jeżeli pozycja cennika jest towarem złożonym nie jest przenoszona receptura produktu. Nie są importowane waluty. Jako nazwy kolumn w arkuszu dla tabeli CDN.Towary mogą być stosowane również nazwy kolumn tej tabeli zgodne ze strukturą bazy danych, czyli poprawny zapis nazwy kolumny odpowiedzialnej za kod towaru to: Kod lub Twr_Kod Dla każdej pozycji cennika importowane są następujące pola:Arkusz Cennik | |||
---|---|---|---|
Lp. | Nazwa pola w tabeli CDN.Towary | Nazwa pola w arkuszu Cennik | Wartości wymagane w polu arkusza |
1. | Twr_Kod | Kod | Kod towaru - pole obowiązkowe |
2. | Twr_Nazwa | Nazwa | Nazwa towaru - pole obowiązkowe |
3. | Twr_Jm | JM | Nazwa jednostki miary - pole obowiązkowe |
4. | Twr_JMWysCm | WysokoscCm | Wysokość dla jednostki podstawowej (zakładka [Jednostki, EAN, VAT] na formularzu towaru |
5. | Twr_JMSzerCm | SzerokoscCm | Szerokość dla jednostki podstawowej (zakładka [Jednostki, EAN, VAT] na formularzu towaru |
6. | Twr_JMDlugCm | DlugoscCm | Długość dla jednostki podstawowej (zakładka [Jednostki, EAN, VAT] na formularzu towaru |
7. | Twr_JmZ | JmZ | Dodatkowa jednostka miary. Jeżeli towar posiada więcej jednostek miary należy dodać arkusz JednostkiMiary. |
8. | Twr.JMPrzelicznikL | Przelicznik_JmJmZ | Przelicznik podstawowej jednostki miary na jednostkę złożoną. |
Twr.JMPrzelicznikM | |||
9. | Twr_Typ | Typ | TP – towar prosty |
Twr_Produkt | TZ – towar złożony | ||
UP – usługa prosta | |||
UZ – usługa złożona | |||
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona, przyjmowana jest wartość TP (towar prosty), jeśli została pobrana licencja na Comarch ERP Optima Handel/ Handel Plus lub UP (usługa prosta), jeśli pobrano licencję tylko na Comarch ERP Optima Faktury. | |||
10. | Twr_NumerKat | NumerKatalogowy | Numer katalogowy |
11. | Twr_SWW | SWW | Numer PKWiU |
12. | Twr_TwGGIDNumer | Grupa | Grupa towarowa |
CDN.TwrGrupy | |||
13. | Twr_IloscMin | StanMin | Stan minimalny towaru na magazynie |
14. | Twr_IloscMax | StanMax | Stan maksymalny towaru na magazynie |
15. | Twr_Stawka | VAT | Liczba całkowita określająca stawkę VAT. Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowana jest wartość 23. |
16. | Twr_StawkaZak | VATZak | Liczba całkowita określająca stawkę VAT zakupu. Jeżeli kolumny te nie występują to stawka VAT zakupu jest ustawiana na taką samą jak stawka VAT sprzedaży. |
17. | Twr_Flaga | VATFlaga | 1 - zwolniona |
2 - opodatkowana | |||
3 - zaniżona | |||
4 - nie podlega | |||
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowana jest wartość 2. | |||
18. | Twr_FlagaZak | VatZakFlaga | 1 - zwolniona |
2 - opodatkowana | |||
3 - zaniżona | |||
4 - nie podlega | |||
Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona to wartość pola jest ustawiana na taką samą jak wartość pola Twr_Flaga. | |||
19. | Twr_EAN | EAN | Kod kreskowy |
20. | Twr_Opis | Opis | Opis towaru |
21. | Twr_Kaucja | OpakowanieKaucja | Kolumna powinna zawierać 1 jeśli towar jest opakowaniem kaucjonowanym i 0 w pozostałych przypadkach. |
22. | Twr_OdwrotneObciazenie | OdwrotneObciazenie | Parametr Odwrotne obciążenie (widoczny w oknie Pozycji cennika na zakładce [Ogólne] po zaznaczeniu w menu Start/Konfiguracja/ Firma/ Handel/ Parametry – Odwrotne obciążenie wg karty towaru ): |
0 – Nie | |||
1 – Tak | |||
2 – Powyżej limitu | |||
23. | Twr_CenaZCzteremaMiejscami | CenaZCzteremaMiejscami | Parametr Ceny z czterema miejscami po przecinku (widoczny w oknie Pozycji cennika na zakładce [Ogólne] po zaznaczeniu w menu Start/Konfiguracja/ Firma/ Handel/ Parametry – Ceny z czterema miejscami po przecinku ): |
0 – niezaznaczony | |||
1 – zaznaczony | |||
24. | Twr_TypMinimum | Granica ceny | 0 – brak granicy ceny, |
1 – minimalna marża, | |||
2 – maksymalny rabat. | |||
25. | Twr_MinCenaMarza | Minimalna cena/marża | Wartość ustalonej granicy ceny (min. marży/ max. rabatu). |
26. | Twr_Kntid (Id z tabeli CDN.Kontrahenci) | Dostawca | Dostawca (kod dostawcy z zakładki Dodatkowe na karcie towaru), Dostawca musi być wcześniej wprowadzony na listę kontrahentów oraz na swojej karcie musi mieć zaznaczony parametr Dostawca. |
27. | Twr_Koddostawcy | Kod u dostawcy | Kod u dostawcy (kod towaru u dostawcy z zakładki Dodatkowe na karcie towaru). |
28. | Twr_ProducentKod | Kod producenta | Kod producenta (kod towaru producenta z zakładki Dodatkowe na karcie towaru). |
29. | Twr_KosztUslugiTyp | KosztUslugiTyp | 1 - typ kwotowy |
2 – typ procentowy | |||
30. | Twr_KosztUslugi | KosztUslugi | Koszt usługi w przeliczeniu na PLN lub procent dla typu procentowego |
31. | Twr_KosztUslugiWal | KosztUslugiWal | Koszt usługi w walucie lub procent dla typu procentowego |
32. | Twr_Waluta | Waluta | Waluta ostatniej ceny zakupu |
33. | Twr_KCNId (Id z tabeli CDN.KodyCN) | Intrastat - kod CN | Ośmiocyfrowy kod CN. |
W sytuacji kiedy w arkuszu Cennik dla towaru uzupełniono kod CN, ale nie ma go bazie, do której wykonywany jest import i nie uzupełniono go w arkuszu KodyCN , kod ten nie zostanie uzupełniony na importowanej/ aktualizowanej kartotece towarowej. | |||
34. | Twr_KrajPochodzenia | Intrastat - kraj pochodzenia | Dwuznakowy symbol kraju pochodzenia towaru. |
35. | Twr_Masa | Intrastat - masa | Masa netto dla jednostki podstawowej towaru podana w kg. |
36. | Twr_JmPomPrzelicznikL | Intrastat - JmPomPrzelicznikL | Licznik przelicznika jednostki miary uzupełniającej przypisanej do kodu CN określającego jej stosunek do podstawowej jednostki miary towaru. |
37. | Twr_JmPomPrzelicznikM | Intrastat - JmPomPrzelicznikM | Mianownik przelicznika jednostki miary uzupełniającej przypisanej do kodu CN określającego jej stosunek do podstawowej jednostki miary towaru. |
38. | Twr_SplitPay | Podzielona płatność | Parametr MPP - podzielona płatność (widoczny w oknie Pozycji cennika na zakładce [Ogólne]): 0 - niezaznaczony 1 - zaznaczony |
39. | Prd_Kod | Producent | Producent towaru (zakładka [Dodatkowe] na formularzu towaru) |
40. | Mrk_Nazwa | Marka | Marka towaru (zakładka [Dodatkowe] na formularzu towaru) |
41. | Twc_wartosc dla Twc_TwcNumer=1 dla odpowiedniego towaru Twc_twrid | Cena zakupu | Cena zakupu |
42. | TwC_Waluta dla TwcNumer=1 dla odpowiedniego towaru Twc_twrid | Waluta Cena zakupu | Waluta ceny zakupu |
43. | Twc_wartosc dla Twc_TwcNumer= 2 | Cena hurtowa 1 | Cena hurtowa (1) |
44. | TwC_Waluta dla TwcNumer=2 | Waluta Cena hurtowa 1 | Waluta ceny hurtowej (1) |
45. | Twc_wartosc dla Twc_TwcNumer=3 | Cena hurtowa 2 | Cena hurtowa (2) |
46. | TwC_Waluta dla TwcNumer=3 | Waluta Cena hurtowa 2 | Waluta ceny hurtowej (2) |
47. | Twc_wartosc dla Twc_TwcNumer=4 | Cena hurtowa 3 | Cena hurtowa (3) |
48. | TwC_Waluta dla TwcNumer=4 | Waluta Cena hurtowa 3 | Waluta ceny hurtowej (3) |
49. | Twc_wartosc dla Twc_TwcNumer=5 | Cena detaliczna | Cena detaliczna |
50. | TwC_Waluta dla TwcNumer=5 | Waluta Cena detaliczna | Waluta ceny detalicznej |
51. | Twc_wartosc dla Twc_TwcNumer=6 | Cena iSklep24 | Ewentualna cena dodana przez Użytkownika |
52. | TwC_Waluta dla TwcNumer=6 | Waluta Cena iSklep24 | Waluta ceny iSklep24 |
Arkusz JednostkiMiary |
|||
1. | Twr_Kod | KodTowaru | Kod towaru - pole obowiązkowe |
2. | TwJZ_JM (Twr_TwrID = TwJZ_TwrID) | JMZ | Nazwa jednostki miary - pole obowiązkowe |
3. | TwJZ_JMPrzelicznikL ((Twr_TwrID = TwJZ_TwrID) | PrzelicznikL | Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowana jest wartość równa 1. |
4. | TwJZ_JMPrzelicznikM (Twr_TwrID = TwJZ_TwrID) | PrzelicznikM | Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowana jest wartość równa 1. |
5. | TwJZ_WysCm | WysokoscCm | Wysokość dla jednostki pomocniczej (zakładka [Jednostki, EAN, VAT] na formularzu towaru |
6. | TwJZ_SzerCm | SzerokoscCm | Szerokość dla jednostki pomocniczej (zakładka [Jednostki, EAN, VAT] na formularzu towaru |
7. | TwJZ_DlugCm | DlugoscCm | Długość dla jednostki pomocniczej (zakładka [Jednostki, EAN, VAT] na formularzu towaru |
Arkusz KodyKreskowe |
|||
1. | Twr_Kod | KodTowaru | Kod towaru – pole obowiązkowe |
2. | TwE_EAN (Twr_TwrID = TwE_TwrID) | Ean | Kod kreskowy – pole obowiązkowe |
3. | TwE_JM (Twr_TwrID = TwE_TwrID) | JmDlaEan | Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona przyjmowana jest wartość z JM. |
4. | TwE_Domyslny (Twr_TwrID = TwE_TwrID) | Domyslny | Status kodu kreskowego – pole obowiązkowe |
Arkusz Producenci |
|||
1. | Prd_Kod | Kod | Kod producenta – pole obowiązkowe |
2. | Prd_Nazwa | Nazwa | Nazwa producenta |
3. | Prd_URL | URL | Odsyłacz do adresu internetowego |
Arkusz Marki |
|||
1. | Mrk_Nazwa | Marka | Nazwa marki – pole obowiązkowe |
2. | Prd_Kod | Producent | Kod producenta |
Arkusz Kody CN |
|||
1. | KCN_Kod | Kod | Ośmiocyfrowy kod CN – pole obowiązkowe |
2. | KCN_Opis | Opis | Opis kodu CN |
3. | KCN_UzupJM | Jm | Dla kodów CN związanych z jednostką miary uzupełniającą należy podać nazwę tej jednostki |
4. | KCN_Masa | Masa | Przyjmuje wartość 1 jeśli dla kodu CN należy określić masę towaru. W przeciwnym wypadku pole należy pozostawić puste bądź uzupełnić wartością 0 . |
5. | KCN_Stawka | VAT | Liczba całkowita określająca stawkę VAT kodu CN. |
6. | KCN_Flaga | VATFlaga | 1 - zwolniona 2 - opodatkowana 3 - zaniżona 4 - nie podlega Jeżeli kolumna nie występuje w arkuszu lub jest nieokreślona, przyjmowana jest wartość 2. |
Arkusz eHandel |
|||
1. | Twr_Kod | KodTowaru | Kod towaru – pole obowiązkowe |
2. | Twes_Udostepnij (Twr_TwrID = Twes_TwrID) |
Udostepnij | Parametr Udostępnij (widoczny w oknie Pozycji cennika na zakładce [eHandel]): 0 – niezaznaczony 1 - zaznaczony |
3. | Twes_TwGGIDNumer (Twr_TwrID = Twes_TwrID CDN.TwrGrupy) |
Grupa | Grupa Towarowa dla e-Sklep/e-Sale (wskazana grupa musi być podgrupą dla grupy udostępnianej do sklepu) |
4. | Twes_ESklepStatus (Twr_TwrID = Twes_TwrID) |
StatusDostepnosci | Parametr Status dostępności (widoczny w oknie Pozycji cennika na zakładce [eHandel]): 0 – Zapowiedź 1 – Dostępny 2 – Dostępny na zamówienie 3 – Niedostępny |
5. | Twes_ESklepDostepnosc (Twr_TwrID = Twes_TwrID) |
Dostepnosc | Wartość parametru Dostępność (widoczny w oknie Pozycji cennika na zakładce [eHandel]): 0 – Dostępny od ręki 1 – Dostępny do 24h 2 – Dostępny do 48h 3 – od 3 do 5 dni 4 – do 7 dni 5 – do 14 dni 6 – powyżej 14 dni Parametr ustawiany jedynie w przypadku gdy w kolumnie StatusDostepnosci ustawiono wartość 1 |
6. | Twes_ESklepNieKontrolujStanow (Twr_TwrID = Twes_TwrID) |
KontrolaStanow | Parametr Nie kontroluj stanów magazynowych (widoczny w oknie Pozycji cennika na zakładce [eHandel]): 0 – niezaznaczony 1 – zaznaczony Parametr nie zostanie zaznaczony jeśli w kolumnie StatusDostepnosci ustawiono różną od 0 i 1 lub jeżeli karta cennikowa jest usługą |
7. | Twes_ESklepDostepnyOd (Twr_TwrID = Twes_TwrID) |
DostepnyOd | Parametr Dostępny od (widoczny w oknie Pozycji cennika na zakładce [eHandel]): 0 – niezaznaczony 1 – zaznaczony Parametr nie zostanie zaznaczony jeśli w kolumnie StatusDostepnosci ustawiono wartość inną niż 0 |
8. | Twes_ESklepDataDostepnosci (Twr_TwrID = Twes_TwrID) |
DataDostepnyOd | Data od której towar będzie dostępny w przypadku ustawienia statusu Zapowiedź. Parametr nie zostanie wypełniony jeśli w kolumnie StatusDostepnosci ustawiono wartość inną niż 0 |
9. | Twes_ESklepZapytajOCene (Twr_TwrID = Twes_TwrID) |
ZapytajOCene | Parametr Zapytaj o cenę towaru (widoczny w oknie Pozycji cennika na zakładce [eHandel]): 0 – niezaznaczony 1 – zaznaczony |
10. | Twes_ESklepBezRabatu (Twr_TwrID = Twes_TwrID) |
Rabat | Parametr Towar nie podlega rabatowaniu (widoczny w oknie Pozycji cennika na zakładce [eHandel]): 0 – niezaznaczony 1 – zaznaczony |
11. | Twes_ESklepKalkulacjaDostaw (Twr_TwrID = Twes_TwrID) |
KosztDostawy | Wartość 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) |
KosztDostawyWartosc | Wartość kosztu dostawy w przypadku ustawienia stałego kosztu dostawy. Parametr nie zostanie wypełniony jeśli w kolumnie KosztDostawy ustawiono wartość inną niż 2 |
13. | Twes_ESklepFlaga_Nowosc (Twr_TwrID = Twes_TwrID) |
Nowosc | Flaga dla atrybutu czasowego Nowość (widoczny w oknie Pozycji cennika na zakładce [eHandel]): 0 – niezaznaczony 1 - zaznaczony |
14. | Twes_ESklepFlaga_Promocja (Twr_TwrID = Twes_TwrID) |
Promocja | Flaga 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) |
Gazetka | Flaga 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) |
Polecany | Flaga 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) |
Wyprzedaz | Flaga 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) |
Nagroda | Flaga dla atrybutu czasowego Nagroda (widoczny w oknie Pozycji cennika na zakładce [eHandel]): 0 – niezaznaczony 1 – zaznaczony Parametr nie zostanie zaznaczony jeśli w kolumnie ZapytajOCene ustawiono wartość 1 |
19. | Twes_ESklepFlaga_SuperJakosc (Twr_TwrID = Twes_TwrID) |
SuperJakosc | Flaga 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) |
SuperCena | Flaga 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) |
NajlepiejOceniany | Flaga 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) |
Rekomendacja | Flaga dla atrybutu czasowego Rekomendacja Sprzedawcy (widoczny w oknie Pozycji cennika na zakładce [eHandel]): 0 – niezaznaczony 1 - zaznaczony |
Arkusz eHandelJezyki (Tylko dla modułu Handel Plus) |
|||
1. | Twr_Kod | KodTowaru | Kod towaru – pole obowiązkowe |
2. | TwrJ_JezykID (Twr_TwrID = TwrJ_TwrID) |
JezykID | Id języka, wg. kolejności na liście wyboru parametru Język (formularz języka towaru zakładka e-Sklep/e-Sale) np.: 1 – polski, 2 – angielski, 3 – niemiecki |
3. | TwrJ_Nazwa | Nazwa | Nazwa towaru w języku obcym (Formularz języka towaru zakładka [e-Sklep/e-Sale]) |
4. | TwrJ_Opis | Opis | Opis towaru w języku obcym (Formularz języka towaru zakładka [e-Sklep/e-Sale]) |
5. | TwrJ_MetaTytul | Tytul | Tytuł towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie]) |
6. | TwrJ_Link | Link | Link dla pozycjonowania towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie]) |
7. | TwrJ_MetaSlowaKluczowe | SlowaKluczowe | Słowa kluczowe dla pozycjonowania towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie]) |
8. | TwrJ_MetaOpis | MetaOpis | Meta Opis dla pozycjonowania towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie]) |
9. | TwrJ_OpisKrotki | OpisSkrocony | Opis skrócony dla pozycjonowania towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie]) |
10. | TwrJ_Szukaj | Szukaj | Słowa kluczowe wykorzystywane do wyszukiwania przy pozycjonowaniu towaru w języku obcym (Formularz języka towaru zakładka [Pozycjonowanie]) |
Arkusz eHandelJednostki |
|||
1. | Twr_Kod (Twr_TwrID = TwJZ_TwrID) |
KodTowaru | Kod towaru – pole obowiązkowe |
2. | TwJZ_JM (Twr_TwrID = TwJZ_TwrID) |
JednostkaPomocnicza | Nazwa jednostki miary dla eSklep |
3. | TwJZ_eSklepDomyslna (Twr_TwrID = TwJZ_TwrID) |
Domyslna | Parametr określający czy wybrana Jednostka miary jest domyślna dla e-Sklep 0 – niezaznaczony 1 – zaznaczony W przypadku gdy więcej niż jedna jednostka pomocnicza ma w kolumnie Domyslna ustawioną wartość 1 – jako domyślna zostanie ustawiona jedynie oststnia występująca w arkuszu dla danego towaru. |
Pliki do pobrania
OPT078 - Uzgadnianie stanów magazynowych
Data aktualizacji: 28-11-2018
Analizy pomocne przy ustalaniu stanów magazynowych
Stan magazynu wykazywany w menu Handel/Zasoby w kolumnie W. Zakupu-PLN oraz prezentowany na wydruku Spis z natury jest wynikiem operacji ewidencjonowanych za pomocą dokumentów handlowo-magazynowych. Stan wartościowy magazynu powinien być zgodny ze stanem wynikającym z księgowania dokumentów handlowo-magazynowych. Zazwyczaj stany wykazywane na kontach dotyczą stanów poszczególnych magazynów. Jeśli pojawią się w tym zakresie jakiekolwiek niezgodności, wówczas zalecamy wykonanie wyliczenia stanów magazynowych w oparciu o wszystkie dokumenty, które powodują ruch towaru na magazynie. Analiza stanu magazynowego w module handel w danym okresie czasu opiera się na uzgodnieniu rachunku: stan początkowy + przychody – rozchody = stan końcowy Jeśli stan magazynu w module Handel jest poprawny, następstwa ewentualnych różnic wyliczonych w module Księga Handlowa wynikają najczęściej z tego, że:- wykorzystano nieprawidłowe raporty do ustalenia wartości,
- nie uwzględniono wszystkich typów dokumentów przy wykonywaniu obliczeń,
- nie zaksięgowano wszystkich dokumentów lub zaksięgowano niewłaściwe kwoty.
- dokumenty magazynowe, przychodowe w buforze nie wprowadzają towaru do magazynu, dlatego nie powinny być uwzględniane w analizie,
- dokumenty magazynowe, rozchodowe w buforze wydają towar z magazynu, dlatego powinny być uwzględniane w analizie,
- na listach dokumentów oraz na wydrukach widoczne są dokumenty anulowane, jednak ich wartość nie jest uwzględniania w podsumowaniu,
- na dokumentach magazynowych mogą wystąpić pozycje o statusie usługi – wpływają one na wartość raportów, natomiast nie wpływają na wartość magazynu. W przypadku, gdy na dokumentach magazynowych występują usługi – wartości otrzymane na raportach należy pomniejszyć o wartość usług z dokumentów,
- w specyficznych sytuacjach, w analizie należy uwzględnić Faktury Sprzedaży i/lub Paragony z zaznaczoną opcją Pobranie (parametr w Konfiguracji Firmy/ Magazyn/ Inicjacja dokumentów).
Stan początkowy i końcowy
W programie pamiętane są stany magazynowe wstecz, dla każdego towaru odrębnie – na każdy dzień, kiedy występowały transakcje tym towarem. Aby ustalić stan początkowy należy na Liście zasobów określić datę oraz potrzebny magazyn. Do ustalenia wartości mogą służyć dwa wydruki:- Spis z natury: wzór standard – każda pozycja magazynowa jest opisana w jednej pozycji zawierającej łączną ilość i wartość towaru na dany dzień.
- Spis z natury: z podziałem na dostawy – każda pozycja jest rozbita na poszczególne dostawy (zasoby) towaru, które były w magazynie na dany dzień.
Przychody
Przychody ustalamy na podstawie standardowego wydruku listy dokumentów magazynowych, wydruk ten drukuje dokumenty zgodnie z zadanym na liście filtrem (magazyn, okres itp.). W okresie, jaki obejmują obliczenia nie powinno być dokumentów przychodowych w buforze – ponieważ tylko dokumenty zatwierdzone wprowadzają towar na magazyn. W analizie powinny być uwzględniane:- Lista dokumentów PZ
- podczas obliczeń należy uwzględniać wartość netto dokumentów,
- wydruk można porównać z analizą zakupów wg towarów – wartości powinny być zgodne. Jeżeli występują różnice, należy sprawdzić czy na dokumentach nie ma usług, będących przyczyną niezgodności.
- Lista dokumentów PW
- dokumenty PW nie mogą zawierać pozycji o statusie usługa, więc wykonywanie analiz porównawczych nie jest konieczne.
- Lista dokumentów MM przychodowych
- lista MM zawiera wszystkie dokumenty MM niezależnie od magazynów, których dotyczą oraz kierunku przepływu towarów,
- w przypadku wyliczania przychodów należy listę wyfiltrować w ten sposób, by magazynem docelowym był magazyn, dla którego przeprowadzamy analizę (magazyn źródłowy: wszystkie, magazyn docelowy: magazyn analizowany),
- czy istnieją dokumenty MM w buforze – dokumenty takie zdejmują towar z magazynu źródłowego, ale nie wprowadzają na magazyn docelowy.
- Lista dokumentów PWP
- analiza listy jest podobna jak w przypadku dokumentów PZ,
- należy sprawdzić, czy przyjmowane produkty nie mają statusu usługi.
- Lista dokumentów BO
- jeśli analiza obejmuje całą bazę danych (wszystkie dokumenty od założenia) – należy uwzględnić dokument BO, który wprowadził towar do magazynu w chwili rozpoczęcia pracy,
- jeśli na liście występują dokumenty BZM (Bilans Zamknięcia Magazynu) – nie powinny być uwzględniane w obliczeniach. Dokumenty BZM rejestrują jedynie stan magazynu na zadany dzień, jednak nie mają żadnego wpływu na zasoby.
Rozchody
Rozchody ustalamy na podstawie wydruków list dokumentów magazynowych. Dokumenty rozchodowe w buforze zdejmują towar z magazynu (wpływają na stan magazynu), więc powinny być uwzględniane w analizie. W analizie powinny być uwzględniane:- Lista dokumentów WZ
- do analizy należy wykorzystać wydruk Dodatkowe: RKZ. Na wydruku widoczna jest kolumna Koszty, która przedstawia koszt zakupu rozchodowanych towarów z danej transakcji i to właśnie dane z tej kolumny wykorzystujemy do wyliczenia wartości rozchodu,
- należy sprawdzić, czy na dokumentach nie ma wprowadzonych usług. Dla usług można określić koszt własny, jednak nie wpływa on na wartość magazynu a wpływa na zwiększenie kosztu transakcji, stąd mogą wynikać rozbieżności pomiędzy wartością wyliczoną z Listy zasobów a wyliczeniem z poziomu RKZ. Na RKZ w wartości transakcji będzie uwzględniony koszt usługi. Domyślnie koszt jest wyliczany na podstawie danych z karty usługi (zakładka [Dodatkowe]), istnieje też możliwość ręcznego wprowadzenia kosztu zakupu w momencie tworzenia dokumentu, z poziomu zakładki Szczegóły na oknie Podglądu pozycji danej usługi,
- do porównania może służyć analiza WZ wg towarów (na analizie nie ma podanej wartości w cenach zakupu, jednak jest wartość netto obrotu i marża),
- do analizy nie należy wykorzystywać listy Faktur Sprzedaży, ponieważ nie są tam uwzględniane dokumenty WZKK!
- Lista dokumentów RW
- na dokumencie RW w specyficznej sytuacji mogą wystąpić usługi. Jeżeli składnikiem usługi złożonej wskazanej na FA/PA jest inna usługa, wówczas podczas generowania dokumentów magazynowych zostanie ona przeniesiona na dokument RW (dotyczy to usług złożonych z zaznaczonym parametrem Pobieranie składników na FA/PA). W przypadku, gdy na usłudze określony został koszt zakupu, wartość wyliczona z listy RW powoduje niezgodność pomiędzy wartością wyliczoną z poziomu Listy zasobów.
- Lista dokumentów MM rozchodowych
- w przypadku wyliczania przychodów należy listę wyfiltrować w ten sposób, by magazynem źródłowym był magazyn, dla którego przeprowadzamy analizę (magazyn źródłowy: magazyn analizowany, magazyn docelowy: wszystkie).
- Lista dokumentów RWS
- dokumenty RWS są tworzone automatycznie na podstawie dokumentów produkcyjnych PWP,
- jeśli występują dokumenty w buforze, oznacza to, że skojarzone z nim dokumenty PWP również zostały zapisane do bufora. PWP w buforze nie wprowadzają towaru złożonego na magazyn, natomiast istotne jest odnalezienie powiązanego dokumentu PWP w buforze i zweryfikowanie parametrów określających sposób zachowania się składników (pobranie/ rezerwacja). Na dokumencie PWP można zaznaczyć, czy składniki mają być pobierane czy rezerwowane. Jeśli pobierane – dokument RWS w buforze powinien być uwzględniony w analizie, jeśli rezerwowane – dokument RWS należy pominąć w trakcie analizy,
- jeśli dokument RWS jest zapisany na trwałe – zawsze zdejmuje towar z magazynu i powinien być uwzględniony w analizie,
- należy sprawdzić, czy pobrane składniki nie mają statusu usługi – można do tego wykorzystać analizę RWS wg towarów.
- Faktury/ Paragony z pobraniem
- Standardowo Faktura Sprzedaży/ Paragon nie wydaje towaru z magazynu. Wydanie następuje dopiero po przekształceniu do dokumentu magazynowego WZ/RW. Natomiast istnieje możliwość takiego skonfigurowania programu, żeby FA/PA działały analogicznie jak dokumenty magazynowe i wydawały towar z magazynu. W Konfiguracji Firmy/ Magazyn/ Inicjacja dokumentów można wybrać opcję rezerwacja lub pobranie. W przypadku wybranego pobrania, taki dokument FA/PA należy traktować podobnie jak WZ i uwzględniać w analizach. Należy jednak pamiętać, że raport RKZ generowany z listy dokumentów FA/ PA różni się od RKZ wyliczanego z listy dokumentów WZ. Podstawowe różnice zostały opisane w FAQ.
Opakowania kaucjonowane
W przypadku, gdy firma obsługuje opakowania kaucjonowane należy to również uwzględnić podczas analizy bazy danych. Jeśli analiza ma obejmować opakowania:- Spis z natury powinien obejmować opakowania (zaznaczony parametr: Opakowania na Liście Zasobów),
- dodatkowo uwzględnić dokumenty kaucyjne PKA i WKA, zgodnie z zasadami obowiązującymi dla WZ/PZ.
- Spis z natury wykonać bez uwzględniania opakowań (parametr: Opakowania na Liście Zasobów odznaczony),
- nie uwzględniać dokumentów kaucjonowanych WKA i PKA, należy przy tym pamiętać, że opakowania kaucjonowane mogą być powiązane z FA/PA z pobraniem i wtedy nie powodują powstania dokumentu PKA/WKA, natomiast ściągają towar z magazynu i powiększają wartość transakcji,
- należy pamiętać, że towary kaucjonowane mogą się pojawić jako zwykłe elementy dokumentów magazynowych – mają więc wpływ na wartość poszczególnych raportów, natomiast nie są uwzględniane na spisie z natury,
- z analizy przychodów i rozchodów wyeliminować wartości związane z opakowaniami kaucjonowanymi (podobnie jak usługi).
Przyczyny niezgodności
W przypadku wystąpienia niezgodności należy dodatkowo sprawdzić:- Czy wartości są pobrane z prawidłowych wydruków.
- Czy na wydrukach Spisu z natury są uwzględnione zarówno towary proste jak i złożone.
- Czy w bazie nie ma towarów oznaczonych jako nieaktywne, ze stanem różnym od zera.
- Czy na wszystkich wydrukach są uwzględnione takie same magazyny (istotne w przypadku firm, które na jednej bazie prowadzą kilka magazynów).
- Jeśli księgowane są dokumenty handlowe bez magazynowych – należy sprawdzić, czy wszystkie dokumenty handlowe zostały przekształcone do dokumentów magazynowych.
- Czy istnieją FA/PA bez WZ z zaznaczoną opcją pobranie – pobierają towar z magazynu, ale nie są uwzględniane na raportach RKZ tworzonych z listy WZ.
- Czy w firmie są obsługiwane kaucje i w jaki sposób są uwzględniane w analizie.
- Czy wszystkie dokumenty zostały prawidłowo zaksięgowane.
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.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
- 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
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
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
Wspólne
OPT088 - Pliki JPK_V7 – przygotowanie dokumentów i generacja pliku
Data aktualizacji: 03-07-2023
Szkolenie multimedialne dotyczące obsługi pliku JPK_V7 w Comarch ERP Optima dostępne jest tutaj.1. Wstęp
Od 1 października 2020 roku Ministerstwo Finansów wprowadziło nowy rodzaj pliku JPK. Są to pliki JPK_V7M dla rozliczeń miesięcznych oraz JPK_V7K dla rozliczeń kwartalnych. Pliki te zawierają część deklaracyjną (na wzór deklaracji VAT-7) oraz ewidencyjną (na wzór pliku JPK_VAT). Nowy rodzaj pliku JPK zastępuje więc zarówno plik JPK_VAT jak i deklarację VAT-7. W przypadku podatników rozliczających podatek VAT kwartalnie, za pierwszy i drugi miesiąc kwartału składają oni tylko część ewidencyjną, a po upływie trzeciego miesiąca – część deklaracyjną rozliczającą podatek VAT za dany kwartał oraz część ewidencyjną za trzeci kwartał. Obowiązek składania plików JPK_V7 dotyczy wszystkich podatników VAT, bez względu na ich wielkość. Inaczej niż w przypadku plików JPK_VAT, podatnicy rozliczający się stawką zryczałtowaną 4%, np. taksówkarze, nie muszą już składać plików JPK_V7. W programie Comarch ERP Optima udostępniona została możliwość opisywania dokumentów nowymi danymi na potrzeby pliku JPK_V7, sporządzenia tego pliku i jego wysyłki dla każdego Użytkownika, bez względu na wielkość firmy. Od wersji programu Comarch ERP Optima 2022.2.1 umożliwiono sporządzenie pliku JPK_V7(2) zgodnie z nowym wzorcem dokumentu elektronicznego obowiązującym za okres rozliczenia VAT od stycznia 2022.2. Konfiguracja ustawień związanych z JPK_V7
W Konfiguracji Firmy/ Dane firmy/ Deklaracje w sekcji Podatnik składa deklaracje/odprowadza zaliczki z tytułu znajduje się parametr JPK_V7. W przypadku jego zaznaczenia możliwe jest sporządzenie plików JPK_V7 poprzez udostępnienie odpowiedniej opcji w menu programu. Parametr jest domyślnie zaznaczony dla nowo zakładanych baz.



3. Oznaczanie dokumentów na potrzeby plików JPK_V7
Struktura plików JPK_V7M i JPK_V7K została rozbudowana względem pliku JPK_VAT o dodatkowe informacje, które mają być przesyłane dla każdej faktury. Dlatego też istotne jest aby odpowiednio opisywać przyjmowane oraz wydawane dokumenty od 01.10.2020 dodatkowymi informacjami. Są to: kod kraju kontrahenta, kod towarowy, procedura i typ dokumentu.3. 1. Kody towarowe, procedury i typy dokumentów – informacje ogólne
Ministerstwo Finansów zdefiniowało listę kodów towarowych, które mają być wysyłane w pliku JPK_V7M/7K dla dokumentu, na którym zarejestrowano sprzedaż danego rodzaju:- GTU_01 – dostawa napojów alkoholowych o zawartości alkoholu powyżej 1,2%, piwa oraz napojów alkoholowych będących mieszaniną piwa i napojów bezalkoholowych, w których zawartość alkoholu przekracza 0,5% (CN od 2203 do 2208)
- GTU_02 – dostawa towarów, o których mowa w art. 103 ust. 5aa ustawy
- GTU_03 – dostawa olejów opałowych nieujętych w lit. b, olejów smarowych i pozostałych olejów (CN od 2710 19 71 do 2710 19 83 i CN od 2710 19 87 do 2710 19 99, z wyłączeniem smarów plastycznych zaliczonych do kodu CN 2710 19 99), olejów smarowych (CN 2710 20 90) oraz preparatów smarowych (CN 3403, z wyłączeniem smarów plastycznych objętych tą pozycją)
- GTU_04 – dostawa wyrobów tytoniowych, suszu tytoniowego, płynu do papierosów elektronicznych i wyrobów nowatorskich, w rozumieniu przepisów o podatku akcyzowym
- GTU_05 – dostawa odpadów – wyłącznie określonych w poz. 79–91 załącznika nr 15 do ustawy
- GTU_06 – dostawa urządzeń elektronicznych oraz części i materiałów do nich, wyłącznie określonych w poz. 7, 8, 59–63, 65, 66, 69 i 94–96 załącznika nr 15 do ustawy, a także folii typu stretch określonej w poz. 9 tego załącznika
- GTU_07 – dostawa pojazdów oraz części (CN od 8701 do 8708)
- GTU_08 – dostawa metali szlachetnych oraz nieszlachetnych – wyłącznie określonych w poz. 1 i 1a załącznika nr 12 do ustawy oraz w poz. 12–25, 33–40, 45, 46, 56 i 78 załącznika nr 15 do ustawy
- GTU_09 – dostawa produktów leczniczych, środków spożywczych specjalnego przeznaczenia żywieniowego oraz wyrobów medycznych – wyłącznie objętych obowiązkiem zgłoszenia, o którym mowa w art. 37av ust. 1 ustawy z dnia 6 września 2001 r. – Prawo farmaceutyczne (Dz. U. z 2021 r. poz. 974 i 981)
- GTU_10 – dostawa budynków, budowli i gruntów oraz ich części i udziałów w prawie własności, w tym również zbycia praw, o których mowa w art. 7 ust. 1 ustawy
- GTU_11 – świadczenia usług w zakresie przenoszenia uprawnień do emisji gazów cieplarnianych, o których mowa w ustawie z dnia 12 czerwca 2015 r. o systemie handlu uprawnieniami do emisji gazów cieplarnianych (Dz. U. z 2021 r. poz. 332 i 1047)
- GTU_12 – świadczenie usług o charakterze niematerialnym – wyłącznie: doradczych, w tym doradztwa prawnego i podatkowego oraz doradztwa związanego z zarządzaniem (PKWiU 62.02.1, 62.02.2, 66.19.91, 69.20.3, 70.22.11, 70.22.12, 70.22.13, 70.22.14, 70.22.15, 70.22.16, 70.22.3, 71.11.24, 71.11.42, 71.12.11, 71.12.31, 74.90.13, 74.90.15, 74.90.19), w zakresie rachunkowości i audytu finansowego (PKWiU 69.20.1, 69.20.2), prawnych (PKWiU 69.1), zarządczych (PKWiU 62.03, 63.11.12, 66.11.19, 66.30, 68.32, 69.20.4, 70.22.17, 70.22.2, 90.02.19.1), firm centralnych (PKWiU 70.1), marketingowych lub reklamowych (PKWiU 73.1), badania rynku i opinii publicznej (PKWiU 73.2), w zakresie badań naukowych i prac rozwojowych (PKWiU 72) oraz w zakresie pozaszkolnych form edukacji (PKWiU 85.5)
- GTU_13 – świadczenia usług transportowych i gospodarki magazynowej – (PKWiU 49.4, 52.1)
- SW – dostawa w ramach sprzedaży wysyłkowej z terytorium kraju, o której mowa w art. 23 ustawy (kod obowiązujący do czerwca 2021)
- EE – świadczenie usług telekomunikacyjnych, nadawczych i elektronicznych, o których mowa w art. 28k ustawy (kod obowiązujący do grudnia 2021)
- TP – istniejące powiązania między nabywcą a dokonującym dostawy towarów lub usługodawcą, o których mowa w art. 32 ust. 2 pkt 1 ustawy
- TT_WNT – wewnątrzwspólnotowe nabycie towarów dokonane przez drugiego w kolejności podatnika VAT w ramach transakcji trójstronnej w procedurze uproszczonej, o której mowa w dziale XII rozdział 8 ustawy
- TT_D – dostawa towarów poza terytorium kraju dokonana przez drugiego w kolejności podatnika VAT w ramach transakcji trójstronnej w procedurze uproszczonej, o której mowa w dziale XII rozdział 8 ustawy
- MR_T – świadczenia usług turystyki opodatkowanych na zasadach marży zgodnie z art. 119 ustawy
- MR_UZ – dostawa towarów używanych, dzieł sztuki, przedmiotów kolekcjonerskich i antyków, opodatkowana na zasadach marży zgodnie z art. 120 ustawy
- I_42 – wewnątrzwspólnotowa dostawa towarów następująca po imporcie tych towarów w ramach procedury celnej 42 (import)
- I_63 – wewnątrzwspólnotowa dostawa towarów następująca po imporcie tych towarów w ramach procedury celnej 63 (import)
- B_SPV – transferu bonu jednego przeznaczenia dokonanego przez podatnika działającego we własnym imieniu, opodatkowanego zgodnie z art. 8a ust. 1 ustawy
- B_SPV_DOSTAWA – dostawa towarów oraz świadczenie usług, których dotyczy bon jednego przeznaczenia na rzecz podatnika, który wyemitował bon zgodnie z art. 8a ust. 4 ustawy
- B_MPV_PROWIZJA – świadczenie usług pośrednictwa oraz innych usług dotyczących transferu bonu różnego przeznaczenia, opodatkowanych zgodnie z art. 8b ust. 2 ustawy
- MPP – transakcje objęte obowiązkiem stosowania mechanizmu podzielonej płatności (kod obowiązujący do czerwca 2021)
- WSTO_EE – wewnątrzwspólnotowa sprzedaż na odległość towarów, które w momencie rozpoczęcia ich wysyłki lub transportu znajdują się na terytorium kraju, oraz świadczenie usług telekomunikacyjnych, nadawczych i elektronicznych, o których mowa w art. 28k ustawy, na rzecz podmiotów niebędących podatnikami, posiadających siedzibę, stałe miejsce zamieszkania lub miejsce pobytu na terytorium państwa członkowskiego innym niż terytorium kraju (kod obowiązujący od stycznia 2022)
- IED – dostawa towarów, o której mowa w art. 7a ust. 1 i 2 ustawy, dokonana przez podatnika ułatwiającego tę dostawę, który nie korzysta z procedury szczególnej, o której mowa w dziale XII w rozdziale 6a lub 9 ustawy lub w odpowiadających im regulacjach, dla której miejscem dostawy jest terytorium kraju (kod obowiązujący od stycznia 2022)
- IMP – podatek naliczony z tytułu importu towarów, w tym importu towarów rozliczanych zgodnie z art. 33a ustawy
- MPP – transakcje objęte obowiązkiem stosowania mechanizmu podzielonej płatności (kod obowiązujący do czerwca 2021)
- RO – dokument zbiorczy o sprzedaż z kas rejestrujących
- WEW – dowód wewnętrzny
- FP – faktura, o której mowa w art. 109 ust. 3d ustawy
- VAT_RR – faktura VAT RR, o której mowa w art. 116 ustawy
- WEW – dokument wewnętrzny
- MK – faktura wystawiona przez podatnika będącego dostawcą lub usługodawcą, który wybrał metodę kasową rozliczeń określoną w art. 21 ustawy
- Znacznik techniczny ZakupVAT_Marza – nabycia towarów i usług związanych ze sprzedażą opodatkowaną na zasadzie marży zgodnie z art. 119 i art. 120 ustawy
3.2. Dostosowanie danych słownikowych do sporządzania plików JPK_V7
3.2.1. Formularz kontrahenta
Na karcie kontrahenta na zakładce [Ogólne] znajduje się rozwijalna listę kodów krajów przed numerem NIP. Zawiera ona kody krajów z zgodnie wymaganiami pliku JPK_V7. Dla ułatwienia wyboru właściwego prefiksu, rozwijalna lista obok kodów zawiera również kolumnę z nazwą kraju. 5 najczęściej wybieranych prefiksów krajów wyświetlanych jest początku listy pogrubioną czcionką, bezpośrednio pod wierszem z pustym prefiksem. Ustawienia są zapamiętywane dla każdego Operatora i każdej bazy firmowej.

- Kod – kod procedury bądź kodu,
- Opis – słowny opis procedury lub kodu
- Rodzaj – wyświetlająca wartość Procedura lub Kod towarowy.








Na liście kontrahentów dostępna jest domyślnie widoczna kolumna Kody JPK_V7 wyświetlająca przypisane do danego kontrahenta domyślne kody.
3.2.2. Formularz kategorii
Na formularzu kategorii znajduje się sekcja Kody JPK_V7. Na kategoriach o typie Koszty istnieje możliwość wskazania typu dokumentu i procedur dotyczących zakupu, dowolnych kodów towarowych oraz znacznika technicznego ZakupVAT_Marza. Na kategoriach o typie Przychody istnieje możliwość wskazania typu dokumentu i procedur dotyczących sprzedaży oraz dowolnych kodów towarowych. Możliwe jest dodanie więcej niż jednego kodu towarowego i więcej niż jednej procedury oraz tylko jednego typu dokumentu.
3.2.3. Pozycja cennika
Na karcie pozycji cennikowej na zakładce [Dodatkowe] znajduje się sekcja JPK_V7 z polem Domyślny kod. Pole jest rozwijalną listą na której można wybrać jeden kod towarowy bądź procedurę znacznik techniczny ZakupVAT_Marza które mają za zadanie dodatkowo opisać dokument przesyłany do pliku JPK_V7.


- Wykonanie operacji dla towarów, które nie mają przypisanego kodu, będzie skutkowało jego ustawieniem.
- Wykonanie operacji dla towarów, które już mają przypisany kod, będzie skutkowało jego zmianą.
- Wykonanie operacji bez wskazania kodu, będzie skutkowało usunięciem kodów JPK_V7 z zaznaczonych pozycji.
3.2.4. Dokumenty w module Handel
Na potrzeby pliku JPK_V7 dokumenty handlowe muszą być oznaczone ściśle określonymi procedurami. Dotyczy to następujących typów dokumentów:- Sprzedaż:
- Faktur Sprzedaży,
- Faktur VAT Marża,
- Faktur Zaliczkowych, Faktur Finalnych,
- Paragonów,
- Faktur do Paragonów,
- Dowodów Wewnętrznych
- Zakup:
- Faktur Zakupu,
- Korekt do Faktury Zakupu,
- Dowodów Wewnętrznych
Na zakładce [Atrybuty/JPK] na dokumentach sprzedaży znajduje się tabela z kodami towarowymi i procedurami wymaganymi w pliku JPK_V7. Dla dokumentów zakupu nie ma możliwości wskazania kodu JPK_V7 o rodzaju Kod towarowy.

- Dla dokumentów sprzedaży:
- RO – dokument zbiorczy o sprzedaż z kas rejestrujących
- WEW – dowód wewnętrzny
- FP – faktura, o której mowa w art. 109 ust. 3d ustawy
- Dla dokumentów zakupu:
- VAT_RR – faktura VAT RR, o której mowa w art. 116 ustawy
- WEW – dowód wewnętrzny
- MK – faktura wystawiona przez podatnika będącego dostawcą lub usługodawcą, który wybrał metodę kasową rozliczeń określoną w art. 21 ustawy
- Znacznik techniczny ZakupVAT_Marza – nabycia towarów i usług związanych ze sprzedażą opodatkowaną na zasadzie marży zgodnie z art. 119 i art. 120 ustawy
- Faktury Sprzedaży,
- Faktury Zakupu,
- Paragony,
- Dowody Wewnętrzne Sprzedaży,
- Dowody Wewnętrzne Zakupu.


Dla wszystkich wystawionych w programie Paragonów nadawana jest procedura RO. Dla Faktur Sprzedaży zafiskalizowanych lub powstałych z przekształcenia Paragonu nadawana jest procedura FP. Kod FP nie jest przenoszony na korektę utworzoną do zafiskalizowanej faktury.
Faktura VAT Marża Po wskazaniu na Fakturze VAT Marża procedury marży, do dokumentu zostanie automatycznie dopisana odpowiednia procedura dla JPK_V7:- MR_T – Procedura marża dla biur podróży,
- MR_UZ – Procedura marża – towary używane,
- MR_UZ – Procedura marży – dzieła sztuki,
- MR_UZ – Procedura marży – przedmioty kolekcjonerskie i antyki.
- Na Fakturze Zakupu dla kontrahenta, który na swojej karcie, na zakładce [Handlowe] ma zaznaczony parametr Rolnik, automatycznie jest dodawana procedura VAT_RR.
- Po przekształceniu FRR do FZ, Faktura Zakupu automatycznie otrzymuję procedurę VAT_RR.
- Procedura WEW dodawana jest automatycznie na dokument Dowodu Wewnętrznego Sprzedaży (FWS) tworzony z poziomu menu Handel/ Inne (Handel)/ Dowody wewnętrzne Sprzedaży. Nie jest dodawana na FWS powstałą z przekształcenia Faktury Zakupu (FZ).
- Na Dowód Wewnętrzny Sprzedaży powstały z przekształcenia Faktury Zakupu nie są przenoszone kody JPK_V7 z FZ. Kody z FZ są przenoszone tylko na Dowód Wewnętrzny Zakupu.
- Na korektę przenoszone są wszystkie kody i procedury z korygowanego dokumentu. Po usunięciu pozycji z korekty, nie jest usuwany powiązany z nią kod. Do czasu zapisania korekty na stałe, Użytkownik może modyfikować tabelę z kodami JPK_V7. Wyjątkiem jest korekta do Faktury Sprzedaży, na którą nie jest przenoszony kod FP.
- Na Fakturę Sprzedaży powstałą z Paragonu, przenoszone są procedury JPK_V7 z Paragonu. Na Faktury Sprzedaży tworzone za pomocą funkcji Generuj Fakturę na wybrane pozycje, kody JPK_V7 nie są przenoszone z PA (są pobierane ponownie z karty kontrahenta i z pozycji cennikowych, które widnieją na FS).
- Na skopiowane dokumenty przenoszone są wszystkie kody z kopiowanego dokumentu.
3.2.5. Dokumenty w rejestrze VAT
Na formularzu dokumentu w rejestrze VAT na zakładce [JPK] znajduje się sekcja Kody JPK_V7, w której wyświetlane są:- na dokumencie sprzedażowym:
- kody towarowe,
- procedury,
- typy dokumentów.
- na dokumencie zakupowym:
- procedury,
- typy dokumentów,
- znacznik techniczny.
- dodane ręcznie bezpośrednio na formularzu dokumentu w rejestrze VAT,
- przeniesione z karty kontrahenta,
- przeniesione z kategorii,
- przeniesione z modułu Handel,
- dodane automatycznie na podstawie danych z karty kontrahenta, danych z modułu Handel lub parametrów zaznaczonych bezpośrednio na formularzu dokumentu w rejestrze VAT.
W przypadku plików JPK_V7 generowanych za okresy od lipca 2021 do grudnia 2021 nastąpiły zmiany w przenoszeniu kodów.
Kod MPP nie jest już przenoszony do pliku, nawet jeżeli znajduje się na dokumencie w Rejestrze VAT.
Kod SW nie jest już przenoszony do pliku; jeżeli znajduje się na dokumencie w Rejestrze VAT, w pliku JPK_V7 zostanie zamieniony na kod EE.
Kody GTU wskazane na dokumencie nie są przenoszone do pliku JPK_V7 jeżeli na dokumencie wybrany jest również kod WEW.
Jeżeli na dokumencie z kodem RO dodatkowo wybrane są kody JPK określające procedury dla sprzedaży, nie są one przenoszone do części ewidencyjnej pliku JPK_V7.
W przypadku plików JPK_V7(2) generowanych za okresy od stycznia 2022 kod EE nie jest już przenoszony do pliku, nawet jeżeli znajduje się na dokumencie w Rejestrze VAT. Jeżeli na dokumentach z okresem rozliczenia w VAT od stycznia 2022 będą znajdowały się kody WSTO_EE i IED, zostaną przeniesione do pliku JPK_V7(2). Kody JPK znajdujące się na kontrahencie, kategorii lub pozycji cennika są przenoszone na dokument bez względu na jego datę. Również w przypadku importu dokumentów z plików JPK_V7, VAT_R (Comma) oraz za pomocą pracy rozproszonej, przenoszone są wszystkie kody JPK znajdujące się w pliku dla importowanego dokumentu bez względu na jego datę.

- suma wartości netto i VAT na dokumencie rozliczenia będzie równa 0,
- dokument źródłowy będzie miał dodatnią kwotę w stawce NP,
4. Przygotowanie i eksport plików JPK_V7
4.1. Lista plików JPK_V7
Po kliknięciu w menu JPK pozycji Pliki JPK_V7
- JPK_V7,
- Ulga na złe długi (VAT-ZD).
4.1.1. Zakładka JPK_V7
Na pierwszej zakładce widoczna jest lista utworzonych w programie plików JPK_V7:

- Miesiąc i Rok którego utworzony plik dotyczy,
- Korekta (jeżeli plik jest korektą widoczna jest wartość 1),
- Data obliczenia,
- Kwota podatku podlegającego wpłacie,
- Status (w przypadku części deklaracyjnej kolumna przyjmuje wartość obliczona bądź zamknięta, jeżeli plik nie zawiera części deklaracyjnej a wyłącznie ewidencyjną – zawsze ma status zamknięta; w przypadku plików które zostały scalone, w kolumnie wyświetlana jest wartość scalona ),
- e-Portal (Nie wysłano, Wysłano/nie odebrano UPO, Wysłano/odebrano UPO, Błąd przetwarzania),
- Zawartość (informacja czy plik zawiera część deklaracyjną i ewidencyjną czy tylko jedną z nich),
- Scalony (informacja czy plik został scalony),
- Operator który wysłał plik,
- Nazwa pliku,
- Data wysłania – kolumna domyślnie ukryta,
- PRED (informacja czy dodano predekretację) – kolumna domyślnie ukryta.
- Typ pliku (informacja czy jest to plik JPK_V7M miesięczny czy JPK_V7K kwartalny oraz czy jest to plik obowiązkowy czy na żądanie) – kolumna domyślnie ukryta,
- Wersja części deklaracyjnej – kolumna domyślnie ukryta,




4.1.2. Zakładka Ulga na złe długi (VAT-ZD)
Na drugiej zakładce widoczna jest lista utworzonych w programie zawiadomień VAT-ZD:
4.2. Generowanie pliku JPK_V7
Po kliknięciu ikony Dodaj



Jeżeli w bazie istnieją już dokumenty zawierające jednocześnie więcej niż jeden kod dotyczący typu dokumentu, podczas przeliczania pliku JPK_V7 pojawia się komunikat uniemożliwiający utworzenie pliku: Plik JPK_V7 nie może być naliczony. Istnieją transakcje zawierające więcej niż jeden typ dokumentu na zakładce Kody JPK_V7. Po zatwierdzeniu komunikatu pojawia się Lista dokumentów z więcej niż jednym typem dokumentu JPK_V7.

Dokumenty z więcej niż jednym kodem określającym typ dokumentu mogą występować jeżeli zostały dodane we wcześniejszej wersji programu niż 2021.0.1. Mogły również zostać zaimportowane z pliku VAT_R lub za pomocą pracy rozproszonej (w szczególności jeżeli pliki te pochodziły z programów innych producentów). Użytkownik powinien na każdym z wymienionych na liście dokumentów pozostawić tylko jeden kod dotyczący typu dokumentu.










- Identyfikator podatkowy podmiotu z zapisu w rejestrze VAT (NIP w przypadku podmiotu gospodarczego, w przypadku osób fizycznych wstawiana jest wartość BRAK); w przypadku nieuzupełnienia numeru NIP na dokumencie do pliku przenoszona jest wartość BRAK
- Nazwa dostawcy z zapisu w rejestrze VAT; w przypadku nieuzupełnienia pola Nazwa na dokumencie, do pliku przenoszona jest wartość BRAK
- Data wystawienia
- Data wpływu (jeżeli jest różna od daty wystawienia)
- Numer dokumentu
- Kwoty podzielone według kwalifikacji do VAT
- Informacje o typie dokumentu, procedurze i oznaczeniu technicznym ZakupVAT_Marza na na podstawie znajdujących się na dokumencie kodach JPK_V7
- W przypadku zapisów korekcyjnych wygenerowanych z załącznika VAT-ZD przenoszona jest informacja o korekcie zgodnie z art. 89a oraz termin płatności / data zapłaty
- Identyfikator podatkowy podmiotu z zapisu w rejestrze VAT (NIP w przypadku podmiotu gospodarczego, w przypadku osób fizycznych wstawiana jest wartość BRAK); w przypadku nieuzupełnienia numeru NIP na dokumencie do pliku przenoszona jest wartość BRAK,
- Nazwa kontrahenta z zapisu w rejestrze VAT; w przypadku nieuzupełnienia pola Nazwa na dokumencie, do pliku przenoszona jest wartość BRAK; jeżeli dokument jest Paragonem (ma wybrany kod RO), wówczas w polu określającym nazwę kontrahenta pojawia się opis SPRZEDAŻ PARAGONOWA,
- Data wystawienia,
- Data sprzedaży (o ile różni się od daty wystawienia)
- Numer dokumentu
- Kwoty podzielone według kwalifikacji do VAT
- Informacje o typie dokumentu, procedurze i kodach towarowych na podstawie znajdujących się na dokumencie kodach JPK_V7

4.3. Wysyłka plików JPK_V7
Znajdująca się na dole okna Pliki JPK_V7 z ulgą na złe długi ikona Wyślij
- podpisu kwalifikowanego,
- podpisu niekwalifikowanego (wyłącznie osoby fizyczne)
- podpisu zaufanego.







4.4. Korekta pliku JPK_V7
Dostępna na oknie Pliki JPK_V7 z ulgą na złe długi ikona Korekta
- Korekta części deklaracyjnej i ewidencyjnej,
- Korekta części ewidencyjnej,
- Korekta części deklaracyjnej.




4.5. Podgląd zawartości pliku JPK_V7
Na wstążce programu z poziomu okna Pliki JPK_V7 z ulgą na złe długi dostępna jest ikona Podgląd pliku
- JPK_V7_DanePodatnika – nazwa programu, cel złożenia, NIP, telefon, adres email, pełna nazwa podatnika,
- JPK_V7_Deklaracja – kwoty z części deklaracyjnej,
- JPK_V7_Agregaty – zagregowane wartości z części ewidencyjnej,
- JPK_V7_SprzedazWiersz – dokumenty sprzedaży,
- JPK_V7_ZakupWiersz – dokumenty zakupu.
4.6. Dodawanie plików JPK_V7 z dysku
Za pomocą dostępnej na wstążce programu funkcji

4.7. Scalanie plików JPK_V7
Dostępna na wstążce programu ikona

- albo pliki jednocześnie z częścią deklaracyjną i ewidencyjną,
- albo pliki wyłącznie z częścią deklaracyjną,
- albo pliki wyłącznie z częścią ewidencyjną.
- Oznacz plik JPK_V7 jako korektę – w przypadku zaznaczenia, plik tworzony jest jako korekta
- Po scaleniu utwórz również plik MS Excel – po wygenerowaniu scalonego pliku otwierany jest arkusz kalkulacyjny z jego zawartością


4.8. Wydruk części deklaracyjnej oraz Urzędowego poświadczenia Odbioru
Wydruk części deklaracyjnej pliku JPK_V7 (również z załącznikami UPO i ORD-ZU) oraz samego Urzędowego poświadczenia odbioru dostępne są z poziomu listy plików JPK_V7, jak również z poziomu formularza deklaracji, za wyjątkiem plików wczytanych na listę i scalonych.4.9. Księgowanie części deklaracyjnej
W przypadku księgowości kontowej na liście plików JPK_V7 dostępna jest ikona
5. Import plików JPK_V7 do rejestrów VAT
Opcja importu plików JPK_V7 (jak również JPK_VAT) do rejestrów VAT dostępna jest z menu głównego po wyborze JPK/ Import do rej.VAT




- Uwzględniaj – dla stawek: 23%, 8%, 5%, 0%
- Tylko w mianowniku – dla stawki ZW
- Nie uwzględniaj – dla stawki NP
- P_33 – Podatek należny od towarów objętych spisem z natury,
- P_34 – Zwrot odliczonej lub zwróconej kwoty wydatkowanej na zakup kas rejestrujących,
- P_35 – Podatek od wewnątrzwspólnotowego nabycia środków transportu,
- P_36 – Podatek od wewn. Nabycia towarów art. 103 ust. 5aa,
- P_44 – Korekta podatku naliczonego od nabycia środków trwałych,
- P_45 – Korekta podatku naliczonego od pozostałych nabyć,
- P_46 – Korekta podatku naliczonego, o której mowa w art. 89b ust. 1 ustawy,
- P_47 – Korekta podatku naliczonego, o której mowa w art. 89b ust. 4 ustawy.
OPT079- Jednolity Plik Kontrolny
Data aktualizacji: 03-07-2023
1 Wstęp
Od 1 lipca 2016 roku weszły w życie przepisy mówiące o konieczności generowania plików JPK dla dużych firm. Firmy małe, średnie oraz mikro udostępniają pliki JPK na każde żądanie organu podatkowego od 1 lipca 2018. Proces udostępnienia pliku rozpoczyna się dopiero po otrzymaniu postanowienia o wszczęciu postępowania od organu podatkowego. Jednolite Pliki Kontrolne są wykorzystywane przez Urzędy Skarbowe celem weryfikacji Ksiąg oraz zapisów na podstawie, których powstały. Obowiązkowe comiesięczne pliki JPK_VAT – w przypadku rejestrów VAT dane przesyłane są obowiązkowo co miesiąc. Dla dużych podatników obowiązek ten istnieje od 1 lipca 2016 roku, natomiast w przypadku małych i średnich firm od 1 stycznia 2017. Mikroprzedsiębiorstwa muszą spełniać ten obowiązek od 1 stycznia 2018. Od 1 października 2020 w miejsce plików JPK_VAT zaczęły obowiązywać pliki JPK_V7 opisane w osobnym biuletynie. Na moment publikacji tego biuletynu zostało przygotowanych i opublikowanych 8 struktur plików dotyczących dokumentów handlowych, kasowo/bankowych oraz księgowych, uwzględniając pliki JPK_V7. Struktury plików JPK znajdują się na poniższej stronie: https://www.gov.pl/web/kas/struktury-jpk. W programie Comarch ERP Optima udostępniona została możliwość eksportu wymaganych danych dla każdego Użytkownika bez względu na wielkość firmy.Prawo eksportu posiadają wyłącznie wybrani operatorzy w programie – ze względu na to aby zabezpieczyć dane przed niepowołanym do nich wglądem przez nieupoważnione osoby.W przypadku zmiany wymaganej struktury plików JPK istnieje możliwość aktualizacji formatów służących do eksportu poprzez pobranie ich z serwerów Comarch w momencie generowania plików.2 Konfiguracja ustawień związanych z JPK
Aby móc wyeksportować dane, na karcie operatora w Konfiguracji Programu/ Użytkowe/ Operatorzy musi zostać zaznaczony parametr Prawo eksportu plików JPK:

-
-
- dla dokumentów z rejestrów VAT – JPK_VAT_PLN_Data_od_Data_do_Data_i_godzina_utworzenia
- dla Księgi Handlowej – JPK_KR_ Data_od_Data_do_Data_i_godzina_utworzenia
- dla Księgi Podatkowej – JPK_PKPIR_ Data_od_Data_do_Data_i_godzina_utworzenia
- dla ewidencji ryczałtowej – JPK_EWP_Data_od_Data_do_Data_i_godzina_utworzenia
- dla wyciągów bankowych –JPK_WB_Waluta_Rachunek_bankowy_Data_otwarcia_Data_zamknięcia_Data_i_godzina_utworzenia
- dla dokumentów handlowych – JPK_FA_Data_od_Data_do_Data_i_godzina_utworzenia
- dla dokumentów magazynowych – JPK_MAG_Magazyn_Waluta_Data_od_Data_do_Data_i_godzina_utworzenia
-
3 Przygotowanie i eksport plików JPK – informacje ogólne
Przygotowanie plików JPK i eksport danych odbywa się z poziomu menu JPK/ Pliki JPK




-
-
- Jak przygotować JPK w Comarch ERP Optima, prowadzący do tego biuletynu
- Informacje o JPK na stronach Ministerstwa Finansów, prowadzący do strony MF ( https://www.podatki.gov.pl/jednolity-plik-kontrolny).
-
3.1 Przygotowanie plików JPK


-
-
- Księgi Handlowe (z opcją uwzględnienia zapisów w buforze),
- Zapisy KPiR (z opcją uwzględnienia zapisów w buforze),
- Ewidencja ryczałtowa (z opcją uwzględnienia zapisów w buforze),
- Wyciągi bankowe (z opcją bądź „poszczególnymi wyciągami” bądź „za okres”),
- Faktury sprzedaży i zakupu (z możliwością wyboru rodzaju dat na dokumentach dla podanego poniżej zakresu dat),
- Dokumenty
-

- „Nie można sprawdzić poprawności wygenerowanego dokumentu(XML), ponieważ występują problemy z dostępem do serwerów Ministerstwa Finansów. Plik JPK można wysłać, a jego poprawność zostanie sprawdzona przy odbiorze UPO lub wysłać w innym terminie, gdy dostęp do serwerów zostanie przywrócony.
- Nie można odnaleźć informacji schematu dla elementu…„
-
-
- Kod urzędu skarbowego (uzupełniany z poziomu Ogólne/ Inne/ Urzędy)
- Zakres dat dla eksportowanych danych
- Dane identyfikacyjne oraz adres podatnika pobierane z Konfiguracji Firmy/ Dane firmy/ Pieczątka firmy (NIP, Pełna nazwa, REGON, Kod Kraju, Województwo, Powiat, Gmina, Ulica, Nr domu, Nr lokalu, Miejscowość, Kod pocztowy, Poczta); dane pobierane są z najnowszej pieczątki firmy.
-
Dane te są wymagane przez wzór dokumentu elektronicznego i muszą być uzupełnione w programie przed wysyłką plików JPK.
3.2 Wysyłka plików JPK
Po rozwinięciu na oknie Pliki JPK ikony Wyślij istnieje możliwość wyboru trzech sposobów podpisania wysyłanych plików JPK:-
-
- Wyślij podpisem kwalifikowanym,
- Wyślij podpisem niekwalifikowanym,
- Wyślij podpisem zaufanym.
-

Wybranie pierwszej opcji powoduje wywołanie listy zainstalowanych w systemie Windows certyfikatów służących do elektronicznego podpisywania wysyłanych deklaracji oraz plików JPK.




















4 Księgi Handlowe – JPK_KR
W przypadku zaznaczenia opcji Księgi Handlowe na oknie przygotowania plików JPK istnieje możliwość wskazania, czy mają być eksportowane również zapisy znajdujące się w buforze – parametr Uwzględniaj zapisy w buforze. Domyślnie jest on zaznaczony. W pliku JPK zapisy księgowe znajdujące się w buforze rozróżnione są od zapisów zatwierdzonych poprzez oznaczenie numeru dziennika znacznikiem (b). Podczas eksportu zapisów z Ksiąg Handlowych do plików JPK przenoszone są m.in. następujące dane:-
-
- Dane nagłówka pliku JPK (opisane w Rozdziale 3.1)
- Dane dotyczące kont księgowych (Numer konta, Typ, Nazwa, Bilans otwarcia dla konta, Obroty konta za podany okres, Obroty narastająco, Saldo konta)
- Dane dotyczące nagłówków zapisów księgowych:
- Nr dziennika cząstkowego
- Nazwa dziennika
- Numer dokumentu
- Data księgowania
- Data Operacji
- Data wystawienia
- Akronim operatora (z pola Zmodyfikował)
- Opis operacji (wartość wymagana)
- Dane dotyczące pozycji zapisów księgowych:
- Numery kont Wn i Ma
- Symbol waluty na pozycji dekretu
- Kwota w PLN i w walucie
- Opis na pozycji dekretu (niewymagany, może być nieuzupełniony)
-
5 Zapisy KPiR – JPK_PKPIR
W przypadku zaznaczenia opcji Zapisy KPiR na oknie przygotowania plików JPK istnieje możliwość wskazania, czy mają być eksportowane również zapisy znajdujące się w buforze – parametr Uwzględniaj zapisy w buforze. Domyślnie jest on zaznaczony. Pliki JPK_PKPiR dla zapisów z księgi podatkowej generowane za okres od stycznia 2017 roku tworzone są nowym wzorcem dokumentu elektronicznego – JPK_PKPiR(2). Zapisy za wcześniejsze okresy są wysyłane poprzednią wersją wzorca. Podczas eksportu zapisów KPiR do plików JPK przenoszone są m.in. następujące dane:-
-
- Dane nagłówka pliku JPK (opisane w Rozdziale 3.1)
- Wartość spisu z natury na początek roku podatkowego (wartość z kolumny 15 spisu za miesiąc styczeń roku, z którego dane są eksportowane)
- Wartość spisu z natury na koniec roku podatkowego (wartość z kolumny 15 spisu za miesiąc grudzień roku, z którego dane są eksportowane)
- Liczba porządkowa zapisu KPiR
- Data operacji gospodarczej
- Numer dowodu
- Nazwa podmiotu z zapisu KPiR – pole obowiązkowe
- Dane adresowe podmiotu z zapisu KPiR (Miasto, Ulica, Nr domu/lokalu, Kod pocztowy) – pola obowiązkowe
- Opis z zapisu KPiR – pole obowiązkowe
- Kwoty dla poszczególnych kolumn od 7 do 16 na zapisie KPiR
- Wartość z kolumny Uwagi na zapisie KPiR (pole opcjonalne)
-
6 Ewidencja ryczałtowa – JPK_EWP
W przypadku zaznaczenia opcji Ewidencja ryczałtowa na oknie przygotowania plików JPK istnieje możliwość wskazania, czy mają być eksportowane również zapisy znajdujące się w buforze – parametr Uwzględniaj zapisy w buforze. Domyślnie jest on zaznaczony. W przypadku składania pliku za okresy od 1 stycznia 2022 roku obowiązuje struktura pliku JPK_EWP(3). Za okresy wcześniejsze obowiązują pliki JPK_EWP(2) (rok 2021) i JPK_EWP(1) (lata wcześniejsze). W przypadku pliku JPK_EWP(3) obok uwzględnienia stawek ryczałtu 14% i 12% plik ten obejmuje wykaz środków trwałych i wartości niematerialnych i prawnych. Do pliku przenoszone są zapisy kart środków trwałych i wartości niematerialnych i prawnych z podstawowymi informacjami, m.in. o dacie przyjęcia do używania, numerze KŚT czy wartości początkowej i zaktualizowanej, bez informacji o dokonanych odpisach amortyzacyjnych. Do pliku nie są przenoszone informacje o środkach trwałych w budowie, jak również środkach zbytych bądź zlikwidowanych przed okresem, za który sporządzany jest plik. Nie są również wykazywane środki trwałe z datą przyjęcia do użytkowania późniejszą niż okres, za jaki plik jest sporządzany. Środki trwałe całkowicie zamortyzowane oraz z zerową wartością są przenoszone do pliku JPK_EWP(3). Jedną z wymaganych informacji dla środków trwałych wykazywanych w pliku JPK_EWP(3) jest numer dokumentu zakupu. W programie na karcie środka trwałego na zakładce [Dokumenty] można wskazać więcej niż jeden dokument zakupu. W takim przypadku do pliku przenoszony jest ostatni (najmłodszy) dokument. Jeżeli dokument zakupu na karcie środka trwałego nie jest wskazany, wówczas podczas generowania pliku pojawia się komunikat: „Element tns:KW_5.Element element 'Wykaz’ w przestrzeni nazw 'http://jpk.mf.gov.pl/wzor/2022/02/01/02011/’ ma nieprawidłowy element podrzędny element 'KW_5′ w przestrzeni nazw 'http://jpk.mf.gov.pl/wzor/2022/02/01/02011/’. Lista oczekiwanych możliwych elementów: element 'KW_4′ w przestrzeni nazw 'http://jpk.mf.gov.pl/wzor/2022/02/01/02011/’.’ Należy wówczas dodać na zakładce [Dokumenty] na karcie środka trwałego odpowiedni numer dokumentu zakupu. Numer może zostać uzupełniony ręcznie, bez wskazania dokumentu w Rejestrze zakupów VAT lub Ewidencji dodatkowej kosztów (opcja: Bez wskazania dokumentu). Taka operacja jest możliwa pod warunkiem, że środek trwały nie posiada wygenerowanych odpisów amortyzacyjnych. Jeżeli takie odpisy już są, wówczas możliwe jest wskazanie na karcie środka trwałego na zakładce [Atrybuty] atrybutu o kodzie DOWÓD_ZAKUPU_EWP i wpisanie jako wartości tego atrybutu numeru dokumentu zakupu. Inną informacją przenoszoną do pliku JPK_EWP(3) jest numer Klasyfikacji Środków Trwałych. W przypadku kiedy nie jest on uzupełniony, podczas generowania pliku pojawia się informacja: „Na środku trwałym/wnip [NAZWA] w polu KW_6 (KŚT) zapisano BRAK. Zweryfikuj poprawność.” Wówczas Użytkownik powinien zweryfikować czy faktycznie w tym przypadku brak uzupełnionego numeru KŚT jest poprawną sytuacją (np. w przypadku wartości niematerialnych i prawnych dla których ten numer nie jest uzupełniany) czy jednak należy uzupełnić dane na karcie środka trwałego i ponowić generowanie pliku JPK_EWP(3). Podczas eksportu ewidencji ryczałtowej do plików JPK przenoszone są m.in. następujące dane:-
-
- Dane nagłówka pliku JPK (opisane w Rozdziale 3.1)
- Liczba porządkowa zapisu w ewidencji
- Data wpisu do ewidencji
- Data uzyskania przychodu
- Numer dokumentu
- Kwoty dla poszczególnych stawek
- Wykaz środków trwałych i wartości niematerialnych i prawnych (pliki JPK_EWP za okresy od 1 stycznia 2022)
-
7 Wyciągi bankowe – JPK_WB
W przypadku wybrania opcji Wyciągi bankowe na oknie przygotowania plików JPK istnieje możliwość określenia w jaki sposób mają być wysyłane dane. Domyślnie zaznaczona opcja poszczególnymi wyciągami spowoduje wygenerowanie tyle plików JPK ile było raportów bankowych w podanym zakresie dat. Dla każdego rejestru bankowego będą generowane oddzielne pliki dla każdego wyciągu. W przypadku kiedy wyciągi będą za inny okres niż miesięczny i ten okres nie będzie się pokrywał z zakresem dat wskazanym przed eksportem, wówczas wyeksportowane zostaną wszystkie wyciągi, które będą miały daty otwarcia bądź zamknięcia zawierające się w tym zakresie dat, nawet jeżeli tylko część dni z wyciągu będzie zawierać się w podanym zakresie dat. Wybór opcji za okres spowoduje wygenerowanie tyle plików ile jest rejestrów o typie Konto bankowe. Dla każdego rejestru bankowego zostanie utworzony jeden plik za cały zakres dat. Na oknie generowania plików JPK dla wyciągów bankowych istnieje możliwość wyboru rejestru bankowego, z którego będą eksportowane operacje do pliku JPK. W polu Rachunek bankowy można wybrać czy mają być eksportowane zapisy z wszystkich, czy z jednego wybranego rejestru bankowego. Eksportowane są tylko wyciągi zawierające zapisy (nie są eksportowane puste raporty). Eksportowane są również otwarte raporty. Podczas eksportu wyciągów bankowych do plików JPK przenoszone są m.in. następujące dane:-
-
- Dane nagłówka pliku JPK (opisane w Rozdziale 3.1)
- Numer rachunku wpisany na formularzu rejestru kasowego/bankowego
- Symbol waluty rachunku bankowego
- Liczba porządkowa zapisu K/B
- Data zapisu K/B
- Nazwa podmiotu z zapisu K/B
- Opis z zapisu K/B (przenoszonych jest pierwszych 256 znaków)
- Kwota operacji
-
8 Faktury – JPK_FA
Do pliku JPK wysyłane są Faktury Sprzedaży, Faktury Zakupu, Faktury Zaliczkowe a także wystawione do nich dokumenty korygujące. Aby dokumenty były uwzględnione w pliku JPK, muszą zostać wcześniej zatwierdzone. Faktury Zaliczkowe, Faktury Sprzedaży oraz korekty do Faktur wystawione w procedurze OSS są uwzględniane w pliku JPK_FA. Do pliku JPK_FA przenoszone są transakcje w różnych walutach. Na dokumentach walutowych wartość netto, kwota VAT oraz wartość brutto wykazywane są w walucie dokumentu. W przypadku wartości VAT, dla dokumentów walutowych przeliczana jest ona na złotówki. Podczas generowania plików JPK_FA istnieje możliwość wyboru waluty. Jeśli w bazie istnieją waluty nieaktywne, wówczas na liście takie waluty widoczne są w kolorze czerwonym. Domyślne ustawienie pola pozwala na eksport dokumentów we wszystkich walutach.-
-
- JPK_FA nie musi zawierać faktur zakupowych, natomiast struktura JPK_ VAT zawiera faktury zakupowe, z których podatnikowi przysługuje prawo do zmniejszenia podatku należnego,
- Faktury, na których oprócz standardowych stawek pojawiają się też stawki NP. lub zw dla zakupów będą trafiały do pliku JPK_FA w całości, a na deklarację VAT-7 (w tym do pliku JPK_VAT) bez pozycji w tych stawkach,
- JPK_FA nie zawiera sprzedaży detalicznej (paragonów), transakcje te natomiast wykazywane są w pliku JPK_VAT,
- Korekta faktury in minus, której potwierdzenia odbioru od kupującego nie uzyskał podatnik – w pliku JPK_FA zostanie wykazana, natomiast w strukturze JPK_VAT pojawi się wówczas, gdy spełnione zostaną dodatkowe przesłanki dające podatnikowi prawo do obniżenia podstawy opodatkowania,
- Faktura z oznaczeniem „metoda kasowa” jest wykazana w pliku JPK_VAT w okresie, w którym została ona zapłacona w całości lub części (odliczenie VAT dotyczy wyłącznie tej części). Dokument ten natomiast w pliku JPK_FA będzie wykazywany w całości niezależnie od terminu zapłaty.
-
-
-
- Dane nagłówka pliku JPK (opisane w Rozdziale 3.1)
- Dane dotyczące nagłówków faktur:
- Waluta dokumentu
- Data wystawienia dokumentu
- Numer dokumentu (dla Faktur Zakupu numer obcy)
- Nazwa i dane adresowe Nabywcy (dla Faktur Zakupu dane Nabywcy pobierane z Konfiguracji Firmy/ Dane firmy/ Pieczątka firmy
- Nazwa i dane adresowe sprzedawcy (dla Faktur Zakupu dane Dostawcy)
- Numer NIP sprzedawcy
- Numer NIP nabywcy
- Data zakończenia transakcji (dla Faktur Sprzedaży – data sprzedaży, dla Faktur Zakupu – data zakupu, dla Faktur Zaliczkowych – data wystawienia, dokumenty korygujące – data korekty)
- Suma kwot netto sprzedaży w danej stawce w walucie dokumentu
- Kwota podatku VAT w danej stawce w walucie dokumentu
- W przypadku dokumentów walutowych Kwota podatku VAT przeliczona na złotówki
- Wartość brutto (kwota netto + wartość podatku VAT) w walucie dokumentu
- Informacja czy na transakcji wystąpił Mechanizm podzielonej płatności
- Rodzaj dokumentu (dla Faktur – VAT, dla Faktur Zaliczkowych oraz Końcowych rozliczających zaliczkę – VAT, dla dokumentów korygujących – KOREKTA)
- W przypadku Faktur VAT Marża uzupełniane jest pole dotyczące procedury marży
- W przypadku dokumentów korygujących przenoszone są również następujące dane:
- Cena (jako różnica pomiędzy ceną pierwotną i korektą), wartości oraz ilości zgodnie z danymi na korekcie. Korekty (wartości) do Faktur Zaliczkowych są uwzględniane w pliku w analogicznej formie jak korekty wartości wystawione do zwykłej Faktury Sprzedaży.
- Przyczyna korekty. Na potrzeby generowania pliku JPK, dla dokumentów korygujących wprowadzono możliwość zmiany przyczyny korekty na zatwierdzonych dokumentach w module Handel / Faktury. Operator może dokonywać takich zmian, jeśli na jego karcie w Konfiguracji/Program/Użytkowe/Operatorzy na zakładce [Parametry] zostanie zaznaczony parametr Zmiana opisu i osoby odbierającej na dok.
- Numer faktury korygowanej (dla Faktur Zakupu numer obcy korygowanego dokumentu) W przypadku Korekty Zbiorczej/Rabat jeśli korekta dotyczy większej ilości dokumentów to w pole: Numer faktury korygowanej przenoszony jest opis „Korekta zbiorcza”.
- Dla dokumentu Korekta Zbiorcza/Rabat przenoszona jest data sprzedaży od – do, czyli okres, do którego odnosi się udzielony rabat (data od – najniższa data sprzedaży, data do – najwyższa data sprzedaży Faktury, której dotyczy korekta). W przypadku pozostałych rodzajów korekt w polu wskazana jest data korekty od – do.
- Na dokumencie Korekta Zbiorcza/Rabat nie jest ujęta lista towarów, ale wartość sprzedaży za dany okres w poszczególnych stawkach VAT. W związku z tym, w pliku JPK w części dotyczącej szczegółów pozycji z faktur, wartość korekty dla każdej stawki VAT będzie uwzględniona jako osobna pozycja. Ponadto, nie będzie tutaj uzupełniana nazwa towaru / usługi, a pola dotyczące jednostki miary oraz ilości będą uzupełniane wartościami „szt” oraz „1”.
- W przypadku korekty stawki VAT, jeżeli korekta liczona jest od wartości brutto, cena jednostkowa netto ani wartość netto nie są uzupełniane w pliku, natomiast w polach dotyczących ceny i wartości brutto wpisywane jest 0. Gdy korekta stawki VAT liczona jest od wartości netto, pola dotyczące ceny i wartości brutto nie są uzupełniane, natomiast w polach dotyczące ceny i wartości netto wpisywane jest 0.
- W przypadku Faktur Zaliczkowych przenoszone są również następujące dane:
- Otrzymana kwota zapłaty
- Kwota podatku od tej zapłaty
- W przypadku kilku Faktur zaliczkowych – Numer Faktury Zaliczkowej
- Dane podsumowujące listę faktur – sumy kontrolne, gdzie uwzględnione są dane:
- Liczba faktur w pliku
- Łączna wartość kwot brutto faktur w pliku
- Szczegółowe zestawienie pozycji faktur w pliku
- Numer dokumentu (dla Faktur Zakupu numer obcy)
- Nazwa towaru lub usługi
- Jednostka miary z dokumentu
- Ilość produktu w jednostce z dokumentu
- Cena jednostkowa netto towaru w walucie dokumentu
- Cena jednostkowa brutto towaru w walucie dokumentu
- Wartość sprzedaży netto
- Wartość sprzedaży brutto
- Stawka podatku
- Dane podsumowujące listę wierszy faktur – sumy kontrolne, gdzie uwzględnione są dane:
- Suma wszystkich wierszy – elementów z faktur w pliku
- Łączna wartość netto wszystkich wierszy – elementów z faktur w pliku bez względu na walutę
- Dane dotyczące Zamówienia
- Numer Faktury Zaliczkowej
- Wartość zamówienia – wartość brutto Faktury Pro Forma
- Szczegółowe pozycje dotyczące zamówienia (Faktury Pro Forma)
- Nazwa towaru/ usługi
- Jednostka miary
- Ilość towaru/ usługi
- Cena jednostkowa netto
- Wartość pozycji netto
- Kwota podatku pozycji
- Stawka podatku pozycji
- Dane podsumowujące listę zamówień – sumy kontrolne:
- Liczba zamówień
- Łączna wartość kolumny: Wartość zamówienia w okresie, którego dotyczy JPK_FA
-
-
-
- SAMOFAKTUROWANIE (faktury wystawiane metodą samofakturowania) – atrybut o typie tekst bez domyślnej wartości, atrybut należy dodać na dokument wystawiony metodą samofakturowania, aby taki dokument został poprawnie zarejestrowany w pliku JPK
- POLSKA USTAWA (przyczyna zastosowania zwolnienia na podstawie Art. 43 ust. 1 ustawy o VAT) – atrybut o typie lista, przed użyciem atrybutu należy ręcznie uzupełnić wartości listy, wpisując który punkt z ustawy daje podstawę do zwolnienia
- DYREKTYWA UNIJNA (przyczyna zastosowania zwolnienia na mocy artykułu 141 dyrektywy 2006/112/WE) – atrybut o typie lista, przyjmuje wartość: Faktura WE uproszczona na mocy artykułu 141 dyrektywy 2006/112/WE
- INNE ZWOLNIENIA (inna przyczyna zastosowania zwolnienia)
- FA NA RZECZ DŁUŻNIKA (faktura wystawiona w imieniu, na rzecz dłużnika; jako wartość atrybutu należy wprowadzić kod kontrahenta, który jest organem egzekucyjnym lub komornikiem) – w bazie danych należy założyć kartę kontrahenta dla komornika lub dla organu egzekucyjnego, który będzie wystawiał faktury w imieniu i na rzecz dłużnika. Na karcie kontrahenta należy uzupełnić pola Kod, Nazwa oraz dane adresowe. Dane te są wymagane, ponieważ są one przenoszone do pliku JPK. Kod takiego kontrahenta należy następnie wprowadzić na listę wartości atrybutu. Jego dane zostaną wówczas automatycznie przeniesione do pliku JPK. Jeśli na listę zostanie wprowadzony niepoprawny kod kontrahenta, np. kod kontrahenta, którego nie ma w bazie, pola w pliku dotyczące organu egzekucyjnego lub komornika nie zostaną uzupełnione.
- PRZEDSTAWICIEL PODAT (faktura wystawiona w imieniu, na rzecz podatnika; jako wartość atrybutu należy wprowadzić kod kontrahenta, który jest przedstawicielem podatkowym) – w bazie danych należy założyć kartę kontrahenta dla przedstawiciela podatkowego, który będzie wystawiał faktury w imieniu i na rzecz podatnika. Na karcie kontrahenta należy uzupełnić pola Kod, Nazwa, dane adresowe oraz numer NIP. Dane te są wymagane, ponieważ są one przenoszone do pliku JPK. Kod takiego kontrahenta należy następnie wprowadzić na listę wartości atrybutu. Jego dane zostaną wówczas automatycznie przeniesione do pliku JPK. Jeśli na listę zostanie wprowadzony niepoprawny kod kontrahenta, np. kod kontrahenta, którego nie ma w bazie, pola w pliku dotyczące przedstawiciela podatkowego nie zostaną uzupełnione.
- DATA DOPUSZCZ. POJ (data dopuszczenia nowego środka transportu do użytku) – atrybut o typie data, bez domyślnej wartości. Użytkownik uzupełnia datę dopuszczenia nowego środka transportu do użytku.
- PRZEBIEG POJAZDU (przebieg pojazdu – w przypadku pojazdów lądowych) – atrybut o typie liczba, bez domyślnej wartości. Użytkownik uzupełnia przebieg pojazdu – w przypadku pojazdów lądowych
- LICZBA GODZ. UŻYW (liczba godzin roboczych używania nowego środka transportu – w przypadku jednostek pływających oraz statków powietrznych) – atrybut o typie liczba, bez domyślnej wartości. Użytkownik uzupełnia liczbę godzin roboczych używania nowego środka transportu.
-

-
-
- FAVAT MARŻA (wybór odpowiedniej procedury marży – wybierany w przypadku rozliczenia marży) ‑ atrybut typu lista. W programie dostępne są następujące pozycje listy (z możliwością edycji): 1 – Procedura marży dla biur podróży, 2 – Procedura marży – towary używane, 3 – Procedura marży – dzieła sztuki, 4 – Procedura marży – przedmioty kolekcjonerskie i antyki.
- FA ZALICZKOWA (czy dokument jest fakturą zaliczkową – wybierany w przypadku faktur zaliczkowych) ‑ atrybut o typie lista, z domyślną wartością TAK
- PRZYCZYNA KOREKTY (wybierany w przypadku faktury korygującej) – atrybut o typie lista. W programie dostępne są następujące pozycje listy (z możliwością edycji): 1 – korekta ilości, 2 – korekta wartości/ceny, 3 – korekta stawki VAT, 4 – korekta zbiorcza
- OKRES KOREKTY OD (korekta za okres: od) – atrybut o typie data
- OKRES KOREKTY DO (korekta za okres: do) – atrybut o typie data
-
9 Dokumenty magazynowe – JPK_MAG
Do pliku JPK_MAG wysyłane są Przyjęcia Zewnętrzne, Wydania Zewnętrzne, Rozchody Wewnętrzne oraz Przesunięcia Międzymagazynowe, a także wygenerowane do tych dokumentów korekty. Aby dokumenty zostały zaczytane do pliku, muszą być wcześniej zatwierdzone. Do pliku nie są przenoszone dokumenty anulowane ani WZKK. Wydania Zewnętrzne oraz korekty do WZ wystawione w procedurze OSS są uwzględniane w pliku JPK_MAG. Pliki JPK_MAG generowane są osobno dla każdego magazynu w bazie i każdej waluty, jeżeli dokument generowany jest z cenami z dokumentu. Wartości w tych plikach wykazywane są w walucie, w jakiej zostały wystawione dokumenty. Wybór waluty możliwy jest gdy zostanie wybrana cena jednostkowa netto, w przypadku kosztu zakupu wszystkie wartości w pliku są wykazywane w walucie PLN. Jeśli w bazie istnieją waluty nieaktywne, wówczas na liście takie waluty widoczne są w kolorze czerwonym. Domyślne ustawienie pola pozwala na eksport dokumentów we wszystkich walutach. Po wyborze konkretnej waluty tworzony jest plik zawierający tylko dokumenty w tej walucie. Na oknie generowania plików JPK istnieje również możliwość wyboru magazynu. Jeśli w bazie istnieją magazyny nieaktywne, wówczas na liście wyboru magazynu widoczne są w kolorze czerwonym. Domyślne ustawienie pola pozwala na eksport dokumentów ze wszystkich magazynów. Po wyborze konkretnego magazynu tworzony będzie plik tylko z dokumentami z tego magazynu. Podczas eksportu dokumentów magazynowych do plików JPK przenoszone są m.in. następujące dane:-
-
- Dane nagłówka pliku JPK (opisane w Rozdziale 3.1)
-
-
-
- Dane wartości dokumentu uwzględniają:
- Numer obcy
- Data wystawienia
- Wartość netto dokumentu
- Data zakupu
- Dostawca towaru
- Numer obcy dokumentu handlowego
- Data wystawienia Faktury Zakupu powiązanej z PZ
- Dane dotyczące elementów uwzględniają:
- Numer obcy
- Kod towaru / usługi
- Nazwa towaru / usługi
- Ilość przyjęta w jednostce miary z dokumentu
- Jednostka miary z dokumentu
- Cena netto towaru / usługi
- Wartość netto
- Wiersz sumy kontrolnej, gdzie uwzględniono:
- Liczbę dokumentów PZ w pliku
- Wartość netto dokumentów PZ w pliku
- Dane wartości dokumentu uwzględniają:
-
-
-
- Dane wartości dokumentu uwzględniają:
- Numer dokumentu
- Data wystawienia
- Wartość netto dokumentu
- Data wydania WZ
- Nazwa odbiorcy towaru
- Numer faktury do WZ
- Data wystawienia Faktury Sprzedaży powiązanej z WZ
- Dane dotyczące elementów uwzględniają:
- Numer dokumentu WZ
- Kod towaru / usługi
- Nazwa towaru / usługi
- Ilość towaru w jednostce miary z dokumentu
- Jednostka miary z dokumentu
- Cena netto towaru / usługi
- Wartość netto
- Wiersz sumy kontrolnej, gdzie uwzględniono:
- Liczbę dokumentów WZ w pliku
- Wartość netto dokumentów WZ w pliku
- Dane wartości dokumentu uwzględniają:
-
-
-
- Dane wartości dokumentu uwzględniają:
- Numer dokumentu RW
- Data wystawienia
- Wartość netto dokumentu
- Data wydania towaru na RW
- Dane dotyczące elementów uwzględniają:
- Numer dokumentu RW
- Kod towaru / usługi
- Nazwa towaru / usługi
- Ilość towaru w jednostce miary z dokumentu
- Jednostka miary z dokumentu
- Cena netto towaru / usługi w jednostce z dokumentu
- Wartość netto
- Wiersz sumy kontrolnej, gdzie uwzględniono:
- Liczbę dokumentów RW w pliku
- Wartość netto dokumentów RW w pliku
- Dane wartości dokumentu uwzględniają:
-
-
-
- Dane wartości dokumentu uwzględniają:
- Numer dokumentu
- Data wystawienia
- Wartość netto dokumentu
- Data wydania MM
- Dane dotyczące elementów uwzględniają:
- Numer dokumentu MM
- Kod towaru / usługi
- Nazwa towaru / usługi
- Ilość towaru w jednostce miary z dokumentu
- Jednostka miary z dokumentu
- Cena netto towaru / usługi
- Wartość netto
- Wiersz sumy kontrolnej, gdzie uwzględniono:
- Liczbę dokumentów MM w pliku
- Wartość netto dokumentów MM w pliku
- Dane wartości dokumentu uwzględniają:
-
10 Rejestry VAT – JPK_VAT



11 Scalanie plików JPK_VAT
Istnieje możliwość łączenia plików JPK_VAT w programie Comarch ERP Optima. Użytkownik może wskazać pliki które mają zostać połączone i na podstawie tych plików zostanie utworzony nowy plik zawierający dane z tych wskazanych plików. Proces łączenia plików JPK_VAT wygląda następująco: Użytkownik powinien zaznaczyć wybrane przez siebie pliki na liście plików JPK i kliknąć ikonę Scal pliki JPK_VAT znajdującą się na wstążce programu.

12 Import plików JPK_VAT do rejestrów VAT
Użytkownicy mogą skorzystać z funkcji importu plików JPK_VAT do rejestrów VAT. Opcja dostępna jest z menu głównego po wyborze JPK/ Import do rej.VAT




Na zaimportowanych dokumentach do rejestru zakupu VAT domyślnie ustawiane są odliczenia na TAK.
-
-
- Uwzględniaj – dla stawek: 23%, 8%, 5%, 0%
- Tylko w mianowniku – dla stawki ZW
- Nie uwzględniaj – dla stawki NP
-
-
-
- 36 – Podatek należny od towarów objętych spisem z natury,
- 37 – Zwrot odliczonej lub zwróconej kwoty wydatkowanej na zakup kas rejestrujących,
- 38 – Podatek od wewnątrzwspólnotowego nabycia środków transportu,
- 39 – Podatek od wewn. nabycia towarów art. 103 ust. 5aa,
- 47 – Kwota podatku naliczonego od nabycia środków trwałych,
- 48 – Kwota podatku naliczonego od pozostałych nabyć,
- 49 – Kwota podatku naliczonego, o której mowa w art.89b ust. 1 ustawy,
- 50 – Kwota podatku naliczonego, o której mowa w art.89b ust. 4 ustawy,
-
OPT074 - Dodawanie kolumn użytkownika na listach
Data aktualizacji: 02-11-2023
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
- 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.
- 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
- Standardowe formaty wyświetlania dla liczb.
Rodzaj formatu |
Opis |
Przykład formatu |
Przykładowa wartość |
---|---|---|---|
c lub C | Liczba jest wyświetlana jako wartość walutowa. Specyfikacja precyzji określa żądaną ilość miejsc dziesiętnych. Jeżeli precyzja nie zostanie wpisana, zostanie użyta domyślna precyzja wartości formatu waluty z ustawień regionalnych. | c2 | $1,234.00 |
n lub N | Liczba jest wyświetlana w formie "-d,ddd,ddd.ddd...", gdzie każde 'd' oznacza cyfrę. Wartość będzie poprzedzona znakiem minus, jeżeli liczba jest ujemna. Separator tysięcy jest wstawiany między każdą grupę 3 cyfr na lewo od kropki dziesiętnej. Specyfikacja precyzji określa żądaną ilość miejsc dziesiętnych. Jeżeli precyzja nie zostanie wpisana, zostanie użyta domyślna precyzja wartości formatu waluty z ustawień regionalnych. | n0 | 1.234 |
d lub D | Wartość jest wyświetlana jako liczba całkowita ze znakiem minus. Jeżeli wyświetlana będzie liczba z częścią dziesiętna, zostanie ona sformatowana domyślnie. Specyfikacja precyzji określa minimalną ilość cyfr, która ma zostać pokazana. Jeżeli będzie to potrzebne, liczba zostanie dopełniona „nieistotnymi” zerami z lewej strony, aby zapewnić odpowiednią długość wartości. Jeżeli precyzja nie zostanie wybrana, pokazane zostanie dokładnie tyle cyfr, ile potrzeba do reprezentowania wartości bez początkowych zer. | D8 | 00004392 |
p lub P | Liczba mnożona jest przez 100 i wyświetlana ze znakiem %. Specyfikacja precyzji określa żądaną ilość miejsc dziesiętnych. Jeżeli nie zostanie określona, pokazywane są 4 miejsca dziesiętne. | P2 | 89,48 % |
- Standardowe formaty wyświetlania dla daty i czasu.
Format | Opis | Przykład |
---|---|---|
d | Wzorzec daty krótkiej. | 04-06-2014 |
D | Wzorzec daty długiej. | 4 czerwca 2014 |
t | Wzorzec czasu krótkiego. | 14:08 |
T | Wzorzec czasu długiego. | 14:08:00 |
f | Wzorzec daty długiej i czasu krótkiego. | 4 czerwca 2014 14:08 |
F | Wzorzec daty długiej i czasu długiego. | 4 czerwca 2014 14:08:00 |
g | Wzorzec daty krótkiej i czasu krótkiego. | 04-06-2014 14:08 |
G | Wzorzec daty krótkiej i czasu długiego. | 04-06-2014 14:08:00 |
m lub M | Wzorzec miesiąca i dnia. | 4 czerwca |
y lub Y | Wzorzec roku i miesiąca. | czerwiec 2014 |
s | Wzorzec sortowalny. | 2014-06-04T14:08:00 |
- Niestandardowe formaty dla liczb
Znak | Znaczenie |
---|---|
0 | Cyfra jest wyświetlana zawsze. |
# | Cyfra jest wyświetlana, gdy jest potrzebna (używane np, aby nie wyświetlać początkowych zer). |
. | Określa miejsce kropki dziesiętnej. Wygląd symbolu dziesiętnego zależy od ustawień regionalnych. |
, | Wyznacza użycie separatora tysięcy. Wygląd separatora zależy od ustawień regionalnych. |
% | Mnoży liczbę przez 100 i wstawia symbol % zgodny z ustawieniami regionalnymi. |
\ | Kolejny znak jest wstawiany literalnie do wyniku. |
- Niestandardowe formaty daty i czasu
Symbol | Znaczenie | Wynik formatownia przykładowej daty (22.06.2014) |
---|---|---|
yy | Ostatnie dwie cyfry roku. | 14 |
yyyy | Cztery cyfry roku. | 2014 |
MM | Numer miesiąca. | 06 |
MMM | Skrót nazwy miesiąca. | cze |
MMMM | Pełna nazwa miesiąca. | czerwiec |
dd | Numer dnia. | 22 |
ddd | Skrót dnia tygodnia. | N |
dddd | Pełna nazwa dnia tygodnia. | niedziela |
/ | Separator daty. Pobierany z ustawień regionalnych. |
- Symbole dotyczące czasu:
Symbol | Znaczenie |
---|---|
hh | Godziny. |
mm | Minuty. |
ss | Sekundy. |
: | Separator czasu. Pobierany z ustawień regionalnych. |
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.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:


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.
(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.
(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.
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_Wartosc5. 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_SymbolKsię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' END
Opis - 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_MiejsceUzytkowania25. 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_KodSzczegol6. Lista not odsetkowych, ponagleń zapłaty, potwierdzeń sald. Kolumna kod podmiotu
Kod podmiotu - należy skorzystać z dostępnej na liście kolumny: Pod_Kod7. 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
8. Lista deklaracji. Kolumna z polem kwotowym z deklaracji utworzonej w Comarch Deklaracje Podatkowe
Należy w sekcji Kolumny użytkownika dodać kolumnę o instrukcji pobierania danych:(select convert(decimal (18,2),replace(JSON_VALUE(DkE_WartoscTekst, '$.Deklaracja.PozycjeSzczegolowe.P_66'),',','.') ) AS kwota from cdn.DeklElem where DkE_DkNID= DkN_DkNID and DkE_Numer=50 and DkN_TypDeklar=17 and DkN_Wersja =32)CASE Brk_BrkId WHEN Kpe_BrkId THEN 'Tak' ELSE '' END
Jest to przykład, który z deklaracji CIT-8 w wersji 32 zwraca wartość pola 66. Ta definicja działa dla Windows Server 2016 I późniejszych.
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=52W 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, WPE_WpeId) AS T WHERE "Row Number" = 1 AND WPE_PraId = PRI_PraId)
OPT042 - Dodatkowe możliwości filtrowania list w programie
Data aktualizacji: 20-11-2019
Teoria i przykłady praktyczne
Panel filtra zaawansowanego
Filtr jest narzędziem wspomagającym przeszukiwanie list. W wielu miejscach systemu pojawiają się różnego rodzaju listy, do których można stosować filtry. Filtrowanie listy powoduje zawężenie ilości elementów wyświetlanych na liście do takich, które spełniają warunki filtra. Panel filtra można stosować na dwa sposoby:- Proste filtrowanie
- Filtr zaawansowany







Zakładka [Ogólne]
Zakładka [Ogólne] zawiera mechanizm łatwego konstruowania rozbudowanego wyrażenia logicznego filtrującego listę. W rozbudowanej postaci warunek logiczny może składać się z wielu członów połączonych operatorami logicznymi "oraz" (AND), "lub" (OR), "oraz nie" (AND Not) i "lub nie" (OR Not). W konstruktorze filtra tworzy się proste warunki logiczne, a następnie łączy się je za pomocą dostępnych operatorów.




Zakładka [Zaawansowane]
Zakładka [Ogólne] konstruktora filtra pozwala na łatwe budowanie wyrażeń filtrujących, posiada on jednak pewne ograniczenia. Dla bardziej wymagających Użytkowników została zaprojektowana zakładka [Zaawansowane]. Można tu ręczne tworzyć warunek filtrujący. Zakładka [Zaawansowane] posiada pole, do którego wprowadzany jest filtr w postaci wyrażenia z użyciem składni języka SQL. Praca z konstruktorem filtra wymaga znajomości struktury baz danych oraz umiejętności formułowania warunków logicznych.

'DEMO' = {_QGetSQL('select SYS_Wartosc from cdn.SystemCDN where SYS_ID =1')}
po tym warunku po operatorze „AND" należy wprowadzić właściwą treść filtra. W powyższym warunku na początku jako argument (w powyższym przykładzie „DEMO”) należy podać nazwę bazy wyświetlaną na liście firm.
Zakładka [Opcje]
Zakładka [Opcje] zawiera typ filtra. Domyślnym typem jest filtr Stanowiska. Jego definicja jest zapisywana w rejestrze systemowym i filtr stanowiska będzie widoczny dla danego stanowiska. Definicja filtra Globalnego jest zapisywana w bazie danych, dzięki czemu jest on widoczny i dostępny do edycji dla wszystkich Użytkowników. Filtr może być dostępny tylko dla wybranego operatora po zaznaczeniu opcji Operator i wybraniu odpowiedniego operatora. Po zalogowaniu się operator będzie miał możliwość wyboru filtra z listy filtrów. Filtr może być Obowiązkowy dla danego operatora, co oznacza, że po zalogowaniu się tego operatora filtr będzie włączony i nie będzie widoczny (do wyboru) na liście filtrów. Dodatkowo należy zaznaczyć w menu Start/Konfiguracja/ Program/ Użytkowe/ Parametry - parametr Stosuj filtry obowiązkowe. Parametr Chroniony – jeśli zaznaczy go operator z uprawnieniami Administratora, wówczas inni operatorzy nie będą mieli możliwości edycji i usunięcia danego filtra. Parametr Domyślny można zaznaczyć dla danego filtra niezależnie od jego typu (Stanowiska/ Operatora/ Globalny/ Obowiązkowy). Zaznaczenie parametru powoduje, że filtr jest automatycznie stosowany przy wejściu na daną listę. W odróżnieniu od filtra obowiązkowego można go wyłączyć. Filtrów domyślnych dla danej listy może być wiele, ale przy otwieraniu listy zostanie wybrany tylko jeden z nich. Kryterium wyboru wyznacza typ filtra oraz kolejność filtra w ramach typu. Najwyższy priorytet mają filtry Stanowiska, a więc związane z danym komputerem. Jeśli na jednym lub kilku filtrach typu Użytkownika, podłączonych do danej listy, zostanie zaznaczony parametr Domyślny, ostatni z nich zostanie uznany jako domyślny. W przypadku braku domyślnego filtra Stanowiska przeszukiwane są filtry Operatora, a wybór filtra domyślnego następuje analogicznie jak poprzednio. Jeśli na danej liście nie ma zdefiniowanego ani filtra domyślnego Stanowiska ani Operatora - domyślny filtr jest szukany w filtrach Globalnych.
Zapamiętywanie ustawień filtra
Po zamknięciu listy zapamiętywanie ustawień filtra jest realizowane wg poniższych zasad:- zapamiętywane jest czy panel dodatkowy był zwinięty/rozwinięty,
- zapamiętywane jest czy pinezka była włączona/wyłączona,
- zapamiętywane są ustawienia pól z panelu podstawowego i rozwijanego,
- lista otwiera się wyfiltrowana wg zapamiętanych filtrów.



Przykłady z instrukcją tworzenia
Moduły Handlowo-Magazynowe
Filtry tworzone z poziomu zakładki [Ogólne]
Na liście Faktur Sprzedaży chcemy wyświetlić tylko te dokumenty, których wartość brutto jest pomiędzy 500 a 1000 PLN. W konstruktorze filtra, zakładka [Ogólne] w pole Nazwa wpisujemy wybraną nazwę filtra, następnie w celu dodania warunków klikamy ikonę plusa



Filtry tworzone z poziomu zakładki [Zaawansowane]
Z poziomu listy Faktur Sprzedaży do bazy danych wysyłane jest automatycznie zapytanie:SELECT [lista kolumn] FROM A.TraNag WHERE …
Alias „A” dla tabeli TraNag, który jest widoczny w powyższym przykładzie pozwala na tworzenie bardziej skomplikowanych zapytań przy użyciu wielu tabel. Dla różnych list aliasy mogą być różne – można je podejrzeć za pomocą zaawansowanych narzędzi do obsługi serwera SQL. W treści filtra zaawansowanego wpisujemy wyrażenie SQL, które następuje po WHERE w zapytaniu. Prosty filtr zaawansowany Dla filtra przedstawionego we wcześniejszym przykładzie dla zakładki [Ogólne] można zbudować bezpośrednie zapytanie w zakładce [Zaawansowane], które wyglądałoby tak: (TrN_RazemBrutto > '500.0000' AND TrN_RazemBrutto < '1000.0000')
Jest to filtr o analogicznym działaniu, pokazujący Faktury Sprzedaży, których wartość brutto zawiera się między 500 a 1000 PLN. Filtr zaawansowany z parametrem dynamicznym W przykładzie pokażemy jak wyfiltrować dokumenty handlowo-magazynowe, które wystawił określony operator. Id operatora, który wystawił dany dokument znajduje się w bazie w tabeli TraNag w polu TrN_OpeZalID. W filtrze musimy porównać wartość tego pola z ID operatora wybranego. Potrzebny będzie parametr dynamiczny. Stworzymy go klikając prawym przyciskiem myszy w polu Filtr SQL i wybierając opcję Wstaw/edytuj deklarację parametru dynamicznego. 
- wskazujemy nazwę parametru, której użyjemy potem w zapytaniu (np. OpeID)
- wybór typów parametru:


@PAR ?@LS20(OP_PROC.DLL|CALLLOOKUPOPELISTA())|OpeID|&OpeID:{}@? PAR@
Wywołanie parametru w zapytaniu wstawiamy jak pokazano poniżej: TrN_OpeZalID = ??OpeID
Umożliwi to wybór z listy operatorów wybranego operatora i przefiltrowanie dokumentów po określonym operatorze. Filtr pokazuje dokumenty WYSTAWIONE przez danego operatora. Aby filtr reagował na dokumenty ZMODYFIKOWANE przez operatora należy zmienić TrN_OpeZalID na TrN_OpeModID Parametr typu lista rozwijana Jeśli chcielibyśmy w parametrze zastosować listę rozwijaną, wówczas w kolejnym kroku kreatora pojawi się szablon zapytania, które należy uzupełnić: SELECT ID = 1, Kod = ''
W tym miejscu powinno znaleźć się zapytanie, które zwróci nam ID oraz KOD. KOD będzie wyświetlany na liście rozwijanej, natomiast po dokonaniu wyboru z tej listy – do parametru będzie przekazywane ID wyboru. SELECT ID = Ope_OpeId, Kod = Ope_Kod From {OPBK()}.CDN.Operatorzy Order By Ope_Kod
Lista operatorów znajduje się w tabeli CDN.Operatorzy w bazie konfiguracyjnej, dlatego konieczne jest odwołanie w podany sposób: {OPBK()}.CDN.Operatorzy
Ostatecznie filtr z parametrem z listą rozwijaną będzie wyglądał w ten sposób: @PAR ?@R(SELECT ID = Ope_OpeId, Kod = Ope_Kod From {OPBK()}.CDN.Operatorzy Order By Ope_Kod)|OpeID|&OpeID:{}@? PAR@ TrN_OpeZalID = ??OpeID
Należy pamiętać o tym, aby w definicji parametru dynamicznego użyć kolumny liczbowej (w tym przypadku TrN_OpeZalID). Funkcje systemowe Modyfikacją zaprezentowanego filtra może być taki filtr, który pokaże dokumenty aktualnie zalogowanego operatora. W tym celu można wykorzystać funkcje systemowe. Opcja dostępna pod prawym przyciskiem myszy: 

TrN_OpeZalID = {OperatorID}
Moduły Księgowe
Filtry tworzone z poziomu zakładki [Ogólne]
Na liście zapisów kasowych/bankowych chcemy wyświetlić zapisy, na których nie zostało uzupełnione konto przeciwstawne. W konstruktorze filtra, zakładka [Ogólne] w pole Nazwa wpisujemy wybraną nazwę filtra, następnie w celu dodania warunków klikamy ikonę plusa



Filtry tworzone z poziomu zakładki [Zaawansowane]
Filtr zaawansowany z parametrem dynamicznym W przykładzie pokażemy jak wyfiltrować dokumenty w rejestrze VAT, które posiadają określoną kategorię w nagłówku dokumentu. Id kategorii, która została wybrana na dokumencie w rejestrze VAT znajduje się w bazie w tabeli VatNag w polu VaN_KatID. W filtrze musimy porównać wartość tego pola z ID operatora wybranego. Potrzebny będzie parametr dynamiczny. Stworzymy go klikając prawym przyciskiem myszy w polu Filtr SQL i wybierając opcję Wstaw/edytuj deklarację parametru dynamicznego.
- wskazujemy nazwę parametru, której użyjemy potem w zapytaniu (np. Kategoria)
- wybór typów parametru:


@PAR ?@LS0(OP_LIST.DLL|CALLLOOKUPKATLISTA())|kategoria|&kategoria:0|@? PAR@
Wywołanie parametru w zapytaniu wstawiamy jak poniżej: VaN_KatId = ??Kategoria
Umożliwi to wybór z listy kategorii wybranej kategorii i przefiltrowanie dokumentów po określonej kategorii wybranej w nagłówku dokumentu w rejestrze VAT. Należy pamiętać o tym, aby w definicji parametru dynamicznego użyć kolumny liczbowej (w tym przypadku VaN_KatId).
Moduły Płace i Kadry
Filtry tworzone z poziomu zakładki [Ogólne]
Na liście pracowników w kadrach chcemy wyświetlić osoby, dla których została odnotowana informacja na temat wieloetatowości, a konkretnie posiadają ustawiony etat podstawowy. W konstruktorze filtra, zakładka [Ogólne] w pole Nazwa wpisujemy wybraną nazwę filtra, następnie w celu dodania warunków klikamy ikonę plusa i wskazujemy pole PRI_Nadrzedny.


Filtry tworzone z poziomu zakładki [Zaawansowane]
Filtr zaawansowany z parametrem dynamicznym W przykładzie pokażemy jak odfiltrować pracowników, którzy posiadają przypisaną określoną kategorię. Id kategorii, która została przypisana pracownikowi na jego formularzu kadrowym (zakładka 7 [Dodatkowe]) znajduje się w bazie w tabeli PracEtaty w polu PRE_KatId. W filtrze musimy porównać wartość tego pola z wartością wybraną z listy słownikowej wszystkich kategorii. Potrzebny będzie parametr dynamiczny. Stworzymy go klikając prawym przyciskiem myszy w polu Filtr SQL i wybierając opcję Wstaw/edytuj deklarację parametru dynamicznego.
- wskazujemy nazwę parametru, której użyjemy potem w zapytaniu (np. Kategoria)
- wybór typów parametru:


Pozostałe przykłady
Ogólne
Jak ustawić w filtrze datę bieżącą lub zakres dat, np. od pierwszego do ostatniego dnia miesiąca?
Aby po zdefiniowaniu filtrów, w których pada pytanie o datę lub zakres dat podpowiadała się data bieżąca, a nie data z dnia definiowania filtra, należy skorzystać z parametru dynamicznego. Na zakładce [Zaawansowane] w Konstruktorze filtra należy zdefiniować odpowiednie parametry dynamiczne (prawy klawisz myszy na polu z filtrem, Wstaw/edytuj deklarację parametru dynamicznego, potem, żeby go wykorzystać: Wstaw/edytuj odwołanie do parametru dynamicznego). Przykładowy filtr (zakres dat na bieżący miesiąc) w polu Filtr SQL powinien mieć wpisane:@PAR ?@D17|data1|&Data od:{DateClwFirstDay('m')} @? PAR@ @PAR ?@D17|data2|&Data do:{DateClwLastDay('m')} @? PAR@ TrN_DataDok >= ??data1 AND TrN_DataDok <= ??data2
Jak zawęzić listę kontrahentów do tych, których kod rozpoczyna się na zadaną literę?
Taki filtr może być przydatny przy seryjnym generowaniu Not odsetkowych, Ponagleń Zapłaty czy Potwierdzeń Salda, które jest dostępne z menu Ogólne/ Kontrahenci, pod ikoną Generacja na pasku zadań. W Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać w polu Filtr SQL:Knt_Kod LIKE ?@S100|Kod zaczyna się od:'' + '%'
Aby odfiltrować dokumenty Ponagleń zapłaty lub Potwierdzeń salda dla kontrahentów, których kod rozpoczyna się od zadanej litery, należy: W Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać w polu Filtr SQL: exists (select * from CDN.Kontrahenci where BDN_PodmiotID=Knt_KntId AND Knt_Kod LIKE ?@S100|Kod zaczyna się od:'' + '%')
Dla listy Not odsetkowych w polu Filtr SQL: exists (select * from CDN.Kontrahenci where NON_PodmiotID=Knt_KntId AND Knt_Kod LIKE ?@S100|Kod zaczyna się od:'' + '%')
Jak wyfiltrować kontrahentów, którzy mają wybraną na karcie konkretną kategorię szczegółową (sprzedaży bądź zakupu)?
Aby odnaleźć kontrahentów z określoną kategorią sprzedaży, na liście kontrahentów należy uruchomić konstruktor filtra, a następnie na zakładce [Zaawansowane] w polu Filtr SQL należy wpisać:@PAR ?@LS0(OP_LIST.DLL|CALLLOOKUPKATLISTA())|kategoria|&kategoria:0|@? PAR@ Knt_KatID= ??Kategoria
Z kolei, aby odnaleźć kontrahentów z określoną kategorią zakupu należy zastosować filtr: @PAR ?@LS0(OP_LIST.DLL|CALLLOOKUPKATLISTA())|kategoria|&kategoria:0|@? PAR@ Knt_KatZakID= ??Kategoria
Przed odfiltrowaniem listy program będzie pytał o kategorię szczegółową. Aby odnaleźć kontrahentów z kategorią zawierającą określoną frazę, to stosując poniższy filtr: Knt_KatID=(select Kat_KatID from cdn.kategorie where Kat_KatID=Knt_KatID and kat_KodSzczegol like ?@S100|Kat szczeg:'')
podczas wpisywania kategorii, przed bądź za wpisywaną frazą należy wstawić znak „%” zastępujący dowolny ciąg znaków.
Jak zbudować filtr, który przed odfiltrowaniem listy kontrahentów z danego województwa będzie wyświetlał listę województw do wyboru?
Na liście kontrahentów, w Konstruktorze filtra na zakładce [Zaawansowane] należy wpisać:@PAR ?@R(SELECT Id = 0, Kod = '' UNION SELECT Id = 1, Kod = 'dolnośląskie' UNION SELECT Id = 2, Kod = 'kujawsko-pomorskie' UNION SELECT Id = 3, Kod = 'lubelskie' UNION SELECT Id = 4, Kod = 'lubuskie' UNION SELECT Id = 5, Kod = 'łódzkie' UNION SELECT Id = 6, Kod = 'małopolskie' UNION SELECT Id = 7, Kod = 'mazowieckie' UNION SELECT Id = 8, Kod = 'opolskie' UNION SELECT Id = 9, Kod = 'podkarpackie' UNION SELECT Id = 10, Kod = 'podlaskie' UNION SELECT Id = 11, Kod = 'pomorskie' UNION SELECT Id = 12, Kod = 'śląskie' UNION SELECT Id = 13, Kod = 'świętokrzyskie' UNION SELECT Id = 14, Kod = 'warmińsko-mazurskie' UNION SELECT Id = 15, Kod = 'wielkopolskie' UNION SELECT Id = 16, Kod = 'zachodniopomorskie')|Woj|&Województwo: @? PAR@ Knt_Wojewodztwo = Case ??Woj When 1 Then 'dolnośląskie' When 2 Then 'kujawsko-pomorskie' When 3 Then 'lubelskie' When 4 Then 'lubuskie' When 5 Then 'łódzkie' When 6 Then 'małopolskie' When 7 Then 'mazowieckie' When 8 Then 'opolskie' When 9 Then 'podkarpackie' When 10 Then 'podlaskie' When 11 Then 'pomorskie' When 12 Then 'śląskie' When 13 Then 'świętokrzyskie' When 14 Then 'warmińsko-mazurskie' When 15 Then 'wielkopolskie' When 16 Then 'zachodniopomorskie' Else '' End
Pierwsza część (od @PAR do PAR@) jest to deklaracja parametru dynamicznego. Jeżeli zostanie wybrany parametr dynamiczny typu "Lista rozwijana" to zapytanie SQL musi zwrócić wynik dwukolumnowy - w pierwszym ma być wartość numeryczna (która zostanie podstawiona do zmiennej), a w drugim tekst (który zostanie wyświetlony na liście). Najwygodniej jest najpierw napisać sobie takie zapytanie np. w WinSQL-u (łatwo wtedy sprawdzić, czy nie ma w nim błędów), a potem przekleić do "wizarda parametru dynamicznego" w kroku 4 (wizard jest dostępny na zakładce [Zaawansowane] w Konstruktorze filtra w menu kontekstowym). Druga część, to wykorzystanie tego parametru w zapytaniu SQL, które zostanie podstawione do filtra. Pod ??Woj program podstawi liczbę odpowiadającą wybranemu województwu, a konstrukcja Case ... When ... Then ... pozwoli na "przetłumaczenie" z powrotem liczby na tekst.
Jak wyszukać kontrahenta na podstawie numeru rachunku bankowego?
Na liście kontrahentów w Konstruktorze filtra, na zakładce: [Zaawansowane] w polu Filtr SQL należy wpisać:@PAR ?@S30|Numer|&Numer rachunku:''@? PAR@ exists (select * from CDN.SchematPlatnosci where SPL_PodmiotTyp=1 and SPL_PodmiotID=Knt_KntID and SPL_RachunekNr0=replace(replace(??Numer,' ',''),'-',''))
Kasa/Bank
Jak wyfiltrować dokumenty, które zostały rozliczone w styczniu 14 dni po terminie płatności?
Klient wystawiał noty odsetkowe tylko klientom, którzy zapłacili 14 dni po upływie terminu płatności. Zastosowanie filtra w Preliminarzu pozwoliło na wyodrębnienie dokumentów, które odpowiadały ww. zapytaniu. Wynik można wysłać do Excela i posortować wg nazwy kontrahenta. Filtr należy zbudować z poziomu Preliminarza Płatności. W Konstruktorze filtra, na zakładce: [Zaawansowane] należy wpisać w polu Filtr SQL:BZd_DataRoz BETWEEN CONVERT(DATETIME,'2018-01-01',120) AND CONVERT(DATETIME,'2018-01-31',120) And BZd_DataRoz > DateAdd(day, 14, BZd_Termin)
Jak wyfiltrować zdarzenia w Preliminarzu, które mają wybraną przez operatora formę płatności?
Na liście zdarzeń w Preliminarzu, pod ikonką Konstruktor filtra, na zakładce [Zaawansowane], w polu Filtr SQL wpisujemy:@PAR ?@R(SELECT FPl_FPlId, FPl_Nazwa FROM CDN.FormyPlatnosci)|fp|&fp: @? PAR@ BZd_FPlId=??fp
Przed odfiltrowaniem pojawi się rozwijana lista z dostępnymi formami płatności.
Jak wyfiltrować z poziomu listy kontrahentów nierozliczone zdarzenia z preliminarza wystawione w zadanym okresie?
Filtr ten sprawdza, czy w Preliminarzu Płatności dla danego kontrahenta są zapisy przychodowe, zatwierdzone, nierozliczone i wystawione w zadanym okresie czasu. Z poziomu listy kontrahentów w Konstruktorze filtra, na zakładce: [Zaawansowane] w polu Filtr SQL należy wpisać:exists ( select * From CDN.BnkZdarzenia where BZd_DataDok>= ?@D10-|Data od: and BZd_DataDok<= ?@D10-|Data do: and Bzd_PodmiotTyp = 1 and Bzd_PodmiotID=Knt_KntID and BZd_Kierunek =1 and BZd_Stan>0 and BZd_KwotaSys<>BZd_KwotaRozSys)
Jak przefiltrować na preliminarzu płatności tylko te FA i FKOR, które nie mają powiązania z dokumentami magazynowymi?
Trzeba wykonać filtr w Preliminarzu płatności, który uwzględni tabelę TraNag, w której jest przechowywana taka informacja. Przykładowy filtr SQL będzie wyglądał tak:exists (select * from CDN.TraNag where Trn_TrNID=Bzd_DokumentID And Bzd_DokumentTyp=1 and TrN_Rodzaj=302000 or Trn_Rodzaj=302001 or Trn_Rodzaj=302002 or Trn_Rodzaj=302002)
Jak wyfiltrować zapisy kasowo/bankowe zawierające kategorię szczegółowe należące do zadanej kategorii ogólnej?
Na liście zapisów kasowo/bankowych, w Konstruktorze filtra, na zakładce [Zaawansowane] w polu Filtr SQL należy wpisać:exists (select Kat_KodOgolny, Kat_KodSzczegol from cdn.kategorie where BZp_KatID=Kat_KatID AND Kat_KodOgolny=?@S100|Kategoria ogólna:'')
Jak wyfiltrować listę kontrahentów, dla których są pary dokumentów do rozliczenia?
Chodzi o to aby użytkownik w menu Kasa/Bank/Rozliczenia, po wywołaniu listy kontrahentów, mógł ją zawęzić do tych, którzy mają nierozliczone dokumenty, które można ze sobą rozliczyć czyli np. Fakturę Sprzedaży i dokument KP lub Fakturę zakupu i dokument KW lub Fakturę Sprzedaży i Fakturę Zakupu lub Dokumenty KP i KW. Można założyć filtr zaawansowany na liście kontrahentów w menu Ogólne/ Kontrahenci, który będzie korzystał z tabeli CDN.DokumentyKBView. W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL można wpisać:Exists (Select * From CDN.DokumentyKBView Where DKB_PodmiotTyp = 1 And DKB_PodmiotId = Knt_KntId And DKB_Rozliczono = 1 And DKB_Kierunek = Case DKB_TypDokumentuKB When 1 Then 1 Else -1 End) And Exists (Select * From CDN.DokumentyKBView Where DKB_PodmiotTyp = 1 And DKB_PodmiotId = Knt_KntId And DKB_Rozliczono = 1 And DKB_Kierunek = Case DKB_TypDokumentuKB When 1 Then -1 Else 1 End)
Podobny filtr można stworzyć na liście pracowników podmieniając: DKB_PodmiotTyp = 1 And DKB_PodmiotId = Knt_KntId
na DKB_PodmiotTyp = 3 And DKB_PodmiotId = Pra_PraId
Filtr nie sprawdza waluty dokumentów.
Jak wyfiltrować w Preliminarzu płatności dokumenty, których termin płatności upłynął więcej niż 30 dni temu?
W Preliminarzu płatności, w Konstruktorze filtra, w polu Filtr SQL należy wstawić:datediff ( d , BZd_Termin , {DateSQL(Today())} ) > 30
Filtr policzy różnicę pomiędzy datą bieżącą i terminem płatności i wyświetli te dokumenty, dla których różnica jest większa niż 30 dni.
Jak wyszukać zduplikowanych kontrahentów i zduplikowane zdarzenia w Preliminarzu?
W słownikach na liście kontrahentów można zastosować filtr, który sprawdzi czy są kontrahenci którym powtarza się numer NIP i dodatkowo pole NIP nie jest puste:Knt_Nip IN (SELECT Knt_Nip FROM CDN.Kontrahenci WHERE Knt_Nip <> '' GROUP BY Knt_Nip HAVING COUNT ( Knt_Nip ) > 1 )
W Preliminarzu płatności filtr wyświetli zdarzenia o takim samym numerze obcym. To pozwoli sprawdzić czy w systemie nie wprowadzono dwa razy tego samego dokumentu: BZd_NumerObcy IN (SELECT BZd_NumerObcy FROM cdn.bnkzdarzenia GROUP BY BZd_NumerObcy HAVING COUNT ( BZd_NumerObcy ) > 1 )
Jak wyfiltrować w Preliminarzu faktury, które w rejestrze VAT znajdują się w konkretnym podrejestrze?
W Preliminarzu należy uruchomić Konstruktor filtra, a następnie na zakładce [Zaawansowane] w polu Filtr SQL należy wpisać:(Bzd_DokumentTyp='2' AND Bzd_DokumentID in (select Van_VanID from CDN.VatNag where Bzd_DokumentID=Van_VanID AND VaN_Rejestr=?@S100|Nazwa rejestru:'')) OR (Bzd_DokumentTyp='1' AND Bzd_DokumentID in (select Van_TrnID from CDN.VatNag where Bzd_DokumentID=Van_TrnID AND VaN_Rejestr=?@S100|Nazwa rejestru:''))
Przed odfiltrowaniem listy program będzie pytał o nazwę rejestru dla którego ma wyświetlić faktury. Inny wariant powyższego filtra, gdzie nazwa rejestru VAT wybierana jest z rozwijalnej listy: @PAR ?@R(SELECT LP=Gru_GruID, KOD=Gru_Nazwa FROM cdn.Grupy WHERE (Gru_Typ=1 OR Gru_Typ=2))|RejVat|&RejVat:0 |@? PAR@ (Bzd_DokumentTyp='2' AND Bzd_DokumentID in (select Van_VanID from CDN.VatNag where Bzd_DokumentID=Van_VanID AND VaN_Rejestr=??_RES2_RejVat)) OR (Bzd_DokumentTyp='1' AND Bzd_DokumentID in (select Van_TrnID from CDN.VatNag where Bzd_DokumentID=Van_TrnID AND VaN_Rejestr=??_RES2_RejVat))
Filtry uwzględniają zarówno faktury wprowadzone bezpośrednio do Rejestrów VAT jak i faktury wystawione w module Faktury i przeniesione do Rejestrów VAT.
Jak wyfiltrować kontrahentów, którzy nie są osobą fizyczną i suma nierozliczonych dokumentów jest większa niż podana przez operatora?
Na liście kontrahentów w menu Ogólne/ Kontrahenci, w Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select Knt_KntId from CDN.BnkZdarzenia where Knt_KntId=BZd_PodmiotID AND BZd_PodmiotTyp=1 having SUM(BZd_Kierunek * (BZd_KwotaSys-BZd_KwotaRozSys)) >?@N-15.4|Kwota:0)
Wyrażenie: having SUM(BZd_Kierunek * (BZd_KwotaSys-BZd_KwotaRozSys))
pozwoli wyfiltrować różnicę nierozliczonych przychodów i rozchodów. Filtr uwzględni wszystkie dokumenty z Preliminarza Płatności dla danego kontrahenta. Dla zawężonej listy będzie można wygenerować np. Potwierdzenie Salda lub Ponaglenie Zapłaty. Poniżej filtr, który uwzględni również historyczność czyli stan rozliczeń na konkretny dzień podany przez operatora. Na liście kontrahentów w menu Ogólne/ Kontrahenci, w Konstruktorze filtra, na zakładce [Zaawansowane], w polu: Filtr SQL należy wpisać: @PAR ?@D17|Dzien|&Na dzień:{Today()} @? PAR@ @PAR ?@N15.2|Kwota|&Kwota powyżej:0 @? @RH(999999) PAR@ @PAR ?@S3|Waluta|&Waluta:PLN @? @U() PAR@ Knt_Finalny = 0 AND EXISTS ( SELECT BZd_PodmiotId FROM (SELECT BZd_PodmiotId, BZd_Kierunek, BZd_Kwota, BZd_KwotaRoz = SUM(IsNull(BRK_Kwota,0)) FROM CDN.BnkZdarzenia LEFT OUTER JOIN (CDN.BnkRozRelacje JOIN CDN.BnkRozKwoty ON BRR_BRKId = BRK_BRKId) ON BZd_BZdId = BRR_ZDokId AND BRR_ZDokTyp = 1 AND (BRK_DataDok <= ??Dzien OR BRK_DataDok Is NULL) WHERE BZd_Stan > 0 AND BZd_PodmiotTyp = 1 AND BZd_PodmiotID = Knt_KntId AND BZd_DataDok <= ??Dzien AND CASE BZd_Waluta WHEN '' THEN 'PLN' ELSE BZd_Waluta END = ??Waluta AND BZd_Rozliczono <> 0 GROUP BY BZd_PodmiotId, BZd_Kierunek, BZd_Kwota, BZd_BZdId ) As TmpTable GROUP BY BZd_PodmiotId HAVING Sum(BZd_Kierunek * (BZd_Kwota-BZd_KwotaRoz)) > ??Kwota )
Jak wyfiltrować na liście zapisów kasowo bankowych te, które mają uzupełnione konto Wn lub konto Ma w kwotach dodatkowych?
Na liście zapisów kasowo/bankowych pod ikoną konstruktora filtra, na zakładce [Zaawansowane], w polu Filtr SQL wpisujemy:exists (select * from CDN.KwotyDodatkowe where Kdd_DokumentID=Bzp_BzpID AND KDD_DokumentTyp=14 AND (Kdd_Segment1<>'' OR Kdd_Segment2<>''))
Aby wyfiltrować te które mają wpisane określone konto po stronie Wn , możemy użyć: exists (select * from CDN.KwotyDodatkowe where Kdd_DokumentID=Bzp_BzpID AND KDD_DokumentTyp=14 AND Kdd_Segment1=?@S100|KontoWN:'')
Analogicznie konto Ma: exists (select * from CDN.KwotyDodatkowe where Kdd_DokumentID=Bzp_BzpID AND KDD_DokumentTyp=14 AND Kdd_Segment2=?@S100|KontoMA :'')
lub wyszukując określoną kwotę w kwotach dodatkowych: exists (select * from CDN.KwotyDodatkowe where Kdd_DokumentID=Bzp_BzpID AND KDD_DokumentTyp=14 AND Kdd_Kwota=?@S100|Kwota:'')
Filtr dla zapisów Kasowych/Bankowych, wyświetlający zapisy kontrahentów, którzy są przydzieleni do danego pracownika (ustawienie w Karcie Kontrahenta)
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_PRCW.DLL|CALLLOOKUPPRILISTA())|Pracownik|&Pracownik:0|@? PAR@ BZp_PodmiotTyp=1 and exists (select * from cdn.kontrahenci where BZp_PodmiotID=Knt_KntId and Knt_OpiekunId=??Pracownik and Knt_OpiekunTyp=3)
Filtr wyświetlający zdarzenia w preliminarzu dla dwóch (lub więcej) kontrahentów:
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKNTLISTA())|kod1|&kontrahent1:REG= @? PAR@ BZd_PodmiotID = ??kod1 OR @PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKNTLISTA())|kod2|&kontrahent2:REG= @? PAR@ BZd_PodmiotID = ??kod2
Filtr ograniczający listę wyświetlanych w Preliminarzu płatności dokumentów do płatności pochodzących z Faktur Zakupu z modułu Handel i zapisów z Rejestru zakupu VAT:
Filtr może być stosowany wtedy, gdy np. Faktury Zakupu z których towary mają wejść na magazyn wprowadzamy w module Handel, a Faktury Zakupu kosztowe - od razu w Rejestrach VAT. Po zastosowaniu takiego filtra w Preliminarzu możemy widzieć jednocześnie oba te rodzaje dokumentów (i tylko te dokumenty). W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select * from CDN.TraNag where Trn_TrNID=Bzd_DokumentID And Bzd_DokumentTyp=1 and TrN_TypDokumentu=301) or exists (select * from CDN.VatNag where VaN_VaNID=Bzd_DokumentID And Bzd_DokumentTyp=2 and VaN_Typ=1)
Filtr ograniczający listę wyświetlanych w Preliminarzu płatności dokumentów do płatności pochodzących z Faktur Sprzedaży z modułu Handel i z Rejestru sprzedaży VAT.
Filtr może być stosowany wtedy, gdy np. Faktury Sprzedaży, z których towary mają wyjść z magazynu wprowadzamy w module Handel, a pozostałe faktury - od razu w Rejestrach sprzedaży VAT. W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select * from CDN.TraNag where Trn_TrNID=Bzd_DokumentID And Bzd_DokumentTyp=1 and TrN_TypDokumentu=302) or exists (select * from CDN.VatNag where VaN_VaNID=Bzd_DokumentID And Bzd_DokumentTyp=2 and VaN_Typ=2)
W jaki sposób w Preliminarzu odnaleźć płatności mające wybrany rachunek bankowy po nazwie tego rachunku, określanego na karcie kontrahenta?
W Preliminarzu płatności w Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać:@PAR ?@S30|Rachunek|&Rachunek:''@? PAR@ exists (select * from CDN.SchematPlatnosci where BZd_RachunekNr=SPL_RachunekNr and SPL_PodmiotID=BZd_PodmiotID and SPL_PodmiotTyp=1 and SPL_Opis=??Rachunek)
Jak na liście dokumentów rozliczonych odnaleźć te pochodzące z konkretnego rejestru VAT?
Na liście dokumentów rozliczonych w Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać:@PAR ?@S30|Rejestr|&Rejestr:''@? PAR@ (BRK_LDokTyp=1 and exists (select * from CDN.BnkZdarzenia where BRK_LDokID=BZd_BZdID and BZd_DokumentTyp=2 and exists ( select * from CDN.VatNag where BZd_DokumentID=VaN_VaNID and VaN_Rejestr = ??Rejestr))) OR (BRK_PDokTyp=1 and exists (select * from CDN.BnkZdarzenia where BRK_PDokID=BZd_BZdID and BZd_DokumentTyp=2 and exists ( select * from CDN.VatNag where BZd_DokumentID=VaN_VaNID and VaN_Rejestr = ??Rejestr)))
W jaki sposób w Preliminarzu odnaleźć płatności z faktur sprzedażowych mających konkretny atrybut i wartość atrybutu?
W Preliminarzu płatności w Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać:@PAR ?@LS20(SELECT [DeA_DeAId], [DeA_Kod], [DeA_Nazwa] FROM [CDN].[DefAtrybuty] WHERE [DeA_Typ]= 4|GENERICLOOKUP(Atrybuty dokumentów, 0, 1))|Atrybut|&Atrybut: @? @MSG(Wybór z listy) @TIP(Wybór z listy) PAR@ @PAR ?@S100|Wartosc|&Wartość: @? @MSG(Wartość atrybutu) @TIP(Wartość atrybutu) PAR@ EXISTS (SELECT * FROM CDN.TraNag JOIN CDN.DokAtrybuty ON DAt_TrNId = TrN_TrNId WHERE TrN_TrNID = BZd_DokumentID AND BZd_DokumentTyp=1 AND TrN_TypDokumentu=302 AND DAt_DeAId=??Atrybut AND DAt_WartoscTxt=??Wartosc)
W jaki sposób odnaleźć dokumenty nierozliczone kontrahentów ze statusem 'Partner’?
Na liście dokumentów nierozliczonych w Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać:(DKB_TypDokumentuKB=1 And EXISTS (Select * From CDN.BnkZdarzenia JOIN CDN.Kontrahenci ON BZd_PodmiotID=Knt_KntId AND BZd_PodmiotTyp=1 where DKB_DKBId=BZd_BZdID And Knt_Rodzaj_Partner=1)) OR (DKB_TypDokumentuKB=2 And EXISTS (Select * From CDN.BnkZapisy JOIN CDN.Kontrahenci ON BZp_PodmiotID=Knt_KntId AND BZp_PodmiotTyp=1 where DKB_DKBId=BZp_BZpID And Knt_Rodzaj_Partner=1))
W jaki sposób odnaleźć różnice kursowe wygenerowane przez zapisy kasowe/bankowe wprowadzone do konkretnego rejestru?
Na liście różnic kursowych w Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać:@PAR ?@S30|Rejestr|&Rejestr:''@? PAR@ (BRK_LDokTyp=2 and exists (select * from CDN.BnkZapisy where BRK_LDokID=BZp_BZpID and exists ( select * from CDN.BnkRachunki where BRa_BRaID=BZp_BRaID and BRa_Symbol = ??Rejestr))) OR (BRK_PDokTyp=2 and exists (select * from CDN.BnkZapisy where BRK_PDokID=BZp_BZpID and exists ( select * from CDN.BnkRachunki where BRa_BRaID=BZp_BRaID and BRa_Symbol = ??Rejestr)))
W jaki sposób odnaleźć kontrahentów mających wystawione w module Kasa/Bank potwierdzenia sald w 2018 roku?
Na liście kontrahentów w Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać:Exists (Select * From CDN.BnkDokNag Where BDN_PodmiotID=Knt_KntID And BDN_PodmiotTyp=1 And BDN_Typ=223 And BDN_NumerPelny Like '%2018%')
W jaki sposób odnaleźć dokument kompensaty na którym wskazano dokument o określonym numerze?
Z poziomu Kasa/Bank/ Dokumenty kompensat w Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać:@PAR ?@S50|Numer_dok|Numer szukanego dokumentu:''@? PAR@ EXISTS (select * from cdn.KompensatyElem left join cdn.BnkRozKwoty on KPE_BRKID = BRK_BRKID where (BRK_LNumer like ??_QNumer_dok + '%' or BRK_PNumer like ??_QNumer_dok + '%') and KPN_KPNID = KPE_KPNID)
Handel i Faktury
Jak wyfiltrować dokumenty FA, które wystawione są na klienta detalicznego ale nie ‘od netto’?
Trzeba wykonać zapytanie na liście Faktur Sprzedaży w module Faktury, uwzględniając tabelę Kontrahenci, gdzie Knt_Finalny = 1. W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:Exists(select * from CDN.Kontrahenci where Trn_PodID=Knt_KntID AND TrN_PodmiotTyp=1 AND TrN_TypNB=2 AND Knt_Finalny=1)
Jak z listy faktur sprzedaży wyfiltrować te faktury, które są nierozliczone lub rozliczone częściowo?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:Exists (select * from CDN.BnkZdarzenia where TrN_TrNID=BZd_DokumentID AND Bzd_DokumentTyp='1' AND (Bzd_Kwota-Bzd_KwotaRoz<>0))
Filtr można zastosować również na liście faktur zakupu.
Jak wyfiltrować dokumenty handlowo-magazynowe, które wystawił określony operator?
Filtr powinien wyglądać w ten sposób: Filtr SQL@PAR ?@R(SELECT ID = Ope_OpeId, Kod = Ope_Kod From {OPBK()}.CDN.Operatorzy Order By Ope_Kod)|Operator|&Operator:1 @? PAR@ TrN_OpeZalID = ??Operator
Umożliwi to wybór z listy operatorów wybranego operatora i przefiltrowanie dokumentów po określonym operatorze. Filtr pokazuje dokumenty WYSTAWIONE przez danego operatora. Aby filtr reagował na dokumenty ZMODYFIKOWANE przez operatora należy zmienić TrN_OpeZalID na TrN_OpeModID
Jak filtrować kontrahentów wg atrybutów podpiętych na karcie kontrahenta?
Filtr SQL dla wyfiltrowania kontrahentów z zadanym kodem atrybutu z listy kontrahentów. Filtr przed odfiltrowaniem listy będzie wyświetlał listę atrybutów dla kontrahentów. W celu dodania filtra należy w Konstruktorze filtra wywołanym z poziomu listy kontrahentów, na zakładce [Zaawansowane], w polu Filtr SQL wpisać:@PAR ?@R(SELECT ID = DeA_DeAId, Kod = DeA_Kod FROM CDN.DefAtrybuty WHERE DeA_Typ=2 ORDER BY DeA_Kod)|KodAtr|&Kod atrybutu:ATR1 @? PAR@ exists(select * from CDN.KntAtrybuty where KnA_PodmiotId=Knt_KntId AND KnA_PodmiotTyp=1 AND KnA_DeAId = ??KodAtr )
Filtr SQL dla wyfiltrowania kontrahentów z określoną wartością atrybutu. W celu dodania filtra należy w Konstruktorze filtra wywołanym z poziomu listy kontrahentów, na zakładce [Zaawansowane], w polu Filtr SQL wpisać: Exists (Select * From CDN.KntAtrybuty Where Knt_KntId=KnA_PodmiotId AND KnA_PodmiotTyp=1 AND KnA_WartoscTxt LIKE '%' + ?@S100|Wartość:'' + '%')
Jak filtrować listę faktur wg atrybutów podpiętych na karcie kontrahenta?
Filtr SQL dla listy faktur pokazujący dokumenty wystawione na kontrahentów mających na swoich kartach przypisany określony atrybut. Filtr przed odfiltrowaniem listy będzie wyświetlał listę atrybutów kontrahentów. W celu dodania filtra należy w Konstruktorze filtra wywołanym z poziomu listy faktur, na zakładce [Zaawansowane], w polu Filtr SQL wpisać:@PAR ?@R(SELECT ID = DeA_DeAId, Kod = DeA_Kod FROM CDN.DefAtrybuty WHERE DeA_Typ=2 ORDER BY DeA_Kod)|KodAtr|&Kod atrybutu:ATR1 @? PAR@ exists(select * from CDN.KntAtrybuty Where KnA_PodmiotId=TrN_PodId AND KnA_PodmiotTyp=TrN_PodmiotTyp AND KnA_DeAId =??KodAtr)
Filtr SQL dla listy faktur pokazujący dokumenty wystawione na kontrahentów mających na swoich kartach przypisany atrybut z określoną wartością. W celu dodania filtra należy w Konstruktorze filtra wywołanym z poziomu listy faktur, na zakładce [Zaawansowane], w polu Filtr SQL wpisać: Exists (Select * From CDN.KntAtrybuty Where KnA_PodmiotId=TrN_PodId AND KnA_PodmiotTyp=TrN_PodmiotTyp AND KnA_WartoscTxt LIKE '%' + ?@S100|Wartość:'' + '%')
Jak wyfiltrować faktury, które zostały wystawione na kontrahentów, którzy mają przyporządkowanego opiekuna w formie operatora systemu Comarch ERP Optima?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT ID = Ope_OpeID , Kod = Ope_Kod from {opbk()}.CDN.Operatorzy)|Operator|&Operator: @? PAR@ Exists (Select * From CDN.Kontrahenci Where Knt_OpiekunID = ??Operator and TrN_PodId = Knt_KntId And TrN_PodmiotTyp = 1)
Jak wyfiltrować listę Faktur Sprzedaży po opiekunie, który jest zapisany na karcie kontrahenta i jest to pracownik firmy?
Na liście faktur, w konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT ID = Pra_PraID, Kod = Pra_Kod From CDN.PracKod)|Pracownik|&Pracownik: @? PAR@ Exists (Select * From CDN.Kontrahenci Where Knt_OpiekunID = ??Pracownik and TrN_PodID = Knt_KntID and TrN_PodmiotTyp = 1)
Jak wyfiltrować listę faktur jeśli na fakturze mam wpisaną daną kategorię nagłówka szczegółową?
Na liście faktur w module FA, w Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT Kat_KatID, Kat_KodSzczegol From CDN.Kategorie Where Kat_Poziom = 2)|Kategoria|&Kategoria:AAA @? PAR@ TrN_KatID = ??Kategoria
Jak wyfiltrować faktury na liście faktur które są rozliczone po terminie?
Należy założyć filtr zaawansowany na liście faktur, który korzystał będzie z tabeli CDN.BnkZdarzenia. W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select * from CDN.BnkZdarzenia where TrN_TrNID=BZd_DokumentID and Bzd_DokumentTyp='1' and BZD_dataroz > Bzd_datareal)
Jak wyfiltrować dokumenty RO z listy RO, które są przekształcone do WZ a dodatkowo WZ ma wystawioną Fakturę Sprzedaży?
Na liście RO, po ikoną konstruktora filtra, na zakładce [Zaawansowane], w polu Filtr SQL wpisujemy:EXISTS(Select * from cdn.tranagrelacje rel1 Where rel1.trr_trnid = trn_trnid and rel1.trr_fatyp = 306 and EXISTS(select * from cdn.tranagrelacje rel2 where rel2.trr_trnid = rel1.trr_faid and rel2.trr_fatyp =302))
Jak wyfiltrować dokumenty PA z listy PA, które są przekształcone do FA a FA skojarzone z tymi PA nie ma dokumentów WZ?
Na liście PA, pod ikoną konstruktora filtra, na zakładce [Zaawansowane], w polu Filtr SQL wpisujemy:EXISTS (SELECT * FROM CDN.TraNag FA WHERE A.TrN_FaID = FA.TrN_TrNID AND FA.TrN_FaID IS NOT NULL AND FA.TrN_Rodzaj = 302006 )
Jak wyfiltrować wybrany typ dokumentu z listy FA używając funkcji serwerowej?
Zastosowanie złożonego filtra na liście faktur (np. wyszukujących faktury finalne przekształcone z Faktury Pro Forma i powiązane z dokumentem WZ) nie działa przy księgowaniu dokumentów. Pojawia się komunikat „The multi-part identifier "A.trn_trnid" could not be bound.” W związku z tym filtr z aliasem o postaci:exists (select * from cdn.tranag A1 left join cdn.tranag A2 on A1.trn_trnid = A2.trn_faid left join cdn.tranag A3 on A1.trn_faid = A3.trn_trnid where A2.trn_rodzaj = 302200 and A.trn_trnid = A3.trn_trnid)
należy zastąpić filtrem: (select CDN.fn_PrzykladowaNazwa(Trn_trnID))=1, gdzie funkcja serwerowa ma postać: Create Function CDN.fn_PrzykladowaNazwa(@ATrnID int) RETURNS int AS BEGIN Declare @Result int Set @Result = 0 select @Result = count(*) from cdn.tranag A1 join cdn.tranag A2 on A1.trn_trnid = A2.trn_faid join cdn.tranag A3 on A1.trn_faid = A3.trn_trnid where A2.trn_rodzaj = 302200 and A3.trn_trnid = @ATrnID RETURN @Result END GO
Jak wyfiltrować kontrahentów, którzy np. w m-cu styczniu zapłacili po terminie ? Lista może być potrzebna do np. do sporządzenia masowych not odsetkowych dla kontrahentów.
Filtr z poziomu słowników kontrahentów. W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists ( select * from CDN.BnkZdarzenia where BZd_PodmiotID=Knt_KntID and BZd_PodmiotTyp=1 and BZd_Rozliczono=1 and BZd_DataRoz BETWEEN ?@D17|Data od:75609 AND ?@D17|Data do:75609) or exists ( select * from CDN.BnkZdarzenia where BZd_PodmiotID=Knt_KntID and BZd_PodmiotTyp=1 and BZd_Rozliczono=2 and BZd_DataRoz BETWEEN ?@D17|Data od:75609 AND ?@D17|Data do:75609)
Jak wyfiltrować listę kontrahentów aby uzyskać tylko tych kontrahentów z którymi prowadziliśmy transakcje ?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:EXISTS ( SELECT [TrN_TrNID] FROM [CDN].[TraNag] WHERE [TrN_PodmiotTyp] = A.[Knt_PodmiotTyp] AND [TrN_PodID] = A.[Knt_KntId] AND [TrN_TypDokumentu] IN (302) )
Typ dokumentu może przyjąć następujące wartości: 301 - [FZ] Faktura zakupu 302 - [FA] Faktura sprzedaży 303 - [PW] Przyjęcie wewnętrzne 304 - [RW] Rozchód wewnętrzny 305 - [PA] Paragon 306 - [WZ] Wydanie zewnętrzne 307 - [PZ] Przyjęcie zewnętrzne 308 - [RO] Rezerwacja odbiorcy 309 - [ZD] Zamówienie dostawcy 310 - [BOM] Bilans otwarcia magazynu 311 - [AI] Arkusz Inwentaryzacyjny 312 - [MM] Przesunięcie międzymagazynowe 313 - [PKA] Przyjęcie kaucji 314 - [WKA] Wydanie kaucji 317 - [PWP] Przyjęcie wewnętrzne produkcji 318 - [RWS] Rozchód wewnętrzny składników 320 - [FPF] Faktura ProForma 345 - [TF] Dokument TaxFree 350 - [FRR] Faktura RR
Jak wyfiltrować listę kontrahentów z którymi (nie było/lub było) transakcji po np. 01.01.2018r.?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać: a) Kontrahenci z którymi nie było transakcjinot exists (select * from CDN.TraNag Z where A.Knt_KntId = Z.TrN_PodId and TrN_PodmiotTyp = 1 and TrN_DataOpe >='2018-01-01')
b) Kontrahenci z którymi były transakcje exists (select * from CDN.TraNag Z where A.Knt_KntId = Z.TrN_PodId and TrN_PodmiotTyp = 1 and TrN_DataOpe >='2018-01-01')
Jak wyfiltrować listę kontrahentów, z którymi (nie było/lub było) transakcji tylko FA, FZ po np. 01.01.2018r.?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać: a) Kontrahenci z którymi nie było transakcjinot exists (select * from CDN.TraElem where TrE_PodID=A.Knt_KntID and TrE_PodmiotTyp=A.Knt_PodmiotTyp and TrE_DataOpe >= '2018-01-01' and TrE_TypDokumentu IN (302,301))
b) Kontrahenci, z którymi były transakcje exists (select * from CDN.TraElem where TrE_PodID=A.Knt_KntID and TrE_PodmiotTyp=A.Knt_PodmiotTyp and TrE_DataOpe >= '2018-01-01' and TrE_TypDokumentu IN (302,301))
Typ dokumentu: 301 - [FZ] Faktura zakupu 302 - [FA] Faktura sprzedaży
Jak wyfiltrować na liście zasobów lub cenniku towary uwzględnione z grupy głównej i grup dodatkowych ?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPTWGLISTA())|TwrGrupa|&Grupa towarowa:@? PAR@ Twr_GIDNumer IN (SELECT GIDNumer FROM CDN.TwrInTwG(??TwrGrupa))
Jak wyfiltrować na liście zasobów lub cenniku towary uwzględnione tylko z grupy głównej ?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPTWGLISTA())|TwrGrupa|&Grupa towarowa:@? PAR@ Twr_TwGGIDNumer = ??TwrGrupa
Jak wyfiltrować na liście zasobów lub cenniku towary, które na karcie mają określonego Dostawcę ?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKNTLISTA())|Dostawca|&Dostawca:REG=!NIEOKREŚLONY! @? PAR@ Twr_KntId = ??Dostawca
Jak wyfiltrować na liście zasobów lub cennika towary względem kodu, wartości lub nazwy atrybutu przypisanego na karcie tego towaru ?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać: a) potrzeba odfiltrować towary posiadające atrybut o kodzie (bez podawania wartości tego atrybutu)@PAR ?@LS20(SELECT [DeA_DeAId], [DeA_Kod], [DeA_Nazwa] FROM [CDN].[DefAtrybuty] WHERE [DeA_Typ]= 1|GENERICLOOKUP(Atrybuty towarów, 0, 1))|Atrybut|&Atrybut: @? @MSG(Wybór z listy) @TIP(Wybór z listy) PAR@ EXISTS(SELECT [TwA_TwAId] FROM [CDN].[TwrAtrybuty] WHERE [Twr_TwrId] = [TwA_TwrId] AND [TwA_DeAId]= ??Atrybut)
b) potrzeba odfiltrować towary posiadające atrybut z określoną wartością @PAR ?@LS20(SELECT [DeA_DeAId], [DeA_Kod], [DeA_Nazwa] FROM [CDN].[DefAtrybuty] WHERE [DeA_Typ]= 1|GENERICLOOKUP(Atrybuty towarów, 0, 1))|Atrybut|&Atrybut: @? @MSG(Wybór z listy) @TIP(Wybór z listy) PAR@ @PAR ?@S100|Wartosc|&Wartość: @? @MSG(Wartość atrybutu) @TIP(Wartość atrybutu) PAR@ EXISTS(SELECT [TwA_TwAId] FROM [CDN].[TwrAtrybuty] WHERE [Twr_TwrId] = [TwA_TwrId] AND [TwA_DeAId]= ??Atrybut AND [TwA_WartoscTxt] = ??Wartosc)
c) potrzeba odfiltrować towary po nazwie atrybutu towaru EXISTS (SELECT * FROM CDN.TwRAtrybuty JOIN CDN.DefAtrybuty on TwA_DeAId = DeA_DeaID WHERE Twr_TwrId = TwA_TwrId AND DeA_Nazwa=?@S100|Nazwa atrybutu:'')
Jak wyfiltrować na liście zasobów lub cenniku zasoby po wartościach atrybutów towarów typu lista ?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT DAE_DAEId, DAE_Wartosc from CDN.DefAtrElem)|wart_atr|&wart_atr:REG= @? PAR@ exists (select * from CDN.DefAtrElem, CDN.TwrAtrybuty where Twr_TwrId = TwA_TwrId and TwA_WartoscTxt in (select DAE_Wartosc from CDN.DefAtrElem where DAE_DAEId=??wart_atr))
Jak na liście zasobów lub cenniku wyfiltrować towary które mają jakikolwiek atrybut?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select * from CDN.TwrAtrybuty where TwA_TwrId = Twr_TwrId)
Jak na liście zasobów lub cenniku wyfiltrować towary które nie maja żadnego atrybutu?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:not exists (select * from CDN.TwrAtrybuty where TwA_TwrId = Twr_TwrId)
Jak na liście zasobów lub cenniku wyfiltrować towary, które w danym dniu były sprzedawane na dokumentach FA lub PA?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@D17|data|&data:REG={Today()} @? PAR@ exists (select * from CDN.TraElem T where A.Twr_TwrId=T.TrE_TwrId and T.TrE_DataDok=??data and (T.TrE_TypDokumentu=302 or T.TrE_TypDokumentu=305))
Wariant filtra w którym podajemy zakres dat: @PAR ?@D17|data_od|&data od:REG={Today()} @? PAR@ @PAR ?@D17|data_do|&data do:REG={Today()} @? PAR@ exists (select * from CDN.TraElem T where A.Twr_TwrId=T.TrE_TwrId and T.TrE_DataDok>=??data_od and T.TrE_DataDok<=??data_do and (T.TrE_TypDokumentu=302 or T.TrE_TypDokumentu=305))
Jak na liście zasobów lub cenniku wyfiltrować towary z którymi nie było transakcji po zadanej dacie?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@D17|data|&Data:REG={Today()} @? PAR@ not exists (select * from CDN.TraElem Z where A.Twr_TwrId = Z.TrE_TwrId and TrE_DataOpe >= ??data)
Jak na liście zasobów lub cenniku wyfiltrować towary, których cena zakupu (ID=1) jest równa zero ?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select * from CDN.TwrCeny C where A.Twr_TwrID=C.TwC_TwrID and C.TwC_TwCNumer=1 and C.TwC_Wartosc=0)
Jak na liście zasobów lub cenniku wyfiltrować poprzez wybór z listy ceny te towary, które mają tą cenę większą od zera?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT ID = DfC_Lp, KOD = DfC_Nazwa from CDN.DefCeny)|cena|&cena:REG= @? PAR@ exists(select * from CDN.TwrCeny where TwC_TwCNumer=??cena and TwC_Wartosc>0 and TwC_TwrID=TwR_TwrID)
Jak na liście zasobów wyfiltrować towary po ilości, a nie ilości dostępnej przy zaznaczonym parametrze „zerowe”?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:Twi_Ilosc>0
Jak wyfiltrować listę zasobów z którymi (nie było lub było) transakcji po np. 01.01.2018?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać: a) Towary z którymi nie było transakcji:not exists (select * from CDN.TraElem Z where A.Twr_TwrId = Z.Tre_TwrId and Tre_DataOpe >= '2018-01-01')
b) Towary z którymi były transakcje: exists (select * from CDN.TraElem Z where A.Twr_TwrId = Z.Tre_TwrId and Tre_DataOpe >= '2018-01-01')
Jak wyfiltrować WZ-ki po operatorze, który stworzył dokument źródłowy (FA lub PA)?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT ID = Ope_OpeId, Kod = Ope_Kod From {OPBK()}.CDN.Operatorzy Order By Ope_Kod)|OperatorId|&Operator:1 @? PAR@ EXISTS (SELECT * FROM CDN.TraNag Z WHERE A.TrN_FaId = Z.TrN_TrNID AND Z.TrN_OpeZalId= ??OperatorId)
Jak wyfiltrować na liście dokumenty handlowo-magazynowe po danej kategorii dokumentu?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKATLISTA())|kategoria|&kategoria:REG=-brak- @? PAR@ TrN_KatID = ??Kategoria
Jak wyfiltrować dokumenty WZ utworzone z FPF, do której były wygenerowane zaliczki, ale tylko dla FPF, które nie zostały jeszcze przekształcone do faktur finalnych?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:A.TrN_Rodzaj=306010 and exists (select * from CDN.Tranag Z where Z.TrN_TypDokumentu=320 and A.TrN_FaID=Z.TrN_TrNID and exists (select * from CDN.Tranag t2 where t2.Trn_Rodzaj=302200 and t2.TrN_FaID=Z.TrN_TrNID))
Jak wyfiltrować dokumenty WZ, które są skojarzone z innymi dokumentami ale ich daty wystawienia się różnią?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:Exists (select * from CDN.TraNag Z where A.TrN_FaId = Z.TrN_TrNID and Z.TrN_DataWys != A.TrN_DataWys and A.Trn_Rodzaj=306004)
Jak wyfiltrować listę dokumentów handlowo-magazynowych aby nie wyświetlały się dokumenty, których wartość wynosi zero np. na korektach oraz te które są zaksięgowane do KH? Wtedy dokumenty, które nie są zaksięgowane, a ich wartość zakupu jest równa zero nie będą widoczne.
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:IsNull(TrN_DekId,0)=0 AND TrN_WartoscZakupu<>0
Jak wyfiltrować dokumenty PZ, które zostały skorygowane w całości?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select Z.TrN_ZwrID from CDN.TraNag Z where Z.TrN_ZwrId = A.TrN_TrNID and Z.TrN_Bufor=0 and (Z.TrN_Rodzaj=307001 or Z.TrN_Rodzaj=307002 or Z.TrN_Rodzaj=307003 or Z.TrN_Rodzaj=307004) group by Z.TrN_ZwrID having SUM(Z.Trn_RazemBrutto)*(-1)= A.Trn_RazemBrutto)
Jak wyfiltrować listę tych FA, których elementy mają wskazany przez nas atrybut towaru?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@S50|atrybut|&Kod atrybutu:REG=’’ @? PAR@ exists(select * from CDN.TraElem, CDN.Twratrybuty join CDN.DefAtrybuty on TwA_DeAId = DeA_DeaID where Trn_TrnId = Tre_TrnId and Tre_TwrId = TwA_TwrId and Dea_Kod=??atrybut)
Gdy szukamy atrybut towaru o zadanej wartości: @PAR ?@S50|atrybut|&Wartość atrybutu:REG= @? PAR@ exists(select * from CDN.TraElem, CDN.Twratrybuty join CDN.DefAtrybuty on TwA_DeAId = DeA_DeaID where Trn_TrnId = Tre_TrnId and Tre_TwrId = TwA_TwrId and Twa_wartosctxt=??atrybut)
Można filtrować też mniej rygorystycznie z zastosowaniem wyrażenia: (LIKE ‘%’+…+’%’)
Jak wyfiltrować na liście Faktur sprzedaży listę faktur zaliczkowych bez faktur finalnych?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:A.Trn_Rodzaj = 302200 and exists (select * from CDN.TraNag Z where A.Trn_Faid = Z.Trn_TrnId and Z.Trn_TypDokumentu = 320 and Z.Trn_Faid is Null)
Niestety filtr ten nie będzie działał na standardowym wydruku listy faktur. Proszę w przypadku wydruku tak wyfiltrowanej listy korzystać z wydruku GenRap.
Jak wyfiltrować na liście faktur sprzedaży faktury zaliczkowe do których jest wystawiona faktura finalna?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:EXISTS (SELECT * FROM CDN.TraNag Z WHERE A.TrN_FaId = Z.TrN_TrNID AND Z.TrN_FaId is not null AND A.TrN_Rodzaj = 302200)
Jak wyfiltrować faktury sprzedaży, które są skojarzone z innymi dokumentami, ale ich daty wystawienia się różnią?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:Exists (select * from CDN.TraNag Z where Z.TrN_FaId = A.TrN_TrNID and Z.TrN_DataWys != A.TrN_DataWys and A.Trn_Rodzaj=302004)
Jak wyfiltrować dokumenty handlowe których termin płatności mija w zadanym okresie.
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:TrN_Termin BETWEEN ?@D17|&Od:REG={Today()} @? AND ?@D17|&Do:REG={Today()} @?
Jak wyfiltrować listę dokumentów handlowo-magazynowych po wybranym towarze?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_TWR.DLL|CALLLOOKUPTWRLISTA())|Towar|&Towar:REG= @? PAR@ exists (select * from CDN.TraElem where Trn_TrnId = Tre_TrnId and Tre_TwrId = ??Towar)
Jak wyfiltrować faktury sprzedaży po fragmencie nazwy umieszczonej na zakładce -kontrahent odbiorca faktury? (Np. głównym nabywcą jest Makro W-dwa a odbiorcą faktury Makro Olsztyn).
W konstruktorze filtra wybieramy pole "TRN_OdbNazwa1 (Pierwsza linia nazwy odbiorcy)", następnie po wywołaniu okna Edycja wyrażenia filtra należy z rozwijalnej listy w miejscu operator wybrać zawiera, a następnie zaznaczyć parametr Pytaj o wartość i podać tytuł zapytania np. Podaj nazwę odbiorcy i zatwierdzić wpis. Logiczna reprezentacja utworzonego w ten sposób wyrażenia filtrującego jest wyświetlana w dolnej części okna może wyglądać np.TrN_OdbNazwa1 LIKE '%' + ?@S100|Podaj nazwę:'' + '%'.
W oknie Konstruktor filtra podać nazwę filtra.
Jak wyfiltrować dokumenty PA, które zostały skorygowane w całości?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select t.TrN_ZwrID from CDN.TraNag t where t.TrN_ZwrId = A.TrN_TrNID and t.TrN_Bufor=0 and (t.TrN_Rodzaj=305001 or t.TrN_Rodzaj=305005) group by t.TrN_ZwrID having SUM(t.Trn_RazemBrutto)*(-1)= A.Trn_RazemBrutto)
Jak wyfiltrować dokumenty RO, które mają oraz nie mają powiązania z dokumentami PWP?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać: a) mają powiązanie z dokumentami PWP:EXISTS(SELECT TrN_TrNId FROM CDN.TraNag WHERE TrN_RelTrNId = A.TrN_TrNId AND TrN_TypDokumentu = 317)
b) nie mają powiązania z dokumentami PWP: NOT EXISTS (SELECT TrN_TrNId FROM CDN.TraNag WHERE TrN_RelTrNId = A.TrN_TrNId AND TrN_TypDokumentu = 317)
Jak wyfiltrować na liście RO dokumenty, wg numeru obcego zamówienia?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:TrN_NumerObcy=?@S100|Nr zamówienia:''
Jak wyfiltrować dokumenty wg kontrahentów dla pola Nabywca?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT KnT_KntID, Knt_kod from CDN.kontrahenci)|kontrah|&kontrah:REG= @? PAR@ Trn_PodID=??kontrah
Jak wyfiltrować dokumenty wg kontrahentów dla pola Odbiorca?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKNTLISTA())|kod|&kod:REG=!NIEOKREŚLONY! @? PAR@ TrN_OdbiorcaTyp = 1 AND TrN_OdbId = ??kod
Jak wyfiltrować listę dokumentów zawierających dany atrybut dokumentu?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_TWR.DLL|CALLLOOKUPATRLISTADOK())|atr|&atr:REG= @? PAR@ exists (select * from CDN.DokAtrybuty where DAt_TrNId = TrN_TrNId and DAt_DeAId = ??atr)
Jak wyfiltrować listę dokumentów posiadających dany atrybut dokumentu, którego wartość zawiera podany przez użytkownika tekst?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_TWR.DLL|CALLLOOKUPATRLISTADOK())|atr|&atr:REG= @? PAR@ @PAR ?@S50|tekst_atrybutu|&tekst_atrybutu:REG= @? PAR@ exists (select * from CDN.DokAtrybuty where DAt_TrNId = TrN_TrNId and DAt_DeAId = ??atr and DAt_WartoscTxt Like '%'+??tekst_atrybutu+'%')
Jak wyfiltrować transakcje, gdzie na pozycjach użyto atrybutu (bez podawania wartości tego atrybutu)?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(SELECT [DeA_DeAId], [DeA_Kod], [DeA_Nazwa] FROM [CDN].[DefAtrybuty] WHERE [DeA_Typ]= 1|GENERICLOOKUP(Atrybuty towarów, 0, 1))|Atrybut|&Atrybut: @? @MSG(Wybór z listy) @TIP(Wybór z listy) PAR@ EXISTS( SELECT [TrE_TrNId] FROM [CDN].[TraElem] JOIN [CDN].[TraElemAtr] ON [TrE_TrEID] = [TrA_TrEId] AND [TrE_TrNId] = [A].[TrN_TrNID] WHERE [TrA_DeAId]=??Atrybut)
Jak wyfiltrować transakcje, gdzie na pozycjach użyto atrybutu z określoną wartością?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(SELECT [DeA_DeAId], [DeA_Kod], [DeA_Nazwa] FROM [CDN].[DefAtrybuty] WHERE [DeA_Typ]= 1|GENERICLOOKUP(Atrybuty towarów, 0, 1))|Atrybut|&Atrybut: @? @MSG(Wybór z listy) @TIP(Wybór z listy) PAR@ @PAR ?@S100|Wartosc|&Wartość: @? @MSG(Wartość atrybutu) @TIP(Wartość atrybutu) PAR@ EXISTS( SELECT [TrE_TrNId] FROM [CDN].[TraElem] JOIN [CDN].[TraElemAtr] ON [TrE_TrEID] = [TrA_TrEId] AND [TrE_TrNId] = [A].[TrN_TrNID] WHERE [TrA_DeAId]=??Atrybut AND [TrA_Wartosc]=??Wartosc)
Jak wyfiltrować dokumenty do których nie były wykonane korekty?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:not exists (select t.TrN_ZwrID from CDN.TraNag t where t.TrN_ZwrId = A.TrN_TrNID)
Jak wyfiltrować dokumenty wystawione w dniu dzisiejszym ?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:TrN_DataDok = {DateSQL(Today())}
Jak wyfiltrować dokumenty po wybranej formie płatności?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT ID = FPl_FPlId, Kod = FPl_Nazwa From CDN.FormyPlatnosci)|formy_platnosci|&formy_platnosci:REG= @? PAR@ TrN_FPlId = ??formy_platnosci
Jeżeli chodzi nie tyle o konkretną formę płatności co o typ formy płatności to należałoby odwołać się do tabeli CDN.FormyPlatnosci. Wyrażenie: EXISTS(SELECT * FROM CDN.FormyPlatnosci WHERE FPl_FPlId = TrN_FPlId AND FPl_Typ=1) wpisane w polu Filtr SQL wyfiltruje dokumenty, które mają formę płatności o typie "gotówka". FPl_Typ=2 - typ formy płatności "przelew". FPl_Typ=3 - karta kredytowa
Jak wyfiltrować listę dokumentów po kategorii dokumentu ?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKATLISTA())|kategoria|&kategoria:REG=-brak- @? PAR@ TrN_KatID = ??Kategoria
Jak wyfiltrować listę dokumentów po kategorii elementu?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKATLISTA())|Kategoria|&Kategoria:REG= @?TIP(Wybierz kategorię) PAR@ exists (select * from CDN.TraElem where Trn_TrnId=Tre_TrnId and Tre_KatId = ??kategoria)
Jak wyfiltrować listę dokumentów aby wyświetlały się wszystkie dokumenty oprócz tych w buforze, korekt i anulowanych?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:IsNull(TrN_Korekta,0)=0 AND TrN_Bufor=0
Jak wyfiltrować dokumenty, na których występują towary/ usługi z określonej grupy towarowej?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPTWGLISTA())|grupa|&grupa:REG= @? PAR@ exists( SELECT TrE_TrEID FROM CDN.TraElem JOIN CDN.Towary ON TrE_TwrID = Twr_TwrID WHERE TrE_TrNID = A.TrN_TrNID AND Twr_TwGGIDNumer=??grupa )
Jak wyfiltrować dokumenty wg. daty wystawienia oraz dowolnego fragmentu numeru pełnego dokumentu?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@D17|Data|&Data wystawienia:REG=75828 @? PAR@ @PAR ?@S20|wartosc|&Podaj wartosc:REG= @? PAR@ TrN_NumerPelny LIKE '%' + ??wartosc+'%' and TrN_DataWys=??Data
Jak wyfiltrować dokumenty, gdzie występują elementy z określoną cechą i wartością?
Dla cech typu data, do pola wartość należy wpisać datę wg formatu RRRR-MM-DD. Żaden inny format nie będzie rozpoznany przez filtr. Zapytanie należy wpisać z poziomu konstruktora filtra, bezpośrednio na zakładce Zaawansowane, w polu Filtr SQL:@PAR ?@LS20(OP_TWR.DLL|CALLLOOKUPATRLISTATWR())|CechaID|&Cecha: @? @MSG(Wybór z listy) @TIP(Wybór z listy) PAR@ @PAR ?@S255|CechaWartosc|&Wartość: @? @MSG(Wartość cechy) @TIP(Wartość cechy) PAR@ EXISTS( SELECT TrE_TrEID FROM [CDN].[TraElem] JOIN [CDN].[TraSElemDost] ON [TrE_TrEID] = [TsD_TrEID] WHERE TrE_TrNID = A.TrN_TrNID AND ( (ISNULL([TsD_Cecha1_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha1_Format] = 4 AND [TsD_Cecha1_Wartosc] <> '') THEN CONVERT(VARCHAR(10), DATEADD("day", CONVERT(INT, [TsD_Cecha1_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha1_Wartosc] END = ??CechaWartosc) OR (ISNULL([TsD_Cecha2_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha2_Format] = 4 AND [TsD_Cecha2_Wartosc] <> '') THEN CONVERT(VARCHAR(10), DATEADD("day", CONVERT(INT, [TsD_Cecha2_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha2_Wartosc] END = ??CechaWartosc) OR (ISNULL([TsD_Cecha3_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha3_Format] = 4 AND [TsD_Cecha3_Wartosc] <> '') THEN CONVERT(VARCHAR(10), DATEADD("day", CONVERT(INT, [TsD_Cecha3_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha3_Wartosc] END = ??CechaWartosc) OR (ISNULL([TsD_Cecha4_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha4_Format] = 4 AND [TsD_Cecha4_Wartosc] <> '') THEN CONVERT(VARCHAR(10), DATEADD("day", CONVERT(INT, [TsD_Cecha4_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha4_Wartosc] END = ??CechaWartosc) OR (ISNULL([TsD_Cecha5_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha5_Format] = 4 AND [TsD_Cecha5_Wartosc] <> '') THEN CONVERT(VARCHAR(10), DATEADD("day", CONVERT(INT, [TsD_Cecha5_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha5_Wartosc] END = ??CechaWartosc) OR (ISNULL([TsD_Cecha6_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha6_Format] = 4 AND [TsD_Cecha6_Wartosc] <> '') THEN CONVERT(VARCHAR(10), DATEADD("day", CONVERT(INT, [TsD_Cecha6_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha6_Wartosc] END = ??CechaWartosc) OR (ISNULL([TsD_Cecha7_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha7_Format] = 4 AND [TsD_Cecha7_Wartosc] <> '') THEN CONVERT(VARCHAR(10), DATEADD("day", CONVERT(INT, [TsD_Cecha7_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha7_Wartosc] END = ??CechaWartosc) OR (ISNULL([TsD_Cecha8_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha8_Format] = 4 AND [TsD_Cecha8_Wartosc] <> '') THEN CONVERT(VARCHAR(10), DATEADD("day", CONVERT(INT, [TsD_Cecha8_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha8_Wartosc] END = ??CechaWartosc) OR (ISNULL([TsD_Cecha9_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha9_Format] = 4 AND [TsD_Cecha9_Wartosc] <> '') THEN CONVERT(VARCHAR(10), DATEADD("day", CONVERT(INT, [TsD_Cecha9_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha9_Wartosc] END = ??CechaWartosc) OR (ISNULL([TsD_Cecha10_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha10_Format] = 4 AND [TsD_Cecha10_Wartosc] <> '') THEN CONVERT(VARCHAR(10), DATEADD("day", CONVERT(INT, [TsD_Cecha10_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha10_Wartosc] END = ??CechaWartosc) ))
Filtr można zastosować również na liście zasobów, wówczas należy zmodyfikować w wyrażeniu WHERE relacje po polach TrE_TwrId=A.Twr_TwrId
Jak wyfiltrować listę zasobów/cennik tylko do tych towarów które są powiązane z dostawcą (zdefiniowany kontrahent na karcie towaru zakładka Dodatkowe pole Dostawca)?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKNTLISTA())|KontrahentId|&Kontrahenci:REG=’!NIEOKREŚLONY!’ @? PAR@ Twr_KntId = ??KontrahentId
Jak wyfiltrować na liście dokumentów PZ, dokumenty nie powiązane z FRR?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:not exists (select trr_trrid from cdn.tranagrelacje where trn_trnid = trr_trnid and trr_fatyp = 301) or trn_faid not in (select trn_trnid FROM CDN.TraNag JOIN cdn.TraNagRelacje ON TrN_TrNId = TrR_TrNId where TrR_TrNId = TrN_TrNID and TrR_FaTyp=350)
Jak wyfiltrować na liście dokumentów PZ, dokumenty powiązane z FRR?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select trr_trrid from cdn.tranagrelacje where trn_trnid = trr_trnid and trr_fatyp = 301) and trn_faid in (select trn_trnid FROM CDN.TraNag JOIN cdn.TraNagRelacje ON TrN_TrNId = TrR_TrNId where TrR_TrNId = TrN_TrNID and TrR_FaTyp=350)
Jak wyfiltrować na liście dokumentów RO, dokumenty ze statusem w Realizacji do których wygenerowano dokument FA bez WZ?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select * from cdn.tranagrelacje where TrR_FaTyp = 302 and trn_trnid = trr_trnid and trn_zwroconocalailosc = 2)
Jak wyfiltrować na liście faktur sprzedaży, dokumenty korekt ilościowych do dokumentów pierwotnych, które nie zostały przekształcone do dokumentu PW?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:not exists (select * from CDN.TraNagRelacje where TrR_TrNId = TrN_TrNID and (TrR_FaTyp=303 or TrR_FaTyp=306) and trn_rodzaj = 302101) and trn_rodzaj = 302101
Jak wyfiltrować na liście faktur, faktury zaliczkowe które nie mają skojarzonych faktur finalnych?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:Trn_TrnId not in ( select A.TrR_FaId from cdn.tranagrelacje B left outer join cdn.Tranag T on TrR_TrNID = T.TrN_TrNID left outer join cdn.TraNagRelacje A on B.TrR_FaId = A.TrR_TrNId where B.TrR_FaTyp = 320 AND TrN_Rodzaj in (302009, 302004)) and trn_rodzaj = 302200
Wyszukiwanie dokumentów z konkretnej dostawy. Filtr działa na liście WZ, wyświetli te dokumenty WZ, które rozchodowują towar z konkretnego (wskazanego w filtrze) PZ.
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@S30|numer|&numer:REG= @? PAR@ exists (select * from CDN.TraNag TRN2, CDN.TraElem TRE1, CDN.TraElem TRE2, CDN.TraSElem TRS1, CDN.TraSElem TRS2 where A.TrN_TrNID=TRE1.TrE_TrNID and TRS1.TrS_TrEId=TRE1.TrE_TrEID and TRS1.TrS_TrSIdDost=TRS2.TrS_TrSId and TRS2.TrS_TrEId = TRE2.TrE_TrEID and TRE2.TrE_TrNId=TRN2.TrN_TrNID and TRN2.TrN_NumerPelny like '%'+??numer+'%')
Wyszukiwanie dokumentów z konkretnych wydań. Filtr dla listy dokumentów PZ, po wskazaniu numeru dokumentu WZ wyświetli dokumenty PZ którymi towar z WZ został przyjęty.
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@S30|numer|&numer:REG= @? PAR@ exists (select * from CDN.TraNag TRN2, CDN.TraElem TRE1, CDN.TraElem TRE2, CDN.TraSElem TRS1, CDN.TraSElem TRS2 where A.TrN_TrNID=TRE1.TrE_TrNID and TRS1.TrS_TrEId=TRE1.TrE_TrEID and TRS1.TrS_TrSId=TRS2.TrS_TrSIdDost and TRS2.TrS_TrEId = TRE2.TrE_TrEID and TRE2.TrE_TrNId=TRN2.TrN_TrNID and TRN2.TrN_NumerPelny like '%'+??numer+'%')
Jak wyfiltrować towary z ceną domyślną w walucie np. EUR?
W menu Ogólne/ Cennik, w Konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select * from CDN.TwrCeny where TwC_TwrID=Twr_TwrId and TwC_TwCNumer=Twr_TwCNumer and TwC_Waluta='EUR')
Jak wyfiltrować towary z określonym kodem CN na liście cennikowej?
Należy założyć filtr zaawansowany który będzie korzystał z tabeli CDN.KodyCN. Filtr będzie wyglądał tak:@PAR ?@R(SELECT KCN_KcNID, KCN_Kod From CDN.KodyCN)|Kody_CN|&Kody CN: @? PAR@ Twr_KCNID = ??Kody_CN
Jak wyfiltrować towary, które nie mają ustalonego kodu CN?
W menu Ogólne/ Cennik, w Konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:Twr_KCNID is null
Jak wyfiltrować towary, które nie mają ustalonego kraju pochodzenia?
W menu Ogólne/ Cennik, w Konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:Twr_KrajPochodzenia = ''
Jak wyfiltrować towary, które nie mają wprowadzonej wagi lub waga jest zerowa?
W menu Ogólne/ Cennik, w Konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:Twr_WagaKG is null or Twr_WagaKG = 0
Jak wyfiltrować towary z przypisaną jedną grupą?
W menu Ogólne/ Cennik, w Konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select count (TwG_Kod) from CDN.TwrGrupy Where TwG_GIDTyp = 16 and TwG_GIDNumer = Twr_TwrId Group by TwG_Kod Having count (TwG_Kod) =1)
Jak wyfiltrować Dokumenty WZ mające powiązanie (bądź nie mające powiązania) z Fakturą Sprzedaży?
W menu Handel/ Wydania zewnętrzne, w Konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać: - w celu znalezienia dokumentów WZ mających powiązanie z fakturą:exists (select * from CDN.TraNagRelacje where TrR_TrNId = TrN_TrNID and TrR_FaTyp=302)
- w celu znalezienia dokumentów WZ nie mających powiązania z fakturą: not exists (select * from CDN.TraNagRelacje where TrR_TrNId = TrN_TrNID and TrR_FaTyp=302)
Jak wyfiltrować Dokumenty WZ powiązane z Fakturami Sprzedaży i Paragonami, gdzie daty wystawienia dokumentów handlowych znajdują się w podanym przedziale?
W menu Handel/ Wydania zewnętrzne, w Konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@D17|data_od|&data od:REG={Today()} @? PAR@ @PAR ?@D17|data_do|&data do:REG={Today()} @? PAR@ Exists (select * from CDN.TraNag Z where A.TrN_FaId = Z.TrN_TrNID and Z.TrN_DataWys>= ??data_od and Z.TrN_DataWys <= ??data_do and A.Trn_TypDokumentu=306 and (Z.TrN_TypDokumentu=302 or Z.TrN_TypDokumentu=305)) Druga wersja filtra z wykorzystaniem tabeli CDN.TraNagRelacje: @PAR ?@D17|data_od|&data od:REG={Today()} @? PAR@ @PAR ?@D17|data_do|&data do:REG={Today()} @? PAR@ exists(select * from CDN.TraNagRelacje join CDN.TraNag Z on Trr_faid = z.trn_trnid where TrR_TrNId = A.TrN_TrNID and TrR_FaTyp in (302,305) and Z.TrN_DataWys>= ??data_od and Z.TrN_DataWys <= ??data_do)
Jak na liście dokumentów WZ ukryć te mające powiązania z Fakturą Sprzedaży/Fakturą korygującą, które zostały całkowicie zwrócone?
W menu Handel/ Wydania zewnętrzne, w Konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:TrN_TrNID NOT IN (SELECT TrR_TrNID FROM CDN.TraNagRelacje WHERE TrR_FaTyp IN (302)) AND TrN_TrNID NOT IN ( SELECT Zrd.Tre_TrNID from CDN.TraElem [Kor] LEFT JOIN CDN.TraElem [Zrd] on Kor.TrE_ZwrId = Zrd.TrE_TrEId WHERE Kor.TrE_Aktywny <> 0 AND Zrd.TrE_TypDokumentu = 306 GROUP BY Zrd.TrE_TrNID, Zrd.TrE_Ilosc HAVING Zrd.Tre_Ilosc + SUM(Kor.Tre_Ilosc) <= 0) AND TrN_Korekta = 0 AND TrN_Anulowany = 0
Jak wyfiltrować dokumenty po opisie pozycji?
Na liście dokumentów w module Handel/Faktury w Konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@ABC(' ')@? PAR@ @PAR ?@LS20(SELECT Tre_TrnId, TrE_TwrOpis AS [Opis], TrE_TwrKod AS [Kod], TrE_TwrNazwa AS [Nazwa] FROM CDN.TraElem WHERE REPLACE(REPLACE(REPLACE(REPLACE(TrE_TwrOpis,CHAR(13),''), char(10),''),CHAR(9), ''),' ','') <> '' AND TrE_TypDokumentu = 302 ORDER BY TrE_TwrOpis |GENERICLOOKUP(Towary z opisem na dokumencie, 0, 1))|TwrOpis|&Opis Towaru:| 6@? PAR@ Trn_TrnId = ??TwrOpis
CRM
Jak wyfiltrować listę kontaktów/ zadań aby widoczne były CRM-y zmodyfikowane danego dnia?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@D17|data|&Data:REG={Today()} @? PAR@ FLOOR(CONVERT(DECIMAL(14,4), CRK_TS_MOD)) = FLOOR(CONVERT(DECIMAL(14,4), CONVERT(DATETIME,??data ,120)))
Jak zrobić aby właściciel firmy na liście kontaktów i zadań widział swoje zadania i zadań podwładnych, natomiast podwładni widzą tylko i wyłącznie swoje zadania ?
W Konfiguracji/ Program/ Użytkowe/ Parametry należy zaznaczyć parametr Stosuj filtry obowiązkowe. Na zakładce Opcje w Typie filtra należy zaznaczyć Obowiązkowy oraz z menu wybrać akronim Operatora. Do zadania może być przypisany pracownik lub operator. W bazie danych ID pracownika jak i operatora może być takie samo albo różne, dlatego w filtrze można wykorzystać również pole CRK_OpiekunTyp gdzie typ=8 to operator a typ =3 to pracownik. W polu Filtr SQL można wpisać:CRK_OpiekunId= {OperatorID} and CRK_OpiekunTyp =8
Gdzie {OperatorID} oznacza ID operatora aktualnie zalogowanego. Na zakładce [Opcje] w Typie filtra należy zaznaczyć Obowiązkowy oraz z menu wybrać akronim Operatora.
Obieg dokumentów
Jak wyfiltrować w bibliotece dokumentów wszystkie dokumenty które nie mają powiązań z transakcjami ?
Będą to zarówno dokumenty firmowe, jak i wspólne (te z zasady nie są kojarzone z innymi transakcjami). Tak więc ewentualnie należy dodatkowo zawęzić listę dokumentów tylko do firmowych (parametr na liście). Zapytanie należy wpisać z poziomu konstruktora filtra, bezpośrednio na zakładce [Zaawansowane], w polu Filtr SQL.not exists (select * from CDN.DokRelacje Z where A.Dnv_DonId = Z.Dor_ParentId and Z.Dor_ParentTyp = 750)
Jak wyfiltrować dokumenty z biblioteki dokumentów, które są na zadanym etapie realizacji (etap bieżący) i etap ten jest etapem głównym?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT ID = SE_SEID, Kod = SE_Symbol From {OPBK()}.CDN.SekEtapy Order By SE_Symbol )|EtapID|&Etap:1 @? PAR@ exists (select * from CDN.DokNagProcesEtapy, CDN.DokNagEtapy where DNV_DoNID=DnPr_DoNID and DnPr_DnPrID=DnE_DnPrID and DnE_EtapID=??EtapID and A.DNV_EtapBiezacyLp=DnPr_Lp and DnPr_Poziom=1)
Jak wyfiltrować dokumenty z biblioteki dokumentów, które są na zadanym etapie realizacji (etap bieżący)?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT ID = SE_SEID, Kod = SE_Symbol From {OPBK()}.CDN.SekEtapy Order By SE_Symbol )|EtapID|&Etap:1 @? PAR@ exists (select * from CDN.DokNagProcesEtapy, CDN.DokNagEtapy where DNV_DoNID=DnPr_DoNID and DnPr_DnPrID=DnE_DnPrID and DnE_EtapID=??EtapID and A.DNV_EtapBiezacyLp=DnPr_Lp)
Jak wyfiltrować dokumenty z biblioteki dokumentów, które w schemacie mają zadany etap realizacji?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT ID = SE_SEID, Kod = SE_Symbol From {OPBK()}.CDN.SekEtapy Order By SE_Symbol )|EtapID|&Etap:1 @? PAR@ exists (select * from CDN.DokNagProcesEtapy, CDN.DokNagEtapy where DNV_DoNID=DnPr_DoNID and DnPr_DnPrID=DnE_DnPrID and DnE_EtapID=??EtapID)
Księgowość i Środki Trwałe
Jak wyfiltrować z rejestrów VAT faktury, które mają datę deklaracji VAT-7 inną niż rejestr VAT?
W Rejestrze (zakupu lub sprzedaży) VAT, w Konstruktorze filtra, na zakładce: [Zaawansowane]należy wpisać w polu Filtr SQL:Van_RokMies<>Van_DeklRokMies
Filtr zastosowany z zakładki Rejestr VAT, zakres dat: od 2018/01/01 do 2018/01/31 pozwoli wyświetlić np. fakturę wystawioną 5 stycznia 2018, a mającą wejść na deklarację w lutym 2018.
Przeglądam dokumenty RVAT za pierwszy kwartał, chciałbym wyfiltrować te, które są rozliczane w deklaracjach za następne miesiące. Jak mogę to wykonać?
Polem odpowiedzialnym za rozliczenie wpisu w deklaracji za dany miesiąc to pole: VaN_DeklRokMies. Pole to agreguje w postaci liczby całkowitej rok oraz miesiąc, np.: dokument przeznaczony do rozliczenia w deklaracji za kwiecień 2018 będzie w tym polu posiadał wpis : 201804 Możemy, więc wprowadzić filtr zaawansowany , który będzie wykorzystywał to pole wpisując w polu Filtr SQL:@PAR ?@D17|DATA_OD|&Od :{DateClwFirstDay('m')} @? PAR@ @PAR ?@D17|DATA_DO|&Do :{DateClwFirstDay('m')} @? PAR@ YEAR(??DATA_OD ) * 100 + MONTH(??DATA_OD) <=VaN_DeklRokMies and YEAR(??DATA_DO ) * 100 + MONTH(??DATA_DO) >=VaN_DeklRokMies
Filtr przed uruchomieniem będzie odpytywał o daty określające przedział - Od i Do. – z wskazanej daty znaczenie będą miały jedynie miesiąc oraz rok.
Czy można utworzyć filtr dla Rejestru VAT po akronimie pracownika wybranego na formatce faktury na zakładce Kontrahent?
W polu Filtr SQL można wpisać:VaN_PodZalId=(select Pre_PreID from cdn.pracetaty where Pre_kod like ?@S100|Akronim pracownika:'') AND VaN_PodmiotZalTyp=3
Przed odfiltrowaniem listy program będzie pytał o akronim pracownika. Można również posłużyć się deklaracją parametru dynamicznego i przekazać do zapytania kod pracownika wyświetlony na liście – w polu Filtr SQL wpisujemy: @PAR ?@LS20(OP_PRCW.DLL|CALLLOOKUPPRILISTA())|pracownik|&pracownik:REG= @? PAR@ VaN_PodZalId=??pracownik AND VaN_PodmiotZalTyp=3
Jak z listy rejestru VAT odfiltrować te faktury, które są nierozliczone lub rozliczone częściowo i dodatkowo forma płatności jest różna od gotówki?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select * from CDN.BnkZdarzenia where VaN_VaNID=BZd_DokumentID and (Bzd_Kwota<>Bzd_KwotaRoz)) AND VaN_FplID<>1
Jak w Rejestrach VAT wyfiltrować faktury z podaną kategorią tak aby wyfiltrowaną listę można było zaznaczyć i zaksięgować?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKATLISTA())|Kategoria|&Kategoria: @? PAR@ VaN_KatId = ??Kategoria
Program będzie pytał o kategorię przed filtrowaniem i dodatkowo będzie ją można wybrać z listy kategorii. Po zawężeniu listy zaznaczamy faktury np. kombinacją klawiszy CTRL + A i księgujemy wybranym schematem.
Jak wyfiltrować faktury w Rejestrach VAT zawierające kategorie szczegółowe należące do zadanej kategorii ogólnej?
a) dla kategorii nagłówka dokumentu: W konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select Kat_KodOgolny, Kat_KodSzczegol from cdn.kategorie where VaN_KatID=Kat_KatID AND Kat_KodOgolny=?@S100|Kategoria ogólna:'')
b) dla kategorii wybranych w elementach faktury VAT (kategorie przy poszczególnych stawkach VAT): W konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać: Exists (select * from cdn.vattab Join cdn.kategorie on vat_katid = kat_katid where vat_vanid = van_vanid and Kat_KodOgolny=?@S100|Kategoria ogólna:'')
Jak wyfiltrować w Rejestrach VAT listę faktur całkowicie rozliczonych i zakwalifikowanych do danej deklaracji VAT-7?
Taka lista może być potrzebna tym firmom, które potrzebują ustalić wartość zapłaconych Faktur Zakupu dla potrzeb ustalenia kwoty VAT do zwrotu na rachunek bankowy podatnika. Aby zrobić wydruk takich faktur, należy: 1. Zbudować filtr: na zakładce [Zaawansowane] w Konstruktorze filtra w polu Filtr SQL należy wpisać:VaN_DeklRokMies=?@N-15.4|Rok i miesiąc VAT-7:0
2. Na zakładce Rejestr VAT w Rejestrach VAT, zawęzić listę faktur, za pomocą ww. filtra, do tych które są zakwalifikowane tylko do deklaracji np. listopadowej (gdy przed odfiltrowaniem listy program zapyta o rok i miesiąc deklaracji – wpisać: 201811). 3. Wykonać odpowiedni wydruk dokumentów rozliczonych z menu wydruków. Listę faktur można uzyskać również bezpośrednio na ekranie. W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać: exists (select * from CDN.BnkZdarzenia where VaN_VaNID=BZd_DokumentID AND BZd_DokumentTyp=2 AND (BZd_KwotaSys=BZd_KwotaRozSys) AND VaN_DeklRokMies=?@N-15.4|Rok i miesiąc VAT-7:0)
Przed filtrowaniem program pyta o datę deklaracji VAT-7 – należy wpisać rok i miesiąc w formacie np. 201611. Tak wyfiltrowanej listy nie da się wydrukować ze względu na składnię filtra, ale można ją wysłać do arkusza Excel.
Jak wyfiltrować listę faktur po kolumnie KPiR, do której dokumenty mają być zaksięgowane?
Na liście faktur w rejestrze VAT, w konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT Id = 1, Kod = 'Sprzedaż' UNION SELECT Id = 2, Kod = 'Pozostałe' UNION SELECT Id = 3, Kod = 'Towary' UNION SELECT Id = 4, Kod = 'Uboczne' UNION SELECT Id = 5, Kod = 'Reklama' UNION SELECT Id = 6, Kod = 'Wynagrodzenia' UNION SELECT Id = 7, Kod = 'Inne' UNION SELECT Id = 8, Kod = 'Zaszłości')|Kolumna|&Kolumna: @? PAR@ exists (Select * From CDN.VatTab Where VaT_VaNID = VaN_VaNId And VaT_KolumnaKPR = ??Kolumna )
Filtr ma taką właściwość, że jeśli jest jakiś zapis, który ma być zaksięgowany w części do jednej kolumny, a w części do innej, to na liście widać go w pełnej kwocie, a na wydruku w kwocie do zaksięgowania do wskazanej kolumny.
Jak uzyskać listę transakcji nierozliczonych, pochodzących z Rejestru VAT, na danym koncie rozrachunkowym?
W menu Księgowość/Księgowość/ Dzienniki, zakładka Konto, należy wybrać odpowiednie konto, a w Konstruktorze filtra, na zakładce Zaawansowane, w polu Filtr SQL wpisać:exists(select * from CDN.VatNag join CDN.BnkZdarzenia on VaN_VaNID=BZd_DokumentID where VaN_DekID=DeN_DeNId AND Bzd_DokumentTyp=2 AND (Bzd_Kwota-Bzd_KwotaRoz<>0)) OR exists(select * from CDN.VatNag join CDN.TraNag on TrN_VaNId=VaN_VaNID join CDN.BnkZdarzenia on TrN_TrNID=BZd_DokumentID where VaN_DekID=DeN_DeNId AND Bzd_DokumentTyp=1 AND (Bzd_Kwota-Bzd_KwotaRoz<>0))
Filtr zawęzi listę do tych dekretów, które pochodzą z Rejestru VAT (zostały wprowadzone bezpośrednio do Rejestru VAT lub przesłane z modułu FA i zaksięgowane z Rejestru VAT) i nie są rozliczone lub są rozliczone częściowo.
Jak sprawdzić czy poprawnie wprowadzono Kwoty dodatkowe na fakturach w Rejestrze VAT?
Jeżeli jest jakaś reguła np. zwykle na Fakturach Zakupu rozksięgowujemy kwotę netto na różne konta „czwórek” czy „piątek” i suma księgowań po stronie Wn ma się równać kwocie netto dokumentu, to można zbudować filtr, który będzie wyświetlał faktury nie spełniające tego warunku. W Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać:not exists (select * from CDN.KwotyDodatkowe where Kdd_DokumentID=VaN_VaNID AND KDD_DokumentTyp=2 AND Kdd_Segment1<>'' having SUM(Kdd_Kwota) = VaN_RazemNetto)
Zostaną wyfiltrowane wszystkie pozycje różne od tych, na których suma kwot dodatkowych WN jest równa kwocie netto faktury.
Jak wyfiltrować środki trwałe aktywne, całkowicie umorzone?
Poniżej przykład filtra, który wyświetli środki trwałe aktywne, których wartość bieżąca bilansowa minus odpisy umorzeniowe = 0. Filtr nie uwzględnia historyczności i bierze pod uwagę tylko amortyzację bilansową.SrT_Stan=0 and SrT_WartoscBilan + ( Select IsNull(Sum( SrH_KwotaBilan - SrH_KwotaUm ), 0) From CDN.TrwaleHist Where SrH_SrTId = SrT_SrTId And SrH_TypDokumentu<>4) = 0
Jak w dziennikach księgowych wyfiltrować dekrety, których dokumenty źródłowe były płatne gotówką?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL można wpisać:exists (select * from CDN.TraNag where DeN_DeNId = TrN_DekId and TrN_FPlId=1) OR exists(select * from CDN.VatNag where DeN_DeNId=VaN_DekID AND VaN_FplID=1) TrN_FPlId=1 i VaN_FplID=1 oznacza formę płatności o ID 1. Standardowo jest to forma płatności o nazwie „gotówka”.
Jak wyfiltrować różnice kursowe, które powstały z rozliczenia dokumentów innych niż te pochodzące z Ewidencji dodatkowej?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:''=''AND(BRK_LDokTyp='1' AND exists(select*from CDN.BnkZdarzenia where BRK_LDokID=Bzd_BzdID and BZd_DokumentTyp<>12))OR(BRK_PDokTyp='1' AND exists(select*from CDN.BnkZdarzenia where BRK_PDokID=Bzd_BzdID and BZd_DokumentTyp<>12))
Powyższy filtr wyświetli różnice kursowe, na których co najmniej jeden z dokumentów nie pochodzi z Ewidencji dodatkowej. Wyfiltrowane różnice kursowe można zaznaczyć i zaksięgować. BRK_LDokTyp='1' czyli że typ lewego dokumentu to dokument pochodzący z tabeli BnkZdarzenia. BZd_DokumentTyp=1 to typ dokumentu w BnkZdarzenia np. 1 – faktura z modułu Faktury; 12 – faktura z Rejestru VAT; 12 – dokument z Ewidencji dodatkowej;
Jak sprawdzić, która faktura z rejestru zakupów VAT nie została zaksięgowana na konto VAT’u lub została zaksięgowana, ale kwota VAT z faktury nie zgadza się z kwotą VAT na koncie?
W Rejestrze zakupów VAT można stworzyć filtr, który wyświetli te faktury, których suma kwoty VAT nie jest równa kwocie zaksięgowanej na konto VAT’u. W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL można wpisać:VaN_DekId Is Not Null And Not Exists (Select DeK_AccId From CDN.DekretyKonta Join CDN.Konta On DeK_AccId = Acc_AccId Where DeK_DeNId = VaN_DekId And Acc_Numer='221-02' And Year(DeK_DataDok) = Year(VaN_DataZap) And Month(DeK_DataDok) = Month(VaN_DataZap) Group By DeK_AccId Having Sum(DeK_Kwota) = VaN_RazemVat)
W pole Acc_Numer='221-2' należy wpisać numer konta VAT. W przypadku faktur – korekt na kwoty ujemne, filtr zadziała prawidłowo wtedy, gdy kwota VAT’u jest księgowana na to samo konto co zwykła faktury i po tej samej stronie tylko ze znakiem „minus”.
Jak wyfiltrować w dziennikach księgowań PK, które zawierają pozycje zawierające zadany opis?
W menu Księgowość/ Dzienniki, zakładka [Dzienniki]. W konstruktorze filtra na zakładce [Zaawansowane] należy wpisać:@PAR ?@S30|Szukaj|&Szukaj: @? PAR@ DeN_Dokument Like '%'+ ??Szukaj +'%' Or DeN_Kategoria Like '%'+ ??Szukaj +'%' Or Exists (Select * From CDN.DekretyElem Where DeE_DeNId = DeN_DeNId And (DeE_Dokument Like '%'+ ??Szukaj +'%' Or DeE_Kategoria Like '%'+ ??Szukaj +'%'))
Jak wyfiltrować listę dokumentów rozliczonych pochodzących z Rejestru VAT lub ewidencji dodatkowej?
Na liście Dokumentów Rozliczonych w menu Kasa/Bank w Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select * from cdn.bnkzdarzenia where (bzd_dokumenttyp=12 and brk_ldoktyp=1 and brk_ldokid = bzd_bzdid) or (bzd_dokumenttyp=12 and brk_pdoktyp=1 and brk_pdokid = bzd_bzdid) or (bzd_dokumenttyp=2 and brk_ldoktyp=1 and brk_ldokid = bzd_bzdid) or (bzd_dokumenttyp=2 and brk_pdoktyp=1 and brk_pdokid = bzd_bzdid))
Jak wyfiltrować Rejestr VAT wg numeru NIP Kontrahenta pod warunkiem, że dokument nie jest zaksięgowany?
Na liście Rejestru VAT w menu Kasa/Bank w Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@HO(RY:1|KP:2|KH:3)|TypKsi|&KSI:{GetSql('Select Fir_Wartosc From CDN.Firma Where Fir_Numer=1204', '')} @? PAR@ {CHOOSE ( ??TypKsi, 'IsNull(VaN_RycId,0)=0', 'IsNull(VaN_KPRId,0)=0', 'IsNull(VaN_DekId,0)=0', '1=1')} and VaN_KntNipE LIKE '%' + ?@S100|numer NIP:'' + '%'
Jak wyfiltrować konta w Planie kont, które mają inny numer w przyszłym okresie?
Na Planie kont w konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists ( select * from cdn.konta k2 where A.Acc_NextAccId=k2.Acc_AccId and A.Acc_Numer<>k2.Acc_Numer)
Jak wyfiltrować polecenia księgowania, które zawierają dekrety na konto 404-1 i 501-01?
Przykład takiego filtra dla zakładki [Dzienniki] w menu Księgowość/Księgowość/Dzienniki:exists(select * from CDN.DekretyElem K1 join CDN.DekretyElem K2 on (DeN_DeNID = K2.DeE_DeNID) where DeN_DeNID = K1.DeE_DeNID and K1.DeE_KontoWn = '404-1' and K2.DeE_KontoWn = '501-01')
Na fakturze w Rejestrze VAT wpisuję jako wartość atrybutu numer rejestracyjny samochodu i jako kolejny atrybut – paliwo, jak sprawdzić ile paliwa zakupiono dla danego samochodu?
Na jednym dokumencie uzupełniono atrybuty REJESTRACJA (nr rejestracyjny samochodu) i PALIWO (ilość zakupionego paliwa). Poniższe zapytanie, w Rejestrach VAT, na zakładce [Wg atrybutów], zwróci rekordy zawierające ilość paliwa dla podanego numeru rejestracyjnego samochodu. Przed odfiltrowaniem program zapyta o nr rejestracyjny.exists (select * from CDN.VATAtrybutyView as ATR1 join CDN.VATAtrybutyView as ATR2 on (ATR1.VAV_VaNID=ATR2.VAV_VaNID and ATR2.VAV_DeAKod='REJESTRACJA' AND ATR2.VAV_DAtWartoscTxt =?@S100|Nr rejestracyjny:'') where ATR1.VAV_VaNID=VAN_VaNID and ATR1.VAV_DeAKod = 'PALIWO')
W polu Atrybut można wybrać atrybut PALIWO – wtedy będzie można podsumować wyfiltrowane rekordy (ilość paliwa).
Jak wyfiltrować dokumenty w rejestrze VAT według wskazanych grup kontrahentów?
W Rejestrze VAT w konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT Gru_GruID, Gru_Nazwa FROM cdn.Grupy WHERE Gru_Typ=31)|Grupa_kontrahentow|&Grupa_kontrahentow:REG= @? PAR@ exists (select * from cdn.kontrahenci where knt_kntID=van_podId and van_podmiotTyp=1 and knt_grupa=??_Q_RES2_Grupa_kontrahentow)
Jak wyfiltrować faktury z rejestru VAT zaksięgowane pomiędzy podanymi datami, które zakwalifikowane zostały do deklaracji VAT-7 za podany okres?
W Rejestrze VAT w konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@D17|data_od|&Data_zapisu_od:{DateClwFirstDay('m')} @? PAR@ @PAR ?@D17|data_do|&Data_zapisu_do:{DateClwLastDay('m')} @? PAR@ @PAR ?@N4|Rok|&Rok_deklaracji:{Year(Today())} @? PAR@ @PAR ?@N4|Miesiac|&Miesiąc_deklaracji:{Month(Today())} @? @RL(1) @RH(12) PAR@ EXISTS (SELECT * FROM CDN.DekretyNag WHERE VaN_DekId = DeN_DeNId AND VaN_DekId IS NOT NULL AND VaN_DeklRokMies={100 * ??Rok + ??Miesiac} AND DeN_DataDok >=??Data_od AND DeN_DataDok <= ??Data_do)
W przypadku stosowania metody kasowej należy użyć poniższego filtra: @PAR ?@D17|data_od|&Data_zapisu_od:{DateClwFirstDay('m')} @? PAR@ @PAR ?@D17|data_do|&Data_zapisu_do:{DateClwLastDay('m')} @? PAR@ @PAR ?@N4|Rok|&Rok_deklaracji:{Year(Today())} @? PAR@ @PAR ?@N4|Miesiac|&Miesiąc_deklaracji:{Month(Today())} @? @RL(1) @RH(12) PAR@ EXISTS (SELECT * FROM CDN.DekretyNag WHERE VaN_DekId = DeN_DeNId AND VaN_DekId IS NOT NULL AND DeN_DataDok >=??Data_od AND DeN_DataDok <= ??Data_do) AND EXISTS ( SELECT * FROM CDN.VatTab7 WHERE Va7_VaNID=VaN_VaNID AND Va7_RokMiesiac={100 * ??Rok + ??Miesiac} AND VaN_MetodaKasowa=1)
Jak wyfiltrować środki trwałe mające określony atrybut?
Na liście środków trwałych w konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT ID = DeA_DeAId, Kod = DeA_Kod FROM CDN.DefAtrybuty WHERE DeA_Typ=3 ORDER BY DeA_Kod)|KodAtr|&Kod atrybutu:ATR1 @? PAR@ EXISTS (SELECT * FROM CDN.TrwaleAtrybuty JOIN CDN.DefAtrybuty ON SrA_DeAId = DeA_DeAId WHERE SrT_SrTID = SrA_SrTId AND DeA_DeAId =??KodAtr)
Jak wyfiltrować dokumenty w rejestrze VAT, które zostały wprowadzone lub zmodyfikowane po konkretnej dacie?
W Rejestrze VAT w konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@D17|data_od|&Data_wprowadzenia_lub_modyfikacji:{DateClwFirstDay('m')} @? PAR@ VaN_TS_Zal >= ??data_od OR VaN_TS_Mod >= ??data_od
Jak wyfiltrować dokumenty w Rejestrze VAT posiadające określony atrybut?
W Rejestrze VAT w konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@LS20(OP_TWR.DLL|CALLLOOKUPATRLISTADOK())|Atrybut|&Atrybut:REG= @? PAR@ exists (select * from CDN.DokAtrybuty where VaN_VaNID = DAt_VaNID and DAt_DeAId = ??Atrybut)
Jak wyfiltrować dokumenty w Rejestrze VAT posiadające określoną wartość atrybutu?
W Rejestrze VAT w konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@S30|Wartosc_atrybutu|&Wartosc_atrybutu:''@? PAR@ exists (select * from CDN.DokAtrybuty where VaN_VaNID = DAt_VaNID and DAt_WartoscTxt = ??Wartosc_atrybutu)
Jak wyfiltrować dokumenty w Rejestrze VAT, które mają nie zaznaczonego parametru Rozliczać w deklaracji VAT?
W Rejestrze VAT w konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:VaN_RozliczacVat7 = 0
Jak znaleźć zapisy w Rejestrze VAT, które pod listą zaliczek mają wybranego jakiegoś pracownika?
W Rejestrze VAT w konstruktorze filtra na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:VaN_PodmiotZalTyp='3’
Jak odnaleźć zapisy księgowe na koncie z daną kategorią w elemencie zapisu?
W menu Księgowość/Dzienniki, zakładka [Konto] w konstruktorze filtra na zakładce [Zaawansowane] należy wpisać:@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKATLISTA())|Kategoria|&Kategoria:REG= @?TIP(Wybierz kategorię) PAR@ DeE_KatId =??kategoria
Jak odnaleźć zapisy księgowe na koncie z daną kategorią w nagłówku zapisu?
W menu Księgowość/Dzienniki, zakładka [Konto] w konstruktorze filtra na zakładce [Zaawansowane] należy wpisać:@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKATLISTA())|Kategoria|&Kategoria:REG=-brak- @? PAR@ DeN_KatId = ??Kategoria
W jaki sposób wyszukać dokumenty środków trwałych w zależności od osoby odpowiedzialnej przypisanej w zadanym okresie?
Na liście dokumentów środków trwałych w Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać:@PAR ?@D17|data1|&Data od:{DateClwFirstDay('m')} @? PAR@ @PAR ?@D17|data2|&Data do:{DateClwLastDay('m')} @? PAR@ @PAR ?@R(SELECT distinct Pri_PraId, PRi_nazwisko+' '+pri_Imie1 FROM cdn.Pracidx where PRI_Typ <>2 order by 2 )|PRACOWNIK|&PRACOWNIK:0|@? PAR@ Exists (select * from CDN.TrwaleOsobyOdpowiedzialne where SrH_SrtID=SrOO_SrTID and SrOO_DataOd<=??data1 and (SrOO_DataDo >=??data2 or SrOO_DataDo is null) and SrOO_PrcID =??PRACOWNIK)
W jaki sposób na liście zapisów w rejestrze VAT (bądź na liście faktur) wyszukać dokumenty zaksięgowane na konkretne konto?
Na liście zapisów w rejestrze VAT w Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać:@PAR ?@S30|Konto|&Konto:''@? PAR@ EXISTS (SELECT * FROM CDN.DekretyNag join CDN.DekretyElem on DeN_DeNId=DeE_DeNId WHERE VaN_DekID = DeN_DeNId AND (DeE_KontoWn=??Konto OR DeE_KontoMa=??Konto))
Filtr do zastosowania na liście faktur: @PAR ?@S30|Konto|&Konto:''@? PAR@ EXISTS (SELECT * FROM CDN.DekretyNag join CDN.DekretyElem on DeN_DeNId=DeE_DeNId WHERE TrN_DekId = DeN_DeNId AND (DeE_KontoWn=??Konto OR DeE_KontoMa=??Konto))
W jaki sposób wyszukać zapisy KPiR zaksięgowane z określonych dokumentów źródłowych?
Na liście zapisów KPiR w Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać:@PAR ?@R (SELECT Id = 2, Kod = 'Rejestr VAT' UNION SELECT Id = 3, Kod = 'Samochodówka' UNION SELECT Id = 4, Kod = 'Remanent' UNION SELECT Id = 5, Kod = 'Wynagrodzenia uproszczone' UNION SELECT Id = 7, Kod = 'Dokumenty ŚT' UNION SELECT Id = 10, Kod = 'Wynagrodzenia' UNION SELECT Id = 12, Kod = 'Ewidencja dodatkowa' UNION SELECT Id = 13, Kod = 'Różnice kursowe' UNION SELECT Id = 14, Kod = 'Zapisy k/b' )|Zrodlo|&Zrodlo: @? PAR@ KPR_Zrodlo = ??Zrodlo
W jaki sposób wyszukać zapisy księgowe na koncie mające parę (taką samą kwotę) po obu stronach konta?
Z poziomu Księgowość/ Dzienniki/ zakładka [Konto] w Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać:@PAR ?@D17|data1|&Data od:{DateClwFirstDay('y')} @? PAR@ @PAR ?@D17|data2|&Data do:{DateClwLastDay('y')} @? PAR@ @PAR ?@S30|Konto|&Konto:''@? PAR@ Exists (Select * From CDN.DekretyElem A Where A.DeE_DeEId=DeK_DeEId And (Exists (Select * From CDN.DekretyElem B Where A.DeE_Kwota=B.DeE_Kwota And A.DeE_KontoMa=??Konto and B.DeE_KontoWn=??Konto AND A.DeE_DataWys between ??data1 And ??data2 AND B.DeE_DataWys between ??data1 And ??data2) OR Exists (Select * From CDN.DekretyElem B Where A.DeE_Kwota=B.DeE_Kwota And A.DeE_KontoWn=??Konto and B.DeE_KontoMa=??Konto AND A.DeE_DataWys between ??data1 And ??data2 AND B.DeE_DataWys between ??data1 And ??data2)))
W jaki sposób na planie kont wyszukać konta rozrachunkowe tego samego podmiotu, na których istnieją nierozliczone rozrachunki po przeciwnych stronach?
Z poziomu Księgowość/ Plan kont w Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać:EXISTS( Select * From CDN.Konta B Where A.Acc_SlownikId=B.Acc_SlownikId And A.Acc_SlownikTyp=B.Acc_SlownikTyp And A.Acc_Rozrachunkowe = 1 And B.Acc_Rozrachunkowe = 1 AND A.Acc_NumerIdx IN (SELECT Roz.KRo_KontoIdx FROM CDN.KsiRozrachunki AS Roz WHERE Roz.KRo_RozliczenieID IS NULL AND Roz.KRo_Strona=1) AND B.Acc_NumerIdx IN (SELECT Roz.KRo_KontoIdx FROM CDN.KsiRozrachunki AS Roz WHERE Roz.KRo_RozliczenieID IS NULL AND Roz.KRo_Strona=2)) OR EXISTS( Select * From CDN.Konta B Where A.Acc_SlownikId=B.Acc_SlownikId And A.Acc_SlownikTyp=B.Acc_SlownikTyp And A.Acc_Rozrachunkowe = 1 And B.Acc_Rozrachunkowe = 1 AND A.Acc_NumerIdx IN (SELECT Roz.KRo_KontoIdx FROM CDN.KsiRozrachunki AS Roz WHERE Roz.KRo_RozliczenieID IS NULL AND Roz.KRo_Strona=2) AND B.Acc_NumerIdx IN (SELECT Roz.KRo_KontoIdx FROM CDN.KsiRozrachunki AS Roz WHERE Roz.KRo_RozliczenieID IS NULL AND Roz.KRo_Strona=1))
Powyższy filtr zadziała w przypadku, gdy jest nierozliczony rozrachunek po stronie Wn na koncie 201-2-1-ADM i po stronie Ma na koncie 202-2-1-ADM, chociaż równie dobrze może to być to samo konto.
W jaki sposób na liście dokumentów w rejestrze VAT wyfiltrować dokumenty według stanu ich rozliczeń?
Z poziomu rejestru VAT w Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać treść filtra odpowiednią dla szukanych dokumentów: - wyłącznie dokumenty nierozliczone całkowicie:not exists (select * from CDN.BnkZdarzenia where VaN_VaNID = BZd_DokumentID and BZd_DokumentTyp = 2 and (Bzd_KwotaRoz > 0)) AND VaN_Wewnetrzna = 0
- wyłącznie dokumenty rozliczone częściowo: exists(select BZd_DokumentID, BZd_DokumentTyp, SUM(BZd_Kwota), SUM(BZd_KwotaRoz) from cdn.BnkZdarzenia where BZd_DokumentID = VaN_VaNID AND BZd_DokumentTyp = 2 GROUP BY BZd_DokumentID, BZd_DokumentTyp HAVING SUM(BZd_Kwota) <> SUM(BzD_KwotaRoz) AND SUM(BzD_KwotaRoz) > 0.00)
- dokumenty nierozliczone bądź częściowo rozliczone: exists (select BZd_BZdID FROM CDN.BnkZdarzenia where VaN_VaNID=BZd_DokumentID and BZd_DokumentTyp = 2 and (Bzd_Kwota<>Bzd_KwotaRoz))
- wyłącznie dokumenty rozliczone całkowicie: exists(select BZd_DokumentID, BZd_DokumentTyp, SUM(BZd_Kwota), SUM(BZd_KwotaRoz) from cdn.BnkZdarzenia where BZd_DokumentID = VaN_VaNID AND BZd_DokumentTyp = 2 GROUP BY BZd_DokumentID, BZd_DokumentTyp HAVING SUM(BZd_Kwota) = SUM(BzD_KwotaRoz) AND SUM(BzD_KwotaRoz) > 0.00)
Płace i Kadry
Jak wyfiltrować pracowników, dla których ważność badań upływa w podanym okresie?
Na liście pracowników w menu Kadry/Płace / Kadry, w Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@D17|DataOd|Podaj datę:{DateClwFirstDay('m')} @? PAR@ @PAR ?@D17|DataDo|Podaj datę:{DateClwLastDay('m')} @? PAR@ exists (select 1 from CDN.PracEtaty where PRI_PraId=PRE_PraId and PRE_WaznoscBadanOkres between ??DataOd AND ??DataDo)
Przed odfiltrowaniem pojawi się pytanie o daty. Domyślnie podpowiada się data pierwszego i ostatniego dnia miesiąca.
Jak odfiltrować listę pracowników niepełnosprawnych po kodzie niepełnosprawności?
Po uruchomieniu filtru pojawi się okno, w którym należy wpisać kod niepełnosprawności (1,2,3 lub 4) datę tj. dzień, na który chcemy sprawdzić listę osób niepełnosprawnych (sprawdzane są daty od-do niepełnosprawności). W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@D17|Data|&Data:{Today()}@? PAR@ exists(select 1 from cdn.pracetaty where pri_praid=pre_praid and PRE_StNiepelnosp LIKE '%' + ?@S100|Stopień niepełnospr:'' + '%' and ??Data between pre_niepelnospod and pre_niepelnospdo)
Jak wyfiltrować listę osób mających zawarte umowy cywilno-prawne o podanym symbolu?
Po uruchomieniu filtru pojawi się okno, w którym należy wpisać zakres dat (sprawdza datę zawarcia umowy we wskazanym okresie) oraz symbol umowy (np. UMW). W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@D17|DataOd|Podaj datę:{DateClwFirstDay('m')} @? PAR@ @PAR ?@D17|DataDo|Podaj datę:{DateClwLastDay('m')} @? PAR@ exists (select 1 from CDN.UMOWY where Pri_PraID = UMW_PraID and umw_numerstring LIKE '%' + ?@S100|Symbol:'' + '%' and UMW_DataOd between ??DataOd AND ??DataDo)
Jak wyfiltrować z listy pracowników osoby z przypisanym Urzędem Skarbowym, na wskazany dzień?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@D17|Data|na dzień:{Today()}@? PAR@ exists (select * from CDN.PracEtaty where PRI_Praid=PRE_PraId and pre_PODUrzSkarbId>0 and ??Data between PRE_DataOd and PRE_DataDo)
Ewentualnie zamiast @D17 można wykorzystać @HD17 jeśli parametr z datą ma być ukryty (a więc zawsze jako parametr ma się pojawiać data bieżąca): @PAR ?@HD17|filtr_dtDataAkt|&filtr_dtDataAkt:{Today()}@? PAR@ exists (select * from CDN.PracEtaty where PRI_Praid=PRE_PraId and pre_PODUrzSkarbId>0 and ??filtr_dtDataAkt between PRE_DataOd and PRE_DataDo)
Osoby bez przypisanego Urzędu Skarbowego: @PAR ?@D17|Data|na dzień:{Today()}@? PAR@ not exists (select * from CDN.PracEtaty where PRI_Praid=PRE_PraId and pre_PODUrzSkarbId>0 and ??Data between PRE_DataOd and PRE_DataDo)
Jak wyfiltrować pracowników, którym wybrana kwalifikacja kończy się w zadanym zakresie?
Na liście pracowników w menu Kadry/Płace / Kadry, w Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT ID = Dkm_DkmID, Kod = DKM_Nazwa from cdn.DaneKadMod where dkm_Rodzaj = 6 order by DKM_Nazwa)|Kwalifikacje|&Kwalifikacje: @? PAR@ @PAR ?@D17|DataOd|&DataOd:REG={DateClwFirstDay('m')} @? PAR@ @PAR ?@D17|DataDo|&DataDo:REG={DateClwLastDay('m')} @? PAR@ exists (select 1 from cdn.Uprawnienia join cdn.DaneKadMod on Upr_DkmId = Dkm_DkmID where Pri_PraID = Upr_PraID and DKM_DkmID = ??Kwalifikacje and upr_KursTermin between ??DataOd and ??DataDo)
Przed odfiltrowaniem pojawi się rozwijana lista kwalifikacji oraz pytanie o zakres dat.
Jak zablokować operatorowi dostęp do dokumentów dotyczących rozliczeń z pracownikami z tytułu wynagrodzeń?
Aby operator nie widział: A. Zapisów kasowo/bankowych wystawionych na pracowników, należy założyć filtr w menu: Kasa/bank/Zapisy kasowe/bankowe. Kliknąć na ikonę „Konstruktor filtra” i na zakładce [Zaawansowane], wpisać w polu Filtr SQL:BZp_PodmiotTyp<>3
Na zakładce [Opcje], wybrać: Obowiązkowy i wybrać operatora, który ma mieć załączony ten filtr. Jeżeli jest więcej niż jeden operator, który ma mieć założony taki filtr, należy zbudować drugi identyczny filtr, z tym, że na zakładce Opcje wybrać innego operatora. B. Dla zdarzeń w Preliminarzu pochodzących z list płac, należy założyć filtr w menu: Kasa/Bank / Preliminarz płatności. Kliknąć na ikonę „Konstruktor filtra” i na zakładce [Zaawansowane], wpisać w polu Filtr SQL: BZd_DokumentTyp<>8
Na zakładce [Opcje], wybrać: Obowiązkowy i wybrać operatora, który ma mieć załączony ten filtr. Jeżeli jest więcej niż jeden operator, który ma mieć założony taki filtr, należy zbudować drugi identyczny filtr, z tym, że na zakładce Opcje wybrać innego operatora. C. Aby operator nie mógł wybrać z listy pracownika (np. po to aby podglądnąć listę rozliczonych i nierozliczonych zapisów dla wybranego pracownika w menu Kasa/bank/ Rozliczenia podmiotu. Należy operatorowi dodać blokadę dostępu do listy pracowników. Blokadę zakłada się w menu: Start/Konfiguracja / Program/Użytkowe/Operatorzy. Na formatce danego operatora, na zakładce [Blokady dostępu] należy dodać blokadę: Lista pracowników, wspólników i właścicieli. D. Aby operator nie widział rozliczeń powstałych z dokumentów, z których przynajmniej jeden jest wystawiony na pracownika, należy założyć następujący filtr obowiązkowy dla operatora w menu Kasa/Bank/ Rozliczenia: pole Filtr SQL: not exists (select * from CDN.BnkRozKwotyView where BRKV_BRKId=BRK_BRKId and (BRKV_PodmiotTyp1=3 OR BRKV_PodmiotTyp2=3))
Filtry obowiązkowe włącza się w menu: Start/Konfiguracja/Program/Użytkowe/Parametry: Stosuj filtry obowiązkowe. Operator nadający filtry obowiązkowe musi być Administratorem, pozostali operatorzy nie powinni być administratorami.
Jak wyfiltrować listę pracowników, którym kończy się ważność badań okresowych?
Na liście pracowników w menu Kadry/Płace/Kadry, w Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@D17|DataOd|Podaj datę:{DateClwFirstDay('m')} @? PAR@ @PAR ?@D17|DataDo|Podaj datę:{DateClwLastDay('m')} @? PAR@ exists (select 1 from CDN.PracEtaty where PRI_PraId=PRE_PraId and PRE_WaznoscBadanOkres between ??DataOd AND ??DataDo) Przed odfiltrowaniem pojawi się pytanie o zakres dat.
Jak wyfiltrować listę pracowników zatrudnionych na stanowiskach robotniczych?
Na liście pracowników w menu Kadry/Płace/Kadry, w Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@D17|Data|&Data:{Today()}@? PAR@ exists (select 1 from CDN.PracEtaty join CDN.DaneKadMod on PRE_ETADkmIdStanowisko=DKM_DkmId where DKM_Robotnicze=1 and DKM_Rodzaj=1 and PRE_PraId=PRI_PraId and ??Data between PRE_DataOd and PRE_DataDo)
Przed odfiltrowaniem pojawi się zapytanie o datę.
Jak wyfiltrować listę pracowników zgłoszonych do wszystkich ubezpieczeń (społeczne i zdrowotne)?
Na liście pracowników w menu Kadry/Płace/Kadry, w Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select * from cdn.pracetaty where pri_praid=pre_praid and pre_ubzzdrowod <> CONVERT(DATETIME,'1899-12-30',120) and PRE_UBZJestEmerytal=1 and PRE_UBZJestRentowe=1 and PRE_UBZJestchorobowe=1 and PRE_UBZJestwypad=1)
Jak wyfiltrować listę pracowników zgłoszonych tylko do ubezpieczenia zdrowotnego?
Na liście pracowników w menu Kadry/Płace/Kadry, w Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select * from cdn.pracetaty where pri_praid=pre_praid and pre_ubzzdrowod <> CONVERT(DATETIME,'1899-12-30',120) and PRE_UBZJestEmerytal=0 and PRE_UBZJestRentowe=0 and PRE_UBZJestchorobowe=0 and PRE_UBZJestwypad=0)
Jak wyfiltrować listę pracowników przypisanych do wybranej kategorii?
Na liście pracowników w menu Kadry/Płace/Kadry, w Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(select ID=KAT_KatId, Kat_KodSzczegol from CDN.Kategorie)|Kategoria|&Kategoria:REG=PLACE @? PAR@ exists (select 1 from CDN.PracEtaty where PRI_PraId=PRE_PraId and PRE_KATId= ??Kategoria and ?@D17|Data:{Today()} between PRE_DataOd and PRE_DataDo)
Przed odfiltrowaniem pojawi się rozwijana lista słownikowa z kategoriami oraz pytanie o datę.
Jak wyfiltrować listę dokumentów nierozliczonych wystawionych na pracownika?
Na liście Dokumentów Nierozliczonych w menu Kasa/Bank w Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:exists (select * from CDN.PodmiotyView where DKB_PodmiotId=Pod_PodId and Dkb_PodmiotTyp = Pod_PodmiotTyp AND DKb_PodmiotTyp=3)
Jak wyfiltrować pracowników z listy Kadry zwolnionych w zadanym okresie, w aktualnym okresie historycznym?
W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@D17|DataOd|Zwoln. w okresie od:{DateClwFirstDay('m')} @? PAR@ @PAR ?@D17|DataDo|do:{DateClwLastDay('m')} @? PAR@ exists (select 1 from CDN.PracEtaty where PRI_PraId=PRE_PraId and PRE_ZatrudnionyDo between ??DataOd AND ??DataDo and ?@D17|Na datę aktualności:{Today()} between PRE_DataOd and PRE_DataDo)
Jak wyfiltrować pracowników, którzy mają formę płatności „ROR” lub „gotówka”, w aktualnym okresie historycznym?
Filtr działa tak, że sprawdza odpowiedni zapis historyczny pracownika (data ,którą ustawimy jako „Zapis hist. prac” – podpowiada się aktualna) oraz płatność, która ma ustawioną „nadwyżkę”. W Konstruktorze filtra, na zakładce [Zaawansowane], w polu Filtr SQL należy wpisać:@PAR ?@R(SELECT Id = 1, Kod = 'gotówka' UNION SELECT Id = 3, Kod = 'ROR')|platnosc|&platność:REG= @? PAR@ exists(select 1 from CDN.PracEtaty join CDN.SchematPlatnosci on SPL_PodmiotId = PRE_PreId where PRE_PraId=PRI_PraId and SPL_Reszta = 1 and SPL_FplId = ??Platnosc AND ?@D17|Zapis hist. prac:{Today()} between PRE_DataOd and PRE_DataDo)
W jaki sposób wyszukać pracowników z określoną kategorią na wybranej liście płac?
Z poziomu Płace i Kadry/ Wypłaty pracowników w Konstruktorze filtra, na zakładce [Zaawansowane] należy wpisać:@PAR ?@R(SELECT LPL_LplId, LPL_NumerPelny FROM CDN.ListyPlac)|Lista|&Lista plac:REG= @? PAR@ @PAR ?@LS0(OP_LIST.DLL|CALLLOOKUPKATLISTA())|kategoria|&kategoria:0|@? PAR@ EXISTS(SELECT 1 FROM CDN.PracEtaty JOIN CDN.Wyplaty ON WPL_PraId = PRE_PraId JOIN CDN.ListyPlac ON LPL_LplId = WPL_LplId WHERE PRI_PraId = PRE_PraId AND WPL_KatId = ??Kategoria AND LPL_LplId = ??Lista)
Można również zastosować wariant filtra, w którym numer listy płac jest automatycznie przekazywany na podstawie wybranej na oknie listy: @PAR ?@HN0|ListaPlacId|&ListaPlacId:0@? PAR@ @PAR ?@LS0(OP_LIST.DLL|CALLLOOKUPKATLISTA())|kategoria|&kategoria:0|@? PAR@ EXISTS(SELECT 1 FROM CDN.PracEtaty JOIN CDN.Wyplaty ON WPL_PraId = PRE_PraId JOIN CDN.ListyPlac ON LPL_LplId = WPL_LplId WHERE PRI_PraId = PRE_PraId AND WPL_KatId = ??Kategoria AND LPL_LplId = ??ListaPlacId)
OPT089 - Pakiet VAT e-commerce (OSS)
Data aktualizacji: 28-06-2022
1. Wstęp
W programie Comarch ERP Optima dostępne są funkcje związane z pakietem VAT e-commerce, który obowiązuje od 1 lipca 2021 roku. W skutek tych zmian w przepisach, w przypadku sprzedaży wysyłkowej (transakcje z konsumentami z innych krajów Unii Europejskiej) po przekroczeniu wartości 10.000 EUR łącznej sprzedaży do krajów UE, dostawca zobowiązany jest do przystąpienia do procedury VAT-OSS lub do rejestracji VAT w kraju przeznaczenia i rozliczania podatku VAT w tym kraju. Poprzez uczestnictwo w nowej procedurze VAT-OSS możliwe jest uniknięcie rejestracji do celów rozliczenia VAT w każdym kraju członkowskim, do którego dostarczane są towary. Procedura VAT-OSS umożliwia również rozliczenie podatku VAT z tego tytułu na jednej deklaracji składanej elektronicznie.2. Ustawienia ogólne
2.1 Stawki VAT w Konfiguracji Programu
Przy sprzedaży na odległość wobec konsumentów z innych krajów UE należy stosować stawkę VAT obowiązującą w kraju, do którego dostarczane są towary. W związku z tym w Konfiguracji Programu/ Ogólne/ Stawki VAT dostępne są stawki VAT obowiązujące we wszystkich krajach Unii Europejskiej. Lista stawek podzielona jest na poszczególne kraje:
Stawki VAT.
Podczas wprowadzania bądź edytowania stawki VAT, na formularzu stawki znajduje się informacja czy jest to stawka podstawowa czy też obniżona. Wskazywany jest również prefiks kraju (pole obowiązkowe), którego dana stawka VAT dotyczy:
Formularz stawki VAT.
Podczas dodawania nowej stawki domyślnie podpowiada się stawka podstawowa oraz kraj PL. Dostępne do wyboru są kody krajów należących do Unii Europejskiej.2.2 Karta kontrahenta
Na karcie kontrahenta dostępny jest rodzaj transakcji: Procedura OSS. Ten rodzaj powinien zostać wybrany dla tych kontrahentów będących osobami fizycznymi z innego kraju UE, dla których realizowana jest sprzedaż towarów na odległość. Pozwoli to na skorzystanie z uproszczonej procedury OSS w przypadku przekroczenia limitu 10 tys. EUR.
Formularz kontrahenta – wybór rodzaju transakcji.
Po wybraniu rodzaju transakcji Procedura OSS wymagane jest wskazanie prefiksu kraju UE na zakładce [Ogólne] karty kontrahenta. Jeżeli w programie sporządzana jest deklaracja Intrastat, po wybraniu na karcie kontrahenta rodzaju transakcji Procedura OSS możliwe jest wskazanie domyślnego kodu transakcji (podobnie jak dla rodzaju transakcji: Wewnątrzunijny). Jeżeli kontrahent ma na swojej karcie wybrany rodzaj transakcji Procedura OSS, ten rodzaj przenoszony jest domyślnie na dokument sprzedażowy w module Handel oraz w Rejestrze VAT Sprzedaży. W przypadku wybrania takiego kontrahenta na dokumencie zakupowym, podstawiony zostanie rodzaj transakcji Nabycie wewnątrzunijne. W przypadku konieczności ustawienia nowego rodzaju transakcji dla większej ilości kontrahentów, możliwe jest skorzystanie z operacji seryjnej Zmień status dostępnej na liście kontrahentów:
Operacje seryjne – zmiana statusu kontrahenta.
Po wyborze rodzaju transakcji Procedura OSS wymagane jest wskazanie kodu kraju wewnątrzunijnego. W przeciwnym razie seryjna zmiana statusu kontrahentów nie będzie możliwa.2.3 Formularz kategorii
Na formularzu kategorii znajduje się sekcja Stawki VAT (procedura OSS) zawierająca tabelę z listą domyślnych stawek VAT dla poszczególnych krajów:
Formularz kategorii – Stawki VAT (procedura OSS)
Tabela zawiera takie informacje, jak: kod kraju, nazwa kraju i stawka VAT. Dla każdego kraju możliwe jest wskazanie tylko jednej stawki VAT dla procedury OSS przenoszonej na dokument z danej kategorii.3 Zastosowanie procedury OSS w module Handel
3.1 Stawki VAT dla pozycji cennikowych
Na potrzeby ewidencjonowania dokumentów sprzedażowych w systemie procedury OSS, dla towarów i usług należy przypisać stawki VAT obowiązujące w poszczególnych Państwach Unii Europejskiej. Stawki te będą wykorzystywane na dokumentach sprzedażowych, na których zostanie zastosowany rodzaj transakcji: Procedura OSS. Na karcie pozycji cennika (menu Ogólne/ Cennik lub Handel/ Zasoby) na zakładce [Jednostki, EAN, VAT] w tabeli Stawki VAT (procedura OSS) po naciśnięciu przycisku



Pozycja cennika – Stawki VAT (procedura OSS)
Jeżeli na dokument związany ze sprzedażą zostanie wybrany kontrahent z rodzajem transakcji Procedura OSS, to dla każdej pozycji dokumentu będzie proponowana stawka VAT z karty cennikowej, z zakładki [Jednostki, EAN, VAT], zgodnie z kodem kraju odbiorcy wybranego na dokumencie. Operacje seryjne Dla towarów zaznaczonych na liście można seryjnie dodawać i usuwać stawki VAT dla procedury OSS. Funkcja jest dostępna w menu Ogólne/ Cennik lub Handel/ Zasoby pod przyciskiem

Pozycja cennika – Stawki VAT (procedura OSS)
W pierwszym kroku należy określić, czy chcemy dodać czy usunąć stawki VAT dla zaznaczonych na liście pozycji cennikowych.
Podstawowe dla wszystkich państw UE – zaznaczenie tego parametru spowoduje, że dla każdego zaznaczonego towaru zostanie przypisana/ usunięta podstawowa stawka VAT każdego kraju unijnego (zdefiniowana w menu Start/Konfiguracja/ Program/ Ogólne/ Stawki VAT).
Dla wybranego państwa UE – po zaznaczeniu parametru należy wskazać kod kraju i jedną ze stawek VAT obowiązujących w tym kraju, którą chcemy przypisać bądź usunąć z zaznaczonych towarów. W przypadku, gdy jakiś towar ma już dodaną stawkę VAT dla wskazanego kraju i za pomocą operacji seryjnej chcemy dodać dla tego kraju inną stawkę VAT, to w skutek wykonania operacji seryjnej zostanie podmieniona stawka VAT dla tego kraju na karcie towaru zgodnie ze stawką VAT wskazaną w operacji seryjnej.
Operacja seryjna jest wykonywana za pomocą przycisku
3.2 Dokumenty handlowe w procedurze OSS
Procedura OSS dotyczy dokumentów sprzedaży. W programie można ją zastosować na:- Fakturach Sprzedaży,
- Wydaniach Zewnętrznych,
- Rezerwacjach Odbiorcy,
- Fakturach Pro Forma,
- Fakturach Zaliczkowych,
- Fakturach Finalnych,
- Wydaniach Kaucji,
- na korektach do powyższych dokumentów.
- w przypadku przekształcenia Faktury Pro Forma do Wydania Zewnętrznego, na WZ nie ma możliwości zmiany ustawienia tego parametru,
- w przypadku przekształcenia Faktury Pro Forma do Faktury Zaliczkowej, na Fakturze Zaliczkowej można zmienić ustawienie tego parametru. Jeżeli do tej samej Faktury Pro Forma są tworzone kolejne Faktury Zaliczkowe, to na kolejnych Fakturach Zaliczkowych nie ma możliwości zmiany ustawienia parametru. Jego ustawienie przenoszone jest z pierwszej Faktury Zaliczkowej.

Pozycja cennika – Stawki VAT (procedura OSS)
Opakowania kaucjonowane Na Fakturze Sprzedaży dla opakowań kaucjonowanych z zakładki [Kaucje] ustawiana jest stawka VAT zgodna z krajem Odbiorcy. Na Wydanie Kaucji utworzone do Faktury Sprzedaży przenoszony jest rodzaj transakcji z Faktury: procedura OSS. Na Fakturze Sprzedaży do Wydania Kaucji dla kontrahenta z rodzajem transakcji: Procedura OSS, domyślnie jest zaznaczony parametr Rozliczam podatek w OSS. Jeżeli Wydanie Kaucji nie ma rodzaju transakcji Procedura OSS, to po przekształceniu do Faktury i zmianie na takiej Fakturze rodzaju transakcji na Procedura OSS, stawki VAT zostaną naliczone zgodnie z krajem Odbiorcy. Korekty do dokumentów Ustawienie rodzaju transakcji: Procedura OSS oraz parametru: Rozliczam podatek w OSS jest przenoszone na korektę z dokumentu korygowanego bez możliwości zmiany. Wyjątkiem jest korekta zbiorcza/ rabat, na którą rodzaj transakcji jest pobierany z karty kontrahenta. Na zbiorczej korekcie dla kontrahenta z rodzajem transakcji: Procedura OSS, domyślnie jest zaznaczony parametr: Rozliczam podatek w OSS. Współpraca z modułem Serwis – FS, WZ do Zlecenia Serwisowego Faktury Sprzedaży, Wydania Zewnętrzne wystawione do Zlecenia serwisowego – w zakresie procedury OSS, tworzone są na takich samych zasadach jak dokumenty wystawione w module Handel. Fiskalizacja Nie ma możliwości fiskalizacji Faktur Sprzedaży wystawionych w procedurze OSS. Faktura Sprzedaży do Paragonu Na Fakturę Sprzedaży utworzoną do Paragonu domyślnie jest przenoszony rodzaj transakcji z PA: Krajowy. Na takiej FS nie ma możliwości wyboru rodzaju transakcji: Procedura OSS. W przypadku ręcznego wyboru kontrahenta, który na karcie ma rodzaj transakcji: Procedura OSS, na FS zostanie ustawiony rodzaj transakcji: Wewnątrzunijny. RO, WZ do PA Podczas próby przekształcenia Rezerwacji Odbiorcy, Wydania Zewnętrznego wystawionych w procedurze OSS do Paragonu, wyświetla się komunikat: Nie można utworzyć paragonu do dokumentu o rodzaju transakcji procedura OSS. Przekształć dokument do faktury. Import/ eksport dokumentów w formacie XML Dla dokumentów eksportowanych i importowanych w formacie XML przenoszone jest ustawienie parametru: Rozliczam podatek w OSS oraz rodzaj transakcji: Procedura OSS. Podczas importu:- stawki VAT pozycji dokumentu, których nie ma w programie są dodawane do konfiguracji (menu Start/Konfiguracja/ Program/ Ogólne/ Stawki VAT),
- dla zakładanych kartotek towarowych, stawka VAT z pliku XML jest uzupełniana na zakładce [Jednostki, EAN, VAT] pozycji cennika w sekcji dotyczącej procedury OSS. Na zakładce [Ogólne] jest uzupełniana polska podstawowa stawka VAT.
4 Zastosowanie procedury OSS w rejestrach VAT
4.1 Procedura OSS na dokumentach w rejestrze VAT sprzedaży
Na dokumencie w rejestrze VAT sprzedaży dostępny jest rodzaj transakcji Procedura OSS. Może on zostać przeniesiony z karty kontrahenta lub wybrany bezpośrednio na dokumencie.4.2 Zakładka OSS
Po wyborze rodzaju transakcji Procedura OSS na dokumencie w rejestrze VAT sprzedaży pojawia się dodatkowa zakładka [OSS], na której automatycznie zaznaczany jest parametr Rozliczam podatek w OSS, co oznacza, że dana transakcja zostanie uwzględniona na formularzu deklaracji VIU-DO Automatycznie ustawia się rok i kwartał, zgodnie z którym dokument zostanie zakwalifikowany na deklarację VIU-DO. Kwartał ustawiany jest zgodnie z datą sprzedaży na dokumencie. Użytkownik ma możliwość odznaczenia tego parametru (również na dokumencie zaksięgowanym oraz na dokumencie z uzupełnioną Predekretacją). Odznaczenie parametru Rozliczam podatek w OSS powoduje ukrycie wszystkich danych na zakładce [OSS] za wyjątkiem pola Kraj odbiorcy, które to jest potrzebne do prawidłowego ustawienia stawki VAT na pozycjach dokumentu, zgodnej z krajem odbiorcy.
Formularz dokumentu w rejestrze VAT sprzedaży w PLN, zakładka OSS
Prefiks kraju odbiorcy domyślnie przenoszony jest z zakładki [Kontrahent]. Użytkownik ma możliwość jego zmiany. Zmiana prefiksu na zakładce [Kontrahent] powoduje zmianę prefiksu na zakładce [OSS]. Zmiana prefiksu na zakładce [OSS] nie powoduje zmiany prefiksu na zakładce [Kontrahent]. Nie ma możliwości zapisania dokumentu z zaznaczonym parametrem Rozliczam podatek w OSS bez uzupełnionego prefiksu kraju odbiorcy. Podczas próby zapisania takiego dokumentu pojawia się komunikat: Transakcja kwalifikowana do procedury OSS powinna mieć uzupełniony prefiks kraju. Po zaakceptowaniu komunikatu użytkownik jest przenoszony na zakładkę [OSS] z kursorem ustawionym w polu Kraj odbiorcy. Lista krajów na zakładce [OSS] jest analogiczna do listy krajów dostępnej na zakładce [Kontrahent]. W pierwszej kolejności na liście wyświetlane są kody krajów należących do Unii Europejskiej. W przypadku wyboru kraju pozaunijnego nie będzie możliwe dodanie pozycji na dokumencie, ponieważ nie ma zdefiniowanych stawek w Konfiguracji. Z tego względu prefiks kraju odbiorcy powinien być zawsze prefiksem kraju należącego do Unii Europejskiej. W polu Waluta podatku ustawiana jest waluta EUR, bez możliwości zmiany. W przypadku dokumentu dodanego w walucie innej niż EUR widoczna jest sekcja Kurs z ostatniego dnia kwartału, a gdy nieopublikowany z kolejnego dnia. Deklaracja VIU-DO zawiera wartości podatku w walucie EUR w przeliczeniu po kursie Europejskiego Banku Centralnego na koniec kwartału, a jeżeli kurs nie zostanie opublikowany to na kolejny dzień. Stąd na zakładce [OSS] la waluty dokumentu różnej od EUR istnieje możliwość wskazania odpowiedniego kursu. Na dokumencie w walucie PLN jako kurs domyślnie ustawiany jest Kurs EBC (Europejskiego Banku Centralnego) i pobierany jest z ostatniego dnia kwartału wskazanego na zakładce [OSS]. W przypadku braku notowania EBC (Europejskiego Banku Centralnego) na dokumencie ustawiany jest Kurs ręczny z notowaniem 1 EUR = 1,0000 PLN. Użytkownik ma możliwość zmiany na kurs Nieokreślony (również na dokumencie zaksięgowanym oraz na dokumencie z uzupełnioną Predekretacją). W przypadku dokumentu dodanego w walucie obcej innej niż EUR i PLN jako kurs domyślnie ustawiany jest Kurs ręczny z notowaniem 1 EUR = 1,0000 PLN, z możliwością zmiany na Nieokreślony (również na dokumencie zaksięgowanym oraz na dokumencie z uzupełnioną Predekretacją). Każda z pozycji dokumentu przeliczana jest po wskazanym kursie. W przypadku dokumentu dodanego w walucie innej niż EUR w polu Data kursu domyślnie ustawiany jest ostatni dzień kwartału do którego należy data sprzedaży.4.3 Stawki VAT na dokumencie w rejestrze VAT sprzedaży
Podczas dodawania pozycji na dokumencie z rodzajem transakcji Procedura OSS, stawki VAT są ograniczane do tych, które obowiązują w kraju unijnym wskazanym na zakładce [OSS] w polu Kraj odbiorcy. W przypadku braku stawki dla danego kraju unijnego, możliwe do wyboru są stawki obowiązujące w Polsce. Podczas próby dodawania pozycji na dokumencie z rodzajem transakcji Procedura OSS bez uzupełnionego prefiksu kraju na zakładce [OSS] lub z prefiksem kraju nienależącego do Unii Europejskiej pojawia się komunikat: Wskaż prawidłowy kraj unijny odbiorcy na zakładce OSS. Dodanie pozycji na dokumencie jest możliwe po wskazaniu na zakładce [OSS] prefiksu kraju należącego do Unii Europejskiej. Stawki pobierane są z Konfiguracji lub z formularza kategorii. Na dokumencie z rodzajem transakcji Procedura OSS, po wybraniu w pozycji dokumentu kategorii na formularzu której uzupełniono domyślną stawkę w sekcji Stawki VAT (procedura OSS), stawka ta jest ustawiana na pozycji dokumentu pod warunkiem, że obowiązuje ona w kraju wskazanym na zakładce [OSS]. Jeżeli na formularzu kategorii nie wskazano takiej stawki lub w pozycji dokumentu nie wybrano kategorii to ustawiana jest stawka podstawowa dla danego kraju pobierana z Konfiguracji. Na dokumencie z rodzajem transakcji innym niż Procedura OSS do pozycji może zostać przeniesiona stawka wskazana na formularzu kategorii w polu Stawka VAT. Po zmianie na dokumencie rodzaju transakcji na Procedura OSS, jeżeli dodano pozycję w stawce nieobowiązującej w kraju wskazanym na zakładce [OSS], podczas próby zapisania dokumentu pojawia się komunikat: Część stawek VAT na pozycjach dokumentu nie odpowiada stawkom kraju OSS. Czy chcesz zweryfikować stawki VAT? Wybierając Tak możesz zmienić stawki VAT, wybierając Nie zapiszesz dokument. Zaakceptowanie komunikatu powoduje przeniesienie na zakładkę [Ogólne] gdzie użytkownik ma możliwość weryfikacji stawki VAT. Wybór opcji Nie powoduje zapisanie dokumentu. Po zmianie na dokumencie rodzaju transakcji z Procedura OSS na inny, jeżeli na dokumencie dodano przynajmniej jedną pozycję w stawce VAT nieobowiązującej w Polsce, podczas próby zapisania dokumentu pojawia się komunikat: Na dokumencie wskazano stawki VAT różne od polskich. Czy chcesz zweryfikować stawki VAT? Wybierając Tak możesz zmienić stawki VAT, wybierając Nie zapiszesz dokument. Zaakceptowanie komunikatu powoduje przeniesienie na zakładkę [Ogólne] gdzie użytkownik ma możliwość zmiany stawki VAT. Wybór opcji Nie powoduje zapisanie dokumentu. Po zmianie prefiksu kraju na zakładce [OSS], jeżeli na dokumencie dodano przynajmniej jedną pozycję w stawce VAT nieobowiązującej w wybranym kraju, podczas próby zapisania dokumentu pojawia się komunikat: Część stawek VAT na pozycjach dokumentu nie odpowiada stawkom kraju OSS. Czy chcesz zweryfikować stawki VAT? Wybierając Tak możesz zmienić stawki VAT, wybierając Nie zapiszesz dokument. Zaakceptowanie komunikatu powoduje przeniesienie na zakładkę [Ogólne] gdzie użytkownik ma możliwość weryfikacji stawki VAT. Wybór opcji Nie powoduje zapisanie dokumentu.4.4 Przenoszenie Faktur Sprzedaży z modułu Handel
Podczas przenoszenia z modułu Handel Faktury Sprzedaży z rodzajem transakcji Procedura OSS przenoszone są wszystkie ustawienia z formularza Faktury na dokument w rejestrze VAT, gdzie podlegają edycji. Podczas przenoszenia z modułu Handel korekty zbiorczej na dokument w rejestrze VAT sprzedaży przenoszone są te same stawki co na pozycjach faktury zbiorczej, nawet jeśli dotyczą kraju innego niż ten wskazany w polu Kraj odbiorcy.4.5 Lista dokumentów w rejestrze VAT sprzedaży
Kolumny dodatkowe Na liście dokumentów w rejestrze VAT sprzedaży dostępne są domyślnie ukryte kolumny:- Deklaracja OSS – jeżeli na dokumencie zaznaczono parametr Rozliczam podatek w OSS to w kolumnie wyświetlany jest kwartał i rok deklaracji, do którego zakwalifikowany jest dokument. W przypadku odznaczenia parametru Rozliczam podatek w OSS lub w przypadku gdy na dokumencie wybrano rodzaj transakcji inny niż Procedura OSS wyświetlana jest opcja Nie dotyczy.
- Kraj OSS – w kolumnie wyświetlany jest prefiks widoczny na dokumencie w polu Kraj odbiorcy. Jeżeli nie został on uzupełniony to kolumna pozostaje pusta.
- Przelicz po kursie EBC – funkcja umożliwia seryjne przeliczenie dokumentów po kursie Europejskiego Banku Centralnego dla dokumentów zakwalifikowanych do deklaracji VIU-DO w danym kwartale.

Parametry seryjnego przeliczenia dokumentów po kursie EBC
Po wybraniu kwartału i roku oraz naciśnięciu przycisku pioruna następuje przeliczenie dokumentów z rodzajem transakcji Procedura OSS, w walucie innej niż EUR i Kursem ręcznym z notowaniem 1=1, dla których w polu Rozliczam podatek w OSS wskazano wybrany w oknie operacji seryjnej rok i kwartał. Użytkownik nie musi zaznaczać na liście żadnych dokumentów. Dokumenty przeliczane są po kursie EBC z ostatniego dnia kwartału do którego należy data sprzedaży.- Zmień datę deklaracji VIU-DO – funkcja umożliwia seryjną zmianę daty deklaracji VIU-DO dla dokumentów z rodzajem transakcji Procedura OSS.

Parametry seryjnej zmiany daty deklaracji
Po wyborze opcji Zmień datę deklaracji VIU-DO pojawia się okno z domyślnie zaznaczonym parametrem Rozliczać w VIU-DO wraz z możliwością wskazania kwartału i roku jaki ma zostać ustawiony na podświetlonym/ zaznaczonych dokumentach. Użytkownik ma również możliwość odznaczenia parametru Rozliczam podatek w OSS na podświetlonym/ zaznaczonych dokumentach. Aby tego dokonać należy w oknie seryjnej zmiany daty deklaracji VIU-DO odznaczyć parametr Rozliczać w VIU_DO. Odznaczenie parametru powoduje, że wskazane dokumenty nie zostaną uwzględnione w deklaracji VIU-DO. Operacja seryjna Zmień rodzaj transakcji dostępna na liście dokumentów w rejestrze VAT sprzedaży umożliwia wybór rodzaju transakcji Procedura OSS. W przypadku wyboru tego rodzaju transakcji konieczne jest uzupełnienie prefiksu NIP. Podczas seryjnej zmiany rodzaju transakcji na Procedura OSS pojawia się komunikat: Zmieniając rodzaj transakcji na „Procedura OSS” zweryfikuj stawki VAT na dokumencie. Użytkownik powinien dokonać weryfikacji stawek na zmienionych dokumentach, ponieważ jeżeli nastąpi zmiana kraju odbiorcy np. z Austrii na Bułgarię to stawki VAT na dokumencie nie zostaną automatycznie zmienione na te obowiązujące w Bułgarii. Stąd konieczności ich weryfikacji przez użytkownika. Jeżeli na dokumencie jako rodzaj transakcji wybrano Procedura OSS to po wyborze operacji seryjnej Zmień kategorię i zaznaczeniu parametrów Zmień kategorię pozycji oraz Aktualizuj stawkę VAT i Uwz. w proporcji na dokument przenoszona jest stawka wskazana na formularzu kategorii w sekcji Stawki VAT (procedura OSS) pod warunkiem, że obowiązuje ona w kraju wskazanym na zakładce [OSS]. Zmianie ulega jedynie stawka VAT, wartości na pozycji się nie aktualizują. Jeżeli na formularzu kategorii nie wskazano takiej stawki lub wybrano stawkę nieobowiązującą w kraju wskazanym na zakładce [OSS] to stawka VAT na dokumencie nie jest zmieniana. Jeżeli na dokumencie jako rodzaj transakcji wybrano Procedura OSS to po wyborze operacji seryjnej: Dodaj kody JPK_V7, Aktualizuj kody JPK_V7 z kategorii, Dodaj atrybut JPK pojawia się komunikat uniemożliwiający wykonanie tej operacji. Ze względu na to, że podczas importu dokumentów z pliku możliwe jest dodanie kodu JPK_V7 na dokumencie z rodzajem transakcji Procedura OSS, istnieje możliwość skorzystania z operacji seryjnej Usuń kody JPK_V7. Wydruk Zestawienie transakcji do VIU-DO W rejestrze VAT sprzedaży z poziomu zakładki [Rejestry VAT] dostępny jest wydruk Klasyfikacja sprzedaży/ Zestawienie transakcji do VIU-DO. W przypadku dokumentów w walucie innej niż EUR prezentowane na wydruku kwoty pobierane są z dokumentu z zakładki [OSS]. Przed wykonaniem wydruku dokumenty powinny zostać przeliczone przez użytkownika po kursie EBC na koniec kwartału. Można do tego wykorzystać dostępną w rejestrze VAT sprzedaży operację seryjną Przelicz po kursie EBC. Przed wykonaniem wydruku pojawia się okno z możliwością wskazania kwartału i roku oraz z parametrem pozwalającym na określenie, czy drukować listę dokumentów czy tylko podsumowania Wydruk składa się z dwóch sekcji, odpowiadających formularzowi deklaracji VIU-DO:- C.2. Świadczenie usług z państwa członkowskiego identyfikacji oraz stałego miejsca prowadzenia działalności gospodarczej poza Unią Europejską oraz dostawy towarów wysyłanych lub transportowanych z państwa członkowskiego identyfikacji – do sekcji kwalifikowane są dokumenty z datą sprzedaży należącą do kwartału deklaracji VIU-DO,
- C.5. Korekty kwot podatku VAT wykazanych w deklaracjach za poprzednie okresy wynikające z korekt dostaw towarów lub świadczonych usług – do sekcji kwalifikowane są dokumenty z datą sprzedaży należącą do innego kwartału niż kwartał deklaracji VIU-DO. Dokumenty są prezentowane na wydruku z podziałem na poszczególne kraje, rodzaj (Towary lub Usługi) oraz w ramach rodzaju z podziałem na poszczególne stawki VAT. Wydruk zawiera osobne podsumowanie dla każdej stawki VAT, rodzaju i kraju.
5 Deklaracja VIU-DO
W programie Comarch ERP Optima dostępny jest formularz Deklaracji dla rozliczania podatku VAT w zakresie procedury unijnej wraz z jej wydrukiem oraz wysyłką do systemu e Deklaracje. Deklaracja VIU-DO składana jest za okresy kwartalne w terminie do końca miesiąca następującego po każdym kolejnym kwartale. Termin nie ulega przesunięciu z uwagi na dni wolne. Nie można złożyć deklaracji przed upływem kwartału. Jeżeli deklaracja VIU-DO za dany kwartał została przeliczona i wysłana do systemu e-Deklaracje, a w tym kwartale pojawiły się kolejne dokumenty to zostaną one uwzględnione w deklaracji za kolejny kwartał. Do sporządzenia deklaracji VIU-DO konieczne jest pobranie modułu Księga Podatkowa lub Księga Handlowa lub Księga Handlowa Plus.5.1 Konfiguracja
Deklaracja VIU-DO jest dostępna w menu Rejestry VAT/ Inne/ Deklaracje VIU-DO jeżeli Konfiguracji Firmy/ Dane firmy/ Deklaracje w sekcji Podatnik składa deklaracje/odprowadza zaliczki z tytułu zaznaczono opcję VIU DO. Parametr jest domyślnie zaznaczony. Deklaracja VIU-DO składana jest do Drugiego Urzędu Skarbowego Warszawa Śródmieście, w związku z tym w polu US (VIU-DO) domyślnie wskazany jest ten Urząd. Pole podlega edycji. W Konfiguracji dostępna jest również sekcja Numer rachunku do deklaracji VIU-DO wraz z domyślnie uzupełnionym numerem rachunku: 84 1010 1010 0165 9315 1697 8000. Jest to konto bankowe dla wpłat podatku VAT do Urzędu Skarbowego dla płatności dokonywanych z Polski (rachunek prowadzony w walucie EUR). Pole podlega edycji. Numer z tej sekcji pojawia się na płatności do deklaracji VIU-DO.5.2 Lista deklaracji VIU-DO
Po przejściu do menu Rejestry VAT/ Inne/ Deklaracje VIU-DO dostępna jest Lista deklaracji VIU-DO zawierająca kolumny:- Kwartał – kwartał, za który składana jest deklaracja.
- Rok – rok, za który składana jest deklaracja.
- Wersja – wersja formularza deklaracji, zgodnie z którą wyliczona została deklaracja.
- Data obliczenia – data obliczenia deklaracji.
- Kwota – kwota należnego podatku VAT do wpłaty. Kwota prezentowana jest w walucie EUR.
- Status – status określający stan deklaracji (obliczona lub zamknięta).
- e-Deklaracje – informacje dotyczące statusu e-Deklaracji.
- Data wysłania – data wysłania deklaracji do systemu e-Deklaracje.






5.3 Dodanie deklaracji VIU-DO
Po naciśnięciu przycisku

Dodawanie deklaracji VIU-DO
Po wybraniu kwartału i roku i naciśnięciu przycisku Utwórz deklarację
5.4 Formularz deklaracji VIU-DO
Formularz deklaracji VIU-DO otwierany jest w aplikacji Comarch Deklaracje Podatkowe. Z programu Comarch ERP Optima przenoszone są następujące dane:- NIP podatnika – nie podlega edycji na formularzu deklaracji.
- Rok i kwartał, za jaki liczona jest deklaracja – nie podlega edycji na formularzu deklaracji.
- Urząd Skarbowy, do którego adresowana jest deklaracja – nie podlega edycji na formularzu deklaracji.
- Rodzaj podatnika (osoba fizyczna lub podmiot niebędący osobą fizyczną) – podlega edycji na formularzu deklaracji.
- Pełna nazwa firmy lub nazwisko i imię dla osoby fizycznej – podlega edycji na formularzu deklaracji.
- Dane z dokumentów wprowadzonych do rejestru VAT sprzedaży: kraj, stawki VAT, oznaczenie stawki (podstawowa lub obniżona), rodzaj dostaw (dostawa towarów lub świadczenie usług), podstawa opodatkowania wg danej stawki VAT oraz kwota podatku wg danej stawki VAT – podlegają edycji na formularzu deklaracji.


5.5 Kwalifikowanie dokumentów do sekcji dotyczącej korekt
Jeżeli na dokumencie w rejestrze VAT sprzedaży z rodzajem transakcji Procedura OSS data sprzedaży należy do poprzedniego kwartału i za ten okres deklaracja VIU-DO została naliczona i wysłana do systemu e-Deklaracje to w polu Rozliczam podatek w OSS domyślnie ustawia się bieżący kwartał. Jeżeli data sprzedaży dokumentu należy do kwartału wcześniejszego niż poprzedni to w polu Rozliczam podatek w OSS domyślnie ustawia się bieżący kwartał. W przypadku dokumentu dodanego w walucie innej niż EUR w polu Data kursu domyślnie ustawiany jest ostatni dzień kwartału do którego należy data sprzedaży.5.6 Księgowanie deklaracji VIU-DO
Jeżeli pobrano moduł Księga Handlowa lub Księga Handlowa Plus oraz jako rodzaj księgowości wskazano Księgowość kontową to Użytkownik ma możliwość zaksięgowania kwot z deklaracji VIU-DO z poziomu Rejestry VAT/ Inne/ Deklaracje VIU-DO. Deklaracja podlega księgowaniu po odebraniu poprawnego UPO. W schematach księgowych o typie Deklaracje w polu Kwota dostępne jest makro @VIUDODoZaplaty, które umożliwia księgowanie kwoty należnego podatku VAT do wpłaty. Podczas księgowania kwoty podatku, która jest zawsze wyrażona w EUR, następuje jej przeliczenie po średnim kursie NBP z dnia odebrania UPO. W przypadku braku notowania na ten dzień, księgowanie następuje według Kursu ręcznego z notowaniem 1=1. Księgowane kwoty w walucie EUR i po przeliczeniu na PLN są zgodne z kwotami widocznymi na płatności utworzonej do deklaracji VIU-DO. Użytkownik może zmienić kurs na płatności i zaksięgować według innego niż proponowany, wtedy zmieniana jest wartość w przeliczeniu na PLN, kwota w EUR pozostaje bez zmian. W schematach księgowych o typie Deklaracje w pozycji schematu dostępny jest parametr Księgowanie walutowe, umożliwiający księgowanie deklaracji w walucie obcej. Makro @Dokument dostępne w polu Opis (w nagłówku schematu oraz w elemencie schematu) w przypadku księgowania deklaracji VIU-DO generuje opis: DEK/Miesiąc/Rok/VIUDO. Deklaracja VIU-DO jest księgowana z datą ostatniego dnia miesiąca po kwartale, za który została złożona, za wyjątkiem wskazania jako daty księgowania opcji Data bieżąca. Z poziomu listy deklaracji VIU-DO istnieje możliwość dodawania predekretacji, pod przyciskiem
Księgowość
OPT039 Internetowa Wymiana Danych z Klientem Comarch ERP XT / Comarch Moje BR
Data aktualizacji: 19-09-2023
Jak uruchomić Internetową Wymianę Dokumentów?
Krok 1 – Zarejestruj biuro na portalu iksiegowosc24.pl i skonfiguruj program Comarch ERP Optima do internetowej wymiany dokumentów
Biuro Rachunkowe, które chce wymieniać dokumenty ze swoimi Klientami rejestruje się na stronie: https://www.iksiegowosc24.pl/rejestracja wybierając dowolny pakiet iKsięgowość24. Po rejestracji w Comarch ERP Optima w menu Start/Konfiguracja/ Program/ Ogólne/ Internetowa Wymiana Dokumentów należy zaznaczyć parametr Aktywuj wymianę danych przez serwer Comarch i uzupełnić wymagane pola:- Numer Klienta (ID) – numer identyfikacyjny Comarch Biura Rachunkowego (widoczny na certyfikacie rejestracji oprogramowania),
- PIN – numer PIN Biura Rachunkowego (widoczny na certyfikacie rejestracji oprogramowania),
- Ustaw hasło – pole uzupełniamy dowolnym własnym hasłem. Hasło należy zapamiętać, ponieważ będzie wymagane przy jakiejkolwiek zmianie ustawień konta na serwerze Comarch,
- Potwierdź hasło.
Krok 2 – Poproś Klienta aby utworzył konto w aplikacji Comarch ERP XT lub Comarch Moje BR
Klient, jeśli chce wymieniać dokumenty z biurem to powinien utworzyć konto do prowadzenia swojej firmy w aplikacji Comarch ERP XT lub Comarch Moje BR. Do wykonania kolejnych kroków Biuro Rachunkowe będzie potrzebować adresu e-mail, na który utworzono konto oraz NIP Klienta.Krok 3 – Dodaj Klienta w programie i rozpocznijcie elektroniczną wyminę dokumentów
W sekcji iKsięgowość24 po kliknięciu w ikonkę Klienci biura

Jak wysyłać i odbierać dokumenty?
Wymiana dokumentów w Comarch ERP XT
Klient pracujący na Comarch ERP XT w dowolnym momencie (np. po zakończeniu miesiąca) przesyła dokumenty do Biura Rachunkowego przyciskiem Wyślij dane do księgowego, który znajduje się na pulpicie aplikacji. W oknie wysyłki Klient wskazuje okres, z którego zostaną przekazane dokumenty. Może również skorzystać z dodatkowej opcji ponownego wysłania wszystkich dokumentów, gdyby pojawiła się taka potrzeba. Szczegółowy opis dostępny Tutaj.
Wymiana dokumentów w Comarch Moje BR
Klient pracujący na Comarch Moje BR na pulpicie swojej aplikacji przed wysyłką pierwszego dokumentu otrzyma komunikat o konieczności potwierdzenia współpracy z Biurem Rachunkowym. Więcej informacji o tym jak rozpocząć współpracę z biurem rachunkowym znajduje się Tutaj.
- faktury sprzedaży, które zostały zatwierdzone przez Klienta,
- dokumenty kosztowe, które zostały wprowadzone do aplikacji i wysłane przez Klienta.
Szczegółowy opis informacji o podatkach i opłatach, jakie Klient może odbierać z Biura Rachunkowego, znajduje się tutaj .
Wymiana dokumentów w Comarch ERP Optima
Wysyłanie i odbieranie dokumentów przez Klienta możliwe jest po aktywowaniu przez niego konta Internetowej Wymiany Dokumentów. Klient loguje się u siebie w programie Comarch ERP Optima i w menu Start/Konfiguracja/ Program/ Ogólne/ Internetowa Wymiana Dokumentów na zakładce Konfiguracja zaznacza Aktywuj wymianę danych przez serwer Comarch. Następnie na oknie Podaj dane uzupełnia pola:- Numer Klienta (ID) – numer ewidencyjny Comarch (widoczny na certyfikacie rejestracji oprogramowania),
- PIN – numer PIN klienta (widoczny na certyfikacie rejestracji oprogramowania),
- Ustaw hasło – pole uzupełnia dowolnym własnym hasłem. Hasło należy zapamiętać, ponieważ będzie wymagane przy jakiejkolwiek zmianie ustawień konta do Internetowej Wymiany Dokumentów.
- Potwierdź hasło.
Wysyłka/ Odbiór dokumentów w Biurze rachunkowym
- Płatności do deklaracji będą zawierały informacje o podatku VAT, PIT i składkach ZUS.
- Faktury za usługi księgowe będą eksportowały dokumenty z rejestru zakupu VAT, które mają przypisany atrybut FAKTURA ZA USŁUGI BR z wartością „Tak”.

FAQ - najczęściej zadawane pytania
Co to jest Internetowa Wymiana Dokumentów?
Internetowa Wymiana Dokumentów to model współpracy pomiędzy Biurem rachunkowym a jego Klientem. Klient Biura może pracować na programie Comarch ERP XT, Comarch Moje BR lub Comarch ERP Optima. Biuro Rachunkowe pracuje natomiast na rozwiązaniu Comarch ERP Optima w wersji dla Biur Rachunkowych. Współpraca polega na tym, że Klient wysyła zaszyfrowane i podpisane dokumenty. Wymiana odbywa się elektronicznie poprzez Internet. Dokumenty w postaci zaszyfrowanej paczki trafiają na serwery Comarch skąd Biuro rachunkowe również przez Internet odbiera je i wczytuje do bazy. Biuro może również przesyłać dane do bazy Klienta.W jaki sposób zabezpieczone są przesyłane dane?
Główne cechy zastosowanego rozwiązania:- bezpieczeństwo danych – system został tak zaprojektowany, aby zapewnić jak największe bezpieczeństwo przesyłanych danych,
- poufność danych – uzyskiwana jest dzięki podwójnemu systemowi szyfrowania (paczki danych są szyfrowane/deszyfrowane asymetrycznie parą kluczy RSA oraz przesyłane szyfrowanym kluczem symetrycznym protokołem opartym o TLS 1.2 / SSL 3.0),
- integralność danych – jest zapewniona dzięki zastosowaniu podpisu elektronicznego (paczki są podpisywane kluczem prywatnym strony wysyłającej) i strona odbierająca ma pewność, że dane nie zostały zmodyfikowane,
- zabezpieczenia serwera – (takie jak wymuszanie haseł, czy szyfrowanie całej transmisji uniemożliwiające przechwycenie hasła) uniemożliwiają nieautoryzowane usuwanie danych z serwera oraz wysyłanie na serwer.
Nie można dokonać autoryzacji na serwerze Comarch.

Konto o ID [ID Klienta] nie istnieje.

- nie ma konta lub nie został zgłoszony do Internetowej Wymiany Dokumentów
- nie aktywował konta IWD na swojej instalacji programu (dotyczy klientów pracujących w programie Comarch ERP Optima)
Błąd przy imporcie paczki. Wiadomość została zaszyfrowana innym kluczem niż aktualnie posiadany. Usuń oczekujące paczki i wyślij je ponownie.

Konto Klienta Comarch ERP XT pracuje w trybie testowym
Sprawdź, co może być powodem na stronie https://pomoc.erpxt.pl/dokumentacja/komunikat-o-koncie-testowym-dla-uzytkownika-iwd/Konfiguracja wymiany z Klientem jest niekompletna. Wymagane jest uzupełnienie zgłoszenia Klienta do Internetowej Wymiany Dokumentów. Czy chcesz to zrobić teraz?

OPT043 Zaawansowane schematy księgowe
Data aktualizacji: 01-07-2022
1. Jakich operatorów logicznych mogę używać w warunku w schemacie księgowym?
Warunek wpisany w schemacie księgowym jest „tłumaczony” na zapytanie SQL poprzez zastąpienie makr (symboli zaczynających się od znaku @) na odwołanie do kolumn bądź funkcji serwerowych. Poszczególne odwołania można łączyć zgodnie z syntaktyką T-SQL – dotyczy to zarówno operatorów porównania (=, >, <, <>, LIKE) jak i operatorów łączących wyrażenia (AND, OR). Dodatkowo możliwe jest używanie funkcji serwerowych. Przykładowo poprawny jest warunek@KategoriaElem LIKE 'POZOST%' OR @KategoriaNag = 'SPR' AND SUBSTRING(@KategoriaElem, 5, 3)= 'TOW'
2. Jak sobie poradzić gdy długi warunek, zawierający wiele kategorii, nie mieści się w schemacie?
W warunku zamiast wersji dłuższej np.@KodPodmiotu='ALA' AND ( @KategoriaElem='MATERIAŁY' OR @KategoriaElem='TOWARY' OR @KategoriaElem='INNE')
można użyć operatora serwerowego IN: @KodPodmiotu='ALA' AND @KategoriaElem IN ('MATERIAŁY', 'TOWARY', 'INNE')
3. Czy księgując Fakturę Sprzedaży, można na konto pozabilansowe zaksięgować ilość sprzedanego towaru?
Ilość towaru jest zapisana w tabeli TraElem, żeby zaksięgować liczbę, która znajduje się w tabeli, ale nie istnieje odpowiadające jej makro (tzn. nie można wybrać np. @Ilosc), trzeba w schemacie księgowym odwołać się bezpośrednio do nazwy pola w tabeli. Żeby na jakimś koncie pozabilansowym wyksięgować z faktury ilość sprzedanego towaru, w polu Kwota należy odwołać się do pola TrE_Ilosc. Ze względu jednak na optymalizację parsera analizującego schemat księgowy i "tłumaczącego" go na zapytanie SQL konieczne jest użycie w definicji kwoty przynajmniej jednego makra (tzn. pola zaczynającego się od '@') lub definicja musi rozpoczynać się od znaku apostrofu (‘). Dodatkowo trzeba „zmusić” automat księgujący, żeby użył tabeli TraElem (automat księgujący nie wie, że TrE_Ilosc jest kolumną w tabeli TraElem, więc nie użyje jej automatycznie). W tym celu w definicji kwoty można wpisać np. @PozNetto - @PozNetto + TrE_Ilosc @PozNetto - @PozNetto i tak dadzą w wyniku 0. Makro @PozNetto odwołuje się do pozycji faktury (a więc do tabeli TraElem), więc mamy pewność, że zapytanie zostanie zbudowane poprawnie. Drugą możliwością jest wpisanie:'0' + TrE_Ilosc
’0’ zostanie automatycznie przekonwertowane na liczbę 0 i nie zaburzy wyniku. W tym przypadku trzeba jeszcze „zmusić” automat księgujący, żeby użył tabeli TraElem. W tym celu w pozycji schematu księgowego należy użyć jakiegokolwiek parametru bądź makra odwołującego się do pozycji faktury, np.:
- zaznaczyć Podział na kategorie
- lub Podział na słowniki – Towary
- lub w opisie (bądź w warunku) odwołać się do kategorii pozycji (@KategoriaElem lub @KategoriaOgolnaElem) lub do towaru (@NazwaTowaru)
4. Czy księgując Fakturę Sprzedaży w opisie pozycji dekretu mogę umieścić informację o stawce VAT, jakiej dotyczyła dana pozycja?
Tak, w przypadku opisu jest podobnie jak w przypadku kwoty - można odwołać się do pola (pól) z tabeli, z zastrzeżeniem, co do użycia co najmniej jednego makra i wymuszenia użycia tabeli TraElem. W definicji kwoty używamy np. makra @PozNetto (ponieważ @PozNetto jest to wartość netto, pozycji faktury, to automatycznie mamy zapewnione, że zostanie użyta tabela TraElem) Informacja o stawce Vat jest zapisywana w polach:- TrE_Flaga – mówi o tym, czy jest to stawka zwykła (2), zaniżona (3), zwolniona (1), czy nie podlega (4)
- TrE_Stawka – zawiera wysokość stawki Vat
@NumerPelny + ': stawka Vat ' + Case TrE_Flaga When 1 Then 'ZW' When 4 Then 'NP' Else STR(TrE_Stawka,5,2) End
Spowoduje to wstawienie w dekrecie w polu Opis numeru dokumentu uzupełnionego o stawkę Vat - oczywiście zostanie wygenerowanych tyle pozycji, ile różnych stawek Vat jest na dokumencie.
5. Czy w schemacie księgowym Faktury Sprzedaży mogę w warunku użyć grupy, do której należy sprzedany towar?
Grupa towarowa znajduje się w tabeli Towary (pole Twr_Grupa) – przy czym nie możemy odwołać się do pola Twr_Grupa w taki sposób jak to opisywano poprzednio, ponieważ obecnie żadne makro nie odwołuje się do tabeli Towary (a więc nie ma możliwości w schemacie księgowym połączenia się z tą tabelą). Możemy to natomiast zrobić za pomocą funkcji serwerowej. W tym celu tworzymy funkcję MojaFunkcja_GrupaTowaru – należy poniższy skrypt wykonać za pomocą Query Analyzera lub OSQL-a. Jeżeli teraz chcemy zaksięgować warunkowo sprzedaż towarów z grupy 'AKCESORIA', w warunku wpisujemy wyrażenie:'AKCESORIA' = dbo.MojaFunkcja_GrupaTowaru (TrE_TwrId)
Oczywiście funkcje mogą być znacznie bardziej skomplikowane, można ich używać zarówno w definicjach warunków, opisów jak i kwot (w ostatnim przypadku funkcja powinna zwracać typ NUMERIC). Podobnie jak w przypadku używania pól z tabel, używając funkcji należy pamiętać o tym, żeby wyrażenie zawierało co najmniej jedno makro, lub zaczynało się od znaku ' (apostrof).
If Exists ( Select * From sysobjects Where name = 'MojaFunkcja_GrupaTowaru' And xtype='FN') Drop Function dbo.MojaFunkcja_GrupaTowaru GO create Function dbo.MojaFunkcja_GrupaTowaru (@TwrId INT) Returns VarChar(20) As Begin Declare @Grupa VarChar(20) select @grupa = twg_kod from cdn.twrgrupy join cdn.towary on twr_twggidnumer = twg_gidnumer AND twg_gidtyp = -16 where twr_twrid = @twrid Return @Grupa End
If Exists ( Select * From sysobjects Where name = 'MojaFunkcja_GrupaTowaru' And xtype='FN' ) Drop Function dbo.MojaFunkcja_GrupaTowaru GO create Function dbo.MojaFunkcja_GrupaTowaru (@TwrId INT) Returns VarChar(20) As Begin Declare @Grupa VarChar(20) select @grupa = A.twg_kod from cdn.twrgrupy A join cdn.twrgrupy B on A.twg_gidnumer = B.twg_gronumer join cdn.towary C on C.twr_twggidnumer = B.twg_gidnumer AND C.twr_twggidnumer <> A.twg_gidnumer where B.twg_gidtyp = -16 and A.twg_gidtyp <> 16 and c. twr_twrid = @twrid Return @Grupa End
6. Czy w schemacie księgowym mogę ustawić warunek na sprawdzanie istnienia lub nie kwot dodatkowych na dokumencie?
Można w warunku sprawdzić, czy istnieją kwoty dodatkowe, z tym, że korzystamy tu z pewnych funkcji pozastandardowych. Niestety już w kilku przypadkach okazało się, że korzystanie z tego typu funkcji po zmianie wersji Comarch ERP Optima wymagało drobnych korekt w schematach księgowych. Raporty kasowe/bankowe Jeśli chcemy zaksięgować dokument, na którym NIE ISTNIEJĄ podpięte kwoty dodatkowe, w warunku należy wpisać:'1'='1' AND NOT EXISTS (Select * FROM CDN.KwotyDodatkowe Where KDD_DokumentTyp=14 And KDD_DokumentId=BZp_BZpId)
Jeśli chcemy zaksięgować dokument, na którym ISTNIEJĄ podpięte kwoty dodatkowe (przy czym chodzi o księgowanie kwot przychód/rozchód, a nie kwot dodatkowych), w warunku należy wpisać: '1'='1' AND EXISTS (Select * FROM CDN.KwotyDodatkowe Where KDD_DokumentTyp=14 And KDD_DokumentId=BZp_BZpId)
Rejestry VAT Jeśli chcemy zaksięgować dokument, na którym NIE ISTNIEJĄ podpięte kwoty dodatkowe, w warunku należy wpisać: '1'='1' AND NOT EXISTS (Select * FROM CDN.KwotyDodatkowe Where KDD_DokumentTyp=2 And KDD_DokumentId=van_vanId)
Jeśli chcemy zaksięgować dokument, na którym ISTNIEJĄ podpięte kwoty dodatkowe, w warunku należy wpisać: '1'='1' AND EXISTS (Select * FROM CDN.KwotyDodatkowe Where KDD_DokumentTyp=2 And KDD_DokumentId=van_vanId)
7. Czy w schemacie do zaksięgowania listy płac można zastosować warunek do zaksięgowania wszystkich zasiłków w jednej kwocie (zasiłku rodzinnego, pielęgnacyjny, chorobowy...)?
Przy tworzeniu warunku można skorzystać z makra:@TypWyplaty LIKE 'zas%'
8. W poniższym schemacie księgowania dokumentu PZ z ewidencji dodatkowej występuję błąd księgowania: dokument niezbilansowany. Różnica 0,01 zł wynika z zaokrągleń. Jak sobie z nimi poradzić?
Schemat pierwotny:Konto Wn | Konto Ma | Kwota | Opis |
---|---|---|---|
zwykłe1 | (@RazemKwota+@RazemKwota*0.32)*1.23 | cena brutto z marżą i VAT | |
zwykłe2 | @RazemKwota | cena netto | |
zwykłe3 | @RazemKwota*0.32 | marża | |
zwykłe4 | (@RazemKwota+@RazemKwota*0.32)*0.23 | VAT |
Kwota na dokumencie: 1669,06 zł. (@RazemKwota)
Rozwiązania są dwa: 1.Zastosować w schemacie podwójne dekrety:Konto Wn | Konto Ma | Kwota | Opis |
---|---|---|---|
zwykłe1 | zwykłe2 | @RazemKwota | cena netto |
zwykłe1 | zwykłe3 | @RazemKwota*0.32 | marża |
zwykłe1 | zwykłe4 | (@RazemKwota+@RazemKwota*0.32)*0.23 | VAT |
2. Zastosować następujące makra w schematach:
Konto Wn | Konto Ma | Kwota | Opis |
---|---|---|---|
zwykłe1 | ROUND(@RazemKwota*1.32,2)*1.23 | cena bto z marżą i VAT | |
zwykłe2 | @RazemKwota | cena netto | |
zwykłe3 | @RazemKwota*0.32 | marża | |
zwykłe4 | ROUND(@RazemKwota*1.32,2)*0.23 | VAT |
9. Jak można zaksięgować wartość zakupu z rej. VAT przeniesioną za pomocą pliku COMMA?
Należy w pozycji Kwota wpisać:'0'+VaN_WartoscZak
10. Jak można podczas księgowania faktury sprzedaży odwołać się do wartości zakupu dla całego dokumentu?
Należy na pozycji schematu księgowego w polu Kwota wpisać:'0'+TrN_WartoscZakupu
11. Jak uzależnić księgowanie dokumentów z ewidencji dodatkowej na poszczególne konta od symbolu użytego w schemacie numeracji?
W przypadku Ewidencji dodatkowej przychodów można użyć w warunku wyrażenia:@Dokument LIKE '%EDP%'
co oznacza, że na konto zostanie zaksięgowany dokument, który ma w schemacie numeracji ciąg znaków EDP (np. EDP/000001/2003). W przypadku Ewidencji dodatkowej kosztów można użyć w warunku wyrażenia: '1'='1' AND EDN_NumerPelny LIKE 'EDK%'
Różnica wynika z faktu, że w Ewidencji dodatkowej kosztów, na formatce zapisu są dwa numery: numer nadawany przez program i numer obcy. Makro @Dokument w tym przypadku pobiera numer nadawany przez program jeżeli numer obcy nie jest wypełniony. Jeżeli w warunku jest użyte jakieś makro to wystarczy dodać: AND EDN_NumerPelny LIKE 'EDK%'
Patrz też pytania nr:
12. Jak uzależnić księgowanie poszczególnych KP/KW w raporcie kasowym od rodzaju podmiotu (dostawca, odbiorca, konkurencja, partner)?
W warunku schematu należy użyć wyrażenia:'1'='1' AND EXISTS (Select * FROM CDN.Kontrahenci Where Knt_KntId=BZp_PodmiotID AND Knt_Rodzaj_Odbiorca='1')
Wówczas program zaksięguje na podane konta określoną kwotę, jeżeli kontrahent wybrany na KP/KW będzie odbiorcą. Dla dostawcy należy zmienić w powyższym wyrażeniu nazwę pola na Knt_Rodzaj_Dostawca, dla konkurencji na Knt_Rodzaj_Konkurencja, dla partnera na Knt_Rodzaj_Partner, natomiast dla klienta potencjalnego na Knt_Rodzaj_Potencjalny.
13. Jak stworzyć warunek dla zaksięgowania na osobne konta kwot netto: towarów i usług?
Taki warunek można stworzyć w schematach dla Faktur sprzedaży i Faktur zakupu (księgowań z modułu Faktury – ewentualnie księgowań innych dokumentów z modułu Faktury lub Magazyn). Trzeba wybrać księgowanie kwoty @PozNetto (lub @PozBrutto) i w warunku dopisać:-
-
- Dla usługi (prostej lub złożonej):
-
'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=0)
-
-
- Dla usługi prostej:
-
'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=0 And Twr_Produkt=0)
-
-
- Dla usługi złożonej:
-
'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=0 And Twr_Produkt=1)
-
-
- Dla towaru (prostego lub złożonego):
-
'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=1)
-
-
- Dla towaru prostego:
-
'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=1 And Twr_Produkt=0)
-
-
- Dla towaru złożonego:
-
'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=1 And Twr_Produkt=1)
14. Jakiego wyrażenia należy użyć w warunku pozycji schematu księgowego aby uzależnić księgowanie od grupy, do której należy kontrahent wybrany na fakturze w rejestrze VAT?
'1'='1' AND EXISTS (SELECT* FROM CDN.Kontrahenci where Knt_KntId=VaN_PodID AND VaN_PodmiotTyp = 1 AND Knt_Grupa='DOST')
Podana w schemacie kwota, zostanie zaksięgowana na zadane konta jeżeli kontrahent wybrany na fakturze należy do grupy 'DOST'. W schematach księgowych dla księgowania faktur z modułu Faktury warunek powinien być następujący: '1'='1' AND EXISTS (SELECT* FROM CDN.Kontrahenci where Knt_KntId=TrN_PodID AND TrN_PodmiotTyp = 1 AND Knt_Grupa='DOST')
15. Jak uzależnić księgowanie VAT-u z Rejestru VAT na dane konto od tego czy dokument jest rozliczony w danym miesiącu?
Warunek czy dokument jest w ogóle nierozliczony:'1'='1' AND EXISTS (Select * FROM CDN.BnkZdarzenia WHERE BZd_DokumentTyp = 2 And BZd_DokumentId = VaN_VaNId AND BZd_Rozliczono<2)
Poniżej warunek sprawdzający przy założeniu, że dla dokumentu jest tylko jedna płatność, czyli płatność na dokumencie nie została podzielona na raty (ale mogła być rozliczana "na raty"). Dokument jest nierozliczony lub został rozliczony w innym miesiącu niż data dokumentu: '1'='1' AND EXISTS (Select * FROM CDN.BnkZdarzenia WHERE BZd_DokumentTyp = 2 And BZd_DokumentId = VaN_VaNId AND (BZd_Rozliczono<2 OR 100 * YEAR(BZd_DataRoz) + MONTH(BZd_DataRoz) <> VaN_RokMies))
Dokument został rozliczony w tym miesiącu, co data dokumentu: '1'='1' AND NOT EXISTS (Select * FROM CDN.BnkZdarzenia WHERE BZd_DokumentTyp = 2 And BZd_DokumentId = VaN_VaNId AND (BZd_Rozliczono<2 OR 100 * YEAR(BZd_DataRoz) + MONTH(BZd_DataRoz) <> VaN_RokMies))
16. Jak uzależnić księgowanie VAT-u z Rejestru VAT na dane konto od tego, w którym miesiącu dokument trafi na deklarację VAT-7?
Aby zaksięgować VAT na zadane konto, jeżeli data deklaracji VAT-7 to 10.2018 należy w warunku użyć wyrażenia:'1'='1' AND VaN_DeklRokMies='201810'
Aby zaksięgować na zadane konto, podaną kwotę, jeżeli data deklaracji VAT-7 jest różna od daty rejestru. Czyli mając wyświetloną na ekranie listę faktur za miesiąc 10.2018, program zaksięguje te, które mają datę deklaracji inną niż 10.2018 np. 11.2018. '1'='1' AND Van_RokMies<>Van_DeklRokMies
I dla równowagi, warunek gdy data deklaracji jest równa dacie rejestru: '1'='1' AND Van_RokMies=Van_DeklRokMies
Aby zaksięgować na zadane konto, podaną kwotę, jeżeli data deklaracji VAT-7 jest różna od daty zakupu faktury zakupu: '1'='1' AND (100 * YEAR(VaN_DataOpe) + MONTH(VaN_DataOpe)) <> Van_DeklRokMies
Aby zaksięgować na zadane konto, podaną kwotę, jeżeli data deklaracji VAT-7 jest różna od daty wystawienia faktury zakupu: '1'='1' AND (100 * YEAR(VaN_DataWys) + MONTH(VaN_DataWys)) <> Van_DeklRokMies
Dla metody kasowej: '1'='1' AND Exists (Select * From CDN.VatTab7 Where Va7_VaNID=VaN_VaNID And (VAN_RokMies <> Va7_RokMiesiac or (100*Year (VaN_DataOpe) + month (VaN_DataOpe)) <> Va7_RokMiesiac))
17. Jak zaksięgować dokument RWS na konta analityczne w oparciu o grupy towarów?
Kwota netto ma zostać zaksięgowana na konto 311 (niesłownikowe) z podziałem na analityki w oparciu o grupy towarowe, np.: 311-01 - AKCESORIA 311-02 - ROŚLINY 311-03 – SPRZĘT W schemacie księgowym należy utworzyć trzy pozycje z poniższymi odpowiednio warunkami: Pozycja 1:'1'='1' And Exists (Select * From CDN.Towary JOIN CDN.TwRGrupy on TwR_TwGGIDNumer=TwG_GIDNumer and TwG_GIDTyp=-16 Where Twr_TwrId = TrE_TwrId And TwG_Kod = 'AKCESORIA')
Pozycja 2: '1'='1' And Exists (Select * From CDN.Towary JOIN CDN.TwRGrupy on TwR_TwGGIDNumer=TwG_GIDNumer and TwG_GIDTyp=-16 Where Twr_TwrId = TrE_TwrId And TwG_Kod = 'ROŚLINY')
Pozycja 3: '1'='1' And Exists (Select * From CDN.Towary JOIN CDN.TwRGrupy on TwR_TwGGIDNumer=TwG_GIDNumer and TwG_GIDTyp=-16 Where Twr_TwrId = TrE_TwrId And TwG_Kod = 'SPRZĘT')
Można jeszcze skorzystać z innej, prostszej możliwości zaksięgowania. Gdyby 311 było kontem słownikowym (z podpiętym słownikiem Towary i podziałem na grupy), to takiego księgowania można dokonać automatem, zaznaczając w poszczególnych pozycjach schematu - Podział na słowniki: Towary. W takiej sytuacji do analityki konta 311-01 - AKCESORIA będą podpięte subanalityki dla poszczególnych towarów.
18. Jak zaksięgować dokument RWS na konta analityczne w zależności od tego do jakiej grupy towarowej należy towar złożony wybrany na dokumencie PWS?
Sytuacja wygląda następująco:Dokument: Kompletacja – Przyjęcia produktów | Dokument: Kompletacja – Rozchody składników |
---|---|
Towar złożony należący do GRUPA1 | Towar1 – należy do GRUPA2 Towar2 – należy do GRUPA3 |
'1'='1' AND EXISTS ( SELECT * FROM CDN.TraElem B JOIN CDN.Towary C ON B.TrE_TwrId = C.Twr_TwrId JOIN CDN.TwRGrupy D on C.TwR_TwGGIDNumer=D.TwG_GIDNumer and D.TwG_GIDTyp=-16 WHERE B.TrE_TrEId = CDN.TraElem.TrE_TrEIdProd AND D.TwG_Kod = 'GRUPA1' )
Jeżeli grup jest więcej i każda księgowana jest na inne konto analityczne – należy stworzyć osobną pozycję w schemacie dla każdej z nich. Jeżeli na podane konto chcemy księgować określoną kwotę w sytuacji gdy grupa do jakiej należy towar złożony wybrany na PWP to GRUPA1 i jednocześnie towar na dokumencie RWS należy do grupy GRUPA2 to warunek powinien wyglądać następująco: '1'='1' And Exists (Select * From CDN.Towary JOIN CDN.TwRGrupy on TwR_TwGGIDNumer=TwG_GIDNumer and TwG_GIDTyp=-16 Where Twr_TwrId = TrE_TwrId And TwG_Kod = 'GRUPA2') AND EXISTS ( SELECT * FROM CDN.TraElem B JOIN CDN.Towary C ON B.TrE_TwrId = C.Twr_TwrId JOIN CDN.TwRGrupy D on C.TwR_TwGGIDNumer=D.TwG_GIDNumer and D.TwG_GIDTyp=-16 WHERE B.TrE_TrEId = CDN.TraElem.TrE_TrEIdProd AND D.TwG_Kod = 'GRUPA1' )
19. Jak w opisie dekretu, dla księgowania Rejestru VAT, uzyskać liczbę porządkową faktury oraz rejestr, w którym jest zapisana?
W pozycji schematu dla rejestru VAT, w polu Opis, należy wpisać:@Dokument + ' ' + LTRIM(STR(VaN_Lp)) + ' '+ @Rejestr
Makro @Dokument może zostać zastąpione innym istniejącym makrem – chodzi o to, aby program wiedział do jakiej tabeli ma się odwołać. Ponieważ Liczba porządkowa jest liczbą, SQL nie radzi sobie z dodaniem jej do tekstu. Należy wykonać jawną konwersję danych, np: @Dokument + ' ' + STR(VaN_Lp)
Ponieważ jednak funkcja STR dodaje spacje na początku liczby, więc żeby się ich pozbyć, można zapisać wyrażenie następująco:
@Dokument + ' ' + LTRIM(STR(VaN_Lp))
20. Jak zaksięgować Fakturę Zakupu, żeby w schemacie księgowania w warunku zastosować fragment numeru dokumentu np MAGAZYN i SERIA z numeru FZ/99/MAGAZYN/SERIA?
@NumerPelny LIKE '%MAGAZYN/SERIA%'
Wówczas podana kwota, zostanie zaksięgowana na wskazane konta jeżeli numer faktury będzie zawierał ciąg znaków: ‘MAGAZYN/SERIA’. Warunek może być zastosowany dla faktury sprzedaży i zakupu księgowanych z modułu Faktury. Czy takiego warunku można też użyć przy księgowaniu faktur zakupu z poziomu rejestru VAT? Tak, warunek księgowania powinien wyglądać tak: '1'='1' AND exists (select * from CDN.TraNag where VaN_VaNID=TrN_VaNId AND TrN_NumerPelny LIKE '%MAGAZYN/SERIA%')
Patrz też pytania nr:
21. W jaki sposób, w schemacie księgowania faktury zakupu z rejestrów VAT (pochodzącej z modułu Faktury), umieścić w opisie jej numer pełny (własny)?
Należy zdefiniować funkcję serwerową. Poniżej przykład takiej funkcji:Create Function CDN.MojeFunkcje_Podaj_TrN_NumerPelny (@VaNId Int) Returns VarChar(31) As Begin Declare @Numer VarChar(31) Set @Numer = IsNull((Select Top 1 TrN_NumerPelny From CDN.TraNag Where TrN_VaNId = @VaNId), '') Return @Numer End
Jeżeli chcemy to umieścić w opisie, to musi się znaleźć w "towarzystwie" co najmniej jednego makra, np.: @Dokument + ' ' + CDN.MojeFunkcje_Podaj_TrN_NumerPelny (VaN_VaNId)
22. Jakiego użyć warunku aby zaksięgować fakturę w zależności od terminu płatności?
Dla księgowania faktur z modułu Faktury:'1'='1' AND TrN_Termin BETWEEN Convert(DateTime, '2018-01-01', 120) AND Convert(DateTime, '2018-01-31', 120)
Podana w elemencie schematu kwota, zostanie zaksięgowana na zadane konta jeżeli termin płatności faktury będzie zawierał się między 2018-01-01 a 2018-01-31. Dla księgowania faktur z Rejestrów VAT:
'1'='1' AND VaN_Termin BETWEEN Convert(DateTime, '2018-01-01', 120) AND Convert(DateTime, '2018-01-31', 120)
23. Jak w schemacie księgowania podzielić wynagrodzenia wg wydziałów przy czym na jedną listę wchodzą pracownicy z kilku wydziałów?
W warunku należy wpisać: '1'='1' and Exists (Select * From CDN.PracEtaty Where WPL_PraId = PRE_PraId AND WPL_DataDok Between PRE_DataOd And PRE_DataDo And CDN.DzialSciezka(PRE_DZLId) = 'FIRMA\WYDZIAŁ1\PODWYDZIAŁ1')
WYDZIAŁ1 to nazwa wydziału w którego skład wchodzi PODWYDZIAŁ1. Pracownik ma podpięty na karcie PODWYDZIAŁ1.
24. Jak w schemacie do księgowania listy płac rozksięgować składkę na FP i FGŚP z podziałem na wydziały (składkę wyliczoną i zsumowaną dla każdego z pracowników danego wydziału)?
Wartości FP i FGŚP obliczone dla składników wynagrodzeń poszczególnych pracowników, są umieszczone w tabeli CDN.WypElementy w polach: WPE_SklFP i WPE_SklFGSP. Do ww. tabeli odwołuje się np. makro kwoty @Brutto. Aby zaksięgować kwotę FP i FGŚP obliczoną dla poszczególnych pracowników przypisanych do konkretnego wydziału, należy w elemencie schematu, w polu Kwota, użyć wyrażenia: Dla księgowania FP:@Brutto - @Brutto + WPE_SklFP
Dla księgowania FGŚP: @Brutto - @Brutto + WPE_SklFGSP
W warunku należy użyć wyrażenia dotyczącego Wydziału (@Wydzial) lub opisanego w pytaniu 30. Jak w schemacie księgowania podzielić wynagrodzenia wg wydziałów przy czym na jedną listę wchodzą pracownicy z kilku wydziałów?
25. Jak zaksięgować KP/KW w zależności od tego czy termin płatności, na fakturze, która jest rozliczona z płatnością, jest różny od daty wystawienia dokumentu i forma płatności to gotówka?
W warunku można użyć następującego wyrażenia:'1'='1' AND exists ( select * from CDN.BnkRozRelacje join CDN.BnkZdarzenia on BRR_DDokID = BZd_BZdID AND BRR_DDokTyp=1 join CDN.FormyPlatnosci on BZd_FPlId = FPl_FPlId where BZp_BZpID=BRR_ZDokID AND BRR_ZDokTyp=2 AND BZd_Termin<>BZd_DataDok AND BZd_DokumentTyp IN (1,2) AND FPl_Typ=1)
Warunek sprawdza daty i formę płatności zdarzenia w Preliminarzu. Uwzględnia więc sytuację, w której płatność do faktury została podzielona na raty. Natomiast w sytuacji gdy jest jedna płatność, która rozlicza kilka faktur i co najmniej jedna z nich spełnia powyższy warunek - KP/KW zostanie zaksięgowane. Pole FPl_Typ=1 oznacza, że typ formy płatności to "gotówka" (takich form zdefiniowanych w programie może być wiele i wszystkie zostaną wzięte pod uwagę). Jeżeli warunek ma dotyczyć tylko konkretnej formy płatności, która ma identyfikator np. 1 to zamiast powyższego należy wpisać: FPl_FPlId=1.
26. Jak w schemacie księgowym dla Rejestru VAT połączyć kwotę dodatkową z kwotą brutto i VAT faktury tak aby schemat nie wykazywał błędu użycia makr różnych typów?
W jednej z firm, program fakturujący oblicza wartości detaliczne danej faktury. Wartość ta jest przenoszona do kwot dodatkowych na fakturze w Rejestrze VAT w Comarch ERP Optima. Z wartości detalicznej brutto należy obliczyć jaka kwota marży przypada na wartość netto i jaka na wartość VAT. Wzór na obliczenie tych kwot wygląda następująco: Kwota marży przypadająca na wartość netto:@KwotaDodat-(@VAT*(@KwotaDodat-@Brutto)/@Brutto)-@Brutto
Kwota marży przypadająca na wartość VAT: @VAT+(@VAT*(@KwotaDodat-@Brutto)/@Brutto
Schemat wygląda następująco: Wn 221 (kwota VAT-u z faktury) 3,06 332 (Kwota dodatkowa) 55,50 Ma 201 (kwota brutto z faktury - konto kontrahenta) 46,81 341 (Kwota marży przypadającej na wartość netto) 8,12 342 (kwota marży przypadającej na wartość VAT) 3,63 Po wprowadzeniu takiej formuły do pozycji schematu, pojawia się komunikat o błędzie połączenia makr z elementów i nagłówka. Problem ten można rozwiązać wykorzystując fakt, że "makra" (symbole kwot zaczynające się od @) są w procesie księgowania "tłumaczone" na nazwy pól w bazie danych. Odpowiednio @VAT odpowiada wartości pola VaN_RazemVAT @Brutto odpowiada wartości pola VaN_RazemBrutto Przy czym w konstrukcji schematu możliwe jest wykorzystanie obok "makr" również nazw pól w bazie. Użycie nazwy pola w bazie skutkuje przy okazji tym, że nie jest ono uwzględniane w sprawdzaniu typów użytych makr. Reasumując – można przygotować schemat:
Konto Wn | Konto Ma | Kwota |
---|---|---|
221 | @Vat | |
332 | @KwotaDodat | |
201 | @Brutto (z podziałem na podmioty) | |
341 | @KwotaDodat - VaN_RazemBrutto - ROUND ( VaN_RazemVAT * ( @KwotaDodat - VaN_RazemBrutto ) / VaN_RazemBrutto, 2 ) | |
342 | VaN_RazemVat + ROUND ( VaN_RazemVAT * ( @KwotaDodat - VaN_RazemBrutto ) / VaN_RazemBrutto, 2 ) |
27. Jak uzależnić księgowanie odpisów amortyzacyjnych od opisu na karcie danego środka trwałego?
Przypadek dotyczył sytuacji gdy klient księgował używając kategorii na konta zespołu „4” i chciał księgować na konta zespołu „5” w zależności od tego czy opis na karcie środka trwałego zawierał dany ciąg znaków. Na karcie środka trwałego są dwa pola opisowe, które można wykorzystać: Opis kategorii (czyli to pole po prawej stronie od Kategorii) i pole Opis. W schemacie można odwołać się do nich w następujący sposób: Dla opisu kategorii na karcie środka w warunku należy wpisać np.:'1'='1' AND EXISTS (Select * from CDN.Trwale where SrT_SrTID=SrH_SrTID and SrT_Kategoria LIKE '%550%')
Dla Opisu na karcie w warunku należy wpisać np.: '1'='1' AND EXISTS (Select * From CDN.Trwale Where SrT_SrTID=SrH_SrTID And SrT_Opis LIKE '%550%')
Warunki oznaczają, że podana kwota zostanie zaksięgowana jeżeli opis zawiera wyrażenie '550'. Aby schemat zadziałał poprawnie w Opisie elementu schematu należy użyć makro, które odwołuje się do karty środka trwałego np. @ST_NrInwent (czyli Numer inwentarzowy).
28 Jak w schemacie dla Rejestrów VAT zdefiniować kwotę, która jest różnicą pomiędzy kwotą dodatkową i kwotą netto faktury?
Dodatkowo istnieje potrzeba wpisania warunku, że jeśli wynik będzie dodatni to kwota ma zostać zaksięgowana na określone konta. Taki warunek można zawrzeć w definicji kwoty:Lp | Konto Wn | Konto Ma | Kwota |
---|---|---|---|
1 | 760 | 340 | CASE WHEN @KwotaDodat > VaN_RazemNetto THEN @KwotaDodat - VaN_RazemNetto ELSE 0 END |
2 | 340 | 760 | CASE WHEN @KwotaDodat < VaN_RazemNetto THEN VaN_RazemNetto - @KwotaDodat ELSE 0 END |
create function cdn.KwotyDW (@VaNId Int) returns Decimal(15,2) as begin declare @wynik Decimal(15,2) select @wynik = Sum(Kdd_Kwota) - VaN_RazemNetto from CDN.KwotyDodatkowe join cdn.vatnag on Kdd_DokumentID=VaN_VaNID where Kdd_DokumentID = @VaNId AND KDD_DokumentTyp=2 group by VaN_RazemNetto having Sum(Kdd_Kwota) > VaN_RazemNetto return IsNull(@wynik,0) end
W schemacie, w polu Kwota należy wpisać: '0' + cdn.KwotyDW(VaN_VaNID) Dla sumy kwot dodatkowych mniejszych: create function cdn.KwotyDM (@VaNId Int) returns Decimal(15,2) as begin declare @wynik Decimal(15,2) select @wynik = VaN_RazemNetto - Sum(Kdd_Kwota) from CDN.KwotyDodatkowe join cdn.vatnag on Kdd_DokumentID=VaN_VaNID where Kdd_DokumentID = @VaNId AND KDD_DokumentTyp=2 group by VaN_RazemNetto having Sum(Kdd_Kwota) < VaN_RazemNetto return IsNull(@wynik,0) end
W schemacie, w polu Kwota należy wpisać: '0' + cdn.KwotyDM(VaN_VaNID)
Warunku w ww. funkcjach nie uwzględniają sytuacji gdy suma kwot dodatkowych jest równa razem netto. Patrz też pytanie nr: 29. Jak w schemacie księgowym uzyskać kwotę, która jest różnicą pomiędzy sumą kwot dodatkowych Wn minus suma kwot dodatkowych Ma, a wartością netto faktury?
29 Jak w schemacie księgowym uzyskać kwotę, która jest różnicą pomiędzy sumą kwot dodatkowych Wn minus suma kwot dodatkowych Ma, a wartością netto faktury?
W celu uzyskania sumy kwot dodatkowych Wn i Ma należy stworzyć funkcję serwerową. Poniżej przykład funkcji: a) dla sumy kwot dodatkowych Wncreate function cdn.SumaKwotyDodWn (@VaNId Int) returns Decimal(15,2) as begin declare @wynik Decimal(15,2) select @wynik = Sum(Kdd_Kwota) from CDN.KwotyDodatkowe where Kdd_DokumentID=@VaNId AND KDD_DokumentTyp=2 AND Kdd_Segment1<>'' return IsNull(@wynik,0) end
Kwotę w schemacie należałoby zapisać jako: '0' + cdn.SumaKwotyDodWn(VaN_VaNID)
b) dla sumy kwot dodatkowych Ma create function cdn.SumaKwotyDodMa (@VaNId Int) returns Decimal(15,2) as begin declare @wynik Decimal(15,2) select @wynik = Sum(Kdd_Kwota) from CDN.KwotyDodatkowe where Kdd_DokumentID=@VaNId AND KDD_DokumentTyp=2 AND Kdd_Segment2<>'' return IsNull(@wynik,0) end
Kwotę w schemacie należałoby zapisać jako: '0' + cdn.SumaKwotyDodMa(VaN_VaNID)
Aby uzyskać następującą kwotę: suma kwot dodatkowych Wn minus suma kwot dodatkowych Ma minus razem netto, jako kwotę w schemacie można wpisać: '0' + (cdn.SumaKwotyDodWn(VaN_VaNID) - cdn.SumaKwotyDodMa(VaN_VaNID)) - VaN_RazemNetto
Patrz też pytanie nr: 28. Jak w schemacie dla Rejestrów VAT zdefiniować kwotę, która jest różnicą pomiędzy kwotą dodatkową i kwotą netto faktury?
30 Jak zaksięgować fakturę (z rejestru VAT lub z modułu FA) w zależności od form płatności przypisanych na zakładce Kontrahent faktury w Rejestrze VAT lub zakładce Płatności na fakturze w module FA)?
Chodzi o przypadek, gdy kwota płatności jest rozbijana na kilka rat lub będzie płacona kilkoma formami płatności np. część gotówką, a pozostała część przelewem. Należy zdefiniować funkcję serwerową. Przykład takiej funkcji (w przypadku księgowania z poziomu rejestrów VAT) poniżej:if exists (select * from sysobjects where name = 'userKwotaFormyPlatnosci' and xtype = 'FN') drop function CDN.userKwotaFormyPlatnosci GO create function CDN.userKwotaFormyPlatnosci (@vanid int, @nazwa varchar(20)) returns numeric (15,2) as begin declare @wynik numeric (15,2) if exists (select * from cdn.vatnag where van_vanid = @vanid and van_trnid is not null) --- to jest przypadek zapisu zaksięgowanego z listy faktur: select @wynik = isnull(sum(bzd_kwotasys),0) from cdn.bnkzdarzenia join cdn.formyplatnosci on bzd_fplid = fpl_fplid join cdn.tranag on bzd_dokumenttyp = 1 and bzd_dokumentid = trn_trnid where fpl_nazwa = @nazwa and trn_vanid = @vanid else --- to jest przypadek zapisu "ręcznego": select @wynik = isnull(sum(bzd_kwotasys),0) from cdn.bnkzdarzenia join cdn.formyplatnosci on bzd_fplid = fpl_fplid where fpl_nazwa = @nazwa and bzd_dokumenttyp = 2 and bzd_dokumentid = @vanid return @wynik end GO
Schemat wyglądałby wówczas np. tak Konto Kwota 201 '0' + CDN.userKwotaFormyPlatnosci (VaN_VaNId, 'PRZELEW')
100 '0' + CDN.userKwotaFormyPlatnosci (VaN_VaNId, 'GOTÓWKA')
W tym wypadku funkcji używamy w kwocie, a nie w warunku. W przypadku księgowania dokumentów z poziomu listy faktur w module Handel/Faktury funkcja wygląda następująco: create function CDN.userKwotaFormyPlatnosciFA (@trnid int, @nazwa varchar(20)) returns numeric (15,2) as begin declare @wynik numeric (15,2) select @wynik = isnull(sum(bzd_kwotasys),0) from cdn.bnkzdarzenia join cdn.formyplatnosci on bzd_fplid = fpl_fplid where fpl_nazwa = @nazwa and bzd_dokumenttyp = 1 and bzd_dokumentid = @trnid return @wynik end
Przykładowe odwołanie do funkcji w polu Kwota schematu: '0' + CDN.userKwotaFormyPlatnosciFA (TrN_TrNId, 'PRZELEW')
31. W Rejestrze VAT wybieram na dokumencie kategorię szczegółową ale chciałbym rozksięgować dokument na konto przypisane do kategorii ogólnej, czy jest to możliwe?
Jest to możliwe. Należy stworzyć funkcję serwerową, która odczyta segment konta z kategorii ogólnej np. mamy kategorię ogólną ENERGIA, która ma jako segment Wn konta wybrane konto 402 i mamy kategorie szczegółowe do niej:Kategoria ogólna | Kategoria szczegółowa | Segment Konto Wn |
---|---|---|
ENERGIA | 402 | |
ENERGIA_PRODUKCJA | 501-02 | |
ENERGIA_HANDEL | 505-02 | |
ENERGIA_ZARZĄD | 510-02 |
Create Function CDN.A (@VaNID INT) Returns VarChar(50) As Begin Declare @Wynik VarChar(50) Select @Wynik = KatOgol.Kat_KontoSegmentWN From CDN.VatTab Join CDN.VatNag On VaT_VaNID=VaN_VaNID Join CDN.Kategorie KatSzczeg On VaT_KatId = KatSzczeg.Kat_KatId Join CDN.Kategorie KatOgol On KatSzczeg.Kat_KodOgolny = KatOgol.Kat_KodSzczegol Where VaN_VaNId = @VaNId Set @Wynik = IsNull(@Wynik,'') Return @Wynik End
W polu Konto Wn należy wpisać: SUBSTRING(@KatElemKontoWn,1,0) +CDN.A(VaN_VaNID)
Przykład funkcji pobierającej konto segment Wn z kategorii ogólnej pobieranej na podstawie kategorii szczegółowej wybranej w nagłówku dokumentu: Create Function CDN.B (@VaNID INT) Returns VarChar(50) As Begin Declare @Wynik VarChar(50) Select @Wynik = KatOgol.Kat_KontoSegmentWN From CDN.VatNag Join CDN.Kategorie KatSzczeg On VaN_KatId = KatSzczeg.Kat_KatId Join CDN.Kategorie KatOgol On KatSzczeg.Kat_KodOgolny = KatOgol.Kat_KodSzczegol Where VaN_VaNId = @VaNId Set @Wynik = IsNull(@Wynik,'') Return @Wynik End
W polu Konto Wn należy wpisać: SUBSTRING(@KatNagKontoWn,1,0) +CDN.B(VaN_VaNID)
Konstrukcja poprzednich funkcji zakłada, że na dokumencie jest tylko jedna pozycja, bądź w przypadku kilku pozycji – że wszystkie pozycje zawierają kategorie szczegółowe należące do jednej kategorii ogólnej. W przypadku kiedy na księgowanym dokumencie znajduje się więcej niż jedna pozycja z różnymi kategoriami ogólnymi, należy zastosować poniższą, bardziej rozbudowaną funkcję: Create Function CDN.AB (@VaNID INT, @KategoriaElem varchar(20)) Returns VarChar(50) As Begin Declare @Wynik VarChar(50) Select @Wynik = KatOgol.Kat_KontoSegmentWN From CDN.VatTab Join CDN.VatNag On VaT_VaNID=VaN_VaNID Join CDN.Kategorie KatSzczeg On VaT_KatId = KatSzczeg.Kat_KatId Join CDN.Kategorie KatOgol On KatSzczeg.Kat_KodOgolny = KatOgol.Kat_KodSzczegol Where VaN_VaNId = @VaNId and KatSzczeg.Kat_KodSzczegol = @KategoriaElem Set @Wynik = IsNull(@Wynik,'') Return @Wynik End
Odwołanie do funkcji w pozycji Konto Wn schematu: SUBSTRING(@KatElemKontoWn,1,0) +CDN.AB(VaN_VaNID, Kat_KodSzczegol)
32. Przekształcam Paragon na kontrahenta “nieokreślonego” do Faktury na określonego kontrahenta. Jak zaksięgować KP do paragonu, na którym jest kontrahent nieokreślony, na kontrahenta, który jest na Fakturze?
W tym przypadku również można posłużyć się funkcją serwerową, która pobierze kod kontrahenta z Faktury i zbuduje na tej podstawie odpowiednią analitykę konta np. 201. Poniżej przykład funkcji, która pobierze kod kontrahenta z faktury:Create Function CDN.C (@BZpID INT) Returns VarChar(20) As Begin Declare @Kontr VarChar(20) Select @Kontr = Knt_Kod From cdn.BnkRozRelacje Join CDN.BnkZdarzenia on BRR_DDokID=BZd_BZdID Join CDN.BnkZapisy on BZp_BZpID=BRR_ZDokID Join cdn.tranag A on BZd_DokumentID=A.TrN_TrNID Join cdn.TraNagRelacje on A.TrN_TrNID=TrR_FaId Join cdn.tranag B on TrR_TrNId=B.TrN_TrNID Join cdn.kontrahenci on B.TrN_PodID=Knt_KntId Where BRR_ZDokTyp=2 AND BZd_DokumentTyp=1 AND BRR_DDokTyp=1 AND B.TrN_PodmiotTyp=1 AND TrR_TrNTyp=302 AND BZp_BZpID=@BZpID Return @Kontr End
W schemacie księgowym dla raportu kasowo/bankowego, jako konto należy wpisać: SUBSTRING(@KontoRach,1,0) +'201-'+CDN.C(BZp_BZpID)
Konto musi istnieć już w planie kont (czyli najpierw sugerujemy księgowanie faktury). Do warunku takiej pozycji schematu można wstawić wyrażenie, które sprawdzi czy dany dokument kasowy jest powiązany z fakturą, która została przekształcona z paragonu. '1'='1' AND EXISTS (select * From cdn.BnkRozRelacje join CDN.BnkZdarzenia on BRR_DDokID=BZd_BZdID join cdn.tranag on BZd_DokumentID=TrN_FaId where BRR_ZDokTyp=2 AND BZd_DokumentTyp=1 AND BRR_DDokTyp=1 AND TrN_PodmiotTyp=1 AND BZp_BZpID=BRR_ZDokID and TrN_TypDokumentu=302)
33. Jak zaksięgować fakturę na konto Odbiorcy, a nie Nabywcy (konta odbiorców tworzone są wg akronimu)?
W tym przypadku również można posłużyć się funkcją serwerową, która pobierze kod kontrahenta (Odbiorcy) z Faktury i zbuduje na tej podstawie odpowiednią analitykę konta np. 201. Dodatkowo funkcja zamienia w akronimie kontrahenta znaki spacji, kropki i myślnika na znak podkreślenia ponieważ konta w planie kont nie mogą zawierać takich znaków. Poniżej przykład funkcji, która pobierze kod Odbiorcy z faktury:Create Function CDN.G (@TrnId Int)
Returns VarChar(20) As Begin Declare @Kontr VarChar(20) Select @Kontr = REPLACE(REPLACE(REPLACE(Knt_Kod, ' ', '_'), '.', '_'), '-', '_') FROM CDN.TraNag Join cdn.kontrahenci on TrN_OdbID=Knt_KntId AND TrN_OdbiorcaTyp=1 AND TrN_TrNID=@TrnId Return @Kontr End
W schemacie dla księgowania Faktur z modułu Faktury należy wpisać np.: LEFT(@Opis,0)+'201-'+CDN.G(TrN_TrNID)
Konto musi istnieć już w planie kont. Przykład dla przypadku gdy faktury są księgowane z Rejestru VAT: Create Function CDN.B (@VaNID INT) Returns VarChar(20) As Begin Declare @Kontr VarChar(20) Select @Kontr = REPLACE(REPLACE(REPLACE(Knt_Kod, ' ', '_'), '.', '_'), '-', '_') From cdn.TraNag Join CDN.VatNag on VaN_VaNID=TrN_VaNId Join cdn.kontrahenci on TrN_OdbID=Knt_KntId AND TrN_OdbiorcaTyp=1 AND VaN_VaNId=@VaNID Return @Kontr End
W schemacie dla księgowania Faktur z Rejestru VAT należy wpisać np.: LEFT(@Opis,0)+'201-'+CDN.B(VaN_VaNId)
34. Jak automatycznie zaksięgować dokument na konto kontrahenta gdzie pierwsza analityka to kod kontrahenta, a druga analityka to segment konta pobrany z kategorii dokumentu?
Klient chce rozksięgować dokument na konto 201 wg wzorca: 201-kontrahent-kategoria. Nie da się w takiej sytuacji zastosować podziału na słowniki kontrahentów ponieważ po analityce kontrahenta ma być jeszcze jedna analityka. W takiej sytuacji można posłużyć się makrem @KodPodmiotu, które jest obecne m.in. w schematach dla Rejestrów VAT i Ewidencji dodatkowych. Za pomocą ww. makra pobierzemy kod kontrahenta, natomiast za pomocą dostępnych standardowo makr dotyczących segmentów kont na kategoriach, pobierzemy analitykę przypisaną do kategorii. W polu Konto Wn lub Konto Ma wystarczy więc wpisać np. (dla ewidencji dodatkowej):'201-'+@KodPodmiotu+'-'+@KontoKatWn
Konta w planie kont muszą istnieć przed księgowaniem. Ewentualnie musi istnieć konto syntetyczne – jeżeli będzie zaznaczony parametr o automatycznym zakładaniu kont niesłownikowych – konta się założą. Konta będą kontami zwykłymi – nie słownikowymi.
35. Jak skonstruować schemat księgowania deklaracji VAT-7 w rozbiciu na poszczególne stawki VAT?
W schemacie księgowym można posłużyć się istniejącą funkcją, która pobiera dane z poszczególnych pól deklaracji (z tabeli CDN.DeklElem):CDN.KwotaKsiegDekl (DkN_DkNId, DkE_Numer)
W funkcji należy podać właściwą wartość dla pola DkE_Numer i tak np. dla wzoru 18 deklaracji VAT-7 będzie to wartość: 10500 - Dostawa towarów oraz świadczenie usług na terytorium kraju, zwolnione od podatku (poz. 10 na VAT-7) 10550 - Dostawa towarów oraz świadczenie usług, poza terytorium kraju (poz. 11 na VAT-7) 10510 – w tym świadczenie usług, o których mowa w art.100 ust.1 pkt 4 ustawy (poz.12 na VAT-7) 10700 – Dost. towarów oraz świadczenie usług na terytorium kraju, opodatk. stawką 0% (poz. 13 na VAT-7) 10705 – w tym dostawa towarów, o której mowa w art.129 ustawy (poz.14 na VAT-7) 10710 - Dostawa towarów oraz świadczenie usług na terytorium kraju, opodatkowane stawką odpowiednio 3% albo 5% - netto 10720 - Dostawa towarów oraz świadczenie usług na terytorium kraju, opodatkowane stawką odpowiednio 3% albo 5% - VAT 11400 - Dostawa towarów oraz świadczenie usług na terytorium kraju, opodatkowane stawką odpowiednio 7% albo 8% - netto 11500 - Dostawa towarów oraz świadczenie usług na terytorium kraju, opodatkowane stawką odpowiednio 7% albo 8% - VAT 11600 - Dostawa towarów oraz świadczenie usług na terytorium kraju, opodatkowane stawką odpowiednio 22% albo 23% - netto 11700 - Dostawa towarów oraz świadczenie usług na terytorium kraju, opodatkowane stawką odpowiednio 22% albo 23% - VAT 11710 – Wewnątrzwspólnotowa dostawa towarów 10600 – Eksport towarów 11730 – Wewnątrzwspólnotowe nabycie towarów – netto 11740 – Wewnątrzwspólnotowe nabycie towarów – VAT 11742 – Import towarów, podlegający rozliczeniu zgodnie z art. 33a ustawy – netto 11744 - Import towarów, podlegający rozliczeniu zgodnie z art. 33a ustawy – VAT 11750 – Import usług – netto 11760 – Import usług – VAT 11762 – w tym nabycie od podatników podatku od wartości dodanej usług, do których stosuje się art. 28b ustawy – netto 11764 - w tym nabycie od podatników podatku od wartości dodanej usług, do których stosuje się art. 28b ustawy – VAT 11770 – Dostawa towarów oraz świadczenie usług, dla których podatnikiem jest nabywca - art. 17 ust. 1 pkt 7 lub 8 (pole 31 deklaracji) – kwota netto 11780 – Dostawa towarów, dla których podatnikiem jest nabywca - art. 17 ust. 1 pkt 5 (pole 32 deklaracji) – kwota netto 11781 – Dostawa towarów, dla których podatnikiem jest nabywca - art. 17 ust. 1 pkt 5 (pole 33 deklaracji) – kwota VAT 11791 – Dostawa towarów oraz świadczenie usług, dla których podatnikiem jest nabywca - art. 17 ust. 1 pkt 7 lub 8 (pole 34 deklaracji) – kwota netto 11792 – Dostawa towarów oraz świadczenie usług, dla których podatnikiem jest nabywca - art. 17 ust. 1 pkt 7 lub 8 (pole 35 deklaracji) – kwota VAT 12000 – Kwota podatku należnego od towarów i usług objętych spisem z natury, o którym mowa w art.14 ust.5 ustawy 12005 - Zwrot odliczonej lub zwróconej kwoty wydatkowanej na zakup kas rejestrujących, o którym mowa w art.111 ust.6 ustawy 12010 – Kwota podatku należnego od wewnątrzwspólnotowego nabycia środków transportu 12011 - Kwota podatku od wewnątrzwspólnotowego nabycia paliw silnikowych Tak więc aby zaksięgować kwotę VAT w stawce 22% albo 23% (pole 20. na deklaracji VAT-7) należy wpisać w polu Kwota elementu schematu księgowego np. takie wyrażenie: @Vat7Nalezny - @Vat7Nalezny + CDN.KwotaKsiegDekl (DkN_DkNId, 11700)
36. Jak zaksięgować różnicę pomiędzy obrotami Ma konta VAT-u a VAT-em należnym z deklaracji VAT-7?
Można to zrobić definiując funkcję, która będzie pobierała obroty Ma odpowiedniego konta za okres, za który przeliczana jest deklaracja.Create Function CDN.ObrotyMa(@Konto VarChar(50), @RokMies Int) Returns Decimal(15,2) As Begin Declare @Wynik Decimal(15,2), @OObId Int, @AccId Int -- Określamy Id bieżacego okresu obarchunkowego Select @OObId = Case When IsNumeric(Fir_Wartosc)=1 Then Cast (Fir_Wartosc As Int) Else Null End From CDN.Firma Where Fir_Numer=244 -- Odczytujemy interesujące nas konto Select @AccId = Acc_AccId From CDN.Konta Where Acc_OObId = @OObId And Acc_Numer=@Konto -- Odczytujemy obroty Ma z uwzględnieniem bufora Select @Wynik = Obr_ObrotyMaBufor From CDN.Obroty Where Obr_AccId = @AccId And Obr_RokMies = @RokMies And Obr_Typ = 0 Return IsNull(@Wynik, 0) End
i wykorzystanie w schemacie: CDN.ObrotyMa('221-2', DkN_RokMiesiac) - @Vat7Nalezny
37. Jak w warunku schematu dla WZ odwołać się do symbolu/serii w numerze faktury do której zostało wystawione WZ?
Zarówno dokument Wydania zewnętrznego (WZ) jak i faktura z tym dokumentem powiązana, są zapisane w tej samej tabeli CDN.TraNag. W tej sytuacji warunek można zbudować następująco:'1'='1' And Exists (Select * From CDN.TraNag FA Where CDN.TraNag.TrN_FaId = FA.TrN_TrNId And Fa.TrN_NumerPelny Like 'FA%SERIA')
Patrz też pytania nr: 11. Jak uzależnić księgowanie dokumentów z ewidencji dodatkowej na poszczególne konta od symbolu użytego w schemacie numeracji? 20. Jak zaksięgować fakturę zakupu, żeby w schemacie księgowania w warunku zastosować fragment numeru dokumentu np MAGAZYN i SERIA z numeru FZ/99/MAGAZYN/SERIA?
38. Jak w opisie schematu do księgowania dokumentu WZ umieścić numer faktury, z którą powiązane jest WZ?
Należy w tym celu skonstruować funkcję serwerową, która odczyta numer faktury. Funkcja może wyglądać tak:Create Function CDN.NumerFa (@TrNId Int) Returns VarChar(30) As Begin Declare @Numer VarChar(30) Select Top 1 @Numer = TrN_NumerPelny From CDN.TraNag Where TrN_TrNId = @TrNId Return IsNull(@Numer, '') End
W opisie schematu księgowań należy podać jakiekolwiek istniejące makro razem z odwołaniem do ww. funkcji, np. w ten sposób: @NumerPelny + ' ' + CDN.NumerFa (TrN_FaId)
39. Jak przenieść kwotę wpisaną w polu Opis na fakturze do pozycji schematu księgowego?
W Opisie faktury wprowadzonej na listę faktur sprzedaży w module Faktury wprowadzono kwotę, która powinna zostać zaksięgowana na konta. Ponieważ pole Opis nie jest polem numerycznym – należy je do takiego przekonwertować i dodatkowo księgować tylko wtedy gdy w polu Opis faktycznie występuje liczba. W pozycji schematu, w polu Kwota można wpisać następujące wyrażenie:@PlatRazem - @PlatRazem + CASE WHEN ISNUMERIC(TrN_Opis)=1 THEN CAST (TrN_Opis AS DECIMAL(15,2)) ELSE 0 END
Dla faktur księgowanych z Rejestru VAT można użyć pola opisu kategorii: @PlatRazem - @PlatRazem + CASE WHEN ISNUMERIC(VaN_Kategoria )=1 THEN CAST (VaN_Kategoria AS DECIMAL(15,2)) ELSE 0 END
Makra istniejące nie mogą odwoływać się do elementów faktury – muszą odwoływać się do nagłówka (tak jak np. makro @PlatRazem). Jeżeli zostanie użyte makro odwołujące się do elementów np. @PozNetto (dla modułu FA) lub @Netto (dla rejestru VAT) – to księgowana kwota będzie mnożona przez ilość pozycji na fakturze.
40. Jak zaksięgować kwotę „do wypłaty” z listy płac w zależności od rodzaju umowy zlecenia/dzieło i formy płatności?
Od wersji 8.0 systemu zmienił się sposób zapisywania form płatności dla pracowników. Są one zapisywane w osobnej tabeli: CDN.SchematPlatnosci. W związku z czym, o ile w poprzednich wersjach działał warunek:Exists (Select * From CDN.PracEtaty join CDN.FormyPlatnosci on PRE_FplId=FPl_FPlId Where WPL_PraId = PRE_PraId AND WPL_DataDok Between PRE_DataOd And PRE_DataDo AND FPl_Typ=1) AND @TypWyplaty ='dzieło 20%'
Od wersji 8.0 warunek powinien wyglądać następująco: Exists (Select * From CDN.PracEtaty join cdn.SchematPlatnosci on PRE_PreId = SPL_PodmiotId join CDN.FormyPlatnosci on SPL_FplId=FPl_FPlId Where SPL_PodmiotTyp = 3 and WPL_PraId = PRE_PraId AND WPL_DataDok Between PRE_DataOd And PRE_DataDo AND FPl_Typ=1) AND @TypWyplaty ='dzieło 20%'
FPl_Typ=1 oznacza formę płatności typu „gotówka”.
41. Jak wyksięgować kwotę dotychczasowych zaliczek z faktury finalnej księgowanej przez Rejestr sprzedaży VAT?
Najprościej księgować faktury zaliczkowe przez moduł Faktury ponieważ w schematach do Faktur sprzedaży są dodane odpowiednie makra. Jeżeli faktury zaliczkowe i faktura finalna są wystawiane w module Faktury, a następnie przenoszone do Rejestru VAT to kwotę dotychczasowych zaliczek z faktury finalnej można odczytać stosując istniejącą w programie funkcję i w polu Kwota pozycji schematu wpisać: Dla kwoty zaliczki netto:'0'+CDN.TraKwoty(VaN_TrNId,'ZN',Null,Null)
Dla kwoty zaliczki brutto: '0'+CDN.TraKwoty(VaN_TrNId,'ZB',Null,Null)
Aby sprawdzić czy faktura jest zaliczkowa można użyć następującego warunku: '1'='1' AND exists (select * from CDN.TraNag where TrN_VaNId = VaN_VaNID AND TrN_Rodzaj In (302200, 302202))
Warunek dla faktury finalnej: '1'='1' AND Exists (Select * From CDN.TraNag join CDN.TraVat on TrN_TrNID = TrV_TrNID Where TrN_VaNId = VaN_VaNID AND TrV_TrNId=TrN_TrNId And TrV_Typ=1)
Warunek dla faktury zwykłej: '1'='1' AND Not Exists (Select * From CDN.TraNag join CDN.TraVat on TrN_TrNID = TrV_TrNID Where TrN_VaNId = VaN_VaNID AND TrV_TrNId=TrN_TrNId And TrV_Typ=1) AND Not Exists (select * from CDN.TraNag where TrN_VaNId = VaN_VaNID AND TrN_Rodzaj In (302200, 302202))
42. Jak przy księgowaniu raportu kasowego rozróżnić czy konto przeciwstawne jest walutowe (i księgować w walucie), a jak że jest złotówkowe (i księgować tylko w złotówkach)?
Warunek dla pozycji schematu wykorzystującej konto przeciwstawne gdy jest zaznaczone księgowanie walutowe:'1'='1' and exists (select * from CDN.Konta where Acc_Numer like @KontoPrzeciw + '%' and Acc_Waluta<>'')
Warunek dla pozycji schematu wykorzystującej konto przeciwstawne gdy nie jest zaznaczone księgowanie walutowe: '1'='1' and not exists (select * from CDN.Konta where Acc_Numer like @KontoPrzeciw + '%' and Acc_Waluta<>'')
W Biuletynie technicznym nr 22 został przedstawiony przykład schematu księgowego wykorzystujący ww. warunki.
43. Jak automatycznie księgować na konta zespołu “4” na podstawie konta zespołu „5” wpisanego w kwotach dodatkowych?
Mamy w planie kont np. konta 501-1-1-401-01 i np. 501-1-1-402-01. Odpowiednikiem tych kont w zespole „4” są 400-401-01 i 400-402-01. W rejestrze VAT wprowadzamy na fakturze w Kwotach dodatkowych konta zespołu „5”. Chcemy żeby „4” podstawiała się automatycznie na podstawie „5”. W schemacie księgowym, jako definicję konta można wpisać:'400-'+SUBSTRING(@KontoDodatWn,9,6)
Jeżeli w kwocie dodatkowej wybierzemy konto 501-1-1-401-01, to po zaksięgowaniu otrzymamy konto 400-401-01.
44. Jak w schemacie do księgowania faktur zakupu z Rejestrów VAT rozróżnić zaliczkobiorcę, który jest pracownikiem od zaliczkobiorcy, który jest wspólnikiem?
W warunku schematu dotyczącym księgowania na konto pracowników należy wpisać:'1'='1' AND exists (select * from CDN.PracEtaty where VaN_PodZalId=Pre_PraID AND VaN_PodmiotZalTyp=3 AND PRE_TypPracownika=0)
W warunku schematu dotyczącym księgowania na konto wspólnika należy wpisać: '1'='1' AND exists (select * from CDN.PracEtaty where VaN_PodZalId=Pre_PraID AND VaN_PodmiotZalTyp=3 AND PRE_TypPracownika=1)
45. Jak należy wpisać warunek aby zaksięgować fakturę z rejestru VAT na wybrane konto pod warunkiem, że zaliczkobiorcą jest pracownik o akronimie ‘KOWALSKI’?
W warunku można wpisać:'1'='1' AND exists (select * from CDN.PracEtaty where VaN_PodZalId=Pre_PraID AND VaN_PodmiotZalTyp=3 AND PRE_Kod='KOWALSKI')
46. Jak w opisie pozycji schematu dla rejestrów VAT wstawić kod pracownika, który jest zaliczkobiorcą?
Jeżeli pozycja schematu zawiera konto słownikowe pracownika i podział na słowniki: Zaliczkobiorcy to w opisie można wstawić następujące wyrażenie:''+(select top 1 PRE_Kod from CDN.PracEtaty where Pre_PraID = VaN_PodZalId and VaN_PodmiotZalTyp=3)
Jeżeli daną pozycją schematu księgujemy kwotę na konto kontrahenta (czyli jest podział na słowniki: Podmioty) a w opisie chcemy mieć informację o kodzie zaliczkobiorcy, należy użyć funkcji: Create Function CDN.MojeFunkcje_KodZaliczkobiorcy (@VaNId Int) Returns VarChar(31) As Begin Declare @Kod VarChar(50) Set @Kod = IsNull((select top 1 PRE_Kod from CDN.PracEtaty join cdn.vatnag on Pre_PraID = VaN_PodZalId and VaN_PodmiotZalTyp=3 where Van_Vanid=@VaNId), '') Return @Kod End
W definicji Opisu do danej pozycji schematu księgowego wpisujemy: @Dokument + ' ' + CDN.MojeFunkcje_KodZaliczkobiorcy (VaN_VaNId)
47. Jak opisie pozycji dekretu umieścić informację o Imieniu i nazwisku zaliczkobiorcy (pracownika) wybranego na fakturze zakupu w rejestrze VAT?
W schemacie księgowym typu Rejestr zakupów VAT w polu Opis należy wkleić:@TypZaliczkobiorcy + ' ' + CDN.ImieNazwisko (VaN_PodZalId,VaN_PodmiotZalTyp)
Operator z uprawnieniami administratora może uruchomić skrypt w menu Narzędzia/ Serwer bazy danych/ Wykonywanie skryptów. Create Function CDN.ImieNazwisko (@VaN_PodZalId Int,@VaN_PodmiotZalTyp Int) Returns VarChar(30) As Begin Declare @ImieNazwisko VarChar(30) Select Top 1 @ImieNazwisko = Pre_Imie1+' '+Pre_Nazwisko From cdn.pracetaty Where @VaN_PodZalId =Pre_PraID AND @VaN_PodmiotZalTyp=3 AND PRE_TypPracownika=0 Return IsNull(@ImieNazwisko, '') End
48. Jak ułożyć warunek dla księgowania zaliczki na PIT-36 aby w miesiącu listopadzie zawsze księgowała się podwójna zaliczka?
Innymi słowy musimy w warunku „wyciągnąć” z pola DkN_RokMiesiac tylko miesiąc. Pole zapisuje rok i miesiąc w postaci 4 cyfr dla roku i 2 cyfr dla miesiąca np. ‘201811’. W warunku trzeba „wyciąć” pierwsze 4 znaki i użyć tylko dwóch ostatnich. Możemy to zrobić tak:SUBSTRING(DkN_RokMiesiac,5,2)
Musimy jednak skonwertować liczbę do tekstu poprzez STR i dodatkowo usunąć zbędne spacje poprzez LTRIM. Cały warunek dla księgowania deklaracji, która pochodzi z miesiąca listopada będzie wyglądał tak: '1'='1' AND SUBSTRING(LTRIM(STR(DkN_RokMiesiac)),5,2)=11
49. Czy w schemacie do księgowania dokumentów przesunięć MM można wykorzystać symbol magazynu do identyfikacji konta magazynu źródłowego i docelowego?
Chodzi o to aby przy dużej ilości magazynów nie tworzyć kilkudziesięciu pozycji schematu odpowiadających wszystkim przesunięciom międzymagazynowym. Zakładamy więc, że analitykę magazynu pobieramy z symbolu magazynu. Na przykład, w polu Symbol, na formatce magazynu mamy MAG1, a konto ma postać 311-MAG1. Wtedy dla magazynu źródłowego definicja konta miałaby postać: '311-'+@Magazyn a dla magazynu docelowego: '311-'+@MagDocelowy.50. Jak wykorzystać atrybuty do przypisania odpowiedniego konta zespołu „5” na karcie środka trwałego?
W Słownikach/ Atrybuty można zdefiniować atrybut o nazwie np. „KONTO_5”, typie „lista”, i pozycjach listy odpowiadających wszystkim kontom zespołu 5, na które jest księgowana amortyzacja np. 501-01, 502-01, 503-01 itp. Na karcie środka trwałego dodajemy atrybut „KONTO_5” i wybieramy wartość odpowiadającą „piątce” np. 501-01. W pozycji schematu księgowego odpowiadającej za księgowanie na konta zespołu „5”, w polu Konto Wn wprowadzamy definicję:@ST_Atrybut('KONTO_5')
W makrach dostępnych pod Kontem Wn i Kontem Ma nie ma pozycji „Wartość atrybutu” więc aby wkleić odpowiednie wyrażenie można skorzystać z pola „Opis” wybierając odpowiedni atrybut, kopiując i wklejając do „Konto Wn/Konto Ma”.
51. Jak można użyć, w schemacie księgowym, atrybutu przypiętego do pozycji faktury?
Od wersji Comarch ERP Optima 2019.5.1 atrybuty pozycji dokumentów z modułu Handel zapisywane są w tabeli CDN.TraElemAtr. Chcąc odwołać się w warunku schematu do kodu bądź wartości atrybutu pozycji dokumentu należy zastosować następujący warunek:'1'='1' AND exists (Select TrA_Kod From CDN.TraElemAtr Where TrA_TrEId = TrE_TrEID and TrA_Kod= 'ATR1' and TrA_Wartosc= 'WART1')
W przypadku wersji wcześniejszych niż 2019.5.1 należy zastosować poniższe warunki. Księgując fakturę z modułu Handel są dwie możliwości: 1. Ponieważ atrybuty są zapisywane w tabeli CDN.TraElem w polach: TrE_Atr1_Kod, TrE_Atr2_Kod.... TrE_Atr5_Kod i wartości odpowiednio w polach TrE_Atr1_Wartosc do TrE_Atr5_Wartosc to można się odwołać bezpośrednio do tych pól. Założenie jednak będzie wtedy takie (aby nie komplikować warunku), że atrybut, który nas interesuje jest zawsze np. pierwszy czyli zapisywany w polach TrE_Atr1_Kod i TrE_Atr1_Wartosc. Aby zaksięgować kwotę netto pozycji, pod warunkiem, że pierwszy atrybut to ATR1 i jego wartość to WART1 można użyć kwoty @PozNetto a w warunku: '1'='1' AND TrE_Atr1_kod='ATR1' AND TrE_Atr1_Wartosc='WART1'
2. Jeżeli atrybut, który nas interesuje może być zapisany na różnych miejscach to aby nie tworzyć bardzo złożonego warunku można użyć funkcji, której jako parametry podamy kod atrybutu i wartość. Funkcja będzie użyta w kwocie schematu np. Create Function CDN.userKwotaElementuZAtrybutem (@Treid int, @KodAtrybutu varchar(255), @WartoscAtrybutu varchar(255), @Typ varchar(10)) Returns Decimal (15,2) As Begin Declare @Wynik Decimal(15,2) if exists ( select * from CDN.TraElem where TrE_TrEID = @TrEId and ( TrE_Atr1_Kod = @KodAtrybutu and TrE_Atr1_Wartosc=@WartoscAtrybutu or TrE_Atr2_Kod = @KodAtrybutu and TrE_Atr2_Wartosc=@WartoscAtrybutu or TrE_Atr3_Kod = @KodAtrybutu and TrE_Atr3_Wartosc=@WartoscAtrybutu or TrE_Atr4_Kod = @KodAtrybutu and TrE_Atr4_Wartosc=@WartoscAtrybutu or TrE_Atr5_Kod = @KodAtrybutu and TrE_Atr5_Wartosc=@WartoscAtrybutu ) ) begin set @Wynik = CDN.TraKwoty( @TrEId, @Typ, Null, Null) end Return IsNull( @Wynik, 0 ) End
W definicji kwoty wpisujemy: @PozNetto - @PozNetto + CDN.userKwotaElementuZAtrybutem(TrE_TrEId, 'ATRYBUT', 'WARTOŚĆ', 'PN')
'PN' - oznacza kwotę netto. 'PB' oznaczałoby kwotę brutto pozycji.
52.Jak wykorzystać w schemacie księgowym, w definicji konta, wartość atrybutu przypiętego do karty kontrahenta?
Na karcie kontrahenta jest m.in. przypięty atrybut o nazwie KONTO, którego wartość odpowiada symbolowi konta, które ma być użyte do księgowania faktury z Rejestru VAT. Chcemy tak zdefiniować w pozycji schematu Konto Wn aby podstawiała się do niej wartość tego atrybutu przypięta do kontrahenta wybranego na fakturze. W takiej sytuacji trzeba skorzystać z funkcji serwerowej. Dla faktury księgowanej z Rejestru VAT funkcja może wyglądać następująco:Create Function CDN.A (@VaNId int, @AtrybutKod varchar(255)) Returns varchar(255) As Begin Declare @Wynik VarChar(255) Set @Wynik = '' select @Wynik = KnA_WartoscTxt from CDN.KntAtrybuty join CDN.DefAtrybuty on (KnA_DeAId = DeA_DeAId) join CDN.PodmiotyView on (KnA_PodmiotId = Pod_PodId) join CDN.VatNag on (VaN_PodID = Pod_PodId) where VaN_VaNID=@VaNId and DeA_Kod=@AtrybutKod AND KnA_PodmiotTyp = Pod_PodmiotTyp AND Pod_PodmiotTyp = VaN_PodmiotTyp Return IsNull(@Wynik, '') End
W definicji Konta Wn wpisujemy: LEFT(@Opis,0)+CDN.A(Van_VaNID,'KONTO')
Ponieważ w definicji konta w pozycji schematu jest ograniczona liczba znaków, jeżeli odwoływać się do atrybutów w ten sposób, należy nadawać im krótkie nazwy. Dla faktury księgowanej z modułu Handel: Create Function CDN.B (@TrNId int, @AtrybutKod varchar(255)) Returns varchar(255) As Begin Declare @Wynik VarChar(255) Set @Wynik = '' select @Wynik = KnA_WartoscTxt from CDN.KntAtrybuty join CDN.DefAtrybuty on (KnA_DeAId = DeA_DeAId ) join CDN.PodmiotyView on KnA_PodmiotId = Pod_PodId join CDN.TraNag on Pod_PodId = TrN_PodID where TrN_TrNID=@TrNId and DeA_Kod=@AtrybutKod AND KnA_PodmiotTyp = Pod_PodmiotTyp AND Pod_PodmiotTyp = TrN_PodmiotTyp Return IsNull(@Wynik, '') End
W definicji konta: LEFT(@Opis,0)+CDN.B(Trn_TrNID,'KONTO')
53. Jak wykorzystać w schemacie księgowym z rej. VAT kwotę z ewidencji dodatkowej?
Schemat pozwala na wyksięgowanie kwoty z dokumentu ewidencji dodatkowej pod warunkiem, że numer dokumentu i Akronim kontrahenta jest identyczny na rej. VAT i ewidencji dodatkowej. W takiej sytuacji trzeba skorzystać z funkcji serwerowej. Dla faktury księgowanej z Rejestru VAT funkcja może wyglądać następująco:create function cdn.MojaFunkcja_ED (@ID int, @Typ int, @Dok varchar(30)) returns Decimal(15,2) as begin declare @wynik Decimal(15,2) select @wynik = EDN_KwotaRazemSys from CDN.EwiddodNag join cdn.vatnag on VaN_Dokument=EDN_NumerObcy and VaN_PodID=EDN_PodID and VaN_PodmiotTyp=EDN_PodmiotTyp where VaN_Dokument = @Dok AND VaN_PodID=@ID AND VaN_PodmiotTyp= @Typ return IsNull(@wynik,0) end
W definicji Kwoty w schemacie rej. VAT wpisujemy: @Brutto-cdn.MojaFunkcja_ED(VaN_PodID,VaN_PodmiotTyp,VaN_Dokument)
54. Jak w schemacie księgowym dokumentów z rejestru VAT w polu Opis wykorzystać np. datę operacji z dokumentu?
@Opis+' '+convert (varchar(10), VaN_DataOpe , 120)
55. Jak w schemacie księgowym Listy płac wyszukać pola opisu analitycznego, które nie mają żadnej wartości czyli NULL?
Jeżeli jako kwota została użyta kwota, która odwołuje się do tabeli CDN.WypElementy to warunek może wyglądać tak:'1'='1' and not exists(select * from CDN.OpisPlace where OpP_WpEId= WpE_WpEId)
Taka kwota to np. @WynagrodzenieBrutto, @ZUSEmerPrac, @ZUSEmerFirma itp. Gdyby kwota odwoływała się do innej tabeli np. CDN.Wyplaty to: '1'='1' and not exists(select * from CDN.Wyplaty JOIN CDN.WypElementy ON WPL_WplId = WPE_WplId JOIN CDN.OpisPlace ON OpP_WpEId= WpE_WpEId WHERE WPL_LplId = LPL_LplId)
Taka kwota to np. @DoWyplaty.
56. Jak w schemacie do księgowania raportów K/B, w pozycji dekretu uzyskać opis składający się z numerów dokumentów rozliczających dany zapis K/B?
W takim przypadku można wykorzystać istniejącą funkcję CDN.NumeryRozliczonych wstawiając do opisu pozycji schematu następującą definicję:@KategoriaSzczegol + ' ' +CDN.NumeryRozliczonych(Bzp_BzpID,2,0)
Zamiast @KategoriaSzczegol można użyć innego istniejącego makra. Jeżeli dany zapis k/b jest rozliczany kilkoma dokumentami - ich numery w opisie będą oddzielone znakiem średnika.
57. Jak w schemacie księgowym dokumentów z rejestru VAT rozróżnić księgowanie dokumentów wystawionych na kontrahentów krajowych i zagranicznych?
W przypadku kiedy korzystamy z informacji zapisanych na karcie kontrahenta: Warunek jaki należy wstawić przy kontrahentach krajowych:'1'='1' AND exists (select * from cdn.kontrahenci where Knt_KntId= VaN_PodID and VaN_PodmiotTyp=1 and Knt_Export=0)
Warunek jaki należy wstawić przy kontrahentach zagranicznych: '1'='1' AND exists (select * from cdn.kontrahenci where Knt_KntId= VaN_PodID and VaN_PodmiotTyp=1 and Knt_Export<>0)
W przypadku kiedy korzystamy z informacji zapisanych na dokumencie, czyli rodzaj transakcji, wtedy warunek może wyglądać następująco: '1'='1' AND VaN_Export=0 (dla transakcji krajowej)
Rodzaj transakcji: 0 - krajowa 1 - eksport/import 2 - eksport - zwrot VAT 3 - dostawa/nabycie wewnątrzwspólnotowa 4 - dostawa/nabycie wewnątrzunijna trójstronna 5 - krajowa - podatnikiem jest nabywca 6 - dostawa poza terytorium kraju 7 - poza terytorium kraju (stawka NP) 8 - wewnątrzunijny - podatnikiem jest nabywca 9 - pozaunijny - podatnikiem jest nabywca
58. Jak z poziomu rejestru VAT zaksięgować dokumenty w zależności od formy płatności na nich wybranej?
Aby zaksięgować fakturę zapłaconą gotówką należy w warunku schematu księgowego wpisać:'1'='1' and exists (select * from CDN.FormyPlatnosci where VaN_FplID=FPl_FPlId and FPl_Nazwa = 'gotówka')
A dla dokumentów z pozostałymi formami płatności: '1'='1' and exists (select * from CDN.FormyPlatnosci where VaN_FplID=FPl_FPlId and FPl_Nazwa <> 'gotówka')
59. W jaki sposób sprawdzić czy zapis kasowy został automatycznie wygenerowany przy tworzeniu faktury gotówkowej?
W schemacie księgowań dla zapisów automatycznych należy wpisać warunek:'1'='1' AND BZp_ZapisAutomatyczny=1
Dla pozostałych zapisów: '1'='1' AND BZp_ZapisAutomatyczny=0
60. Jak zaksięgować dokument Przyjęcia Zewnętrznego w zależności od statusu kontrahenta?
Dla kontrahenta krajowego należy w warunku schematu wpisać:'1'='1' AND TrN_Export=0
Dla kontrahenta unijnego: '1'='1' AND (TrN_Export=3 OR TrN_Export=4)
Dla kontrahenta pozaunijnego: '1'='1' AND TrN_Export=1
Status: 0 - krajowy 1 - eksport/import 2 - eksport - zwrot VAT 3 - dostawa/nabycie wewnątrzwspólnotowa 4 - dostawa/nabycie wewnątrzunijna trójstronna 5 - krajowy - podatnikiem jest nabywca 6 - dostawa poza terytorium kraju 7 - poza terytorium kraju (stawka NP) 8 - wewnątrzunijny - podatnikiem jest nabywca 9 - pozaunijny - podatnikiem jest nabywca
61. Jak zaksięgować dokument PZ w zależności od fragmentu numeru faktury, do której został utworzony np. numer faktury zakupu zaczyna się od „FA” i kończy się na MG lub EU?”
W warunku schematu księgowego należy wpisać: '1'='1' And Exists (Select * From CDN.TraNag FA Where CDN.TraNag.TrN_FaId = FA.TrN_TrNId And Fa.TrN_NumerPelny Like 'FA%SERIA')
zastępując słowo SERIA na końcu warunku wybraną serią dokumentu np. MG lub EU.
62. Jak podczas księgowania listy płac w polu Konto odwołać się do kategorii na wypłacie pracownika (na zakładce [Ogólne])?
Przykład funkcji:Create Function CDN.A3 (@LplID int, @WPLID int) Returns varchar(255) As Begin Declare @Wynik VarChar(50) Set @Wynik = '' select @Wynik = Kat_KontoSegmentWN from CDN.Kategorie join CDN.Wyplaty on WPL_KatId = Kat_KatID join CDN.ListyPlac on WPL_LplId = LPL_LplId where LPL_LplId=@LplId AND WPL_WPLID=@WPLID Return IsNull(@Wynik, '') End W polu
Konto Wn lub Konto Ma należy wstawić: LEFT(@Opis,0)+CDN.A3(Lpl_LplID,WPL_WPLID)
63. Jak zaksięgować kwotę netto z faktury w Rejestrze VAT z podziałem na magazyny?
Na Fakturze Sprzedaży w module Faktury są pozycje pochodzące z różnych magazynów. Chodzi o to aby zaksięgować kwotę netto na różne konta, w zależności od magazynu. Na fakturze w Rejestrze VAT nie ma takiej informacji – informacja jest tylko na fakturze w module Faktury. Najprościej więc księgować fakturę bezpośrednio z modułu Faktury i wykorzystać w schemacie, w warunku pozycji, makro @MagazynElem. Jeżeli natomiast istnieje potrzeba wykonania księgowania z Rejestru VAT można dodać odpowiednią funkcję serwerową i umieścić ją w definicji kwoty schematu:if exists (select * from sysobjects where name = 'userKwotaFaMagazyny' and xtype = 'FN') drop function CDN.userKwotaFaMagazyny GO create function CDN.userKwotaFaMagazyny (@vanid int, @nazwa varchar(20)) returns numeric (15,2) as begin declare @wynik numeric (15,2) select @wynik = isnull(sum(TrE_WartoscNetto),0) from cdn.tranag join cdn.TraElem on TrN_TrNID = TrE_TrNId join CDN.Magazyny ON Mag_MagId = TrE_MagId where Mag_Symbol = @nazwa and trn_vanid = @vanid return @wynik end
W definicji kwoty wpisujemy: '0' + CDN.userKwotaFaMagazyny (VaN_VaNId, 'MAGAZYN')
64. Jak z poziomu listy płac zaksięgować na konkretne konto wypłatę pracownika, który jest niepełnosprawny?
W pozycji schematu dla listy płac w polu Warunek należy wpisać:'1'='1' AND EXISTS (select * from CDN.PracEtaty join CDN.PracKod on Pra_Praid = Pre_Praid where Pra_Praid = Wpl_Praid and Wpl_Lplid = Lpl_Lplid and Pre_StNiepelnosp<>0)
65. Jak w schemacie do księgowania paragonów odwołać się do symbolu magazynu na pozycji paragonu?
W kwocie należy użyć makra odwołującego się do pozycji paragonu, np. @PozNetto. W warunku można użyć następującego zapytania:'1'='1' AND EXISTS(SELECT * FROM CDN.Magazyny WHERE Mag_MagId = TrE_MagId AND Mag_Symbol='MAGAZYN')
66.Jak umieścić funkcję serwerową w polu z datą księgowania? (na przykładzie księgowania faktur za usługi transportowe)
Księgujemy faktury z Rejestru VAT i zakładamy co następuje: 1. jeżeli dokument jest rozliczony całkowicie – pobieramy datę rozliczenia (jeżeli jest rozliczony kilkoma dokumentami, będzie to data ostatniego rozliczenia), 2. jeżeli jest nierozliczony całkowicie i data bieżąca minus data wystawienia jest większa od 30 dni, pobieramy datę o 30 dni późniejszą od daty wystawienia dokumentu, 3. jeżeli jest to inny przypadek niż powyższe warunki (np. całkowicie nierozliczony ale różnica między datą bieżącą i datą wystawienia jest mniejsza niż 30 dni lub dokument jest częściowo rozliczony) funkcja wstawi zero czyli przy księgowaniu pojawi się komunikat o księgowaniu poza bieżącym okresem obrachunkowym i dokument nie zostanie zaksięgowany. Funkcję można oczywiście rozbudować o kolejne warunki.if exists (select * from sysobjects where name = 'F1' and xtype = 'FN') drop function [CDN].[F1] GO CREATE function [CDN].[F1] (@VaNId Int) returns Datetime as begin declare @wynik Datetime select @wynik = case when exists(select * from CDN.BnkZdarzenia join CDN.VatNag on BZd_DokumentId = VaN_VaNId AND BZd_DokumentTyp = 2 WHERE BZd_Rozliczono=2 AND Van_Vanid=@VaNId) then BZd_DataRoz when exists (select * from CDN.BnkZdarzenia join CDN.VatNag on BZd_DokumentId = VaN_VaNId AND BZd_DokumentTyp = 2 WHERE BZd_Rozliczono2=1 AND (GetDate()- VaN_DataWys)>30 AND Van_Vanid=@VaNId) then DateADD(day,30,VaN_DataWys) else 0 end from CDN.BnkZdarzenia join CDN.VatNag on BZd_DokumentId = VaN_VaNId and BZd_DokumentTyp = 2 where Van_Vanid=@VaNId return @wynik end
W schemacie, w polu Data ksieg. wpisujemy: @DataWyst-@DataWyst+cdn.F1(VaN_VaNID)
67. Jak w warunku schematu dla faktur zakupu odwołać się do opcji Odliczenia VAT: Tak, Nie, Warunkowo na karcie kategorii wybranej na pozycji dokumentu?
W schemacie księgowym typu Faktura zakupu w warunku wkleić następujące wyrażenie: Dla odliczeń na NIE'1'='1' and exists (select * from CDN.Kategorie where Tre_Katid=Kat_Katid and Kat_Odliczenia=0)
Dla odliczeń na TAK '1'='1' and exists (select * from CDN.Kategorie where Tre_Katid=Kat_Katid and Kat_Odliczenia=1)
Dla odliczeń WARUNKOWO '1'='1' and exists (select * from CDN.Kategorie where Tre_Katid=Kat_Katid and Kat_Odliczenia=2)
68. Jak uzależnić księgowanie z Rejestru VAT na dane konto od tego czy dokument wpłynął maksymalnie do 20 dnia kolejnego miesiąca?
Poniższy warunek zaksięguje dokumenty, które wpłynęły maksymalnie do 20 dnia kolejnego miesiąca po miesiącu wystawienia faktury. Data księgowania w schemacie musi być ustawiona na datę wystawienia:'1'='1' and VaN_DataZap <= dateadd(day,20,DATEADD(day,-1,DATEADD(month,DATEDIFF(month,-1,Van_DataWys),0)))
Poniższy warunek zaksięguje dokumenty, które wpłynęły po 20 dniu kolejnego miesiąca po miesiącu wystawienia faktury. Data księgowania w schemacie musi być ustawiona na datę wpływu: '1'='1' and VaN_DataZap > dateadd(day,20,DATEADD(day,-1,DATEADD(month,DATEDIFF(month,-1,Van_DataWys),0)))
Warunki powinny być wklejone w polu Warunek w nagłówku schematu księgowego.
69. Jak rozksięgować dokumenty środków trwałych na podstawie kodu i wartości liczbowej atrybutu?
Przykład: środki trwałe są dzielone na projekty procentowo w danym miesiącu. Czyli środek był wykorzystywany w 20% w projekcie 1, 30% w drugim i 50% w trzecim. Każdy z projektów ma odpowiednie konto księgowe. Na karcie środka trwałego atrybuty w kodzie mają zawarte konto księgowe a wartość to udział procentowy amortyzacji w danym miesiącu. Wygląda to tak: Atrybut Kod Wartość 501-1-1 0,30 502-1-1 0,20 504-2 0,50 W schemacie księgowym w polu Konto odwołujemy się do numeru konta z kodu atrybutu@ST_AtrybutKod
a w Kwocie przeliczamy amortyzację x wartość atrybutu @ST_AtrybutWartosc*@Amortyzacja
Ewentualne korekty groszowe można wyksięgować za pomocą wyrażenia: @ST_AtrybutWartosc * @Amortyzacja - convert(decimal(14,2), @ST_AtrybutWartosc * @Amortyzacja)
70. Jak zaksięgować z poziomu rejestrów VAT dokument Tax Free z datą potwierdzenia?
W schemacie księgowym typu Rejestr sprzedaży VAT w polu Data księg. należy wpisać:@DataWyst-@DataWyst+cdn.Data_TF(VaN_VaNID)
Operator z uprawnieniami administratora może uruchomić w menu Narzędzia/ Serwer bazy danych/ Wykonywanie skryptów skrypt dodający funkcję serwerową, z której będzie korzystał schemat. CREATE function CDN.Data_TF (@VaNId Int) returns Datetime as begin declare @wynik Datetime select @wynik = (select TrN_DataPtwTaxFree from CDN.TraNag join CDN.VatNag on TrN_VaNId = VaN_VaNId AND TrN_TypDokumentu = 345 WHERE TrN_TaxFreePotwierdzony=1 AND Van_Vanid=@VaNId) return @wynik end
Dodatkowo w polu Warunek można wpisać warunek czy zapis w rejestrze VAT ma powiązanie z potwierdzonym dokumentem Tax Free: '1'='1' AND exists(select * from CDN.TraNag join CDN.VatNag on TrN_VaNId = VaN_VaNId AND TrN_TypDokumentu = 345 WHERE TrN_TaxFreePotwierdzony=1)
71. Jak sprawdzić podczas księgowania dokumentu z rejestru VAT zakupu czy był on rozliczony z delegacją?
W schemacie księgowym typu Rejestr zakupów VAT w polu Warunek należy wpisać:'1'='1' AND EXISTS (SELECT * FROM CDN.BnkZdarzenia JOIN CDN.BnkRozRelacje on BRR_DDokID=BZd_BZdID AND BRR_DDokTyp=1 JOIN CDN.BnkZapisy ON BRR_ZDokID=BZp_BZpID AND BRR_ZDokTyp=2 WHERE BZd_DokumentTyp=2 AND BZp_NumerString LIKE '%DLG%' AND BZd_DokumentId=VaN_VaNId)
72. Jak sprawdzić podczas księgowania rozliczonego z delegacją dokumentu z rejestru VAT zakupu na jakiego pracownika została wystawiona delegacja?
W schemacie księgowym typu Rejestr zakupów VAT w polu Opis należy wpisać:@Dokument + ' ' + CDN.Pracownik_DLG(VaN_VaNID)
Operator z uprawnieniami administratora może uruchomić w menu Narzędzia/ Serwer bazy danych/ Wykonywanie skryptów skrypt dodający funkcję serwerową, z której będzie korzystał schemat. Create Function CDN.Pracownik_DLG (@VanId Int) Returns VarChar(20) As Begin Declare @Kod VarChar(20) Select @Kod = PRE_Kod FROM CDN.PracEtaty JOIN CDN.BnkZapisy ON BZp_PodmiotID=PRE_PreId AND BZp_PodmiotTyp=3 JOIN CDN.BnkRozRelacje ON BRR_ZDokID = BZp_BZpID AND BRR_ZDokTyp=2 JOIN CDN.BnkZdarzenia ON BRR_DDokID=BZd_BZdID AND BRR_DDokTyp=1 WHERE BZd_DokumentId = @VanId Return @Kod End
Do powyższej funkcji można również odwołać się w polu Warunek (podając na początku kod określonego pracownika): 'KOWALSKI'= CDN.Pracownik_DLG(VaN_VaNID)
73. Jak zaksięgować dokument RW na konto księgowe zawierające numer dokumentu powiązanego zlecenia serwisowego?
Załóżmy, że dokument RW chcemy zaksięgować na konto analityczne konta 501, którego numer jest numerem zlecenia serwisowego (np. 501-SRW_1_2016). W schemacie księgowym typu Rozchody wewnętrzne w polu Konto Wn należy wpisać:LEFT(@Opis,0)+'501-'+dbo.MojaFunkcja_Numer_SRW (TrN_TrNID)
Operator z uprawnieniami administratora może uruchomić w menu Narzędzia Serwer bazy danych/ Wykonywanie skryptów skrypt dodający funkcję serwerową, z której będzie korzystał schemat. Create Function dbo.MojaFunkcja_Numer_SRW (@TrNID INT) Returns VarChar(20) As Begin Declare @numer VarChar(20) select @numer = REPLACE (SrZ_NumerPelny,'/','_') FROM CDN.SrsZlecenia JOIN CDN.DokRelacje ON DoR_ParentId=SrZ_SrZId AND DoR_ParentTyp=900 JOIN CDN.TraNag ON DoR_DokumentId=TrN_TrNID AND DoR_DokumentTyp=304 WHERE TrN_TrNID= @TrNID Return @numer End
Konta w planie kont muszą istnieć przed księgowaniem. Ewentualnie musi istnieć konto syntetyczne – jeżeli będzie zaznaczony parametr Automatyczne zakładanie kont analitycznych niesłownikowych (w Konfiguracji Firmy/ Księgowość/ Księgowość kontowa) – konta się założą.
74. Jak zaksięgować z listy płac kwotę wypłaty w gotówce dla pracownika?
Aby w dekrecie utworzonym z zaksięgowanej listy płac uzyskać kwotę wynagrodzenia wypłaconej w gotówce należy utworzyć odpowiednią funkcję serwerową, z której będzie korzystał schemat dla list płac. Operator z uprawnieniami administratora może uruchomić w menu Narzędzia/ Serwer bazy danych/ Wykonywanie skryptów skrypt dodający tę funkcję.Create Function CDN.MojaFunkcja_wyplaty_gotowka(@LplID int, @WPLID int) Returns Decimal(15,2) As Begin Declare @Kwota Decimal(15,2) Select @Kwota = Sum(BZd_KwotaSys) From CDN.BnkZdarzenia join CDN.Wyplaty on BZd_DokumentID=WPL_WplId join CDN.ListyPlac on WPL_LplId = LPL_LplId Where LPL_LplId=@LplId AND WPL_WPLID=@WPLID and BZd_DokumentTyp=8 and BZd_FPlId=1 Return IsNull(@Kwota, 0) End
Wywołanie funkcji w elemencie schematu księgowego w polu Kwota: '0' + CDN.MojaFunkcja_wyplaty_gotowka(Lpl_LplID,WPL_WPLID)
75. Jak zaksięgować listę płac z wykorzystaniem atrybutów pracownika?
Dla poszczególnych pracowników przypisano atrybuty (np. 501, 502,…) z wartościami w formie współczynników określające udziały odpowiednich kosztów wydziałowych. Chcąc zaksięgować listę płac wykorzystując wartości odpowiednich atrybutów przypisanych do pracownika należy z poziomu Narzędzia/ Serwer bazy danych/ Wykonywanie zapytań SQL dodać następującą funkcję:Create Function CDN.Wartosc_Atr_Prac (@WPLId Int, @nazwa varchar(20)) returns decimal (15,2) As Begin Declare @wartosc decimal (15,2) Select @wartosc = REPLACE (ATH_Wartosc,',','.') From CDN.OAtrybutyHist Join CDN.OAtrybuty ON ATH_OatId=OAT_OatId Join CDN.WypElementy On OAT_PrcId = WPE_PraId Join CDN.Wyplaty on WPL_WplId=WPE_WplId Where WPL_WPLId = @WPLId AND OAT_NazwaKlasy = @nazwa And (ATH_DataDo >= WPL_DataDo And WPL_DataOd >= ATH_DataOd) Return CASE WHEN ISNUMERIC(@wartosc)=1 THEN CAST (@wartosc AS DECIMAL(15,2)) ELSE 0 END End
Wywołanie funkcji w elemencie schematu księgowego w polu Kwota – przemnożenie kwoty wynagrodzenia brutto przez wartość odpowiedniego współczynnika: @WynagrodzenieBrutto * CDN.Wartosc_Atr_Prac (WPL_WPLId, '501')
76. Jak zaksięgować różnice kursowe od kwoty netto i VAT odpowiednio na konta KUP i NKUP?
Zakładamy, że dokument od kontrahenta krajowego w walucie obcej został wprowadzony z poziomu rejestru VAT i na zakładce [Waluta] dokumentu zaznaczony jest parametr Płatność VAT w PLN. W takim przypadku w Preliminarzu tworzone są 2 płatności z dokumentu – jedna na kwotę netto w walucie obcej, a druga na kwotę VAT w PLN. Jeżeli zapłata za fakturę nastąpiła w walucie obcej na kwotę brutto dokumentu, wówczas (po zmianie na płatności dotyczącej kwoty VAT waluty rozliczenia z PLN na walutę obcą) w Kasa/Bank / Różnice kursowe powstają 2 różnice kursowe. Chcąc zaksięgować je na 2 różne konta należy w schemacie o typie Różnice kursowe dodać osobne pozycje z odmiennymi kontami i warunkami:a) Zaksięgowanie różnicy od kwoty netto na konta KUP – w polu Konto Wn / Konto Ma należy wskazać odpowiednie konta księgowe, jako kwotę wybrać @RoznicaMinus lub @RoznicaPlus, natomiast w polu Warunek wpisać:
'1'='1' AND (EXISTS (Select * FROM CDN.BnkZdarzenia Join CDN.VatNag On BZd_DokumentID=VaN_VaNID Where ((BRKV_LDokID=BZd_BZdID AND BRKV_LDokTyp=1) OR (BRKV_PDokID=BZd_BZdID AND BRKV_PDokTyp=1)) AND BZd_DokumentTyp=2 AND VaN_TrybNettoVAT=1 AND BZd_WalutaDok <> '' ))
b) Zaksięgowanie różnicy od kwoty VAT na konta NKUP – w polu Konto Wn / Konto Ma należy wskazać odpowiednie konta księgowe, jako kwotę wybrać @RoznicaMinus lub @RoznicaPlus, natomiast w polu Warunek wpisać:
'1'='1' AND (EXISTS (Select * FROM CDN.BnkZdarzenia Join CDN.VatNag On BZd_DokumentID=VaN_VaNID Where ((BRKV_LDokID=BZd_BZdID AND BRKV_LDokTyp=1) OR (BRKV_PDokID=BZd_BZdID AND BRKV_PDokTyp=1)) AND BZd_DokumentTyp=2 AND VaN_TrybNettoVAT=1 AND BZd_WalutaDok = '' ))
77. Jak zaksięgować sumę wypłat wynagrodzeń pracowników z raportu K/B jako pojedynczy zapis?
W raporcie kasowym/bankowym znajdują się zapisy z wypłatami wynagrodzeń poszczególnych pracowników (zawierających w opisie słowo „Wynagrodzenie”) które chcemy zaksięgować jedną zbiorczą kwotą. W tym celu należy z poziomu Narzędzia/ Serwer bazy danych/ Wykonywanie zapytań SQL dodać następującą funkcję:Create Function [CDN].[SumaWynagrodzen] (@BRPid int, @BZPid int) Returns Decimal (15,2) As Begin Declare @Wynik Decimal(15,2) Select @Wynik = CASE WHEN (SELECT min(BZp_BZpID) FROM CDN.BnkZapisy WHERE BZp_BRpID=@BRPid and BZp_PodmiotTyp=3 and BZp_Opis like 'Wynagrodzenie%') = @BZPid THEN isnull (sum(BZp_Kwota),0) Else 0 End From CDN.BnkZapisy Where BZp_BRpID=@BRPid and BZp_PodmiotTyp=3 and BZp_Opis like'Wynagrodzenie%' return IsNull(@wynik,0) End
Wywołanie funkcji w elemencie schematu księgowego w polu Kwota: '0'+CDN.SumaWynagrodzen (BRp_BRpID, BZp_BZpID)
78. Jak zaksięgować kwotę VAT w podziale na stawki z dokumentów w procedurze OSS?
Dostępne na schematach księgowych makra dotyczące kwot dla stawek VAT odnoszą się do stawek obowiązujących w Polsce. W celu zaksięgowania z dokumentu w procedurze OSS kwoty VAT w podziale na stawki obowiązujące w innych krajach Unii Europejskiej należy odwołać się do tej stawki w warunku pozycji schematu. W przypadku księgowania Faktur sprzedaży z poziomu modułu Handel/Faktury należy na pozycji schematu wskazać odpowiednie konto księgowe dla VAT-u należnego w danej stawce, w polu Kwota wpisać:@PozBrutto - @PozNetto
natomiast w polu Warunek: '1'='1' and TrE_Stawka='13.00'
W przypadku księgowania dokumentów z poziomu Rejestru VAT sprzedaży, w polu Kwota pozycji schematu należy wpisać: @Vat
natomiast w polu Warunek: '1'='1' and VaT_Stawka='13.00'
Chcąc zaksięgować kwoty Netto lub Brutto dla określonej w warunku stawki, w polu Kwota pozycji schematu należy wpisać dla Faktur sprzedaży @PozNetto lub @PozBrutto, natomiast w przypadku księgowania z poziomu Rejestru VAT sprzedaży – odpowiednio @Netto lub @Brutto.OPT022 - Przykłady schematów księgowych w Comarch ERP Optima
Data aktualizacji: 28-11-2018
Prosty schemat dla księgowania raportów kasowych/bankowych
Konto Wn | Konto Ma | Słownik | Kwota | Warunek |
---|---|---|---|---|
@KontoRach | @KontoPrzeciw | Podmioty | @Przychod | |
@KontoPrzeciw | @KontoRach | Podmioty | @Rozchod | |
@KontoDodatWn | @KontoDodatMa | Podmioty | @KwotaDodat |
Prosty schemat dla księgowania walutowych raportów kasowych/bankowych uwzględniający księgowanie zapisów na konta walutowe i PLN
Lp. | Konto Wn | Konto Ma | Słownik | Kwota | Księg. walut | Warunek |
---|---|---|---|---|---|---|
1 | @KontoRach | brak | @Rozchod | tak | ||
2 | @KontoPrzeciw | Podmioty | @Rozchod | tak | @KontoPrzeciw <>'149' | |
3 | @KontoRach | brak | @Przychod | tak | ||
4 | @KontoPrzeciw | Podmioty | @Przychod | tak | @KontoPrzeciw <>'149' | |
5 | @KontoPrzeciw | brak | @Przychod | nie | @KontoPrzeciw ='149' | |
6 | @KontoPrzeciw | brak | @Rozchod | nie | @KontoPrzeciw ='149' |
Schemat księgowy dla raportów kasowych/bankowych uwzględniający księgowanie zapisów w PLN i walucie obcej
Pozycja 1 – sprawdza czy waluta rozliczenia jest w PLN i księguje rozchód w PLN Pozycja 2 – jak wyżej tylko dla przychodu. Pozycja 3 – sprawdza czy waluta dokumentu to PLN, waluta rozliczenia inna od PLN a konto rachunku jest złotówkowe, jeśli tak, księguje rozchód w PLN. Pozycja 4 – sprawdza czy waluta dokumentu oraz waluta rozliczenia jest różna od PLN a konto rachunku jest w walucie, jeśli tak, księguje rozchód w walucie. Pozycja 5 – sprawdza czy waluta dokumentu oraz waluta rozliczenia jest różna od PLN a konto rachunku jest w PLN, jeśli tak, księguje rozchód w PLN. Pozycja 6 – sprawdza czy waluta rozliczenia jest różna od PLN i księguje rozchód w walucie Pozycje 7 – jak wyżej tylko dla przychodu. Pozycja 8 – sprawdza czy waluta dokumentu to PLN, waluta rozliczenia inna od PLN a konto rachunku jest złotówkowe, jeśli tak, księguje przychód w PLN. Pozycja 9 – sprawdza czy waluta dokumentu oraz waluta rozliczenia jest różna od PLN a konto rachunku jest w walucie, jeśli tak, księguje przychód w walucie. Pozycja 10 – sprawdza czy waluta dokumentu oraz waluta rozliczenia jest różna od PLN a konto rachunku jest w PLN, jeśli tak, księguje przychód w PLN.Lp. | Konto Wn | Konto Ma | Słownik | Kwota | Księg. walut | Warunek |
---|---|---|---|---|---|---|
1 | @KontoRach | 201-1-1 | Podmioty | @Przychod | nie | @RozliczenieWaluta ='PLN' |
2 | 202-1-1 | @KontoRach | Podmioty | @Rozchod | nie | @RozliczenieWaluta ='PLN' |
3 | @KontoRach | brak | @Rozchod | nie | @RozliczenieWaluta <>'PLN' AND @Waluta ='PLN' AND @KontoRach ='131' | |
4 | @KontoRach | brak | @Rozchod | tak | @RozliczenieWaluta <>'PLN' AND @Waluta <>'PLN' AND @KontoRach ='135' | |
5 | @KontoRach | brak | @Rozchod | nie | @RozliczenieWaluta <>'PLN' AND @Waluta <>'PLN' AND @KontoRach ='131' | |
6 | 203 | podmioty | @Rozchod | tak | @RozliczenieWaluta <>'PLN' | |
7 | 203 | podmioty | @Przychod | tak | @RozliczenieWaluta <>'PLN' | |
8 | @KontoRach | brak | @Przychod | nie | @RozliczenieWaluta <>'PLN' AND @Waluta ='PLN' AND @KontoRach ='131' | |
9 | @KontoRach | brak | @Przychod | tak | @RozliczenieWaluta <>'PLN' AND @Waluta <>'PLN' AND @KontoRach ='135' | |
10 | @KontoRach | brak | @Przychod | nie | @RozliczenieWaluta <>'PLN' AND @Waluta <>'PLN' AND @KontoRach ='131' |
Schemat dla księgowania faktur zakupu z Rejestru VAT - z wykorzystaniem segmentów kont na kategoriach
Scenariusz postępowania:- W Ogólne/ Kategorie dodając Kategorię wpisujemy na zakładce Dodatkowe, w polach Konto-segment Wn i/lub Konto-segment Ma, konto księgowe odpowiadające tej kategorii np. kategoria MAT. BIUROWE, Konto-segment Wn: 401-01-03, kategoria: ENERGIA, Konto-segment Wn: 401-01-05
- W Rejestry VAT/Rejestry VAT/Rejestr zakupu dodajemy fakturę, na której dodajemy pozycje np. w kolumnie Kategoria: MAT. BIUROWE, odpowiednia stawka VAT, kwota netto itd. i w drugiej pozycji Kategoria: ENERGIA, odpowiednia stawka, kwota netto itd.
Konto Wn | Konto Ma | Słownik | Kwota | Warunek |
---|---|---|---|---|
202-2-1 | Podmioty | @Brutto | ||
221-1 | brak | @Vat | ||
@KatElemKontoWn | brak | @Netto | ||
@KontoDodatWn | @KontoDodatMa | Podmioty | @KwotaDodat |
Schemat dla księgowania faktur zaliczkowych i zwykłych z modułu Faktury
Poniższe schematy umożliwiają księgowanie zarówno faktur zwykłych jak i faktur zaliczkowych oraz faktur finalnych do zaliczkowych. Ostatnia pozycja w schematach pozwala na automatyczne wyksięgowania dotychczasowych zaliczek netto w celu przeksięgowania ich na konto przychodów ze sprzedaży. Schemat księgowy:Konto Wn | Konto Ma | Słownik | Kwota | Warunek |
---|---|---|---|---|
201-2-1 | Podmioty | @Brutto | ||
221-2 | brak | @Vat | ||
842-2 | brak | @Netto | @CzyZaliczkowa ='TAK' | |
731-2 | brak | @Netto | @CzyZaliczkowa ='FINALNA' OR @CzyZaliczkowa ='NIE' | |
842-2 | 731-2 | brak | @ZalNetto | @CzyZaliczkowa ='FINALNA' |
Konto Wn | Konto Ma | Słownik | Kwota | Warunek |
---|---|---|---|---|
201-2-1 | Podmioty | @Brutto | ||
221-2 | brak | @Vat | ||
842-2 | brak | @Netto | @CzyZaliczkowa ='TAK' | |
731-2 | Towary | @PozNetto | @CzyZaliczkowa ='FINALNA' OR @CzyZaliczkowa ='NIE' | |
842-2 | brak | @ZalNetto | @CzyZaliczkowa ='FINALNA' |
Zaliczki pracowników
Scenariusz postępowania 1: zaliczka jest na kwotę równą fakturze zakupu:- pracownik pobiera zaliczkę z kasy np. 150 zł – w menu Kasa/Bank -> Zapisy Kasowe/Bankowe dodajemy dokument rozchodowy (KW), wybierając jako podmiot Pracownika.
- pracownik przynosi fakturę zakupu (FZ) np. na kwotę 150 zł, która została zapłacona ww. zaliczką 150 zł – dodajemy zapis w menu Rejestry VAT/Rejestry VAT/ zakładka: Rejestr zakupu:
- na pierwszej zakładce wybieramy kontrahenta, który widnieje na FZ i uzupełniamy pozostałe dane,
- na zakładce Kontrahent, klikamy na przycisk Pracownik i wybieramy naszego zaliczkobiorcę,
- w tabelce powyżej pojawi się lista zaliczek, w naszym przykładzie jedno KW na kwotę 150 zł, klikamy dwukrotnie w kolumnę Użyj, wybieramy TAK, w kolumnie Kwota wpisujemy 150 zł.
- zapisujemy dokument.
- pracownik pobiera zaliczkę z kasy np. 250 zł – w menu Kasa/Bank -> Zapisy Kasowe/Bankowe dodajemy dokument rozchodowy (KW), wybierając jako podmiot Pracownika.
- pracownik przynosi fakturę zakupu (FZ) np. na kwotę 150 zł, która została zapłacona ww. zaliczką 150 zł, resztę zaliczki pracownik zwraca do kasy (100 zł) – dodajemy zapis w menu Rejestry VAT/Rejestry VAT/ zakładka: Rejestr zakupu:
- na pierwszej zakładce wybieramy kontrahenta, który widnieje na FZ i uzupełniamy pozostałe dane,
- na zakładce Kontrahent, klikamy na przycisk Pracownik i wybieramy naszego zaliczkobiorcę,
- w tabelce powyżej pojawi się lista zaliczek, w naszym przykładzie jedno KW na kwotę 150 zł, klikamy dwukrotnie w kolumnę Użyj, wybieramy TAK, w kolumnie Kwota wpisujemy 150 zł,
- zapisujemy dokument.
- 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.
- pracownik pobiera zaliczkę z kasy np. 150 zł – w menu Kasa/Bank -> Zapisy Kasowe/Bankowe dodajemy dokument rozchodowy (KW), wybierając jako podmiot Pracownika.
- pracownik przynosi fakturę zakupu (FZ) np. na kwotę 250 zł, która została zapłacona ww. zaliczką 150 zł, pozostała część płatności faktury pozostaje do rozliczenia (100 zł) – dodajemy zapis w menu Rejestry VAT/Rejestry VAT/zakładka: Rejestr zakupu:
- na pierwszej zakładce wybieramy kontrahenta, który widnieje na FZ i uzupełniamy pozostałe dane,
- na zakładce Kontrahent, klikamy na przycisk Pracownik i wybieramy naszego zaliczkobiorcę,
- w tabelce powyżej pojawi się lista zaliczek, w naszym przykładzie jedno KW na kwotę 150 zł, klikamy dwukrotnie w kolumnę Użyj, wybieramy TAK, w kolumnie Kwota wpisujemy 150 zł,
- zapisujemy dokument.
Konto Wn | Konto Ma | Słownik | Kwota | Warunek |
---|---|---|---|---|
@KatElemKontoWn | @Netto | |||
221-1 | @VAT | |||
202-2-1 | Podmioty | @Brutto | ||
202-2-1 | Podmioty | @PlatZaliczka | @TypPodmiotu ='kontrahent' AND @TypZaliczkobiorcy ='pracownik' | |
234 | Zaliczkobiorcy | @PlatZaliczka | @TypPodmiotu ='kontrahent' AND @TypZaliczkobiorcy ='pracownik' |
Konto Wn | Konto Ma | Słownik | Kwota | Warunek |
---|---|---|---|---|
@KatElemKontoWn | @Netto | |||
221-1 | @VAT | |||
202-2-1 | Podmioty | @Brutto | @TypPodmiotu ='kontrahent' AND @TypZaliczkobiorcy <>'pracownik' | |
234 | Zaliczkobiorcy | @Brutto | @TypPodmiotu ='kontrahent' AND @TypZaliczkobiorcy ='pracownik' |
Przykładowy schemat do księgowania różnic kursowych
Przykład schematu dla Comarch ERP Optima w wersji 8.5 lub wyższej.Konto Wn | Konto Ma | Słownik | Kwota | Księgowanie walutowe | Warunek |
---|---|---|---|---|---|
204 | Podmioty | @RoznicaPlus | TAK | @TypRozl ='FZK-KP' OR @TypRozl ='FZ-FZK' OR @TypRozl ='FZ-KW' | |
204 | Podmioty | @RoznicaMinus | TAK | @TypRozl ='FZK-KP' OR @TypRozl ='FZ-FZK' OR @TypRozl ='FZ-KW' | |
752-5 | brak | @RoznicaPlus | NIE | ||
751-4 | brak | @RoznicaMinus | NIE | ||
203 | Podmioty | @RoznicaPlus | TAK | @TypRozl ='FSK-FS' OR @TypRozl ='FSK-KW' OR @TypRozl ='FS-KP' | |
203 | Podmioty | @RoznicaMinus | TAK | @TypRozl ='FSK-FS' OR @TypRozl ='FSK-KW' OR @TypRozl ='FS-KP' |
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:
Konto Wn | Konto Ma | Słownik | Kwota | Warunek |
---|---|---|---|---|
202-2-1 | Podmioty | @KwotaRoz1 | ||
201-2-1 | Podmioty2 | @KwotaRoz1 |

Konto Wn | Konto Ma | Słownik | Kwota | Warunek |
---|---|---|---|---|
202-2-1 | Podmioty | @KwotaRoz1 | @TypRozl ='FZ-FS' | |
201-2-1 | Podmioty2 | @KwotaRoz1 | @TypRozl ='FZ-FS' | |
202-2-1 | Podmioty | @KwotaRoz1 | @TypRozl ='KW-KP' | |
201-2-1 | Podmioty2 | @KwotaRoz1 | @TypRozl ='KW-KP' |
- 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.
OPT077- Automatyczne rozliczenia i rozrachunki
Data aktualizacji: 28-11-2018
1 Informacje ogólne
W Konfiguracji Firmy/ Księgowość/Księgowość kontowa dostępny jest parametr Automatyczne rozliczenia i rozrachunki. Po jego zaznaczeniu oraz po odpowiednim skonfigurowaniu programu będą automatycznie łączone rozliczenia prowadzone w module Kasa/Bank z rozrachunkami dokonywanymi na kontach księgowych w module Księga Handlowa lub Księga Handlowa Plus.- Zasada 1: Jeżeli płatności są już rozliczone i następuje księgowanie dokumentów, to ich dekrety rozrachowują się automatycznie.
- Zasada 2: Po rozliczeniu płatności/ zapisu kasowego/bankowego rozrachowują się związane z nimi dekrety.
- Zasada 3: Nierozliczone płatności/zapisy K/B do zaksięgowanych dokumentów rozliczą się automatycznie w momencie rozrachowania odpowiadającym im dekretów.
2 Od czego zacząć?
Aby następowało automatyczne rozliczenie i rozrachowanie należy:- W Konfiguracji Firmy/Księgowość/Księgowość kontowa zaznaczyć parametr Automatyczne rozliczenia i rozrachunki
- Odpowiednio zdefiniować schematy księgowe (na pozycji schematu księgowego zaznaczyć opcję Rozrachunek, w Kwocie odwołać się do makra @KwotaPlatnosci)
- Zdecydować czy różnice kursowe i kompensaty mają być generowane w momencie rozrachowywania z poziomu rozrachunków, czy będą księgowane schematami księgowymi z poziomu modułu Kasa/Bank (w Konfiguracji Firmy/Księgowość/Księgowość kontowa dostępny jest parametr Generowanie zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków)
2.1 Definiowanie schematów księgowych
Automatyczne rozliczenia i rozrachunki dokonują się prawidłowo tylko w sytuacji gdy schematy księgowe użyte do zaksięgowania dokumentów są zbudowane we właściwy sposób. Niezbędne jest zdefiniowanie schematów, w których:- w elemencie schematu księgowego zaznaczony jest parametr Rozrachunek,
- w Kwocie jest odwołanie do makra @KwotaPlatnosci (na pozycji schematu należy wybrać Kwota/ Płatności/ Kwota płatności). Wynika to z zasady, że dokonujemy rozrachunku dekretów odpowiadających rozliczanym płatnościom.

W jaki sposób zostaną zaksięgowane dokumenty?
- Jeżeli w polu Konto i/lub Kwota następuje odwołanie do makr związanych z płatnościami oraz wybrany jest Podział na słowniki: Płatnicy to tworzy się tyle pozycji ile jest płatności na Podmiot wybrany na płatności. Jeżeli w polu Kwota następuje odwołanie do makra @Brutto to każdy dekret utworzony zostanie na kwotę brutto z dokumentu.
- Jeżeli w polu Konto i/lub Kwota następuje odwołanie do makr związanych z płatnościami oraz wybrany jest Podział na słowniki: Podmioty to tworzy się tyle pozycji ile jest płatności na Podmiot wybrany na dokumencie w polu Kontrahent.
- Jeżeli w polu Konto i/lub Kwota nie następuje odwołanie do makr związanych z płatnościami i wybrany jest Podział na słowniki: Płatnicy to tworzy się jeden dekret na Płatnika wybranego w nagłówku dokumentu w kwocie zależnej od liczby płatności (wartość jest zwielokrotniona gdy występuje więcej niż jedna płatność).
- Jeżeli w polu Konto i/lub Kwota nie następuje odwołanie do makr związanych z płatnościami i wybrany jest Podział na słowniki: Podmioty to tworzy się jeden dekret na Podmiot wybrany na dokumencie w polu Kontrahent.


2.2 Bilans otwarcia i ręcznie wprowadzane zapisy księgowe
Funkcjonalność automatycznych rozliczeń i rozrachunków działa nie tylko dla dekretów powstałych z księgowania schematem księgowym, ale również dla pozycji bilansu otwarcia i dla dekretów ręcznie wprowadzanych z poziomu Księgowość/Dzienniki. Ważne jednak jest aby na pozycjach bilansu otwarcia i/lub ręcznie wprowadzanych dekretach, które mają podlegać funkcji automatycznych rozliczeń i rozrachunków, zaznaczone były parametry Rozrachunek i Generowanie płatności.3 Automatyczne rozliczenia i rozrachunki – jak to działa?
Funkcjonalność automatycznych rozliczeń i rozrachunków polega na tym, że:- Zasada 1: w momencie zaksięgowania dokumentów już ze sobą rozliczonych dekrety automatycznie się rozrachowują
- Zasada 2: w momencie rozliczenia płatności/ zapisu K/B do zaksięgowanych dokumentów automatycznie rozrachowują się związane z nimi dekrety
- Zasada 3: w momencie rozrachowania dekretów odpowiadające im nierozliczone płatności/ zapisy kasowe/bankowe rozliczają się automatycznie

4 Kompensaty i różnice kursowe
Możemy zdecydować, czy kompensaty i różnice kursowe mają być generowane w momencie rozrachowywania z poziomu rozrachunków czy będą księgowane schematami księgowymi z poziomu modułu Kasa/Bank – zależne jest to od parametru Generowanie zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków dostępnego w Konfiguracji Firmy/Księgowość/Księgowość kontowa (pod uwagę brane są kompensaty z poziomu Kasa/Bank/Dokumenty rozliczone, a nie Dokumenty kompensat z poziomu Kasa/Bank/ Dokumenty kompensat).4.1 Zaznaczony parametr Generowanie zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków
Jeżeli w Konfiguracji parametr o generacji zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków jest zaznaczony, to na formularzu okresu obrachunkowego w Konfiguracji Firmy/Księgowość/Okresy obrachunkowe należy wskazać dzienniki księgowań oraz daty księgowania dla dekretu różnicy kursowej oraz dekretu kompensaty generowanych podczas rozliczania rozrachunków w „tle” lub podczas dokonywania rozrachunków z listy rozrachunków nierozrachowanych lub z pozycji dekretu z zakładki Rozrachunki.


- Rozliczenie pomiędzy P1 i P2 -> w module Kasa/Bank powstaje dokument różnicy kursowej RK i kompensata KOMP.
- Księgowanie Dok2 schematem odwołującym się do makra @KwotaPlatnosci -> tworzy się dekret Dek2.
- System automatycznie generuje rozrachunek pomiędzy Dek1 a Dek2.
- Powstają dekrety Dek3 RK oraz Dek4 KOMP, które zostają automatycznie powiązane z kompensatą i różnicą kursową wygenerowanymi w module Kasa/Bank. Zarówno różnica kursowa, jak i kompensata na liście dokumentów w Kasa/Bank widnieją w kolorze niebieskim. Podgląd zapisu księgowego wskazuje dekret kompensaty lub dekret różnicy kursowej.
- Księgujemy Dok2 schematem odwołującym się do makra @KwotaPlatnosci -> tworzy się dekret Dek2.
- Rozliczamy płatności P1 i P2 -> w module Kasa/Bank powstaje dokument różnicy kursowej RK i kompensata KOMP. System automatycznie generuje rozrachunek pomiędzy Dek1 a Dek2.
- Powstają dekrety Dek3 RK oraz Dek4 KOMP, które zostają automatycznie powiązane z kompensatą i różnicą kursową wygenerowanymi w module Kasa/Bank. Zarówno różnica kursowa, jak i kompensata na liście dokumentów w Kasa/Bank widnieją w kolorze niebieskim. Podgląd zapisu księgowego wskazuje dekret kompensaty lub dekret różnicy kursowej.
- Księgujemy Dok2 schematem odwołującym się do makra @KwotaPlatnosci -> tworzy się dekret Dek2.
- Z poziomu Księgowość/Rozrachunki lub z poziomu zapisu księgowego rozrachowujemy Dek1 z Dek2.
- W momencie rozrachowywania pojawia się formatka z propozycją zapisu polecenia księgowania dla powstałej różnicy kursowej i kompensaty.
- Po zatwierdzeniu formatki powstają dekrety Dek3 RK oraz Dek4 KOMP, które zostają automatycznie powiązane z kompensatą i różnicą kursową wygenerowanymi w module Kasa/Bank. Zarówno różnica kursowa, jak i kompensata na liście dokumentów w Kasa/Bank widnieją w kolorze niebieskim. Podgląd zapisu księgowego wskazuje dekret kompensaty lub dekret różnicy kursowej.

4.2 Odznaczony parametr Generowanie zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków
Jeżeli w Konfiguracji parametr o generacji zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków jest odznaczony, wówczas dekrety RK i KOMP nie powstają w momencie rozrachunku, różnice kursowe i kompensaty wygenerowane w module Kasa/Bank należy księgować schematem księgowym.
- Rozliczenie pomiędzy P1 i P2 -> w module Kasa/Bank powstaje dokument różnicy kursowej RK i kompensata KOMP.
- Księgowanie Dok2 schematem odwołującym się do makra @KwotaPlatnosci -> tworzy się dekret Dek2.
- System automatycznie generuje rozrachunek pomiędzy Dek1 a Dek2.
- Z poziomu Kasa/Bank/ Dokumenty rozliczone księgujemy kompensatę -> powstaje dekret Dek3 KOMP.
- Dekret kompensaty zostaje automatycznie powiązany z rozrachunkami.
- Z poziomu Kasa/Bank/ Różnice kursowe księgujemy różnicę kursową -> powstaje dekret Dek4 RK.
- Dekret różnicy kursowej zostanie automatycznie powiązany z rozrachunkami.
- Księgujemy Dok2 schematem odwołującym się do makra @KwotaPlatnosci -> tworzy się dekret Dek2.
- Rozliczamy płatności P1 i P2 -> w module Kasa/Bank powstaje dokument różnicy kursowej RK i kompensata KOMP.
- System automatycznie generuje rozrachunek pomiędzy Dek1 a Dek2.
- Z poziomu Kasa/Bank/ Dokumenty rozliczone księgujemy kompensatę -> powstaje dekret Dek3 KOMP.
- Dekret kompensaty zostaje automatycznie powiązany z rozrachunkami.
- Z poziomu Kasa/Bank/ Różnice kursowe księgujemy różnicę kursową -> powstaje dekret Dek4 RK.
- Dekret różnicy kursowej zostaje automatycznie powiązany z rozrachunkami.
- Księgujemy Dok2 schematem odwołującym się do makra @KwotaPlatnosci -> tworzy się dekret Dek2.
- Z poziomu Księgowość/ Rozrachunki lub z poziomu zapisu księgowego rozrachowujemy Dek1 z Dek2.
- System automatycznie rozliczył dokumenty Dok1 i Dok2.
- Z poziomu Kasa/Bank/ Dokumenty rozliczone księgujemy kompensatę -> powstaje dekret Dek3 KOMP.
- Dekret kompensaty zostaje automatycznie powiązany z rozrachunkami.
- Z poziomu Kasa/Bank/ Różnice kursowe księgujemy różnicę kursową -> powstaje dekret Dek4 RK.
- Dekret różnicy kursowej zostaje automatycznie powiązany z rozrachunkami.
4.3 Usuwanie od strony rozliczenia
Jeżeli rozliczenie jest połączone z rozrachunkiem to usunięcie rozliczenia z poziomu modułu Kasa/Bank nie jest możliwe, pojawia się komunikat: Nie można usunąć rozliczenia powiązanego z rozrachunkiem. Należy usunąć rozrachunek z poziomu Księgowość/Rozrachunki. Jeżeli na dekrecie zaznaczony jest parametr Rozrachunek bez rozliczenia w K/B to usunięcie rozliczenia jest możliwe ze względu na brak powiązania pomiędzy rozliczonymi płatnościami i rozrachowanymi dekretami. Usunięcie rozliczenia w takim przypadku nie powoduje usunięcia rozrachunku.4.4 Usuwanie od strony rozrachunku
Możliwość usuwania automatycznie wygenerowanych rozliczeń i rozrachunków istnieje tylko od strony rozrachunków. Przy próbie usunięcia rozrachunku powiązanego z rozliczeniem (zarówno z listy rozrachunków rozrachowanych, jak i z pozycji dekretu z zakładki Rozrachunki) pojawia się komunikat: Rozrachunek połączony z rozliczeniem. Czy usunąć rozliczenie? Zaakceptowanie komunikatu powoduje usunięcie rozrachunku wraz z rozliczeniem. Wybór opcji Nie powoduje usunięcie tylko rozrachunku, rozliczenie w module Kasa/Bank pozostaje.
4.5 Ponowne rozrachowanie wcześniej usuniętych rozrachunków połączonych z automatycznymi rozliczeniami
Jeżeli rozrachunki były połączone z rozliczeniami i dokonano usunięcia rozrachunku, ale nie zostały usunięte rozliczenia (dekret różnicy kursowej i/lub dekret kompensaty jest zatwierdzony na czysto, Użytkownik ma zakaz usuwania dekretów z dziennika lub zakaz do konta lub zrezygnowano z usunięcia rozliczenia podczas usuwania rozrachunku) to podczas ponownego generowania rozrachunku na tę samą kwotę połączą się one z wcześniej wygenerowanymi rozliczeniami pod warunkiem, że nie dokonano modyfikacji dekretów. W przypadku braku zgodności pojawia się komunikat: Wystąpił błąd podczas rozliczania dokumentów kasowych/bankowych. Rozliczenie niemożliwe. Dokument [Nr dokumentu] jest już rozliczony. Podczas ponownego dokonywania rozrachunku należy zrezygnować z generowania dekretu różnicy kursowej i/lub dekretu kompensaty (lub odznaczyć w Konfiguracji parametr o generacji zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków i wskazać podczas dokonywania rozrachunku dekret różnicy kursowej). Po wskazaniu dekret różnicy kursowej połączy się z rozrachunkiem. Nie ma możliwości wskazania dokumentu kompensaty. Użytkownik powinien go wcześniej usunąć.5 Co jeszcze warto wiedzieć?
5.1 Dokumenty walutowe z VAT w PLN
Dokumenty walutowe z zaznaczonym parametrem Płatność VAT w PLN generują dwie płatności w dwóch różnych walutach (jedna płatność na kwotę netto w walucie obcej i druga na kwotę VAT w walucie PLN). Dlatego też, aby nastąpiło automatycznie rozliczenie i rozrachowanie po zaksięgowaniu takiego dokumentu muszą powstać dwa dekrety na kwotę i w walucie odpowiadającej tym płatnościom. Jeżeli dokument będzie zaksięgowany w kwocie brutto w walucie dokumentu podczas rozliczania nie nastąpi automatyczne rozrachowanie dekretów.5.2 Blokowanie pól na płatnościach/ dekretach
Jeżeli w Konfiguracji firmy jest włączony parametr Automatyczne rozliczenia i rozrachunki, to w celu uniknięcia niezgodności pomiędzy danymi na płatności, a danymi:- na dekretach powstałych po zaksięgowaniu makrem @KwotaPlatnosci,
- na dekretach powstałych po zaksięgowaniu raportów kasowych/bankowych,
- na dekretach powstałych po zaksięgowaniu dokumentu różnicy kursowej i/lub dokumentu kompensaty z poziomu modułu Kasa/Bank,
- predekretacji dokumentów w wyżej wymienionych przypadkach,
5.3 Zakładka [Dokumenty]
Na pozycji zapisu księgowego dostępna jest zakładka [Dokumenty]. Na zakładce pokazywane są wszystkie dokumenty powiązane z danym rozrachunkiem. Można podglądnąć nagłówek drugiego dokumentu PK, RK i KOMP. Na pozycji dekretu różnicy kursowej i dekretu kompensaty pokazywane jest powiązanie z nagłówkami dekretów rozliczanych. Jeżeli zapis księgowy różnicy kursowej i/lub zapis księgowy kompensaty powstanie po zaksięgowaniu tych dokumentów z poziomu modułu Kasa/Bank i posiada kilka pozycji to każda z tych pozycji ma widoczne powiązanie z dekretami rozrachunku głównego.
5.4 Powiązanie rozliczeń pomiędzy modułami – podgląd
W programie istnieje możliwość podglądu powiązań pomiędzy rozliczeniami prowadzonymi w module Kasa/Bank a rozrachunkami dokonywanymi na kontach księgowych. Jeżeli w Konfiguracji Firmy/ Księgowość/ Parametry wybrano Rodzaj księgowości: Księgowość kontowa oraz w Konfiguracji Firmy/ Księgowość/ Księgowość kontowa zaznaczono parametr Automatyczne rozliczenia i rozrachunki, po dokonaniu rozliczenia w module Kasa/Bank widoczna jest ikona

- Księgowość/ Rozrachunki/ Rozrachunki, zakładka [Rozrachowane],
- formularza Polecenia Księgowania oraz formularza BO,
- formularza dekretu, z każdej zakładki oraz pozycji BO.
- formularza zapisu księgowego różnicy kursowej,
- Księgowość/ Rozrachunki/ Rozrachunki, zakładka [Rozrachowane], jeżeli na liście podświetlony jest dekret podrzędny różnicy kursowej,
- formularza dekretu różnicy kursowej, z każdej zakładki,
- Preliminarza płatności,
- listy zapisów kasowych/bankowych,
- formularza zdarzenia w Preliminarzu płatności lub formularza zapisu kasowego/bankowego, z każdej zakładki.
5.5 Zapisywanie dekretu w momencie dodawania rozrachunku
Aby można było dokonać rozrachunku z poziomu dekretu księgowego, to na moment generowania rozrachunku zapis księgowy musi się bilansować. W przeciwnym wypadku przy próbie dodania rozrachunku (po kliknięciu na ikonę plusa na zakładce Rozrachunki) pojawi się komunikat: Nie można dokonać rozrachunku. Nie można zapisać dokumentu niezbilansowanego. Kwota niezbilansowana XXXX. Jeżeli na dokument polecenia księgowania wprowadzamy zapis powodujący bilansowanie całego PK i od razu dokonujemy jego rozrachowania na zakładce Rozrachunki, to dekrety zostają zapisane do bazy danych już w momencie ich rozrachowania. Po dokonaniu rozrachunku dokument PK pozostaje otwarty i można wprowadzać na nim kolejne dekrety. Rozrachunek zapisuje się do bazy danych w czasie rzeczywistym stąd zamknięcie okna bez zapisywania zmian nie działa. Rozrachunek należy usunąć za pomocą ikony kosza. Jeżeli na dokumencie PK nie uzupełniono pola Numer dokumentu to w momencie próby dokonania rozrachunku po kliknięciu w ikonę plusa pojawia się komunikat: Nie można dokonać rozrachunku. Brak numeru dokumentu na zapisie księgowym.5.6 Moduły operatora
W przypadku pracy na bazie danych z włączoną opcją automatycznych rozliczeń i rozrachunków podczas rozliczania dokumentów automatycznie dokonywane są rozrachunki, nawet jeśli zalogowany operator który dokonuje rozliczenia nie ma pobranego modułu Księga Handlowa lub Księga Handlowa Plus.5.7 Data rozliczenia/ rozrachunku
Dokonanie rozrachunku z odpowiednią datą powoduje wygenerowanie rozliczenia w module Kasa/Bank z tą samą datą. Analogicznie dokonanie rozliczenia powoduje wygenerowanie rozrachunku na kontach księgowych z tą samą datą.Księgowanie dokumentów rozliczonych wcześniej w module Kasa/Bank lub rozliczanie w module Kasa/Bank zaksięgowanych wcześniej dokumentów | Generowanie rozrachunków z poziomu Księgowość/ Rozrachunki/ Rozrachunki zakładka [Nierozrachowane] lub z pozycji dekretu z zakładki [Rozrachunki] | |
---|---|---|
Data księgowania RK/KOMP w Konfiguracji jako data ROZRACHUNKU | data rozrachunku = data rozliczenia data dekretu RK/KOMP = data rozliczenia |
data rozliczenia = data rozrachunku data dekretu RK/KOMP = data rozrachunku |
Data księgowania RK/KOMP w Konfiguracji jako data BIEŻĄCA | data rozrachunku = data rozliczenia data dekretu RK/KOMP = data bieżąca |
data rozliczenia = data rozrachunku data dekretu RK/KOMP = data bieżąca |
5.8 Praca rozproszona – import rozliczeń
Funkcjonalność automatycznych rozliczeń i rozrachunków działa również w przypadku importu dokumentów i rozliczeń przez pracę rozproszoną. W momencie importu rozliczeń do zaksięgowanych już dokumentów nastąpi automatyczne rozrachowanie dekretów.- Przypadek, gdy dokumenty w bazie docelowej są zaksięgowane i nierozliczone
- Przypadek, gdy dokumenty w bazie docelowej są zaksięgowane i rozliczone
- Przypadek, gdy dokumenty w bazie docelowej nie są zaksięgowane
5.9 Filtry i operacje seryjne
W celu dodatkowego ułatwienia i przyspieszenia pracy pewne operacje można wykonywać seryjnie.- Zaznacz/Odznacz rozrachunek
- Ustaw/Odznacz rozrachunek bez rozliczenia w K/B
- Kompensaty bez rozrachunku
6. Nie działa automatyczne rozliczanie/rozrachowywanie – dlaczego?
Jeżeli rozliczamy dokumenty, a mimo to nie nastąpiło automatyczne rozrachowanie dekretów, a także odwrotnie: rozrachowanie nie spowodowało automatycznego rozliczenia, może to wynikać z kilku powodów (wynikających zarówno z zamierzonego działania funkcjonalności, jak i z błędnego skonfigurowania programu).- Parametr w konfiguracji
- Schematy księgowe
- w elemencie schematu księgowego musi być zaznaczony parametr Rozrachunek
- w Kwocie ma być odwołanie do makra @KwotaPlatnosci (na pozycji schematu należy wybrać Kwota/ Płatności/ Kwota płatności).
6.1 Sytuacje, w których automat nie zadziała
W niżej wymienionych przypadkach funkcjonalność automatycznych rozliczeń i rozrachunków nie zadziała. Nie pojawią się dodatkowe komunikaty, gdyż funkcjonalność ta wynika z przyjętych w programie zasad działania automatycznych rozliczeń/rozrachunków.
6.1.1 Parametr Rozrachunek
Na dekretach powstałych z księgowania schematem musi być zaznaczony parametr Rozrachunek. Aby funkcjonalność zadziałała dla pozycji bilansu otwarcia i/lub dla dekretów ręcznie wprowadzanych z poziomu Księgowość/ Dzienniki ważne jest, aby były na nich zaznaczone parametry Rozrachunek i Generowanie płatności.6.1.2 Rozrachunek bez rozliczenia w K/B
Mogą zdarzyć się sytuacje, w których nie chcemy aby rozliczenie dokumentów powodowało automatyczne rozrachowanie ich dekretów (i analogicznie w drugą stronę: aby rozrachowanie spowodowało automatyczne rozliczenie). Można w takich sytuacjach wykorzystać parametr Bez rozliczenia w K/B. Na pozycji zapisu księgowego można zaznaczyć parametr Bez rozliczenia w K/B. Jest on dostępny jeżeli w Konfiguracji Firmy/ Księgowość/ Księgowość kontowa zaznaczony jest parametr Automatyczne rozliczenia i rozrachunki. Parametr na pozycji zapisu księgowego zostanie zaznaczony automatycznie w sytuacji, gdy konto wybrane na dekrecie ma na swoim formularzu w planie kont zaznaczony parametr Rozrachunek bez rozliczenia w K/B. Parametr podlega edycji. Parametr dostępny jest również na formularzu dokumentu BO. W przypadku pozycji BO należy najpierw zaznaczyć parametr Rozrachunek. Po jego zaznaczeniu przenoszą się ustawienia z formularza konta. Parametr podlega edycji. W przypadku dekretu z parametrem Bez rozliczenia w K/B przy rozrachowywaniu dekretów na kontach księgowych nie następuje automatyczne rozliczenie w module Kasa/Bank. Analogicznie po rozliczeniu dokumentów w module Kasa/Bank nie następuje automatyczne rozrachowanie odpowiadających im dekretów.- Rozrachowanie dekretów jeżeli płatności w module Kasa/Bank nie są rozliczone
- Rozrachowanie dekretów jeżeli płatności module Kasa/Bank są rozliczone
- Rozrachowanie dekretów w momencie księgowania jeśli płatności w module Kasa/Bank są rozliczone
6.1.3 Storno zapisu księgowego
Podczas generowania storna dekretów rozliczonych i rozrachowanych następuje usunięcie rozrachunku, natomiast rozliczenie w module Kasa/Bank nie jest usuwane. Jeżeli ze stornowanym dekretem jest powiązany dekret różnicy kursowej i/lub kompensaty to rozrachunki również są usuwane, ale sam dekret RK i/lub KOMP pozostaje.W przypadku stornowania dekretu powiązanego z różnicą kursową program działa analogicznie, jak w wyżej opisanym przykładzie dot. kompensaty.
6.1.4 Dokument kompensaty
Funkcjonalność automatycznych rozliczeń i rozrachunków i automatyczne wiązanie dekretu kompensaty z dokumentem z modułu Kasa/Bank działa dla kompensat widocznych z poziomu Kasa/Bank/ Dokumenty rozliczone, a nie dla Dokumentów kompensat z poziomu Kasa/Bank/ Dokumenty kompensat.6.1.5 Bilans otwarcia na podstawie preliminarza i kasy
Funkcjonalność automatycznych rozliczeń i rozrachunków nie działa dla pozycji bilansu otwarcia generowanych w oparciu o płatności w Preliminarzu płatności (tzn. w sytuacji, gdy w pierwszym okresie obrachunkowym najpierw wprowadzamy płatności do modułu Kasa/Bank, a następnie z poziomu Księgowość/ Inne/ Dokumenty BO na formularzu BO naciskamy na ikonę Inicjalizuj b.o. na podstawie preliminarza i kasy oraz na tak wygenerowanych pozycjach zaznaczamy parametr Rozrachunek to pomimo późniejszego rozrachowania takich pozycji bilansu nie nastąpi rozliczenie płatności – i analogicznie: rozliczenie płatności nie spowoduje rozrachowania dekretów).6.2 Możliwe komunikaty
6.2.1 Różna waluta rozliczenia i dekretu
Komunikat Nie wygenerowano rozrachunku/rozliczenia - różna waluta rozliczenia [XXX] i dekretu [PLN] pojawia się w sytuacji, gdy dokumenty walutowe zostały zaksięgowane na konta złotówkowe. W takiej sytuacji nie ma możliwości automatycznego rozliczania i rozrachowywania.6.2.2 Dokument, który nie podlega rozliczeniu
Komunikat Rozliczenie niemożliwe. Dokument [NR DOKUMENTU] nie podlega rozliczeniu pojawia się w sytuacji, kiedy próbujemy rozrachować dekrety do dokumentów, z których przynajmniej jeden ma na płatności ustawiony status: nie podlega rozliczeniu.6.2.3 Księgowanie po złej stronie konta
Komunikat Nie udało się wykonać rozrachunku ponieważ rozrachunki są po tej samej stronie konta pojawia się w sytuacji, kiedy dokument jest księgowany po złej stronie konta, a w związku z tym nie można go automatycznie rozrachować z odpowiednimi dokumentami.6.2.4 Rozrachunek na kwotę większą niż pozostająca do rozliczenia
Komunikat Nie można dokonać rozliczenia w module Kasa/Bank ponieważ kwota rozliczenia jest większa niż kwota pozostająca do rozliczenia. Rozrachunek został wygenerowany oznacza, że kwota jaką próbujemy rozrachować jest większa, niż kwota pozostała do rozliczenia na płatności powiązanej z rozrachowywanym dekretem. W takiej sytuacji dekrety zostaną rozrachowane, natomiast nie zmieni się stan rozliczeń w module Kasa/Bank.
OPT070 - Formaty elektronicznej wymiany danych z bankiem (eksport/ import przelewów)
Data aktualizacji: 06-07-2022
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”


- Format wymiany – z listy dostępnych formatów należy wybrać odpowiedni format wymiany danych, zgodny ze strukturą pliku uzyskanego z banku; gdyby żaden z dostępnych formatów nie działał prawidłowo z poziomu Ogólne/ Inne/ Formaty przelewów można dodać nowy lub zmodyfikować już istniejący.
- Plik źródłowy – należy wskazać właściwy plik do zaczytania. Służy do tego ikona
(pole pokazuje ścieżkę dostępu do pliku, z którego wykonywany jest import)
- Definicja KP – symbol numeracji dla dokumentów typu przychód
- Definicja KW – symbol numeracji dla dokumentów typu rozchód
- 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).



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ę

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


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

Tworzenie formatów przelewów
Formaty wykorzystywane przy imporcie/eksporcie przelewów dostępne są w menu Ogólne/ Inne/ Formaty 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].
Zakładka [Ogólne]
Zakładka ta zawiera parametry wspólne dla wszystkich pozycji definiowanego formatu. Poszczególne pola należy uzupełnić zgodnie z wymaganiami banku, np. w oparciu o przykładowe pliki z przelewami lub dokumentację banku opisującą strukturę takich plików.
- Nazwa formatu - nazwa, która będzie widoczna na liście dostępnych do wyboru formatów – zarówno na formatce banku, jak i na formatce eksportu/importu. Pole obowiązkowe.
- Format do - informacja o tym czy dany format będzie wykorzystywany przy eksporcie przelewów, imporcie wyciągów bankowych lub będzie służył do eksportu i importu. Jedno z pól musi być zaznaczone.
- Rozszerzenie pliku - należy podać rozszerzenie pliku udostępnianego/ wymaganego przez bank, np. csv, txt, pli.
- Kodowanie - określenie strony kodowej dokumentu; do wyboru są opcje: Windows (1250), Latin II, ISO 8859-2, Mazovia, UTF8 i Flat (bez polskich znaków)
- Oddzielaj pola - jeżeli parametr jest odznaczony oznacza to, że format nie posiada separatorów pól. Zazwyczaj jednak w plikach są separatory pól, a w taki przypadku parametr należy zaznaczyć.
- Separator pól - wybór znaku, którym są od siebie oddzielane poszczególne pola w pliku, np. przecinek (,), spacja, Tab, Enter. Oprócz wyboru z dostępnej listy istnieje również możliwość ręcznego wpisania np. średnika (;) czy pipe (|)
- Separator wierszy - wybór znaku końca wiersza, którym są od siebie oddzielane poszczególne wiersze w pliku. Najczęściej jest to „<Enter>”. Oprócz wyboru z dostępnej listy (spacja, przecinek (,), Tab, Enter) istnieje również możliwość ręcznego wpisania innego separatora. Obsługiwany jest również import z pliku ze znacznikiem końca wiersza w formacie Unix (LF). W przypadku wybrania w formacie, jako separator wiersza <ENTER>, program automatycznie rozpozna odpowiednią sekwencję CR+LF czy LF.
- Ograniczniki tekstu - pola tekstowe w pliku będą otaczane tym znakiem, najczęściej jest nim cudzysłów.
- Zamiana ograniczników w tekście na - pole aktywne po zaznaczeniu „Ograniczniki tekstu". Jeżeli pola tekstowe są otaczane znakiem ogranicznika tekstu np. cudzysłowem to cudzysłów wpisany w środku pola zostanie zamieniony na znak wpisany w tym polu.
- Zmienna szerokość pola - parametr należy zaznaczyć, jeżeli szerokość pól w pliku jest zmienna (poszczególne pola są różnej długości). Zazwyczaj parametr powinien być zaznaczony.
- Format daty - określenie formatu daty, w jakim jest ona zapisywana w pliku. Oprócz wyboru z dostępnej listy (DD-MM-RR, DD-MM-RRRR, RR-MM-DD, RRRR-MM-DD, RRRRMMDD, DD/MM/RR, MM/RR/DD) istnieje również możliwość ręcznego wpisania np. DD/MM/RRRR.
- Separator dziesiętny - znak jakim w pliku oddzielana jest część całkowita od części ułamkowej liczby, np. złoty od groszy. Do wyboru: kropka (.), przecinek (,) i puste (brak separatora).
- Separator dziesiętny dla kwoty VAT - znak jakim w pliku oddzielana jest część całkowita od części ułamkowej liczby w kwocie VAT. Do wyboru: kropka (.), przecinek (,) i puste (brak separatora). Domyślnie ustawiony jest przecinek.
- Separator tysięcy - separator grupujący. Dostępne opcje do wyboru to: puste (brak separatora), kropka (.), przecinek (,).
- Sekwencja podziału pola na części - to znak, który jest używany w celu oddzielenia poszczególnych części w ramach danego pola. Wykorzystywany głównie w formatach służących do eksportu, np. w polach z opisem do banku.
- Separator w opisie przelewów zbiorczych - parametr ma znaczenie przy zbiorczym eksporcie przelewów. Oprócz wyboru z dostępnej listy (spacja, średnik (;), przecinek (,)) istnieje również możliwość ręcznego wpisania innego separatora.
Zakładki [Nagłówek] i [Stopka]
W przypadku, gdy plik importowany przez Użytkownika posiada nagłówek niezbędne jest odpowiednie uzupełnienie zakładki. Jeżeli w pliku nie ma nagłówka, zakładka powinna pozostać pusta. Jako każdą z pozycji można wybrać „Stałą wartość”. Należy tylko zwrócić uwagę, aby ilość pozycji odpowiadała ilości pól w nagłówku w pliku oraz odpowiednio ustawić typ: Tekst (dla pól zapisanych w ograniczniku tekstu, np. w cudzysłowie) lub Liczba (dla pól zapisanych bez ogranicznika tekstu).
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.


- Nazwa pola - z rozwijalnej listy należy wybrać odpowiednią opcję, np. Data dokumentu, Kwota płatności, Nazwa podmiotu, Pełny numer rachunku podmiotu.
- Typ pola - opcje do wyboru: Tekst, Liczba <#, Liczba <#.##, Liczba <#.####. Konsekwencją wybrania typu pola Tekst, w formatach służących do eksportu, będzie otoczenie go w pliku ogranicznikiem tekstu (np. zapisanie w cudzysłowie). Podobnie w formatach służących do importu przelewów – jeżeli w pliku z banku pole jest zapisane w ograniczniku tekstu, jako typ należy wybrać: Tekst, w pozostałych przypadkach: Liczba.
- Wartość - pole ma znaczenie w formatach służących do eksportu przelewów; jest aktywne przy wyborze takich pól jak: „Inne informacje”, „Stała wartość”, „Zapytanie SQL”
- Szerokość - ilość znaków przewidziana na dane pole, pole wykorzystywane głównie w formatach do eksportu przelewów
- Opcje pola - określają, czy dane pole będzie nowym polem, czy ma zostać połączone z poprzednim na jeden z trzech sposobów. Najczęściej wybierane jest „nowe pole”. Opcja „łącz z poprzednim (…)” ma znaczenie w formatach służących do eksportu przelewów, przykładowo bank może wymagać, aby w pliku opis przelewu był zapisany jako jedno pole składające się z kilku podpól oddzielonych od siebie znakiem „|”.
- Usuwaj znaki rozdzielające w numerze rachunku - parametr jest aktywny tylko w przypadku wybrania pola związanego z numerem rachunku, np. numer rozliczeniowy banku, pełny numer rachunku podmiotu. Zaznaczenie parametru powoduje, iż numer rachunku będzie zapisany w pliku jako ciąg cyfr, bez znaków rozdzielających.
- Wymagane - parametr ma znaczenie przy formatach do eksportu przelewów. Zaznaczenie tego pola oznacza, iż brak danej wartości na przelewie będzie powodował błąd i w konsekwencji dany przelew nie zostanie wyeksportowany.
Przykład tworzenia formatu służącego do importu danych z pliku z banku
Jeżeli okaże się, że żaden z dostępnych w programie formatów przelewów nie umożliwia prawidłowego importu danych z pliku należy odpowiednio zmodyfikować istniejący format lub dodać nowy. Na podstawie pliku otrzymanego z banku (np. pliku w formacie *.csv, *.txt) lub dokumentu z opisem struktury takich plików Użytkownik może zdefiniować w programie własny format celem zaczytania w/w pliku.
- 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
- Rozszerzenie pliku to: txt
- Kodowanie: Windows (1250)



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

Nr | Nazwa pola | O/F | D/F | Pozycja w formacie przelewów w programie |
---|---|---|---|---|
1 | Typ operacji 110 = Polecenie przelewu, wypł. gotówk. 120 = Płatność ZUS 210 = Polecenie zapłaty |
O | 3 n S | Pozycja „stała wartość”, w polu wartość: 110 |
2 | Data płatności RRRRMMDD | O | 8 d S | Data operacji |
3 | Kwota bez kropek tysięcznych i przecinka oddzielającego wartość groszy | O | 15 n Z | Kwota płatności |
4 | Numer banku zleceniodawcy (NRB) | O | 8 n Z | Numer rozliczeniowy banku własnego |
5 | Pole zerowe (wypełnione cyfrą "0") | O | 1 n Z | Pozycja „stała wartość”, w polu wartość: 0 |
6 | Numer rachunku zleceniodawcy | O | 34 a Z | Pełny numer rachunku własnego |
7 | Numer rachunku kontrahenta | O | 34 a Z | Pełny numer rachunku podmiotu |
8 | Dane zleceniodawcy | O | 4*35 a Z | 4 pozycje w formacie: |
Poszczególne podpola są oddzielone znakiem "|" (Hex 7C). | 1) Nazwa własna 1 | |||
2) Nazwa własna 2 | ||||
3) Adres własny – ulica | ||||
4) Adres własny – kod i miasto | ||||
Poz. 1 ustawiona jako „nowe pole”, poz. 2-4 jako „łącz z poprzednim (znak podziału pola na części)” | ||||
9 | Dane kontrahenta | O | 4*35 a Z | 4 pozycje w formacie: |
Poszczególne podpola są oddzielone znakiem "|" (Hex 7C). | 1) Nazwa podmiotu 1 | |||
2) Nazwa podmiotu 2 | ||||
3) Adres podmiotu – ulica | ||||
4) Adres podmiotu – kod i miasto | ||||
Poz. 1 ustawiona jako „nowe pole”, poz. 2-4 jako „łącz z poprzednim (znak podziału pola na części)” | ||||
10 | Pole zerowe (wypełnione cyfrą "0") | O | 1 n Z | Pozycja „stała wartość”, w polu wartość: 0 |
11 | Numer banku kontrahenta. | O | 8 n Z | Numer rozliczeniowy banku podmiotu |
12 | Szczegóły płatności | O | 4*35 a Z | 4 pozycje w formacie: |
Poszczególne podpola są oddzielone znakiem "|" (Hex 7C). | 1) opis do banku (pierwsza linijka) | |||
2) opis do banku (druga linijka) | ||||
3) opis do banku (trzecia linijka) | ||||
4) opis do banku (czwarta linijka) | ||||
Poz. 1 ustawiona jako „nowe pole”, poz. 2-4 jako „łącz z poprzednim (znak podziału pola na części)” | ||||
13 | Niewykorzystane : wartość puste | O | S a | Stała wartość |
14 | Niewykorzystane : wartość puste | O | S a | Stała wartość |
15 | Kod "51" dla przelewów i poleceń specjalnych, natomiast kod "01" dla poleceń zapłaty, ”71” dla płatności podatkowych US | O | 1*2 a S | Pozycja „stała wartość”, w polu wartość: 51 |
16 | Informacje klient-Bank | F | 6*35 a Z | 6 pozycji w formacie – wszystkie pozycje to „stała wartość” |
Poszczególne podpola są oddzielone znakiem "|" (Hex 7C). | Poz. 1 ustawiona jako „nowe pole”, poz. 2-6 jako „łącz z poprzednim (znak podziału pola na części)” |




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.
- 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.
- Brak domyślnego formatu eksportu dla US. Wybierz format na karcie banku.
- Brak domyślnego formatu eksportu dla ZUS. Wybierz format na karcie banku.
Problemy przy imporcie przelewów
- Błąd analizy struktury formatu: Format nie zawiera pozycji określającej datę dokumentu
- Nie można odczytać wartości pola – niespodziewany koniec pliku
- Błąd analizy struktury formatu: Nie ustawiony ogranicznik tekstu przy zmiennej szerokości kolumn.
- Błąd analizy struktury formatu: Separator dziesiętny ma wartość identyczną jak separator pól przy zmiennej szerokości kolumn.
- Błąd w importowanym wierszu – brak separatora pól.
- Błąd w importowanym wierszu – brak prawego ogranicznika tekstu.
- Błąd analizy struktury formatu: Format zawiera stopkę.
- Przelew Lp [] nie został zaimportowany z powodu błędów. Brak notowania podanego kursu waluty [waluta] na [data].
- Przelew Lp [] nie został zaimportowany z powodu błędów. Niepoprawna data zapisu. Zapis nie może być dodany po dacie zamknięcia raportu.
- Przelew Lp [] nie został zaimportowany z powodu błędów. Niepoprawna data zapisu. Zapis nie może być dodany przed datą otwarcia raportu.
Automatyczna wymiana danych z bankami
Wymiana danych przez usługę sieciową 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 dedykowanych biuletynach. 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.OPT066 - Szybki import i eksport przelewów przez bankowość internetową ING
Data aktualizacji: 06-07-2022
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.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. Jest 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 "Import/ Eksport"
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 


Rys.3 - Okno eksportu przelewu poprzez usługę sieciową
W konfiguracji Stanowiska/ Kasa/Bank/ Parametry znajdują się parametry: Zapisuj dane wymieniane z bankiem do plików XML oraz Zapisuj szczegółowe logi z komunikacji z bankiem. Domyślnie te parametry są odznaczone. Zaznaczenie ich spowoduje zapisywanie plików w których znajdą się informacje związane z komunikacją z bankiem. Wygenerują się one w katalogu z logami programu, w ścieżce: %appdata%\Comarch\Optima\Logs\WebserwisyBankowe. 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.
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?
- Jakie warunki powinny spełniać certyfikaty wykorzystywane podczas wysyłki aby odbyła się ona prawidłowo?
Pliki do pobrania
OPT067- Ulga na złe długi w pliku JPK_V7
Data aktualizacji: 25-09-2023
1 Informacje ogólne
W celu rozliczenia ulgi na złe długi należy złożyć plik JPK_V7 zawierający część ewidencyjna i deklaracyjną z uwzględnieniem wartości wykazywanych w zakładce [Ulga na złe długi (VAT-ZD)] (Zawiadomienie o skorygowaniu podstawy opodatkowania oraz kwoty podatku należnego).
W programie Comarch ERP Optima z poziomu zakładki Rejestry Vat/Pliki JPK_V7 lub z poziomu zakładki JPK/Pliki JPK_V7 na liście plików JPK_V7 na zakładce [Ulga na złe długi (VAT-ZD)], można dodać zawiadomienie VAT-ZD o typie Sprzedaż lub Zakup.
Lista ta jest analogiczna jak ta dotycząca załączników VAT-ZD dla deklaracji VAT-7, nie zawiera tylko kolumn e-Deklaracje i Data wysłania. Również same załączniki VAT-ZD generowane za październik 2020 i okresy późniejsze nie zawierają już zakładki [e-Deklaracje]. Wzorzec dokumentu elektronicznego dla plików JPK_V7 nie przewiduje wysyłania załącznika VAT-ZD. Jednakże załączniki te nadal są potrzebne w celu utworzenia zapisów korekcyjnych do niezapłaconych faktur, które to powinny w pliku JPK_V7 się znaleźć. Lista zawiera kolumny: Miesiąc, Rok, Korekta, Data obliczenia, Kwota oraz Status.
Lista zawiera te same zawiadomienia VAT-ZD, które zostały dodane dla deklaracji VAT-7 (Rejestry VAT/ Deklaracje VAT-7/ zakładka VAT-ZD). Dodanie zawiadomienia na jednej z tych list powoduje wyświetlenie go również w drugim miejscu.
Mechanizm obliczania ulgi na złe długi działa tylko w oparciu o dokumenty wprowadzone do rejestrów VAT z zaznaczonym parametrem Rozliczać w VAT.
Na liście możliwe jest dodanie załącznika VAT-ZD zarówno dla sprzedaży jak i dla zakupu. Po wygenerowaniu zawiadomienia należy utworzyć do niego zapisy korekcyjne, które zostaną pobrane w momencie generowania pliku JPK_V7. Generowanie zapisów korekcyjnych należy wykonać przed dodaniem pliku JPK_V7 za ten okres lub jego zatwierdzeniem (dotyczy plików zawierających część deklaracyjną).
W przypadku, gdy plik JPK_V7 za dany okres zostanie już zablokowany lub wysłany a Użytkownik będzie chciał wykonać zapisy korekcyjne do zawiadomienia VAT-ZD za ten sam okres co utworzony już plik JPK_V7 pojawi się komunikat: Nie można wygenerować korekty. Deklaracja VAT-7/JPK_V7 za ten okres została już zablokowana przed zmianami.
SPRZEDAŻNa zawiadomieniu VAT-ZD o typie Sprzedaż wykazywane są faktury, które na dzień złożenia pliku JPK_V7 w postaci ewidencyjnej i deklaracyjnej nie zostały zapłacone, a minęło już 90 dni od ich terminu płatności. Termin płatności dotyczy każdej z części płatności wykazanej na fakturze.
Na zawiadomieniu VAT-ZD o typie Sprzedaż możliwe jest naliczenie zawiadomienia dla podmiotów nie będących podatnikami VAT czynnymi oraz dla osób fizycznych. Na formularzu zawiadomienia VAT-ZD o typie Sprzedaż znajduje się sekcja Uwzględniaj dokumenty dla z możliwością zaznaczenia parametrów: podatników VAT nieczynnych i/lub osób fizycznych.
Na zawiadomieniu pokażą się faktury, których kontrahentem jest podatnik VAT czynny, nieczynny lub osoba fizyczna (w zależności od tego jaki parametr zaznaczony jest na formularzu zawiadomienia w polu Uwzględniaj dokumenty dla:) i transakcja ma status krajowy lub krajowy podatnikiem jest nabywca oraz takie, dla których nie minął okres dwóch lat od końca roku, w którym zostały wystawione (dotyczy rozliczenia za okresy przed październikiem 2021 r.) lub dla których nie minął okres trzech lat od końca roku, w którym zostały wystawione (dotyczy rozliczenia za okresy od października 2021 r.).

Nowy wzorzec dokumentu elektronicznego plików JPK_V7(2) obowiązujący od stycznia 2022 w części ewidencyjnej przewiduje dodatkowe informacje dla dokumentów sprzedażowych. Oprócz oznaczenia, że dokument jest korektą wynikającą z VAT-ZD (w polu KorektaPodstawyOpodt pojawia się wówczas wartość 1) dodane zostały dwa nowe pola:
- Termin płatności w przypadku korekt dokonanych zgodnie z art. 89a ust. 1 ustawy (pole TerminPlatnosci w pliku XML) – do tego pola przenoszony jest termin płatności dla każdej płatności do dokumentu wykazywanego jako korekta pierwotna (dokument w kolorze czarnym na zawiadomieniu VAT-ZD).
- Data zapłaty w przypadku korekt dokonanych zgodnie z art. 89a ust. 4 ustawy (pole DataZaplaty) – do tego pola przenoszona jest data dla każdej zapłaty (częściowej bądź całkowitej) dokonanej w tym okresie do dokumentu wykazywanego jako korekta zwrotna (dokument w kolorze zielonym na zawiadomieniu VAT-ZD).
W przypadku podglądu pliku JPK_V7 w arkuszu MS Excel, na zakładce JPK_V7_SprzedazWiersz widoczne są kolumny: Korekta art.89a (może przyjmować wartość 1), jak również Termin płatności oraz Data zapłaty uzupełniane datami pobieranymi z pliku. W przypadku korekty pierwotnej dla wykazywanego w pliku dokumentu, uzupełnione są pola Korekta art.89a i Termin płatności, natomiast w przypadku korekty powrotnej – pola Korekta art.89a i Data zapłaty.
Zapisy korekcyjne w rejestrze VAT sprzedaży wygenerowane z zawiadomienie VAT-ZD o typie sprzedaż na zakładce KSeF/JPK w sekcji Atrybuty JPK_VAT i JPK_V7 otrzymują dodatkowo oznaczenia odpowiednimi atrybutami:
- w przypadku korekty pierwotnej TERMIN_PLATNOSCI ze wskazanym terminem płatności z dokumentu oraz KOREKTA_ART.89A z wartością Tak,
- w przypadku korekty powrotnej DATA_ZAPLATY ze wskazaną datą zapłaty oraz KOREKTA_ART.89A z wartością Tak.

Na zakładce [Ogólne] dokumentu należy wprowadzić pozycję/pozycje z wartością ujemną (w przypadku korekty pierwotnej) lub dodatnią (w przypadku korekty powrotnej) w odpowiedniej stawce VAT. Parametr Rozliczać w VAT powinien wskazywać na okres zgodny ze sporządzanym plikiem JPK_V7.
Dokument powinien mieć zaznaczony parametr Wewnętrzny aby nie wygenerował on płatności do rozliczenia w module Kasa/Bank. Po zaznaczeniu tego parametru należy na dokumencie z zakładki [KSeF/JPK] z sekcji Kody JPK_VAT usunąć kod WEW.
ZAKUP
Na zawiadomieniu VAT-ZD o typie Zakup wykazywane są faktury, których 90 dzień od upływu terminu płatności przypada nie później niż z końcem okresu, za który sporządzamy zeznanie. Termin płatności dotyczy każdej z części płatności wykazanej na fakturze. Na zawiadomieniu pokażą się faktury, których kontrahentem jest podatnik VAT czynny i transakcja ma status krajowy lub krajowy - podatnikiem jest nabywca. Dokumenty zakupowe ze stawką ZW i NP nie są wykazywane na VAT-ZD tak samo jak w przypadku pliku JPK_V7.

Termin płatności: 18.07.2020 r. (sobota).
Uwzględnienie w Uldze na złe długi (VAT-ZD): październik 2020 r. – 90 dni liczone jest od 20.07.2020 r. (poniedziałek).
2 Jak w programie wygenerować korektę podatku należnego/naliczonego?
2.1 Korekta VAT-u należnego
Na liście plików JPK_V7, na zakładce [Ulga na złe długi (VAT-ZD)] dodajemy dokument, wybieramy typ zawiadomienia: Sprzedaż, odpowiedni miesiąc i następnie ikoną przeliczamy zawiadomienie. W polu Na dzień podpowiada się domyślnie 25 dzień kolejnego miesiąca po okresie, za który składane jest zawiadomienie.

Po zablokowaniu zawiadomienia przed zmianami za pomocą ikony generujemy zapisy korekcyjne do wybranego przez Użytkownika rejestru. Program generuje oddzielny zapis korekcyjny dla każdej faktury wykazanej na zawiadomieniu VAT-ZD uwzględniając stawki VAT oraz ustawiając rodzaj na Towary.
Z poziomu formularza VAT-ZD dostępny jest wydruk zawiadomienia oraz wydruk listy dokumentów zakwalifikowanych do korekty VAT.
Dodane zostały nowe atrybuty JPK_V7: KOREKTA_ART.89A, TERMIN_PLATNOSCI oraz DATA_ZAPLATY.
Chcąc oznaczyć dokument w rejestrze sprzedaży VAT jako korektę o której mowa w art. 89a ust. 1 Ustawy (zmniejszenie podstawy opodatkowania, korekta pierwotna), należy dodać na dokumencie na zakładce [KSeF/JPK] w sekcji Atrybuty JPK_VAT i JPK_V7 atrybut KOREKTA_ART.89A, wybierając wartość Tak oraz atrybut TERMIN_PLATNOSCI i uzupełnić na nim oczekiwaną datę.
Chcąc oznaczyć dokument w rejestrze sprzedaży VAT jako korektę o której mowa w art. 89a ust. 4 Ustawy (zwiększenie podstawy opodatkowania, korekta powrotna), należy dodać na dokumencie na zakładce [KSeF/JPK] w sekcji Atrybuty JPK_VAT i JPK_V7 atrybut KOREKTA_ART.89A, wybierając wartość Tak oraz atrybut DATA_ZAPLATY i uzupełnić na nim oczekiwaną datę.
Oznaczenie w ten sposób dokumentów spowoduje odpowiednie ich wykazanie w części ewidencyjnej pliku JPK_V7. Jeżeli chodzi o pola P_68 oraz P_69 znajdujące się na części deklaracyjnej pliku, powinny one zostać uzupełnione przez Użytkownika samodzielnie.
2.2 Korekta VAT-u naliczonego
Postępujemy analogicznie jak w przypadku faktur sprzedaży. Na zawiadomieniu VAT-ZD o typie Zakup domyślnie podpowiada się data na ostatni dzień okresu, za który liczone jest zawiadomienie VAT-ZD. Przykładowo na zawiadomieniu VAT-ZD o typie Zakup liczonym za 2022-06 podpowie się data Na dzień 2022-06-30. Automatyczna korekta generowana jest tylko na wartość VAT-u, bez kwot netto. Podobnie jak w przypadku korekty VAT-u należnego zapisy korekcyjne tworzone są odrębnie dla każdej faktury. Pozycje faktury z rodzajem Towary, Usługi, Paliwo i Inne są ujmowane z rodzajem Towary, natomiast pozycje z rodzajem: Środki trwałe, Środki transportu i Nieruchomości traktowane są jako Środki trwałe. Na zapisach korekcyjnych Odliczenia przenoszone są zawsze z dokumentu pierwotnego niezależnie od tego, czy dokument jest wykazywany jako zapłacony, czy nie zapłacony.
Z poziomu formularza VAT-ZD o typie zakup dostępny jest wydruk listy dokumentów zakwalifikowanych do korekty VAT.
Pod listą dokumentów kwalifikowanych na VAT-ZD widoczna jest informacja o pełnej kwocie korekty wynikającej z tych dokumentów; osobno suma kwot netto i VAT zaokrąglana do pełnych złotych dla faktur sprzedaży oraz tylko VAT w przypadku faktur zakupu. Podsumowanie w polu Suma do korekty dotyczy kwot do korekty, czyli faktur niezapłaconych i korygowanych, natomiast w polu Suma na VAT-ZD widoczne jest podsumowanie do VAT-ZD, gdzie są wykazywane tylko faktury niezapłacone (bez korygowanych po częściowej lub całkowitej zapłacie).
Do pola Suma do korekty-dok. Niezapłacone trafiają wszystkie pozycje na czarno (plusowe) natomiast do pola Suma do korekty - dok. Zapłacone trafiają wszystkie pozycje w kolorze zielonym (na minus). VAT od dokumentów niezapłaconych jest wykazany w kwocie na minus a zapłaconych w kwocie na plus.
Na liście plików JPK_V7, na zakładce [Ulga na złe długi (VAT-ZD)] dodajemy dokument, wybieramy typ zawiadomienia: Zakup, odpowiedni miesiąc i następnie ikoną przeliczamy zawiadomienie. W polu Na dzień podpowiada się domyślnie ostatni dzień miesiąca, za który składane jest zawiadomienie.

Zawiadomienie VAT-ZD o typie Zakup
Po zablokowaniu zawiadomienia przed zmianami za pomocą ikony generujemy zapisy korekcyjne do wybranego przez Użytkownika rejestru.
2.3 JPK_V7K a miesięczne VAT-ZD
W przypadku kwartalnych deklaracji VAT-7K generowane są miesięczne załączniki VAT-ZD, a w związku z tym generowane są również zapisy korekcyjne do poszczególnych miesięcy, w terminie wynikającym z art. 89a oraz 89b Ustawy o podatku od towarów i usług.
Niezależnie od ustawionego w Konfiguracji okresu składania deklaracji VAT-7, zawiadomienie VAT-ZD (zarówno o typie Sprzedaż, jak i Zakup) dodawane jest za okres miesięczny. Zapisy korekcyjne dotyczące poszczególnych faktur generowane są w miesiącu ich ujęcia w zawiadomieniu VAT-ZD i w tym samym miesiącu są uwzględniane w pliku JPK_V7 w części ewidencyjnej natomiast w miesiącu kończącym kwartał w części deklaracyjnej pliku JPK_V7.
Korekta podatku należnego
Data wystawienia dokumentu: 20.02.2022 r.
Termin płatności: 27.02.2022 r.
Miesiąc uwzględnienia w VAT-ZD i w pliku JPK_V7 w części ewidencyjnej: maj 2022 r.
Miesiąc uwzględnienia zapisu korekcyjnego na minus w pliku JPK_V7 w części deklaracyjnej: czerwiec 2022 r.
W przypadku zawiadomienia VAT-ZD o typie Sprzedaż dodanego za przynajmniej jeden miesiąc danego kwartału, gdzie wykazywane są faktury niezapłacone i wygenerowano do niego zapisy korekcyjne do rejestru VAT, po przeliczeniu pliku JPK_V7, w części deklaracyjnej pola P_68 oraz P_69 automatycznie uzupełnią się do wysokości kwoty korekty netto i VAT.
3 Ulga na złe długi- najczęściej zadawane pytania
3.1 Faktury częściowo rozliczone, faktury z podzieloną płatnością.
W przypadku faktur częściowo rozliczonych, część niezapłacona z faktury pojawi się na zawiadomieniu VAT-ZD.
Faktury korygujące niezapłacone (nieskompensowane) na zawiadomienie VAT-ZD nie wchodzą. Należy je wcześniej skompensować z fakturą i tylko pozostałą, niezapłaconą cześć faktury wykazać.
Od wersji Programu Comarch ERP Optima 2021 na zawiadomieniu VAT-ZD można również uwzględniać podzielone płatności do dokumentu, mające ten sam termin płatności.
Faktury z zaznaczonym parametrem Płatność VAT w PLN posiadają płatność podzieloną na kwotę netto oraz kwotę podatku VAT i powinny mieć ten sam termin płatności.
3.2 Prezentacja faktur z kilkoma różnymi stawkami.
Na zawiadomieniu VAT-ZD faktury wykazywane są w tylu pozycjach, ile stawek VAT zawierają, natomiast na wydruku VAT-ZD w jednej pozycji.
Użytkownik ma możliwość usunięcia z załącznika VAT-ZD zaznaczonych dokumentów. Jeżeli faktura składa się z kilku pozycji w różnych stawkach, a zaznaczona zostanie pozycja tylko w jednej stawce, to z zawiadomienia usunięte zostaną wszystkie pozycje związane z tą fakturą.
3.3 Plik JPK_V7 wysłany do urzędu, nie zrobiliśmy korekty VAT-u należnego.
Przykładowo plik JPK_V7 został złożony za październik 2022, ale nie zrobiliśmy korekty VAT-u należnego z załącznikiem VAT-ZD. W pierwszej kolejności należy z poziomu JPK/Pliki JPK_V7 dodać korektę pliku JPK_V7 dla części ewidencyjnej i deklaracyjnej za październik 2022. Korekty tej nie należy blokować przed zmianami. Następnie z poziomu JPK/Pliki JPK_V7 na zakładce [Ulga na złe długi (VAT-ZD)] wygenerować załącznik VAT-ZD i zrobić zapisy korekcyjne do rejestru oraz powtórnie przeliczyć korektę pliku JPK_V7. Podatek VAT należny zostanie skorygowany w części deklaracyjnej pliku JPK_V7 natomiast zapisy korekcyjne zostaną wykazane w części ewidencyjnej pliku JPK_V7.
3.4 Plik JPK_V7 został przesłany do systemu e-Deklaracje wraz z informacjami znajdującymi się na załączniku VAT_ZD. Na załączniku VAT-ZD zostały błędnie zakwalifikowane faktury sprzedaży. Jak wygenerować korektę pliku JPK_V7 z poprawnymi danymi ze skorygowanego zawiadomienia VAT ZD?
Z poziomu listy zawiadomień VAT-ZD użytkownik ma możliwość dodania kolejnego załącznika o tym samym typie w danym miesiącu/kwartale poprzez podświetlenie zablokowanego przed zmianami zawiadomienia, a następnie wciśnięcie przycisku . Na formularzu automatycznie zaznacza się parametr Korekta, bez możliwości odznaczenia. Typ zawiadomienia oraz miesiąc, za który jest ono dodawane przenoszone są z pierwotnego załącznika VAT-ZD, bez możliwości zmiany. Domyślnie przenoszone są pozycje z poprzedniego załącznika VAT-ZD. Pierwotne zawiadomienia VAT-ZD są oznaczone odpowiednio S dla sprzedaży oraz Z dla zakupu, natomiast korekty zawiadomienia przyjmują kolejno numerację S1, S2, Z1, Z2..itd.
Korektę należy przeliczyć za pomocą ikony pioruna. A następnie ikony wykonać zapisy korekcyjne. Po wykonaniu zapisów korekcyjnych należy przeliczyć korektę pliku JPK_V7 dla części deklaracyjnej oraz ewidencyjnej.
3.5 Mechanizm obliczania korekty w programie- przykłady liczbowe
Faktura Sprzedaży wystawiona w lutym 2022 na 1000 netto w stawce 23% i na kwotę 400 netto w stawce 8% z terminem płatności 25.02.2022 (na 831 brutto) i terminem 31.03.2022 (na 831 brutto). Uwzględniona na deklaracji za luty 2020. Zapłacona w całości dnia 20.07.2022, czyli 145 dni po pierwszym terminie i 111 dni po drugim terminie.
Ponieważ dokument ma dwa różne terminy płatności pierwsza korekta zostanie wykonana w maju 2022, ponieważ 90 dni od pierwszego terminu płatności (27.02.2022) mija w maju, więc kwalifikuje się do korekty w maju (łączna korekta podatku należnego : dla stawki 23%: -500 netto i -115 VAT, dla stawki 8%: -200 i -16 VAT). Kolejną korektę należy wykonać gdy mija 90 dni od drugiego terminu płatności (31.03.2022) czyli w czerwcu (w stawce 23%: -500 netto i -115 VAT i w stawce 8% -200 netto i -16 VAT).
W lipcu 2022 zapłacona w całości, więc w pliku JPK_V7 za lipiec robimy kolejną korektę podatku należnego na całość faktury w stawce 23%, czyli 1000 netto i 230 VAT oraz w stawce 8% na 400 netto i 32 VAT.

Zawiadomienie VAT-ZD- faktura sprzedaży-korekta w miesiącu maju 90 dni od pierwszego terminu płatności

Zawiadomienie VAT-ZD- faktura sprzedaży-korekta w miesiącu czerwcu 90 dni od drugiego terminu płatności

Zawiadomienie VAT-ZD- faktura sprzedaży-korekta w miesiącu lipcu
Faktura sprzedaży wystawiona 01.03.2022 na 1000,00 netto w stawce 23% z terminem płatności 11.03.2022. Faktura częściowo rozliczona na kwotę 500,00 brutto 08.04.2022. Po przeliczeniu VAT-ZD za miesiąc czerwiec faktura będzie pomniejszona o kwotę rozliczania więc otrzymujemy następujący wynik: Korekta netto 593,50, Korekta VAT 136,50. Suma do korekty: netto -594,00; VAT -137,00.

Zawiadomienie VAT-ZD- faktura sprzedaży częściowo rozliczona



Korekta zawiadomienia VAT-ZD- faktura sprzedaży

Lista Ulga na złe długi (VAT-ZD) zawierająca pierwotne zawiadomienie VAT_ZD za listopad S oraz korektę do niego S1

Zawiadomienie VAT-ZD- faktura zakupu częściowo rozliczona
Zawiadomienie VAT-ZD- faktura zakupu zapłacona i niezapłacona

Zawiadomienie VAT-ZD za kwiecień 2022 - faktura sprzedaży z terminem płatności przypadającym na styczeń 2022

Zawiadomienie VAT-ZD za maj 2022 - faktura sprzedaży z terminem płatności przypadającym na luty 2022

Zawiadomienie VAT-ZD za czerwiec 2022 - faktura sprzedaży z terminem płatności przypadającym na marzec 2022 oraz faktura sprzedaży z terminem płatności przypadającym na styczeń 2022 częściowo rozliczona w czerwcu 2022

Lista zawiadomień VAT-ZD - status zawiadomień

Lista plików JPK_V7 – plik za II kwartał 2022 (część ewidencyjna wraz z częścią deklaracyjną)
OPT056-Eksport e-Deklaracji oraz import UPO
Aktualizacja 01-06-2022
1 e-Deklaracje – informacje ogólne
Funkcjonalność Comarch ERP Optima umożliwiająca składanie deklaracji elektronicznych opiera się na modelu, w którym w pierwszym etapie tworzony jest plik XML zgodny ze schematem XSD opublikowanym przez Ministerstwo Finansów. Następnie tak wygenerowany plik Użytkownik podpisuje podpisem elektronicznym i przesyła na serwer Ministerstwa Finansów. W programie Comarch ERP Optima jest możliwy eksport do systemu e-Deklaracje:- deklaracji VAT-9M wraz z załącznikami: ORD-ZU
- deklaracji VAT-UE
- deklaracji VIU-DO
- deklaracji rocznej PIT-28 wraz z załącznikami: PIT-28/B, PIT/O, PIT/D, PIT-2K, PIT/WZR, ORD-ZU
- deklaracji rocznej PIT-36 wraz z załącznikami: PIT/B, PIT/O, PIT/D, PIT-2K, PIT/ZG, PIT/Z, PIT/BR, PIT/IP, PIT/PM, PIT/MIT, PIT/WZ, ORD-ZU
- deklaracji rocznej PIT-36L wraz z załącznikami: PIT/B, PIT/ZG, PIT/Z, PIT/BR, PIT/O, PIT/IP, PIT/PM, PIT/MIT, PIT/WZ, ORD-ZU
- deklaracji rocznej PIT-37 wraz z załącznikami: PIT/O, PIT/D, PIT-2K, ORD-ZU
- deklaracji rocznej CIT-8 wraz z załącznikami: CIT-8/O, CIT-D, CIT-ST, CIT-ST/A, CIT-BR, CIT/IP, CIT/PM, CIT/MIT, CIT/WZ, ORD-ZU, CIT/8S
- deklaracji rocznych PIT-11 wraz z załącznikiem PIT-R, IFT-1R, PIT-8C
- deklaracji rocznych PIT-4R, PIT-8AR
- Dysponować podpisem elektronicznym.
- Wskazać katalog przechowywania plików xml.
- Sprawdzić adres usługi Web Service e-Deklaracje.
- Uzupełnić listę Urzędów Skarbowych wraz z kodami urzędów.
- Uzupełnić indywidualny rachunek podatkowy firmy i/lub właściciela
- Poprawnie wypełnić wymagane dane adresowe i identyfikacyjne oraz wyliczyć i zablokować deklarację.
- dane i adres podatnika (Start/Konfiguracja/ Firma/ Dane firmy/ PIT-28; PIT-36, PIT-36L; PIT-4R, CIT-8, ZUS DRA; VAT, AKC-WW, CUK):
- Numer NIP podatnika
- Pierwsze imię oraz nazwisko podatnika
- Data urodzenia
- Adres podatnika, pola: Województwo, Powiat, Gmina, Numer domu, Miejscowość, Kod pocztowy, Poczta (dane adresowe są wymagane tylko dla deklaracji wyliczanych na formularzach starszych niż VAT-7(14), VAT-7D(5), VAT-7K(8)).
- Numer NIP podatnika
- REGON (z poziomu Start/Konfiguracja/ Firma/ Dane firmy/ Pieczątka firmy)
- Pełna nazwa
- Adres siedziby: Województwo, Powiat, Gmina, Numer domu, Miejscowość, Kod pocztowy, Poczta (dane adresowe są wymagane tylko dla deklaracji wyliczanych na formularzach starszych niż VAT-7(14), VAT-7D(5), VAT-7K(8)).
- urzędy skarbowe z wypełnionymi kodami (z poziomu Start/Konfiguracja/ Firma/ Dane firmy/ Deklaracje)
- Jeżeli wysyłana jest korekta deklaracji – na zakładce ORD-ZU można uzupełnić uzasadnienie przyczyny złożenia korekty
- Jeżeli wysyłane jest zawiadomienie o skorygowaniu podstawy opodatkowania oraz kwoty podatku należnego – informacja o załączniku VAT-ZD zaznacza się automatycznie na podstawie wcześniej przygotowanego zawiadomienia VAT-ZD
- Na formularzu danych kadrowych pracownika:
- PESEL, Data urodzenia
- Pełne dane adresowe pracownika (Województwo, Powiat, Gmina, Numer domu, Miejscowość, Kod pocztowy , Poczta)
- Urząd skarbowy pracownika (z wypełnionym kodem urzędu)
- Jeżeli wysyłana jest korekta deklaracji – na zakładce ORD-ZU należy uzupełnić przyczynę złożenia korekty
- Na formularzu danych kadrowych:
- NIP - numer NIP można wpisać na formularzu danych kadrowych na zakładce 1 Ogólne. Inny identyfikator można wpisać na zakładce 2 ident. /Podatki po wcześniejszym zaznaczeniu parametru Ograniczony obowiązek podatkowy (nierezydent) w sekcji Rodzaj numeru indentyfikacyjnego. Inny identyfikator można wpisać również bezpośrednio na formularzu deklaracji IFT
- Miejscowość
- Kod kraju
- Miejsce urodzenia
- Jeżeli wysyłana jest korekta deklaracji – na zakładce ORD-ZU należy uzupełnić przyczynę złożenia korekty
- Na formularzu danych kadrowych właściciela/wspólnika
- NIP
- Data urodzenia
- Adres zamieszkania podatnika: Województwo, Powiat, Gmina, Numer domu, Miejscowość, Kod pocztowy (dane adresowe wymagane są tylko dla PIT-36)
- Indywidualny rachunek podatkowy
- Pola liczbowe powiązane z opisem wymagają łącznego uzupełnienia, aby deklaracja została wysłana do systemu e-Deklaracje (np. Straty z lat ubiegłych – uwzględniając kwotę straty na PIT-36/PIT-36L należy uzupełnić również jej źródło).
- Jeżeli wysyłana jest korekta deklaracji – na zakładce ORD-ZU można uzupełnić przyczyny złożenia korekty (załącznik ORD-ZU jest wymagany dla rodzaju korekty: korekta zeznania składana w toku postępowania podatkowego w sprawie unikania opodatkowania, o której mowa w art. 81b § 1a Ordynacji podatkowej).
- Jeżeli jest składany załącznik PIT/B, gdzie podatnik posiada udział w spółce – należy uzupełnić: Nazwa spółki, Udział (w %) oraz NIP
- W przypadku rozliczenia PIT-36 wspólnie z małżonkiem istnieje możliwość wskazania na formularzu właściciela (podatnika) Współwłaściciela – wówczas dane małżonka podstawią się automatycznie na deklaracji PIT-36. Wymagane dane to:
- NIP/ PESEL małżonka
- Imię i nazwisko małżonka
- Data urodzeniaAdres zamieszkania małżonka nie jest wymagany, jeśli taki sam jak w części B.1. dotyczącej podatnika. W innym przypadku należy uzupełnić: Województwo, Powiat, Gmina, Numer domu, Miejscowość, Kod pocztowy.
- Dane podatnika oraz małżonka w przypadku wspólnego rozliczenia na PIT-37:
- NIP/ PESEL
- Imię i nazwisko
- Data urodzenia
- Adres zamieszkania: Województwo, Powiat, Gmina, Numer domu, Miejscowość, Kod pocztowy. Adres zamieszkania małżonka nie jest wymagany, jeśli taki sam jak w części B.1. dotyczącej podatnika.
- Jeżeli wysyłana jest korekta deklaracji – na zakładce ORD-ZU można uzupełnić przyczyny złożenia korekty (załącznik ORD-ZU jest wymagany dla rodzaju korekty: korekta zeznania składana w toku postępowania podatkowego w sprawie unikania opodatkowania, o której mowa w art. 81b § 1a Ordynacji podatkowej).
- Na formularzu danych kadrowych właściciela/wspólnika
- NIP
- Data urodzenia
- Adres zamieszkania podatnika: Województwo, Powiat, Gmina, Numer domu, Miejscowość, Kod pocztowy
- Indywidualny rachunek podatkowy
- Jeżeli wysyłana jest korekta deklaracji – na zakładce ORD-ZU można uzupełnić przyczyny złożenia korekty (załącznik ORD-ZU jest wymagany dla rodzaju korekty: korekta zeznania składana w toku postępowania podatkowego w sprawie unikania opodatkowania, o której mowa w art. 81b § 1a Ordynacji podatkowej).
- W przypadku PIT-28/B wymaganymi polami są: Nazwa pełna spółki oraz Identyfikator podatkowy NIP spółki
2 Eksport e-Deklaracji
Do systemu e-Deklaracji można wysłać deklaracje, które zostały wcześniej zablokowane przed zmianami i widnieją na liście w kolorze czarnym (w tym celu należy otworzyć formularz deklaracji i zaznaczyć ‘Zablokuj deklarację przed zmianami’ (nie dotyczy deklaracji VIU-DO)). Aby wysłać zatwierdzoną deklarację należy kliknąć na ikonę Wyślij deklarację do systemu e-Deklaracje .



- Przygotowanie deklaracji
- Walidacja e-Deklaracji (porównanie wysyłanej deklaracji ze schematem dokumentu elektronicznego, który udostępnia Ministerstwo Finansów. Podczas pierwszej wysyłki deklaracji po każdorazowym uruchomieniu programu następuje sprawdzenie i pobranie aktualizacji schem e-Deklaracji z serwera COMARCH)
UwagaJeżeli weryfikacja nie powiedzie się z powodu błędów istniejących na deklaracji należy: odblokować deklarację, uzupełnić/poprawić dane, a następnie przeliczyć i wyeksportować ją ponownie.
- Podpisanie deklaracji - w przypadku podpisu kwalifikowanego pojawi się okno z listą dostępnych i jednocześnie ważnych certyfikatów (certyfikat musi być zarejestrowany w systemie, aby pojawił się w oknie wyboru), następnie pojawi się okno komponentu do podpisywania, w którym będzie należało podać PIN
- Wysłanie deklaracji
- Odebranie statusu deklaracji – zwykle będzie to komunikat „Dokument w trakcie przetwarzania, sprawdź wynik następnej weryfikacji dokumentu”
Rys.1 Log z przebiegu operacji – wysyłanie deklaracji
Na liście deklaracji, w kolumnie e-Deklaracje, pojawi się status „Wysłano/Nie odebrano UPO”, a w kolumnie Data wysłania pojawi się data wysłania deklaracji. Na formularzu deklaracji dostępna jest zakładka e-Deklaracje, w której znajdują się szczegółowe informacje (do odczytu) o statusie deklaracji, dacie i godzinie wysłania/odebrania oraz dane osoby, która te zmiany wykonała.









Rys 2. Lista deklaracji VIU-DO – status obliczona
Po zaznaczeniu odpowiedniego wiersza z obliczoną deklaracją VIU-DO istnieje możliwość jej wysyłki deklaracji do systemu e-Deklaracje. Naciśnięcie ikony Wyślij deklarację do systemu e-Deklaracje, rozpoczyna eksport. deklaracji. Wysyłka możliwa jest tylko przy użyciu podpisu kwalifikowanego.3 Odbieranie UPO
Po wysłaniu deklaracji należy odebrać UPO (Urzędowe Poświadczenie Odbioru). UPO powinno być dostępne do odbioru do 24 godzin od wysłania. W celu odebrania UPO dla deklaracji CIT-8, VAT-7, VAT-7K, VAT-27, VAT-9M, VAT-8, VAT-UE, PIT-36, PIT-36L, PIT-37, PIT-28, PIT-8C, IFT-1R, PIT-4R, PIT-8AR, należy otworzyć formularz deklaracji za pomocą ikony Pobierz UPO

Rys 2. Log z przebiegu operacji – pobieranie UPO
Urzędowe Poświadczenie Odbioru można wydrukować z poziomu formularza deklaracji. Dla deklaracji VIU-DO, PIT-11, IFT1-R i PIT-8C odebranie UPO jest możliwe z listy deklaracji. Po zaznaczeniu/podświetleniu wybranej deklaracji o statusie zamknięta, mającej w kolumnie e-Deklaracje „Wysłano/nie odebrano UPO” należy za pomocą ikony Pobierz UPO zainicjować pobranie Urzędowego Poświadczenia Odbioru.
Rys 4. Lista deklaracji VIU-DO odebranie UPO
4 Korekta deklaracji
W przypadku konieczności złożenia korekty deklaracji należy dodać nowy formularz deklaracji i zaznaczyć na nim cel złożenia – korekta, bądź dla wskazanego okresu uruchomić ikonę Korekta deklaracji


5 Comarch ERP Optima Biuro Rachunkowe ‑ eksport e-Deklaracji oraz import UPO
W module Comarch ERP Optima Biuro Rachunkowe istnieje możliwość eksportu e-Deklaracji oraz importu Urzędowego Poświadczenia Odbioru (UPO). Funkcja ta usprawnia pracę doradców podatkowych oraz biur rachunkowych poprzez umożliwienie seryjnego wykonywania wspomnianych wcześniej operacji dla wybranych baz firmowych. Obecnie można dokonać eksportu następujących deklaracji: VAT-7, VAT-7K, VAT-UE, VAT-9M, VAT-8,VAT‑27, PIT-36, PIT-36L, PIT-28, CIT-8, PIT-4R, PIT-8AR, PIT-11. Funkcja widoczna jest na liście operacji seryjnych w menu pod nazwą e-Deklaracje / Wyślij JPK i składa się z dwóch pozycji: Wyślij deklaracje, Odbierz UPO. W gałęzi tej dostępne są również opcje związane z seryjną wysyłką plików JPK_VAT/ JPK_V7: Wyślij JPK_VAT oraz Odbierz UPO dla JPK_VAT, więcej informacji opisane zostało w biuletynie OPT088 – Pliki JPK_V7 – przygotowanie dokumentów i generacja plików.
Rys 3. Widok funkcji w dostępnym menu e-Deklaracje / JPK
Po wyborze funkcji Wyślij deklaracje pojawi się okno dialogowe zawierające rozwijalną listę, za pomocą której Użytkownik ma możliwość dokonania szybkiego wyboru rodzaju deklaracji, którą chce wysłać.

Rys 4. Okno dialogowe z rozwijalną listą deklaracji, podczas wywoływania funkcji „Wyślij deklaracje”
Po wybraniu rodzaju deklaracji pojawi się okno z wyborem certyfikatu i podaniem PIN’u. W zależności od ustawień komponentu do obsługi podpisu elektronicznego program poprosi o podanie PIN’u tylko raz i podpisze wszystkie deklaracje lub będzie prosił o podanie PIN’u dla każdej deklaracji osobno. Komponent UNIZETO domyślnie wymaga wybrania certyfikatu i podpisania PIN’u tylko jeden raz w danej sesji. Komponent KiR’u i Sigillum wymaga ustawienia opcji „Trwały PIN” i podania np. na jaki czas ma być zapamiętany PIN. Po podpisaniu deklaracji następuje jej wysłanie do systemu e-Deklaracje. Jeżeli Użytkownik dokonał eksportu wybranych deklaracji np. VAT-8 lub VAT-UE, wówczas w bazie danych klienta wyświetlana jest informacja o wysyłce elektronicznej, która znajduje się w atrybucie „Deklaracja VAT-8” lub „Deklaracja VAT-UE”, w zależności od tego jaki rodzaj deklaracji został wysłany.
Rys 5. Okno dialogowe z rozwijalną listą deklaracji, podczas wywoływania funkcji „Odbierz UPO”
Przy eksporcie e-Deklaracji oraz imporcie UPO w Panelu Wyników będą wyświetlane odpowiednie komunikaty informujące o przebiegu danych operacji.
Rys 6. Widok funkcji w dostępnym menu Wydruki
6 Najczęstsze komunikaty przy wysyłaniu e-Deklaracji
Komunikat przy wysyłaniu | Przyczyna |
---|---|
Błąd wysyłania e-Deklaracji: nie został nadany numer referencyjny (Połączenie podstawowe zostało zakończone: Nie można ustanowić relacji zaufania dla bezpiecznego kanału SSL/TLS.|). | Brak certyfikatu Ministerstwa Finansów “ROOT MINFIN SERVERS CA” – należy go dodać do „Zaufane główne urzędy certyfikacji” – z poziomu Windows Internet Explorer / Narzędzia / Opcje internetowe / zakładka Zawartość / Certyfikaty. |
Błąd wysyłania e-Deklaracji: nie został nadany numer referencyjny (Nie można rozpoznać nazwy zdalnej: 'bramka.edeklaracje.gov.pl'). | Błędny adres usługi serwisu e-Deklaracji wpisany z poziomu: Start/Konfiguracja / Program / Ogólne / e-Deklaracje - prawidłowa ścieżka to: https://bramka.e-deklaracje.mf.gov.pl/ |
Komunikat przy wysyłaniu | Przyczyna |
---|---|
Deklaracja nie została wyeksportowana z powodu błędów. Nieznany błąd czasu wykonywania. wiersz = 130, kolumna = 4 (wiersz jest przesunięciem od początku bloku skryptu). Zwrócono błąd z wywołania właściwości lub metody. [-2147352567]” | Typ wypłaty będący potrąceniem w Konfiguracji / Firma / Płace / Typy wypłat ma uzupełnioną ‘Pozycję na deklaracji PIT’ – PIT-11 1a. Wynagrodzenia ze stosunku… - wówczas pojawia się na deklaracji z MINUSEM w pozycji ‘Dochód zwolniony od podatku’. Należy zmienić tą pozycję na ‘Nie dotyczy’ i przeliczyć deklarację PIT-11. |
7 Najczęstsze komunikaty błędów podczas walidacji i/lub przy odbiorze UPO
Komunikat podczas | Przyczyna | |
---|---|---|
Walidacji Comarch ERP Optima | Odbioru UPO z systemu e-Deklaracje | |
Niepoprawna wartość '0001' w polu KodUrzedu (TKodUS: dopuszczalne wartości [0202, 0203, 0204, 0205, 0206, 0207, 0208, 0209, 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217, 0218, 0219, 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227, 0228, 0229, 0230, 0231, 0232, 0233, 0234, 0271, 0402, 0403, 0404, 0405, 0406, 0407, 0408, 0409, 0410, 0411, 0412, 0413, 0414, 0415, 0416, 0417, 0418, 0419, 0420, (…)]) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-enumeration-valid: Value '0001' is not facet-valid with respect to enumeration '[0202, 0203, 0204, 0205, 0206, 0207, 0208, 0209, 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217, 0218, 0219, 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227, 0228, 0229, 0230, 0231, 0232, 0233, 0234, 0271, 0402, (…)]'. It must be a value from the enumeration.] | Błędny kod urzędu skarbowego przypisanego do deklaracji w Konfiguracji Firmy/ Dane Firmy/ Deklaracje. Należy poprawić Kod na karcie urzędu (Ogólne/ Inne/ Urzędy), następnie ponownie przeliczyć, zablokować i wysłać deklarację. |
Nieprawidłowa wiadomość UPO. The filename, directory name, or volume label syntax in correct. Nieprawidłowa wiadomość UPO. Nazwa pliku, nazwa katalogu lub składnia etykiety woluminu jest niepoprawna. |
Próba pobrania UPO nieaktualną wersją programu Comarch ERP Optima np. 17.3 | |
Zamknięcie programu Comarch ERP Optima - Runtime error | W przypadku seryjnego pobierania UPO, gdy brak sieci lub serwer Ministerstwa Finansów jest niedostępny. | |
Błąd wysyłania e-Deklaracji: nie został nadany numer referencyjny (Połączenie podstawowe zostało zakończone: Nie można ustanowić relacji zaufania dla bezpiecznego kanału SSL/TLS.|). | Brak aktualnego pełnomocnictwa/upoważnienia do podpisywania deklaracji | Jeżeli wygasł certyfikat – należy sprawdzić UPL-1 (upoważnienie do składania deklaracji) jaka jest na nim data obowiązywania. |
Nie udało się zwalidować e-deklaracji z powodu błędów. Brak schematu dokumentu elektronicznego na stronach e-PUAP. Poprawność deklaracji zostanie sprawdzona podczas odbioru UPO. [-2146232832] | Błąd odbierania UPO. Informacje dodatkowe: Błąd komunikacji z serwerem e-Deklaracji: Connector:Connection time out. HRESULT=0x800A1527 - Connector:Unspecified HTTP error. HRESULT=0x800A1518 lub Błąd wysyłania e-Deklaracji: nie został nadany numer referencyjny (Żądanie nie powiodło się. Odpowiedź jest pusta.|) |
Problem z serwerem e-Deklaracji występujący np. w okresie wzmożonej wysyłki deklaracji. Utrudnienia w dostępie do usługi systemu e-Deklaracje niezależne i niezwiązane z programem Comarch ERP Optima. Komunikaty świadczyć mogą o przejściowych problemach z dostępem do serwera e-Deklaracji. Należy w takim wypadku wstrzymać się z wysyłką deklaracji i ponowić próbę za jakiś czas. Jeżeli Użytkownik zdecyduje się na wysyłkę, powinien od razu spróbować pobrać UPO, aby mieć pewność poprawności wysłanej deklaracji. |
Komunikat podczas | Przyczyna | |
---|---|---|
Walidacji Comarch ERP Optima | Odbioru UPO z systemu e-Deklaracje | |
Nieuzupełnione pole PelnaNazwa | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type '#AnonType_PelnaNazwa TIdentyfikatorOsobyNiefizycznej'.] |
Niewypełnione pole Nazwa pełna w Konfiguracji/ Firma/ Dane Firmy/ VAT, AKC-WW, CUK. |
Nieuzupełnione pole ImiePierwsze (Imię: minimalna długość 1 znaków, maksymalna długość 30 znaków) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TImie'.] | Niewypełnione pole Imię, jeżeli podatnik jest osobą fizyczną, w Konfiguracji/ Firma/ Dane Firmy/ VAT, AKC-WW, CUK. |
Nieuzupełnione pole Nazwisko (Nazwisko: minimalna długość 1 znaków, maksymalna długość 81 znaków) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TNazwisko'.] | Niewypełnione pole Miasto i/lub Poczta w Konfiguracji/ Firma/ Dane Firmy/ VAT, AKC-WW, CUK. |
Nieuzupełnione pole DataUrodzenia (Data: wartość musi być większa lub równa: 1900-01-01) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-datatype-valid.1.2.1: '' is not a valid value for 'date'.] | Niewypełnione pole Data urodzenia, jeżeli podatnik jest osobą fizyczną, w Konfiguracji/ Firma/ Dane Firmy/ VAT, AKC- WW, CUK. |
Niepoprawna wartość '20' w polu 49 (Wartość: wartość musi być mniejsza lub równa: 0, ilość cyfr: 14) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-maxInclusive-valid: Value '20' is not facet-valid with respect to maxInclusive '0' for type '#AnonType_P_49PozycjeSzczegolowe'.] | Błędna wartość w polu 49 deklaracji VAT-7 składanej od sierpnia/3 kwartału 2016. Pole 49 od wersji 17 formularza musi być wypełnione wartością ujemną. |
Niepoprawna wartość '-20' w polu 50 (Wartość: wartość musi być większa lub równa: 0, ilość cyfr: 14) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minInclusive-valid: Value '-20' is not facet-valid with respect to minInclusive '0' for type 'TKwotaCNieujemna'.] | Błędna wartość w polu 50 deklaracji VAT-7 składanej od sierpnia/3 kwartału 2016. Pole 50 od wersji 17 formularza musi być wypełnione wartością nieujemną. |
Niepoprawna wartość '12345678' w polu NIP (NIP) Nieuzupełnione pole P_BC w załączniku Wniosek_VAT-ZD (NIP) Niepoprawna wartość ‘wartość’ w polu P_BC w załączniku Wniosek_VAT-ZD (NIP) |
Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-pattern-valid: Value '12345678' is not facet-valid with respect to pattern '[1-9]((\d[1-9])|([1-9]\d))\d{7}' for type 'TNrNIP' | Błędnie wpisany NIP w Konfiguracji/ Firma/ Dane Firmy/ VAT, AKC-WW , CUK (w komunikacie zamiast '12345678' jest podawany błędnie wpisany NIP) i/lub wraz z deklaracją wysyłany jest załącznik VAT-ZD (dla sprzedaży), ale dokumenty w rejestrze VAT, które są uwzględniane na VAT-ZD mają błędny NIP (w komunikacie zamiast '12345678' jest podawany błędnie wpisany NIP). Należy poprawić NIP na dokumencie w rejestrze VAT, następnie odblokować deklarację VAT-7, usunąć z rejestru VAT zapis korekcyjny wygenerowany do załącznika VAT-ZD, odblokować i ponownie przeliczyć VAT-ZD. Następnie ponownie zablokować VAT-ZD i wygenerować zapis korekcyjny oraz przeliczyć i ponownie wysłać deklarację. |
Komunikat podczas | Przyczyna | |
---|---|---|
Walidacji Comarch ERP Optima | Odbioru UPO z systemu e-Deklaracje | |
Niepoprawna wartość '123.456.7890' w polu P_Db (NIP UE) Niepoprawna wartość 'PL' w polu P_Da/P_Na (TKodKrajuUE: dopuszczalne wartości [AT, BE, BG, CY, CZ, DK, DE, EE, EL, ES, FI, FR, GB, HR, HU, IE, IT, LV, LT, LU, MT, NL, PT, RO, SE, SI, SK, XI]) Niepoprawna wartość 'PL' w polu P_Ua (TKodKrajuUEUslugi: dopuszczalne wartości [AT, BE, BG, CY, CZ, DK, DE, EE, EL, ES, FI, FR, GB, HR, HU, IE, IT, LV, LT, LU, MT, NL, PT, RO, SE, SI, SK]) Nieuzupełnione pole P_Db/P_Nb/P_Ub (NIP UE) |
Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-pattern-valid: Value '123.456.7890' is not facet- valid with respect to pattern '(\d|[A-Z]|\+|\*){1,12}' for type'TNrVatUE'.] Status deklaracji: Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-enumeration-valid: Value 'PL' is not facet-valid with respect to enumeration '[AT, BE, BG, CY, CZ, DK, DE, EE, EL, ES, FI, FR, GB, HR, HU, IE, IT, LV, LT, LU, MT, NL, PT, RO, SE, SI, SK, XI]'. It must be a value from the enumeration.] |
Błędny NIP na dokumencie w rejestrze VAT (w komunikacie zamiast '123.456.7890' jest podawany błędnie wpisany NIP). Błędny Kod Kraju UE na dokumencie w rejestrze VAT (w komunikacie zamiast 'PL' jest podawany błędny prefiks NIP). Nieuzupełnione (puste) pole NIP. Należy poprawić NIP na dokumencie, następnie odblokować, przeliczyć i ponownie wysłać deklarację. |
Komunikat podczas | ||
---|---|---|
Walidacji Comarch ERP Optima | Odbioru UPO z systemu e-Deklaracje | Przyczyna |
Nieuzupełnione pole P_C11 w załączniku PIT_B Nieuzupełnione pole element P_C7/P_C8 w załączniku PIT-28_B Nieuzupełnione pole P_189_1/33 Nieuzupełnione pole 35/49 w załączniku PIT_O Nieuzupełnione pole 17 w załączniku PIT_D Nieuzupełnione pole P_B9 w załączniku PIT_MIT |
Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TZnakowy'. | Na PIT/B niewypełniona pozycja Nazwa spółki. Na PIT28/B niewypełniona pozycja Nazwa spółki i/lub identyfikator NIP. Jeśli jest wpisana kwota Straty z lat ubiegłych należy uzupełnić również Źródła strat. i/lub na PIT/O wpisana jest kwota Innych ulg, a nie jest uzupełniony Rodzaj ulgi i/lub na PIT/D wpisana jest kwota odliczenia, a nie jest uzupełniony Rodzaj wydatków mieszkaniowych i/lub Nazwa środka trwałego na PIT/MIT |
Nieuzupełnione pole Wojewodztwo/Powiat/Gmina (Nazwa województwa, nazwa powiatu lub nazwa gminy: minimalna długość 1 znaków, maksymalna długość 36 znaków) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respekt to minLength '1' for type 'TJednAdmin'. | Niewypełnione pola Województwo i/lub Powiat i/lub Gmina na karcie właściciela/wspólnika/pracownika i/lub niewypełnione województwo/powiat/gmina w danych małżonka (w przypadku rozliczania PIT-36 lub PIT-37 wspólnie z małżonkiem). |
Deklaracja nie została wyeksportowana z powodu błędów. Na karcie właściciela nie wpisano daty urodzenia. [-2147467259] lub Nieuzupełnione pole DataUrodzenia (Data: wartość musi być większa lub równa: 1900-01-01, wartość musi być mniejsza lub równa: 2030-12-31) |
Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minInclusive-valid: Value '1899-12-30' is not facet- valid with respect to minInclusive '1900-01-01' for type 'TData' | Niewypełnione pole Data urodzenia na formularzu właściciela/wspólnika/pracownika i/lub data urodzenia małżonka (w przypadku rozliczania PIT-36 lub PIT-37 wspólnie z małżonkiem). |
Nieuzupełnione pole NrDomu (Nr budynku: minimalna długość 1 znaków, maksymalna długość 9 znaków) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respekt to minLength '1' for type 'TNrBudynku'. | Niewypełnione pole Nr domu na formularzu właściciela/wspólnika/pracownika i/lub w danych małżonka (w przypadku rozliczania PIT-36 lub PIT-37 wspólnie z małżonkiem). |
Nieuzupełnione pole Miejscowosc/MiejsceUrodzenia (Miejscowość: minimalna długość 1 znaków, maksymalna długość 56 znaków) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respekt to minLength '1' for type 'TMiejscowosc'. | Niewypełnione pole Miejscowość na formularzu właściciela/wspólnika/pracownika i/lub w danych małżonka (w przypadku rozliczania PIT-36 lub PIT-37 wspólnie z małżonkiem) i/lub na PIT/O, w części D (informacja o przekazanych darowiznach i obdarowanych) niewypełniona Miejscowość przy uzupełnionych innych polach i/lub niewypełniona Miejscowość/Poczta w danych firmy w Konfiguracji/ Firma/ Dane firmy/ PIT-4R,CIT-8, ZUS DRA. W przypadku deklaracji IFT niewypełnione pole Miejsce urodzenia na formularzu pracownika. |
Nieuzupełnione pole KodPocztowy (Kod pocztowy: minimalna długość 1 znaków, maksymalna długość 8 znaków) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TKodPocztowy'. | Niewypełnione pole Kod pocztowy na formularzu właściciela/wspólnika/pracownika i/lub w danych małżonka (w przypadku rozliczania PIT-36 lub PIT-37 wspólnie z małżonkiem) |
Nieuzupełnione pole Nazwisko lub Nieuzupełnione pole Nazwisko w załączniku PIT_O/PIT_D (Nazwisko: minimalna długość 1 znaków, maksymalna długość 81 znaków) |
Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respekt to minLength '1' for type 'TNazwisko'. | Niewypełnione pole Nazwisko małżonka na deklaracji rocznej i/lub załączniku PIT/O/PIT/D (w przypadku rozliczania PIT-36 lub PIT-37 wspólnie z małżonkiem). |
Nieuzupełnione pole ImiePierwsze (Imię: minimalna długość 1 znaków, maksymalna długość 30 znaków) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TImie'. | Niewypełnione pole Pierwsze Imię małżonka (w przypadku rozliczania PIT-36 lub PIT-37 wspólnie z małżonkiem) Zaznaczono w Konfiguracji/ Firma/ Dane firmy/ PIT-4R, CIT-8, ZUS DRA że podatnik jest osobą fizyczną ale nie zostały uzupełnione dane właściciela. |
Nieuzupełnione pole P_D3 w załączniku PIT_O lub Nieuzupełnione pole P_F64A w załączniku PIT_BR lub Nieuzupełnione pole KodKraju/KodKrajuWydania (Kod kraju: dopuszczalne wartości [AF, AX, AL, DZ, AD, AO, AI, AQ, AG, AN, SA, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BE, BZ, BJ, BM, BT, BY, BO, BA, BW, BR, BN, IO, BG, BF, BI, XC, CL, CN, HR, CY, TD, ME, DK, DM, DO, DJ, EG, EC, ER, EE, ET |
Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-enumeration-valid: Value '' is not facet-valid with respect to enumeration '[AF, AX, AL, DZ, AD, AO, AI, AQ, AG, AN, SA, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BE, BZ, BJ, BM, BT, BY, BO, BA, BW, BR, BN, IO, BG, BF, BI, XC, CL, CN, HR, CY, TD, ME, DK, DM, DO, DJ, EG, EC, ER, EE, ET, FK, (…)]'. It must be a value from the enumeration.] | Niewypełnione pole Kod kraju na załączniku PIT/O, w części dot. informacji o przekazanych darowiznach i obdarowanych. Niewypełnione pole Kod kraju na załączniku PIT/BR, w części dot. danych jednostki naukowej. Niewypełnione pole Kod kraju na formularzu pracownika i/lub formularzu deklaracji. |
Nieuzupełnione pole NrLokalu (Nr lokalu: minimalna długość 1 znaków, maksymalna długość 10 znaków) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TNrLokalu'.] | W pliku xml jest pusta sekcja z numerem lokalu. Taki efekt powstaje po imporcie danych kadrowych z arkusza MS Excel, jeżeli w arkuszu w kolumnie ‘Nr Lokalu’ została wpisana spacja. Normalnie w przypadku nie wypełnionego pola z numerem lokalu na formularzu danych kadrowych ta sekcja się w ogóle nie generuje. W takiej sytuacji należy edytować formularz danych kadrowych pracownika/właściciela/wspólnika, wpisać w pole numer lokalu np. 1, zapisać zmianę/formularz, ponownie go edytować, usunąć całą zawartość pola z numerem lokalu i zapisać. Po tak wykonanych czynnościach plik z deklaracją jest wysyłany poprawnie. |
Niepoprawna wartość '0' w polu RodzajNrId (TRodzajId: dopuszczalne wartości [1, 2, 3, 4, 8, 9]) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-enumeration-valid: Value '0' is not facet-valid with respect to enumeration '[1, 2, 3, 4, 8, 9]'. It must be a value from the enumeration.] | Niewypełnione pole Rodzaj numeru identyfikacyjnego na formularzu pracownika na zakładce 2. Nr ident./podatki. |
Nieuzupełnione pole NrId (Numer dokumentu stwierdzającego tożsamość: minimalna długość 1 znaków, maksymalna długość 50 znaków) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TNrDokumentu StwierdzajacegoTozsamosc'. | Niewypełnione pole Zagraniczny numer identyfikacyjny podatnika na formularzu pracownika na zakładce 2. Nr ident./podatki. |
Niepoprawna wartość '123456789' w polu 472/163/132/175 (KRS) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-pattern-valid: Value '123456789' is not facet-valid with respect to pattern '\d{10}' for type 'TNrKRS'.] | Błędny numer KRS, wpisany w sekcji „Wniosek o przekazanie 1% podatku” (w komunikacie zamiast '123456789' jest podawany błędnie wpisany numer KRS odpowiednio na deklaracji PIT-36/PIT-36L/PIT-37/PIT-28) |
Niepoprawna wartość '0' w polu 23 w załączniku PIT_IP (Rok: wartość musi być większa lub równa: 2015, wartość musi być mniejsza lub równa: 2030) | Status deklaracji: Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-datatype-valid.1.2.1: '0' is not a valid value for 'gYear'.] | Należy uzupełnić rok w polu 23 w którym podatnik korzystał ze zwolnienia dochód wykazanych w polu 24 w załączniki PIT/IP |
Niepoprawna wartość '0' w polu P_B10 w załączniku PIT_MIT (Wartość: wartość musi być większa lub równa: 0, wartość musi być większa niż: 0, ilość cyfr: 16, ilość cyfr po przecinku: 2) | Status deklaracji: Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minExclusive-valid: Value '0' is not facet-valid with respect to minExclusive '0.0' for type '#AnonType_P_B10P_BPozycjeSzczegoloweZalacznik_PIT_MIT'.] | Niewypełnione pole dotyczące liczby środków trwałych na PIT/MIT |
Komunikat podczas | Przyczyna | |
---|---|---|
Walidacji Comarch ERP Optima | Odbioru UPO z systemu e-Deklaracje | |
Nieuzupełnione pole PelnaNazwa | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type '#AnonType_PelnaNazwa TIdentyfikator OsobyNiefizycznej'.] |
Niewypełnione pole Nazwa pełna w Konfiguracji/ Firma/ Dane Firmy/ PIT-4R, CIT-8, ZUS DRA |
Niepoprawna wartość '12345' w polu NIP (NIP) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-pattern-valid: Value '12345' is not facet-valid with respect to pattern '[1-9]((\d[1-9])|([1-9]\d))\d{7}' for type 'TNrNIP' | Błędny numer NIP wpisany w Konfiguracji/ Firma/ Dane Firmy/ Pieczątka Firmy (w komunikacie zamiast '12345' jest podawany błędnie wpisany NIP). |
Nieuzupełnione pole Wojewodztwo/Powiat/Gmina lub Nieuzupełnione pole P_A/P_B/P_C w załączniku CIT-ST (Nazwa województwa, nazwa powiatu lub nazwa gminy: minimalna długość 1 znaków, maksymalna długość 36 znaków) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TJednAdmin'. | Niewypełnione pola Województwo i/lub Powiat i/lub Gmina w Konfiguracji/ Firma/ Dane Firmy/ PIT-4R, CIT-8, ZUS DRA i/lub niewypełnione pola Województwo i/lub Powiat i/lub Gmina w części dot. zakładów/ oddziałów na załączniku CIT/ST. |
Nieuzupełnione pole NrDomu (Nr budynku: minimalna długość 1 znaków, maksymalna długość 9 znaków) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TNrBudynku'. | Niewypełnione pole Nr domu w Konfiguracji/ Firma/ Dane Firmy/ PIT-4R, CIT-8, ZUS DRA. |
Nieuzupełnione pole Miejscowosc lub Nieuzupełnione pole 33 w załączniku CIT-D lub Nieuzupełnione pole 13 w załączniku CIT-ST_A - załącznik do załącznika CIT-ST (Miejscowość: minimalna długość 1 znaków, maksymalna długość 56 znaków) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TMiejscowosc'. | Niewypełnione pole Miejscowość w Konfiguracji/ Firma/ Dane Firmy/ PIT-4R, CIT-8, ZUS DRA i/lub niewypełnione pole Miejscowość w danych darczyńcy/ informacji o obdarowanym na CIT-D i/lub w danych Zakładu (oddziału) na CIT-ST/A. |
Nieuzupełnione pole KodPocztowy (Kod pocztowy: minimalna długość 1 znaków, maksymalna długość 8 znaków) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TKodPocztowy'. | Niewypełnione pole Kod pocztowy w Konfiguracji/ Firma/ Dane Firmy/ PIT-4R, CIT-8, ZUS DRA. |
Nieuzupełnione pole 71/151/167/172/173 w załączniku CIT-8_O lub Nieuzupełnione pole 25/75 w załączniku CIT-D lub Nieuzupełnione pole P_E1 w załączniku CIT-ST lub Nieuzupełnione pole P_1 w załączniku CIT-ST_A - załącznik do załącznika CIT-ST Nieuzupełnione pole P_B8 w załączniku CIT_MIT Nieuzupełnione pole P_G41 w załączniku CIT_IP |
Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TZnakowy'.] | Na CIT-8/O wpisana jest Kwota innych dochodów wolnych i/lub Kwota innych odliczeń, a nie jest uzupełnione pole Tytułem i/lub wpisana jest Kwota Zwolnienia, a nie jest uzupełniony Numer decyzji Ministra Finansów i/lub wpisana jest Kwota zaniechania poboru podatku i Data rozporządzenia, a nie jest uzupełniony Tytuł Rozporządzenia i/lub wpisana jest Kwota obniżki z innych tytułów, a nie jest uzupełniony Tytuł obniżki i/lub na CIT/D w Danych darczyńcy/ Informacji o obdarowanym nie jest uzupełnione pole Nazwa Pełna i/lub na CIT-ST nie jest uzupełnione pole Nazwa zakładu (oddziału) i/lub na CIT-ST/A nie jest uzupełniona Nazwa pełna zakładu (oddziału) i/lub Nazwa środka trwałego na CIT/MIT i/lub Numeru wydania zezwolenia lub decyzji o wsparciu na CIT/IP. |
Niepoprawna wartość '1899-12-30' w polu 169/170 w załączniku CIT-8_O (Data: wartość musi być większa lub równa: 1900-01-01) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-datatype-valid.1.2.1: '00:00:00' is not a valid value for 'date'.] | Na CIT-8/O wpisany jest Numer decyzji Ministra Finansów i Kwota Zwolnienia, a nie jest uzupełniona Data decyzji Ministra Finansów i/lub wpisana jest Kwota zaniechania poboru podatku, a nie jest uzupełniona Data rozporządzenia. |
Nieuzupełnione pole P_26A/74/P_76A w załączniku CIT-D lub Nieuzupełnione pole P_F63A w załączniku CIT-BR (Kod kraju: dopuszczalne wartości [AF, AX, AL, DZ, AD, AO, AI, AQ, AG, AN, SA, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BE, BZ, BJ, BM, BT, BY, BO, BA, BW, BR, BN, IO, BG, BF, BI, XC, (…)]) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-enumeration-valid: Value '' is not facet-valid with respect to enumeration '[AF, AX, AL, DZ, AD, AO, AI, AQ, AG, AN, SA, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BE, BZ, BJ, BM, BT, BY, BO, BA, BW, BR, BN, IO, BG, BF, BI, XC, CL, CN, HR, CY, TD, ME, DK, DM, DO, DJ, EG, EC, ER, EE, ET, FK, FJ, PH, FI, FR, TF, GA, GM, GH, GI, GR, GD, GL, GE, GU, GG, GY, GF, GP, GT, (…)]'. It must be a value from the enumeration.] | Na CIT-D w części dot. danych darczyńcy i/lub w Informacji o obdarowanym nie jest wypełnione pole Kod kraju. Na CIT-BR w części dot. danych jednostki naukowej nie jest wypełnione pole Kod kraju. |
Nieuzupełnione pole 74 w załączniku CIT-D (Numer identyfikacji podatkowej: minimalna długość 1 znaków, maksymalna długość 30 znaków) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TNrIdentyfikacjiPodatkowej'.] | Niewypełnione pole Identyfikator podatkowy w części dot. Informacji o obdarowanym na załączniku CIT-D. |
Niepoprawna wartość '1234567' w polu P_D w załączniku CIT-ST (Kod gminy: http://www.stat.gov.pl/broker/access/showSearch.jspa ) | Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-enumeration-valid: Value '1234567' is not facet-valid with respect to enumeration '[0201011, 0201022, 0201032, 0201043, 0201052, 0201062, 0202011, 0202021, 0202031, 0202041, 0202052, 0202062, 0202073, 0203011, 0203022, 0203032, 0203042, 0203052, 0203062, (…)]'. It must be a value from the enumeration.] | Niepoprawny Kod gminy w części dot. zakładów/ oddziałów na załączniku CIT/ST (w komunikacie zamiast '1234567' jest podawany błędnie wpisany Kod). |
Nieuzupełnione pole P_G42 w załączniku CIT_IP (Data: wartość musi być większa lub równa: 1900-01-01, wartość musi być mniejsza lub równa: 2030-12-31) Niepoprawna wartość 'PL999' w polu P_G43 w załączniku CIT_IP (String) |
Status deklaracji: Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-pattern-valid: Value '' is not facet-valid with respect to pattern '((\d{4})-(\d{2})-(\d{2}))' for type 'TData'.] Status deklaracji: Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-pattern-valid: Value 'PL999' is not facet-valid with respect to pattern 'PL[24-9]{1}[1-4]{1}[1-9]{1}|PL[2]{2}[ABC]{1}|PL21A|PLZZZ' for type '#AnonType_P_G43P_GPozycjeSzczegoloweZalacznik_CIT_IP'.] |
Niewypełnione pole dotyczące Daty wydania zezwolenia lub decyzji o wsparciu na CIT/IP. Niepoprawny lub pusta jednostka terytorialna realizacji inwestycji w ‘PL’ |
Niepoprawna wartość '0' w polu P_B9 w załączniku CIT_MIT (Wartość: wartość musi być większa lub równa: 0, wartość musi być większa niż: 0, ilość cyfr: 16, ilość cyfr po przecinku: 2) | Status deklaracji: Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minExclusive-valid: Value '0' is not facet-valid with respect to minExclusive '0.0' for type '#AnonType_P_B9P_BPozycjeSzczegoloweZalacznik_CIT_MIT'.] | Niewypełnione pole dotyczące liczby środków trwałych na CIT/MIT |
OPT085 Szybki import i eksport przelewów przez bankowość internetową mBank CompanyNet
Data aktualizacji: 30-06-2022
Informacje ogólne
Dla Użytkowników Comarch ERP Optima korzystających z systemu mBank CompanyNet wprowadziliśmy możliwość bezpośredniej wymiany danych z bankiem mBank. W celu uruchomienia usługi najlepiej skontaktować się z infolinią mBanku (tel 801 273 273). Wymiana danych z bankiem za pomocą usługi sieciowej umożliwia eksport przelewów bezpośrednio z/do systemu bankowego, autoryzację wysłanych przelewów oraz import wyciągów 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ę, być częściowo lub całkowicie autoryzowany, 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: token mobilny lub certyfikat kwalifikowany użytkownika, który weryfikuje Klienta i pozwala zweryfikować jego prawo do danego rachunku (rachunków). Na liście Ogólne/ Inne/ Formaty przelewów dostępny jest format mBank WebService (standardowy) do wymiany danych z bankiem mBank.Jak skonfigurować wymianę danych z bankiem mBank?
Wymiana danych z bankiem mBank dostępna jest w systemie Comarch ERP Optima od wersji 2019.5.1. W systemie Comarch ERP Optima należy:- ustawić format wymiany danych
- podać informację o numerze identyfikacyjnym firmy (DIK)
- określić typ logowania: certyfikat lub token mobilny (i jeżeli jest to certyfikat, to podpiąć certyfikat kwalifikowany użytkownika)
- dla przelewów walutowych wskazać kto ponosi opłaty związane z takimi przelewani
- Format eksportu dla przelewów zwykłych
- Format importu wyciągów bankowych

- wprowadzamy ustawienia dotyczące przelewów walutowych
- w części Sposoby logowania operatorów podajemy login (ID) Użytkownika w banku i typ logowania. Logowanie może odbywać się z wykorzystaniem certyfikatu lub tokena mobilnego. W przypadku tokena mobilnego potwierdzenie operacji wykonywane jest w aplikacji mobilnej zainstalowanej na telefonie.
- jeżeli logowanie odbywa się za pomocą certyfikatu a nie tokena mobilnego, to w części Certyfikaty komunikacyjne dla operatorów podpinamy certyfikat kwalifikowany użytkownika. Certyfikat ten powinien mieć aktualną datę ważności, posiadać informacje o obsługujących go kluczach prywatnych. Należy upewnić się czy certyfikat znajduje się we właściwym magazynie certyfikatów. Certyfikat kwalifikowany musi być zaimportowany do systemu mBank CompanyNet, w razie problemów z importem należy się kontaktować z infolinią mBanku tel. 801 273 273

- Opłatę ponosi – mamy tutaj do wyboru trzy opcje: Zleceniodawca, Zleceniobiorca, Po równo.
- Osoba kontaktowa – nasz przedstawiciel wybrany do kontaktu z bankiem.
- Kontakt – numer telefonu, adres e-mail.

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 lub przelewy SEPA. W celu wysłania przelewu SEPA zdarzenie w preliminarzu płatności musi być:- zdarzeniem rozchodowym
- waluta zdarzenia to EURO
- na zdarzeniu zaznaczono parametr „Przelew SEPA”
- wybrać rejestr, który dotyczy mBank i ma ustalony format wymiany danych za pomocą usługi sieciowej (w naszym przypadku mBank WebService)
- na liście powinny wyświetlać się tylko zdarzenia nierozliczone lub rozliczone częściowo.


- wysłanie przelewu, który oczekuje w banku na jego autoryzację (zatwierdzenie)
- wysłanie podpisanego przelewu, który zostanie w banku przekazany do realizacji
- autoryzację (zatwierdzenie częściowe/finalne) wysłanych wcześniej przelewów
- podpisać przelew – podpisujemy przelewy o statusie Do realizacji, które nie zostały wysłane do banku. Jeśli wymagają tego ustalenia z bankiem przelew może być podpisany przez kilka osób. Na liście wyświetlamy informacje o tym kto, kiedy i jakim certyfikatem podpisał dany przelew. Podpisanego przelewu nie możemy już modyfikować. Każda zmiana częściowe rozliczenie czy zmiana dat uniemożliwi jego wysłanie. Konieczne będzie usunięcie istniejącego podpisu/podpisów i ponowne podpisanie przelewu. Wysłanie podpisanego przelewu spowoduje, że w banku zostanie on skierowany do weryfikacji a później do realizacji.

- autoryzować przelew – przelewy możemy autoryzować na stronie banku lub bezpośrednio w Comarch ERP Optima. W Comarch ERP Optima autoryzacji może dokonać tylko ten operator, który korzysta z tokena mobilnego. Autoryzacja (zatwierdzanie) dotyczy przelewu, który został wysłany do banku. W systemie mamy zarówno możliwość autoryzacji częściowej, jak i finalnej (pełnej). Przed autoryzacją przelewu zalecamy uruchomienie na telefonie aplikacji bankowej, gdyż pojawi się w niej wiadomość prezentująca szczegóły zatwierdzanej dyspozycji (data przelewu, kwota). Ostateczna akceptacja lub odrzucenie dyspozycji wykonywane są za pomocą przycisku na telefonie. Na formularzu przelewu zapisujemy historię autoryzacji, która została wykonana z poziomu Comarch ERP Optima.





- Data wysłania WebService,
- Komunikat WebService,
- Data komunikatu WebService.

Import za pomocą usługi sieciowej
W Comarch ERP Optima mamy możliwość importu danych z mBanku. Import dotyczy:- stanu rachunku bankowego
- historii operacji (wyciągów)

- listy rejestrów kasowych/bankowych
- listy zapisów kasowych/bankowych
- preliminarza płatności.

- wybieramy format wymiany (domyślnie podpowie się format importu ustalony na formularzu banku)
- określamy definicję dla zapisów KP i KW
- ustalamy okres za jaki będą importowane przelewy (domyślnie jest to okres odczytany z raportu bankowego)
- możemy zaznaczyć opcję automatycznego rozliczania płatności przy imporcie
- Data księgowania,
- Numer rachunku kontrahenta,
- Kwota,
- Opis przelewu.
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?
- Zapisuj dane wymieniane z bankiem do plików XML – w pliku XML zapisywane będą dane wysyłane/importowane z banku.
- Zapisuj szczegółowe logi z komunikacji z bankiem – w pliku tekstowym zapisywane będą informacje związane z komunikacją z bankiem. Informacje te mogą być pomocne przy ustalaniu przyczyny nieprawidłowej komunikacji z bankiem.
OPT087 - Praktyczne wykorzystanie Opisu analitycznego w Księdze Handlowej
Wstęp
Funkcjonalność opisu analitycznego pozwala na dokładniejsze opisanie dokumentu. Obecny opis na dokumencie lub wskazanie kategorii czasem bywa niewystarczające zwłaszcza w firmach gdzie są mocno rozbudowane koszty. Również właściciel firmy może na podstawie opisanych dokumentów analizować wszelkie koszty i przychody z nimi związane oraz robić dowolne analizy.Wykorzystanie opisu analitycznego
W dziale księgowym przy księgowaniu dokumentów
Możemy założyć, że np. firma budowlana posiada plan kont mocno rozbudowany pod kątem kosztów. Występują konta zespołu „4” jak i zespołu „5”. Konta „5” dzielą się na poszczególne budowy a w ramach budowy jeszcze odpowiedniki kont zespołu „4”. W planie kont są konta: 401- amortyzacja 411 – zużycie materiałów 419 – energia … W menu Ogólne w kategoriach założono kategorie, które będą poszczególnymi budowami, np.: 1_19 – kolejny numer budowy w roku 2_19








Analiza kondycji firmy albo poszczególnych projektów prowadzonych przez firmę
Firma zaangażowana jest w realizacje różnych projektów, które są z kolei realizowane przez różne zespoły w różnych oddziałach. Załóżmy, że nad projektem1 pracuje zespół1 w Lublinie i 2 zespoły (zespół2 i zespół 3) w Krakowie. Nad projektem2 tylko zespół1 i zespół3 w Krakowie. Część osób z zespołu1 pracuje w Krakowie a część w Lublinie. W takim przypadku można utworzyć wymiary: PROJEKTY – typ opisowy – elementy P1, P2 ODDZIAŁ – typ opisowy – elementy LUBLIN, KRAKÓW ZESPÓŁ – typ opisowy – elementy Z1, Z2, Z3


Jak zdefiniować opis analityczny w programie Optima?
W tym rozdziale zostaną opisane podstawowe funkcje opisu analitycznego. W menu Ogólne po naciśnięciu przycisku

- Dodaj wymiar – pozwala na dodanie formularza wymiaru analitycznego,
- Dodaj podwymiar – opcja aktywna jeżeli na liście wskazano wymiar lub podwymiar,
- Dodaj element – opcja aktywna jeżeli na liście wskazano wymiar lub podwymiar opisowy.
Wymiar

- Opisowy– w przypadku wymiaru opisowego istnieje możliwość dodania elementu bezpośrednio do wymiaru (z pominięciem podwymiaru).
- Z planu kont – pozwala na wskazanie konta z planu kont bieżącego okresu obrachunkowego (zarówno syntetyki, jak i analityki). Jeżeli wybrane zostanie konto syntetyczne to na dokumencie/słowniku lista elementów zostanie zawężona do tego konta syntetycznego i wszystkich jego analityk. Jeżeli użytkownik nie wskaże żadnego konta to na dokumencie/słowniku widoczne będą wszystkie konta z bieżącego okresu obrachunkowego.odpoczynku dobowego i tygodniowego,
- Kategoria – pozwala na wskazanie kategorii ogólnej lub szczegółowej z listy kategorii. Jeżeli wybrana zostanie kategoria główna to na dokumencie/słowniku lista elementów zostanie zawężona do tej kategorii i jej kategorii podrzędnych. Jeżeli użytkownik nie wskaże żadnej kategorii to na dokumencie/słowniku widoczna będzie pełna lista kategorii. Nie można usunąć z programu kategorii użytej w definicji wymiaru.zakazu pracy w niedziele i święta (a gdy jest dozwolona praca w niedzielę – wyznaczenie jednej na 4 tygodnie niedzieli wolnej od pracy).
- Słownik – pozwala na wybór jednego ze słowników: Kontrahent, Bank, Pracownik, Wspólnik, Środek trwały, Towar lub Urząd. Jeżeli wybrany zostanie konkretny element słownika to na dokumencie/słowniku lista elementów zostanie zawężona do tej konkretnej pozycji. Jeżeli użytkownik nie wskaże żadnego elementu słownika to na dokumencie/słowniku widoczna będzie pełna lista elementów danego słownika.
Podwymiar
Podczas dodawania podwymiaru domyślnie zaznaczany jest typ Opisowy. Do wymiarów o typie Opisowy można dodawać kolejnej podwymiary nawet jeżeli wymiar/podwymiar posiada elementy.
Elementy wymiaru
Elementy wymiaru można dodawać tylko dla wymiarów/podwymiarów o typie Opisowy. Na formularzu elementu istnieje możliwość wskazania konta księgowego, które istnieje w bieżącym okresie obrachunkowym oraz możliwe jest wpisanie „z ręki” konta, które nie istnieje w planie kont, a może posłużyć do przyszłego księgowania.
Generowanie opisu analitycznego
Opis analityczny dla słownika/dokumentu można wprowadzić z listy dokumentów/słowników lub z poziomu otwartego formularza dokumentu/słownika po naciśnięciu przycisku
Opis analityczny na słownikach

Opis analityczny na dokumentach
W programie Comarch ERP Optima istnieje możliwość dodania opisu analitycznego do następujących dokumentów:- Dokument TaxFree,
- Dokument wewnętrzny sprzedaży,
- Dokument wewnętrzny zakupu,
- Ewidencja kosztów,
- Ewidnecja przychodów,
- Faktury sprzedaży,
- Faktury zakupu,
- Kompletacja przyjęcie produktów,
- Kompletacja rozchód składników
- Paragony,
- Przesunięcia międzymagazynowe,
- Przyjęcie kaucji,
- Przyjęcie wewnętrzne,
- Przyjęcie zewnętrzne,
- Rejestr sprzedaży,
- Rejestr zakupu,
- Rozchód wewnętrzny,
- Wydanie kaucji,
- Wydanie zewnętrzne.
- Dodać pozycję opisu wybierając w kolumnie Pozycja odpowiednią wartość, którą użytkownik chce opisać z dokumentu.
- Uzupełnić wymiary elementami.
- Określić, jaki procent danej pozycji ma zostać w ten sposób opisany – wyliczy się wartość lub:
- Wpisać wartość pozycji, co spowoduje automatyczne wyliczenie procentu.



Opis na podstawie słownika lub ręczny
Dokumenty handlowe oraz magazynowe Użytkownik może uzupełnić opis analityczny na dokumentach handlowych oraz magazynowych „ręcznie” lub wygenerować go za pomocą ikony lub przycisku <F8> na podstawie zdefiniowanego wcześniej opisu na towarze. Aby opis analityczny ze słownika (towaru, konta) w całości przeniósł się na dokument należy ustawić takie same wymiary na słowniku, jak i na dokumencie, na którym wybierany jest dany słownik. Jeżeli wymiary będą różne to na dokument zostanie przeniesiony tylko opis z elementami dla wymiarów, które pokrywają się na słowniku i na dokumencie. Ponowne użycie ikony pioruna powoduje nadpisanie poprzedniego opisu nowo wygenerowanym. Na dokumentach handlowych oraz magazynowych użytkownik ma możliwość wyboru pozycji:- Pozycja/Lp/Kod towaru/[Kwota netto pozycji],
- Pozycja/Dokument/[Kwota netto dokumentu].
- Pozycja/Koszt_zakupu/Lp/Kod towaru/[Kwota kosztu zakupu pozycji],
- Pozycja/Koszt_zakupu/Dokument/[Kwota kosztu zakupu dokumentu.
- Pozycja/Lp/Netto, Stawka VAT/[Kwota netto pozycji],
- Pozycja/Dokument/Netto/[Kwota netto dokumentu],
- Pozycja/Lp/Kwota dodatkowa/[Kwota z pozycji kwot dodatkowych].
- odliczenia Tak i Warunkowo:
- Pozycja/Lp/Netto, Stawka VAT/[Kwota netto pozycji],
- Pozycja/Lp/Koszt, Stawka VAT/[Kwota netto pozycji],
- Pozycja/Lp/VAT_KOSZT, Stawka VAT/[0.00].
- odliczenia Nie:
- Pozycja/Lp/Netto, Stawka VAT/[Kwota netto pozycji],
- Pozycja/Lp/Koszt, Stawka VAT/[Kwota brutto pozycji],
- Pozycja/Lp/VAT_KOSZT, Stawka VAT/[Kwota VAT pozycji].
- Pozycja/Dokument/[Kwota dokumentu],
- Pozycja/Lp/Kwota dodatkowa/[ Kwota z pozycji kwot dodatkowych].
- Pozycja/Lp/Numer konta/[Kwota pozycji] Strona Wn,
- Pozycja/Lp/Numer konta/[Kwota pozycji] Strona Ma.
OPT082 - Delegacje krajowe i zagraniczne
Data aktualizacji: 07-12-2020
Informacje ogólne
Pracodawcy delegujący swoich pracowników w podróż służbową mają w stosunku do nich określone obowiązki. Rozliczenie delegacji powinno zawierać pokrycie kosztów pracownika związanych z wyjazdem służbowym takich jak np. diety czy koszty przejazdu i noclegów. Funkcjonalność rozliczania należności za podróże służbowe odbywane przez pracowników dostępna jest w module Kasa/Bank Plus z poziomu listy Delegacje








Delegacje krajowe
Formularz delegacji – zakładka Ogólne
Na formularzu delegacji na zakładce [Ogólne] dostępny jest parametr Delegacja zagraniczna, jeżeli on nie będzie zaznaczony delegacja traktowana jest jako delegacja krajowa.
Formularz delegacji
Jest również możliwość wpisania Miejsca docelowego, Celu delegacji oraz wybór Kategorii. Po wybraniu pracownika, automatycznie podpowiadana jest kategoria z jego karty, z możliwością zmiany. Kategorie można również przypisać na każdym z elementów delegacji, na zakładce [Podsumowanie rozliczenia]. Na formularzu delegacji użytkownik ma do dyspozycji 4 opcje: Bufor, Zaakceptowane polecenie wyjazdu, Zaakceptowane wydatki oraz Zatwierdzona delegacja. Na formularzu delegacji domyślnie zaznaczony jest Bufor, co daje możliwość uzupełniania podstawowych informacji takich jak: nazwisko pracownika, czas trwania delegacji, cel podróży, datę rozliczenia delegacji oraz zaliczki na wydatki (tylko jako zapis na liście bez generowania zapisu KW do raportu kasowego). Rozliczyć można tylko delegacje o stanie Zaakceptowane wydatki. Zatwierdzenie delegacji powoduje zablokowanie jej do edycji. Aktywna jest jedynie sekcja z podsumowaniem kosztów delegacji na etapach zagranicznych, gdzie można zmienić kurs po jakim będą księgowane koszty delegacji. Księgować można wyłącznie delegacje zatwierdzone.Element delegacji - Zakładka zaliczki
Na elemencie delegacji, na zakładce [Zaliczki] widoczne są pola Kraj (z domyślną wartością: Polska) i Waluta (z domyślną wartością: PLN). Wartości w tych polach są wyszarzane i niemożliwe do zmiany. Na delegacji o statusie Bufor, przy próbie dodania zaliczki z listy istniejących zapisów KW, pojawi się komunikat Operacja nie jest możliwa. Operacja będzie możliwa po zmianie stanu na 'Zaakceptowane polecenie wyjazdu'. Zaakceptowanie polecenia wyjazdu, poprzez zaznaczenie tej opcji na formularzu delegacji, umożliwi wybór zaliczki z raportu lub dodanie jej poprzez wygenerowanie zapisu KW. Po naciśnięciu na ikonę
- wybrać zaliczkę z istniejących już zapisów kasowych/bankowych – w tym celu należy nacisnąć na ikonę w kolumnie Numer dokumentu KW
- lub utworzyć nową zaliczkę, poprzez wpisanie kwoty w kolumnie Kwota (na liście zapisów kasowych/bankowych zostanie wówczas automatycznie utworzony odpowiedni zapis)

Rys. 3. Formularz elementu delegacji - zakładka Zaliczki
W części Zapisy kasowe z rozliczenia delegacji dostępna jest ikona plusa
Element delegacji - Zakładka Wydatki
Na zakładce [Wydatki] jest możliwość wskazania kosztów za noclegi, bilety i inne wydatki, wprowadzonych bezpośrednio w ewidencjach pomocniczych takich jak: rejestry VAT czy ewidencja dodatkowa


Rys. 4. Formularz elementu delegacji - zakładka Wydatki
Element delegacji - Zakładka Rozliczenie delegacji
Zakładka [Rozliczenie delegacji] składa się z kilku sekcji. U góry okna dostępne są pola Kraj (z domyślną wartością: Polska) i Waluta (z domyślną wartością: PLN). Wartości w tych polach są wyszarzane i niemożliwe do zmiany. Następnie wprowadza się trasy, z określeniem dat i godzin odjazdu/przyjazdu.
Rys. 5. Formularz rozliczenia delegacji - zakładka Rozliczenie delegacji
Liczba godzin w delegacji jest wyliczana w oparciu o daty i godziny odjazdu/ przyjazdu uzupełnione w sekcji z trasami. Wartość można ręcznie zmienić. W polu Stawka diety podstawiana jest domyślna wartość stawki diety z konfiguracji. Wartość podpowiadanej stawki diety można ręcznie zmienić. W Konfiguracji Firmy/ Kasa/Bank/ Diety i ryczałty można określić czy delegacje mają być wyliczane w oparciu o ustawowe (pobierane z Konfiguracji Programu/ Kasa/Bank/ Diety i ryczałty) czy indywidualne (pobierane z Konfiguracji Firmy/ Kasa/Bank/ Diety i Ryczałty) stawki diet i ryczałtów. Jeżeli w Konfiguracji Firmy/ Kasa/Bank/ Diety i Ryczałty jest zaznaczona opcja indywidualnie i na delegacji dodatkowo jeszcze ręcznie zmienimy stawkę diety na jakąś inną, to przy wprowadzaniu kolejnej delegacji dla tego samego pracownika, domyślnie podpowiadana jest stawka diety wpisana na poprzedniej delegacji. Diety, ryczałty za dojazdy oraz ryczałty za noclegi są domyślnie wyliczane na podstawie daty rozpoczęcia i zakończenia delegacji, ale z możliwością zmiany. Domyślnie parametr Wyliczaj ryczałt nie jest zaznaczony, z możliwością ręcznego uzupełnienia ryczałtów za dojazdy i noclegi. Po zaznaczeniu parametrów wartości są pobierane z Konfiguracji, a następnie automatycznie wyliczane na podstawie czasu trwania delegacji. Po zmianie wysokości diet i ryczałtów w konfiguracji, wartości na wyliczonych już delegacjach nie są automatycznie zmieniane. Aby je zaktualizować należy edytować delegację i ponownie wpisać np. liczbę diet na Rozliczeniu delegacji. Jeśli jest potrzeba zmodyfikowania zarówno ilości, jak i kwot należy odznaczyć parametr Wyliczaj ryczałt i ręcznie wprowadzić właściwe dane. Wyliczona kwota diety jest automatycznie pomniejszana o koszt zapewnionego wyżywienia, przy czym każdy posiłek stanowi odpowiednio: śniadanie 25% diety, obiad 50% diety, kolacja 25% diety. W przypadku, gdy pracownik będzie podróżował samochodem prywatnym, należy mu się zwrot kosztów przejazdu, na podstawie przejechanych kilometrów. Istnieje możliwość uzupełnienia tych informacji w sekcji Koszty używania pojazdu.Element delegacji - Zakładka Podsumowanie rozliczenia
Na zakładce [Podsumowanie rozliczenia] jest możliwość przypisania kategorii, domyślnie jest tu podpowiadana kategoria wybrana w nagłówku delegacji. Poniżej znajduje się sekcja Podsumowanie rozliczenia z pracownikiem, a w niej wyliczone wartości ryczałtów, diet i innych wydatków, łączna suma wydatków, łączna wartość pobranych zaliczek oraz wyliczona kwota do wypłaty.
Rys. 6. Formularz elementu delegacji - zakładka Podsumowanie rozliczenia
Po zaznaczeniu parametru Generowanie płatności aktywne stają się pola do wyboru formy płatności i wskazania terminu płatności. Dostępny jest również parametr Generowanie zapisu k/b. Po jego zaznaczeniu aktywne staje się pole Rejestr, z możliwością wskazania rejestru, do którego zapis ma trafić. Domyślnie podpowiada się rejestr związany z formą płatności wybraną na delegacji, jeżeli zostanie wybrany jakiś inny rejestr to wybór zostaje zapamiętany. Zapamiętywana jest również ostatnio wybrana forma płatności oraz zaznaczenie/ odznaczenie parametru Generowanie zapisu k/b. Parametr Generowanie zapisu k/b jest zależny od parametru Generowanie płatności. Jeżeli użytkownik odznaczy parametr Generowanie płatności to Generowanie zapisu k/b również jest niemożliwe do zaznaczenia. Dokładne działanie parametrów Generowanie płatności i Generowanie zapisu k/b zostało opisane w dalszej części biuletynu, w rozdziale Ogólne zasady rozliczania delegacji. W polu Stan rozliczenia wykazywany jest stan rozliczenia delegacji: Nie rozliczono, Rozliczono częściowo lub Rozliczono. Stany rozliczenia są wyświetlane dla delegacji rozliczonych od wersji 2017.5.1 Comarch ERP Optima. Dla delegacji rozliczonych na wcześniejszych wersjach, wartość w tym polu nie jest wyświetlana. Parametr Generowanie zapisu k/b można zaznaczyć/odznaczyć tylko na delegacjach nierozliczonych. Dla delegacji o stanie Rozliczono częściowo lub Rozliczono parametr jest wyszarzany.Formularz delegacji – zakładka Dokumenty
Drugą zakładką dostępną na formularzu delegacji jest zakładka [Dokumenty]. Zawiera ona listę dokumentów znajdujących się w Bibliotece dokumentów związanych z daną delegacją. Załącznikami na tych dokumentach mogą być zapisane w formie elektronicznej np. faktury, bilety, opłaty za autostradę czy inne dokumenty.


- Opcja Dodaj nowy – wywołuje nowy formularz dokumentu firmowego. Nowy dokument można dodać używając klawisza <INSERT> lub wykorzystując metodę drag&drop (przeciągania pliku).
- Opcja Dodaj istniejący – wywołuje listę dokumentów zapisanych w Bibliotece, skąd Użytkownik może wskazać odpowiedni dokument.
Delegacje zagraniczne
Na formularzu delegacji dostępny jest parametr Delegacja zagraniczna. Jest on aktywny tylko na delegacjach, które nie mają jeszcze zdefiniowanego żadnego etapu. Jeżeli dodany jest już przynajmniej jeden etap, opcja Delegacja zagraniczna jest wyszarzana, bez możliwości zmiany. Po zaznaczeniu wspomnianego parametru na delegacji można dodawać zarówno etapy krajowe, jak i zagraniczne

- Opcja Dodaj etap krajowy (klawisz <Insert>) powoduje otwarcie formularza elementu delegacji, który jest etapem krajowym
- Opcja Dodaj etap zagraniczny (klawisz <Shift>>+<Insert>) powoduje otwarcie formularza elementu delegacji, który jest etapem zagranicznym

Etap krajowy
Etap krajowy na delegacji zagranicznej jest zbliżony do etapu na delegacji krajowej, który został dokładnie opisany w poprzednim rozdziale. Zakładki [Zaliczki], [Wydatki] i [Podsumowanie rozliczenia] są identyczne. Nieco inna jest natomiast zakładka [Rozliczenie delegacji]. Na zakładce [Rozliczenie delegacji] w tabelce z trasami dostępna jest dodatkowa kolumna Wyjazd, w której możemy wskazać czy dana trasa jest częścią wyjazdu (opcja zaznaczona) czy przyjazdu (opcja niezaznaczona). Pole Liczba godzin w delegacji jest wyszarzane – liczba godzin jest wyliczana w oparciu o godziny odjazdu/ przyjazdu wprowadzone w tabelce z trasami (jest to suma godzin wyjazdów i godzin powrotów). Obok pola z liczbą godzin w delegacji dostępny jest parametr Sumuj wyjazdy z powrotami, który ma wpływ na wyliczenie liczby diet i ryczałtów. W sytuacji gdy parametr ten jest zaznaczony, liczba diet jest wyliczana dla łącznej liczby godzin (tzn. dla sumy godzin wyjazdów i przyjazdów). W sytuacji, gdy parametr nie jest zaznaczony liczba diet jest wyliczana osobno dla wyjazdów i osobno dla przyjazdów.- pierwsza, trwająca 10 godzin, oznaczona jako Wyjazd
- druga, trwająca 7 godzin, bez zaznaczonej opcji Wyjazd (czyli będąca przyjazdem)
Etap zagraniczny
Na formularzu etapu zagranicznego również dostępne są cztery zakładki: [Zaliczki], [Wydatki], [Rozliczenie delegacji] i [Podsumowanie rozliczenia].Zakładka Zaliczki
Na zakładce [Zaliczki] jest możliwość wybrania Kraju, związanego z danym elementem delegacji. Domyślnie podpowiadany jest Kraj, który był ostatnio wybierany dla danego pracownika. Po wyborze kraju automatycznie podpowiadana jest odpowiednia Waluta. Pola Kraj i Waluta są wyszarzane, jeżeli na elemencie delegacji jest już dodana przynajmniej jedna zaliczka lub dokument na zakładce Wydatki.
Rys.7. Etap zagraniczny delegacji, zakładka Zaliczki
Jeżeli na delegacji ciągle jest ustawiony status Bufor, przy próbie dodania zaliczki pojawi się komunikat Operacja nie jest możliwa. Operacja będzie możliwa po zmianie stanu na 'Zaakceptowane polecenie wyjazdu'. Zaakceptowanie polecenia wyjazdu, poprzez zaznaczenie tej opcji na formularzu delegacji, umożliwi dodawanie zaliczek. Po naciśnięciu na ikonę
- wybrać zaliczkę z istniejących już zapisów kasowych/bankowych – w tym celu należy nacisnąć na ikonę
w kolumnie Numer dokumentu KW
- lub utworzyć nową zaliczkę, poprzez wpisanie kwoty w kolumnie Kwota (na liście zapisów kasowych/bankowych zostanie wówczas automatycznie utworzony odpowiedni zapis)

Zakładka Wydatki
Na zakładce [Wydatki] jest możliwość wskazania kosztów za noclegi, bilety i innych wydatków wprowadzonych bezpośrednio w ewidencjach pomocniczych takich jak rejestry VAT czy ewidencja dodatkowa.
Rys. 8. Etap zagraniczny delegacji, zakładka Wydatki
W sytuacji, gdy dokument kosztowy powinien zostać podzielony np. pomiędzy dwie delegacje jest możliwość ograniczenia kwoty wydatku w kolumnie Kwota rozliczenia. Wpisana tu kwota zostanie automatycznie przeniesiona do podsumowania. W kolumnie Kwota w PLN widoczna jest kwota dokumentu w przeliczeniu na złotówki (wartość jest przeliczona po kursie z dokumentu). W przypadku podpięcia dokumentu z Rejestru VAT z zaznaczoną opcją Inny kurs do księgowania, w kolumnie Kwota w PLN prezentowana jest wartość przeliczona po kursie do księgowania. Na podpiętej pozycji kosztu użytkownik ma dodatkowo do dyspozycji parametr Rozliczać zaliczką. Domyślnie parametr jest zaznaczony, co oznacza że w momencie rozliczenia delegacji nastąpi rozliczenie podpiętego dokumentu z podpiętą do delegacji zaliczką. Rozliczenie zostanie wykonane na kwotę wpisaną w kolumnie Kwota rozliczenia. Gdy parametr Rozliczać zaliczką zostanie odznaczony wówczas dokument kosztowy nie zostanie rozliczony z delegacją. W sekcji Podsumowanie widoczna jest informacja o ilości noclegów, biletów oraz innych wydatków. Wartość w polu Kwota noclegów jest automatycznie ograniczana do wysokości limitu przypisanego do danego kraju, wybranego na elemencie delegacji. Kwota limitu na nocleg pobierana jest z Konfiguracji Programu/ Kasa/Bank/ Diety i ryczałty (jeżeli w Konfiguracji Firmy/ Kasa/Bank/ Diety i Ryczałty jest zaznaczona opcja ustawowe) lub z Konfiguracji Firmy/ Kasa/Bank/ Diety i Ryczałty (jeżeli jest zaznaczona opcja indywidualne). Podpowiadaną kwotę można ręcznie zmienić.Zakładka Rozliczenie delegacji
Na zakładce [Rozliczenie delegacji] jest możliwość wybrania Kraju, związanego z danym elementem delegacji. Po wyborze kraju automatycznie podpowiadana jest odpowiednia Waluta, w której wypłacane są diety w danym kraju. Wybór Kraju i Waluty na zakładce [Rozliczenie delegacji] powoduje ustawienie takiego samego Kraju i takiej samej Waluty na zakładce [Zaliczki]. Pola Kraj i Waluta są wyszarzane, jeżeli na elemencie delegacji jest już dodana przynajmniej jedna zaliczka lub dokument na zakładce Wydatki.
Rys. 9. Etap zagraniczny delegacji, zakładka Rozliczenie delegacji
W polu Data rozpoczęcia etapu domyślnie podstawiana jest data i godzina z pierwszego przejazdu, a w polu Data zakończenia etapu data i godzina z ostatniego przejazdu z tabelki z przejazdami. Pola te są aktywne/ możliwe do edycji. Poniżej tabelki z przejazdami znajduje się sekcja Kalkulacja, a w niej m.in. informacje na temat liczby godzin w delegacji i wyliczonych kwot diet i ryczałtów. Liczba godzin w delegacji wyliczana jest automatycznie w oparciu o wartości wpisane w polach Data rozpoczęcia etapu i Data zakończenia etapu. Pole to jest aktywne do edycji. W polu Stawka diety dla kraju wybranego na elemencie delegacji domyślnie pobierana jest stawka diety z Konfiguracji Programu/ Kasa/Bank/ Diety i ryczałty (jeżeli w Konfiguracji Firmy/ Kasa/Bank/ Diety i Ryczałty jest zaznaczona opcja ustawowe) lub z Konfiguracji Firmy/ Kasa/Bank/ Diety i Ryczałty (jeżeli jest zaznaczona opcja indywidualne). Wartość podpowiadanej stawki diety można ręcznie zmienić. Jeżeli w Konfiguracji Firmy/ Kasa/Bank/ Diety i Ryczałty jest zaznaczona opcja indywidualnie i na delegacji dodatkowo jeszcze ręcznie zmienimy stawkę diety na jakąś inną, to przy wprowadzaniu kolejnej delegacji dla tego samego pracownika i tego samego kraju, domyślnie podpowiadana jest stawka diety wpisana na poprzedniej delegacji. Liczba diet wyliczana jest w oparciu o pole Liczba godzin w delegacji. Jeżeli delegacja trwała nie więcej niż 8 godzin, wyliczana jest 1/3 Diety. Jeżeli delegacja trwała więcej niż 8, ale nie więcej niż 12 godzin, to przysługuje 0,5 Diety. Jeżeli delegacja trwała ponad 12 godzin – przysługuje cała dieta. Dieta przysługująca za każdą kolejną dobę wyliczana jest w ten sam sposób. Wyliczoną liczbę diet można ręcznie zmienić. Kwota diety wyliczana jest jako iloczyn liczby diet i stawki diety. Wyliczona kwota diety jest automatycznie pomniejszana o koszt zapewnionego wyżywienia, przy czym każdy posiłek stanowi odpowiednio: śniadanie 15% diety, obiad 30% diety, kolacja 30% diety. Parametr Wyliczaj ryczałt dla ryczałtów za dojazdy, noclegi, dojazdy z/do dworca, lotniska i za pobyt w szpitalu domyślnie nie jest zaznaczony. Po jego zaznaczeniu automatycznie wyliczana jest liczba i kwota ryczałtów. Stawka ryczałtu za dojazdy to 10% stawki diety dla danego kraju za każdą rozpoczętą dobę pobytu. Stawka ryczałtu za noclegi to 25% limitu noclegowego dla danego kraju (wartość jest pobierana z konfiguracji firny). Stawka ryczałtu za dojazdy z/do dworca, lotniska to 100% stawki diety dla danego kraju. Stawka za pobyt w szpitalu to 25% stawki diety. Po wpisaniu liczby dni pobytu w szpitalu, widoczna kwota przysługującej diety jest odpowiednio pomniejszana. Po zaznaczeniu opcji Wyliczaj ryczałt dla ryczałtów za dojazdy/ za noclegi liczba ryczałtów wyliczana jest automatycznie, w oparciu o liczbę godzin w delegacji. Po zaznaczeniu opcji Wyliczaj ryczałt dla ryczałtów za dojazdy z/do dworca, lotniska oraz za pobyt w szpitalu należy ręcznie uzupełnić liczbę ryczałtów. W przypadku, gdy pracownik będzie podróżował samochodem prywatnym, wówczas należy mu się zwrot kosztów przejazdu, na podstawie przejechanych kilometrów. Istnieje możliwość uzupełnienia tych informacji w sekcji Koszty używania pojazdu. W tym miejscu wpisywana jest wartość w PLN.- Samolot wystartował z Krakowa 05.06 o godzinie 10:00, w Monachium był o 11:15.
- Samolot powrotny wystartował z Monachium 08.06 o godzinie 17:00, w Krakowie był o 18:15.
- Pracownik miał zapewniony nocleg w hotelu, wraz z wyżywieniem (pierwszego dnia obiad i kolację, drugiego i trzeciego pełne wyżywienie, ostatniego dnia śniadanie i obiad).
- Dla pracownika ma być również wyliczona kwota ryczałtów za dojazdy.
Zakładka Podsumowanie rozliczenia
Na zakładce [Podsumowanie rozliczenia] jest możliwość przypisania kategorii, domyślnie jest tu podpowiadana kategoria wybrana w nagłówku delegacji.
Rys. 10. Etap zagraniczny delegacji, zakładka Podsumowanie rozliczenia
Poniżej znajdują się dwie sekcje: Podsumowanie rozliczenia z pracownikiem i Podsumowanie kosztów delegacji. W sekcji Podsumowanie rozliczenia z pracownikiem, w polu Kurs do rozliczenia z pracownikiem są do wyboru cztery możliwe opcje:- Data zaliczki
- Data rozliczenia delegacji
- Data zakończenia delegacji
- Inna
- jeżeli na delegacji nie ma podpiętych zaliczek, to domyślnie ustawiana jest data rozliczenia delegacji, a w polu Data kursu: dzień poprzedni w stosunku do Daty rozliczenia
- jeżeli na delegacji są zaliczki, ale parametry Wypłata zaliczki w PLN i Rozliczaj w PLN nie są zaznaczone, to domyślnie ustawiana jest Data zaliczki, a w polu Data kursu: data kursu z najwcześniejszej zaliczki
- jeżeli na delegacji są zaliczki oraz parametry Wypłata zaliczki w PLN i/lub Rozliczaj w PLN są zaznaczone, to domyślnie ustawiana jest Data zaliczki, a w polu Data kursu: data dokumentu z najwcześniejszej zaliczki
- Data rozliczenia delegacji
- Data zakończenia delegacji
- Inna
Rozliczenie delegacji
Ogólne zasady rozliczania delegacji
Rozliczenie delegacji wykonywane jest z listy delegacji, ikoną


Rozliczenie etapów zagranicznych
Ogólne zasady rozliczania w przypadku etapów zagranicznych:- jeżeli została pobrana zaliczka w walucie obcej, to rozliczenie następuje w tej samej walucie obcej, chyba że zaznaczony zostanie parametr Rozliczaj w PLN wtedy rozliczenie następuje w PLN
- jeżeli została pobrana zaliczka w PLN, to rozliczenie danego etapu będzie następowało w PLN lub w walucie etapu
- jeżeli nie została pobrana zaliczka, to rozliczenie następuje w walucie etapu, chyba że zaznaczony zostanie parametr Rozliczaj w PLN wtedy rozliczenie następuje w PLN.
- do każdego etapu delegacji generowana jest oddzielna płatność w Preliminarzu płatności oraz oddzielny zapis kasowy/bankowy
Przykład 1: Zaliczka pobrana w walucie obcej i rozliczenie również w walucie obcej
W sytuacji, gdy została pobrana zaliczka w walucie obcej i rozliczenie/zwrot do kasy również następuje w walucie obcej, to na zakładce [Podsumowanie rozliczenia], w sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawiana jest opcja Data zaliczki, jako data kursu podstawi się data kursu z najstarszej zaliczki, a jako notowanie podpowie się kurs z najstarszej zaliczki. Zarówno płatność w preliminarzu na kwotę diet i ryczałtów, jak i zapis kasowy/bankowy na kwotę wypłaty pracownikowi/ zwrotu do kasy zostaną wygenerowane z kursem z najstarszej zaliczki (czyli kursem z dnia poprzedniego w stosunku do daty zaliczki). Jeżeli Użytkownik, na zakładce [Podsumowanie rozliczenia], zmieni domyślny Kurs do rozliczenia z pracownikiem, to ten kurs zostanie przeniesiony zarówno na płatność, jak i na zapis kasowy/bankowy. Zarówno płatność w preliminarzu, jak i zapis kasowy/bankowy zostaną wygenerowane na datę zgodną z datą rozliczenia delegacji. W tym przypadku, w związku z tym że kurs do rozliczenia z pracownikiem (czyli kurs z najstarszej zaliczki) jest inny niż kurs do księgowania (czyli kurs z dnia poprzedzającego dzień rozliczenia), wyliczona zostanie różnica kursowa delegacyjna.- 09.05.2017 wypłacono zaliczkę w kwocie 1000 Euro (średni kurs NBP z dnia 08.05.2017 to 4,2059)
- 19.05.2017 pracownik rozliczył się z kosztów delegacji, łączna kwota diet i ryczałtów wyniosła 600 Euro (średni kurs NBP z dnia 18.05.2017 to 4,2200)
- w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów, tj. 600 Euro, po kursie z dnia 08.05.2017 (czyli 4,2059)
- w zapisach kasowych/bankowych zapis przychodowy (pracownik musi dokonać zwrotu nadpłaconej zaliczki), z datą 19.05.2017, na kwotę 400 Euro, po kursie z dnia 08.05.2017 (czyli 4,2059)
Przykład 2: Zaliczka pobrana w walucie obcej, a rozliczenie następuje w PLN
W sytuacji, gdy została pobrana zaliczka w walucie obcej, a rozliczenie/zwrot do kasy następuje w PLN, to na zakładce [Podsumowanie rozliczenia] należy zaznaczyć parametr Rozliczaj w PLN. W sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawiana jest opcja Data zaliczki, a jako data kursu podpowie się data najstarszej zaliczki. Zarówno płatność w preliminarzu na kwotę diet i ryczałtów, jak i zapis kasowy/bankowy na kwotę wypłaty pracownikowi/ zwrotu do kasy zostaną wygenerowane z kursem z dnia wypłaty zaliczki. Jeżeli Użytkownik, na zakładce [Podsumowanie rozliczenia], zmieni domyślny Kurs do rozliczenia z pracownikiem, to ten kurs zostanie przeniesiony zarówno na płatność, jak i na zapis kasowy/bankowy. Zarówno płatność w preliminarzu, jak i zapis kasowy/bankowy zostaną wygenerowane na datę zgodną z datą rozliczenia delegacji. Płatność zostanie wygenerowana w walucie etapu, natomiast na zapisie kasowym/bankowym walutą dokumentu będzie PLN, a walutą rozliczenia waluta etapu. W tym przypadku, w związku z tym że kurs do rozliczenia z pracownikiem (czyli kurs z dnia zaliczki) jest inny niż kurs do księgowania (czyli kurs z dnia poprzedzającego dzień rozliczenia), wyliczona zostanie różnica kursowa delegacyjna.- 09.05.2017 wypłacono zaliczkę w kwocie 1000 Euro (średni kurs NBP z dnia 08.05.2017 to 4,2059)
- 19.05.2017 pracownik rozliczył się z kosztów delegacji, łączna kwota diet i ryczałtów wyniosła 1300 Euro (średni kurs NBP z dnia 18.05.2017 to 4,2200)
- w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów, tj. 1300 Euro, po kursie z dnia 09.05.2017 (czyli 4,2253)
- w zapisach kasowych/bankowych zapis rozchodowy (zaliczki nie wystarczyło na pokrycie wszystkich kosztów, pozostałą kwotę należy więc wypłacić pracownikowi), z datą 19.05.2017, na kwotę 300 Euro, po kursie z dnia 09.05.2017 (czyli 4,2253), co daje 1267,59PLN. Na zapisie ustawiona jest waluta dokumentu PLN i waluta rozliczenia EUR.
Przykład 3: Zaliczka pobrana w PLN i rozliczenie również następuje w PLN
W sytuacji, gdy została pobrana zaliczka w PLN i rozliczenie/zwrot do kasy również następuje w PLN, to na zakładce [Zaliczki] należy zaznaczyć parametr Wypłata zaliczki w PLN, a na zakładce [Podsumowanie rozliczenia] parametr Rozliczaj w PLN. W sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawiana jest opcja Data zaliczki, a jako data kursu podpowie się data najstarszej zaliczki. Zarówno płatność w preliminarzu na kwotę diet i ryczałtów, jak i zapis kasowy/bankowy na kwotę wypłaty pracownikowi/ zwrotu do kasy zostaną wygenerowane z kursem z dnia zaliczki. Jeżeli Użytkownik, na zakładce [Podsumowanie rozliczenia], zmieni domyślny Kurs do rozliczenia z pracownikiem, to ten kurs zostanie przeniesiony zarówno na płatność, jak i na zapis kasowy/bankowy. Zarówno płatność w preliminarzu, jak i zapis kasowy/bankowy zostaną wygenerowane na datę zgodną z datą rozliczenia delegacji. Płatność zostanie wygenerowana w walucie etapu, natomiast na zapisie kasowym/bankowym walutą dokumentu będzie PLN, a walutą rozliczenia waluta etapu. W tym przypadku, w związku z tym że kurs do rozliczenia z pracownikiem (czyli kurs z dnia zaliczki) jest inny niż kurs do księgowania (czyli kurs z dnia poprzedzającego dzień rozliczenia), wyliczona zostanie różnica kursowa delegacyjna.- 09.05.2017 wypłacono zaliczkę w kwocie 4225,30 PLN (tj. równowartość 1000 Euro)Na zaliczce ustawiona jest waluta dokumentu PLN i waluta rozliczenia EUR (średni kurs NBP z dnia 09.05.2017 to 4,2253)
- 19.05.2017 pracownik rozliczył się z kosztów delegacji, łączna kwota diet i ryczałtów wyniosła 1300 Euro (średni kurs NBP z dnia 18.05.2017 to 4,2200)
- w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów, tj. 1300 Euro, po kursie z dnia 09.05.2017 (czyli 4,2253)
- w zapisach kasowych/bankowych zapis rozchodowy (zaliczki nie wystarczyło na pokrycie wszystkich kosztów, pozostałą kwotę należy więc wypłacić pracownikowi), z datą 19.05.2017, na kwotę 300 Euro, po kursie z dnia 09.05.2017 (czyli 4,2253), co daje 1267,59PLN. Na zapisie ustawiona jest waluta dokumentu PLN i waluta rozliczenia EUR.
Przykład 4: Zaliczka pobrana w PLN, a rozliczenie następuje w walucie obcej
W sytuacji, gdy została pobrana zaliczka w PLN, a rozliczenie/zwrot do kasy następuje w walucie obcej, to na zakładce [Zaliczki] należy zaznaczyć parametr Wypłata zaliczki w PLN. Na zakładce [Podsumowanie rozliczenia], w sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawiana jest opcja Data zaliczki, a jako data kursu podpowie się data najstarszej zaliczki. Zarówno płatność w preliminarzu na kwotę diet i ryczałtów, jak i zapis kasowy/bankowy na kwotę wypłaty pracownikowi/ zwrotu do kasy zostaną wygenerowane z kursem z dnia zaliczki. Jeżeli Użytkownik, na zakładce [Podsumowanie rozliczenia], zmieni domyślny Kurs do rozliczenia z pracownikiem, to ten kurs zostanie przeniesiony zarówno na płatność, jak i na zapis kasowy/bankowy. Zarówno płatność w preliminarzu, jak i zapis kasowy/bankowy zostaną wygenerowane na datę zgodną z datą rozliczenia delegacji i w walucie etapu. W tym przypadku, w związku z tym że kurs do rozliczenia z pracownikiem (czyli kurs z dnia zaliczki) jest inny niż kurs do księgowania (czyli kurs z dnia poprzedzającego dzień rozliczenia), wyliczona zostanie różnica kursowa delegacyjna.- 09.05.2017 wypłacono zaliczkę w kwocie 4225,30 PLN (tj. równowartość 1000 Euro)Na zaliczce ustawiona jest waluta dokumentu PLN i waluta rozliczenia EUR (średni kurs NBP z dnia 09.05.2017 to 4,2253)
- 19.05.2017 pracownik rozliczył się z kosztów delegacji, łączna kwota diet i ryczałtów wyniosła 600 Euro (średni kurs NBP z dnia 18.05.2017 to 4,2200)
- w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów, tj. 600 Euro, po kursie z dnia 09.05.2017 (czyli 4,2253)
- w zapisach kasowych/bankowych zapis przychodowy (pracownik musi dokonać zwrotu nadpłaconej zaliczki), z datą 19.05.2017, na kwotę 400 Euro, po kursie z dnia 09.05.2017 (czyli 4,2253)
Przykład 5: Zaliczka nie została pobrana, a rozliczenie następuje w walucie obcej
W sytuacji, gdy zaliczka nie została pobrana, a rozliczenie/zwrot do kasy następuje w walucie obcej, to na zakładce [Podsumowanie rozliczenia], w sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawiana jest opcja Data rozliczenia, a jako data kursu podpowie się dzień wcześniejszy w stosunku do daty rozliczenia. Zarówno płatność w preliminarzu na kwotę diet i ryczałtów, jak i zapis kasowy/bankowy na kwotę wypłaty pracownikowi/ zwrotu do kasy zostaną wygenerowane z kursem z dnia poprzedniego w stosunku do daty rozliczenia delegacji. Jeżeli Użytkownik, na zakładce [Podsumowanie rozliczenia], zmieni domyślny Kurs do rozliczenia z pracownikiem, to ten kurs zostanie przeniesiony zarówno na płatność, jak i na zapis kasowy/bankowy. Zarówno płatność w preliminarzu, jak i zapis kasowy/bankowy zostaną wygenerowane na datę zgodną z datą rozliczenia delegacji. W tym przypadku, w związku z tym że kurs do rozliczenia z pracownikiem jest taki sam, jak kurs do księgowania (czyli kurs z dnia poprzedzającego dzień rozliczenia), nie powstanie różnica kursowa delegacyjna.- 19.05.2017 pracownik rozliczył się z kosztów delegacji, łączna kwota diet i ryczałtów wyniosła 600 Euro (średni kurs NBP z dnia 18.05.2017 to 4,2200)
- w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów, tj. 600 Euro, po kursie z dnia 18.05.2017 (czyli 4,2200)
- w zapisach kasowych/bankowych zapis rozchodowy (należy wypłacić kwotę pracownikowi), z datą 19.05.2017, na kwotę 600 Euro, po kursie z dnia 18.05.2017 (czyli 4,2200)
Przykład 6: Zaliczka nie została pobrana, a rozliczenie następuje w PLN
W sytuacji, gdy zaliczka nie została pobrana, a rozliczenie/zwrot do kasy następuje w PLN, to na zakładce [Podsumowanie rozliczenia], w sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawiana jest opcja Data rozliczenia, a jako data kursu podpowie się dzień wcześniejszy w stosunku do daty rozliczenia. Zarówno płatność w preliminarzu na kwotę diet i ryczałtów, jak i zapis kasowy/bankowy na kwotę wypłaty pracownikowi/ zwrotu do kasy zostaną wygenerowane z kursem z dnia poprzedniego w stosunku do daty rozliczenia delegacji. Jeżeli Użytkownik, na zakładce [Podsumowanie rozliczenia], zmieni domyślny Kurs do rozliczenia z pracownikiem, to ten kurs zostanie przeniesiony zarówno na płatność, jak i na zapis kasowy/bankowy. Zarówno płatność w preliminarzu, jak i zapis kasowy/bankowy zostaną wygenerowane na datę zgodną z datą rozliczenia delegacji. Płatność zostanie wygenerowana w walucie etapu, natomiast na zapisie kasowym/bankowym walutą dokumentu będzie PLN, a walutą rozliczenia waluta etapu. W tym przypadku, w związku z tym że kurs do rozliczenia z pracownikiem jest taki sam, jak kurs do księgowania (czyli kurs z dnia poprzedzającego dzień rozliczenia), nie powstanie różnica kursowa delegacyjna.- 19.05.2017 pracownik rozliczył się z kosztów delegacji, łączna kwota diet i ryczałtów wyniosła 600 Euro (średni kurs NBP z dnia 18.05.2017 to 4,2200)
- w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów, tj. 600 Euro, po kursie z dnia 18.05.2017 (czyli 4,2200)
- w zapisach kasowych/bankowych zapis rozchodowy (należy wypłacić kwotę pracownikowi), z datą 19.05.2017, na kwotę 600 Euro, po kursie z dnia 18.05.2017 (czyli 4,2200), co daje 2532 PLN. Na zapisie ustawiona jest waluta dokumentu PLN i waluta rozliczenia EUR.
Przykład 7: Delegacja zarówno z etapem krajowym jak i zagranicznym
W sytuacji, gdy na delegacji podpiętych jest kilka etapów, np. krajowy i zagraniczne, do każdego z nich osobno podpinane są zaliczki i dokumenty kosztowe. W momencie rozliczenia delegacji, rozliczany jest każdy z etapów. Poniższy przykład przedstawia sytuację, gdzie na delegacji dodany jest zarówno etap krajowy, jak i zagraniczny. Do każdego z etapów została wypłacona zaliczka w walucie etapu, pracownik dostarczył również faktury potwierdzające poniesione koszty.- 09.05.2017 wypłacono zaliczkę KW1 w kwocie 100 PLN
- 09.05.2017 wypłacono zaliczkę KW2 w kwocie 1000 Euro (średni kurs NBP z dnia 08.05.2017 to 4,2059)
- 19.05.2017 pracownik rozliczył się z kosztów delegacji, łączna kwota diet i ryczałtów wyniosła 60 PLN (dla etapu krajowego) i 600 Euro (dla etapu zagranicznego) (średni kurs NBP z dnia 18.05.2017 to 4,2200)
- faktura za przejazd taksówką FZ1 na 30 PLN
- faktura kosztowa FZ2 z dnia 17.05.2017, na kwotę 250 Euro (średni kurs NBP z dnia 16.05.2017 to 4,1902)
- w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów z etapu krajowego, tj. 60 PLN
- w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów z etapu zagranicznego, tj. 600 Euro, po kursie z dnia 08.05.2017 (czyli 4,2059)
- w zapisach kasowych/bankowych zapis przychodowy KP1 (pracownik musi dokonać zwrotu nadpłaconej zaliczki z etapu krajowego), z datą 19.05.2017, na kwotę 10 PLN
- w zapisach kasowych/bankowych zapis przychodowy KP2 (pracownik musi dokonać zwrotu nadpłaconej zaliczki z etapu zagranicznego), z datą 19.05.2017, na kwotę 150 Euro, po kursie z dnia 08.05.2017 (czyli 4,2059)
Księgowanie delegacji
Do księgowania delegacji służy ikona
Księgowanie do KPiR
Dla baz z ustawioną wielozakładowością, na formularzu delegacji, obok pola z wyborem pracownika, istnieje możliwość wyboru Zakładu. Po wybraniu pracownika, domyślnie przenoszony jest zakład z jego karty. Na liście delegacji, w menu kontekstowym (pod prawym klawiszem myszy) dostępna jest opcja Ustaw zakład. Na formularzu etapu delegacji dostępna jest ikona

Rys. 11. Kwoty dodatkowe na etapie krajowym

Rys. 12. Kwoty dodatkowe na etapie zagranicznym
W przypadku etapów krajowych widoczne są następujące rodzaje wydatków: Diety, Ryczałty za dojazdy, Ryczałty za noclegi i Koszty używania pojazdu. W przypadku etapów zagranicznych widoczne są następujące rodzaje wydatków: Diety, Ryczałty za dojazdy, Ryczałty za noclegi, Ryczałty za dojazdy z/do dworca, lotniska i Koszty używania pojazdu. Dla każdego rodzaju wydatku domyślnie ustawiana jest kolumna 13.Inne, z możliwością zmiany. Wartości w kolumnie Kwota są uzupełniane automatycznie, z możliwością zmiany. Jeżeli na etapie delegacji nastąpi zmiana wartości, np. kwoty diet, wartości w Kwotach dodatkowych zostaną automatycznie zaktualizowane. W kwocie Diet wykazywana jest suma wartości diet i za pobyt w szpitalu. Na etapach zagranicznych kwoty wykazywane są w PLN, przeliczone po kursie poniesienia kosztu. W polu Kwota dokumentu (widocznym w prawym górnym rogu) jest widoczna kwota z pola Suma wydatków na zakładce [Podsumowanie rozliczenia] pomniejszona o kwotę wydatków podpiętych na zakładce [Wydatki], przemnożona przez kurs poniesienia kosztu. W momencie księgowania delegacji ikoną
Księgowanie do księgowości kontowej
W przypadku baz z księgowością kontową istnieje możliwość księgowania delegacji zarówno według predekretacji, jak i schematem księgowym. W nagłówku schematu księgowego dostępny jest parametr Pobierz datę księgowania z Konfiguracji. Jego zaznaczenie powoduje, że data z jaką delegacja zostanie zaksięgowana jest pobierana z Konfiguracji firmy/ Księgowość/ Parametry – Księgowanie dokumentów z datą. Przy wybranej w konfiguracji opcji Bieżącą, delegacja zostanie zaksięgowana z datą bieżącą. Przy wybranej opcji Wystawienia, Operacji lub Zapisu, delegacja zostanie zaksięgowana zgodnie z datą dokumentu delegacji. Jeżeli parametr Pobierz datę księgowania z Konfiguracji zostanie odznaczony, przycisk Data księg. jest aktywny i użytkownik ma do wyboru następujące opcje:- Data dokumentu – symbol @DataDok
- Data bieżąca – symbol @DataBiezaca
- Data rozpoczęcia delegacji – symbol @DataRozpoczeciaDelegacji
- Data zakończenia delegacji – symbol @DataZakonczeniaDelegacji
- Data rozliczenia delegacji – symbol @DataRozliczeniaDelegacji
- Kategoria dokumentu – w ramach, której dostępne są następujące parametry:
- Kategoria szczegółowa – symbol @KategoriaNag
- Kategoria ogólna – symbol @KategoriaOgolnaNag
- Opis kategorii – symbol @KategoriaOpisNag
- Konto Wn kategorii – konto Wn wprowadzone na kategorii w segmencie księgowym – symbol @KatNagKontoWn
- Konto Ma kategorii – konto Ma wprowadzone na kategorii w segmencie księgowym – symbol @KatNagKontoMa
- Dokument delegacji – numer dokumentu delegacji, symbol @Dok
- Cel – cel delegacji, symbol @Cel
- Miejsce – miejsce docelowe, symbol @Miejsce
- Płatnik – w ramach, którego dostępne są następujące parametry:
- Konto płatnika 1 – konto wprowadzone na karcie płatnika (na karcie pracownika, widocznego na Płatności, która powstała w momencie rozliczania delegacji), na zakładce Dodatkowe w polu Konto 1 – symbol @KontoPlatnikaOdb
- Konto płatnika 2 – konto wprowadzone na karcie płatnika (na karcie pracownika, widocznego na Płatności, która powstała w momencie rozliczania delegacji), na zakładce Dodatkowe w polu Konto 2 – symbol @KontoPlatnikaDost
- Kod – kod płatnika, symbol @KodPlatnika
- Typ – symbol @TypPlatnika
- Podmiot – kod podmiotu, symbol @KodPodmiotu
- Kategoria dokumentu – w ramach, której dostępne są następujące parametry:
- Kategoria szczegółowa – symbol @KategoriaNag
- Kategoria ogólna – symbol @KategoriaOgolnaNag
- Opis kategorii – symbol @KategoriaOpisNag
- Dokument delegacji – numer dokumentu delegacji, symbol @Dok
- Cel – cel delegacji, symbol @Cel
- Miejsce – miejsce docelowe, symbol @Miejsce
- Płatnik – w ramach, której dostępne są:
- Kod – kod płatnika, symbol @KodPlatnika
- Typ – symbol @TypPlatnika
- Podmiot – kod podmiotu, symbol @KodPodmiotu
- Kategoria dokumentu – w ramach, której dostępne są następujące parametry:
- Konto Wn kategorii – symbol @KatNagKontoWn
- Konto Ma kategorii – symbol @KatNagKontoMa
- Kategoria pozycji – w ramach, której dostępne są następujące parametry:
- Konto Wn kategorii – symbol @KatElemKontoWn
- Konto Ma kategorii – symbol @KatElemKontoMa
- Płatnik – w ramach, którego dostępne są:
- Konto płatnika 1 – konto wprowadzone na karcie płatnika (na karcie pracownika, widocznego na Płatności, która powstała w momencie rozliczania delegacji), na zakładce Dodatkowe w polu Konto 1 – symbol @KontoPlatnikaOdb
- Konto płatnika 2 – konto wprowadzone na karcie płatnika (na karcie pracownika, widocznego na Płatności, która powstała w momencie rozliczania delegacji), na zakładce Dodatkowe w polu Konto 2 – symbol @KontoPlatnikaDost
- Podmiot – w ramach, którego dostępne są:
- Konto 1 pracownika – konto wprowadzone na karcie pracownika wybranego na delegacji, na zakładce Dodatkowe w polu Konto 1 – symbol @KontoPracownika
- Konto 2 pracownika – konto wprowadzone na karcie pracownika wybranego na delegacji, na zakładce Dodatkowe w polu Konto 2 – symbol @Konto2Pracownika
- Płatności – symbol @KwotaPlatnosci
- Kwota – w ramach, której dostępne są następujące parametry (tymi makrami księgowane są kwoty po kursie do rozliczenia z pracownikiem, z zakładki [Podsumowanie rozliczenia] na elemencie delegacji):
- Kwota diety – symbol @Dieta
- Kwota ryczałtu za nocleg – symbol @RyczaltNocleg
- Kwota ryczałtu za dojazdy – symbol @RyczaltDojazdy
- Kwota kosztów używania pojazdu – symbol @KosztyUzywPojazdu
- Kwota ryczałtu za dojazdy z/do dworca, lotniska – symbol @RyczaltDojazdyDworzec
- Kwota razem – symbol @Razem. Makro Kwota razem (@Razem) księguje kwotę widoczną w polu Suma wydatków na zakładce [Podsumowanie rozliczenia] pomniejszoną o kwotę wydatków podpiętych na zakładce [Wydatki].
- Kwota kosztu – w ramach, której dostępne są następujące parametry (tymi makrami księgowane są kwoty po kursie poniesienia kosztu, z zakładki [Podsumowanie rozliczenia] na elemencie delegacji):
- Kwota diety – symbol @KDieta
- Kwota ryczałtu za nocleg – symbol @KRyczaltNocleg
- Kwota ryczałtu za dojazdy – symbol @KRyczaltDojazdy
- Kwota kosztów używania pojazdu – symbol @KKosztyUzywPojazdu
- Kwota ryczałtu za dojazdy z/do dworca, lotniska – symbol @KRyczaltDojazdyDworzec
- Kwota razem – symbol @KRazem. Makro Kwota razem (@KRazem) księguje kwotę widoczną w polu Suma wydatków na zakładce [Podsumowanie rozliczenia] pomniejszoną o kwotę wydatków podpiętych na zakładce [Wydatki].
- Różnica kursowa – w ramach, której dostępne są następujące parametry (tymi makrami księgowana jest różnica kursowa delegacyjna, widoczna na zakładce [Podsumowanie rozliczenia] na elemencie delegacji):
- Różnica kursowa dodatnia – symbol @RoznicaPlus
- Różnica kursowa ujemna – symbol @RoznicaMinus
- Kategoria dokumentu – w ramach, której dostępne są następujące parametry:
- Kategoria szczegółowa – symbol @KategoriaNag
- Kategoria ogólna – symbol @KategoriaOgolnaNag
- Opis kategorii – symbol @KategoriaOpisNag
- Kategoria pozycji – w ramach, której dostępne są następujące parametry:
- Kategoria szczegółowa – symbol @KategoriaElem
- Kategoria ogólna – symbol @KategoriaOgolnaElem
- Opis kategorii – symbol @KategoriaOpisElem
- Płatności – waluta płatności, symbol @WalutaPlatnosci
- Waluta – waluta etapu, symbol @WalutaEtapu
- Dokument delegacji – numer dokumentu delegacji, symbol @Dok
- Cel – cel delegacji, symbol @Cel
- Miejsce – miejsce docelowe, symbol @Miejsce
- Płatnik – w ramach, którego dostępne są:
- Kod – symbol @KodPlatnika
- Typ – symbol @TypPlatnika
- Podmiot – w ramach, którego dostępne są:
- Konto 1 pracownika – symbol @KontoPracownika
- Konto 2 pracownika – symbol @Konto2Pracownika
- Kod podmiotu – symbol @KodPodmiotu
- Kategoria dokumentu – w ramach, której dostępne są następujące parametry:
- Kategoria szczegółowa – symbol @KategoriaNag
- Kategoria ogólna – symbol @KategoriaOgolnaNag
- Opis kategorii – symbol @KategoriaOpisNag
- Konto Wn kategorii – symbol @KatNagKontoWn
- Konto Ma kategorii – symbol @KatNagKontoMa
- Kategoria pozycji – w ramach, której dostępne są następujące parametry:
- Kategoria szczegółowa – symbol @KategoriaElem
- Kategoria ogólna – symbol @KategoriaOgolnaElem
- Opis kategorii – symbol @KategoriaOpisElem
- Konto Wn kategorii – symbol @KatElemKontoWn
- Konto Ma kategorii – symbol @KatElemKontoMa
- Płatności – waluta płatności, symbol @WalutaPlatnosci
- Waluta – waluta etapu – symbol @WalutaEtapu
- Dokument delegacji – numer dokumentu delegacji, symbol @Dok
- Cel – cel delegacji, symbol @Cel
- Miejsce – miejsce docelowe, symbol @Miejsce
- Płatnik – w ramach, którego dostępne są:
- Konto płatnika 1 – konto wprowadzone na karcie płatnika (na karcie pracownika, widocznego na Płatności, która powstała w momencie rozliczania delegacji), na zakładce Dodatkowe w polu Konto 1 – symbol @KontoPlatnikaOdb
- Konto płatnika 2 – konto wprowadzone na karcie płatnika (na karcie pracownika, widocznego na Płatności, która powstała w momencie rozliczania delegacji), na zakładce Dodatkowe w polu Konto 2 – symbol @KontoPlatnikaDost
- Kod – symbol @KodPlatnika
- Typ – symbol @TypPlatnika
- Podmiot – w ramach, którego dostępne są:
- Konto 1 pracownika – konto wprowadzone na karcie pracownika wybranego na delegacji, na zakładce Dodatkowe w polu Konto 1 – symbol @KontoPracownika
- Konto 2 pracownika – konto wprowadzone na karcie pracownika wybranego na delegacji, na zakładce Dodatkowe w polu Konto 2 – symbol @Konto2Pracownika
- Kod podmiotu – symbol @KodPodmiotu
OPT073 - Szybki import i eksport przelewów przez bankowość internetową Pekao
Data aktualizacji: 06-07-2022
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.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. Jest 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 "Import/ Eksport"
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


Rysunek 3. Okno eksportu przelewów poprzez usługę sieciową.
W konfiguracji Stanowiska/ Kasa/Bank/ Parametry znajdują się parametry: Zapisuj dane wymieniane z bankiem do plików XML oraz Zapisuj szczegółowe logi z komunikacji z bankiem. Domyślnie te parametry są odznaczone. Zaznaczenie ich spowoduje zapisywanie plików w których znajdą się informacje związane z komunikacją z bankiem. Wygenerują się one w katalogu z logami programu, w ścieżce: %appdata%\Comarch\Optima\Logs\WebserwisyBankowe. 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.
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?
- Jakie warunki powinny spełniać certyfikaty wykorzystywane podczas wysyłki aby odbyła się ona prawidłowo?
Pliki do pobrania
OPT072 - Szybki import i eksport przelewów przez bankowość internetową BNP Paribas
Data aktualizacji: 06-07-2022
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.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. Jest 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 "Import/ Eksport".
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


Rysunek 3. Okno eksportu przelewu poprzez usługę sieciową.
W konfiguracji Stanowiska/ Kasa/Bank/ Parametry znajdują się parametry: Zapisuj dane wymieniane z bankiem do plików XML oraz Zapisuj szczegółowe logi z komunikacji z bankiem. Domyślnie te parametry są odznaczone. Zaznaczenie ich spowoduje zapisywanie plików w których znajdą się informacje związane z komunikacją z bankiem. Wygenerują się one w katalogu z logami programu, w ścieżce: %appdata%\Comarch\Optima\Logs\WebserwisyBankowe. 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.
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?
- Jakie warunki powinny spełniać certyfikaty wykorzystywane podczas wysyłki aby odbyła się ona prawidłowo?
OPT075 - Szybki import i eksport przelewów przez bankowość internetową banku Citi Handlowy
Data aktualizacji: 30-06-2022
Jak skonfigurować wymianę danych z bankiem Citi Handlowy?
Wymiana danych z bankiem Citi Handlowy dostępna jest w systemie Comarch ERP Optima od wersji 2020.6.1. W systemie Comarch ERP Optima na formularzu banku z którego wysyłane będą przelewy należy:- uzupełnić informację o kodzie SWIFT
- ustawić format wymiany danych
- podpiąć certyfikaty i uzupełnić Client ID i Client secret
- Format importu dla wyciągów bankowych
- Format eksportu dla przelewów zwykłych
- Format eksportu dla MPP

- przelewów walutowych – uzupełniamy informację, kto ponosi opłatę za przelewy walutowe,
- podpinamy certyfikaty do komunikacji z bankiem. Certyfikaty powinny mieć aktualną datę ważności, posiadać informacje o obsługujących je kluczach prywatnych. Należy upewnić się czy certyfikat znajduje się we właściwym magazynie certyfikatów.

- Client Signing and Encryption Certificate – certyfikat zakupiony przez Użytkownika i zainstalowany w systemie.
- Citi Encryption Certificate – certyfikat dostarczany przez bank.
- Citi Signing Certificate – certyfikat dostarczany przez bank.
- Client SSL Certificate – certyfikat zakupiony przez Użytkownika i zainstalowany w systemie.


- Uzupełniamy Client ID i Client secret. Informacje te dostarczane są przez bank Citi Handlowy.
Eksport za pomocą usługi sieciowej
Możliwy jest eksport przelewów krajowych (w tym MPP, do Urzędu Skarbowego i ZUS) oraz przelewów walutowych. Aby przelew był wysłany jako przelew natychmiastowy (Express Elixir), na płatności należy ustawić Priorytet: Wysoki. Przelewy walutowe wysyłane są jako przelewy zagraniczne lub przelewy SEPA. W celu wysłania przelewu SEPA zdarzenie w preliminarzu płatności musi być:- zdarzeniem rozchodowym
- waluta zdarzenia to EURO
- na zdarzeniu zaznaczono parametr „Przelew SEPA”
- wybrać rejestr, który dotyczy banku Citi Handlowego z ustalonym formatem wymiany danych za pomocą usługi sieciowej (w naszym przypadku Citi Handlowy – API)
- na liście powinny wyświetlać się tylko zdarzenia nierozliczone lub rozliczone częściowo




Okno eksportu przelewów poprzez usługę sieciową
Po wybraniu opcji Eksportuj przelewy pokazuje się okno, na którym można ustawić wybrane opcje eksportu. Data przelewu – do wyboru mamy cztery opcje: dzisiejsza, termin płatności, data realizacji, inna (samodzielnie ustalona). Przelewy zbiorczo wg podmiotów – po zaznaczeniu tej opcji przelewy zostaną pogrupowane wg podmiotu, numeru rachunku bankowego (wypełnionego na zdarzeniu) oraz waluty i wysyłane jako jeden, zbiorczy przelew. Po zaznaczeniu opcji Grupuj wg dat 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 – parametr jest widoczny po zaznaczeniu Przelewy zbiorczo wg podmiotów. Parametr ten 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 – parametr jest widoczny po zaznaczeniu Przelewy zbiorczo wg podmiotów. Spowoduje on, ż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. Parametr Dziel przelewy wg długości opisu może być stosowany razem z pozostałymi parametrami dotyczącymi przelewów zbiorczych. Eksport uruchamiamy ikoną pioruna
- Data wysłania WebService
- Komunikat WebService
- Data komunikatu WebService

Import za pomocą usługi sieciowej
W Comarch ERP Optima mamy możliwość importu danych z banku Citi Handlowy. Import dotyczy:- stanu rachunku bankowego
- wyciągów bankowych

- listy rejestrów kasowych/bankowych
- listy zapisów kasowych/bankowych
- preliminarza płatności


Lista zapisów kasowych/bankowych – Import przelewów
Na oknie Import przelewów ustalamy parametry importu, czyli:- wybieramy format wymiany (domyślnie podpowie się format importu ustalony na formularzu banku)
- określamy definicję dla zapisów KP i KW
- ustalamy okres za jaki będą importowane przelewy (domyślnie jest to okres odczytany z raportu bankowego utworzonego w programie)
- możemy zaznaczyć opcję automatycznego rozliczania płatności przy imporcie.


- data księgowania
- numer rachunku kontrahenta
- kwota
- opis przelewu
Eksport i import przelewów za pomocą usługi sieciowej – najczęściej zadawane pytania
1. 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, Format eksportu dla MPP 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 certyfikaty i uzupełnia Client ID i Client secret. 2. Czy można zobaczyć w pliku dane, które zostały wyeksportowane/zaimportowane z banku? Odpowiedź: Tak, mamy taką możliwość. W Konfiguracji Stanowiska/ Kasa/Bank/ Parametry znajdują się parametry: Zapisuj dane wymieniane z bankiem do plików XML oraz Zapisuj szczegółowe logi z komunikacji z bankiem. Domyślnie te parametry są odznaczone. Zaznaczenie ich spowoduje zapisywanie plików w których znajdą się informacje związane z komunikacją z bankiem. Wygenerują się one w katalogu z logami programu, w ścieżce: %appdata%\Comarch\Optima\Logs\WebserwisyBankowe 3. Co jest wymagane od strony banku Citi Handlowy, aby rozpocząć import i eksport przelewów za pomocą usługi sieciowej? Odpowiedź: Korzystanie z usługi Citi Handlowy – API wymaga konfiguracji w systemie banku Citi Handlowy. W przypadku chęci skorzystania z usługi prosimy o kontakt z Działem Pomocy Technicznej banku Citi Handlowy pod nr. tel. 801 343 978, +48 (22) 690 15 21 (Adres mailowy: helpdesk.ebs@citi.com).OPT084 Szybki import i eksport przelewów przez bankowość internetową Banku Millennium
Data aktualizacji: 30-06-2022
Informacje ogólne
https://www.youtube.com/watch?v=cluwjWRp6_I&feature=youtu.be Dla Użytkowników Comarch ERP Optima korzystających z systemu Millenet dla Przedsiębiorstw oraz usługi Millenet Link wprowadziliśmy możliwość bezpośredniej wymiany danych z Bankiem Millennium. Wymiana danych z bankiem za pomocą usługi sieciowej umożliwia eksport przelewów bezpośrednio z/do systemu bankowego oraz import historii rachunku w łatwy i szybki sposób 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 komunikacyjny, 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 Millennium WebService (standardowy) do wymiany danych z Bankiem Millennium.Jak skonfigurować wymianę danych z Bankiem Millennium?
Wymiana danych z Bankiem Millennium dostępna jest w systemie Comarch ERP Optima od wersji 2019.5.1.- ustawić format wymiany danych
- podpiąć certyfikat komunikacyjny
- dla przelewów walutowych wskazać, kto ponosi opłaty związane z takimi przelewani
- Format eksportu dla przelewów zwykłych
- Format importu wyciągów bankowych

- przelewów walutowych
- podpinamy certyfikat do komunikacji z bankiem. Certyfikat ten powinien mieć aktualną datę ważności, posiadać informacje o obsługujących go kluczach prywatnych. Należy upewnić się czy certyfikat znajduje się we właściwym magazynie certyfikatów.

- Opłatę ponosi – mamy tutaj do wyboru trzy opcje: Zleceniodawca, Zleceniobiorca, Po równo.
- Osoba kontaktowa – nasz przedstawiciel wybrany do kontaktu z bankiem.
- Kontakt – numer telefonu, adres e-mail.
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 lub przelewy SEPA. W celu wysłania przelewu SEPA zdarzenie w preliminarzu płatności musi być:- zdarzeniem rozchodowym
- waluta zdarzenia to EURO
- na zdarzeniu zaznaczono parametr „Przelew SEPA”
- wybrać rejestr, który dotyczy Banku Millennium z ustalonym formatem wymiany danych za pomocą usługi sieciowej (w naszym przypadku Millennium WebService)
- na liście powinny wyświetlać się tylko zdarzenia nierozliczone lub rozliczone częściowo.






- anulowane – przelewy zostaną wysłane jako niepodpisane i będą oczekiwały na akceptację po stronie banku.
- zostanie wybrany właściwy certyfikat – do Banku Millennium zostaną wysłane podpisane przelewy.
- Data wysłania WebService
- Komunikat WebService
- Data komunikatu WebService

Import za pomocą usługi sieciowej
W Comarch ERP Optima mamy możliwość importu danych z Banku Millennium. Import dotyczy:- stanu rachunku bankowego
- historii operacji

- listy rejestrów kasowych/bankowych
- listy zapisów kasowych/bankowych
- preliminarza płatności


- wybieramy format wymiany (domyślnie podpowie się format importu ustalony na formularzu banku)
- określamy definicję dla zapisów KP i KW
- ustalamy okres za jaki będą importowane przelewy (domyślnie jest to okres odczytany z raportu bankowego)
- możemy zaznaczyć opcję automatycznego rozliczania płatności przy imporcie


- data księgowania
- numer rachunku kontrahenta
- kwota
- opis przelewu
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?
- Jakie warunki powinny spełniać certyfikaty wykorzystywane podczas wysyłki, aby odbyła się ona prawidłowo?
- Zapisuj dane wymieniane z bankiem do plików XML – w pliku XML zapisywane będą dane wysyłane/importowane z banku.
- Zapisuj szczegółowe logi z komunikacji z bankiem – w pliku tekstowym zapisywane będą informacje związane z komunikacją z bankiem. Informacje te mogą być pomocne przy ustalaniu przyczyny nieprawidłowej komunikacji z bankiem.
- Co jest wymagane od strony Banku Millennium, aby rozpocząć import i eksport przelewów za pomocą usługi sieciowej?
OPT081 - Eksport przelewów do banku Citi Handlowy
Data aktualizacji: 30-06-2022
Lista dostępnych formatów
System Comarch ERP Optima umożliwia wysłanie do banku poleceń przelewów. Dla Użytkowników posiadających konto firmowe w banku Citi Handlowy przygotowaliśmy formaty typu Elixir, XML oraz Flat File (CDFF). Lista zdefiniowanych formatów dostępna jest z poziomu Ogólne/ Inne /Formaty przelewów. Na liście znajdują się formaty:- Citi Handlowy – Przelewy krajowe (CDFF),
- Citi Handlowy – Przelewy krajowe (Elixir),
- Citi Handlowy – Przelewy krajowe, w tym MPP (xml),
- Citi Handlowy – Przelewy międzynarodowe (CDFF),
- Citi Handlowy – Przelewy międzynarodowe (xml),
- Citi Handlowy – Przelewy MPP (CDFF),
- Citi Handlowy – Przelewy MPP (Elixir),
- Citi Handlowy – Przelewy podatkowe (CDFF),
- Citi Handlowy – Przelewy podatkowe (Elixir),
- Citi Handlowy – Przelewy podatkowe (xml),
- Citi Handlowy – Przelewy SEPA (CDFF),
- Citi Handlowy – Przelewy SEPA (xml).
Formularz banku – jak usprawnić wysyłanie przelewów
Dla banku Citi Handlowy przygotowaliśmy 3 rodzaje formatów (Elixir, XML, Flat File). W momencie wysyłania przelewu należy wskazać odpowiedni format wymiany danych z bankiem. W programie możemy określić domyślny format wymiany, który będzie automatycznie podpowiadał się przy wysyłaniu przelewów. W tym celu należy wejść na formularz banku (menu Ogólne/ Inne/ Banki lub <CTR>+<B>) i na zakładce [Import/Eksport] wybrać właściwy format. Lista dostępnych formatów wyświetli się po wciśnięciu strzałki na końcu pola z danym formatem.
Formularz banku – zakładka [Import/Eksport]
Format eksportu dla przelewów zwykłych – wskazujemy format dla przelewów zwykłych złotówkowych, walutowych lub SEPA: Citi Handlowy - Przelewy krajowe (CDFF), Citi Handlowy - Przelewy krajowe (Elixir), Citi Handlowy - Przelewy krajowe, w tym MPP (xml), Citi Handlowy - Przelewy międzynarodowe (CDFF), Citi Handlowy - Przelewy międzynarodowe (xml), Citi Handlowy - Przelewy SEPA (CDFF), Citi Handlowy - Przelewy SEPA (xml). Format eksportu dla przelewów MPP – wskazujemy format dedykowany dla przelewów MPP: Citi Handlowy - Przelewy krajowe, w tym MPP (xml), Citi Handlowy - Przelewy MPP (CDFF) lub Citi Handlowy - Przelewy MPP (Elixir). Format eksportu dla przelewów do US – wybieramy format dla przelewów podatkowych: Citi Handlowy - Przelewy podatkowe (CDFF) lub Citi Handlowy - Przelewy podatkowe (Elixir). W przypadku przelewów podatkowych w formacie XML należy je w Preliminarzu płatności zaznaczyć i wysłać oddzielnie wybierając przy eksporcie format Citi Handlowy - Przelewy podatkowe (xml). Format eksportu dla przelewów ZUS – wskazujemy format jak dla przelewów zwykłych złotówkowych.Preliminarz płatności – wybór przelewów do wysłania
Eksport przelewów
- wszystkie zdarzenia dla danego rejestru bankowego,
- określamy, że mają to być zdarzenia nierozliczone lub rozliczone częściowo,
- na liście za pomocą myszki lub za pomocą <SPACJI> zaznaczamy te, które mają być wysłane.

Preliminarz – wysyłanie zaznaczonych zdarzeń
Drugi sposób polega na wybraniu przelewów do wysłania. Na liście wszystkich nierozliczonych zdarzeń danego rejestru bankowego zaznaczenie parametru

Preliminarz płatności – Przelewy do wysłania
Dodatkowo listę przelewów możemy zawęzić wg ich daty realizacji oraz wybrać tylko te przelewy, które mają być realizowane mechanizmem MPP.Preliminarz płatności – eksport przelewów
W Preliminarzu płatności po przygotowaniu listy przelewów do wysłania za pomocą przycisku

Preliminarz – eksport przelewów do pliku
W przypadku, gdy na formularzu banku związanego z rejestrem bankowym z którego wykonujemy eksport podaliśmy domyślne Formaty wymiany danych są one przenoszone na okno eksportu. W razie potrzeby możemy je zmienić. Po kliknięciu w pole z danym formatem wyświetli się lista wszystkich dostępnych w programie formatów wymiany. W przypadku pierwszego eksportu podajemy Katalog docelowy oraz Nazwę pliku w którym będą zapisywane zlecenia przelewów. Program domyślnie jako Datę przelewu proponuje datę realizacji odczytaną z danego zdarzenia. Mamy możliwość ustalenia, że przelewy mają być realizowane z datą dzisiejszą, terminem płatności lub inna wybraną samodzielne przez nas datą. W sytuacji, gdy eksportujemy kilka przelewów dla tego samego kontrahenta możemy je wysłać jako przelew zbiorczy. Po zaznaczeniu parametru Przelewy zbiorczo wg podmiotów pojawią się dodatkowe parametry określające sposób grupowania i eksport dodatkowych informacji (opisów). Po uzupełnieniu parametrów potrzebnych do eksportu po wciśnięciu
- wystawione dla kontrahenta, który na karcie kontrahenta ma uzupełniony polski NIP,
- kwota płatności to co najmniej 15 000 zł lub równowartość w walucie (w przypadku płatności, które powstały dla dokumentów handlowych, rejestru VAT czy ewidencji dodatkowej sprawdzana jest łączna kwota z dokumentu źródłowego) – kryterium to zależy od ustawienia w Konfiguracji firmy /Ogólne /Parametry – Automatyczna weryfikacja numerów rachunków bankowych w Wykazie podatników VAT. Jeśli parametr niezależnie od kwoty dokumentu jest zaznaczony nie sprawdzamy kwoty transakcji.
- na płatności uzupełniony jest rachunek bankowy.

Preliminarz – przelewy wyeksportowane
Po wyeksportowaniu na płatności zmieniany jest stan z Do realizacji na Wysłane. W Preliminarzu płatności zdarzenia te wyświetlają się kolorze niebieskim.OPT090 - Szybki import i eksport przelewów przez bankowość internetową iBiznes24 – Santander Bank Polska
Jak skonfigurować wymianę danych z iBiznes24?
Wymiana danych z iBiznes24 dostępna jest w systemie Comarch ERP Optima od wersji 2022.6.1. W systemie Comarch ERP Optima należy:- ustawić format wymiany danych
- uzupełnić informację o numerze NIK firmy
- podpiąć certyfikat transportowy i aplikacyjny
- uzupełnić NIK użytkownika
- dla przelewów walutowych wskazać, kto ponosi opłaty
Formularz banku – zakładka Import / Eksport
Na formularzu banku na zakładce [2 Import / Eksport] w polach:- Format importu wyciągów bankowych
- Format eksportu dla przelewów zwykłych
- Format eksportu dla MPP

Formularz banku, zakładka Import / Eksport
Formularz banku – zakładka Ustawienia usługi sieciowej
Po wybraniu formatu Santander WebService na formularzu banku pojawia się dodatkowa zakładka [3 Ustawienia usługi sieciowej]. Na zakładce tej:- wprowadzamy ustawienia dotyczące przelewów walutowych
- w sekcji Certyfikaty dla Santander Bank Polska podpinamy certyfikat transportowy i aplikacyjny. W sytuacji, gdy nie mamy tych certyfikatów możemy je wygenerować i zainstalować z poziomu formularza banku w Comarch ERP Optima.




- W sekcji NIK użytkowników (operatorów) podajemy NIK użytkownika w iBiznes24.

Formularz banku, zakładka Ustawienie usługi sieciowej
Formularz rejestru bankowego
Na formularzu rejestru bankowego związanego z iBiznes24 należy uzupełnić NIK firmy. Jest to unikalny identyfikator klienta iBiznes24. Brak tej informacji lub błędne dane uniemożliwią wymianę danych za pomocą iBiznes 24 Connect.Rejestr bankowy, NIK firmy
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 lub przelewy SEPA. Przelewy bankowe eksportowane są do iBiznes24 w formie paczek. Eksport za pomocą usługi sieciowej iBiznes24 Connect możemy wykonać z poziomu preliminarza płatności z listy płatności oraz z listy paczek przelewów.Eksport z listy Płatności
W preliminarzu płatności na liście płatności:-
-
- wybieramy odpowiedni rejestr bankowy, dla którego wybrano format wymiany danych za pomocą usługi sieciowej (w naszym przypadku Santander WebService)
- na liście powinny wyświetlać się tylko zdarzenia nierozliczone lub rozliczone częściowo
-

Preliminarz płatności – parametry
Po spełnieniu tych warunków w preliminarzu płatności będzie dostępna ikona Eksportuj polecenia przelewu



Okno eksportu przelewów poprzez usługę sieciową iBiznes24 Connect
Po wybraniu opcji Eksportuj przelewy pokazuje się okno, na którym można ustawić wybrane opcje eksportu. Data przelewu – do wyboru mamy cztery opcje: dzisiejsza, termin płatności, data realizacji, inna (samodzielnie ustalona). Przelewy zbiorczo wg podmiotów – po zaznaczeniu tej opcji przelewy zostaną pogrupowane wg podmiotu, numeru rachunku bankowego (wypełnionego na zdarzeniu) oraz waluty i wysyłane jako jeden, zbiorczy przelew. Po zaznaczeniu opcji Grupuj wg dat 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 – parametr jest widoczny po zaznaczeniu Przelewy zbiorczo wg podmiotów. Parametr ten powoduje, że w zbiorczym przelewie umieszczamy kolejne pełne opisy z przelewów cząstkowych, aż do wyczerpania ilości znaków wymaganych przez iBiznes24. Dziel przelewy wg długości opisu – parametr jest widoczny po zaznaczeniu Przelewy zbiorczo wg podmiotów. Spowoduje on, ż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. Parametr Dziel przelewy wg długości opisu może być stosowany razem z pozostałymi parametrami dotyczącymi przelewów zbiorczych. Eksport uruchamiamy ikoną pioruna

Płatności – metody akceptacji płatności
Akceptacja przelewów za pomocą kodu SMS wymaga podania kodu SMS, który zostanie wysłany na numer telefonu Użytkownika. W przypadku podania błędnego kodu SMS lub w sytuacji, gdy kod SMS wygasł mamy możliwość wysłania prośby o przesłanie nowego kodu SMS.
Płatności – akceptacja transakcji za pomocą kodu SMS
Akceptacja transakcji za pomocą tokena wymaga wpisania wygenerowanego w Comarch ERP Optima kodu do tokena i przepisanie odpowiedzi z tokena do programu.
Płatności – akceptacja transakcji za pomocą tokena
Akceptacja za pomocą podpisu kwalifikowanego wymaga wybrania odpowiedniego certyfikatu z listy.
Płatności – akceptacja transakcji za pomocą podpisy kwalifikowanego
W momencie eksportu przelewów program utworzy z nich paczkę przelewów. W paczce znajdą się przelewy, które wcześniej nie zostały wyeksportowane, nie zostały dodane do innej paczki, mają uzupełniony opis do banku, adres beneficjenta oraz uzupełniony jego numer rachunku bankowego. Paczka uzyska unikalny numer oraz domyślną nazwę Paczka z dnia XX.XX.XXXX , gdzie XX.XX.XXXX to dzień wykonania eksportu do iBiznes24. Jeżeli w preliminarzu płatności wybierzemy rejestr, który obsługuje wymianę danych poprzez usługę sieciową, na liście dostępne są kolumny:-
-
- Data wysłania do banku
- Komunikat z banku
- Data komunikatu z banku
-
-
-
- Import odrzucony – paczka została odrzucona.
- Import przetworzony (przyjęty do realizacji) – paczka przelewów została przetworzona.
- Import przetwarzany – trwa proces przetwarzania paczki przelewów.
- Import oczekujący (na skompletowanie) – trwa proces przetwarzania paczki przelewów.
-
-
-
- Wprowadzona – płatność wysłana do iBiznes24 bez podpisów
- Częściowo zaakceptowana – komunikat pojawia się w sytuacji podpisu w schemacie wieloosobowej akceptacji.
- Zaakceptowana – przelew posiada komplet podpisów.
- Przyjęta/przetwarzana do realizacji w Banku – komunikat pojawia się w przypadku, gdy zaakceptowany przelew został przekazany do realizacji.
- Zaksięgowana w Banku – płatność obciążyła rachunek bankowy.
- Wycofana – płatność została w iBiznes24 wycofana.
- Odrzucona, Niewprowadzona – komunikat pojawia się w przypadku, gdy ze względu na brak środków nie można zrealizować zlecenia.
- Paczka usunięta – status dla przelewów, gdy w iBiznes24 paczka została usunięta.
-

Preliminarz płatności – kolumny związane z usługą WebService
Na liście płatności możemy sprawdzić aktualny stan wysłanych przelewów do iBiznes24 oraz możemy pobrać w formie pliku pdf potwierdzenia wykonania przelewu. Obie te opcje Aktualizuj stany przelewów i Pobierz potwierdzenie transakcji dostępne są z menu, które pojawia się po wciśnięciu strzałki obok przycisku
Eksport z listy Paczki przelewów
Eksport płatności możemy wykonać także z zakładki [2 Paczki przelewów]. Lista ta zawiera paczki, które powstały w momencie wykonywania eksportu przelewów z zakładki [1 Płatności] oraz paczki utworzone samodzielnie przez Użytkownika programu. Paczki, które zostały wysłane do iBiznes24 wyświetlają się w kolorze niebieskim.


-
-
- Zaakceptowana (podpisana)
- Wyeksportowana do iBiznes24
-



Paczki przelewów – eksport do banku
Aktualizuj stany przelewów – następuje pobranie stanu przelewów z iBiznes24. Informacja widoczna jest na liście płatności i na formularzu paczki w kolumnie Komunikat z banku. Akceptuj paczki przelewów – powoduje akceptację (podpisanie) wybranych paczek przelewów. Analogicznie jak przy wysyłaniu przelewów na formularzu paczki mamy możliwość wybrania jednej z trzech metod akceptacji (kod SMS, token, podpis kwalifikowany). Pobierz potwierdzenie transakcji – dla płatności Zaksięgowanych w Banku pobierane jest potwierdzenie wykonania transakcji.Import za pomocą usługi sieciowej
W Comarch ERP Optima mamy możliwość importu danych z banku Santander. Import dotyczy:-
-
- stanu rachunku bankowego
- wyciągów bankowych
- historii operacji, gdy nie ma wyciągów
-

-
-
- listy rejestrów kasowych/bankowych
- listy zapisów kasowych/bankowych
- preliminarza płatności
-

Lista zapisów kasowych/bankowych – Import przelewów
Import uruchamiamy przyciskiem Importuj polecenia przelewu
-
-
- wybieramy format wymiany (domyślnie podpowie się format importu ustalony na formularzu banku)
- określamy definicję dla zapisów KP i KW
- ustalamy okres za jaki będą importowane przelewy (domyślnie jest to okres odczytany z raportu bankowego)
- możemy zaznaczyć opcję automatycznego rozliczania płatności przy imporcie
-


-
-
- data księgowania
- numer rachunku kontrahenta
- kwota
- waluta
- opis przelewu
-
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?
-
-
-
- Jakie warunki powinny spełniać certyfikaty wykorzystywane podczas wysyłki, aby odbyła się ona prawidłowo?
-
-
-
- Czy można zobaczyć w pliku dane, które zostały wyeksportowane/zaimportowane z banku?
-
-
-
- Mam kilka stanowisk, czy muszę przechodzić kreator na każdym stanowisku?
-
-
-
- Jak przenieść certyfikaty transportowy i aplikacyjny na inne stanowisko?
-