e-Teczka

– elektroniczna dokumentacja pracownicza dostępna w programie, służy przechowywaniu dokumentów kadrowych związanych z pracownikiem w formie elektronicznej, umożliwiając jednocześnie łatwy dostęp do danych pracownika. Funkcjonalność jest dostępna w module Płace i Kadry oraz Płace i Kadry Plus z poziomu listy pracowników oraz z formularza pracownika.

e-Teczka – konfiguracja

W konfiguracji firmy [Konfiguracja / Firma / Definicje dokumentów / Płace / e-Teczka] Użytkownik ma dostępne schematy numeracji dla dokumentów dodawanych do e-Teczki pracownika. Standardowo dostępny jest schemat EDOK. Można również zdefiniować własne schematy.

W konfiguracji programu [Konfiguracja / Program / Płace / e-Teczka] znajdują się ustawienia związane z prowadzeniem dokumentacji pracowniczej w ramach funkcjonalności e-Teczka. Są one dostępne do edycji tylko dla operatora posiadającego uprawnienia administratora.

Z tego poziomu Użytkownik może określić miejsce zapisywania dołączanych do dokumentów w e-Teczce plików. Do wyboru są trzy opcje:

  • firmowa baza danych (domyślne ustawienie) – pliki PDF są zapisywane jako dane binarne w firmowej bazie danych,
  • dysk lokalny – zapis plików PDF we wskazanej lokalizacji na lokalnym dysku,
  • dysk iBard – zapis plików PDF we wskazanej lokalizacji na dysku iBard.

W przypadku ustawienia opcji dysk lokalny lub iBard należy dodatkowo wskazać katalog przechowywania plików. W obrębie wskazanego katalogu, podczas dodawania dokumentów do e-Teczek pracowniczych, załączone pliki będą zapisywane w podkatalogu dla danej firmy i dodatkowo w podkatalogu dotyczącym danego pracownika. Nazwa katalogu dla pracownika zawiera numer PESEL, NIP, paszport, zagraniczny numer identyfikacyjny lub akronim, w zależności od danych pracownika.

W sekcji Parametry zapisu dokumentów w e-Teczce znajduje się lista ze strukturą e-Teczki. Standardowo dodane są w niej pozycje:

  • Część A – część, w której powinny być przechowywane dokumenty zgromadzone w związku z ubieganiem się o zatrudnienie (np. CV, kopie dyplomów potwierdzających wykształcenie i świadectw pracy od poprzednich pracodawców, kopia zaświadczenia lekarskiego z badań wstępnych),
  • Część B – część, w której powinny być przechowywane dokumenty dotyczące nawiązania stosunku pracy oraz przebiegu zatrudnienia pracownika (np. umowa o pracę, kopie zaświadczeń o ukończonych szkoleniach w trakcie zatrudnienia, kopie zaświadczeń lekarskich z badań okresowych),
  • Część C – część, w której powinny być przechowywane dokumenty związane z ustaniem zatrudnienia (np. wypowiedzenie umowy, świadectwo pracy).
  • Część D – część przeznaczona do przechowywania dokumentów dotyczących kar porządkowych nakładanych na pracownika (np. kara nagany).
  • Część E – część przeznaczona na dokumenty związane z kontrolą trzeźwości pracownika lub kontrolą na obecność w jego organizmie środków działających podobnie do alkoholu.

Jako domyślna ustawiona jest Część B. Dokumenty tworzone podczas wykonywania wydruków będą automatycznie dodawane do tej części e-Teczki pracownika, która jest ustawiona jako domyślna, chyba, że w definicji wydruków określono inaczej. Użytkownik może dodawać kolejne części, a także zmienić ustawienie, która z części jest domyślna. Usunięcie utworzonej części z konfiguracji jest możliwe tylko w przypadku, gdy nie zostały przypisane do niej żadne dokumenty.

Uwaga
W przypadku zmiany bazy konfiguracyjnej, dokumenty znajdujące się w e-Teczkach pracowników są przyporządkowywane do nowych części według ID części. Jeśli dokument był dodany do części e-Teczki o ID=1, po podłączeniu nowej bazy konfiguracyjnej także będzie dostępny w części, której ID=1. Dodatkowo w tabeli CDN.PracTeczka zapisana jest informacja o nazwie części, w której dany dokument się znajdował.

Sekcja Certyfikaty podpisów dla dokumentów w e-Teczce zawiera ustawienia dotyczące podpisywania plików PDF dodawanych do e-Teczki. Z tego poziomu można przypisać operatorom domyślne ustawienia dotyczące kwalifikowanych podpisów elektronicznych. Zaznaczenie parametru Podpis przy dodanym operatorze spowoduje wyświetlenie listy certyfikatów zainstalowanych na danym stanowisku. Wybrany z listy certyfikat zostanie ustawiony jako domyślny dla operatora i wszystkie dodawane przez niego dokumenty do e-Teczki będą nim podpisywane. W przypadku zaznaczenia dla danego operatora parametru Podpis, ale bez przypisania konkretnego podpisu podczas dodawanie dokumentów doe-Teczki każdorazowo będzie wyświetlane okno z listą certyfikatów i użytkownik będzie mógł zdecydować, którym certyfikatem dany plik ma być podpisany.

Rys 46. E-Teczka – formularz

e-Teczka pracownika

Po wybraniu opcji e-Teczka widoczna jest lista dokumentów pracownika w kontekście, którego została wywołana w podziale na części. W standardzie dostępne są predefiniowane części A, B,C,D i E. W części A powinny być gromadzone dokumenty związane z ubieganiem się o zatrudnienie; w części B – dokumenty dotyczące nawiązania stosunku pracy oraz przebiegu zatrudnienia pracownika, a w części C – dokumenty związane z ustaniem zatrudnienia. W części D – dokumenty związane z nałożonymi na pracownika karami porządkowymi, w części E – dokumenty związane z kontrolą trzeźwości pracownika lub kontrolą na obecność w jego organizmie środków działających podobnie do alkoholu.

Z poziomu e-Teczki pracownika można dodawać dokumenty, przeglądać oraz usuwać.

Z poziomu listy e-Teczek  pracowników Użytkownik może w łatwy sposób odszukać określony dokument po jego tytule, numerze lub dacie dodania.

Formularz dokumentu w e-Teczce

Dodawanie dokumentu do e-teczki pracownika jest możliwe z poziomu okna e-Teczka za pomocą przycisku .

Formularz dokumentu w e-Teczce zawiera następujące dane:

  • numer dokumentu, ze standardowo wskazanym w konfiguracji schematem numeracji,
  • tytuł dokumentu – w tym polu użytkownik ma możliwość wybrania tytułu dokumentu z listy słownikowej
  • opis – pole do wpisania dodatkowych informacji dotyczących wprowadzanego dokumentu,
  • część e-Teczki, w której jest dany dokument,
  • datę dokumentu,
  • informacje dotyczące dołączonego do dokumentu pliku w formacie PDF, jego lokalizacji wraz ze ścieżką, operatorze, który dodał plik PDF oraz czy został opatrzony podpisem cyfrowym i jeśli tak, to datą podpisu.

Rys 47. Formularz dokumentu e-Teczki

Za pomocą przycisku   można wykonać operacje związane z dodaniem pliku PDF do dokumentu oraz zmianą lokalizacji dołączonego wcześniej pliku. Pliki można dodawać z dysku lokalnego lub dysku iBard. Dodatkowo za pomocą opcji Skanuj i zapisz… jest możliwość jednoczesnego skanowania i dodawania plików do dokumentów. Dokumenty dodawane do e-Teczki mogą być zapisywane w bazie firmowej, na dysku lokalnym lub dysku iBard. Menu dostępne pod przyciskiem  jest automatycznie dostosowywane w zależności od ustawień w konfiguracji.

e-Teczka – dodawanie dokumentu

Funkcjonalność umożliwia także podpisywanie podpisem cyfrowym dodawanych plików. Jeśli dany operator ma przypisany certyfikat w konfiguracji, plik podczas dodawania do dokumentu zostanie automatycznie podpisany. Gdy operator dodaje dokument do e-Teczki po raz pierwszy i w konfiguracji nie ma ustawień odnośnie podpisu, wyświetli się lista podpisów zainstalowanych na danym stanowisku, z której będzie mógł wybrać odpowiedni podpis – wybrany w ten sposób podpis zostanie dołączony do pliku PDF w zapisywanym dokumencie. Z tego poziomu Użytkownik może również zdecydować, czy wybrany certyfikat ma zostać domyślnym dla danego operatora.

Istnieje także możliwość dodania podpisu cyfrowego do podświetlonego pliku PDF, który został wcześniej zapisany do e-Teczki bez dołączenia podpisu cyfrowego za pomocą przycisku Dodaj podpis cyfrowy .

Użytkownik z poziomu formularza dokumentu ma możliwość podglądu dodanego pliku za pomocą przycisku  oraz usuwać .

Na oknie e-Teczka (Płace i Kadry/ Kadry/e-Teczka) możliwe jest wyszukanie dokumentów na podstawie metadanych. Dane te znajdują się w kolumnach:

■             PESEL
■             Rodzaj dokumentu – zawiera numer kolejny dokumentu,
■             Data podpisu – data opatrzenia pieczęcią elektroniczną
■             Data eksportu – data utworzenia uporządkowanego zbioru dokumentów

Kolumny domyślnie są ukryte, ale można je dodać za pomocą opcji Wybór kolumn.

Zapis wydruków bezpośrednio do e-Teczki

Wydruki generowane dla pracowników mogą być dodawane do e-Teczki na dwa sposoby. W menu wydruków jest dostępna opcja Dodaj do e-Teczki. Wywołany w ten sposób wydruk zapisze się jako plik PDF w dodanym automatycznie dokumencie w e-Teczce pracownika będącego podmiotem danego wydruku, bez konieczności wykonania wydruku na drukarkę.

e-Teczka – zapis wydruku do e-Teczki

Wykonanie wydruku na drukarkę także może automatycznie dodawać dokument do e-Teczki. Jest to zależne od ustawienia parametrów Kopia elektroniczna i  Zapisuj wydruk w formacie PDF w e-Teczkach pracowników w części znajdujących się w definicji wydruku. Po zaznaczeniu parametrów dodatkowo należy ustawić, w której części e-teczki dokument ma być dodany. Domyślnie podpowiada się ta część e-Teczki, która jest w konfiguracji ustawiona jako domyślna, ale operator może ją zmienić.

Podczas dodawania dokumentów do e-Teczki podczas wykonywania wydruków ustawienia dotyczące części e‑Teczki, do której dokument zostanie dodany oraz podpisywania będą pobierane z definicji wydruku lub konfiguracji programu (gdy nie ma ustawień w definicji wydruku). W przypadku wydruków wywoływanych z listy, zapisywanie w e-Teczkach wykona się wyłącznie wtedy, gdy wybrany wydruk będzie wydrukiem kaskadowym tworzącym wiele plików PDF z oddzielnymi wydrukami dotyczącymi poszczególnych zaznaczonych pracowników.

 Eksport e-Teczki pracownika wraz z metadanymi

Z poziomu okna e-Teczka  można wyeksportować dokumentację pracownika wraz  z metadanymi. Użytkownik może wyeksportować dokumentację wybranego pracownika lub wszystkich. Po rozwinięciu strzałki przy przycisku eksportu dostępne są do wyboru dwie opcje: eksport dokumentacji pracownika oraz eksport dokumentacji wszystkich pracowników. Na formularzu eksportu dokumentacji należy wskazać lokalizację, gdzie dokumentacja zostanie zapisana oraz określić, z których części e-Teczki mają zostać wyeksportowane dokumenty. Dodatkowo dostępny jest parametr Podpisz cyfrowo plik, którego zaznaczenie spowoduje opatrzenie skompresowanego pliku kwalifikowanym podpisem elektronicznym.

Eksport dokumentacji spowoduje:

  • utworzenie uporządkowanego zbioru dokumentów, wraz z kompletem metadanych dla każdego dokumentu,
  • zapisanie zbioru dokumentów w postaci skompresowanego pliku o następujących nazwach:
  • Teczka_pracownika_imie_nazwisko_pesel.zip (gdy wybrana opcja dla jednego pracownika)
  • Teczka_pracownikow_NIP.zip (gdy wybrana opcja dla wszystkich), a w nim foldery dla poszczególnych pracowników
  • opatrzenie skompresowanego pliku kwalifikowanym podpisem elektronicznym (jeżeli zaznaczono parametr ‘Podpisz cyfrowo plik’).

Każdy dokument znajdujący się w e-Teczce pracownika zostanie zapisany jako odrębny plik PDF. Do każdego dokumentu zostanie utworzony zestaw następujących metadanych, zapisanych w odrębnym pliku XML z metadanymi:

  • identyfikator dokumentu, który stanowi numer pełny dokumentu,
  • identyfikator dokumentacji – będący akronimem pracownika,
  • rodzaj dokumentu – numer dokumentu w danej części e-Teczki,
  • data powstania dokumentu;
  • data opatrzenia odwzorowania cyfrowego kwalifikowaną pieczęcią elektroniczną pracodawcy albo kwalifikowanym podpisem elektronicznym pracodawcy, albo osoby upoważnionej przez pracodawcę – w przypadku, gdy jest to odwzorowanie cyfrowe dokumentu w postaci papierowej;
  • numer PESEL pracownika, do którego dokumentacji pracowniczej został włączony dokument, a w przypadku jego braku – rodzaj i numer dokumentu potwierdzającego tożsamość;
  • imię i nazwisko pracownika;
  • nazwa pracodawcy;
  • data utworzenia uporządkowanego zbioru dokumentów przeznaczonych do przekazania, w którym znajduje się dokument.

Plik XML z metadanymi będzie miał taką samą nazwę, jaką ma pełna nazwa pliku, do którego się odnosi.

W danych dokumentu zapisywana jest data wykonania jego eksportu.

W przypadku, gdy dokumentacja pracownicza jest przechowywana przez pracodawcę w postaci elektronicznej, pracodawca wydaje kopię całości lub części dokumentacji pracowniczej:

  • w postaci elektronicznej albo
  • w postaci papierowej stanowiącej wydruk z dokumentacji pracowniczej prowadzonej w postaci elektronicznej, zawierający oprócz treści również metadane.

Na potrzeby konieczności wydania w postaci papierowej dokumentacji w programie z poziomu formularza dokumentu znajdującego się w e-Teczce możliwe jest wykonanie wydruku metadanych dla plików [Podgląd wydruku lub Wydruk danych/ Dokumentacja pracownicza/ Dokumentacja pracownicza – metadane].




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:

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

Wymagania co do podsystemu dyskowego zależą od wielkości instalacji to znaczy wielkości bazy oraz ilości równoczesnych użytkowników.

Jako zgrubną zasadę można przyjąć, że dla mniejszych baz danych (<2 GB) należy zarezerwować około 15-25 IOPS dla użytkownika. Natomiast dla większych baz (> 2 GB) dla jednego użytkownika należy przeznaczyć 25-40 IOPS lub więcej.

Jak widać Rozwiązaniem godnym polecenia jest zastosowanie dysków SSD. Przy czym należy pamiętać o zabezpieczeniu ich przed awarią np. poprzez konfigurację RAID 1. Bardziej szczegółowe informacje dotyczące określenia wymagań aplikacji do podsystemu dyskowego można znaleźć w poniższym odnośniku: http://msdn.microsoft.com/en-us/library/ee410782(v=sql.100).aspx

Porównanie wydajności pracy Comarch ERP Optima z dyskami SSD i SATA znajduje się w biuletynie technicznym: OPT076 – Porównanie wydajności HDD vs SSD w Comarch ERP Optima.pdf, który jest dostępny na Indywidualnych Stronach Partnerów (https://www.erp.comarch.pl//partnerzy/default.aspx).

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.

EdycjaMaksymalna ilość pamięci RAM (dla puli buforów)Maksymalna wielkość bazy danychIlość obsługiwanych procesorów
SQL 2008 Express1 GB*4 GB1
SQL 2008 R2 Express1 GB*10 GB1
SQL 2012 / 2014 Express1 GB*10 GB1 (maksymalnie 4 rdzenie)
SQL 2008 R2 Workgroup3 GBBez ograniczeń (524 PB)2
SQL 2008 R2 Standard64 GBBez ograniczeń (524 PB)4
SQL 2012 Standard / BI64 GBBez ograniczeń (524 PB)4 procesory (do 16 rdzeni)
SQL 2014 Standard / BI128 GBBez ograniczeń (524 PB)4 procesory (do 16 rdzeni)

Źródło: http://www.microsoft.com/sqlserver/en/us/product-info/compare.aspx
*Badania niezależne od Producenta pokazują, że wersja Express może wykorzystać maksymalnie 1,4 GB RAM (http://sqlgeek.pl/2010/08/23/pl-sql-server-limity-w-sql-server-2008-r2-express-edition/)

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

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

Ustawienia pamięci dla instancji Microsoft SQL Server

Poniżej znajdują się sugestie ustawień parametru Maximum Server Memory (przy założeniu, że na serwerze nie pracują dodatkowe aplikacje oraz inne moduły serwera SQL takie jak wyszukiwanie pełnotekstowe, analizy czy raporty). Dane te oczywiście dotyczą wersji, które nie posiadają wbudowanych ograniczeń tak jak wersja Express. Dla wersji Express biorąc pod uwagę wcześniej podane informacje można ustawić Maximum Server Memory na 1400 MB.

Pamięć fizycznaMaximum Server Memory
2 GB1500 MB
4 GB3200 MB
6 GB4800 MB
8 GB6400 MB
12 GB10000 MB
16 GB13500 MB
24 GB21500 MB

Źródło: http://www.sqlservercentral.com/blogs/glennberry/2009/10/29/suggested-max-memory-settings-for-sql-server-2005_2F00_2008/

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

Zaawansowane właściwości serwera SQL – włączony parametr Optimize for Ad hoc Workloads

Zaleca się włączenie tego parametru przy pracy z Comarch ERP Optima. Opcja ta jest dostępna od wersji SQL 2008.

Zajętość pamięci planów dla zapytań można sprawdzić poniższym zapytaniem:

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

Za pomocą komendy:

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

Nazwa parametruZalecane wartościZalecane 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< 20Zbyt mała ilość dostępnej pamięci RAM
Pamięć: Dostępne bajty> 300Zbyt 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)< 2Wysoka 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> 300Zbyt mała ilość dostępnej pamięci RAM dla serwera SQL

Zbyt mała ilość dostępnej pamięci dla serwera SQL może wynikać z poniższych czynników:

  • Za mało pamięci w serwerze
  • Ograniczenia wersji Express
  • Nieprawidłowo skonfigurowany parametr Max Server Memory
  • Ograniczenia architektury 32 bitowej

Importy dużych dokumentów poprzez pracę rozproszoną lub inne mechanizmy mogą na dłuższy czas blokować dostęp do tabel, a przez co powodować wydłużenie czasu operacji dla pozostałych użytkowników. Dlatego zaleca się, aby szczególnie duże importy były wykonywane poza godzinami pracy innych użytkowników.
Jeżeli jakiś scenariusz działania okazuje się szczególnie wolny prosimy o opisanie go krok po kroku i zgłoszenie go przez System Obsługi Zgłoszeń (SOZ).

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

Po pierwsze patrzymy na kolumny avg_user_impact oraz avg_total_user_cost, podają one zysk jaki można uzyskać przy zastosowaniu danego indeksu. Pierwszy z nich avg_user_impact wskazuje na procentową poprawę w zmniejszeniu kosztu wykonania zapytań użytkownika . Drugi natomiast avg_total_user_cost podaje całkowity zysk w koszcie wykonywanych przez użytkownika zapytań.
Należy mieć również świadomość, że podejście to ma również swoje ograniczenia. Najbardziej istotne z nich jest takie, że podane dane należy traktować jako sugestię, a nie jako konieczność. Pozostałe ograniczenia podane są tutaj: http://msdn.microsoft.com/en-us/library/ms345485(v=sql.105).aspx

Poniżej znajduje się skrypt używany przez Dział Wsparcia Microsoft:
(http://msdn.microsoft.com/en-us/library/ms345421.aspx)

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.

Uwaga

Należy przygotować skrypt dodający oraz usuwający dodawane indeksy, ponieważ dodatkowe indeksy uniemożliwią wykonanie konwersji do nowej wersji programu. Po skonwertowaniu bazy można na nowo dodać przygotowane indeksy

Uwaga

Dodane indeksy mogą mieć negatywny wpływ na operacje dodawania, aktualizowania i usuwania rekordów w bazie, dlatego należy przetestować ich wpływ na całościowe funkcjonowanie programu.

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

Po wyborze nowego trace’a należy wskazać szablon Tuning, zaleca się zapisać plik od razu na dysk i ograniczyć jego rozmiar np. do 100 MB. Zaznaczony domyślnie parametr Enable file rollover powoduje utworzenie nowego pliku po osiągnięciu zadanego limitu. Zbyt duże pliki znacząco zwiększają czas analizy przez Database Engine Tuning Advisor.

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.

W celu uruchomienia analizy klikamy ikonę Start Analysis (menu Actions \ Start Analysis)

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

Uwaga

Należy przygotować skrypt dodający oraz usuwający dodawane indeksy, ponieważ dodatkowe indeksy uniemożliwią wykonanie konwersji do nowej wersji programu. Po skonwertowaniu bazy można na nowo dodać przygotowane indeksy.

Uwaga

Dodane indeksy mogą mieć negatywny wpływ na operacje dodawania, aktualizowania i usuwania rekordów w bazie, dlatego należy przetestować ich wpływ na całościowe funkcjonowanie programu.

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

Dla wydajności szczególnie dla większych baz duże znaczenie ma cykliczna optymalizacja indeksów w bazie, które ze względu na swoją defragmentację będą spowalniać pracę Comarch ERP Optima.
W kolejnych podrozdziałach opisano w jaki sposób można zautomatyzować niektóre z wymienionych czynności administracyjnych.

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

Materiał został sporządzony przy pomocy MS SQL 2008 za pomocą kreatora. Dla wcześniejszych wersji silnika bazy danych postępuje się podobnie.

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.

Wypełniamy w nim pola odpowiadające za nazwę oraz opis planu. Deklarujemy następnie jego ramy czasowe. Mamy dwie możliwości:
„Seperate schedule for each task” – opcja pozwala na ustalenie terminu wykonania dla każdej operacji planu osobno.
„Single schedule for entire plan or no schedule” – opcja pozwala na ustalenie terminu wykonania całego planu lub wykonania go na życzenie (on demand).
Naciskając przycisk „Change” przechodzimy do okna konfiguracji ram czasowych.

Poniższy obraz przedstawia wybór ram czasowych dla opisywanego przykładu.

Istnieją cztery kombinacje ram czasowych dla planu. Mamy zatem:

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

W przykładzie użyjemy opcji terminarza według interwału co tydzień. Na obrazku widać, iż ma wykonywać się w każdy piątek o godzinie 18:30. Plan ma rozpocząć się od 15 grudnia 2009 roku i ma nie mieć końca.

Plan ma symulować koniec tygodnia roboczego, kiedy po godzinie 18:00 wszyscy pracownicy skończyli pracę, a serwer SQL nie jest już niczym obciążony.

Poprawne wskazanie ram czasowych dla planu jest bardzo istotne. Uruchomienie go podczas szczytu aktywności pracowników może nawet uniemożliwić im pracę. Podczas optymalizacji serwer pobiera dużo zasobów sprzętowych oraz blokuje elementy struktury bazy danych.

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.

Poniższy obraz przedstawia wybór opcji, które realizowane są w opisywanym przykładzie.

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.

Poniższy obraz przedstawia wybór baz danych poddawanych sprawdzaniu poprawności. Każde kolejne okno opiera się na podobnym wyborze.

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.

Na tym etapie kończy się konfiguracja planu serwisowego. Wykona się w następny piątek o godzinie 18:30.
Szerszy opis wszystkich elementów Maintenance Plan’u w języku angielskim można uzyskać na stronie: http://msdn.microsoft.com/en-us/library/ms188981.aspx

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.


W niniejszym biuletynie technicznym załączone zostały dwa pliki:

Plik StrojenieBazy.sql to skrypt zawierający wszystkie niezbędne zapytania, aby przeprowadzić plan tożsamy
z wcześniej opracowanym Maintenance Plan’em. Przed użyciem należy zmodyfikować w nim dwa parametry:

SET @Nazwa_bazy = 'CDN_DEMO’ — Tu wpisz nazwę bazy danych do optymalizacji
SET @Sciezka = N’C:\BACKUP\’ — Tu wpisz ścieżkę dostępu do katalogu dla kopii baz

Skrypt optymalizuje tylko jedną, wybraną bazę danych. Został tak sporządzony dla łatwiejszego zrozumienia jego działania. Warto prześledzić jego strukturę.

Drugi skrypt o nazwie StrojenieBazCDN.sql wymaga wskazania ścieżki dostępu do katalogu dla kopii baz. Zastosowano w nim kursor wyszukujący wszystkie bazy danych, których nazwa zaczyna się od ‘CDN’. Dla każdej z nich przeprowadzona zostanie optymalizacja.

Przed uruchomieniem skryptu należy zmodyfikować w nim następujące elementy:

sqlcmd.exe -S SERWER -E -i D:\StrojenieBazCDN.sql -o C:\Backup

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

Aby uruchomić automatyczne wykonywanie planu serwisowego należy w harmonogramie systemu Windows utworzyć nową regułę, która będzie w zadanym czasie uruchamiać odpowiedni skrypt VBS. Tym sposobem uzyskamy ten sam efekt, jaki przynieść może Maintenance Plan.

Pliki do pobrania




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


We wszystkich przypadkach list, które mogą być filtrowane, panel filtra zaawansowanego znajduje się na dole listy. Po prawej stronie wiersza filtra znajdują się zawsze przyciski do włączania i wyłączania działania filtra Filtruj, Wyczyść filtr oraz przycisk do tworzenia warunków filtrujących filtra zaawansowanego Konstruktor filtra.

Jeżeli pinezka (widoczna obok ikony filtrowania – lejka) jest:
wyłączona – wówczas po zmianie filtrowania na ikonie lejka pojawia się znak zapytania i dopiero po jego kliknięciu uruchomione zostanie filtrowanie. Ten tryb pracy jest efektywniejszy gdy lista zwiera bardzo dużo pozycji. Można wtedy najpierw ustawić wszystkie parametry filtrowania, a dopiero na końcu uruchomić samo przefiltrowanie listy.
włączona – wszystkie zmiany filtrowania wykonywane są na bieżąco i od razu widoczne są na liście.

Filtr zaawansowany pozwala filtrować listę według stworzonych przez Użytkownika warunków. Filtry zaawansowane są zapamiętywane w systemie. Nazwa filtra zaawansowanego jest poprzedzona znakiem „#”. Do tworzenia filtra zaawansowanego służy Konstruktor filtra , uruchamiany z dowolnego okna, w którym istnieje możliwość zastosowania filtra.
Praca z konstruktorem filtra wymaga pewnej znajomości struktury baz danych oraz umiejętności formułowania warunków logicznych.
Nazwa – nazwa filtra. Po zapisaniu filtra wpisana w tym polu nazwa zostanie poprzedzona znakiem „#”. Filtr pod tą nazwą będzie zapisany w zbiorze dostępnych filtrów dla danej listy. Zbiór filtrów przyporządkowanych do danej listy może być dowolnie modyfikowany tzn. można dodawać, poprawiać i usuwać zdefiniowane filtry.

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.

Konstruktor filtra – zakładka Ogólne

Tworzenie pojedynczego wyrażenia filtra zaczyna się od dodania warunku (po kliknięciu w domyślny operator Oraz wybieramy opcję Dodaj warunek lub obok wciskamy przycisk). Następnie w warunku kliknięcie na domyślnie podstawione pierwsze pole z bazy danych rozwija listę z wyborem dostępnych pól. Nie trzeba znać dokładnie nazw pól czy struktury bazy – po prawej stronie listy znajduje się opis (komentarz).

Konstruktor filtra – lista dostępnych pól z bazy danych

Dostęp do pól zorganizowany jest za pośrednictwem list rozwijanych. W zależności od tego, dla jakiej listy tworzony jest filtr (z poziomu którego okna został wywołany konstruktor filtra), lista dostępnych pól jest różna. Przykładowo, jeżeli konstruktor filtra zostanie wywołany z okna Kontrahenci – wówczas dostępne będą pola związane z kartoteką kontrahenta.
Za każdym razem Użytkownik otrzymuje zestaw dostępnych pól odpowiedni do danej listy. Dzięki temu, chcąc tworzyć własne filtry, nie musi znać całej bazy danych. Może się ograniczyć do znajomości struktury kilku tabel, w oparciu o które będzie budował własne filtry. Po wyborze pola należy wybrać odpowiedni operator porównania
z listy. Lista pojawi się po kliknięciu na domyślnie wyświetlany operator.

Konstruktor filtra – dostępne operatory warunkujące

Inaczej mówiąc, należy przyrównać wybrane pole do ustalonej z góry wartości stałej lub do parametru, którego wartość będzie pobierana w momencie uruchamiania filtra. Wartość do której będzie odbywało się przyrównanie wpisujemy po kliknięciu w pole . Tworzenie wyrażenia może odbywać się także w oknie Edycja wyrażenia filtra, które uruchamia się po kliknięciu w pole , a następnie przycisku plusa po prawej stronie .

Po wywołaniu okna Edycja wyrażenia filtra należy podać wartość szukaną dla tego pola. Jeżeli wartość szukana ma być pobierana w momencie uruchomienia filtra to należy zaznaczyć pole wyboru Pytaj o wartość. Następnie w polu Tytuł należy wpisać opis pobieranej wartości. W ten prosty sposób tworzy się filtry z parametrem. Poniżej przedstawione zostało okno z pytaniem o parametry filtra. Okno pojawia się automatycznie po uruchomieniu filtra z parametrem.

Edycja wyrażenia filtra

Logiczna reprezentacja utworzonego w ten sposób wyrażenia filtrującego jest wyświetlana w dolnej części okna po zaakceptowaniu Edycji wyrażenia filtra.

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.

Uwaga
Aby zobaczyć listę zdefiniowanych filtrów należy przycisnąć klawisz CTRL razem z LEWYM KLAWISZEM MYSZY na przycisku Konstruktor filtra. Lista ta obsługiwana jest przez standardowe przyciski i klawisze umożliwiające dodawanie, edytowanie i kasowanie filtrów.

Konstruktor filtra – zakładka Zaawansowane

Jeżeli zachodzi potrzeba utworzenia warunku, aby filtr działał jedynie na wybranej bazie firmowej, na początku treści filtra należy wpisać:

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

Konstruktor filtra – zakładka Opcje

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.


Ponadto przy pierwszym uruchomieniu listy pinezka jest włączona, a dostępna opcja Wyczyść filtr na liście oraz Reset ustawień okien przywraca ustawienia domyślne dla filtrów panelu podstawowego i rozwijanego.

Odświeżanie listy odbywa się przy każdorazowym użyciu lejka lub oraz poprzez wciśnięcie F5 w dowolnym miejscu na liście.

Filtry zapisywane są do bazy konfiguracyjnej, więc odtworzenie bazy konfiguracyjnej powoduje przywrócenie wszystkich filtrów, które zostały do niej dodane. Inną możliwością przeniesienia filtrów do innej instalacji jest skopiowanie treści filtra z zakładki [Zaawansowane] Konstruktora filtra i wklejenie jej w tym samym miejscu w innej instalacji Comarch ERP Optima. Istotne jest, aby Konstruktor filtra był uruchomiony z poziomu tej samej listy.

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 i wskazujemy pole TrN_RazemBrutto.

Określamy dla niego warunek „Jest większe niż” oraz kwotę 500
Następnie analogicznie dodajemy kolejny warunek, w którym określamy TrN_RazemBrutto „Jest mniejsze niż” 1000. Zapisujemy filtr ikoną .
Po zapisie jest on widoczny na liście filtrów dostępnych z poziomu listy Faktur Sprzedaży.

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.

Pojawi się kreator, który poprowadzi nas przez kolejne kroki, w których:

  • wskazujemy nazwę parametru, której użyjemy potem w zapytaniu (np. OpeID)
  • wybór typów parametru:


Parametr typu lista wywoływana
– jeśli wybierzemy typ – lista wywoływana – dla tego typu parametrów pojawia się pewien zakres gotowych procedur, z których możemy wybrać np. opcje: lista kontrahentów, lista kategorii, lista grup, lista towarów itp. Wybieramy z tej listy procedurę lista operatorów, która wyświetli listę akronimów operatorów, a po wyborze konkretnego operatora zwróci jego ID i przekaże w parametrze OpeID.

Po zatwierdzeniu kolejnych okien deklaracja parametru wygląda w ten sposób:

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

Spośród listy dostępnych funkcji możemy wybrać funkcję OperatorID, która zwróci ID zalogowanego operatora:

Ostatecznie filtr z użyciem funkcji systemowej będzie wyglądał tak:

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 i wskazujemy pole Bzp_KontoPrzeciwstawne.

Określamy dla niego warunek „Jest puste”.
Następnie zapisujemy filtr ikoną .
Po zapisie jest on widoczny na liście filtrów dostępnych z poziomu listy zapisów kasowych/bankowych.

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.

Pojawi się kreator, który poprowadzi nas przez kolejne kroki, w których:

  • wskazujemy nazwę parametru, której użyjemy potem w zapytaniu (np. Kategoria)
  • wybór typów parametru:


Parametr typu lista wywoływana
– jeśli wybierzemy typ – lista wywoływana – dla tego typu parametrów pojawia się pewien zakres gotowych procedur, z których możemy wybrać np. opcje: lista kontrahentów, lista kategorii, lista grup, lista towarów itp.
Wybieramy z tej listy procedurę lista kategorii, która wyświetli listę kategorii, a po wyborze konkretnej kategorii zwróci jego ID i przekaże w parametrze kategoria.

Po zatwierdzeniu kolejnych okien deklaracja parametru wygląda w ten sposób:

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

Określamy dla niego warunek „Jest równe” oraz podajemy wartość 1.
Następnie zapisujemy filtr ikoną .
Po zapisie jest on widoczny na liście filtrów dostępnych z poziomu listy pracowników.

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:


Parametr typu lista rozwijana
– jeśli wybierzemy typ – lista rozwijana – dla tego typu parametrów należy zdefiniować odpowiednie zapytanie SQL podając w zapytaniu dwa pobierane pola z czego pierwsze musi być numeryczne (identyfikator) a drugie tekstowe (opis).

Należy pamiętać o tym, aby w definicji parametru dynamicznego użyć kolumny liczbowej (w tym przypadku PRE_KatId).

Pozostałe przykłady

Uwaga
Nowo dodane przykłady filtrów oznaczone są kolorem zielonym na liście.

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 CaseWhenThen … 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 transakcji

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

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

Uwaga
Na formatce Operatora (menu: Start/Konfiguracja/Program/Użytkowe/Operatorzy) znajduje się parametr Blokada dostępu do rozliczeń pracowników. Parametr ten blokuje dostęp do dokumentów w module Kasa/Bank, na których jako podmiot jest wybrany pracownik lub wspólnik.

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)




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.

Zapisując wprowadzone dane, biuro aktywuje konto Internetowej Wymiany Danych.

Uwaga
Przed opuszczeniem formularza zwróć uwagę, czy ustawiony jest oddział. Oddział o symbolu Centrala ustawiany jest automatycznie. Zmiana oddziału możliwa jest po kliknięciu w Zarządzanie Oddziałami.

Wskazówka
W sytuacji gdy hasło zostanie utracone, jego reset możliwy jest po zalogowaniu do www.iksiegowosc24.pl w zakładce Konto.

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ą wymianę dokumentów

W sekcji iKsięgowość24 po kliknięciu w ikonkę Klienci biura wypełnij formularz dodawania nowego Klienta, z którym będziesz prowadził wymianę dokumentów.

Uwaga
Dodawanie klientów biura jest możliwe przez operatora, który na karcie będzie miał zaznaczony parametr: Prawo do przeglądania i dodawania klientów.

Sekcja iksiegowość24 widoczna jest w menu: Rejestry VAT, w Kasa/Bank, jak również w Preliminarzu płatności i na liście dokumentów w rejestrze VAT. Zalogowany operator otrzyma listę Klientów biura rachunkowego – tą samą, która widoczna jest również na portalu iKsiegowosc24.pl na zakładce Moi Klienci.

Na formularzu uzupełnij NIP i e-mail Klienta, na które założył konto w Comarch ERP XT lub Comarch Moje BR. Po zapisaniu formularza na adres mailowy osoby kontaktowej Biura Rachunkowego oraz Klienta wysyłana jest wiadomość informująca o zgłoszeniu do Internetowej Wymiany Dokumentów dla Klienta.

Uwaga
Po otrzymaniu potwierdzenia o realizacji zamówienia na konto Internetowej wymiany Danych z klientem odczekaj chwilę (do 15 minut) i rozpocznij wymianę.

Wymiana danych z klientem możliwa jest z poziomu programu Comarch ERP Optima po wejściu do firmy, do której będą importowane dokumenty Klienta. W menu: Rejestry VAT oraz Kasa/Bank, jak również w Preliminarzu płatności i na liście dokumentów w rejestrze VAT dostępna jest sekcja Wymiana danych. Sekcja zawiera trzy opcje: Wyślij dane, Odbierz dane i Historia wymiany. Wybór jednej z wymienionych opcji spowoduje automatyczną konfigurację Internetowej Wymiany Danych z Klientem oraz uruchomi procedurę wymiany

Wysyłanie i odbieranie możliwe jest również z poziomu Narzędzia/ Praca rozproszona/ Eksport/Import.

Biuro rachunkowe może zweryfikować konfigurację z Klientem w menu Start/Konfiguracja/ Program/ Ogólne/ Internetowa Wymiana Dokumentów na zakładce Klienci.

Wskazówka
Gdy operator posiada nadane uprawnienia, a nie korzystał wcześniej z tej możliwości to po kliknięciu w ikonę Klienci biura pojawi się okno logowania do panelu biura na www.iksiegowosc24.pl. Po wprowadzeniu poprawnych danych logowania (tych samych, które używane są na stronie iksiegowość24.pl) wpisany e-mail zostanie zapamiętywany na karcie operatora na zakładce [Ogólne] w sekcji Comarch Cloud w polu e-mail.

Uwaga
W menu Start/Konfiguracja/ Stanowisko/ Praca rozproszona/ Parametry Biuro Rachunkowe wskazuje dowolny folder na dysku, w którym będą przechowywane pliki z wymienianymi dokumentami.

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.

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

 

Po zaakceptowaniu zostaje uruchomiona automatyczna wymiana danych. Do Biura Rachunkowego od tego momentu przesyłane są:

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

 

Oddział o symbolu Centrala ustawiany jest automatycznie. Zmiana oddziału możliwa jest po kliknięciu w Zarządzanie Oddziałami.

Zapisując wprowadzone dane Klient aktywuje swoje konto do Internetowej Wymiany Dokumentów.

Wymiana dokumentów będzie możliwa z poziomu bazy w menu: Rejestry VAT oraz Kasa/Bank, jak również w Preliminarzu płatności i na liście dokumentów w rejestrze VAT dostępna jest sekcja Wymiana danych. Sekcja zawiera trzy batony: Wyślij dane, Odbierz dane i Historia wymiany. Wybór jednej z wymienionych opcji spowoduje automatyczną konfigurację Internetowej Wymiany Dokumentów z Klientem oraz uruchomi procedurę wymiany.

Wysyłanie i odbieranie możliwe jest również z poziomu Narzędzia/ Praca rozproszona/ Eksport/Import.

Wysyłka/ Odbiór dokumentów w Biurze rachunkowym

Wskazówka

Aby przesyłać informacje o podatkach i fakturach za usługi Biura, zaznacz na oknie eksportu pozycje: Faktury za usługi księgowe i Płatności do deklaracji.

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

Szczegółowy opis funkcjonalności znajduje się tutaj .

Biura Rachunkowe w module Comarch ERP Optima Operacje wielofirmowe mogą seryjnie odbierać dokumenty wysłane przez Klientów.

W programie Comarch ERP Optima jest możliwość ustawienia automatycznego eksportu i importu danych. Zobacz tę funkcję na filmie


 

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.

Nie można dokonać autoryzacji na serwerze Comarch

Komunikat pojawia się w sytuacji, gdy dane podane przy aktywacji konta Internetowej Wymiany Dokumentów w Start/Konfiguracja/ Program/ Ogólne/  Internetowa Wymiana Dokumentów są nieprawidłowe lub brak połączenia z serwerem.

Biuro powinno sprawdzić wprowadzone dane: Numer Klienta (ID), PIN oraz połączenie z Internetem.

Komunikat pojawia się także w przypadku, gdy przy zapisywaniu zmian w ustawieniach Internetowej Wymiany Dokumentów zostanie wprowadzone inne hasło, niż ustawione przy aktywacji konta. Biura Rachunkowe mogą dokonać resetu hasła po zalogowaniu na www.iksiegowosc24.pl w zakładce Konto.

 

Konto o ID [ID Klienta] nie istnieje.

Konto o ID [ID Klienta] nie istnieje.
Ostrzeżenie pojawia się w sytuacji gdy Biuro Rachunkowe w Start/Konfiguracja/ Program/ Ogólne/Internetowa Wymiana Dokumentów w kolumnie Numer Klienta (ID), z którym wymieniam dane wpisuje numer Klienta, który:

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

Błąd przy imporcie paczki. Wiadomość została zaszyfrowana innym kluczem niż aktualnie posiadany. Usuń oczekujące paczki i wyślij je ponownie.

Komunikat pojawia się w Narzędzia/ Praca rozproszona/ Import w sytuacji, gdy obecnie posiadany przez Biuro certyfikat jest inny od tego, obowiązującego w momencie wysyłki dokumentów przez Klienta.

Wysłanej na inny certyfikat paczki z dokumentami nie będzie można już odebrać i należy ją usunąć z Narzędzia/ Skrzynka IWD. Klient powinien wysłać paczkę ponownie. Jeśli podczas importu nowej paczki z dokumentami pojawi się ten sam komunikat, należy odświeżyć certyfikat w Start/Konfiguracja/ Program/ Ogólne/ Internetowa Wymiana Dokumentów za pomocą przycisku Odnowienie certyfikatu.

 

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?

Pytanie pojawi się, gdy Klient biura nie będzie miał konta Internetowej Wymiany Dokumentów. Wybierając Tak operator zostanie przekierowany do listy Klientów biura w celu złożenia zamówienia na konto dla Klienta. Wybierając Nie – okno zostanie zamknięte.




OPT079- Jednolity Plik Kontrolny

Data aktualizacji: 26-11-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.

Uwaga
Funkcjonalność aktualizacji wzorów dokumentu elektronicznego dla plików JPK jest dostępna tylko dla programów na gwarancji oraz w przypadku pracy na najnowszej dostępnej wersji programu Comarch ERP Optima.

Wskazówka

Zachęcamy do obejrzenia filmów instruktażowych prezentujących jak wygenerować Jednolity Plik Kontrolny:

Jak złożyć obowiązkowy miesięczny plik JPK_VAT

Jak wygenerować plik JPK na wezwanie Urzędu Skarbowego

Jak scalić pliki JPK_VAT wygenerowane w innych programach

Wskazówka

Wskazówka
Po kliknięciu w menu JPK na pozycję Informacje o JPK otwierana jest strona pomocy dotycząca Jednolitego Pliku Kontrolnego (JPK) w Comarch ERP Optima.

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:

Tylko Operator z uprawnieniami administratora może zaznaczyć ten parametr sobie bądź innym Operatorom. Początkowo jedynie operator ADMIN ma ten parametr zaznaczony.

Poniżej znajduje się parametr Zmiana atrybutów/kodów JPK na zatw. dok. umożliwiający edycję atrybutów na zatwierdzonej oraz na zaksięgowanej Fakturze Zakupu/Sprzedaży oraz na zaksięgowanym dokumencie w rejestrze VAT. Jest to istotne w związku z przenoszeniem informacji zawartych na atrybutach do plików JPK (dla rejestrów VAT oraz faktur). Parametr może być edytowany tylko przez operatora z uprawnieniami administratora.

Dodatkowo w Konfiguracji Stanowiska/ Ogólne/ Jednolity Plik Kontrolny musi zostać wskazany katalog przechowywania plików wymiany, do którego będą zapisywane kopie wysyłanych plików w formacie *.xml:

Przy eksporcie Jednolitego Pliku Kontrolnego w ramach wskazanego katalogu tworzony jest podkatalog z nazwą firmy (bazy), więc w przypadku biur rachunkowych dane poszczególnych firm trafiają do własnych katalogów. Nazwy plików określają ich zawartość:

      • 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 . Po wybraniu tej opcji otwierane jest okno Pliki JPK:

Wygenerowane pliki od wersji 2017.3.1 zapisywane są w katalogu do przechowywania plików JPK wskazanym w Konfiguracji Stanowiska/ Ogólne/ Jednolity Plik Kontrolny, jak również w bazie danych programu Comarch ERP Optima.

Na liście prezentowane są takie informacje, jak: operator wysyłający plik JPK, typ pliku, nazwa pliku, numer korekty, data utworzenia, zakres dat danych zawartych w plikach JPK, czy plik został scalony oraz status pliku JPK. Kolumny Okres od i Okres do wyświetlające zakres dat dla danych zawartych w plikach JPK uzupełnione są dla plików JPK wygenerowanych od wersji 2017.3.1. Dla plików wygenerowanych i wysłanych w poprzednich wersjach programu kolumny będą puste. Kolumna Scalony wyświetla dla plików które zostały połączone wartość T, natomiast dla pozostałych wartość N. Istnieje również możliwość dodania domyślnie ukrytej kolumny Czas pokazującej datę i godzinę utworzenia pliku JPK, jak również kolumny JPK_VAT pokazującej czy plik jest obowiązkowy czy na żądanie (po konwersji z wcześniejszych wersji niż 2018.2.1 wszystkie dotychczasowe pliki JPK_VAT otrzymają status Obowiązkowy).

Uwaga
W związku z funkcjonalnością łączenia plików JPK_VAT i możliwością dodania nowych plików JPK, wszystkie pliki wygenerowane w wersjach programu wcześniejszych niż 2017.3.1 ale nie wysłane, po konwersji nie będą widoczne na liście. Istnieje możliwość dodania tych już wygenerowanych plików na listę plików JPK za pomocą ikony  dostępnej na wstążce programu.

Możliwe jest filtrowanie plików JPK po typie pliku – służy temu pole Typ pliku. Jako wartość tego pola można wybrać opcję –wszystkie- (wówczas widoczne będą wszystkie pliki JPK bez względu na ich typ) lub wybrać konkretny typ plików (np. JPK_VAT). Domyślnie na liście ustawia się typ plików JPK_VAT. W obszarze filtra znajduje się pole Rok umożliwiające wyfiltrowanie plików JPK dotyczących wybranego roku.

Istnieje możliwość dodania na listę nowych plików JPK (wygenerowanych z poziomu innych baz Comarch ERP Optima lub w programach innych producentów)  – służy do tego ikona Dodaj plik JPK z dysku na listę dostępna na wstążce programu. Po kliknięciu ikony pojawia się okno wyboru pliku:

Na otwartym oknie podpowiada się standardowy folder zapisu dla plików JPK dla firmy (określany w Konfiguracji Stanowiska/ Ogólne/ Jednolity Plik Kontrolny, łącznie z podkatalogiem o nazwie zgodnej z nazwą firmy). Po wskazaniu nowego pliku XML zawierającego plik JPK i kliknięciu Otwórz, plik zapisywany jest do bazy i pojawia się na oknie Pliki JPK.

U góry okna Pliki JPK znajdują się odnośniki:

3.1    Przygotowanie plików JPK

 

Aby dodać pliki JPK na żądanie należy kliknąć ikonę bądź po rozwinięciu ikony plusa wybrać opcję Pozostałe pliki JPK. Otwierane jest wówczas okno:

Okno dodania pozostałych plików JPK może zostać wywołane za pomocą skrótu <Insert>.

Na oknie istnieje możliwość wyboru spośród wszystkich pozostałych (oprócz JPK_VAT) 6 grup danych dla 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 powyżej zakresu dat),
      • Dokumenty magazynowe (z możliwością wskazania czy dokumenty maja być wykazane wg kosztu zakupu czy ceny jednostkowej netto).

Na oknie Przygotowanie pliku JPK znajdują się pola, w których należy określić zakres dat za jaki zostaną wyeksportowane dane. Domyślnie po otwarciu okna podpowiada się zakres dat dla poprzedniego miesiąca w stosunku do daty bieżącej, chociaż może on zostać zmieniony przez Użytkownika.

Podany zakres dat nie może być szerszy niż jeden rok kalendarzowy dla zapisów KPiR i ewidencji ryczałtowej. W przypadku wyboru zapisów Księgi Handlowej, zakres dat nie może przekraczać jednego okresu obrachunkowego. Dodatkowo do pliku JPK_KR zostaną wyeksportowane tylko zapisy z bieżącego okresu obrachunkowego.

Na oknie należy wskazać urząd skarbowy, do którego JPK ma zostać skierowany. Domyślnie po wejściu na okno przygotowania plików JPK urząd skarbowy pobierany jest z Konfiguracji Firmy/ Dane firmy/Deklaracje i pełnomocnictwa z pola U.S.  (VAT). Jeżeli urząd skarbowy dla deklaracji VAT będzie nieuzupełniony, wówczas US zostanie pobrany z pola U.S. (PIT‑4R, CIT-8). W przypadku kiedy w żadnym z tych 2 pól w Konfiguracji nie został wskazany urząd skarbowy, wówczas przy pierwszym otwarciu okna przygotowania plików JPK pole z urzędem skarbowym będzie puste i Użytkownik przed przygotowaniem pliku JPK będzie musiał wybrać odpowiedni US. Wybrany urząd skarbowy zostanie zapamiętany przy kolejnym otwarciu okna. Na karcie wybranego urzędu skarbowego musi być uzupełniony czterocyfrowy kod urzędu. W przeciwnym razie przygotowanie pliku nie będzie możliwe.

Istnieje możliwość wysłania do arkusza kalkulacyjnego danych znajdujących się w generowanych plikach JPK celem łatwiejszego ich przeglądania. Na oknie Pliki JPK znajduje się parametr Podczas eksportu utwórz również pliki MS Excel. Po wygenerowaniu pliku JPK z zaznaczonym powyższym parametrem, w zależności od ustawienia parametru Otwieranie wyeksportowanych plików w menu Widok, nastąpi otwarcie arkusza zawierającego wyeksportowane dane (opcja Otwieraj) bądź wyświetlone zostanie pytanie czy plik otworzyć (opcja Pytaj). Tworzony plik arkusza kalkulacyjnego zawiera arkusz dotyczący danych podatnika, agregatów oraz danych poszczególnych dokumentów.

Uwaga
Do eksportu danych JPK do arkusza MS Excel wymagane jest połączenie z Internetem.

Ikona utworzenia pliku JPK  staje się aktywna po zaznaczeniu co najmniej jednej grupy danych oraz wskazaniu urzędu skarbowego.

Podczas eksportu danych do pliku (zarówno pozostałych plików JPK, jak i plików JPK_VAT) następuje weryfikacja poprawności wysyłanych danych poprzez porównanie ze wzorcem dokumentu elektronicznego. Generowany plik jest również weryfikowany pod kątem uzupełnienia pól obowiązkowych.

Uwaga
Występujący w logu podczas generowania plików JPK komunikat:

  • „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…

może wynikać z braku możliwości połączenia się z serwerem http://crd.gov.pl, na którym znajdują się wzorce dokumentu elektronicznego z którymi Comarch ERP Optima porównuje generowany plik JPK. Należy sprawdzić na stanowisku ustawienia programu antywirusowego, zapory sieciowej, a w przypadku korzystania z serwera proxy – dodać wyjątek na ten adres. Komunikat może również wynikać z czasowej niedostępności tego serwera. Należy również zweryfikować możliwość nawiązania komunikacji z adresem www.mf.gov.pl.

Możliwe jest wyłączenie sprawdzania poprawności generowanych plików JPK poprzez odznaczenie parametru Sprawdzaj poprawność plików JPK przed wysłaniem, znajdującego się w Konfiguracji Programu/ Ogólne/ e‑deklaracje/JPK. W przypadku braku danych za okres podany podczas eksportu, pliki JPK nie są tworzone a w logu z przebiegu operacji pojawia się stosowny komunikat. Wyjątkiem są pliki JPK_EWP i JPK_VAT, które są tworzone nawet jeśli za dany okres nie ma zapisów w ewidencji ryczałtowej / rejestrze VAT.

Jeżeli w Konfiguracji Stanowiska/ Ogólne/ Jednolity Plik Kontrolny nie ustawiono katalogu dla plików z danymi, wówczas podczas próby przygotowania pliku JPK pojawia się okno z odpowiednim komunikatem.

Podczas eksportu danych do nagłówka pozostałych plików JPK przenoszone są następujące informacje (wyjątek: JPK_PKPiR(2) – uwaga poniżej):

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

Uwaga
W przypadku plików JPK_PKPiR(2) (generowanych za okres od stycznia 2017) pola adresowe podatnika oprócz kodu kraju i miasta nie są już obowiązkowe. W związku z tym podczas generowania pliku JPK_PKPiR(2) nie jest sprawdzane uzupełnienie województwa, powiatu, gminy, nr domu, kodu pocztowego i poczty w Pieczątce firmy (w przypadku pozostałych struktur plików JPK te pola nadal są obowiązkowe i powinny zostać uzupełnione).

Dane te są wymagane przez wzór dokumentu elektronicznego i muszą być uzupełnione w programie przed wysyłką plików JPK.

Uwaga
Jeżeli w Konfiguracji Firmy/ Dane firmy/ Pieczątka firmy numer NIP podatnika jest uzupełniony łącznie z kodem kraju (PL), do plików JPK przenoszone są tylko cyfry z numeru NIP.

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.

Uwaga
Jeżeli Użytkownik korzysta z podpisu kwalifikowanego (np. Szafir) podpisując nim w programie Comarch ERP Optima deklaracje np. VAT, a pomimo to podczas wysyłania pliku JPK na liście certyfikatów podpis nie jest widoczny, wówczas należy zaktualizować ze strony producenta aplikację do obsługi karty kryptograficznej i zrestartować komputer.

Warunkiem widoczności certyfikatu jest jego zainstalowanie w systemie operacyjnym. Certyfikat musi być prawidłowy (zaufany). W celu weryfikacji poprawności certyfikatu należy uruchomić program certmgr.msc. W grupie certyfikatów osobistych należy sprawdzić, czy jest widoczny certyfikat, który ma być wykorzystany do podpisu. Jeżeli go nie ma w tym miejscu, oznacza to że certyfikat nie został zainstalowany w systemie Windows.

Po wyświetleniu szczegółów certyfikatu należy na zakładce [Ogólne] upewnić się czy jest on aktualny oraz czy widoczna jest informacja: Masz klucz prywatny, który odpowiada temu certyfikatowi. Dodatkowo na zakładce [Ścieżka certyfikacji] musi być widoczny stan certyfikatu: Ten certyfikat jest prawidłowy – tak jak na poniższych zrzutach ekranu:

Po wybraniu drugiej opcji otwierane jest okno z danymi podatnika pobranymi z Konfiguracji Firmy/ Dane firmy/ VAT, AKC-WW: numerem NIP, imieniem i nazwiskiem oraz datą urodzenia. Na oknie należy uzupełnić kwotę przychodu podatnika za dwa lata wstecz. Domyślnie w tym polu wykazywana jest kwota 0,00.

Uwaga
Podpisywanie plików JPK podpisem niekwalifikowanym możliwe jest jedynie dla plików JPK_VAT dla osób fizycznych. Wysłanie tym sposobem innych typów plików JPK bądź plików JPK_VAT podatników nie będących osobami fizycznymi nie jest możliwe.

Jeżeli podczas wysyłki pliku JPK_VAT podano niewłaściwą kwotę przychodu (podczas odbioru UPO pojawił się błąd o kodzie 403), wówczas plik JPK_VAT uzyskuje z powrotem status Nie wysłano, umożliwiając ponowną jego wysyłkę. W przypadku podpisu niekwalifikowanego nieprawidłowe dane autoryzacyjne nie blokują możliwości kolejnej próby wysyłki pliku JPK_VAT. Możliwe jest ponowne wprowadzenie prawidłowych danych i wysyłka pliku.

Korzystając z wysyłki plików JPK_VAT za pomocą podpisu niekwalifikowanego należy upewnić się, że są podane wszystkie wymagane dane. Brak jednej z nich (np. numeru NIP, imienia bądź nazwiska) powoduje wyświetlenie komunikatu: Nieprawidłowy format danych autoryzujących.

Po wybraniu trzeciej opcji dla plików o statusie Nie wysłano otwierane jest okno z kreatorem procesu podpisywania pliku JPK podpisem zaufanym:

Plik JPK przeznaczony do podpisu za pomocą podpisu zaufanego tworzony jest w katalogu wskazanym w Comarch ERP Optima w Konfiguracji Stanowiska/ Ogólne/ Jednolity Plik Kontrolny w katalogu zgodnym z nazwą firmy w podkatalogu E-PUAP. Informacja o dokładnej ścieżce do pliku znajduje się na oknie Podpisywanie pliku JPK podpisem zaufanym w pierwszym kroku kreatora. Tam również dostępny jest przycisk Skopiuj link do schowka, którego użycie ułatwia wklejenie ścieżki do katalogu, w którym znajduje się przygotowany plik JPK na stronie ePUAP.

W drugim kroku należy przejść  na stronę www.epuap.gov.pl/wps/portal W górnej części okna widoczny będzie tekst: Masz firmę? Podpisz JPK_VAT profilem zaufanym. Należy wybrać: Podpisz Podpisem Zaufanym.

Należy kliknąć na przycisk Podpisz JPK_VAT:

Następnie należy wybrać sposób logowania „profil zaufany”:

Należy zalogować się za pomocą hasła lub wskazać odpowiedni bank:

Po zalogowaniu należy kliknąć w przycisk Wybierz plik z dysku.

Skopiowany w Kroku 1 link należy wkleić w polu Nazwa pliku (np. za pomocą skrótu <CTRL> + <V>).

Po wskazaniu pliku z wybranego katalogu rozpocznie się wczytywanie i sprawdzanie pliku. Ze względu na obciążenie serwerów może to potrwać nawet kilka minut.

Po prawidłowym wczytaniu pliku JPK_VAT, należy kliknąć na przycisk Podpisz podpisem zaufanym

W zależności od wybranej formy weryfikacji, na ekranie pojawi się okno na wpisanie kodu autoryzacyjnego, który jest wysyłany SMS-em bądź na adres mailowy.

W sytuacji, gdy podpis zaufany zakładany był za pomocą aplikacji bankowej, proces podpisywania pliku wygląda nieco inaczej. Użytkownik po wyborze opcji Podpisz podpisem zaufanym zobaczy swoje dane i ponownie wybiera Podpisz profilem zaufanym.

Po tej operacji pojawi się okno autoryzacji podpisania profilem zaufanym i prośba o zalogowanie i potwierdzenie smsem lub kodem ze zdrapki.

Po wykonaniu tych czynności można zapisać na dysku plik JPK_VAT za pomocą opcji Zapisz.

W ostatnim kroku kreatora podpisywania pliku JPK podpisem zaufanym w Comarch ERP Optima należy zaimportować podpisany plik JPK klikając na przycisk Wybierz podpisany plik JPK. Po wskazaniu pliku pojawia się komunikat: Czy chcesz teraz wysłać podpisany plik?

Wybór opcji Tak powoduje wysłanie pliku JPK i zamknięcie okna z kreatorem podpisywania pliku JPK. Plik na liście otrzymuje status Wysłano/Nie odebrano UPO.

Wybór opcji Nie zamyka okno kreatora podpisywania pliku JPK. Plik na liście otrzymuje status Podpisany podpisem zaufanym/Nie wysłano. Usunięcie z listy pliku o tym statusie usuwa plik również z podkatalogu EPUAP. Pliku już podpisanego nie można ponownie podpisać. Po wybraniu opcji Wyślij podpisem zaufanym na pliku o statusie Podpisany podpisem zaufanym /Nie wysłano, następuje automatyczna wysyłka pliku bez konieczności ponownego przechodzenia kreatora podpisywania pliku JPK.

Pliku JPK o statusie Podpisany podpisem zaufanym/Nie wysłano nie można wysłać za pomocą podpisu kwalifikowanego. Przy próbie takiej wysyłki pojawia się stosowny komunikat.

Plik JPK podpisany podpisem zaufanym może zostać wysłany wyłącznie z komputera, na którym został skierowany do podpisu i podpisany.

Równoczesna opcja podpisu i wysyłki pliku JPK podpisem zaufanym możliwa jest dla pojedynczego pliku. Jeżeli zaznaczono kilka plików JPK o statusie Podpisany podpisem zaufanym/Nie wysłano możliwa jest ich zbiorcza wysyłka za pomocą opcji podpisu podpisem zaufanym.

Wysyłka pliku JPK za pomocą podpisu zaufanego nie jest dostępna z programu Comarch ERP Optima Biuro Rachunkowe.

Na oknie Pliki JPK znajduje się również przycisk  Odbierz służący do odbioru UPO. Aby uniemożliwić nadpisywanie daty odebrania Urzędowego Poświadczenia Odbioru dla plików JPK, nie ma możliwości ponownego pobrania UPO dla plików JPK ze statusem Wysłano/ odebrano UPO.

Z poziomu tego okna możliwe jest również podejrzenie pobranego Urzędowego Poświadczenia Odbioru za pomocą ikony  Podgląd UPO lub za pomocą funkcji Zmień dostępnej w menu kontekstowym po kliknięciu prawym przyciskiem myszy na pliku JPK. Wydruk UPO dostępny jest z poziomu listy plików JPK.

Wybór opcji  Podgląd pliku znajdującej się na wstążce programu powoduje otwarcie arkusza kalkulacyjnego zawierającego dane znajdujące się w podświetlonym na liście pliku JPK celem ich weryfikacji. Otwarcie arkusza MS Excel możliwe jest również po wywołaniu funkcji Podgląd dokumentu w menu kontekstowym. Jeżeli w katalogu jest zapisany arkusz kalkulacyjny to on jest otwierany, jeśli go nie ma wówczas arkusz jest tworzony. Wygenerowanie bądź dodanie na listę pliku JPK powoduje zapisanie go do bazy firmowej, więc podgląd pliku będzie zawsze możliwy bez względu na stanowisko na którym wygenerowano bądź dodano plik JPK.

Możliwe jest również usuwanie zaznaczonych plików JPK za pomocą ikony  Usuń. Aby usunięcie pliku JPK było możliwe, musi on mieć inny status niż Wysłano/nie odebrano UPO lub Wysłano/ odebrano UPO. Usunięcie pliku powoduje usunięcie go z listy plików, z bazy danych oraz z katalogu do przechowywania 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)
        W danych dotyczących kont księgowych w polu OpisZespolu umieszczane jest oznaczenie na podstawie pierwszej cyfry z numeru konta:
        ■ 0 – Aktywa trwałe,
        ■ 1 – Środki pieniężne, rachunki bankowe oraz krótkoterminowe aktywa finansowe,
        ■ 2 – Rozrachunki i roszczenia,
        ■ 3 – Materiały i towary,
        ■ 4 – Koszty według rodzajów i ich rozliczenie,
        ■ 5 – Koszty według typów działalności i ich rozliczenie,
        ■ 6 – Produkty i rozliczenia międzyokresowe,
        ■ 7 – Przychody i koszty związane z ich osiąganiem,
        ■ 8 – Kapitały (fundusz) własne, fundusze specjalne, rezerwy i wynik finansowy,
        ■ 9 – Konta zespołu 9.
        Jeżeli numer konta nie zaczyna się od cyfry, zarówno do pola KodZespolu jak i OpisZespolu przenoszony jest pierwszy znak z numeru 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, w przypadku nieuzupełnienia opisu na dekrecie do pliku przenoszona jest wartość BRAK)
      • 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)

Dane te są wymagane przez wzór dokumentu elektronicznego i muszą być uzupełnione w programie przed wysyłką plików JPK. Podczas generowania plików JPK_KR w przypadku nieuzupełnionego opisu operacji na zapisie księgowym bądź nieuzupełnionej nazwy konta księgowego, w tworzonym pliku JPK w odpowiednich polach wstawione zostanie słowo BRAK, a stosowna informacja pojawi się w logu z tworzenia pliku z informacją dla Użytkownika o konieczności weryfikacji przyczyny braku tych danych.

W przypadku braku zapisów mających daty księgowania za podany podczas eksportu okres, pliki JPK nie są tworzone.

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)

Dane te są wymagane przez wzór dokumentu elektronicznego i muszą być uzupełnione w programie przed wysyłką plików JPK.

W przypadku nieuzupełnienia wymaganych pól (Nazwa kontrahenta, Adres kontrahenta, Opis operacji) w pliku umieszczana jest wartość BRAK.

Podczas generowania plików JPK_PKPIR w przypadku nieuzupełnionych pól na zapisie księgowym: Nazwa podmiotu, Dane adresowe podmiotu oraz Opis, w tworzonym pliku JPK w odpowiednich polach wstawione zostanie słowo BRAK, a stosowna informacja pojawi się w logu z tworzenia pliku z informacją dla Użytkownika o konieczności weryfikacji przyczyny braku tych danych.

Zaznaczenie parametru Korekta nie ma wpływu na generowanie pliku JPK_PKPiR – plik zawsze wysyłany jest jako pierwotnie złożony.

Zapisy skreślone nie są eksportowane do plików JPK.

W przypadku braku zapisów mających datę księgowania za podany podczas przygotowania plików okres, pliki JPK nie są tworzone.

Uwaga
W związku z wymaganiami wzoru dokumentu elektronicznego, należy uzupełnić spis z natury na koniec roku (nawet jeśli spis na koniec roku jest równy spisowi na początek roku). Jest to niezbędne aby został prawidłowo wyliczony dochód w pliku JPK podczas eksportu danych za cały rok.

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)

Dane te są wymagane przez wzór dokumentu elektronicznego i muszą być uzupełnione w programie przed wysyłką plików JPK.

Zapisy skreślone nie są eksportowane do plików JPK. Nie są również przesyłane zapisy związane z ewidencją produktów rolnych (2%).

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

Numer rachunku bankowego określany na formularzu rejestru bankowego musi być w formacie IBAN. Zgodnie wymaganiami Ministerstwa Finansów, tylko takie rachunki zostaną wyeksportowane za pomocą pliku JPK_WB. W sytuacji kiedy w systemie numer rachunku zapisany jest jako numer w standardzie IBAN jednak bez kodu kraju PL, kod ten jest automatycznie dodawany podczas wysyłki do pliku.

Dane te są wymagane przez wzór dokumentu elektronicznego i muszą być uzupełnione w programie przed wysyłką plików JPK.

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.

Podczas eksportu Faktur 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 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

W przypadku, gdy w Konfiguracji Firmy/ Dane firmy/ Pieczątka firmy – jednostka samorządowa dodana została pieczątka firmy z zakresem dat obejmującym datę wystawienia dokumentu, wówczas do pliku JPK_FA dla faktur sprzedaży jako dane sprzedawcy, a dla zakupu jako dane nabywcy przenoszone są dane z tej pieczątki firmy dla jednostki samorządowej. Dotyczy zarówno dokumentów wystawianych w module Handel/Faktury jak i w Rejestrze VAT.

W pliku JPK_FA nie są uwzględniane informacje o kaucjach. Jeżeli zatem na dokumentach FA lub FZ, pobranych do pliku występowały pozycje związane z opakowaniami kaucjonowanymi, dane dotyczące kwot kaucji nie będą zaczytane do pliku JPK.

Dla Faktur zaliczkowych, do pliku JPK przenoszone są dane zgodnie z wartościami na Fakturze Zaliczkowej. Wartości w poszczególnych stawkach VAT oraz wartość brutto zaliczki. Do pliku nie są przenoszone  informacje o pozycjach z dokumentu gdyż mają one swoje odzwierciedlenie w sekcji Zamówienie.

Dla Faktur Finalnych, do pliku JPK przenoszone są dane zgodnie z wartościami na Fakturze Finalnej. Wartości w poszczególnych stawkach VAT oraz wartość brutto dokumentu ogółem (wartość z faktury pomniejszona o kwotę użytych zaliczek), są więc przeniesione z Faktury Finalnej. Również w części dotyczącej poszczególnych pozycji z dokumentu, w pliku uwzględniane są kwoty i ilości zgodne z fakturą finalną.

W celu wykazywania wartości w odpowiednich polach w plikach JPK, dla faktur wprowadzone zostały następujące atrybuty dla dokumentów handlowych:

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

Wymienione atrybuty należy w razie potrzeby dodać na dokumencie handlowym na zakładce [Atrybuty] w sekcji JPK. W tej sekcji można wskazać atrybut widoczny na liście atrybutów (Ogólne/ Atrybuty) na zakładce [JPK], który ma zaznaczony parametr JPK_FA: FA.

Atrybut z zaznaczonym parametrem JPK_FA: FA oraz dodatkowo z parametrem przenosić na transakcje zostanie automatycznie dodany na każdym nowo dodawanym dokumencie handlowym.

Na liście Faktur Sprzedaży możliwy jest wybór dodatkowych kolumn odpowiadających atrybutom wykorzystywanym w Jednolitym Pliku Kontrolnym.

Podczas księgowania faktur z modułu Handel/Faktury z wybranymi atrybutami JPK do rejestrów VAT, zostaną one przeniesione na dokument w rejestrze VAT do grupy atrybutów JPK_FA pod warunkiem, że będą mieć zaznaczony parametr kopiować przy księgowaniu do rejestru VAT. Przeniesione w ten sposób atrybuty typu JPK_FA będą widoczne na dokumentach w rejestrze VAT nawet jeśli parametr JPK_FA na dokumencie w rejestrze VAT nie będzie zaznaczony.

Powyższe atrybuty mogą być również wykorzystywane na dokumentach w rejestrach VAT dla np. faktur kosztowych. Warunkiem, aby dokumenty wprowadzone bezpośrednio do Rejestrów VAT zostały wyeksportowane do plików JPK, jest zaznaczenie na nich parametru JPK_FA. Parametr ten został dodany na dokumentach w Rejestrach VAT Zakupu i Sprzedaży w prawej górnej części okna.

W szczególności dotyczy on dokumentów kosztowych, które nie mają odzwierciedlenia w module Handel. Podczas ręcznego dodawania dokumentów do Rejestrów VAT sprzedaży parametr jest automatycznie zaznaczany. Wyjątek stanowią dowody wewnętrzne, dla których parametr nie zaznacza się samoczynnie. Od wersji Comarch ERP Optima 2017.1.1. na ręcznie dodawanych dokumentach w rejestrze VAT zakupu parametr JPK_FA nie jest automatycznie zaznaczany ponieważ do pliku JPK_FA nie ma obowiązku eksportu faktur zakupowych.

Dokumenty przeniesione z modułu Handel /Faktury, jak również zaimportowane z pliku VAT_R lub za pomocą Comarch ERP Migrator nie będą miały tego parametru zaznaczonego. Parametr nie będzie również zaznaczany dla istniejących dokumentów podczas konwersji baz danych z poprzednich wersji. Parametr JPK_FA jest przenoszony dla dokumentów zaimportowanych pracą rozproszoną pod warunkiem, eksport odbywa się z rejestrów VAT i na dokumentach w rejestrze VAT w bazie źródłowej parametr JPK_FA jest zaznaczony.

Parametr JPK_FA możliwy jest do zaznaczenia również w przypadku dokumentów zaksięgowanych lub posiadających predekretację.

Dodatkowo dla dokumentów wprowadzanych bezpośrednio w Rejestrze VAT, z racji braku odpowiednich informacji na dokumencie, wprowadzone zostały poniższe atrybuty:

      • 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

Wymienione powyżej atrybuty należy dodać na dokumencie w rejestrze VAT na zakładce [JPK] w sekcji JPK_FA. W tej sekcji można wskazać atrybut widoczny na liście atrybutów (Ogólne/ Atrybuty) na zakładce [JPK], który ma zaznaczony parametr JPK_FA: VAT. Warunkiem jest, aby na dokumencie w rejestrze VAT był zaznaczony parametr JPK_FA. W przeciwnym wypadku jeśli parametr jest nie zaznaczony, na zakładce [JPK] w sekcji JPK_FA nie będzie możliwości wybrania tego typu atrybutów.

Dla dokumentów wprowadzonych do rejestru VAT i eksportowanych do pliku JPK_FA,  nazwa towaru pobierana jest z pola Opis na pozycji dokumentu, a w przypadku jego nie uzupełnienia, z kolumny Rodzaj. Jeżeli chodzi o ilość towaru/usługi oraz jednostkę miary – w takim przypadku w pliku JPK_FA przyjmowane są wartości domyślne, czyli 1 szt.

W przypadku kiedy dane do pliku JPK_FA pobierane są z rejestru VAT i na dokumencie w walucie obcej zaznaczony jest parametr Inny kurs do księgowania, wówczas do pliku JPK_FA pobierane są kwoty wg kursu do VAT.

W przypadku wprowadzania do Rejestru VAT dokumentu korygującego, oprócz zaznaczenia na zakładce [Ogólne] parametru Korekta i wprowadzeniu numeru dokumentu korygowanego, należy dodać atrybut PRZYCZYNA KOREKTY. Daty okresu korekty pobierane są z atrybutów OKRES KOREKTY OD oraz OKRES KOREKTY DO, a w przypadku ich braku – z pola Data wystawienia.

Uwaga
Dodanie na dokumentach odpowiednich atrybutów i uzupełnienie ich wartości, jest konieczne aby w pliku JPK zarejestrować dodatkowe informacje dotyczące szczególnych warunków transakcji.

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:

Następnie dla każdego typu dokumentu przenoszone są dane dotyczące wartości całego dokumentu, szczegóły pozycji oraz wiersz sumy kontrolnej ilości dokumentów danego typu i ich łącznej wartości.

Dla dokumentów PZ:

      • 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

Dla dokumentów WZ:

      • 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

Dla dokumentów RW:

      • 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

Dla dokumentów MM:

      • 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

10 Rejestry VAT – JPK_VAT

Uwaga
Uwaga: Pliki JPK_VAT obowiązywały do rozliczenia podatku VAT za okresy do września 2020 roku. Od rozliczenia za okresy od października 2020 roku obowiązują pliki JPK_V7 dostępne w programie w menu JPK/ Pliki JPK_V7 i opisane w biuletynie OPT088 – Pliki JPK_V7 – przygotowanie dokumentów i generacja pliku. Obecnie możliwe jest składanie korekt do plików JPK_VAT za okresy, w których tego typu pliki obowiązywały.

Aby dodać w programie plik JPK_VAT należy z rozwijalnej listy przy ikonie plusa wybrać opcję Pliki_JPK_VAT   – spowoduje to otwarcie okna Przygotowanie pliku JPK_VAT:

Okno wywoływane jest również z poziomu menu kontekstowego po kliknięciu prawym przyciskiem myszy i wybraniu opcji Dodaj, jak również przy pomocy skrótu <Shift> + <Insert>.
Okno zawiera parametry dotyczące plików JPK_VAT. Dla parametru Składam plik JPK istnieje możliwość wyboru dwóch opcji:
■ obowiązkowy (opcja domyślnie zaznaczona),
■ na żądanie Urzędu Skarbowego podczas kontroli.

Uwaga
Uwaga: Opcja dodania plików JPK na żądanie US powinna być wykorzystywana w sytuacji kiedy urząd skarbowy zwróci się o wygenerowanie plików podczas kontroli podatnika.

W polu Za okres wskazywany jest miesiąc i rok za jaki ma zostać wygenerowany plik JPK_VAT. Pole może zostać rozwinięte celem łatwiejszego wybrania odpowiedniego okresu.

Uwaga
Uwaga: Podczas dodawania pliku JPK_VAT program sprawdza okres, za który jest on sporządzany. Jeżeli za ten okres powinien być już sporządzony plik JPK_V7 program informuje o tym Użytkownika stosownym komunikatem:
Za okres od października 2020 należy składać pliki JPK_V7. Czy chcesz mimo wszystko wyliczyć plik JPK_VAT?
Wybór opcji Tak powoduje utworzenie pliki JPK_VAT za wybrany miesiąc. W przypadku wybrania opcji Nie plik JPK_VAT nie jest tworzony.
Plik taki, nawet jeśli zostanie utworzony, nie będzie wysyłany do Ministerstwa Finansów.

Na oknie można zaznaczyć parametr współczynnik szacunkowy struktury sprzedaży i określić jego wartość procentową.
Zaznaczenie parametru Korekta powoduje przeniesienie informacji, że generowany plik JPK_VAT jest korektą – pole CelZlozenia w pliku przyjmuje wówczas wartość 2. W przypadku plików JPK_VAT(3) po zaznaczeniu parametru Korekta istnieje możliwość wpisania numeru korekty. Numer korekty jest uzupełniany automatycznie jako numer kolejny, ale może zostać zmodyfikowany przez Użytkownika. W tym polu nie może zostać wpisana wartość mniejsza niż 1. Numer korekty przenoszony jest do pliku JPK_VAT(3).

Uwaga
Uwaga: W polu Korekta należy podać kolejny numer, tj. jeżeli wcześniej w 2017 r. lub w latach poprzednich złożony został tylko plik pierwotny oznaczony cyfrą”1″ (JPK_VAT(1)), a pierwszej korekty dokonuje się w 2018 r. na nowej strukturze, to należy w polu Korekta wpisać cyfrę „2″, a kolejne korekty za ten sam okres oznaczamy 3, 4, 5 itd.
Jeżeli w 2017 r. złożony został JPK_VAT z oznaczeniem celu złożenia „1″ i potem były złożone korekty z oznaczeniem celu złożenia „2″, to składając kolejną korektę za ten okres już według nowej struktury w 2018 r. należy wpisać „3″ (niezależnie od tego ile w 2017 r. złożono korekt JPK_VAT z oznaczeniem „2″). Kolejne korekty za ten sam okres oznaczamy 4, 5 itd

W 2017 r. przyjęto następującą zasadę oznaczania JPK_VAT 1 – dla pierwotnego JPK_VAT 2 – dla każdej kolejnej korekty JPK_VAT

W 2018 r. przyjęto następującą zasadę oznaczania JPK_VAT: 0 – dla pierwotnego
JPK_VAT 1, 2, 3, 4…. dla kolejnych korekt JPK_VAT za ten sam okres.

Pod parametrami wyświetlane są podstawowe informacje dotyczące składania pliku JPK_VAT.
Istnieje możliwość wysłania do arkusza kalkulacyjnego danych znajdujących się w generowanych plikach JPK celem łatwiejszego ich przeglądania. Na oknie Przygotowanie pliku JPK_VAT znajduje się parametr Podczas eksportu utwórz również pliki MS Excel. Po wygenerowaniu pliku JPK z zaznaczonym powyższym parametrem, w zależności od ustawienia parametru Otwieranie wyeksportowanych plików w menu Widok, nastąpi otwarcie arkusza zawierającego wyeksportowane dane (opcja Otwieraj) bądź wyświetlone zostanie pytanie czy plik otworzyć (opcja Pytaj). Tworzony plik arkusza kalkulacyjnego zawiera arkusz dotyczący danych podatnika, agregatów oraz danych poszczególnych dokumentów.

Uwaga
Uwaga: Do eksportu danych JPK do arkusza MS Excel wymagane jest połączenie z Internetem.
Po kliknięciu ikony Utwórz plik, na liście plików JPK dodany zostanie plik JPK_VAT za podany okres.

Podczas eksportu Rejestrów VAT istnieje możliwość zaznaczenia parametru współczynnik szacunkowy struktury sprzedaży. Domyślnie parametr nie jest zaznaczony. Wówczas w polu obok parametru program wylicza wartość współczynnika na podstawie dokumentów w Rejestrze VAT Sprzedaży za rok poprzedni w stosunku do roku określonego w polu Zakres dat od: na oknie przygotowania plików JPK. Do wyliczenia wartości współczynnika brane są pod uwagę dokumenty, które na pozycji w kolumnie Uwz. w proporcji mają ustawione Uwzględniaj lub Tylko w mianowniku. Proporcja jest wyliczana jako iloraz, gdzie w liczniku znajduje się roczny obrót z tytułu czynności, w związku z którymi podatnik ma prawo do obniżenia podatku należnego, a w mianowniku całkowity roczny obrót podatnika (łącznie np. z subwencjami). Współczynnik szacunkowy struktury sprzedaży służy do przemnożenia wartości z pozycji dokumentów z Rejestru VAT Zakupu, które w kolumnie Odliczenia mają ustawione Warunkowo.
Po zaznaczeniu parametru pole z wartością współczynnika jest odblokowywane i Użytkownik może wpisać wartość inną niż wyliczona przez program. Możliwe jest wpisanie wartości współczynnika szacunkowego struktury sprzedaży z dokładnością do dwóch miejsc po przecinku. Ma to zastosowanie w związku z centralizacją jednostek budżetowych kiedy jednostki podległe mają obowiązek przesyłania plików JPK do jednostek nadrzędnych (gmin) z niezaokrąglonymi wartościami współczynników i prewspółczynników.

Wpisywana wartość szacunkowego współczynnika struktury sprzedaży zapamiętywana jest dla operatora w kontekście każdej firmy osobno. Dzięki temu po zalogowaniu tego operatora do konkretnej bazy i przygotowywania kolejnego pliku JPK_VAT, wpisana poprzednio wartość współczynnika dla tej firmy jest podpowiadana przez program.
Pliki JPK_VAT generowane za okres od stycznia 2018 roku, jak również korekty plików JPK_VAT za okresy wcześniejsze, tworzone są wzorcem dokumentu elektronicznego JPK_VAT(3). Dla plików JPK_VAT(3) zastosowanie ma znajdujący się na oknie Przygotowanie pliku JPK_VAT parametr Korekta, którego zaznaczenie powoduje oznaczenie składanego pliku jako korekty.

Podczas eksportu danych do nagłówka pliku JPK_VAT(3) przenoszone są następujące informacje:
■ Zakres dat dla eksportowanych danych
■ Dane identyfikacyjne podatnika pobierane z Konfiguracji Firmy/ Dane firmy/ Pieczątka firmy – NIP oraz Pełna nazwa
■ Adres E-mail (pole opcjonalne) pobierany w pierwszej kolejności z deklaracji VAT-7(18); jeżeli nie jest uzupełniony na deklaracji, zostanie pobrany z Konfiguracji Firmy/ Dane firmy/ VAT, AKC-WW, a jeżeli tam również nie będzie uzupełniony – wówczas z Konfiguracji Firmy/ Dane firmy/ Pieczątka firmy
■ Nazwa programu z którego wygenerowano plik JPK_VAT(3) (w pliku widnieje nazwa „Comarch ERP Optima” wraz numerem wersji)

W przypadku plików JPK_VAT(3) przenoszone są następujące informacje dotyczące dokumentów:

Dla Rejestru VAT zakupu:
■ Nazwa i identyfikator (NIP w przypadku podmiotu gospodarczego, w przypadku osób fizycznych wstawiana jest wartość BRAK) podmiotu z zapisu w rejestrze VAT pola obowiązkowe; w przypadku nieuzupełnienia pól na dokumencie do pliku JPK_VAT(3) przenoszona jest wartość BRAK
■ Dane adresowe podmiotu z zapisu w rejestrze VAT (Miasto, Ulica, Nr domu/lokalu, Kod pocztowy, Poczta (jeżeli jest inna niż Miasto)) – pola obowiązkowe; w przypadku nieuzupełnienia pól na dokumencie do pliku JPK_VAT(3) przenoszona jest wartość BRAK
■ Data wpływu
■ Data wystawienia
■ Numer dokumentu
■ Kwoty podzielone według kwalifikacji na deklaracji VAT-7

Dla Rejestru VAT sprzedaży:
■ Nazwa i identyfikator (NIP w przypadku podmiotu gospodarczego, w przypadku osób fizycznych wstawiana jest wartość BRAK) podmiotu z zapisu w rejestrze VAT pola obowiązkowe; w przypadku nieuzupełnienia pól na dokumencie do pliku JPK_VAT(3) przenoszona jest wartość BRAK; jeżeli dokument jest Paragonem przeniesionym bezpośrednio do rejestru VAT z modułu Handel/Faktury lub ma powiązanie z Paragonem, wówczas w polu określającym nazwę odbiorcy pojawia się opis SPRZEDAŻ PARAGONOWA
■ Dane adresowe podmiotu z zapisu w rejestrze VAT (Miasto, Ulica, Nr domu/lokalu, Kod pocztowy, Poczta (jeżeli jest inna niż Miasto)) – pola obowiązkowe; w przypadku nieuzupełnienia pól na dokumencie do pliku JPK_VAT(3) przenoszona jest wartość BRAK; jeżeli dokument jest Paragonem przeniesionym bezpośrednio do rejestru VAT z modułu Handel/Faktury lub ma powiązanie z Paragonem, wówczas w polu określającym adres odbiorcy pojawia się opis SPRZEDAŻ PARAGONOWA
■ Data wystawienia i data sprzedaży (o ile różni się od daty wystawienia)
■ Numer dokumentu
■ Kwoty podzielone według kwalifikacji na deklaracji VAT-7

Dane te są wymagane przez wzór dokumentu elektronicznego i muszą być uzupełnione w programie przed wysyłką plików JPK.
W logu z procesu generowania pliku JPK_VAT(3) pojawia się informacja/ostrzeżenie dla jakich dokumentów i do jakich pól wstawiono do pliku wartość BRAK/SPRZEDAŻ PARAGONOWA wraz z sugestią, aby Użytkownik zweryfikował poprawność tych dokumentów. W przypadku raportu dobowego lub faktury dla osoby fizycznej brak numeru NIP nie jest błędem, natomiast w przypadku np. faktury sprzedaży dla podmiotu gospodarczego dane takie jak numer NIP, nazwa i adres odbiorcy powinny zostać uzupełnione na dokumencie a plik JPK_VAT ponownie wygenerowany. W przypadku faktur VAT RR, numer NIP bądź PESEL dostawcy powinien znajdować się w polu NIP na dokumencie w rejestrze VAT zakupu.

W przypadku dowodów wewnętrznych sprzedaży i zakupu rozliczających transakcje (m.in. nabycia wewnątrzunijnego, importu usług, zakupu z odwrotnym obciążeniem) do pliku JPK_VAT jako numer dokumentu przenoszony jest numer dokumentu pierwotnego z rejestru zakupu. Warunkiem jest powiązanie dowodów wewnętrznych z dokumentem źródłowym. W związku z tym kiedy takiego powiązania nie ma (dowody wewnętrzne dodane ręcznie do rejestru VAT bądź zaimportowane mechanizmem pracy rozproszonej), dowody wewnętrzne do pliku JPK_VAT zostaną przeniesione z własnym numerem dokumentu.
Dowody wewnętrzne będące korektą paragonów przekształconych do faktur przenoszone są do pliku JPK_VAT z numerem dowodu wewnętrznego.

Wykonanie korekty danych z poziomu korekt faktury w module Handel / Faktury nie spowoduje zmiany na dokumencie w Rejestrze VAT – zmiany danych na dokumencie należy dokonać ręcznie. Dokument Faktura korygująca dane nie jest przenoszony do Rejestrów VAT.
Do plików JPK_VAT(3) przenoszone są wszystkie zapisy korekcyjne wygenerowane z załącznika VAT-ZD za wskazany okres. Pozycje na tych zapisach z odliczeniami warunkowymi są przeliczane przez określony na oknie przygotowania plików JPK współczynnik szacunkowy struktury sprzedaży.

W celu wykazywania wartości w odpowiednich polach w plikach JPK dla Rejestrów VAT, wprowadzone zostały następujące atrybuty dokumentów:
■ KOREKTA ŚR. TRWAŁYCH (Korekta podatku naliczonego od nabycia środków trwałych),
■ KOREKTA POZ. NABYĆ (Korekta podatku naliczonego od pozostałych nabyć),
■ VAT-ZD ZAKUP NIEZAPŁ (Korekta podatku naliczonego, zgodnie z Art. 89b ust. 1),
■ VAT-ZD ZAKUP ZAPŁAC. (Korekta podatku naliczonego, zgodnie z Art. 89b ust. 4),
■ PODATEK OD SPISU (Podatek należny od towarów objętych spisem z natury),
■ ZWROT ZA KASĘ FISKAL (Zwrot odliczonej lub zwróconej kwoty wydatkowanej na zakup kas rejestrujących),
■ WEWN.NAB.PALIW SILN. (Podatek od wewnątrzwspólnotowego nabycia paliw silnikowych); atrybut ten będzie wykorzystany po pojawieniu się wzoru dokumentu elektronicznego dla pliku JPK_VAT zgodnego z deklaracją VAT-7(17),
■ WEWN.NABYCIE ŚR.TRAN (Wewnątrzwspólnotowe nabycie środków transportu).
Pierwsze 4 atrybuty powinny być wybierane na dokumentach w rejestrze zakupu VAT, natomiast kolejne 4 na dokumentach w rejestrze sprzedaży VAT.

Uwaga
Uwaga: W przypadku kiedy w programie utworzony został załącznik VAT-ZD o typie zakup i wygenerowany/e z niego zapis/y korekcyjny/e, atrybutów VAT ZD ZAKUP NIEZAPŁ oraz VAT-ZD ZAKUP ZAPŁAC. nie należy dodawać na dokumentach w rejestrze VAT ponieważ spowoduje to duplikację kwot w pliku JPK_VAT. Zapisy korekcyjne z VAT-ZD o typie zakup są wykazywane w pliku JPK_VAT jako korekta zgodnie z Art. 89b, odpowiednio ust. 1 lub 4.
Podobnie w przypadku atrybutu WEWN.NABYCIE ŚR.TRAN – jeżeli na przeliczanej w programie Comarch ERP Optima deklaracji VAT-7pole Podatek od wewnątrzwsolnotowego nabycia środków transportu jest uzupełniane automatycznie przez program na podstawie wprowadzonych dokumentów, atrybutu nie należy stosować.
Wspomniane atrybuty należy wykorzystywać tylko pod warunkiem, że odpowiadające im pola na deklaracji VAT-7 Użytkownik uzupełnia ręcznie.

Jest to związane z tym, że sumy dla dokumentów z rejestrów VAT w plikach JPK powinny być zgodne z deklaracją VAT-7 za ten sam okres, natomiast m.in. pola 47 Korekta podatku naliczonego od nabycia środków trwałych oraz 48 Korekta podatku naliczonego od pozostałych nabyć (numeracja wg deklaracji VAT-7 wersja 20) mogą być wyliczane na podstawie dokumentów z poprzednich okresów bądź uzupełniane ręcznie. W związku z tym jeżeli na deklaracji VAT-7 pojawiły się wartości w polach 36, 37, 39, 47 lub 48, należy do rejestru VAT zakupu dodać odpowiedni dokument techniczny. Dokument taki nie musi posiadać żadnej pozycji, natomiast należy wybrać na nim odpowiedni wskazany powyżej atrybut (jeden bądź więcej) uzupełniając jego wartość kwotą z odpowiadających im pól na deklaracji. W celu spełnienia wymagań wzorca dokumentu elektronicznego, należy uzupełnić numer dokumentu (np.: Dokument techniczny do deklaracji VAT-7 pod plik JPK_VAT). Zalecamy kontakt z Urzędem Skarbowym celem uzgodnienia jakie dane powinny się na tego typu dokumentach znaleźć.
W przypadku korzystania z atrybutów VAT-ZD ZAKUP NIEZAPŁ lub VAT-ZD ZAKUP ZAPŁAC należy na wprowadzonych dokumentach nie dodawać pozycji, natomiast uzupełnić numer dokumentu oraz wskazać kontrahenta jaki występował fakturze która ma zostać skorygowana.
Wymienione atrybuty należy w razie potrzeby dodać na dokumencie w Rejestrze VAT na zakładce [JPK] w sekcji JPK_VAT. W tej sekcji można wskazać atrybut widoczny na liście atrybutów (Ogólne/ Atrybuty) na zakładce [JPK], który ma zaznaczony parametr JPK_VAT.
Atrybut z zaznaczonym parametrem JPK_VAT oraz dodatkowo zaznaczonym parametrem przenosić na transakcje zostanie automatycznie dodany na każdym nowo dodawanym dokumencie w rejestrze VAT.
Podczas eksportu Rejestrów VAT do plików JPK wysyłane są dokumenty mające określony miesiąc kwalifikacji w VAT (parametr Rozliczać w VAT na dokumencie) zgodny z określonym podczas eksportu danych. W przypadku Rejestru VAT zakupu, eksportowane są tylko dokumenty mające na pozycjach w kolumnie Odliczenia ustawione Tak lub Warunkowo oraz stawkę VAT inną niż ZW i NP. Dodatkowo wpływ na eksportowane dane mają ustawienia parametrów w Konfiguracji Programu/ Księgowość/ Deklaracje. Porównując eksportowane dokumenty należy więc korzystać z drugiej zakładki na rejestrze VAT: [Do VAT/JPK_V7]. Dodatkowo w plikach JPK_VAT wykazywane są dokumenty z rejestru sprzedaży VAT zawierające pozycje ze stawką 4% (faktury taksówkarzy). Pozycje wykazywane są w pliku JPK_VAT polach K_17 (wartość netto) oraz K_18 (wartość VAT), natomiast te dokumenty nie są wykazywane w deklaracji VAT-7.
W przypadku dokumentów mających dodany atrybut o typie JPK_VAT oraz zapisów korekcyjnych wygenerowanych z załącznika VAT-ZD, do pliku JPK_VAT tego typu dokumenty przenoszone są bez względu na to czy parametr Rozliczać w VAT jest na nich zaznaczony czy nie.
W przypadku braku zapisów w rejestrze zakupów bądź rejestrze sprzedaży za podany podczas eksportu okres, tworzony plik JPK będzie zawierał informacje tylko o tym typie rejestru, w którym były zapisy. Jeżeli w określonym podczas przygotowania plików JPK okresie czasu nie ma zapisów w rejestrze VAT zakupu ani sprzedaży, wówczas jest generowany plik JPK_VAT zawierający tylko dane nagłówkowe i dane podatnika.

Uwaga
Uwaga: Znajdujący się na dokumentach w Rejestrze VAT parametr JPK_FA opisany został w rozdziale dotyczącym faktur. Parametr nie dotyczy plików JPK_VAT składanych obowiązkowo co miesiąc. Należy zaznaczyć go w przypadku, gdy na żądanie US podatnik jest zobligowany do złożenia pliku z fakturami (JPK_FA), które wprowadzone zostały ręcznie do rejestru VAT z pominięciem modułu Handel.

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. Funkcja może zostać również uruchomiona z poziomu menu kontekstowego po kliknięciu prawym przyciskiem myszy na plikach JPK i wybraniu opcji Scal pliki JPK_VAT. Zarówno ikona jak i funkcja w menu kontekstowym jest aktywna po wyfiltrowaniu plików JPK do typu JPK_VAT(wybór w polu Typ pliku wartości JPK_VAT) i zaznaczeniu co najmniej 2 plików.

Na oknie Łączenie plików JPK_VAT można wskazać czy plik ma być złożony jako korekta (parametr Oznacz plik JPK_VAT jako korektę). Podczas scalania plików JPK_VAT(3) po oznaczeniu scalonego pliku jako korekty można wpisać numer tej korekty. Scalane pliki JPK_VAT muszą być w tej samej wersji. Na oknie można również zaznaczyć czy po wygenerowaniu pliku JPK_VAT ma zostać również wygenerowany arkusz kalkulacyjny zawierający dane przeniesione do połączonego pliku.
Na oknie dostępny jest parametr Składam plik JPK z dwiema opcjami:
■ obowiązkowy (opcja domyślnie zaznaczona),
■ na żądanie Urzędu Skarbowego podczas kontroli.
Parametr określa cel złożenia łączonego pliku JPK_VAT.

Generowanie pliku rozpoczynane jest po kliknięciu ikony Wykonaj połączenie . Funkcja może zostać również wywołana poprzez naciśnięcie <F8>.
Warunkiem połączenia plików jest to, aby były to pliki JPK_VAT wygenerowane w tym samym wzorcu dokumentu elektronicznego – wszystkie pliki we wzorcu JPK_VAT(2) bądź wszystkie we wzorcu JPK_VAT(3) i zawierające dokumenty za ten sam zakres dat (z tym samym rokiem i miesiącem rozliczenia w deklaracji VAT).
Dane dotyczące podatnika składającego połączony plik JPK_VAT pobierane są z Pieczątki firmy (Konfiguracja Firmy/ Dane firmy/ Pieczątka firmy). Pozostałe dane zostaną odpowiednio połączone – wszystkie dokumenty sprzedaży ze wszystkich plików zostaną umieszczone w sekcji dotyczącej Rejestrów sprzedaży. Analogicznie dla rejestrów VAT zakupu. Sekcje zawierające zagregowane dane będą zawierały informacje dotyczące wszystkich pozycji z wszystkich plików. Tak więc suma ilości pozycji z wszystkich łączonych plików będzie zgodna z ilością w pliku zbiorczym. Nowy połączony plik zbiorczy otrzymuje nazwę JPK_VAT_SCALONY_PLN_Data_od_Data_do_Data_i_godzina_utworzenia.

Po utworzeniu zbiorczego pliku JPK_VAT, pliki cząstkowe które podlegały połączeniu zmieniają status z Nie wysłano na Nie podlega. Dopiero w przypadku usunięcia pliku zbiorczego takie pliki otrzymają z powrotem status Nie wysłano. Nie ma możliwości wysłania plików, które uległy połączeniu – w takim przypadku należy wysłać plik zbiorczy. Nie jest również możliwe usunięcie pliku cząstkowego – należy w pierwszej kolejności usunąć plik wynikowy.

Nie jest możliwe ponowne połączenie plików, które już zostały poddane łączeniu. Wysłane pliki JPK_VAT również nie podlegają połączeniu – łączenie plików JPK_VAT możliwe jest tylko dla plików o statusie Nie wysłano.
Domyślnie pliki JPK_VAT które zostały połączone są ukrywane, ale można je wywołać na listę plików JPK. Służy temu parametr Pokaż scalone. Pliki cząstkowe, które zostały połączone, wyświetlane są na liście plików w kolorze szarym.
W kolejnych rozdziałach biuletynu opisane zostały szczegółowe informacje dotyczące eksportu poszczególnych grup danych do plików JPK.

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 oknie po kliknięciu ikony  Wybór pliku należy wskazać źródłowy plik XML, z którego mają zostać importowane dane. Warunkiem powodzenia importu jest aby struktura wskazanego pliku była zgodna z wymaganą przez Ministerstwo Finansów strukturą JPK_VAT(2), JPK_VAT(3) lub JPK_V7. W przypadku wybrania niewłaściwego typu pliku pojawia się stosowne ostrzeżenie i import danych nie jest możliwy.

Parametr Za okres domyślnie jest nieaktywny. Takie ustawienie powoduje, że wszystkie dokumenty z pliku zostaną zaimportowane bez względu na ich daty. Po wskazaniu pliku JPK_VAT zakres dat zostaje uzupełniony na podstawie danych w pliku. Po zaznaczeniu parametru Za okres Użytkownik może wpisać inny zakres dat (zawęzić okres) za jaki zostaną zaimportowane dokumenty ze wskazanego pliku. Dla dokumentów sprzedażowych wskazywane dla parametru daty dotyczą daty wystawienia, natomiast dla dokumentów zakupowych – daty wpływu. Jeżeli w pliku JPK_VAT dla dokumentu importowanego do rejestru zakupu VAT nieuzupełniona jest data wpływu, jest ona uzupełniona jako zgodna z datą zakupu.

Na oknie istnieje możliwość wskazania rejestrów sprzedaży i zakupów VAT, do których mają zostać zaimportowane dokumenty z pliku. Odznaczenie jednego z typów rejestru VAT (zakupów lub sprzedaży) powoduje,

że tego typu dokumenty nie zostaną zaimportowane z pliku. Jeżeli w pliku JPK_VAT występują tylko dokumenty jednego typu (np. tylko rejestr sprzedaży VAT) i ten typ rejestrów został odznaczony przez Użytkownika, przy próbie importu pojawi się informacja o braku danych do zaimportowania.

Podczas importu dokumentów, jeśli w pliku JPK_VAT uzupełniony jest numer NIP kontrahenta i w bazie istnieje już kontrahent z takim numerem NIP, wówczas po zaimportowaniu dokument przypisywany jest do tego kontrahenta (podstawiany jest jego akronim). Jeżeli istniejący w bazie kontrahent oznaczony został jako zduplikowany podczas operacji łączenia kart kontrahentów, na zaimportowanym dokumencie podstawiony zostanie kontrahent główny. Dane kontrahenta na dokumencie (jego nazwa i adres) przenoszone są zawsze z pliku. Rodzaj transakcji, rodzaj na pozycji dokumentu oraz status kontrahenta na zaimportowanym dokumencie uzupełniane są zgodnie z domyślnymi ustawieniami kwalifikującymi do deklaracji VAT-7 dla pola, do którego dany dokument w pliku JPK_VAT został zakwalifikowany.

Na dokument podstawiana jest kategoria sprzedaży lub zakupu z istniejącej karty kontrahenta (jeżeli domyślne kategorie dla kontrahenta są uzupełnione).

W przypadku nie zaznaczonego parametru Załóż karty kontrahentów (na podstawie numeru NIP lub wg autonumeracji ustawionej w konfiguracji)) jeżeli kontrahent o takim numerze NIP jak na dokumencie w pliku nie występuje w bazie (lub jest więcej niż jeden kontrahent z takim numerem NIP), wówczas na zaimportowanym dokumencie podstawiany jest kontrahent Nieokreślony. Dane kontrahenta na dokumencie (jego nazwa i adres) przenoszone są z pliku. W przypadku importu dokumentów do rejestru VAT bez zakładania kart kontrahentów, jeżeli na dokumencie w pliku JPK_VAT uzupełniony jest numer NIP kontrahenta, na zaimportowanym dokumencie zaznaczony zostaje parametr Podmiot gospodarczy. Jeżeli w pliku JPK_VAT nie ma numeru NIP dla transakcji (pole z numerem NIP jest puste lub znajduje się w nim znak „-”), w rejestrze VAT na dokumencie zaznaczony zostaje parametr Finalny. Po przeprowadzonym imporcie zaleca się wykonanie dla zaimportowanych dokumentów operacji seryjnej Zweryfikuj status VAT.

W przypadku zaznaczonego parametru Załóż karty kontrahentów (na podstawie numeru NIP lub wg autonumeracji ustawionej w konfiguracji) jeżeli kontrahent o takim numerze NIP jak na dokumencie w pliku nie występuje w bazie, wówczas zostanie założona jego karta na podstawie danych w pliku i zostanie on podstawiony na zaimportowanym dokumencie.. Jeżeli w Konfiguracji Firmy/ Ogólne/ Parametry zaznaczony jest parametr Autonumeracja kodów kontrahentów przy dodawaniu, wówczas kod zakładanego kontrahenta nadawany jest według wskazanego w Konfiguracji schematu numeracji. W przypadku, gdy podczas automatycznego dodawania kontrahenta, numer w schemacie numeracji kodów przekroczy maksymalną wartość, kontrahent dodawany jest z kodem uzupełnionym zgodnie z jego numerem NIP.
Jeżeli parametr Autonumeracja kodów kontrahentów przy dodawaniu nie jest zaznaczony w Konfiguracji, wówczas jako kod nowego kontrahenta wstawiany jest jego numer NIP.
Dodatkowo jeżeli w Konfiguracji Firmy/ Ogólne/ Parametry zaznaczony jest parametr Automatyczne pobieranie rachunków bankowych z Wykazu podatników VAT, dla dodawanego automatycznie kontrahenta następuje weryfikacja w Wykazie podatników VAT na podstawie jego numeru NIP i pobierane są numery rachunków bankowych kontrahenta. Jeżeli parametr w konfiguracji nie jest zaznaczony, kontrahent dodawany jest bez importu listy rachunków bankowych.

Jeżeli na dokumencie w pliku kontrahent nie ma uzupełnionego numeru NIP (lub w bazie jest więcej niż jeden kontrahent z takim numerem NIP), wówczas karta kontrahenta nie jest zakładana. Na takim dokumencie po imporcie podstawia się kontrahent Nieokreślony z danymi adresowymi takimi, jakie są w pliku JPK_VAT. W przypadku braku numeru NIP kontrahenta w pliku JPK_VAT, na dokumencie jako rodzaj transakcji podpowie się Krajowa.

Jeżeli numer NIP kontrahenta krajowego w pliku JPK_VAT jest niepoprawny, nie jest zakładana karta takiego kontrahenta i nie są importowane jego dokumenty do rejestru VAT.

Na oknie importu istnieje możliwość wyboru formy płatności na zaimportowanych dokumentach. Po wybraniu opcji domyślną Użytkownik może wskazać jedną z aktywnych form płatności występujących w bazie. Jeżeli istniejący w bazie kontrahent ma ustawiony na swojej karcie indywidualny termin płatności, taki termin zostanie wyliczony na zaimportowanym dokumencie. Jeżeli istniejący w bazie kontrahent nie ma określonego terminu płatności, wówczas termin płatności na zaimportowanym dokumencie wyliczony zostanie na podstawie terminu ustawionego na wybranej formie płatności.

W przypadku wybrania opcji z karty kontrahenta, na dokumencie podstawiana jest forma płatności wskazana na karcie istniejącego kontrahenta. Jeżeli w bazie nie istnieje kontrahent o podanym numerze NIP, na zaimportowanym dokumencie podstawiana jest forma płatności gotówka. Ta forma płatności zostanie również ustawiona jako domyślna forma płatności dla założonego kontrahenta. Jeżeli forma płatności gotówka jest zablokowana, podstawi się kolejna (według kolejności wprowadzania) forma płatności.

Jeżeli istniejący w bazie kontrahent ma zaznaczony parametr Nie rozliczaj płatności, płatność z zaimportowanego dokumentu zostanie dodana do preliminarza ze statusem Nie podlega.

Jeżeli Użytkownik wybierze dla opcji domyślną formę płatności gotówka (lub kontrahent ma wybraną tę formę płatności jako domyślną), po zaimportowaniu nie będą tworzone automatycznie zapisy K/B rozliczające płatności do importowanych dokumentów.

Zaznaczenie na oknie importu parametru Ustaw status płatności na Nie podlega powoduje, że wszystkie płatności z zaimportowanych dokumentów otrzymają status Nie podlega.

Jeżeli w Konfiguracji Firmy/ Ogólne/ Parametry zaznaczony jest parametr Kontrola duplikacji zapisów w rejestrze VAT, ewidencji dodatkowej i na fakturach zakupu, podczas importu następuje weryfikacja czy w bazie nie występuje już dokument o parametrach określonych dla kontroli duplikacji. Jeżeli taki dokument już istnieje, dokument z pliku JPK_VAT nie zostanie zaimportowany, a w logu z przebiegu importu pojawi się stosowna informacja.

Kliknięcie ikony  Uruchom import powoduje zaczytanie danych z pliku JPK_VAT do bazy. Ikona jest aktywna po wskazaniu poprawnego pliku JPK_VAT oraz zaznaczeniu rejestru sprzedaży i/lub rejestru zakupu do importu.

Wybranie opcji  Zamknij okno powoduje rezygnację z importu i zamknięcie okna.

Uwaga
Pliki JPK_VAT nie posiadają wszystkich potrzebnych informacji występujących na dokumentach w rejestrze VAT, dlatego też przy imporcie przyjmowane są pewne uproszczenia np. co do formy płatności, rodzaju transakcji, waluty, stawki VAT, opisu, kolumny KPiR, stanu dokumentu zwykły/wewnętrzny itp. W związku z tym po zaimportowaniu dokumentów należy zweryfikować ich poprawność.

W razie potrzeby należy skorzystać z operacji seryjnych dostępnych bezpośrednio w rejestrach VAT.

Na zaimportowanych dokumentach do rejestru zakupu VAT domyślnie ustawiane są odliczenia na TAK.

Uwaga
W pliku JPK_VAT znajdują się tylko wartości z odliczeniami na TAK lub Warunkowo (przeliczone przez szacunkowy współczynnik struktury sprzedaży). Jeżeli więc na dokumencie przed eksportem do pliku JPK_VAT znajdowały się pozycje z odliczeniami na NIE oraz na TAK, wówczas do pliku zostaną wyeksportowane (a tym samym zaimportowane z niego) tylko te pozycje mające odliczenia na TAK. W przypadku odliczeń WARUNKOWO, po eksporcie do pliku te pozycje są mnożone przez szacunkowy współczynnik struktury sprzedaży. W związku z tym wartość brutto na zaimportowanym dokumencie w rejestrze zakupu VAT nie zawsze będzie się zgadzać z wartością brutto dokumentu sprzed eksportu do pliku JPK_VAT. Należy więc po imporcie zweryfikować poprawność kwot brutto dokumentów.

W przypadku rejestrów sprzedaży VAT w kolumnie Uwzględniaj w proporcji ustawiane są domyślne wartości dla poszczególnych stawek VAT:

      • Uwzględniaj – dla stawek: 23%, 8%, 5%, 0%
      • Tylko w mianowniku – dla stawki ZW
      • Nie uwzględniaj – dla stawki NP

W przypadku ustawionego w Konfiguracji Firmy/ Księgowość/ Parametry rodzaju księgowości księga podatkowa, na pozycjach  zaimportowanych dokumentów w rejestrze sprzedaży VAT ustawiana jest kolumna KPiR 7.Sprzedaż, natomiast na dokumentach w rejestrze zakupu VAT kolumna 10.Towary.

Jeżeli ustawiony jest rodzaj księgowości ewidencja ryczałtowa, na pozycjach  zaimportowanych dokumentów w rejestrze sprzedaży VAT ustawiana jest stawka dla ryczałtu 3,00%.

Jeżeli w pliku JPK_VAT znajdowały się dokumenty z pozycjami wykazywanymi w deklaracji VAT-7 w polach:

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

a więc wynikające z zastosowania na dokumentach atrybutów JPK_VAT, pozycje te nie zostaną zaimportowane do rejestru VAT z pliku JPK_VAT.

Uwaga
Na zaimportowanych z pliku JPK_VAT do rejestru VAT dokumentach, w polu Rozliczać w VAT ustawiany jest rok i miesiąc zgodny z okresem za jaki wygenerowany został plik JPK_VAT. Dotyczy to metody zwykłej rozliczenia podatku VAT.

Na zaimportowanych dokumentach zostanie prawidłowo ustawiona data rozliczenia w VAT jedynie w bazach, które za dany okres czasu rozliczają VAT metodą zwykłą. Jeśli w bazie docelowej wybrana jest metoda kasowa, wówczas należy ponownie zweryfikować datę uwzględnienia w VAT na poszczególnych dokumentach.




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/

Przykładowa strona pozwalająca na przetestowanie łącza internetowego

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 pulpituSystem operacyjny po stronie serwera BajtyZmniejszenie ilości przesłanych danych przy użyciu protokołu RDP 6.1
RDC 6.1 (Windows Server 2008)Windows Server 20087559075
RDC 5.2 (Windows Server 2003)Windows Server 200894503510.2
RDC 5.1 (Windows XP)Windows Server 2008111856330.32

Źródło: Remote Desktop Protocol Performance
(http://download.microsoft.com/download/4/d/9/4d9ae28534314335a86e969e7a146d1b/RDP_Performance_WhitePaper.docx)

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.

Serwer Usług Terminalowych – ustawienia klienta

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.

Serwer Usług Terminalowych – ustawienia sesji

Na powyższym zrzucie ekranu ustawienia są wyszarzone, ponieważ zostały ustawione z poziomu polityki grupy.

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

Okno konfiguracji kompresji danych RemoteFX dla sesji zdalnych

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.

Właściwości klienta RDP – ustawienia głębi kolorów w sesji zdalnej

W bardzo trudnych warunkach można rozważyć połączenia w trybie 256 kolorów (głębia kolorów 8 bit).

W tym celu należy zapisać ustawienia połączenia w pliku, a następnie otworzyć plik notatnikiem i zmodyfikować parametr: Session bppi:16 ustawiając: session bpp:i:8

Właściwości klienta RDP – zapis ustawień połączenia

Comarch ERP Optima w 256 kolorach przy standardowej skórce

Dodatkowo w celu uzyskania lepszej wydajności zaleca się zmianę skórki programu na UltraFlat.

Zablokowanie mapowania wszystkich nieużywanych elementów takich jak porty, dyski, karty inteligentne, czy inne urządzenia Plug and Play ma również wpływ na zmniejszenie przesyłania dodatkowych danych, a przez co przyspiesza wyświetlanie aplikacji na wolnych łączach.

Właściwości klienta RDP – Mapowanie Zasobów lokalnych

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

Właściwości klienta RDP – Ustawienia efektów graficznych

W celu osiągnięcia najlepszej wydajności przy pracy przez wolniejsze łącza zaleca się wyłączenie wszystkich lub prawie wszystkich parametrów na zakładce „Wrażenia” zaczynając od góry, czyli od parametrów „Tło pulpitu” oraz „Wygładzanie czcionek”.

Przykładowo opcja wygładzania czcionek może zwiększyć zapotrzebowanie na przepustowość od ponad 50% nawet do prawie 800%.

Zapotrzebowanie na pasmo przy wykorzystaniu wygładzania czcionek ClearType oraz bez stosowania tego mechanizmu.

Typ użytkownikaTekst ClearType [kbit/s]Normalny tekst [kbit/s]Zwiększenie zapotrzebowania na pasmo przy użyciu ClearType
Pisanie i przewijanie35.622.5657.64 %
Przewijanie25.447.04260.92 %
Internet Explorer1410.4157.68794.52 %

Żródło: Remote Desktop Protocol Performance
(http://download.microsoft.com/download/4/d/9/4d9ae28534314335a86e969e7a146d1b/RDP_Performance_WhitePaper.docx)

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.

Zmiana skórki w programie Comarch ERP Optima

Wyłączenie animacji

Również w menu Widok po zalogowaniu do programu można wyłączyć animacje w programie.

Zmiana Efektów animacji w programie Comarch ERP Optima

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.

Comarch ERP Optima – praca z rozwiniętą wstążką

Comarch ERP Optima – praca ze zwiniętą wstążką

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.

Uwaga

Do prawidłowego pobierania licencji wymagane jest wprowadzenie bezpośrednio do programu nazwy serwera klucza.

W sytuacji, gdy baza konfiguracyjna znajduje się na tym samym serwerze, gdzie pracuje menadżer licencji (ML), program nie wymaga wprowadzania nazwy serwera klucza – domyślnie szuka ich na serwerze gdzie znajduje się baza konfiguracyjna. Dla potrzeb komponentów, o których mówi ten artykuł nazwa takiego serwera zawsze musi być wprowadzona. Informację tą wprowadzamy w oknie logowania w polu Serwer Klucza.

Schemat połączenia do drukarki fiskalnej

Połączenie drukarki fiskalnej w sesji terminalowej

 

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)

Serwer Usług Terminalowych – mapowanie portów

Po stronie klienta:
Załączyć parametr mapowania portów (LPT, COM) (ustawiamy to w oknie „Podłączanie pulpitu zdalnego” Opcje: zakładka Zasoby lokalne/Lokalne urządzenia i zasoby/Porty)

Właściwości klienta RDP – Mapowanie portów

Konfiguracja z poziomu programu wykonywana jest identycznie przy podłączeniu urządzenia bezpośrednio do komputera, mapowane porty COM będą widoczne jako kolejne porty na liście dostępnych portów w systemie.

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:

Sekcja [RUN] w definicji wydruku
Program Printtxt w takiej sytuacji musi być skonfigurowany tak żeby wynik drukowania był zapisywany do pliku tekstowego, plik ten będzie wysyłany przez program RawPrint do drukarki docelowej.

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.

Funkcje są dostępne w Comarch ERP Optima po zainstalowaniu na końcówce sieciowej aplikacji OnlineFP.exe i załączeniu w konfiguracji programu w gałęzi Stanowisko \ Ogólne \ Parametry parametru : Wymiana danych z komputerem lokalnym w pracy terminalowej.
Dla pozostałych przypadków eksporty plików z programu wykonywane są na dyski serwera usług terminalowych, chyba że przy połączeniu terminalowy mapujemy dyski stacji lokalnej, to wówczas możemy pliki zapisać w tych lokalizacjach.

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

Współpraca z programem Płatnik – Możliwa jest na dwa sposoby:

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


Menadżer Licencji powinien zostać skonfigurowany na komputerze z serwerem SQL, który znajduje się w tej samej sieci lokalnej co serwer terminalowy. Innymi słowy przy połączeniu przez Internet do serwera terminali nie ma możliwość korzystania z licencji po stronie Klienta, czyli Menadżera Licencji zainstalowanego w sieci lokalnej stanowiska, z którego uruchamiamy połączenie pulpitu zdalnego.




OPT035- Rozliczenie czasu pracy w modułach płacowych

Data aktualizacji: 18-10-2024


Spis treści

1. Wstęp

2. Normy i wymiar czasu pracy w przepisach

3. Harmonogramy czasu pracy (plany pracy)

4. Konfiguracja pojedynczego kalendarza

5. Konfiguracja wszystkich kalendarzy

6. Plan pracy i czas przepracowany pracownika

7. Nadgodziny

8. Rozliczanie nadgodzin wg norma zgodna z planem pracy

9. Rozliczanie nadgodzin wg normy dobowej i normy średniotygodniowej

10. Czas wolny za nadgodziny – Płace i Kadry Plus

11. Wydruki ewidencji czasu pracy

12. Różnicowe wyliczenie wynagrodzenia za nadgodziny i godziny nocne

13. Nadgodziny w dobie pracowniczej


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

2. Normy i wymiar czasu pracy w przepisach

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

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

Przykład

Ustalenie wymiaru czasu pracy dla miesiąca stycznia 2023 r.

– liczba tygodni: 1-7, 8-14, 15-21, 22-28, czyli 4 tygodnie * 40h = 160h,

– liczba dni wystających, które mieszczą się w zakresie od poniedziałku do piątku: 30, 31, czyli 2 dni * 8h = 16h,

– pomniejszenie za święta przypadające w innym dniu niż niedziela:  6 (Trzech Króli), czyli 1 dzień * 8h = 8h,

– wyliczenie wymiaru: 160h + 16h – 8h = 168h

Przykład

Ustalenie wymiaru czasu pracy dla miesiąca listopad 2023 r.

– liczba tygodni: 1-7, 8-14, 15-21, 22-28, czyli 4 tygodnie * 40h = 160h,

– pozostała liczba dni, które mieszczą się w zakresie od poniedziałku do piątku: 29, 30, czyli 2 dni * 8h = 16h,

– pomniejszenie za święta przypadające w innym dniu niż niedziela: 1, 11, czyli 2 dni * 8h = 16h,

– wyliczenie wymiaru: 160h + 16h – 16h = 160h

Za święto przypadające w sobotę (11 listopada) należy wyznaczyć dodatkowy dzień wolny w planie pracy./example]

2023 - MiesiąceLiczba dniNorma dobowaWYMIAR
Styczeń218168
Luty208160
Marzec238184
Kwiecień198152
Maj218168
Czerwiec218168
Lipiec218168
Sierpień228176
Wrzesień218168
Październik228176
Listopad*208160
Grudzień198152
SUMA250-2000
Zestawienie wymiarów czasu pracy w 2023 roku dla okresów jednomiesięcznych przy wyznaczeniu soboty jako dodatkowego dnia wolnego w przeciętnie pięciodniowym tygodniu pracy

*

  • Za święto przypadające w sobotę należy wyznaczyć dodatkowy dzień wolny w planie pracy.

Zestawienie wymiarów czasu pracy w 2023 roku dla okresów jednomiesięcznych przy wyznaczeniu soboty jako dodatkowego dnia wolnego w przeciętnie pięciodniowym tygodniu pracy

 

 

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

Przykład

Ustalenie wymiaru czasu pracy dla pracownika zatrudnionego na ¾ etatu, dla 3-miesięcznego okresu rozliczeniowego (10-12.2023).

– suma wymiarów z 3 miesięcy: 176 + 160 + 152= 488h

– wyliczenie wymiaru: mnożymy przez wymiar etatu: 512h* ¾ = 366h

W 11.2023 za święto przypadające w sobotę (11 listopada) należy wyznaczyć dodatkowy dzień wolny w planie pracy.

Pracodawca powinien pamiętać o ustaleniu dla zatrudnionego na część etatu tzw. limitu godzin. Stosownie, bowiem do art. 151 § 5 K.p., 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.

Ustalenie limitu zależy od okoliczności faktycznych, a zwłaszcza od rozkładu czasu pracy danego pracownika. Sposoby jego ustalenia w umowach o pracę są różne, a mianowicie można go określić przez wskazanie wymiaru dobowego – np. „praca powyżej 5 godzin na dobę” albo wielkości etatu – np. „praca przekraczająca wymiar 3/4 etatu”.

W programie Comarch ERP Optima Płace i Kadry można określić limit nadgodzin dla niepełnoetatowca poprzez jako wprowadzenie odpowiedniej normy dobowej i średniotygodniowej (niższej niż dla pełnego etatu).

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

Kontrola zgodności tworzonego harmonogramu czasu pracy z przepisami należy do Użytkownika programu.

Harmonogramy czasu pracy definiujemy w programie Comarch ERP Optima w Konfiguracja/ Firma/ Płace/ Kalendarze. Z tego poziomu można dodać dowolną ilość kalendarzy, zgodnie z potrzebami firmy.
Standardowo w programie podczas kreowania nowej bazy tworzony jest kalendarz o nazwie STANDARD z dniami pracy od poniedziałku do piątku (w godzinach od 7:00 do 15:00) z wyznaczonymi świętami w aktualnym i kolejnym roku.
Symbol na poszczególnych dniach kalendarza oznacza, że nie były one jeszcze definiowane i przyjmują domyślne ustawienia.
Sposób tworzenia i definiowania kalendarzy opisany jest szczegółowo w podręczniku do konfiguracji programu.

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)

4. 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.
  • Automatyczna weryfikacja reguł wynikających z Kodeksu pracy w planie i czasie pracy domyślnie zaznaczony umożliwia automatyczną kontrolę poprawność wprowadzonych godzin pracy podczas wejścia do kalendarza w konfiguracji, czy do indywidualnego planu / czasu pracy pracownika pod kątem zachowania:
  • doby pracowniczej,
  • odpoczynku dobowego,
  • odpoczynku tygodniowego,
  •  co 4 wolnej niedzieli.
  • Program dokonuje również automatycznej kontroli  podczas edycji poszczególnych dni w planie/czasie pracy oraz importu planu/czasu pracy z arkusza Excel.

    W obszarze Nadgodziny / godziny nocne dostępne są parametry:

    • Rozliczaj nadgodziny – zaznaczony parametr umożliwia rozliczaniem nadgodzin przez program.
    • 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 nadgodzin – zaznaczony parametr powoduje, że program będzie generował standardowe dopłaty do nadgodzin (50%, 100%).
    • Licz standardowe dopłaty do godzin nocnych – zaznaczony parametr powoduje, że będą naliczane dopłaty do godzin nocnych.
    • Licz dopłaty do nadgodzin po przekroczeniu doby pracowniczej – zaznaczony parametr umożliwia naliczenie dopłat do nadgodzin po przekroczeniu normy w dobie pracowniczej (24h od rozpoczęcia pracy zgodnie z obowiązującym go rozkładem czasu pracy) oraz rozliczenie czasu przypadającego pomiędzy dobami pracowniczymi (tzw. czarne dziury’).

    Dopłaty do nadgodzin mogą być naliczane przy poniższych ustawieniach:

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

    Rys 3. Definicja kalendarza – obszar dot. nadgodzin

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

    Uwaga

    Wynagrodzenie powyżej/poniżej normy (podstawowe wynagrodzenie) rozliczane jest zawsze w miesiącu wystąpienia nadgodzin.

    W obszarze Parametry dotyczące dopłat występuje podział na:

    Dopłaty do godzin nocnych – poniższe ustawienia dotyczące naliczania dopłat do godzin nocnych, odnoszą się tylko do pracowników, którzy są rozliczani według danego kalendarza.

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

    Rys 4. Definicja kalendarza – obszar dot. dopłat do godzin nocnych

    Wynagrodzenie za nadgodziny – poniższe ustawienia dotyczące naliczania wynagrodzenia i dopłat do nadgodzin i odnoszą się tylko do pracowników, którzy są rozliczani według danego kalendarza

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

    Dodatkowo w Konfiguracja/ Firma/ Płace/ Zaokrąglenia w części Zaokrąglenia dopłat do godzin nocnych i nadgodzin można ustawić sposób zaokrąglania dopłat. Domyślnie ustawienie to: Wartość końcowa z precyzją 0.01 (do 1 grosza). Można zmienić zaokrąglenie na: Kwota za 1h oraz ewentualnie precyzję.

    Rys 6. Zaokrąglenia dot. dopłat do godzin nocnych i nadgodzin

    5. Konfiguracja wszystkich kalendarzy

    Z poziomu Konfiguracja/ Firma/ Płace/ Konfiguracja kalendarzy ustawiamy wspólne elementy dla wszystkich zdefiniowanych w bazie kalendarzy.

    W obszarze Godziny nocne występują parametry:

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

    Dodatkowo w definicji danego kalendarza mamy możliwość ustawienia powyższych parametrów.

    W obszarze Nadgodziny 100% dostępne są ustawienia:

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

    Uwaga

    Powyższe parametry dostępne są tylko przy rozliczaniu nadgodzin „wg planu pracy”. Dla rozliczeń wg norm: dobowa i średniotygodniowej – nie podlegają zmianie.

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

    W obszarze Dopłaty do nadgodzin można określić:

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

    Dla każdego pracownika, na formularzu etatu, można ustalić indywidualny limit. Wówczas wartość limitu będzie pobierana z formularza pracownika a nie z konfiguracji.

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

    6. Plan pracy i czas przepracowany pracownika

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

    Plan pracy (harmonogram) pracownika dostępny jest z formularza pracownika lub listy pracowników (dla podświetlonego pracownika) po rozwinięciu menu przy ikonie

    Z poziomu planu pracy danego pracownika istnieje możliwość modyfikowania harmonogramu poprzez wprowadzenie tzw. „wyjątków”. W celu zmian wystarczy edytować dany dzień i ustawić odpowiedni typ dnia, godziny pracy (od do) oraz strefę czasu pracy (np. „Czas pracy podstawowy” – skrót PP).

    Uwaga

    W planie pracy pracownika powinien być ustalony wymiar czasu pracy zgodnie z art. 130 k.p., czyli nie należy planować pracy w nadgodzinach.

    Rys 9. Plan pracy pracownika z naniesionymi modyfikacjami („wyjątkami”)

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

    Uwaga

    Bez względu na sposób wprowadzania czasu przepracowanego, pracownik powinien mieć poprawnie zdefiniowany plan pracy (zgodnie z przepisami). Ma to istotne znaczenie przy wprowadzaniu nieobecności dla pracownika, ponieważ program pomniejsza czas pracy o daną nieobecność pobierając ilość godzin zaplanowaną w tym dniu w planie pracy.

    7. Nadgodziny

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

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

    W programie wynagrodzenie za godzinę nadliczbową składa się z 2 elementów:

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

    W programie: Konfiguracja firmy/ Płace/ Parametry – zakładka 3 – dostępny jest parametr Wynagrodzenie powyżej/poniżej liczone jako oddzielny element wypłaty – domyślnie jest zaznaczony, co oznacza, że  wynagrodzenie powyżej / poniżej normy liczone są jako odrębny element wypłaty (nie w środku wynagrodzenia zasadniczego).

    Dodatkowo można zadecydować, czy oddzielnie wypłacone wynagrodzenie zasadnicze powyżej/poniżej normy ma być wliczane do podstawy urlopu / ekwiwalentu– służą do tego parametry (domyślnie są zaznaczone):

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

    Rys 13. Konfiguracja / Płace / Parametry – fragment dotyczący wynagrodzenia powyżej /poniżej normy

    Uwaga

    Dla pracownika zatrudnionego na stawkę miesięczną bardzo istotne jest liczenie wynagrodzenia powyżej/poniżej normy jako odrębnego elementu wypłaty, ponieważ gdy „powyżej normy” jest częścią wynagrodzenia zasadniczego miesięcznego, to nie jest wliczany do podstawy urlopowej. Natomiast, gdy jest odrębnym elementem wypłaty, to może być wliczany do podstawy urlopowej, jako średnia z 3 miesięcy.

    Wynagrodzenie powyżej normy może być bilansowane wynagrodzeniem poniżej normy w ramach tej samej strefy czasu pracy – w tym celu należy zaznaczyć parametr Bilansowanie powyżej/poniżej normy (w obrębie strefy czasu pracy). 

    Bilansowanie wynagrodzenia zasadniczego powyżej/poniżej normy jest wykonywane w obrębie danej strefy czasu pracy i dotyczy pozycji generowanych jako odrębne elementy wypłaty, jak i również, gdy są częścią wynagrodzenia zasadniczego (w danej strefie).

    Bilansowanie powyżej i poniżej normy (bez względu na strefy czasu pracy) dotyczy innych elementów wypłat, które w konfiguracji mają zaznaczone automatyczne korygowanie z tytułu odchyłek od normy.

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

    Uwaga

    W przypadku, gdyby pracownik miał zaplanowany wymiar czasu pracy poniżej 8h, np. 6h (równoważny system czasu pracy), a przepracuje np. 12h, to nadgodziny dobowe występują powyżej normy 8h, czyli w tym przypadku od 8h do 12h, czyli 4h. Natomiast nadgodziny średniotygodniowe – od 6h do 8 h, czyli 2h.

    8. Rozliczanie nadgodzin wg norma zgodna z planem pracy

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

    Rys 14. Definicja kalendarza – ustawienie rozliczania nadgodzin jako „Norma zgodna z planem pracy”

    Dopłaty do nadgodzin (50%, 100%) naliczane wg „norma zgodna z planem pracy” zależą od parametrów znajdujących się w Konfiguracji firmy/ Płace/ Konfiguracja Kalendarzy – są to Nadgodziny 100% w:

    • 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

    Uwaga

    Dla dni wolnych od pracy norma dobowa odczytywana jest z formularza pracownika, zakładka Etat/Zatrudnienie – pole ‘Norma dobowa do urlopu dla pełnego wymiaru etatu’ (standardowo 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%.

    Rys 15. Konfiguracja kalendarzy – nadgodziny 100% wg planu pracy (wartości domyślne)

    8.2 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

    Przykład

    Pracownik zatrudniony na pełen etat w podstawowym systemie czasu pracy, czyli po 8h dziennie (1-miesięczny okres rozliczeniowy) – w kwietniu 2023 powinien pracować 152h (od poniedziałku do piątku po 8h), a przepracował 168h  (praca nie przypadała w porze nocnej). W jednym tygodniu pracował zgodnie z poniższą tabelką (pozostałe dni zgodnie z harmonogramem):

    Pon.Wt.Śr.Czw.Piąt.Sob.Niedz.Suma
    Plan pracy08:0008:0008:0008:0008:0000:0000:0040h
    Rzeczywisty czas pracy08:0012:0008:0008:0008:0010:0002:0056h
    Powyżej planu+4:00+10:00 +2:00+16h

    Porównując czas przepracowany z planem pracy (w systemie dobowym) wynika, że wystąpiły następujące nadgodziny:
    50% -> 6h = 4h (wtorek, praca ponad zaplanowany dobowy wymiar) + 2h (sobota, praca powyżej normy 8h – odczytana z pola „Norma dobowa dla urlopu” z formularza pracownika)
    100% -> 10h = 8h (sobota, praca do normy 8h) + 2h (niedziela, praca do normy 8h)

    Suma nadgodzin = 6h (50%) +10h (100%) = 16h
    Pracownik będzie miał wypłacane:
    – wynagrodzenie powyżej normy za 16h – godziny przepracowane ponad wymiar czasu pracy (168h)
    – dopłaty do nadgodzin 50% za 6h
    – dopłaty do nadgodzin 100% za 10h

    Podstawowy system czasu pracy – niepełny etat

    Przykład

    Pracownik zatrudniony na ½ etatu w podstawowym systemie czasu pracy, czyli po 4h dziennie (1-miesięczny okres rozliczeniowy) – w lutym 2023 powinien pracować 80h (od poniedziałku do piątku po 4h), a przepracował 101h (praca nie przypadała w porze nocnej). W jednym tygodniu pracował zgodnie z poniższą tabelką (pozostałe dni zgodnie z harmonogramem):

    Pon.Wt.Śr.Czw.Piąt.Sob.Niedz.Suma
    Plan pracy04:0004:0004:0004:0004:0000:0000:0020h
    Rzeczywisty czas pracy10:0004:0004:0004:0004:0009:0006:0041h
    Powyżej planu+6:00+9:00 +6:00+21h

    Porównując czas przepracowany z planem pracy (w systemie dobowym) wynika, że wystąpiły następujące nadgodziny:
    50% -> 7h = 6h (poniedziałek, praca ponad zaplanowany dobowy wymiar) + 1h (sobota, praca powyżej normy 8h)
    100% -> 14h = 8h (sobota, praca do normy 8h) + 6h (niedziela, praca do normy 8h)

    Suma nadgodzin = 7h (50%) +14h (100%) = 21h
    Pracownik będzie miał wypłacane:
    – wynagrodzenie powyżej normy za 21h – godziny przepracowane ponad wymiar czasu pracy (88h)
    – dopłaty do nadgodzin 50% za 7h
    – dopłaty do nadgodzin 100% za 14h

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

    Przykład

    Pracownik zatrudniony na ¾ etatu w podstawowym systemie czasu pracy, czyli po 6h dziennie (1-miesięczny okres rozliczeniowy) – w lutym 2023 powinien pracować 120h (od poniedziałku do piątku po 6h), a przepracował 123h (praca nie przypadała w porze nocnej). W jednym tygodniu pracował zgodnie z poniższą tabelką (pozostałe dni zgodnie z harmonogramem):

    Pon.Wt.Śr.Czw.Piąt.Sob.Niedz.Suma
    Plan pracy06:0006:0006:0006:0006:0000:0000:0030h
    Rzeczywisty czas pracy08:0003:0006:0006:0006:0004:0000:0033h
    Powyżej planu+2:00+4:00 +6h
    Poniżej planu-3:00-3h

    Porównując czas przepracowany z planem pracy wynika, że wystąpiły następujące nadgodziny:
    50% -> 2h = 2h (poniedziałek, praca ponad zaplanowany dobowy wymiar)
    100% -> 4h = 4h (sobota, praca do normy 8h)
    Suma nadgodzin = 2h (50%) +4h (100%) = 6h

    Bilansowanie nadgodzin (o niedogodziny 3h) dla poszczególnych opcji:
    1. Nie bilansuj (niedogodziny = 3h)
    Nadgodziny 50% = 2h
    Nadgodziny 100% = 4h
    2. 100%, 50% (niedogodziny = 3h)
    Nadgodziny 100% = 4h – 3h = 1h
    Nadgodziny 50% = 2h
    3. 50%, 100% (niedogodziny = 3h)
    Nadgodziny 50% = 2h – 2h = 0h
    Nadgodziny 100% = 4h – 1h = 3h
    Bez względu na ustawienia opcji bilansowania nadgodzin program naliczy:
    – wynagrodzenie powyżej normy za +6h
    – wynagrodzenie poniżej normy za -3h
    W sytuacji, gdy parametr “Bilansowanie powyżej/poniżej normy (w obrębie strefy czasu pracy)” w Konfiguracja > Firma > Płace > Parametry- zakładka 2 – będzie zaznaczony, to wyliczy się tylko: wynagrodzenie powyżej normy za +3h (6h – 3h).

    9. Rozliczanie nadgodzin wg normy dobowej i normy średniotygodniowej

    9.1 Parametry w konfiguracji

    W definicji kalendarza (w konfiguracji) możliwe jest określenie norm:

    • dobowej (standardowo 8h),
    • średniotygodniowej (standardowo 40h).

    Powyższe pola uaktywniają się po wyłączeniu parametru Norma zgodna z planem pracy.

    Rys 16. Definicja kalendarza – ustawienie rozliczania nadgodzin wg norm: dobowej i średniotygodniowej

    W rozliczaniu nadgodzin wg norm (dobowej i średniotygodniowej) istotne jest przekroczenie w obrębie dnia – normy dobowej (8h) w obrębie okresu rozliczeniowego – normy średniotygodniowej (40h).
    W algorytmie sprawdzania, czy doszło do przekroczenia normy średniotygodniowej, ważne jest wyliczenie normy do nadgodzin dla rozliczanego okresu wg poniższego wzoru:

    NORMA DO NADGODZIN = liczba pełnych tygodni * norma średniotygodniowa (standardowo 40h) + liczba dni pracy w niepełnych tygodniach (zakres od poniedziałku do piątku) * 1/5 z normy średniotygodniowej (standardowo 8h=40/5) – liczba dni świątecznych w innych dniach niż niedziela * 1/5 z normy średniotygodniowej (standardowo 8h=40/5)

    Dla wyliczenia tej normy istotny jest parametr w definicji kalendarza Z uwzględnieniem standardowych świąt, jeżeli jest:

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

    W Konfiguracji firmy/ Płace/ Konfiguracja Kalendarzy dostępne są parametry dotyczące wyliczenia nadgodzin 100%, standardowe ustawienia to:

      • 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

    Uwaga

    Dla dni wolnych od pracy /świątecznych norma dobowa odczytywana jest z definicji kalendarza (standardowo 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%.

    Rys 17. Konfiguracja kalendarzy – algorytmy rozliczania nadgodzin wg normy tygodniowej

    Wyliczenie nadgodzin wg normy dobowej i średniotygodniowej następuje w 2 krokach:

    I krok – wyliczenie nadgodzin dobowych
    II krok – wyliczenie nadgodzin średniotygodniowych (sprawdzamy, czy doszło do przekroczenia normy średniotygodniowej) – w tym celu należy porównać czas przepracowany pracownika powiększony o liczbę godzin usprawiedliwionych nieobecności, a pomniejszony o nadgodziny „dobowe” z obowiązującym wymiarem czasu pracy (normą do nadgodzin).
    Poniżej wzór sprawdzający, czy doszło do przekroczenia normy średniotygodniowej:

    X = CZAS PRZEPRACOWANY + CZAS USPRAWIEDLIWIONYCH NIEOBECNOŚCI – NADGODZINY DOBOWE – NORMA DO NADGODZIN
    i gdy:
    X większe od 0 – to oznacza, że wystąpiły nadgodziny średniotygodniowe,
    X mniejsze lub równe 0 – to oznacza, że nie wystąpiły nadgodziny średniotygodniowe.

    Ogólnie 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 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%

    Uwaga

    Praca powyżej 8h jest zaliczana do nadgodzin dobowych, natomiast praca do 8h jest uwzględniania przy liczeniu nadgodzin wynikających z przekroczenia normy średniotygodniowej.

    9.2 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

    Przykład

    Pracownik zatrudniony na pełen etat w podstawowym systemie czasu pracy, czyli o 8h dziennie (1-miesięczny okres rozliczeniowy) – w czerwcu 2023 powinien przepracować 168h, a przepracował 184h (praca nie przypadała w porze nocnej). W jednym tygodniu pracował zgodnie z poniższą tabelką (pozostałe dni zgodnie z harmonogramem):

    Pon.Wt.Śr.Czw.Piąt.Sob.Niedz.Suma
    Plan pracy08:0008:0008:0008:0008:0000:0000:0040h
    Rzeczywisty czas pracyurlop13:0008:0008:0008:0010:0009:0056h
    Powyżej planu+5:00+10:00 +9:00+24h

    W definicji kalendarza: Norma dobowa = 8h, norma tygodniowa = 40h z zaznaczonym parametrem Z uwzględnieniem standardowych świąt.

    Liczymy nadgodziny dobowe, do których zaliczamy pracę ponad normę dobową (8h):
    Nadgodziny dobowe:
    – 50% -> 7h = 5h (wtorek, praca ponad normę 8h) + 2h (sobota, praca ponad normę 8h)
    100% -> 1h (niedziela, praca ponad normę 8h)
    Suma nadgodzin dobowych = 7h (50%) + 1h (100%) = 8h

    Liczymy nadgodziny po przekroczeniu normy średniotygodniowej
    Norma: 4 pełne tygodnie * 40h + 2 dni brzegowe (29, 30) * 8h – 1 dzień świąt * 8h = 160h + 16h – 8h = 168h

    Czas przepracowany (184h) + czas usprawiedliwionych nieobecności (8h urlopu) – nadgodziny dobowe (8h) – norma (168h) = 184 + 8 – 8 – 168 = 16 > 0, czyli doszło do przekroczenia normy średniotygodniowej.

    Podsumowanie nadgodzin:
    – Dobowe 50% = 7h
    – Dobowe 100% = 1h
    – Średniotygodniowe 100% = 16h

    Gdy parametr Podział dopłat na nadgodziny dobowe i średniotygodniowe będzie:

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

    Przykład

    Pracownik zatrudniony na pełen etat w równoważnym systemie czasu pracy, czyli pracuje głównie po 12h w dni: poniedziałki, środy, piątki, jednak czasem wyznaczane są inne dni – z różną ilością godzin (1-miesięczny okres rozliczeniowy) – w lutym 2023 wymiar czasu pracy powinien wynieść 160h.
    W tym miesiącu przypadają: 4 poniedziałki, 4 środy, 4 piątki, czli 12 dni * 12h =144h, czyli w celu uzupełnienia planu do 160h wyznaczono dodatkowo 2 soboty po 8h.
    W jednym tygodniu pracował zgodnie z poniższą tabelką (pozostałe dni zgodnie z harmonogramem). Sumarczynie przepracował 172h.

    Pon.Wt.Śr.Czw.Piąt.Sob.Niedz.Suma
    Plan pracy12:0000:00
    12:0000:00
    12:00
    00:00
    00:00
    36h
    Rzeczywisty czas pracy12:00
    00:00
    14:00

    10:0012:00
    00:00
    00:00
    48h
    Powyżej planu+2:00+10:00+12h

    W definicji kalendarza: Norma dobowa = 8h, norma tygodniowa = 40h z zaznaczonymi parametrami:

    • Z uwzględnieniem przedłużonych dobowych wymiarów z planu pracy (równoważny czas pracy)
    • Z uwzględnieniem standardowych świąt

    Liczymy nadgodziny dobowe, do których zaliczamy pracę ponad normę dobową (8h) lub ponad przedłużony dobowy wymiar czasu pracy (np. 12h)

    Nadgodziny dobowe:

    50% -> 4h = 2h (środa, praca ponad przedłużony wymiar czasu pracy, czyli 12h) + 2h (czwartek, praca ponad normę 8h)
    100% -> 0h
    Suma nadgodzin dobowych = 4h (50%)

    Liczymy nadgodziny po przekroczeniu normy średniotygodniowej
    Norma: 4 pełne tygodnie * 40h + 0 dni brzegowe * 8h – 0 dni świątecznych * 8h = 160h +0h – 0h = 160h

    Czas przepracowany (172h) + czas usprawiedliwionych nieobecności (0h urlopu) – nadgodziny dobowe (4h) – norma (160h) = 172 + 0 – 4 – 160 = 8 > 0, czyli doszło do przekroczenia normy średniotygodniowej (8h – dopłata do nadgodzin 100%).

    Podsumowanie nadgodzin:
    – Dobowe 50% = 4h
    – Dobowe 100% = 0h
    – Średniotygodniowe 100% = 8h

    Gdy parametr Podział dopłat na nadgodziny dobowe i średniotygodniowe będzie:

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

    Przykład

    Pracownik zatrudniony na ½ etatu w podstawowym systemie czasu pracy, czyli po 4h dziennie (1-miesięczny okres rozliczeniowy) – w sierpniu 2023 powinien przepracować 88h (1/2*176h), a przepracował 101h (praca nie przypadała w porze nocnej). W jednym tygodniu pracował zgodnie z poniższą tabelką (pozostałe dni zgodnie z harmonogramem):

    Pon.Wt.Śr.Czw.Piąt.Sob.Niedz.Suma
    Plan pracy04:00
    04:00
    04:00
    04:00
    04:00
    00:0000:0020h
    Rzeczywisty czas pracy09:00

    06:00


    04:00
    urlop04:00
    10:0000:0033h
    Powyżej planu+5:00+2:00+10:00 +17h

    W definicji kalendarza: Norma dobowa = 6h, norma tygodniowa = 30h z zaznaczonymi parametrami:

    • Z uwzględnieniem przedłużonych dobowych wymiarów z planu pracy (równoważny czas pracy).
    • Z uwzględnieniem standardowych świąt.

    Liczymy nadgodziny dobowe, do których zaliczamy pracę ponad normę dobową (6h).
    Nadgodziny dobowe:
    50% -> 7h = 3h (poniedziałek, praca ponad normę 6h) + 4h (sobota, praca ponad normę 6h)
    100% -> 0h
    Suma nadgodzin dobowych = 7h (50%)

    Liczymy nadgodziny po przekroczeniu normy średniotygodniowej

    Norma: 4 pełne tygodnie * 30h + 3 dni brzegowe (29, 30,31) * 6h (1/5 z normy średniotygodniowej 30h) – 1 święto (15.08) * 6h = 120h + 18h – 6h = 132h

    Czas przepracowany (101h) + czas usprawiedliwionych nieobecności (4h urlopu) – nadgodziny dobowe (7h) – norma 132h = 101 + 4 – 7 – 132 = -34<0, czyli nie doszło do przekroczenia normy średniotygodniowej.

    Podsumowanie nadgodzin:

    – Dobowe 50% = 7h
    – Dobowe 100% = 0h
    – Średniotygodniowe 100% = 0h

    Gdy parametr Podział dopłat na nadgodziny dobowe i średniotygodniowe będzie:

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

    Dla okresu rozliczeniowych dłuższych niż 1 miesiąc istotny jest parametr Podział dopłat na nadgodziny dobowe i średniotygodniowe, ponieważ gdy parametr jest:

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

    Uwaga

    Wynagrodzenie powyżej/poniżej normy (podstawowe wynagrodzenie) rozliczane jest zawsze w miesiącu wystąpienia nadgodzin/niedogodzin.

    Poniżej prezentowane są przykłady wyliczenia nadgodzin dla okresu 3 miesięcznego przy ustawieniu norm: dobowej (8h) i średniotygodniowej (40h) z zaznaczonymi parametrami:

    • Z uwzględnieniem standardowych świąt,
    • Podział dopłat na nadgodziny dobowe i średniotygodniowe.

    W Konfiguracji kalendarzy – standardowe ustawienia, czyli:

    • Dni wolne (powyżej normy dobowej) – niezaznaczone
    • Dni pracy po przekroczeniu dobowego limitu nadgodzin 50% – niezaznaczone

    Przykład

    Pracownik zatrudniony na pełen etat w podstawowym systemie czasu pracy, czyli pracuje po 8h dziennie (3 miesięczny okres rozliczeniowy). W okresie styczeń – marzec  2023 wymiar czasu pracy 512h (168h+160h+184h), a przepracował 526h (174h+171h+181h), praca nie przypadała w porze nocnej.

    W definicji kalendarza: Norma dobowa = 8h, norma tygodniowa = 40h

    Rozliczenie Co: 3 miesiące
    Parametry:

    • Z uwzględnieniem standardowych świąt – zaznaczony
    • Podział dopłat na nadgodziny dobowe i średniotygodniowe – zaznaczony


    W styczniu 2023 (1 miesiąc rozliczeniowy) – wymiar 168h, w jednym tygodniu pracował zgodnie z poniższą tabelką (pozostałe dni zgodnie z harmonogramem):

    Pon.Wt.Śr.Czw.Piąt.Sob.Niedz.Suma
    Plan pracy08:00
    08:00
    08:00
    08:00
    08:00
    00:0000:0040h
    Rzeczywisty czas pracyurlop10:0008:00
    08:00
    08:00
    12:0000:0046h
    Powyżej planu+2:00+12:00 +14h

    W styczniu 2023 – wymiar czasu pracy 168h, przepracował 174h – sprawdzamy tylko nadgodziny dobowe, do których zaliczamy pracę ponad normę dobową (8h).
    Nadgodziny dobowe:
    50% -> 6h = 2h (wtorek, praca ponad normę 8h) + 4h (sobota, praca ponad normę 8h)
    100% -> 0h
    Suma nadgodzin dobowych = 6h (50%)

    W wypłacie pracownika zostanie naliczone:
    – Wynagrodzenie powyżej normy za 14h
    – Dopłata do nadgodzin dobowych 50% za 6h

    *****************
    W lutym 2023 (2 miesiąc rozliczeniowy) – wymiar 160h, w jednym tygodniu pracował zgodnie z poniższą tabelką (pozostałe dni zgodnie z harmonogramem):

    Pon.Wt.Śr.Czw.Piąt.Sob.Niedz.Suma
    Plan pracy08:00
    08:00
    08:00
    08:00
    08:00
    00:00
    00:00
    40h
    Rzeczywisty czas pracy08:00
    08:00
    08:00
    08:0010:0000:00
    09:0051h
    Powyżej planu+2:00+9:00+11h

    W lutym 2023 – wymiar czasu pracy 160h, przepracował 184h – sprawdzamy tylko nadgodziny dobowe, do których zaliczamy pracę ponad normę dobową (8h).
    Nadgodziny dobowe:
    50% -> 2h (piątek, praca ponad normę 8h)
    100% -> 1h (niedziela, praca ponad normę 8h)
    Suma nadgodzin dobowych = 2h (50%) + 1h (100%) = 3h

    W wypłacie pracownika zostanie naliczone:
    – Wynagrodzenie powyżej normy za 11h
    – Dopłata do nadgodzin dobowych 50% za 2h
    – Dopłata do nadgodzin dobowych 100% za 1h

    *****************
    W marcu 2023 (3 miesiąc rozliczeniowy, ostatni) – wymiar 184h, w jednym tygodniu pracował zgodnie z poniższą tabelką (pozostałe dni zgodnie z harmonogramem):

    Pon.Wt.Śr.Czw.Piąt.Sob.Niedz.Suma
    Plan pracy08:00
    08:00
    08:00
    08:00
    08:00
    00:00

    00:00

    40h
    Rzeczywisty czas pracyurlopurlop08:00
    12:00

    08:00
    09:00

    00:00

    37h
    Powyżej planu+4:00+9:00+13h

    W marcu 2023 (ostatni miesiąc rozliczeniowy) – wymiar czasu pracy 184h, przepracował 181h – sprawdzamy nadgodziny dobowe oraz średniotygodniowe.

    Nadgodziny dobowe:

    50% -> 5h = 4h (czwartek, praca ponad normę 8h) + 1h (sobota, praca ponad normę 8h)
    100% -> 0h
    Suma nadgodzin dobowych = 5h (50%)

    Nadgodziny średniotygodniowe:
    Pomocnicze wyliczenia:

    Norma do nadgodzin = 12 pełnych tygodni * 40h + 5 dni brzegowych (27-31.03.2023) * 8h – 1 dzień świąteczny (6.01) * 8h = 480h + 40h – 8h = 512h

    Czas przepracowany = 526h (174h styczeń + 171h luty +181h marzec)

    Czas usprawiedliwionych nieobecności (urlop) = 24h (8h styczeń +16h marzec)
    Nadgodziny dobowe = 14h (6h styczeń + 3h luty + 5h marzec)

    Czas przepracowany (526h) + czas usprawiedliwionych nieobecności (24h urlopu) – nadgodziny dobowe (14h) – norma (512h) = 526 + 24 – 14 – 512= 24 > 0, czyli doszło do przekroczenia normy średniotygodniowej.

    W wypłacie pracownika zostanie naliczone:
    Wynagrodzenie powyżej normy za 13h
    – Dopłata do nadgodzin dobowych 50% za 5h
    – Dopłata do nadgodzin średniotygodn. 100% za 24h

    Gdyby parametr Podział dopłat na nadgodziny dobowe i średniotygodniowe byłby niezaznaczony, to w wypłatach za okres: styczeń i luty 2023 policzy się tylko wynagrodzenie powyżej normy, a za okres marzec 2023 – wynagrodzenie powyżej normy oraz dopłaty:
    – Dopłata do nadgodzin 50% za 13h (6h dobowe w styczniu + 2h dobowe w lutym +5h dobowe w marcu)
    – Dopłata do nadgodzin 100% za 25h (1h dobowe w lutym + 24h średniotyg.)

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


    2. Gdy Podział dopłat na nadgodziny dobowe i średniotygodniowe jest zaznaczony – to dostępne są opcje:

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

    Przykład

    Pracownik zatrudniony na pełen etat w podstawowym systemie czasu pracy (1-miesięczny okres rozliczeniowy) – w lutym 2023 powinien zgodnie z harmonogramem przepracować 160h, przepracował 153h. W jednym tygodniu pracował zgodnie z poniższą tabelką (pozostałe dni zgodnie
    z harmonogramem):

    Pon.Wt.Śr.Czw.Piąt.Sob.Niedz.Suma
    Plan pracy08:00
    08:00
    08:00
    08:00
    08:00
    00:00
    00:00
    40h
    Rzeczywisty czas pracyurlop10:00
    08:00
    06:00
    06:00
    03:00
    00:0033h
    Powyżej planu+2:00+3:00 +5h
    Poniżej planu-2:00-2:00-4h

    W definicji kalendarza: Norma dobowa = 8h, norma tygodniowa = 40h

    Rozliczenie Co: 1 miesiąc
    Parametry:

    • Z uwzględnieniem standardowych świąt – zaznaczony
    • Podział dopłat na nadgodziny dobowe i średniotygodniowe – zaznaczony

    1. Wyliczenie nadgodzin z bilansowaniem: Tylko średniotygodniowe – przy tym ustawieniu nadgodziny dobowe nie są pomniejszane, tylko nadgodziny średniotygodniowe są pomniejszane o niedogodziny i nieobecności nieusprawiedliwione (NN).

    Liczymy nadgodziny dobowe:
    50% -> 2h (wtorek, praca ponad normę 8h)
    100% -> 0h
    Suma nadgodzin dobowych = 2h (50%) – nie są bilansowane

    Liczymy nadgodziny średniotygodniowe:
    Czas przepracowany = 153h
    Czas usprawiedliwionych nieobecności = 8h
    Nadgodziny dobowe = 2h (50%)
    Norma do nadgodzin: 4 pełne tygodnie * 40h + 0 dni brzegowe * 8h – 0 dni świątecznych * 8h = 160h + 0h – 0h = 160h

    Czas przepracowany (153h) + czas usprawiedliwionych nieobecności (8h urlopu) – nadgodziny dobowe (2h) – norma (160h) = 153 + 8 – 2 – 160 = -1 <0, czyli nie doszło do przekroczenia normy średniotygodniowej.

    W wypłacie pracownika zostanie naliczone:
    – zasad. powyżej normy za +1h (5h-4h niedogodzin)

    W sytuacji, gdy parametr “Bilansowanie powyżej/poniżej normy (w obrębie strefy czasu pracy)” – w Konfiguracja > Firma > Płace > Parametry-zakładka 2 – będzie zaznaczony, to wyliczy się tylko:

    -Wynagr. zasad. powyżej normy = +5h

    -Wynagr. zasad. poniżej normy = -4h

    – Dopłata do nadgodzin dobowych 50% 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.

    Liczymy nadgodziny dobowe:
    50% -> 2h (wtorek, praca ponad normę 8h)
    100% -> 0h
    Suma nadgodzin dobowych = 2h (50%)

    Liczymy nadgodziny średniotygodniowe bez uwzględnienia niedogodzin i NN, a następnie wyliczona ilość nadgodzin będzie pomniejszena o czas niegodzin.

    Czas przepracowany = 153h
    Czas niedogodzin = 4h
    Czas usprawiedliwionych nieobecności = 8h
    Nadgodziny dobowe 50% = 2h
    Norma do nadgodzin: 4 pełne tygodnie * 40h + 0 dni brzegowe * 8h – 0 dni świątecznych * 8h = 160h + 0h – 0h = 160h

    Czas przepracowany (153h) + czas niedgodzin (4h) + czas usprawiedliwionych nieobecności (8h) – nadgodziny dobowe (2h) – norma do nadgodzin (160h) = 153 + 4 + 8 – 2 – 160 = 3 >0, czyli doszło do przekroczenia normy średniotygodniowej o 3h.

    Następnie następuje bilansowanie o niedogodziny (4h) w kolejności:
    Nadgodziny średniotygodniowe = 3h – 3h niedogodziny = 0h
    Nadgodziny dobowe 50% = 2h – 1h niedogodzina = 1h

    W wypłacie zostaną naliczone elementy:
    – Wynagr. zasad. powyżej normy +1h (5h-4h)

    W sytuacji, gdy parametr “Bilansowanie powyżej/poniżej normy (w obrębie strefy czasu pracy)” – w Konfiguracja > Firma > Płace > Parametry – zakładka 2 –  będzie niezaznaczony, to wyliczy się:

    -Wynagr. zasad. powyżej normy = +5h

    – Wynagr. zasad. poniżej normy = -4h
    – Dopłata do nadgodzin dobowych 50% za 1h

    3. Wyliczenie nadgodzin z bilansowaniem: Średniotygodniowe, dobowe 50%, 100% – bilansowanie jak powyżej, tylko nadgodziny dobowe pomniejszane w kolejności 50%, a następnie 100%.

    W tym przypadku wyliczenia będą takie same jak dla opcji bilansowania Średniotygodniowe, dobowe 100%, 50%, ponieważ nie wystąpiły nadgodziny dobowe 100%.

    Przykład bilansowania przy podziale na nadgodziny dobowe i średniotygodniowe (okres 3 miesięczny)

    Przykład

    Pracownik zatrudniony na pełen etat w podstawowym systemie czasu pracy, czyli pracuje po 8h dziennie (3 miesięczny okres rozliczeniowy). W okresie styczeń – marzec  2023 wymiar czasu pracy 512 h (168h+160h+184h), a przepracował 513h (163h+161h+189h), praca nie przypadała w porze nocnej.

    W definicji kalendarza: Norma dobowa = 8h, norma tygodniowa = 40h
    Rozliczenie Co: 3 miesiące
    Parametry:

    • Z uwzględnieniem standardowych świąt – zaznaczony
    • Podział dopłat na nadgodziny dobowe i średniotygodniowe – zaznaczony

    W styczniu 2023 (1 miesiąc rozliczeniowy) – wymiar 168h. W jednym tygodniu pracownik pracował zgodnie z poniższą tabelką (pozostałe dni zgodnie z harmonogramem), przepracował 163h.

    Pon.Wt.Śr.Czw.Piąt.Sob.Niedz.Suma
    Plan pracy08:00
    08:00
    08:00
    08:00
    08:00
    00:00
    08:00
    40h
    Rzeczywisty czas pracyurlop09: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

    W lutym 2023 (2 miesiąc rozliczeniowy) – wymiar 160h. W jednym tygodniu pracownik pracował zgodnie z poniższą tabelką (pozostałe dni zgodnie z harmonogramem), przepracował 161h.

    Pon.Wt.Śr.Czw.Piąt.Sob.Niedz.Suma
    Plan pracy08:00
    08:00
    08:00
    08:00
    08:00
    00:00
    00:00
    40h
    Rzeczywisty czas pracy08: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

    W marcu 2023 (3 miesiąc rozliczeniowy, ostatni) – wymiar 184h. W jednym tygodniu pracownik pracował zgodnie z poniższą tabelką (pozostałe dni zgodnie z harmonogramem), przepracował 189h.

    Pon.Wt.Śr.Czw.Piąt.Sob.Niedz.Suma
    Plan pracy08:00
    08:00
    08:00
    08:00
    08:00
    00:0000:0040h
    Rzeczywisty czas pracy08:00
    08:00
    08:00
    10:00
    07:00
    00:0004:00
    45h
    Powyżej planu+2:00+4:00+6h
    Poniżej planu-1:00-1h

    1. Wyliczenie nadgodzin z bilansowaniem: Tylko średniotygodniowe – przy tym ustawieniu nadgodziny dobowe nie są pomniejszane, tylko nadgodziny średniotygodniowe są pomniejszane o niedogodziny i nieobecności nieusprawiedliwione (NN).

    Styczeń 2023 (pierwszym miesiąc rozliczeniowy) – liczymy tylko nadgodziny dobowe, które nie pomniejszamy.

    Liczymy nadgodziny dobowe:
    – 50% -> 1h (wtorek, praca ponad normę 8h)
    – 100% -> 0h
    Suma nadgodzin dobowych = 1h (50%)

    W wypłacie zostaną naliczone elementy:

    – Wynagr. zasad. powyżej normy za 3h (5h-2h niedogodzin)

    – Dopłata do nadgodzin dobowych 50% za 1h

    Luty 2023 (drugi miesiąc rozliczeniowy) – liczymy tylko nadgodziny dobowe, które nie pomniejszamy.

    Liczymy nadgodziny dobowe
    – 50% -> 4h (czwartek, praca ponad normę 8h)
    – 100% -> 0h
    Suma nadgodzin dobowych = 4h (50%)

    W wypłacie zostaną naliczone elementy:

    – Wynagr. zasad. powyżej normy za 1h (4h-3h niedogodzin)

    – Dopłata do nadgodzin dobowych 50% za 4h

     

    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

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

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

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

    ZnacznikRodzaj strefy czasu pracy – wliczanie do czasu przepracowanego oraz wynagradzanieWliczać do czasu pracy służącego do wyliczania nadgodzin
    O.BMniewliczana do czasu pracy, np. Czas przerwy bez wynagrodzeniaNie
    O.NMwliczana do czasu pracy, np. Czas pracy podstawowy wynagradzana 100%Nie
    W.PŁwliczana do czasu pracy, np. Czas pracy podstawowy wynagradzana 100%Tak
    W.NPniewliczana do czasu pracy, np. Czas przerwy bez wynagrodzeniaTak
    Rys 20. Konfiguracja znaczników (nadgodzin do odbioru i czasu wolnego za nadgodziny) i stref czasu pracy

    Uwaga

    Sposób wyliczenia czasu przepracowanego jest różny od wyliczeń czasu wykorzystywanego przy obliczaniu ilości nadgodzin. Do czasu przepracowanego wliczany jest czas oznaczony O.NM i W.PŁ. Natomiast do czasu uwzględnianego do obliczeń nadgodzin wliczany jest czas oznaczony W.PŁ i W.NP.

    10.4 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 pracyMiesiąc wystąpienia nadgodzin
    (np. 1.2021)
    Miesiąc odbioru nadgodzin (np.1.2021)
    - czas wolny za nadgodziny na wniosek:
    pracownikapracodawcy
    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: 1hIlość 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

    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 pracyMiesiąc wystąpienia nadgodzin
    (np. 1.2021)
    Miesiąc odbioru nadgodzin (np.2.2021)
    - czas wolny za nadgodziny na wniosek:
    pracownikapracodawcy
    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

    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.

    10.5 Przykłady udzielania czasu wolnego za nadgodziny w dni pracy

    Odbiór czasu wolnego w tym samym miesiącu – na wniosek pracownika

    Przykład

    W sierpniu 2023 r. (wymiar czasu pracy 176h) pracownik zatrudniony na stawkę miesięczną w wys. 6000 zł przepracował dodatkowo
    1 godzinę w dzień pracy i odebrał ją w tym samym miesiącu na swój wniosek. Przepracowaną nadgodzinę oznaczamy strefą ‘Czas przerwy’ (niewliczaną do czasu pracy i niepłatną) oraz znacznikiem ‘O.BM’, a wolną godzinę strefą ‘Czas pracy podstawowy’ (wliczaną do czasu pracy i płatną) oraz znacznikiem ‘W.PŁ’.

    Krok I – Odnotowanie na kalendarzu

    DzieńWejścieGodzina przyjściaGodzina wyjściaPrzykładowa strefaZnacznik
    07.08 poniedziałekW107:0015:00czas pracy podstawowy-
    W215:0016:00czas przerwy
    (niewliczana do czasu pracy, niepłatna)
    O.BM
    08.08 wtorekW107:0014:00czas pracy podstawowy-
    W214:0015:00czas pracy podstawowy
    (wliczana do czasu pracy, płatna)
    W.PŁ

    Krok II – Wyliczenie czasu pracy i wynagrodzenia
    Do czasu pracy wliczamy 175h (‘czas pracy podstawowy’) + 1h (‘czas pracy podstawowy’ ze znacznikiem W.PŁ) = 176h.
    Nie wliczamy tu 1h (‘czas przerwy’ ze znacznikiem O.BM) – wykorzystaną do wprowadzenia nadgodziny do odbioru w bieżącym miesiącu.
    Wynagrodzenie zostanie wypłacone za pełen wymiar czasu pracy (176h), za tyle godzin, ile przepracował 176h (176h +1 nadgodzina – 1h wolnego), czyli:
    Wynagrodzenie zasadnicze /miesiąc (praca.pdst) = 6000,00

    Uwaga

    Istnieje możliwość tworzenia własnych stref (na wzór standardowych), jednak nie jest to konieczne i dodatkowo wiąże się z rozbiciem kwoty wynagrodzenia zasadniczego na użyte płatne strefy czasu.

    Przykładowe własne strefy:
    nadgodz.odbierane BM – zdefiniowana na wzór standardowej strefy ‘Czas przerwy’ (niewliczana do czasu pracy i niepłatna),

    wolne za nadgodz.PŁ– zdefiniowana na wzór standardowej strefy ‘Czas pracy podstawowy’ (wliczana do czasu pracy
    i płatna) oraz znacznikiem ‘W.PŁ’ – dla tej strefy wyliczy się wynagrodzenie zasadnicze proporcjonalnie do ilości czasu w tej strefie.

    Przy zastosowaniu własnych stref, a w szczególności własnej strefy płatnej (np. wolne za nadgodz.PŁ) w powyższym przykładzie, gdy parametr „Wynagrodzenie powyżej/poniżej normy liczone jako oddzielny element wypłaty” (w Konfiguracja/ Firma/ Płace/ Parametry – zakładka 3) bedzie:

    a) zaznaczony – to wyliczy się:

    –              Wynagr. zasad. /miesiąc (praca.pdst) = 6000,00

    –              Wynagr. zasad./miesiąc (wolne za nadgodz.PŁ)= 0

    –              Wynagr. zasad. poniżej normy (praca.pdst) = -34,09

    –              Wynagr. zasad. powyżej normy (wolne za nadgodz.) = 34,09

    b) niezaznaczony – to wyliczy się:

    –              Wynagr. zasad. /miesiąc (praca.pdst) = 5965,91

    –              Wynagr. zasad./miesiąc (wolne za nadgodz.PŁ)=34,09


    Odbiór czasu wolnego w tym samym miesiącu – na wniosek pracodawcy

    Przykład

    W sierpniu 2023 r. (wymiar czasu pracy 176h) pracownik zatrudniony na stawkę miesięczną w wys. 6000 zł przepracował dodatkowo
    1 godzinę w dzień pracy i odbiera ją w tym samym miesiącu na wniosek pracodawcy.
    Przepracowaną nadgodzinę oznaczamy strefą ‘Czas przerwy’ (niewliczaną do czasu pracy i niepłatną) oraz znacznikiem ‘O.BM’, a wolne półtorej godziny strefą ‘Czas pracy podstawowy’ (wliczaną do czasu pracy i płatną) oraz znacznikiem ‘W.PŁ’.

    Krok I – Odnotowanie na kalendarzu

    DzieńWejścieGodzina przyjściaGodzina wyjściaPrzykładowa strefaZnacznik
    07.08 poniedziałekW107:0015:00czas pracy podstawowy-
    W215:0016:00czas przerwy
    (niewliczana do czasu pracy, niepłatna)
    O.BM
    08.08 wtorekW107:0013:30czas pracy podstawowy-
    W213:3015:00czas pracy podstawowy
    (wliczana do czasu pracy, płatna)
    W.PŁ


    Krok II – Wyliczenie czasu pracy i wynagrodzenia

    Do czasu pracy wliczamy 174,5h (‘czas pracy podstawowy’) + 1,5h (‘czas pracy podstawowy’ ze znacznikiem W.PŁ) = 176h.
    Nie wliczamy tu 1h (‘czas przerwy’ ze znacznikiem O.BM) – wykorzystaną do wprowadzenia nadgodziny do odbioru w bieżącym miesiącu.
    Wynagrodzenie zostanie wypłacone za pełen wymiar czasu pracy (176h), choć pracownik przepracował 175,5h (176h +1 nadgodzina – 1,5h wolnego), czyli:
    Wynagrodzenie zasadnicze /miesiąc (praca.pdst) = 6000,00

    Odbiór czasu wolnego w kolejnym miesiącu – na wniosek pracownika

    Przykład

    W sierpniu 2023 r. (wymiar czasu pracy 176h) pracownik zatrudniony na stawkę miesięczną w wys. 6000zł przepracował dodatkowo
    1 godzinę w dzień pracy i odbiera ją w kolejnym miesiącu – wrześniu 2023 r. (wymiar czasu pracy 168h), na swój wniosek.
    W 8.2023 przepracowaną nadgodzinę oznaczamy strefą ‘Czas pracy podstawowy’ (wliczaną do czasu pracy i płatną) oraz znacznikiem ‘O.NM’,
    a w 9.2023 wolną godzinę strefą ‘Czas przerwy’ (niewliczaną do czasu pracy i niepłatną) oraz znacznikiem ‘W.NP’.

    Krok I – Odnotowanie na kalendarzu

    DzieńWejścieGodzina przyjściaGodzina wyjściaPrzykładowa strefaZnacznik
    07.08 poniedziałekW107:0015:00czas pracy podstawowy-
    W215:0016:00czas pracy podstawowy
    (wliczana do czasu pracy, płatna)

    O.NM
    12.09 wtorekW107:0014:00czas pracy podstawowy-
    W214:0015:00czas przerwy
    (niewliczana do czasu pracy, niepłatna)

    W.NP

    Krok II – Wyliczenie czasu pracy i wynagrodzenia

    W 8.2023 do czasu pracy wliczamy 176h (‘czas pracy podstawowy’) + 1h (‘czas pracy podstawowy’ ze znacznikiem O.NM) = 177h.

    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

    Przykład

    W sierpniu 2023 r. (wymiar czasu pracy 176h) pracownik zatrudniony na stawkę miesięczną w wys. 6000 zł przepracował dodatkowo 1 godzinę w dzień pracy i odbiera ją w kolejnym miesiącu – wrześniu 2023 r. (wymiar czasu pracy 168h), na wniosek pracodawcy.
    W 8.2023 przepracowaną nadgodzinę oznaczamy strefą ‘Czas pracy podstawowy’ (wliczaną do czasu pracy i płatną) oraz znacznikiem ‘O.NM’,
    a w 9.2023 wolne półtorej godziny strefą ‘Czas pracy podstawowy’ (wliczaną do czasu pracy i płatną) oraz znacznikiem ‘W.PŁ’.

    Krok I – Odnotowanie na kalendarzu

    DzieńWejścieGodzina przyjściaGodzina wyjściaPrzykładowa strefaZnacznik
    09.08 poniedziałekW107:0015:00czas pracy podstawowy-
    W215:0016:00czas pracy podstawowy
    (wliczana do czasu pracy, płatna)

    O.NM
    07.09 wtorekW107:0013:30czas pracy podstawowy-
    W213:3015:00czas pracy podstawowy
    (wliczana do czasu pracy, płatna)


    W.PŁ

    Krok II – Wyliczenie czasu pracy i wynagrodzenia

    W 8.2023 do czasu pracy wliczamy 176h (‘czas pracy podstawowy’) + 1h (‘czas pracy podstawowy’ ze znacznikiem O.NM) = 177h.
    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 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,00

    10.6 Przykłady udzielania czasu wolnego za nadgodziny w dni wolne do normy dobowej

    Odbiór czasu wolnego w tym samym miesiącu

    Przykład

    W sierpniu 2023 r. (wymiar czasu pracy 176h) pracownik zatrudniony na stawkę miesięczną w wys. 6000zł przepracował dodatkowo
    6 godzin w sobotę i w tym samym miesiącu odbiera za to dzień wolny (8h).
    Przepracowane nadgodziny oznaczamy strefą ‘czas przerwy’ (niewliczaną do czasu pracy, niepłatną) oraz znacznikiem ‘O.BM’, a wolny dzień strefą ‘czas pracy podstawowy’ (wliczaną do czasu pracy, płatną) oraz znacznikiem ‘W.PŁ’.

    Krok I – Odnotowanie na kalendarzu

    DzieńWejścieGodzina przyjściaGodzina wyjściaPrzykładowa strefaZnacznik
    12.08 sobotaW107:0013:00czas przerwy
    (niewliczana do czasu pracy, niepłatna)
    O.BM
    14.08 poniedziałekW107:0015:00czas pracy podstawowy
    (wliczana do czasu pracy, płatna)
    W.PŁ

    Krok II – Wyliczenie czasu pracy i wynagrodzenia

    Do czasu pracy wliczamy 168h (‘czas pracy podstawowy’) + 8h (‘czas pracy podstawowy’ ze znacznikiem W.PŁ) = 176h. Nie wliczamy tu 6h (‘czas przerwy’ ze znacznikiem O.BM).

    Wynagrodzenie zostanie wypłacone za pełen wymiar czasu pracy (176h), choć pracownik przepracował tylko 166h (168h +6 nadgodzin – 8h wolnego), czyli:

    Wynagrodzenie zasadnicze /miesiąc (praca.pdst) = 6000,00

    Odbiór czasu wolnego w kolejnym miesiącu

    Przykład

    W sierpniu 2023 r. (wymiar czasu pracy 176h) pracownik zatrudniony na stawkę miesięczną w wys. 6000zł przepracował dodatkowo
    6 godzin w sobotę i w kolejnym miesiącu – wrześniu 2023 r. (wymiar czasu pracy 168h) odbiera za to dzień wolny (8h).

    W 8.2023 przepracowane nadgodziny oznaczamy strefą ‘Czas pracy podstawowy’ (wliczaną do czasu pracy i płatną) oraz znacznikiem ‘O.NM’,
    a w 9.2023 wolny dzień strefą ‘Czas przerwy’ (niewliczaną do czasu pracy i niepłatną) oraz znacznikiem ‘W.NP’.

    Krok I – Odnotowanie na kalendarzu

    DzieńWejścieGodzina przyjściaGodzina wyjściaPrzykładowa strefaZnacznik
    12.08 sobotaW107:0013:00czas pracy podstawowy
    (wliczana do czasu pracy, płatna)

    O.NM
    04.09 poniedziałekW107:0015:00czas przerwy
    (niewliczana do czasu pracy, niepłatna)

    W.NP 1)

    1) Gdy za nadgodziny w dniu wolnym (niedziele / święto) udzielimy w kolejnym miesiącu dzień wolny (8h) i oznaczymy jako niepłatne (jak mówią przepisy), to pracownik będzie stratny, będzie miał pomniejszenie wynagrodzenia 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).

    Krok II – Wyliczenie czasu pracy i wynagrodzenia

    W 8.2023 do czasu pracy wliczamy 176h (‘czas pracy podstawowy’) + 6h (‘czas pracy podstawowy’ ze znacznikiem O.NM) = 182h.
    Wynagrodzenie zostanie wypłacone za wszystkie przepracowane godziny 182h (176h + 6 nadgodzin), czyli:

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

    Wynagr. zasad. powyżej normy (praca.pdst) = -285,71 (6000*8/168)

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

    Uwaga

    W przypadku, gdy w programie rozliczenie nadgodzin opiera się na własnych dodatkach (wyłączone jest naliczanie standardowych dopłat do nadgodzin), to Informacja o nadgodzinach nie pojawi się na wydrukach: karty pracy, listach płac, kwiatkach wypłat, czy pomocniczych raportach do GUS.

    W module Płace i Kadry Plus dostępny jest wydruk Pracownicy z czasem wolnym za nadgodziny (dostępny z poziomu: Lista pracowników/ Pracownicy) dla zaznaczonych osób, w których wykazywane są informacje o nadgodzinach do odbioru oraz czasie wolnym udzielonym za nadgodziny wpisy na czasie pracy z oznaczeniami:

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


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


    12.1 Przykład różnicowego rozliczenia wynagrodzenia za nadgodziny i godziny nocne

    Przykład

    Pracownik zatrudniony na pełen etat na stawkę 6000 zł/miesiac w podstawowym systemie czasu pracy, czyli o 8h dziennie (1-miesięczny okres rozliczeniowy, pora nocna 22:00-6:00).

    W definicji kalendarza: Norma dobowa = 8h, norma tygodniowa = 40h z zaznaczonym parametrem z podziałem na nadgodziny dobowe i średniotygodniowe.

    W lipcu 2023 (wymiar 168h) przepracował dodatkowo w dniach:

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

    Sumarycznie pracownik przepracował 178h, czyli ponad wymiar 10h, w tym:

    • nadgodziny dobowe 50% = 4h
    • nadgodziny dobowe 100% = 1h, ponieważ przypada w porze nocnej

    nadgodziny średniotygodniowe = 5h

    W wypłacie za 7.2023 (wymiar 168h) zostały naliczone elementy:

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

    Po naliczeniu wynagrodzenia za 7.2023 zostały dopisane dodatkowe nadgodziny  w dniach:

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

    Dodatkowo zostały wprowadzone godziny ponad wymiar w ilości 7h (łączy czas pracy 178+7h dodane= 185h), w tym:

    • nadgodziny dobowe 50% = 2h
    • nadgodziny dobowe 100% = 1h, ponieważ przypada w porze nocnej
    • nadgodziny sredniotygodniowe = 4h

    W wypłacie za 8.2023 (wymiar 176h) z opcja 1 mc wstecz zostały naliczone elementy:

    • Wynagrodzenie zasadnicze /miesiąc za 7.2023 = 6000 (za 176h)

    oraz za 7.2023:

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

    13. Nadgodziny w dobie pracowniczej

    13.1 Pojęcie doby pracowniczej (art. 129 k.p.)

    Zgodnie z art. 128 § 3 kodeksu pracy: „Do celów rozliczania czasu pracy pracownika:

    • przez dobę – należy rozumieć 24 kolejne godziny, poczynając od godziny, w której pracownik rozpoczyna pracę zgodnie z obowiązującym go rozkładem czasu pracy;
    • przez tydzień – należy rozumieć 7 kolejnych dni kalendarzowych, poczynając od pierwszego dnia okresu rozliczeniowego.”

    Gdy według harmonogramu pracownik w pierwszym dniu tygodnia ma przyjść do pracy o godzinie 8:00, to od tej godziny zaczyna się doba pracownicza, która trwa przez następne 24 godziny. Kolejnego dnia o 8:00 rozpoczyna się kolejna doba.

    Natomiast jeżeli pracownik w drugim dniu tygodnia rozpoczyna pracę od godziny 7:00 (zamiast 8:00), wówczas dochodzi do naruszenia doby pracowniczej, praca od 7:00 do 8:00 zaliczana jest do poprzedniej doby pracowniczej.

    W programie Comarch ERP Optima, w celu sprawdzania nadgodzin w dobie pracowniczej (24h od rozpoczęcia pracy zgodnie z obowiązującym go rozkładem czasu pracy) konieczne jest w: Konfiguracja > Firma > Płace > Kalendarze – w  definicji danego kalendarza zaznaczenie parametru:  Licz dopłaty do nadgodzin po przekroczeniu doby pracowniczej. 

    Rys. 23 Definicja kalendarza – parametr Licz dopłaty do nadgodzin po przekroczeniu doby pracowniczej

    Uwaga
    Jeżeli w firmie stosowany jest ruchomy system czasu pracy, w celu prawidłowego rozliczenia dopłat do nadgodzin należy odznaczyć parametr Licz dopłaty do nadgodzin po przekroczeniu doby pracowniczej.

    13.2 Wynagrodzenie za nadgodziny w dobie pracowniczej

    W sytuacji, w której doszło do rozpoczęcia przez pracownika pracy w trakcie poprzedniej doby pracowniczej, może dojść do przekroczenia normy czasu pracy i obowiązku wypłacenia dodatku za pracę w godzinach nadliczbowych, ponieważ zgodnie z art. 129 § 1 k.p.: „Czas pracy nie może przekraczać 8 godzin na dobę i przeciętnie 40 godzin w przeciętnie 5-dniowym tygodniu pracy w przyjętym okresie rozliczeniowym (…)”

    Po przekroczeniu normy w dobie pracowniczej, za przepracowane godziny nadliczbowe należy się dodatek do wynagrodzenia w wysokości:

    • 100%  – w przypadku pracy w nocy, w niedzielę i święta, a także w dni wolne od pracy udzielone pracownikowi w zamian za pracę w święto,

    • 50%  – w pozostałe dni.

    Zgodnie ze stanowiskiem Departamentu Prawnego GIP z 29.07.2008r. (GPP-302-4560-569/08/PE), w przypadku rozpoczęcia pracy w poprzedniej dobie pracowniczej bez przekracza ilości zaplanowanych godzin, pracownikowi przysługuje dopłata do nadgodzin (wyniku przekroczenia normy dobowej) ale bez normalnego wynagrodzenia za te nadgodziny (Wynagrodzenia powyżej normy).

    Przykładowo, gdy pracownik w poniedziałek pracuje od 9 do 17 (8h), a we wtorek od 7 do 15 (8h), to oznacza, że praca we wtorek od 7 do 9 (2h) przypada jeszcze na poniedziałkową dobę pracowniczą, w efekcie czego pracownik wykonywał pracę przez 10 godzin w tej dobie – to powoduje przekroczenie dobowej normy czasu pracy o 2h. Praca między 7-9 (2h) ma charakter pracy w godzinach nadliczbowych, za które przysługuje dopłata do nadgodzin 50% za 2h (praca nie przypadała w porze nocnej), bez dodatkowego normalnego wynagrodzenia (powyżej normy) za 2h (podstawowe wynagrodzenie wypłacone tylko za 16h). Natomiast, gdyby pracownik we wtorek pracował od 7 do 16 (9h),czyli o 1 godzinę więcej niż wynika z planu, to wówczas oprócz dopłaty do nadgodzin 50% za 2h (pracę 7-9 zaliczaną do poprzedniej doby) otrzyma również wynagrodzenie powyżej normy za 1h z tytułu przekroczenia ilości zaplanowanych godzin.

    Gdy pracownik rozpoczął ponownie pracę w tej samej dobie pracowniczej ale nie przekroczył normy dobowej lub przedłużonego wymiaru dobowego, to taka sytuacja nie stanowi pracy w godzinach nadliczbowych. Zgodnie z art. 151§1 k.p. „Pracą w godzinach nadliczbowych jest bowiem praca wykonywana ponad obowiązujące pracownika normy czasu pracy, a także ponad przedłużony dobowy wymiar czasu pracy”.

    13.3 Praca między dobami pracowniczymi, w tak zwanych „czarnych dziurach”

    Gdy zgodnie z harmonogramem pracownik w pierwszym dniu tygodnia (w poniedziałek – po wolnej sobocie i niedzieli) ma przyjść do pracy o godzinie 8:00, to oznacza, że od tej godziny zaczyna się doba pracownicza, która trwa przez następne 24 godziny. Natomiast jeżeli pracownik w poniedziałek rozpoczyna pracę od godziny 7:00 (zamiast 8:00), wówczas praca między 7:00 a 8:00 nie może być zaliczona do doby pracowniczej rozpoczynającej się zgodnie z harmonogram od 8:00, tylko przypada w tak zwanej „czarnej dziurze” (poza dobą pracowniczą).

    Praca przypadająca między dobami pracowniczymi nie może być uwzględniania do sprawdzania, czy doszło do przekroczenia normy dobowej (8h) tylko do sprawdzenia, czy doszło do przekroczenia normy średniotygodniowej (40h).

    13.4 Przykłady naliczenia nadgodzin w dobie pracowniczej

    Przykład

    Pracownik jest zatrudniony w systemie podstawowym od poniedziałku do piątku po 8 godzin na dobę od godz. 7:00 do 15:00.

    W definicji kalendarza ustawione:

    • norma dobowa = 8h,
    • norma średniotygodniowa = 40h,
    • okres rozliczeniowy = 1 mc,
    • pora nocna od 23:00 do 7:00.

    W jedną środę pracownik otrzymał polecenie stawienia się w pracy na godzinę 6:00 i pracował do 14:00 (8h).

    Doba pracownicza (wtorkowa) trwała od 7:00 we wtorek do 7:00 w środę. W tej dobie pracowniczej pracownik przepracował 9h:

    • we wtorek 8h (7:00-15:00)
    • w środę 1h (6:00-7:00) – jest to nadgodzina wynikająca z przekroczenia normy dobowej 8h, dodatkowo przypadała w porze nocnej, więc należy za nią wypłacić dopłatę do nadgodzin 100% za 1h.

    W wypłacie pracownik otrzyma:

    • Wynagrodzenie zasadnicze
    • Dopłata do nadgodzin 100% za 1h
    • Dopłata za pracę w nocy za 1h

    Przykład

    Pracownik jest zatrudniony w systemie podstawowym od poniedziałku do piątku po 8 godzin na dobę od godz. 7:00 do 15:00.

    W definicji kalendarza ustawione:

    • norma dobowa = 8h,
    • norma średniotygodniowa = 40h
    • okres rozliczeniowy = 1 mc
    • pora nocna od 23:00 do 7:00.

    W jedną środę pracownik otrzymał polecenie stawienia się w pracy na godzinę 6:00 i pracował do 15:00 (9h).

    Doba pracownicza (wtorkowa) trwała od 7:00 we wtorek do 7:00 w środę. W tej dobie pracowniczej pracownik przepracował 9h:

    • we wtorek 8h (7:00-15:00)
    • w środę 1h (6:00-7:00) – jest to nadgodzina wynikająca z przekroczenia normy dobowej 8h, dodatkowo przypadała w porze nocnej, więc należy za nią wypłacić dopłatę do nadgodzin 100% za 1h.

    Ogólnie w środę pracownik pracował dłużej o 1h (9h zamiast 8h) – z tego tytułu należy wpłacić normalne wynagrodzenie powyżej normy za 1h.

    W wypłacie pracownik otrzyma:

    • Wynagrodzenie zasadnicze
    • Wynagr. zasad. powyżej normy za 1h
    • Dopłata do nadgodzin 100% za 1h
    • Dopłata za pracę w nocy za 1h

    Przykład

    Pracownik jest zatrudniony w systemie podstawowym od poniedziałku do piątku po 8 godzin na dobę od godz. 7:00 do 15:00.

    W definicji kalendarza ustawione:

    • norma dobowa = 8h,
    • norma średniotygodniowa = 40h,
    • podział dopłat na nadgodziny dobowe i średniotygodniowe,
    • okres rozliczeniowy = 1 mc,
    • pora nocna od 23:00 do 7:00.

    W sobotę pracownik otrzymał polecenie przyjścia do pracy z powodu awarii na godzinę 6:00 i pracował do 12:00 (6h).

    Doba pracownicza trwała od 7:00 w piątek do 7:00 w sobotę.

    W tej dobie pracowniczej (piątkowej) pracownik przepracował 9h:

    • w piątek 8h (7:00-15:00)
    • w sobotę 1h (6:00-7:00) – jest to nadgodzina wynikająca z przekroczenia normy dobowej 8h, przypadała w porze nocnej, więc należy za nią wypłacić dopłatę do nadgodzin dobowych 100% za 1h

    Dodatkowo praca w sobotę od 7:00 do 12:00 (5h) jest zaliczona do sprawdzenie, czy doszło do przekroczenia normy średniotygodniowej.

    W tym miesiącu wymiar wynosił np. 168h, pracownik przepracował 174h (168h wymiar + 6h dodatkowo), zatem:

    174h (czas przepracowany) – 1h nadgodzina dobowa – 168h (norma)  = 5h – czyli doszło do przekroczenia normy średniotygodniowej.

    Ogólnie w sobotę pracownik pracował dodatkowo 6h – z tego tytułu należy wpłacić normalne wynagrodzenie powyżej normy za 6h

    W wypłacie pracownik otrzyma:

    • Wynagrodzenie zasadnicze
    • Wynagr. zasad. powyżej normy za 6h
    • Dopłata do nadgodzin dobowych 100% za 1h
    • Dopłata do nadgodzin średniotygodn. 100% za 5h
    • Dopłata za pracę w nocy za 1h

    Przykład

    Pracownik jest zatrudniony w systemie podstawowym od poniedziałku do piątku po 8 godzin na dobę od godz. 7:00 do 15:00.

    W definicji kalendarza ustawione:

    • norma dobowa = 8h,
    • norma średniotygodniowa = 40h,
    • podział dopłat na nadgodziny dobowe i średniotygodniowe,
    • okres rozliczeniowy = 1 mc,
    • pora nocna od 23:00 do 7:00.

    W sobotę pracownik otrzymał polecenie przyjścia do pracy z powodu awarii na godzinę 6:00 i pracował do 16:00 (10h).

    Doba pracownicza trwała od 7:00 w piątek do 7:00 w sobotę.

    W tej dobie pracowniczej (piątkowej) pracownik przepracował 9h:

    • w piątek 8h (7:00-15:00)
    • w sobotę 1h (6:00-7:00) – jest to nadgodzina wynikająca z przekroczenia normy dobowej 8h, przypadała w porze nocnej, więc należy za nią wypłacić dopłatę do nadgodzin dobowych 100% za 1h

    Pozostała praca w sobotę od 7:00 do 16:00 (9h) powoduje również przekroczenie normy dobowej (8h) o 1h, czyli praca 15:00-16:00 jest zaliczana do nadgodzin dobowych 50% (nie przypada w porze nocnej).

    Natomiast praca w sobotę od 7:00 do 15:00 (do 8h) jest zaliczona do sprawdzenia, czy doszło do przekroczenia normy średniotygodniowej.
    W tym miesiącu wymiar wynosił np. 168h, pracownik przepracował 178h (168h wymiar + 10h dodatkowo), zatem:

    178h (czas przepracowany) – 2h nadgodziny dobowe (1h 100% z naruszenia normy dobowej piątkowej + 1h 50% z naruszenia normy w sobotę) – 168h (norma)  = 8h – czyli doszło do przekroczenia normy średniotygodniowej.

    Ogólnie w sobotę pracownik pracował dodatkowo 10h – z tego tytułu należy wpłacić normalne wynagrodzenie powyżej normy za 10h

    W wypłacie pracownik otrzyma:

    • Wynagrodzenie zasadnicze
    • Wynagr. zasad. powyżej normy za 10h
    • Dopłata do nadgodzin dobowych 100% za 1h – doba piątkowa
    • Dopłata do nadgodzin dobowych 50% za 1h
    • Dopłata do nadgodzin średniotygodn. 100% za 8h
    • Dopłata za pracę w nocy za 1h

    13.5 Przykłady naliczenia nadgodzin przypadających w „czarnych dziurach”

    Przykład

    Pracownik jest zatrudniony w systemie podstawowym od poniedziałku do piątku po 8 godzin na dobę od godz. 7:00 do 15:00.

    W definicji kalendarza ustawione:

    • norma dobowa = 8h,
    • norma średniotygodniowa = 40h,
    • podział dopłat na nadgodziny dobowe i średniotygodniowe,
    • okres rozliczeniowy = 1 mc,
    • pora nocna od 23:00 do 7:00.

    W poniedziałek pracownik otrzymał polecenie stawienia się w pracy na godzinę 6:00 i pracował do 14:00 (8h).

    Doba pracownicza (poniedziałkowa) zgodnie z harmonogramem trwała od 7:00 we poniedziałek do 7:00 we wtorek.

    Praca w poniedziałek od 6:00 do 7:00 nie może być zaliczona do poniedziałkowej doby pracowniczej, jest uwzględniana przy sprawdzaniu, czy doszło do przekroczenia normy średniotygodniowej.

    W tym miesiącu wymiar pracownika wynosił np. 168h i tyle dokładnie pracownik przepracował zatem:

    168h (czas przepracowany) – 168h (norma)  = 0h – czyli nie doszło do przekroczenia normy średniotygodniowej.

    W wypłacie pracownik otrzyma:

    • Wynagrodzenie zasadnicze
    • Dopłata za pracę w nocy za 1h – za pracę między 6:00 a 7:00.

    Przykład

    Pracownik jest zatrudniony w systemie podstawowym od poniedziałku do piątku po 8 godzin na dobę od godz. 7:00 do 15:00.

    W definicji kalendarza ustawione:

    • norma dobowa = 8h,
    • norma średniotygodniowa = 40h,
    • podział dopłat na nadgodziny dobowe i średniotygodniowe,
    • okres rozliczeniowy = 1 mc,
    • pora nocna od 23:00 do 7:00.

    W poniedziałek pracownik otrzymał polecenie stawienia się w pracy na godzinę 6:00 i pracował do 16:00 (10h).

    Doba pracownicza (poniedziałkowa) zgodnie z harmonogramem trwała od 7:00 we poniedziałek do 7:00 we wtorek.

    Praca w poniedziałek od 6:00 do 7:00 nie może być zaliczone do poniedziałkowej doby pracowniczej, jest uwzględniana przy sprawdzaniu, czy doszło do przekroczenia normy średniotygodniowej.

    Natomiast praca od 7:00 do 16:00 (9h) jest zaliczana do poniedziałkowej doby pracowniczej  i wynika, że została przekroczona norma dobowa (8h) o 1h, za którą przysługuje dopłata do nadgodzin dobowych 50%.

    Sprawdzenie, czy doszło do przekroczenia normy średniotygodniowej.

    W tym miesiącu wymiar pracownika wynosił np. 168h a pracownik przepracował o 2h dłużej 170h, zatem:

    170h (czas przepracowany) – 1h dobowa 50% – 168h (norma)  = 1h – czyli doszło do przekroczenia normy średniotygodniowej.

    Ogólnie w poniedziałek pracownik pracował dodatkowo 2h – z tego tytułu należy wpłacić normalne wynagrodzenie powyżej normy za 2h

    W wypłacie pracownik otrzyma:

    • Wynagrodzenie zasadnicze
    • Wynagr. zasad. powyżej normy za 2h
    • Dopłata do nadgodzin dobowych 50% za 1h
    • Dopłata do nadgodzin średniotygodn. 100% za 1h
    • Dopłata za pracę w nocy za 1h

     




    OPT077- Automatyczne rozliczenia i rozrachunki

    Data aktualizacji: 28-11-2018


    Spis treści


    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.

    Uwaga
    Rozliczenie w module Kasa/Bank skutkować będzie rozrachunkiem w module Księga Handlowa lub Księga Handlowa Plus i analogicznie rozrachunek w module Księga Handlowa lub Księga Handlowa Plus skutkować będzie rozliczeniem w module Kasa/Bank.

    Nie ma znaczenia z jakiego poziomu dokonywane są rozliczenia i rozrachunki. Dodanie rozliczenia na poziomie dokumentu, skutkuje tym samym co rozliczenie z Rozliczeń Podmiotu czy z poziomu Listy Dokumentów Nierozliczonych. Również dodanie rozrachunku z poziomu zapisu księgowego skutkuje tym samym, co dodanie rozrachunku z poziomu listy rozrachunków.

    Automatyczne rozliczenia i rozrachunki opierają się o następujące zasady:

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

    Uwaga
    Przed zaznaczeniem parametru Automatyczne rozliczenia i rozrachunki niezbędne jest uporządkowanie bazy danych poprzez uzgodnienie stanu nierozliczonych dokumentów z nierozrachowanymi dekretami na kontach księgowych, w przeciwnym wypadku stan na kontach i w kasie/banku może nie być spójny.
    Jeżeli w bazie pozostaną nierozrachowane dekrety powstałe po zaksięgowaniu schematami, w których nie wykorzystano nowo wprowadzonych makr to nie nastąpi automatyczny rozrachunek tych dekretów nawet jeśli powstanie rozliczenie w module Kasa/Bank. Analogicznie jeżeli Użytkownik dokona rozrachunku tych dekretów to nie nastąpi rozliczenie w module Kasa/Bank.
    Uwaga
    Przy porządkowaniu bazy danych pomocny może być wydruk Rozliczenia/rozrachunki > Zestawienie rozliczeń i rozrachunków, dostępny z poziomu Kasa/Bank/Dokumenty nierozliczone, zakładka Na dzień, który pokazuje stan rozliczeń i rozrachunków danego podmiotu na wybrany dzień.

    Uwaga
    Przydatna może być również opcja seryjnego zaznaczenia parametru Rozrachunek na wybranych dekretach księgowych oraz pozycjach bilansu otwarcia. Funkcja dostępna jest z poziomu Księgowość/Dzienniki/ zakładka Konto oraz Księgowość/Inne/Dokumenty BO/formularz bilansu otwarcia poprzez wybór z menu kontekstowego opcji Zaznacz rozrachunek/Odznacz rozrachunek.

    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.

    Podział na słowniki: Płatnicy  – odwołuje się do Płatnika wybranego na zdarzeniu w Preliminarzu płatności jeżeli w kwocie jest wybrane makro @KwotaPlatnosci. Jeżeli w pozycji schematu nie ma odwołania do makr związanych z płatnościami (ani w kwocie, ani w koncie) to podział na słowniki działa na płatnika z nagłówka dokumentu.

    Makro @KwotaPlatnosci można łączyć jedynie z makrami dotyczącymi nagłówka. Nie można łączyć go z makrami odwołującymi się do pozycji dokumentu.

    Makra dostępne dla Płatnika w polach Konto, Opis i Warunek (zarówno w nagłówku, jak i w elemencie schematu) pobierają wartości z konkretnych płatności, a nie z nagłówka dokumentu.

    Dodatkowo w schematach służących do księgowania dokumentów posiadających płatności, w pozycji Warunek (w elemencie schematu) dostępna jest opcja: Płatności/Waluta płatności (makro @WalutaPlatnosci), sprawdzająca walutę rozliczenia na zdarzeniu w Preliminarzu płatności.

    Uwaga
    Aby nastąpiło automatyczne rozliczenie i rozrachowanie waluta rozliczenia wybrana na zdarzeniu w Preliminarzu płatności musi zgadzać się z walutą konta, na które następuje księgowanie dokumentu. W przeciwnym wypadku pojawia się komunikat informujący o tym, że waluta rozliczenia nie zgadza się z walutą rozrachunku i nie następuje automatyczne połączenie rozliczeń z rozrachunkami

    Przykład
    Schemat księgowy pozwalający na zaksięgowanie dokumentów w Rejestrze VAT sprzedaży

    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.

    Uwaga
    W związku z tym, że makro @KwotaPlatnosci odwołuje się do kwoty z preliminarza płatności, która nie może być ujemna a jedynie różni się kierunkiem przepływu pieniędzy (przychód, rozchód), dokumenty wprowadzone do Rejestru VAT księgowane są zawsze ze znakiem „+”. Aby zaksięgować dokumenty w kwocie ujemnej należy odpowiednio zmodyfikować schematy księgowe

    Przykład
    Schemat księgowy pozwalający na zaksięgowanie dokumentów w Rejestrze VAT sprzedaży
    z podziałem na kwoty dodatnie i ujemne

    Przykład
    Schemat księgowy pozwalający na zaksięgowanie dokumentów w Rejestrze VAT zakupu
    z podziałem na kwoty dodatnie i ujemne.

     

    PREDEKRETACJA
    Funkcjonalność automatycznych rozliczeń i rozrachunków działa również w przypadku, gdy dokument jest księgowany nie schematem, a wg predekretacji. Warunkiem jest jednak, aby zakładka [Predekretacja] nie była uzupełniana ręcznie, a wygenerowana na podstawie schematu księgowego, który w kwocie ma odwołanie do makra @KwotaPlatnosci (wyjątkiem jest predekretacja raportów kasowych/bankowych, różnic kursowych oraz kompensat).
    SCHEMATY STOWARZYSZONE
    Podczas rozliczania dokumentów następuje automatyczne rozrachowanie tylko dekretu „głównego”, tzn. powstałego z księgowania schematem głównym, dekrety powstałe z księgowania schematem stowarzyszonym nie zostaną rozrachowane.

    Przykład
    Mamy wprowadzone dwa dokumenty: Dok1 i Dok2, nie są rozliczone. Dokument Dok1 jest już zaksięgowany (i widoczny z poziomu Księgowość/ Rozrachunki jako PK1). Dokument Dok2 również jest zaksięgowany, ale schematem z podpiętym schematem stowarzyszonym (z poziomu Księgowość/ Rozrachunki jest więc dekret PK2 powstały z księgowania schematem „głównym” i dekret PK3 powstały z księgowania schematem stowarzyszonym).
    Następnie z poziomu modułu Kasa/Bank rozliczamy oba dokumenty Dok1 i Dok2. Następuje wówczas automatyczne rozrachowanie dekretu PK1 z PK2. Dekret PK3, jako dekret powstały z księgowania schematem stowarzyszonym, nie zostanie automatycznie rozrachowany.

    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 

    Przykład
    Działanie zgodnie z zasadą 1: w momencie zaksięgowania dokumentów już ze sobą rozliczonych dekrety automatycznie się rozrachowują. Dwa dokumenty na tą samą kwotę, rozliczone, tylko jeden z nich zaksięgowany.
    Mamy wprowadzone dwa dokumenty: Dok1 i Dok2 (np. fakturę sprzedaży i wyciąg bankowy). Dokument Dok1 został już zaksięgowany na konto np. 201-ABC, schematem odwołującym się do makra @KwotaPlatnosci, z zaznaczonym parametrem Rozrachunek. Dokument Dok2 nie jest jeszcze zaksięgowany.
    Oba dokumenty są już ze sobą rozliczone w module Kasa/Bank.
    Następnie księgujemy dokument Dok2 (na to samo konto np. 201-ABC, z zaznaczonym parametrem Rozrachunek) – w tym momencie nastąpi automatyczne rozrachowanie dekretów Dek1 i Dek2.

    Przykład
    Działanie zgodnie z zasadą 2: w momencie rozliczenia płatności/ zapisu K/B do zaksięgowanych dokumentów automatycznie rozrachowują się związane z nimi dekrety. Dwa dokumenty na tą samą kwotę, nierozliczone, zaksięgowane na to samo konto.
    Mamy wprowadzone dwa dokumenty: Dok1 i Dok2 (np. fakturę sprzedaży i wyciąg bankowy). Następnie oba księgujemy na to samo konto po przeciwnych stronach, np. 201-ABC, z zaznaczonym parametrem Rozrachunek, dokument  Dok1 (faktura sprzedaży) jest księgowany schematem odwołującym się do makra @KwotaPlatnosci.
    W tym momencie mamy więc sytuację, gdzie oba dokumenty są widoczne w module Kasa/Bank jako nierozliczone i w Księgowość/ Rozrachunki jako nierozrachowane.
    Następnie rozliczamy dokumenty z poziomu modułu Kasa/Bank (płatność P1 i P2), następuje wówczas automatyczne rozrachowanie dekretów (Dek1 i Dek2).

    Przykład
    Działanie zgodnie z zasadą 3: w momencie rozrachowania dekretów odpowiadające im nierozliczone płatności/ zapisy kasowe/bankowe rozliczają się automatycznie. Dwa dokumenty na tą samą kwotę, zaksięgowane na to samo konto, nierozliczone i nierozrachowane.
    Mamy wprowadzone dwa dokumenty: Dok1 i Dok2 (np. fakturę sprzedaży i wyciąg bankowy). Następnie oba księgujemy na to samo konto po przeciwnych stronach, np. 201-ABC, z zaznaczonym parametrem Rozrachunek, dokument Dok1 (faktura sprzedaży) jest księgowany schematem odwołującym się do makra @KwotaPlatnosci.
    W tym momencie mamy więc sytuację, gdzie oba dokumenty są widoczne w module Kasa/Bank jako nierozliczone i w Księgowość/ Rozrachunki jako nierozrachowane.
    Następnie z poziomu z poziomu Księgowość/ Rozrachunki/ Rozrachunki zakładka [Nierozrachowane] lub z pozycji dekretu z zakładki Rozrachunki rozrachowujemy dekrety (Dek1 i Dek2), następuje wówczas automatyczne rozliczenie dokumentów w module Kasa/Bank.

    Uwaga
    Jeżeli dokonujemy tylko częściowego rozliczenia to również dekrety zostaną rozrachowane na taką samą kwotę. Analogicznie w drugą stronę: częściowe rozrachowanie dekretów powoduje częściowe rozliczenie płatności.

    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.

    Rys. 1. Formularz okresu obrachunkowego

    Należy również uzupełnić Domyślne konta dla różnic kursowych poprzez wskazanie na formularzu waluty (Konfiguracja Programu/ Ogóle/ Waluty) konta istniejącego w planie kont w bieżącym okresie obrachunkowym.

    Rys 2. Formularz waluty

    Uwaga
    W sytuacji gdy na planie kont istnieje więcej kont dla danej waluty należy odznaczyć w Konfiguracji parametr Generowanie zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków oraz księgować dokumenty różnic kursowych oraz dokumenty kompensat z poziomu modułu Kasa/Bank

    Nieuzupełnienie wyżej wymienionych pól powoduje podczas księgowania dokumentów walutowych rozliczonych wcześniej w module Kasa/Bank lub podczas rozliczania w module Kasa/Bank zaksięgowanych wcześniej dokumentów dokonanie jedynie rozrachunku głównego na kontach księgowych. Nie generuje się natomiast dekret różnicy kursowej (pojawia się odpowiedni komunikat o braku kont i/lub dziennika). Analogicznie w przypadku dokumentów księgowanych na dwa różne konta nie generuje się dekret kompensaty.

    Jeżeli konto na formularzu waluty nie jest uzupełnione to pojawia się komunikat: Nie zdefiniowano kont dla różnic kursowych w ustawieniach waluty [Symbol waluty].

    Jeżeli na formularzu okresu obrachunkowego nie został uzupełniony Dziennik RK lub Użytkownik posiada zakaz do dziennika to pojawia się komunikat: Nie zdefiniowano dziennika dla różnic kursowych w konfiguracji okresu obrachunkowego lub operator ma zakaz do tego dziennika.

    Jeżeli na formularzu okresu obrachunkowego nie został uzupełniony Dziennik KOMP lub Użytkownik posiada zakaz do dziennika to pojawia się komunikat: Nie zdefiniowano dziennika dla kompensat w konfiguracji okresu obrachunkowego lub operator ma zakaz do tego dziennika.

    Jeżeli na formularzu okresu obrachunkowego nie został uzupełniony Dziennik RK lub Dziennik KOMP to podczas rozrachowywania z listy rozrachunków (lub z pozycji dekretu z zakładki Rozrachunki) dekretów walutowych dla różnych kont księgowych dekret różnicy kursowej oraz dekret kompensaty generuje się do pierwszego dziennika dostępnego w bieżącym okresie obrachunkowym, do którego Użytkownik nie ma zakazu. Dodatkowo pojawia się komunikat: Nastąpiła zmiana domyślnego dziennika dla kompensaty. Czy ustawić nowy dziennik jako domyślny w konfiguracji? oraz Nastąpiła zmiana domyślnego dziennika dla różnicy kursowej. Czy ustawić nowy dziennik jako domyślny w konfiguracji? Zaakceptowanie komunikatów powoduje zapisanie dzienników na formularzu okresu obrachunkowego.

    Jeśli na formularzu okresu obrachunkowego uzupełniony został Dziennik RK i Dziennik KOMP i podczas rozrachowywania dekretów walutowych dla różnych kont księgowych Użytkownik wskazuje na dokumencie kompensaty i dokumencie różnicy kursowej inny dziennik to pojawia się komunikat: Nastąpiła zmiana domyślnego dziennika dla kompensaty. Czy ustawić nowy dziennik jako domyślny w konfiguracji? oraz Nastąpiła zmiana domyślnego dziennika dla różnicy kursowej. Czy ustawić nowy dziennik jako domyślny w konfiguracji?

    Zaakceptowanie komunikatu powoduje zapisanie dekretu dokumentu kompensaty oraz dekretu dokumentu różnicy kursowej do dzienników wskazanych na dokumencie oraz zmianę dzienników na formularzu okresu obrachunkowego. Wybór opcji Nie powoduje zapisanie dekretu kompensaty oraz dekretu różnicy kursowej do dzienników wskazanych na dokumencie, natomiast kolejne dekrety zapisywane będą do dzienników wskazanych na formularzu okresu obrachunkowego.

    Uwaga
    Przy zaznaczonym parametrze Generowanie zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków w konfiguracji nie ma możliwości księgowania kompensat i różnic kursowych z poziomu Kasa/Bank. Podczas próby księgowania pojawi się komunikat „Nie można rozpocząć księgowania dokumentu. W Konfiguracji Firma/Księgowość/Księgowość kontowa jest ustawiony parametr Generowanie zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków.

    Uwaga
    Przy zaznaczonym parametrze Wymuszaj zatwierdzanie zapisów księgowych, dekrety różnic kursowych oraz kompensaty nie zostaną wygenerowane jeżeli zapis ten jest wcześniejszy od “najmłodszego” zapisu w buforze (lub jest późniejszy od “najstarszego” zapisu w buforze) o więcej niż 2 miesiące. W takim wypadku dodawanie dokumentu jest blokowane, w logu z operacji pojawia się komunikat: “Nie udało się wygenerować dekretu róźnicy kursowej/kompensaty z powodu błędu. Przekroczono okres dwóch miesięcy dla zapisów w buforze.

    Rys 3. Ilustracja na potrzeby przykładów 7-9

    Przykład
    Działanie zgodnie z zasadą 1: w momencie zaksięgowania dokumentów już ze sobą rozliczonych dekrety automatycznie się rozrachowują
    Mamy dwa dokumenty walutowe po różnych kursach, wprowadzone na różne podmioty: Dok1 i Dok2, do których są płatności w module Kasa/Bank: P1 (płatność do Dok1), P2 (płatność do Dok2).
    Dokument Dok1 jest już zaksięgowany (schematem odwołującym się do makra @KwotaPlatnosci), powstał dekret Dek1.
    Następnie rozliczamy płatności P1 z P2 (w module Kasa/Bank powstaje różnica kursowa RK i kompensata KOMP).
    Później księgujemy dokument Dok2 (powstaje dekret Dek2), w tym momencie następuje automatyczne rozrachowanie dekretów Dek1 z Dek2 oraz powstaje dekret różnicy kursowej Dek3 RK i dekret kompensaty Dek4 KOMP, które zostają automatycznie powiązane z kompensatą i różnicą kursową z modułu Kasa/Bank.
    Opis poszczególnych kroków:

    1. Rozliczenie pomiędzy P1 i P2 -> w module Kasa/Bank powstaje dokument różnicy kursowej RK i kompensata KOMP.
    2. Księgowanie Dok2 schematem odwołującym się do makra @KwotaPlatnosci -> tworzy się dekret Dek2.
    3. System automatycznie generuje rozrachunek pomiędzy Dek1 a Dek2.
    4. 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.

    Przykład
    Przykład jak powyżej, ale inna kolejność wykonywanych kroków – działanie zgodnie z zasadą 2: w momencie rozliczenia płatności/ zapisu K/B do zaksięgowanych dokumentów automatycznie rozrachowują się związane z nimi dekrety)
    Mamy dwa dokumenty walutowe po różnych kursach, wprowadzone na różne podmioty: Dok1 i Dok2, do których są płatności w module Kasa/Bank: P1 (płatność do Dok1), P2 (płatność do Dok2).
    Dokument Dok1 jest już zaksięgowany (schematem odwołującym się do makra @KwotaPlatnosci), powstał dekret Dek1.
    Opis kolejnych kroków:

    1. Księgujemy Dok2 schematem odwołującym się do makra @KwotaPlatnosci -> tworzy się dekret Dek2.
    2. 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.
    3. 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.

    Przykład
    Przykład jak powyżej, ale inna kolejność wykonywanych kroków – działanie zgodnie z zasadą 3: w momencie rozrachowania dekretów odpowiadające im nierozliczone płatności/ zapisy kasowe/bankowe rozliczają się automatycznie.
    Mamy dwa dokumenty walutowe po różnych kursach, wprowadzone na różne podmioty: Dok1 i Dok2, do których są płatności w module Kasa/Bank: P1 (płatność do Dok1), P2 (płatność do Dok2).
    Dokument Dok1 jest już zaksięgowany (schematem odwołującym się do makra @KwotaPlatnosci), powstał dekret Dek1.
    Opis kolejnych kroków:

    • Księgujemy Dok2 schematem odwołującym się do makra @KwotaPlatnosci -> tworzy się dekret Dek2.
      1. Z poziomu Księgowość/Rozrachunki lub z poziomu zapisu księgowego rozrachowujemy Dek1 z Dek2.
      2. W momencie rozrachowywania pojawia się formatka z propozycją zapisu polecenia księgowania dla powstałej różnicy kursowej i kompensaty.
      3. 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.

    Rys 4. Automatyczne generowanie zapisu księgowego różnicy kursowej i kompensaty, zakładka [Różnica kursowa]

    Uwaga
    Każde rozliczenie powoduje identyczne rozrachowanie na dekretach i na odwrót, każdy rozrachunek spowoduje rozliczenie. Jeżeli więc w module Kasa/Bankdokonano kilku częściowych rozliczeń, do których w module Kasa/Bank wygenerowane zostały dokumenty różnicy kursowej i/lub dokumenty kompensaty to w księgowości kontowej podczas rozrachowania dekretów związanych z tymi płatnościami również powstanie tyle samo dokumentów różnicy kursowej i/lub dokumentów kompensaty.

    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.

    Rys 5. Ilustracja na potrzeby przykładów 10-12

    Przykład
    Działanie zgodnie z zasadą 1: w momencie zaksięgowania dokumentów już ze sobą rozliczonych dekrety automatycznie się rozrachowują.
    Mamy dwa dokumenty walutowe po różnych kursach, wprowadzone na różne podmioty: Dok1 i Dok2, do których są płatności w module Kasa/Bank: P1 (płatność do Dok1), P2 (płatność do Dok2).
    Dokument Dok1 jest już zaksięgowany (schematem odwołującym się do makra @KwotaPlatnosci), powstał dekret Dek1.
    Następnie rozliczamy płatności P1 z P2 (w module Kasa/Bank powstaje kompensata KOMP i różnica kursowa RK).
    Później księgujemy dokument Dok2 (powstaje dekret Dek2), w tym momencie następuje automatyczne rozrachowanie dekretów Dek1 z Dek2. Należy również z poziomu modułu Kasa/Bank zaksięgować powstałą kompensatę i różnicę kursową. Dekrety RK i KOMP zostaną automatycznie powiązane z rozrachunkami.
    Opis poszczególnych kroków:

    1. Rozliczenie pomiędzy P1 i P2 -> w module Kasa/Bank powstaje dokument różnicy kursowej RK i kompensata KOMP.
    2. Księgowanie Dok2 schematem odwołującym się do makra @KwotaPlatnosci -> tworzy się dekret Dek2.
    3. System automatycznie generuje rozrachunek pomiędzy Dek1 a Dek2.
    4. Z poziomu Kasa/Bank/ Dokumenty rozliczone księgujemy kompensatę -> powstaje dekret Dek3 KOMP.
    5. Dekret kompensaty zostaje automatycznie powiązany z rozrachunkami.
    6. Z poziomu Kasa/Bank/ Różnice kursowe księgujemy różnicę kursową -> powstaje dekret Dek4 RK.
    7. Dekret różnicy kursowej zostanie automatycznie powiązany z rozrachunkami.

    Przykład
    Przykład jak powyżej, ale inna kolejność wykonywanych kroków – działanie zgodnie z zasadą 2: w momencie rozliczenia płatności/ zapisu K/B do zaksięgowanych dokumentów automatycznie rozrachowują się związane z nimi dekrety.
    Mamy dwa dokumenty walutowe po różnych kursach, wprowadzone na różne podmioty: Dok1 i Dok2, do których są płatności w module Kasa/Bank: P1 (płatność do Dok1), P2 (płatność do Dok2).
    Dokument Dok1 jest już zaksięgowany (schematem odwołującym się do makra @KwotaPlatnosci), powstał dekret Dek1.
    Opis kolejnych kroków:

    1. Księgujemy Dok2 schematem odwołującym się do makra @KwotaPlatnosci -> tworzy się dekret Dek2.
    2. Rozliczamy płatności P1 i P2 -> w module Kasa/Bank powstaje dokument różnicy kursowej RK i kompensata KOMP.
    3. System automatycznie generuje rozrachunek pomiędzy Dek1 a Dek2.
    4. Z poziomu Kasa/Bank/ Dokumenty rozliczone księgujemy kompensatę -> powstaje dekret Dek3 KOMP.
    5. Dekret kompensaty zostaje automatycznie powiązany z rozrachunkami.
    6. Z poziomu Kasa/Bank/ Różnice kursowe księgujemy różnicę kursową -> powstaje dekret Dek4 RK.
    7. Dekret różnicy kursowej zostaje automatycznie powiązany z rozrachunkami.

    Przykład
    Przykład jak powyżej, ale inna kolejność wykonywanych kroków – działanie zgodnie z zasadą 3: w momencie rozrachowania dekretów odpowiadające im nierozliczone płatności/ zapisy kasowe/bankowe rozliczają się automatycznie.
    Mamy dwa dokumenty walutowe po różnych kursach, wprowadzone na różne podmioty: Dok1 i Dok2, do których są płatności w module Kasa/Bank: P1 (płatność do Dok1), P2 (płatność do Dok2).
    Dokument Dok1 jest już zaksięgowany (schematem odwołującym się do makra @KwotaPlatnosci), powstał dekret Dek1.
    Opis kolejnych kroków:

    1. Księgujemy Dok2 schematem odwołującym się do makra @KwotaPlatnosci -> tworzy się dekret Dek2.
    2. Z poziomu Księgowość/ Rozrachunki lub z poziomu zapisu księgowego rozrachowujemy Dek1 z Dek2.
    3. System automatycznie rozliczył dokumenty Dok1 i Dok2.
    4. Z poziomu Kasa/Bank/ Dokumenty rozliczone księgujemy kompensatę -> powstaje dekret Dek3 KOMP.
    5. Dekret kompensaty zostaje automatycznie powiązany z rozrachunkami.
    6. Z poziomu Kasa/Bank/ Różnice kursowe księgujemy różnicę kursową -> powstaje dekret Dek4 RK.
    7. 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.

    Uwaga
    Jeżeli w Konfiguracji parametr o automatycznych rozliczeniach  i rozrachunkach jest zaznaczony to w przypadku seryjnego usuwania rozrachunków z poziomu Księgowość/ Rozrachunki/ Rozrachunki zakładka [Rozrachowane] komunikat: Rozrachunek połączony z rozliczeniem. Czy usunąć rozliczenie? pojawia się tylko raz. Wybór opcji Tak lub Nie działa na wszystkie dekrety zaznaczone na liście.

    Podczas usuwania rozrachunków walutowych automatycznie usunięty zostanie dekret różnicy kursowej, który jest powiązany z tym rozrachunkiem pod warunkiem, że dekret różnicy kursowej nie jest zatwierdzony na czysto, znajduje się w bieżącym okresie obrachunkowym, Użytkownik usuwający rozrachunek nie ma zakazu usuwania dekretów z dziennika, w którym znajduje dekret różnicy kursowej oraz dekret różnicy kursowej nie był wprowadzany ręcznie. Usuwany jest zarówno dekret powstały podczas generacji rozrachunków jak i dekret powstały po zaksięgowaniu dokumentu różnicy kursowej w module Kasa/Bank.

    Podczas usuwania rozrachunków dla dwóch różnych kont księgowych automatycznie usunięty zostanie dekret kompensaty, który jest powiązany z tym rozrachunkiem pod warunkiem, że dokument kompensaty nie jest zatwierdzony na czysto, znajduje się w bieżącym okresie obrachunkowym oraz Użytkownik usuwający rozrachunek nie ma zakazu usuwania dekretów z dziennika, w którym znajduje się dekret kompensaty. Usuwany jest zarówno dekret powstały podczas generacji rozrachunków jaki i dekret powstały po zaksięgowaniu dokumentu kompensaty w module Kasa/Bank.

    Jeżeli dokument różnicy kursowej i/lub dokument kompensaty został zaksięgowany na czysto, nie znajduje się w bieżącym okresie obrachunkowym lub Użytkownik usuwający rozrachunek ma zakaz usuwania dekretów z dziennika w którym znajduje się dekret różnicy kursowej i/lub dekret kompensaty to podczas usuwania rozrachunku pojawia się odpowiedni komunikat informujący o przyczynie błędu. Następuje usunięcie rozrachunku między dekretami, natomiast dekret różnicy kursowej i/lub kompensaty pozostaje. Pozostaje również powiązanie tego dekretu z dokumentem różnicy kursowej i/lub dokumentem kompensaty w module Kasa/Bank i rozliczenie w module Kasa/Bank nie zostaje usunięte.

    Poniższa tabelka pokazuje w jaki sposób następuje usuwanie rozrachunku i dekretów RK/ KOMP, w zależności od tego w jakim są okresie obrachunkowym oraz czy są w buforze czy już zatwierdzone.

    Z poziomu dekretu różnicy kursowej nie ma możliwości usunięcia rozrachunku. Podczas próby usunięcia pojawia się komunikat: Rozrachunek różnicy kursowej należy usunąć z listy rozrachunków.

    Uwaga
    Podczas generowania storna dekretów rozrachowanych następuje usunięcie rozrachunku między dekretami natomiast rozliczenie w module Kasa/Bank pozostaje.

    W przypadku gdy rozrachunek dokonany został pomiędzy dekretem lub dekretami z zaznaczonym parametrem Rozrachunek bez rozliczenia w K/B to usunięcie rozrachunku nie powoduje usunięcia rozliczenia (więcej informacji na temat działania tego parametru znajduje się w rozdziale Rozrachunek bez rozliczenia w K/B). Podczas usuwania rozrachunku automatycznie usunięty zostanie dekret różnicy kursowej oraz dekret kompensaty pod warunkiem, że dokument nie jest zatwierdzony na czysto, znajduje się w bieżącym okresie obrachunkowym oraz Użytkownik usuwający rozrachunek nie ma zakazu usuwania dekretów z dziennika, w którym znajduje się dekret różnicy kursowej i/lub kompensaty.

    Uwaga
    Nie można usunąć zapisu księgowego posiadającego rozrachowany rozrachunek. Podczas próby usunięcia zapisu księgowego pojawia sią komunikat: Zapis księgowy [Nr dokumentu] posiada rozliczone dekrety. Rozrachunek należy usunąć z poziomu Księgowość/ Rozrachunki lub bezpośrednio z dekretu z zakładki Rozrachunki.

    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.

    Uwaga
    Aby prawidłowo zaksięgować dokument walutowy z zaznaczonym Płatność VAT w PLN, w pozycji schematu księgowego przy wyborze makra @KwotaPlatnosci w warunku należy się odwołać do waluty płatności, np. @WalutaPlatnosci =’PLN’.

    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,

    zablokowane są  następujące pozycje: Kwota, Waluta, Termin rozrachunku oraz pola związane z określeniem notowania waluty.

    Analogicznie w drugą stronę: po zaksięgowaniu dokumentu makrem @KwotaPlatnosci na zdarzeniu w Preliminarzu płatności zablokowane zostaną następujące pola: Podmiot, Kwota, Termin płatności, Waluta rozliczenia oraz pola związane z określeniem notowania waluty. Dodatkowo taka płatność nie podlega podziałowi.

    Uwaga
    Makro @KwotaPlatnosci działa w ten sposób niezależnie od zaznaczonego/odznaczonego parametru Automatyczne rozliczenia i rozrachunki dostępnego w Konfiguracji Firmy/Księgowość/Parametry

    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.

    Rys 6. Zakładka [Dokumenty] na pozycji rozliczanego dekretu

    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 ,  a po wykonaniu rozrachunku na kontach księgowych w module Księga Handlowa lub Księga Handlowa Plus dostępna jest ikona .

    Podgląd rozliczeń w module Księga Handlowa lub Księga Handlowa Plus jest dostępny z poziomu:

    • Księgowość/ Rozrachunki/ Rozrachunki, zakładka [Rozrachowane],
    • formularza Polecenia Księgowania oraz formularza BO,
    • formularza dekretu, z każdej zakładki oraz pozycji BO.

    Po kliknięciu w ikonę Rozliczeń z poziomu formularza Polecenia Księgowania (dla dekretu podświetlonego) lub
    z poziomu formularza dekretu (zakładka [Ogólne] lub [Dokumenty]), otwierane jest okno Listy dokumentów rozliczających, na której wyświetlane są wszystkie rozliczenia dokonane w module Kasa/Bank związane z dekretem, z poziomu którego uruchamiamy ikonę Rozliczeń. Klikając w ikonę Rozliczenia z poziomu formularza

    dekretu, z zakładki Rozrachunki, na Liście dokumentów rozliczających domyślnie widoczne jest rozliczenie związane z podświetlonym dekretem rozrachowującym. Pod listą dostępny jest parametr Pokaż rozliczenia dla całego dekretu. Jego zaznaczenie powoduje wyświetlanie rozliczeń dla całego dekretu. Podglądu rozliczeń można również dokonać z poziomu Księgowość/ Rozrachunki/ Rozrachunki, poprzez kliknięcie w ikonę Rozliczenia w zakładce Rozrachowane co pozwoli na wyświetlenie rozliczeń związanych z podświetlonym rozrachunkiem.

    Jeżeli dekret nie posiada powiązanych rozliczeń w module Kasa/Bank to po kliknięciu w ikonę rozliczeń pojawia się komunikat: Dekret nie posiada skojarzonych rozliczeń.

    W przypadku dekretu różnicy kursowej po kliknięciu w ikonę rozliczeń z poziomu:

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

    pojawia się komunikat: Rozrachunek związany z różnicą kursową, nie można podglądnąć rozliczeń.

    Podgląd rozrachunków w module Kasa/Bank dostępny jest z poziomu:

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

    Uwaga
    Kolumny na Liście rozrachunków związanych z rozliczeniami: Kwota dekretu wal [symbol waluty] oraz Kwota rozrachunku wal [symbol waluty] są widoczne jeżeli pobrano moduł Księga Handlowa Plus oraz w Konfiguracji Firmy/ Księgowość/ Księgowość kontowa zaznaczono parametr Obsługa kont walutowych.

    Po kliknięciu w ikonę Rozrachunków z poziomu Preliminarza płatności, listy zapisów kasowych/bankowych, formularza zdarzenia w Preliminarzu płatności (za wyjątkiem zakładki Rozliczenia) lub formularza zapisu kasowego/bankowego (za wyjątkiem zakładki Rozliczenia dokumentów), na Liście rozrachunków związanych
    z rozliczeniami widoczne są wszystkie rozrachunki dokonane na kontach księgowych związane z dokumentem,
    z poziomu którego uruchamiamy ikonę Rozrachunków. Po kliknięciu w ikonę Rozrachunków z poziomu formularza zdarzenia w Preliminarzu płatności, z zakładki Rozliczenia lub formularza zapisu kasowego/bankowego, z zakładki Rozliczenia dokumentów domyślnie widoczny jest rozrachunek związany z podświetlonym rozliczeniem. Pod listą dostępny jest parametr Pokaż dla całego dokumentu. Jego zaznaczenie powoduje wyświetlanie rozrachunków dla całego dokumentu.

    Jeżeli dokument nie posiada powiązanych rozrachunków na kontach księgowych to po kliknięciu w ikonę Rozrachunków pojawia się komunikat: Dokument kasowy/bankowy nie posiada skojarzonych rozrachunków.

    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.

    Przykład
    Operator1 loguje się tylko na moduł Kasa/Bank, Operator2 loguje się na moduł Kasa/Bank i Księga Handlowa.
    Jeżeli Operator1 rozlicza płatności w module Kasa/Bank, wówczas automatycznie „w tle” rozrachowują się również odpowiednie dekrety. Operator2 po zalogowaniu na moduł Księga Handlowa i wejściu
    w Księgowość/ Rozrachunki widzi już te dekrety jako rozrachowane.

    Uwaga
    W przypadku, gdy firma posiada tylko moduł Księga Handlowa (bez modułu Księga Handlowa Plus) nie można generować automatycznych rozliczeń/rozrachunków walutowych. Automat działa tylko gdy waluta płatności zgadza się z walutą dekretu.
    Przy próbie rozliczenia dokumentów walutowych, które są zaksięgowane na konta złotówkowe (moduł Księga Handlowa, a nie Księga Handlowa Plus) pojawi się komunikat Wystąpił problem podczas rozrachowywania dokumentów [Dok1] z [Dok2]. Nie wygenerowano rozrachunku – różna waluta rozliczenia [XXX] i dekretu [PLN].

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

    Uwaga
    Potwierdzenie salda wygenerowane w module Kasa/Bank będzie zgodne z Potwierdzeniem wygenerowanym w module księgowym jeżeli data zdarzenia w Preliminarzu płatności będzie taka sama jak data księgowania dokumentu. W sytuacji, gdy w Konfiguracji Firmy/ Kasa/Bank/ Daty dokumentów wskazana zostanie data inna niż data wpływu lub wystawienia to mogą wystąpić różnice pomiędzy Potwierdzeniami sald generowanymi w obydwu modułach.

    Jeżeli w Konfiguracji Firmy/ Księgowość/ Księgowość kontowa zaznaczony jest parametr Generowanie zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków to na formularzu okresu obrachunkowego (Konfiguracja Firmy/ Księgowość/ Okresy obrachunkowe) należy wskazać dzienniki księgowań oraz daty księgowania dla dekretu różnicy kursowej oraz dekretu kompensaty. Data księgowania domyślnie ustawiana jest

    jako data rozrachunku, która jest pobierana z Konfiguracji Firmy/ Księgowość/ Księgowość kontowa, parametr Data rozrachunku jako późniejsza z dat.

    Jeżeli na formularzu okresu obrachunkowego wskazana jest data rozrachunku to podczas księgowania dokumentów rozliczonych wcześniej w module Kasa/Bank lub podczas rozliczania w module Kasa/Bank zaksięgowanych wcześniej dokumentów rozrachunek oraz dekret różnicy kursowej i /lub kompensaty generowane są z datą rozliczenia powstałego w module Kasa/Bank.

    Jeżeli na formularzu okresu obrachunkowego wskazana jest data bieżąca to podczas księgowania dokumentów rozliczonych wcześniej w module Kasa/Bank lub podczas rozliczania w module Kasa/Bank zaksięgowanych wcześniej dokumentów rozrachunek generowany jest z datą rozliczenia powstałego w module Kasa/Bank natomiast dekret różnicy kursowej i /lub kompensaty generowany jest z datą bieżącą.

    Podczas generowania rozrachunków z poziomu Księgowość/ Rozrachunki/ Rozrachunki zakładka [Nierozrachowane] lub z pozycji dekretu z zakładki [Rozrachunki] dekret różnicy kursowej i /lub kompensaty generowany jest z datą wskazaną na formularzu okresu obrachunkowego natomiast rozliczenie w module Kasa/Bank generowane jest z datą rozrachunku.

    Uwaga
    Jeżeli data rozrachunku/bieżąca jest spoza bieżącego okresu obrachunkowego wówczas dekret różnicy kursowej i/lub kompensaty zostanie wygenerowany na pierwszy dzień okresu ustawionego jako bieżący.

    Poniższa tabelka pokazuje jaka data jest ustawiana jako data rozliczenia/ rozrachunku oraz jako data różnicy kursowej i kompensaty w zależności od ustawień w Konfiguracji Firmy/ Księgowość/ Okresy obrachunkowe na formularzu okresu obrachunkowego.

    Uwaga
    Jeżeli usuniemy rozrachunek, a nie usuniemy rozliczenia (na pytanie Zaznaczone rozrachunki są połączone z rozliczeniami. Czy usunąć rozliczenia? odpowiemy Nie), a następnie ponownie rozrachujemy dekrety, to rozrachunek utworzy się z datą ustawioną w Konfiguracji Firmy/ Księgowość/Księgowość kontowa, parametr Data rozrachunku jako późniejsza z dat, a nie z datą rozliczenia.

    Księgowanie dokumentów rozliczonych wcześniej w module Kasa/Bank lub rozliczanie w module Kasa/Bank zaksięgowanych wcześniej dokumentówGenerowanie 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

    Do bazy docelowej mamy przeniesione dokumenty, np. FA i raport bankowy, są już zaksięgowane ale jeszcze nierozliczone/ nierozrachowane.

    Następnie pracą rozproszoną importujemy rozliczenia. Po zaimportowaniu w module Kasa/Bank następuje rozliczenie zdarzeń z zapisami bankowymi, automatycznie nastąpi też rozrachowanie odpowiadających im dekretów.

    Dodatkowo, gdy importowane rozliczenie dotyczy zapisów walutowych z różnymi kursami lub gdy jest to kompensata, oprócz automatycznego rozrachowania wygenerowane zostaną też dekrety Różnicy kursowej i Kompensaty. Powstanie dekretu RK i/lub KOMP uzależnione jest 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.

    • Przypadek, gdy dokumenty w bazie docelowej są zaksięgowane i rozliczone

    Do bazy docelowej mamy przeniesione dokumenty, np. FA i raport bankowy, są już zaksięgowane i rozrachowane.

    Następnie pracą rozproszoną importujemy rozliczenia. Operacja nie powiedzie się, gdyż w bazie docelowej dokumenty są już rozliczone (w momencie rozrachowania dekretów nastąpiło automatyczne rozliczenie). W logu z przebiegu importu pojawi się komunikat Wystąpił błąd przy imporcie składnika. Rozliczenie niemożliwe. Dokument [Dok1] jest już rozliczony.

    Wyjątkiem jest sytuacja, gdy rozrachowane dekrety miały zaznaczony parametr Bez rozliczenia w K/B. W takim przypadku w momencie rozrachowywania dekretów nie nastąpiło automatyczne rozliczenie (więcej informacji na temat działania tego parametru znajduje się w rozdziale Rozrachunek bez rozliczenia w K/B). Wówczas w momencie importu rozliczeń pracą rozproszoną import się powiedzie.

    • Przypadek, gdy dokumenty w bazie docelowej nie są zaksięgowane

    Do bazy docelowej mamy przeniesione dokumenty, np. FA i raport bankowy, które nie są jeszcze zaksięgowane.

    Następnie pracą rozproszoną importujemy rozliczenia, dokumenty zostają więc rozliczone.

    Jeżeli później zaksięgujemy dokumenty, automatycznie nastąpi rozrachowanie dekretów.

    5.9 Filtry i operacje seryjne

    W celu dodatkowego ułatwienia i przyspieszenia pracy pewne operacje można wykonywać seryjnie.

    • Zaznacz/Odznacz rozrachunek

    Z poziomu Księgowość/ Dzienniki/ zakładka [Konto] oraz na formularzu bilansu otwarcia (Księgowość/ Inne/ Dokumenty BO) jest możliwość seryjnego zaznaczenia/odznaczenia parametru Rozrachunek dla wybranych dekretów księgowych/ pozycji bilansu otwarcia poprzez wybór opcji z menu kontekstowego Zaznacz rozrachunek/Odznacz rozrachunek.

    • Ustaw/Odznacz rozrachunek bez rozliczenia w K/B

    Z poziomu Księgowość/ Plan kont jest możliwość seryjnego zaznaczenia/odznaczenia parametru Rozrachunek bez rozliczenia w K/B dla zaznaczonych kont księgowych poprzez wybór opcji Ustaw/Odznacz rozrachunek bez rozliczenia w K/B dostępnej w menu kontekstowym oraz pod ikoną operacji seryjnych.

    • Kompensaty bez rozrachunku

    Z poziomu Księgowość/ Dzienniki w filtrze pod listą dostępny jest parametr Kompensaty bez rozrachunku. Po jego zaznaczeniu wyświetlone zostaną dekrety kompensat, które nie zostały automatycznie usunięte przy usuwaniu rozrachunków, ze względu na to że były zatwierdzone na czysto i/lub znajdowały się w okresie obrachunkowym innym niż bieżący i/lub Użytkownik usuwający rozrachunek miał zakaz do usuwania dekretów z dziennika, w którym znajduje się dekret kompensaty.  


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

    Na samym początku należy więc sprawdzić:

    • Parametr w konfiguracji

    Należy sprawdzić, czy w Konfiguracji Firmy/ Księgowość/ Księgowość kontowa zaznaczony jest parametr Automatyczne rozliczenia i rozrachunki. Parametr musi być zaznaczony, aby działało automatyczne rozliczanie i rozrachowywanie.

    • Schematy księgowe

    Należy sprawdzić czy schemat wykorzystywany do księgowania dokumentu jest zdefiniowany prawidłowo. Aby zadziałał mechanizm automatycznych rozliczeń i rozrachunków:

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

    Jeżeli powyższe opcje są poprawnie skonfigurowane, a mimo to nie działa funkcjonalność automatycznych rozliczeń i rozrachunków, należy jeszcze sprawdzić przypadki wymienione w kolejnych podrozdziałach.


    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.

    Rozrachunek dekretu z parametrem Rozrachunek bez rozliczenia w K/B

    • Rozrachowanie dekretów jeżeli płatności w module Kasa/Bank nie są rozliczone

    Jeżeli jeden lub oba dekrety biorące udział w rozrachunku mają zaznaczony parametr Bez rozliczenia w K/B to podczas rozrachowania tych dekretów dokonuje się rozrachunek, powstaje ewentualny dekret różnicy kursowej i/lub dekret kompensaty (jeżeli w Konfiguracji jest zaznaczony parametr o generacji zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków), ale nie następuje rozliczenie płatności w module Kasa/Bank.

    • Rozrachowanie dekretów jeżeli płatności module Kasa/Bank są rozliczone

    Jeżeli jeden lub oba dekrety biorące udział w rozrachunku mają zaznaczony parametr Bez rozliczenia w K/B to podczas rozrachowania tych dekretów dokonuje się rozrachunek, powstaje ewentualny dekret różnicy kursowej i/lub kompensaty (jeżeli w Konfiguracji jest zaznaczony parametr o generacji zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków), ale nie następuje powiązanie rozrachunku
    z wygenerowanym wcześniej rozliczeniem.

    Jeżeli płatności w module Kasa/Bank zostały rozliczone oraz w Konfiguracji parametr o generacji zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków jest odznaczony lub Użytkownik rezygnuje
    z tych dokumentów podczas generowania rozrachunku to istnieje możliwość wskazania do rozrachunku dokumentu różnicy kursowej zaksięgowanego w module Kasa/Bank. Dekret kompensaty powstały w module Kasa/Bank nie zostanie podłączony do rozrachunku.

    Jeżeli w Konfiguracji parametr o generacji zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków jest zaznaczony, a dokument różnicy kursowej i/lub dokument kompensaty wygenerowany
    w module Kasa/Bank nie jest zaksięgowany to nie będzie powiązania pomiędzy tymi dokumentami.

    • Rozrachowanie dekretów w momencie księgowania jeśli płatności w module Kasa/Bank są rozliczone

    Jeżeli płatności w module Kasa/Bank zostały rozliczone i Użytkownik księguje drugi dokument, do którego tworzy się dekret z zaznaczonym parametrem Bez rozliczenia w K/B (lub parametr został zaznaczony na dekrecie powstałym do pierwszego dokumentu) to podczas księgowania nie tworzy się rozrachunek.


    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.

    Przykład
    Mamy dwa dokumenty, np. fakturę sprzedaży i fakturę zakupu, zaksięgowane (powstały dekrety Dek1 i Dek2), zarówno rozliczone jak i rozrachowane. Powstał do nich dekret kompensaty.

    Dekrety są już zatwierdzone.

    Następnie wykonujemy storno dekretu Dek1. Pojawia się komunikat „Zapis księgowy posiada rozliczone dekrety. Po wykonaniu storna rozrachunki zostaną usunięte. Czy wykonać storno dekretu księgowego?”. Po jego zaakceptowaniu pojawia się informacja „Rozliczenie nie zostało usunięte. Z rozrachunkiem związany jest dekret kompensaty [KOMPK/1/2015]. Dekrety należy usunąć ręcznie”.

    W efekcie rozrachunki między dekretami Dek1 i Dek2 zostały usunięte, natomiast w module Kasa/Bank dokumenty są ciągle rozliczone. Na liście zapisów księgowych ciągle jest widoczny zapis związany z kompensatą, który należy usunąć ręcznie jeżeli znajduje się w buforze lub dokonać storna jeżeli dekret kompensaty jest już zatwierdzony.

    Jeżeli ponownie zaksięgujemy odksięgowany dokument (tzn. fakturę, której dekret został wcześniej wystornowany) nastąpi automatyczne rozrachowanie nowego dekretu z dekretem Dek2. Powstanie również powiązanie rozrachunków z rozliczeniami. Utworzony zostanie dekret kompensaty, który będzie powiązany z kompensatą w module Kasa/Bank.

    W przypadku stornowania dekretu powiązanego z różnicą kursową program działa analogicznie, jak w wyżej opisanym przykładzie dot. kompensaty.

    Uwaga
    Podczas generowania storna dekretów rozliczonych następuje usunięcie rozrachunku między dekretami, natomiast rozliczenie w module Kasa/Bank pozostaje

    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.

    Przykład
    Mamy dwa dokumenty walutowe Dok1 i Dok2, oba zaksięgowane na konta złotówkowe. W module Kasa/Bank rozliczamy je ze sobą, pojawia się komunikat „Wystąpił problem podczas rozrachowywania dokumentów [Dok1] z [Dok2]. Nie wygenerowano rozrachunku – różna waluta rozliczenia [EUR] i dekretu [PLN].”. Rozliczenie dokumentów się udaje, natomiast dekrety Dek1 i Dek2 nie zostają automatycznie rozrachowane.
    Analogicznie w drugą stronę:
    Mamy dwa dokumenty walutowe Dok1 i Dok2, oba zaksięgowane na konta złotówkowe.
    Z poziomu Księgowość/ Rozrachunki lub z poziomu zapisu księgowego rozrachowujemy oba dekrety, pojawia się komunikat „Wystąpił błąd podczas rozliczania dokumentów kasowych/bankowych. Nie wygenerowano rozliczenia – różne waluty rozliczenia i dekretu.”. Dekrety zostają rozrachowane, natomiast płatności w Kasa/Bank nie są automatycznie rozliczane.

    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.

    Przykład
    Mamy dwa dokumenty Dok1 i Dok2, oba zaksięgowane. W preliminarzu płatności zmieniamy płatności do dokumentu Dok1 na: nie podlega.
    Następnie rozrachowujemy dekrety Dek1 z Dek2, pojawia się komunikat „Wystąpił błąd podczas rozliczania dokumentów kasowych/bankowych. Rozliczenie niemożliwe. Dokument [Dok1] nie podlega rozliczeniu.”. W efekcie dekrety Dek1 i Dek2 zostają rozrachowane, ale nie ma powiązania z rozliczeniami w module Kasa/Bank (status płatności się nie zmienia)

    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.

    Przykład
    Mamy np. fakturę sprzedaży, zaksięgowaną, wygenerowany został rozrachunek.
    Następnie rozliczamy ją z zapisem kasowym.
    Później księgujemy raport kasowy, ale schemat księgowy jest błędnie zdefiniowany i zapis KP trafia na właściwe konto rozrachunkowe, ale po złej stronie (a w związku z tym nie można go automatycznie rozrachować z dekretem do faktury). Samo księgowanie raportu się udaje, ale w logu z przebiegu księgowania, na końcu, mamy informację Wystąpił problem podczas rozrachowywania dokumentów [KP/1/2015/KASA] z [FS/1/2015]. Nie udało się wykonać rozrachunku ponieważ rozrachunki są po tej samej stronie konta.

    Przykład
    Parametr „Generowanie zapisu księgowego kompensaty i/lub różnicy kursowej z rozrachunków” w Konfiguracji jest niezaznaczony.
    Mamy dwa dokumenty walutowe Dok1 i Dok2, z różnymi kursami. Oba są zaksięgowane. Następnie je rozliczamy, powstaje więc różnica kursowa widoczna w Kasa/Bank/ Różnice kursowe.
    Następnie księgujemy różnicę kursową, jednak schemat jest błędnie zdefiniowany i RK jest księgowana po złej stronie konta, a w związku z tym nie można jej automatycznie rozrachować z dekretami dokumentów Dok1 i Dok2. Samo księgowanie różnicy kursowej się udaje, ale w logu z przebiegu księgowania, na końcu, mamy informację BŁĄD ROZRACHOWYWANIA DOKUMENTU (RKUR/1/2015/EUR) Nie udało się wykonać rozrachunku ponieważ rozrachunki są po tej samej stronie konta.

    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.

    Przykład
    Mamy dwa dokumenty Dok1 i Dok2 na kwotę 100PLN. Dokument Dok1 jest nierozliczony (N), Dok2 jest częściowo rozliczony z innym dokumentem (C). Oba dokumenty zostały zaksięgowane, powstały dekrety Dek1 i Dek2.
    Następnie generujemy rozrachunek między Dek1 a Dek2. Pojawia się komunikat „Wystąpił błąd podczas rozliczania dokumentów kasowych/bankowych. Nie można dokonać rozliczenia w module Kasa/Bank ponieważ kwota rozliczenia jest większa niż kwota pozostająca do rozliczenia. Rozrachunek został wygenerowany.”
    W efekcie dekrety Dek1 i Dek2 zostają rozrachowane, natomiast stan rozliczeń w module Kasa/Bank się nie zmienia.

     

     




    OPT050 – Korygowanie wypłat

    Data aktualizacji: 12-07-2023


    Spis treści



    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)

    W przypadku korygowania wypłat ZUS wymaga sporządzenia korygujących raportów miesięcznych za odpowiednie miesiące, których dotyczą zmiany. Natomiast urząd skarbowy w wielu przypadkach nie wymaga korygowania poprzednich lat (deklaracji), tylko rozliczenia podatkowego w bieżącym miesiącu, w którym dokonujemy korekty, uwzględniając odpowiednie zmiany. Wykorzystując proces korygowania na przełomie roku należy podchodzić z dużą rozwagą do rozliczeń podatkowo – składkowych z urzędami. Każdy przypadek musi być traktowany indywidualnie, dlatego w razie wątpliwości zalecamy konsultację tematu z ekspertami US/ZUS.

    Uwaga

    W przypadku, gdy pracownik dostarczył zwolnienie lekarskie z opóźnieniem (po naliczeniu wypłaty), to nie ma konieczności wykorzystania funkcjonalności anulowania wypłaty, tylko zaległą nieobecność można rozliczyć przy wykorzystaniu parametru „Miesięcy wstecz” na formularzu listy płac.

    W przypadku rozliczenia zaległych zwolnień lekarskich wykorzystanie opcji „Mies. wstecz” będzie możliwe tylko wtedy gdy za okres bieżącego miesiąca naliczone są elementy wynagrodzenia podlegające składkom społecznym.

    Przykład
     Pracownik dostarczył zwolnienie lekarskie za ostatnie dni miesiąca z opóźnieniem. W związku z tym za miesiąc poprzedni zostało wypłacone pełne wynagrodzenie. W miesiącu bieżącym pracownik w dalszym ciągu jest nieobecny (ani wynagrodzenie za czas choroby, ani zasiłek chorobowy nie podlegają składkom społecznym). W wypłacie z opcją „Miesięcy wstecz” nadpłacone składki nie zostaną potrącone, ponieważ podstawa do ZUS nie może być ujemna. W takim przypadku zalecamy wykonanie korygowania wypłaty za miesiąc poprzedni
    .

    W dokumencie zaprezentowana została funkcjonalność dotycząca tylko korygowania wypłat.

    2 Korygowanie wypłat

    W celu przeprowadzenia korekty wynagrodzenia dla danej osoby w programie istnieje możliwość anulowania:

    1. Wypłaty (zamkniętej lub zaksięgowanej);
    2. Nieobecności, gdy wcześniej została anulowana wypłata, w której jest rozliczona dana nieobecność;
    3. Zestawienia czasu pracy, gdy wcześniej została anulowana wypłata, w której jest rozliczone zestawienie.
    4. Wypłaty korygującej,
    5. Nieobecności korygującej, gdy wcześniej została anulowana wypłata korygująca, w której została rozliczona dana nieobecność.
    6. Zestawienie korygujące, gdy wcześniej została anulowana wypłata korygująca, w której zostało rozliczone zestawienie

    Uwaga
    Proces korygowania wypłaty jest działaniem jednorazowym, dlatego należy podejść do niego z dużą rozwagą.  W przypadku konieczności skorygowania wypłaty korygującej, należy naliczoną wcześniej wypłatę korygującą usunąć i naliczyć ją ponownie już z poprawnymi wartościami.  

    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.

    Uwaga
    Operacja anulowania wypłaty jest nieodwracalna, co oznacza, że Użytkownik programu samodzielnie nie jest w stanie przywrócić statusu wypłaty z anulowanej na podstawową. Może jedynie dokończyć proces korygowania i naliczyć wypłatę na liście płac korygującej. Aby przywrócić status wypłaty z anulowanej na podstawową należy skorzystać z pomocy Autoryzowanego Partnera.
    Wypłaty o statusie „Anulowane” nie są uwzględniane w wyliczeniach, deklaracjach, ani na wydrukach wykonywanych w programie.

    W celu anulowania wypłaty należy w oknie Wypłaty pracowników wybrać listę płac, na której jest naliczone „błędne” wynagrodzenie, podświetlić pracownika z wypłatą, a następnie pod prawym klawiszem myszy (menu kontekstowe) wybrać opcję Anuluj wypłatę lub Koryguj 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.

    Uwaga
     Nie można dodać kolejnej listy płac o tym samym numerze za ten sam okres. Dlatego jeżeli pierwotna lista korygująca ma symbol EKOR, to dodając kolejną korektę za ten sam okres należy podać inne oznaczenie listy. Istnieje możliwość zdefiniowania nowego dokumentu z innym symbolem listy płac (np. EKOR1, EKOR2).

    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.

    Wskazówka
    Opcja ‘Anuluj wypłatę’ skutkuje jedynie anulowaniem wypłaty. W celu kontynuowania wykonywania korekty, Użytkownik dodatkowo musi samodzielnie utworzyć listę płac korygującą, aby naliczyć wypłatę z poprawnymi wartościami.

    Po uruchomieniu tej funkcji pojawi się dodatkowo pytanie: Czy anulować wypłatę? Operacji nie można odwrócić! Wypłaty anulowane nie podlegają księgowaniu.

    Akceptacja spowoduje, że wypłata otrzyma status anulowanej i na liście płac wyświetlana będzie w kolorze szarym ze statusem ‘anulowana’.

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

    Wybranie opcji ‘Anuluj nieobecność’ oraz akceptacja operacji anulowania spowoduje, że nieobecność otrzyma status anulowanej i na liście wyświetlana będzie w kolorze  szarym.

    Opcja ‘Koryguj nieobecność’ spowoduje anulowanie nieobecności w tle oraz automatyczne wyświetlenie okna formularza nieobecności w celu dodania nieobecności korygującej. Nieobecność skorygowana będzie wyświetlana na liście w kolorze niebieskim.

    W przypadku, gdy nieobecność była wprowadzona nieprawidłowo i została anulowana, ponieważ okazało się, że pracownik był w tym czasie obecny, to nie korygujemy takiej nieobecności. Można także wpisać nowe nieobecności (na inne dni), które powinny być, a nie zostały rozliczone w danym okresie. W tym celu dodajemy ikoną plusa nową 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.

     

    Uwaga
    Operacja anulowania nieobecności lub zestawienia jest nieodwracalna, co oznacza, że Użytkownik programu samodzielnie nie jest w stanie przywrócić statusu z anulowanej na podstawową. Należy wówczas skorzystać z pomocy Autoryzowanego Partnera.
    Nieobecności i zestawienia o statusie „Anulowane” nie są uwzględniane w wyliczeniach, deklaracjach, ani na wydrukach wykonywanych w programie.

    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 . Aktualizacja zapisu powinna być zrobiona z datą odpowiadającą stanowi faktycznemu, np. jeśli pracownik zmienił miejsce zamieszkania z początkiem lipca  2023 (i w związku z tym przysługują mu podwyższone koszty uzyskania przychodu), to należy zaktualizować dane z datą  01.07.2023 i w zapisie aktualnym od tego dnia odnotować informację o podwyższonych kosztach uzyskania.

    2.5 Definiowanie listy płac korygującej

    Wskazówka

    Uwaga: Opcja ‘Koryguj wypłatę’ automatycznie tworzy listę płac korygującą z ustawieniami skopiowanymi z listy płac, na której znajduje się anulowana wypłata.

    Nie można dodać kolejnej listy płac o tym samym numerze za ten sam okres. Dlatego jeżeli pierwotna lista korygująca ma symbol EKOR, to dodając kolejną korektę za ten sam okres należy podać inne oznaczenie listy. Istnieje możliwość zdefiniowania nowego dokumentu z innym symbolem listy płac (np. EKOR1, EKOR2).

    Z głównego menu Płace i Kadry wybieramy Listy płac i dodajemy nową listę płac. Na formularzu listy płac:

    1. 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”);

    Wskazówka

     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.

    Uwaga
    Ustawienie daty wypłaty na liście płac korygującej jest bardzo istotne w przypadku liczenia średniej (z elementów zmiennych) do urlopu wypoczynkowego wg daty wypłaty (gdy w Konfiguracji firmy/ Płace/ Parametry jest zaznaczony parametr Średnia do urlopu wypoczynkowego wg daty wypłaty). W takiej sytuacji data wypłaty na liście korygującej powinna być zgodna z datą wypłaty na liście płac, na której została anulowana wypłata.
    Aby w bieżącej (najbliższej) wypłacie wygenerowała się „Spłata korekty netto wypłaty” (różnica w płatności między wypłatą anulowaną a korygującą) data wypłaty na liście płac korygującej powinna być przynajmniej o jeden dzień wcześniejsza niż data na liście płac dla bieżącego miesiąca.

    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ą  lub <INS>. Zostanie ona policzona według nowych (skorygowanych) ustawień.

    W pierwszej kolejności powinny zostać uzgodnione elementy (dodatki i potrącenia).  Elementy dodane wcześniej ręcznie powinny zostać uzupełnione przez Operatora. Następnie należy sprawdzić, czy składki ZUS (społeczne i zdrowotna) są prawidłowe.

    W przypadku zaliczki podatku sugerujemy skopiowanie podatku z wypłaty anulowanej (na taką, jaka była odprowadzona wcześniej do urzędu) – urząd skarbowy nie wymaga korygowania zeznania rocznego za poprzednie

    lata, tylko oczekuje rozliczenia ewentualnej niedopłaty/nadpłaty zaliczki podatku w bieżącym okresie rozliczeniowym.

    W celu skopiowania zaliczki podatku z wypłaty anulowanej należy w formularzu wypłaty przejść na zakładkę [Podatki] i nacisnąć  Kopiowanie zaliczki podatku. Po skopiowaniu zaliczki podatku w polu Zaliczka podatku do urzędu skarbowego powinna pojawić się wartość podatku z anulowanej wypłaty, a więc dokładnie kwota, którą Płatnik potrącił pracownikowi z wypłaty i odprowadził do urzędu skarbowego.

    Uwaga
    W przypadku, gdy wypłata korygującą dotyczy miesiąca deklaracji, za który firma jeszcze nie rozliczyła się z urzędem skarbowym (nie dokonała płatności do urzędu), to nie trzeba kopiować zaliczki podatku

    Uwaga

    W module Płace i Kadry Plus w wypłacie korygującej istnieje możliwość skopiowania kwoty zajęcia wynagrodzenia z wypłaty anulowanej. Przycisk do kopiowania pierwotnej kwoty zajęcia znajduje się na formularzu elementu wypłaty. Zmiana kwoty zajęcia spowoduje automatyczne przeliczenie płatności dla komornika.

    W ostatnim kroku należy uzgodnić kwotę płatności dla pracownika. W wypłacie korygującej zalecamy skopiowanie płatności z wypłaty anulowanej (na kwotę taką, jaką pracownik faktycznie otrzymał). Płatność generowana z wypłaty korygującej nie podlega rozliczeniu.

    W celu skopiowania płatności z wypłaty anulowanej należy w formularzu wypłaty korygującej przejść do Schematu płatności  (przycisk w dolnym prawym rogu okna) i w oknie listy płatności zaznaczyć parametr Ręczna korekta płatności w wypłacie.

    Po zaznaczeniu parametru Ręczna korekta płatności w wypłacie należy nacisnąć przycisk Kopiowanie listy płatności. Po naciśnięciu na ikonę pojawi się pytanie czy: Skopiować listę płatności z anulowanej wypłaty?. Akceptacja spowoduje skopiowanie płatności z anulowanej wypłaty.

    Po zapisaniu płatności na zakładce [Elementy wypłaty] pojawi się nowy składnik nieopodatkowany Korekta netto wypłaty” (jako różnica w płatności między wypłatą anulowaną a korygującą).

    Ta korekta netto wypłaty powinna zostać rozliczona w kolejnej wypłacie pracownika z wartością przeciwną, tzn. jeżeli w wypłacie korygującej została wygenerowana „Korekta netto wypłaty” jako kwota ujemna, to w najbliższej wypłacie powinna wygenerować się Spłata korekty netto wypłaty” z taką samą dodatnią kwotą i odwrotnie.

    Po skopiowaniu płatności z wypłaty anulowanej należy zapisać wypłatę korygującą. W tle zostanie wygenerowania również wypłata stornująca. W wypłacie ‘Stornującej’ wszystkie elementy zostawały naliczone dokładnie tak samo jak w wypłacie ‘Anulowanej’, ale z przeciwnym znakiem. Ma to znaczenie wyłącznie do księgowania wypłaty, aby wyksięgować wypłatę anulowaną lub aby wyliczyć różnicowo kwoty do zaksięgowania. Aby zobaczyć wypłatę stornującą należy podświetlić wypłatę korygującą (w oknie Wypłaty pracowników) i pod prawym przyciskiem myszy (menu kontekstowe) wybrać Pokaż wypłaty stornujące. Pojawi się okienko z wypłatą korygującą oraz stornującą.

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

    Uwaga
    Wypłata stornująca pomijana jest przy obliczeniach, deklaracjach, wydrukach.

    Jeżeli Użytkownik nie zdecyduje się na samodzielne ręczne korygowanie podatku i płatności według opisu powyżej, podczas zapisu wypłaty korygującej po naciśnięciu ikony ‘dyskietki’, pojawią się następujące pytania:

    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.

    Na oknie Wypłaty pracowników po wybraniu listy płac korygującej wyświetlane są osoby, które mają wypłatę o statusie anulowana na liście płac, z którą jest powiązana wybrana lista.

    W sytuacji, w której pierwotna lista korygująca ma symbol EKOR, to dodając kolejną korektę za ten sam okres należy podać inne oznaczenie listy. W przypadku wyboru użytego już wcześniej symbolu listy płac (EKOR) zostanie wyświetlony komunikat:

    Istnieje możliwość zdefiniowania nowego dokumentu z innym symbolem listy płac (np. EKOR1, EKOR2) z okna formularza listy płac po wybraniu opcji ‘Dokument’ i dodaniu nowego symbolu przy pomocy ikony ‘Plusa’.

    Wypłata korygująca nalicza się zgodnie z ustawieniami w danych pracownika, które są wprowadzone w momencie naliczania wypłaty korygującej. Dodatkowo w wypłacie korygującej do korekty naliczany jest nowy element ‘Korekta netto z poprzedniej wypłaty’. Składnik nalicza się w sytuacji, gdy w wypłacie anulowanej było wykonane kopiowanie płatności i był naliczony element ‘Korekta netto wypłaty’ lub ‘Korekta netto z poprzedniej wypłaty’. Element jest naliczany w celu poprawnego ustalenia różnicy w kwocie netto pomiędzy wypłatami.

    W wypłacie korygującej naliczanej do korekty, podobnie jak w pierwotnej korekcie, można skopiować zaliczkę podatku (na taką, jaka była zapisana w korekcie), oraz skopiować płatność z anulowanej wypłaty korygującej. Po skopiowaniu płatności, na zakładce [Elementy wypłaty], pojawi się składnik ‘Korekta netto wypłaty (jako różnica w płatności między anulowaną wypłatą korygującą, a bieżącą korektą). Przy braku ręcznego kopiowania podatku i płatności z anulowanej wypłaty, podczas zapisu wypłaty korygującej pojawią się pytania dotyczące kopiowania podatku oraz płatności z anulowanej wypłaty, analogicznie jak przy pierwszej wykonywanej korekcie.

    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.

    Jeżeli użytkownik w wypłacie korygującej nie decyduje się na kopiowanie płatności z wypłaty anulowanej, wtedy kwoty płatności z tych dwóch wypłat mogą różnić się i tą ewentualną różnicę należy wypłacić/potrącić pracownikowi. Jeśli różnica ma być wypłacona jako dodatkowy przelew, czy dodatkowa wypłata gotówki w kasie, to należy w module Kasa/Bank w Preliminarzu płatności podzielić płatność pracownika pochodzącą z wypłaty korygującej na dwie części (funkcja podziału płatności dostępna pod prawym przyciskiem myszy na danej płatności):

    • 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 i zapisać. Tak zapisaną deklarację możemy wyeksportować do pliku *.xml

    Przygotowując korygującą deklarację DRA program uwzględnia na nowo wszystkie załączniki, dla wszystkich osób (nie tylko dla osób, dla których były korygowane wypłaty). I tym samym na deklaracji DRA są wykazane pełne kwoty na poszczególne ubezpieczania (z wszystkich załączników).

    Wskazówka
    W korygującej deklaracji rozliczeniowej DRA płatność generowana jest w pełnej wysokości tzn. nie jest wyliczana różnica pomiędzy deklaracją korygującą a pierwotną.

    Jeżeli w wyniku korekty deklaracji wynika potrzeba dopłaty do ZUS, to w module Kasa/Bank z poziomu Preliminarza płatności można podzielić płatności wynikające z korygującej deklaracji DRA na 2 części (opcja pod prawym przyciskiem myszy na danej płatności):

    • zapłaconą, w której ustawiamy status na „Nie podlega” rozliczeniu;
    • należną do zapłaty, którą przelejemy do ZUS.

    Uwaga
    Korygująca deklaracja DRA zawsze zawiera załączniki dla wszystkich osób (nie tylko dla osób, dla których były korygowane wypłaty).

    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.

    Przykład

    Pracownik zatrudniony na stawkę  6000 zł, w 12.2022 był 5 dni na zwolnieniu lekarskim (05-09.12.2022), za które otrzymał wynagrodzenie za czas choroby zamiast zasiłku opiekuńczego nad chorym dzieckiem. Za ten miesiąc miał wypłacone:

    – wynagrodzenie zasadnicze w wys. 5000zł (6000 zł – 6000zł * 5/30 = 6000 zł – 1000 zł = 5000 zł)

    – wynagrodzenie chorobowe za 5 dni w wys. 690,30 zł (80%); podstawa zasiłku: 6000zł – 13,71% = 5177,40zł 

    W celu dokonania korekty w programie proponujemy wykonać następujące operacje:

    1. W oknie Wypłaty pracowników, wybrać listę płac za 12.2022, podświetlić wypłatę odpowiedniego pracownika, która jest zamknięta/zaksięgowana i pod prawym przyciskiem myszy wybrać opcję Koryguj wypłatę.

    2. Po wybraniu opcji Koryguj wypłatę pojawi się 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 anulowana. Automatycznie otworzy się okno formularza listy płac korygującej EKOR z domyślnymi ustawieniami odziedziczonymi z listy płac, na której została naliczona wypłata anulowana (Data wypłaty, okres wypłaty, miesięcy wstecz oraz rok i miesiąc deklaracji).

    3. W kalendarzu (Nie)obecności, na zakładce Nieobecności, należy podświetlić odpowiednią nieobecność (‘Zwolnienie chorobowe’: 05-09.12.2022), następnie pod prawym przyciskiem myszy należy wybrać opcję ‘Koryguj nieobecność’.

    Po wybraniu opcji ‘Koryguj nieobecność’ pojawi się pytanie:

    Czy skorygować nieobecność? Korygowanie wiąże się z anulowaniem nieobecności. Operacji nie można odwrócić!

    Po zaakceptowaniu komunikatu, nieobecność zostanie anulowana w tle oraz automatycznie zostanie wyświetlone okno formularza nieobecności w celu wprowadzenia nieobecności korygującej. W typie nieobecności należy wybrać ‘Urlop opiekuńczy (zasiłek). Następnie należy zapisać formularz nieobecności oraz kalendarz (Nie)obecności.

    4. Z poziomu okna Wypłaty pracowników oraz wskazaniu listy płac korygującej, dla wyświetlonego pracownika należy naliczyć wypłatę korygującą. W elementach wypłaty pojawi się składnik ‘Zasiłek opiekuńczy’ (zamiast wynagrodzenia za czas choroby). W tym kroku należy sprawdzić również poprawność wyliczeń pozostałych naliczonych elementów. Zapisujemy wypłatę.

    5. Podczas zapisu formularza wypłaty korygującej, Użytkownik otrzyma pytania:

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

    TAK – zaliczka podatku zostanie skopiowana z wypłaty anulowanej

    NIE – zaliczka podatku pozostanie bez zmian

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

    TAK – kwota płatności zostanie skopiowana z anulowanej wypłaty, w elementach

    6. Zapisujemy wypłatę korygującą.

    Wyliczenia w wypłacie anulowanej i korygującej:

    L.p.Opis pozycjiWypłata 12.2022
    (anulowana)
    Wypłata 12.2022
    (korygująca)
    Różnica
    (wypł. anul.– koryg.)
    1Wynagrodzenie zasadnicze5000,005000,00
    2Wynagrodzenie za czas choroby
    zostaje zmieniony na
    zasiłek opiekuńczy
    Wynagr.chorob.
    (80%)
    690,30
    Zasiłek opiekuńczy (80%)
    690,30
    3Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1)50005000
    4Składki społeczne finansowane przez pracownika
    (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%)
    685,50685,50
    5Podstawa składki zdrowotnej
    (poz.3-poz.4) + wynagrodzenie chorobowe
    5004,804314,50
    6Składka zdrowotna pobrana
    (poz.5x9%)
    450,43388,3162,12
    (nadpłata)
    7Koszty uzyskania przychodu250,00250,00
    8Ulga podatkowa300300
    9Podstawa opodatkowania po zaokrągleniu (poz.1+poz.2-poz.4-poz.7)4754,804754,80
    10Naliczona zaliczka podatku
    (poz.9 *12% - poz.8)
    270,60270,60
    11Zaliczka podatku do U.S.
    po zaokrągleniu
    271,00271,00 przed skopiowaniem podatku
    12Do wypłaty
    (poz.1+poz.2-poz.4-poz.6–poz.141
    2132,182136,25 przed skopiowaniem płatności- 62,12(niedopłata)

    Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności)

    13Zaliczka podatku do US
    skopiowana z wypłaty anulowanej
    271,00
    14Płatność do wypłaty
    skopiowana z wypłaty anulowanej
    4283,37
    15Korekta netto wypłaty-62,12(nadpłata składki zdrowotnej pobranej)

    W bieżącym miesiącu naliczając wypłatę etatową pojawi się automatycznie Spłata korekty netto wypłaty w wys. 62,12 zł (kwota dodatnia) jako zwrot nadpłaconej składki zdrowotnej pobranej.

    Uwaga

    W przypadku konieczności zwrotu składki zdrowotnej pobranej (9%):

    a) Za okres 12.2021r. – wartość zwróconej składki zdrowotnej nienależnie pobranej oraz poprzednio odliczonej od zaliczki podatku, powinna zostać doliczona w zeznaniu podatkowym, w roku, w którym nastąpił zwrot (art.45 ust.3a pkt.1 ustawy PIT).

    b) Po 01.01.2022r. – zwrot nadpłaconej składki zdrowotnej nie wpływa na zaliczkę podatku.


    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.

    Przykład

    Pracownik zatrudniony na stawkę 6000 zł, w marcu bieżącego roku był 15 dni na zwolnieniu lekarskim, za które otrzymał wynagrodzenie za czas choroby (zamiast zasiłku chorobowego z tytułu wypadku). Za ten miesiąc pracownik miał wypłacone:

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

    Podstawa zasiłku: 5177,40 zł (6000 zł – 13,71%)

    W celu dokonania korekty w programie proponujemy wykonać następujące operacje:

    1. W oknie Wypłaty pracowników, wybrać listę płac za 03.2023, podświetlić wypłatę odpowiedniego pracownika, która jest zamknięta/zaksięgowana i pod prawym przyciskiem myszy wybrać opcję Koryguj wypłatę.

    2. Po wybraniu opcji Koryguj wypłatę pojawi się 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 anulowana. Automatycznie otworzy się okno formularza listy płac korygującej EKOR z domyślnymi ustawieniami odziedziczonymi z listy płac, na której została naliczona wypłata anulowana (Data wypłaty, okres wypłaty, miesięcy wstecz oraz rok i miesiąc deklaracji). Zapisujemy.

    3. W kalendarzu (Nie)obecności, na zakładce Nieobecności, należy podświetlić odpowiednią nieobecność (01 – 15.03.2023), następnie pod prawym przyciskiem myszy należy wybrać opcję ‘Koryguj nieobecność’.

    Po wybraniu opcji ‘Koryguj nieobecność’ pojawi się pytanie:

    Czy skorygować nieobecność? Korygowanie wiąże się z anulowaniem nieobecności. Operacji nie można odwrócić!

    Po zaakceptowaniu komunikatu, nieobecność zostanie anulowana w tle oraz automatycznie zostanie wyświetlone okno formularza nieobecności w celu wprowadzenia nieobecności korygującej. W typie nieobecności należy wybrać: Zwolnienie chorobowe, przyczyna: Wypadek w pracy/choroba zawodowa. Następnie należy zapisać formularz nieobecności oraz kalendarz (Nie)obecności.

    4. Z poziomu okna Wypłaty pracowników oraz wskazaniu listy płac korygującej, dla wyświetlonego pracownika należy naliczyć wypłatę korygującą. W elementach wypłaty pojawi się składnik ‘’Zasiłek chorobowy/wyp.’ (zamiast wynagrodzenia za czas choroby). Należy edytować ten element wypłaty i skorygować % zasiłku ze 100% na 80% i przeliczyć. W tym kroku należy sprawdzić również poprawność wyliczeń pozostałych naliczonych elementów. Zapisujemy wypłatę.

    5. Podczas zapisu formularza wypłaty korygującej, Użytkownik otrzyma pytania:

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

    TAK – zaliczka podatku zostanie skopiowana z wypłaty anulowanej

    NIE – zaliczka podatku pozostanie bez zmian

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

    TAK – kwota płatności zostanie skopiowana z anulowanej wypłaty, w elementach pojawi się dodatkowy element ‘Korekta netto wypłaty’, który zostanie rozliczony z najbliższą wypłatą pracownika. W tym przypadku będzie to kwota nadpłaconej składki zdrowotnej.

    NIE – kwota do wypłaty pozostanie bez zmian

    6. Zapisujemy wypłatę korygującą.

    Wyliczenia w wypłacie anulowanej i korygującej:

    L.p.Opis pozycjiWypłata
    w marcu br.
    (anulowana)
    Wypłata
    w marcu br.
    (korygująca)
    Różnica
    (wypł. anulowana– koryg.)
    1Wynagrodzenie zasadnicze30003000
    2Wynagrodzenie za czas choroby zostaje zmienione na zasiłek chorobowy/wyp.2070,90Należ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
    3Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1)30003000
    4Składki społeczne finansowane przez pracownika
    (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%)
    411.30411.30
    5Podstawa skł. zdrowotnej
    (poz.3-poz.4) + wynagrodzenie chorobowe
    4659,602588,70
    6Składka zdrowotna pobrana
    (poz.5x9%)
    419,36232,98186,38(nadpłata)
    7Koszty uzyskania przychodu250,00250,00
    8Ulga podatkowa300,00300,00
    9Podstawa opodatkowania
    po zaokrągleniu
    (poz.1+poz.2-poz.4-poz.7)
    4409,604409,60
    10Naliczona zaliczka podatku
    (poz.9*12% -poz.8)
    229,20229,20
    11Zaliczka podatku do U.S.
    po zaokrągleniu
    229,00229,00 przed skopiowaniem podatku
    12Do wypłaty
    (poz.1+poz.2-poz.4-poz.6–poz.11)
    4011,244197,62 przed skopiowaniem płatności-186,38
    (niedopłata)

    Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności)

    13Zaliczka podatku do US
    skopiowana z wypłaty anulowanej
    229
    14Płatność do wypłaty
    skopiowana z wypłaty anulowanej
    4011,24
    15Korekta netto wypłaty-186,38(nadpłata składki zdrowotnej pobranej)

    Naliczając bieżącą wypłatę pojawi się automatycznie Spłata korekty netto wypłaty w wys.186,38 (zwrot nadpłaty składki zdrowotnej ). Dodajemy Wyrównanie zasiłku chorobowego z ubezpieczenia wypadkowego (20%), podając okres od – do, za który wyrównujemy (1-15.03 br) i kwotę wyrównania (w wys. 517,80)

    Wyliczenia w bieżącej wypłacie:

    L.p.Opis pozycjiWypłata bieżąca
    1Wynagrodzenie zasadnicze6000
    2Spłata korekty netto wypłaty
    (nieopodatkowany)
    186,38 1)
    3Wyrównanie zasiłku chorobowego z ubezp.wyp. (opodatkowany)517,80 2)
    4Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1)6000,00
    5Składki społeczne finansowane przez pracownika (poz.4x9,76% + poz.4x1,5% + poz.4x2,45%)822,60
    6Podstawa skł. zdrowotnej (poz.4-poz.5)5177,40
    7Składka zdrowotna pobrana (poz.6x9%)465,97
    8Koszty uzyskania przychodu250,00
    9Ulga podatkowa300
    10Podstawa opodatkowania (poz.1+poz.3-poz.5-poz.8)5445,20
    11Naliczona zaliczka podatku (poz.10*12% - poz.9)353,40
    15Zaliczka podatku do U.S. po zaokrągleniu353,00
    16Do wypłaty (poz.1+poz.2+poz.3-poz.5-poz.7-poz.12)5062,61

    1) Zwrot składki zdrowotnej pobranej niesłusznie w lutym br.

    2) Dodanie elementu wyrównania 20% zasiłku chorobowego z ubezpieczania wypadkowego.

    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 /

    Przykład

    Pracownik zatrudniony na stawkę 6000 zł, w 8.2022 był 10 dni (od 01-10.08.2022) na zwolnieniu lekarskim, za które otrzymał zasiłek chorobowy z ubezpieczenia wypadkowego, a powinien wynagrodzenie za czas choroby (był to wypadek w drodze do pracy) i pracownik nie wykorzystał 33 dni limitu w roku kalendarzowym. Za ten miesiąc miał wypłacone:

    • 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%),

    Podstawa zasiłku: 6000 zł – 13,71% = 5177,40 zł

    W celu dokonania korekty w programie proponujemy wykonać następujące operacje:

    1. W oknie Wypłaty pracowników, wybrać listę płac za 08.2022, podświetlić wypłatę odpowiedniego pracownika, która jest zamknięta/zaksięgowana i pod prawym przyciskiem myszy wybrać opcję Koryguj wypłatę.

    2. Po wybraniu opcji Koryguj wypłatę pojawi się 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 anulowana. Automatycznie otworzy się okno formularza listy płac korygującej EKOR z domyślnymi ustawieniami odziedziczonymi z listy płac, na której została naliczona wypłata anulowana (Data wypłaty, okres wypłaty, miesięcy wstecz oraz rok i miesiąc deklaracji). Zapisujemy.

    3. W kalendarzu (Nie)obecności, na zakładce Nieobecności, należy podświetlić odpowiednią nieobecność (01 – 15.08.2022), następnie pod prawym przyciskiem myszy należy wybrać opcję ‘Koryguj nieobecność’.

    Po wybraniu opcji ‘Koryguj nieobecność’ pojawi się pytanie:

    Czy skorygować nieobecność? Korygowanie wiąże się z anulowaniem nieobecności. Operacji nie można odwrócić!

    Po zaakceptowaniu komunikatu, nieobecność zostanie anulowana w tle oraz automatycznie zostanie wyświetlone okno formularza nieobecności w celu wprowadzenia nieobecności korygującej. W typie nieobecności należy wybrać: Zwolnienie chorobowe, przyczyna: Wypadek w drodze do/z pracy. Następnie należy zapisać formularz nieobecności oraz kalendarz (Nie)obecności.

    4. Z poziomu okna Wypłaty pracowników oraz wskazaniu listy płac korygującej, dla wyświetlonego pracownika należy naliczyć wypłatę korygującą. W elementach wypłaty pojawi się automatycznie składnik wynagrodzenie za czas choroby (100%), zamiast zasiłku chorobowego/wyp. (100%). W tym kroku należy sprawdzić również poprawność wyliczeń pozostałych naliczonych elementów. Zapisujemy wypłatę.

    5. Podczas zapisu formularza wypłaty korygującej, Użytkownik otrzyma pytania:

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

    TAK – zaliczka podatku zostanie skopiowana z wypłaty anulowanej

    NIE – zaliczka podatku pozostanie bez zmian

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

    TAK – kwota płatności zostanie skopiowana z anulowanej wypłaty, w elementach pojawi się dodatkowy element ‘Korekta netto wypłaty’, który zostanie rozliczony z najbliższą wypłatą pracownika. W tym przypadku będzie to kwota nadpłaconej składki zdrowotnej.

    NIE – kwota do wypłaty pozostanie bez zmian

    6. Zapisujemy wypłatę korygującą.

    Wyliczenia w wypłacie anulowanej i korygującej:

    L.p.Opis pozycjiWypłata 8.2020
    (anulowana)
    Wypłata 8.2020
    (korygująca)
    Różnica
    (wypł. anul.– koryg.)
    1Wynagrodzenie zasadnicze4000,004000,00
    2Zasiłek chorobowy/wyp zostaje zmieniony na Wynagrodzenie za czas chorobyZasiłek chor/wyp. (100%)
    1725,80
    Wynagr.
    chorobowe.
    (100%)
    1725,80
    3Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1)4000,004000,00
    4Składki społeczne finansowane przez pracownika
    (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%)
    548,40548,40
    5Podstawa składki zdrowotnej
    (poz.3-poz.4) + wynagr. chorobowe
    3451,605177,40
    6Składka zdrowotna
    (poz.5x9%)
    310,64465,97-155,33
    (niedopłata)
    7Koszty uzyskania przychodu250,00250,00
    8Ulga podatkowa300,00300,00
    9Podstawa opodatkowania
    (poz.1+poz.2-poz.4-poz.7)
    4927,404927,40
    10Naliczona zaliczka podatku (poz.9 *12% - poz.8)291,24291,24
    11Zaliczka podatku do U.S. po zaokrągleniu291,00291,00 przed skopiowaniem podatku
    12Do wypłaty
    (poz.1+poz.2-poz.4-poz.6–poz.11)
    4575,764420,43przed skopiowaniem płatności155,33(nadpłata)

    Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności)

    13Zaliczka podatkowa do US skopiowana z wypłaty anulowanej291,00
    14Płatność do wypłaty skopiowana z wypłaty anulowanej4575,76
    15Korekta netto wypłaty155,33

    Naliczając bieżącą wypłatę pojawi się automatycznie Spłata korekty netto wypłaty w wys. -155,33 zł jako potrącenie niedopłaty składki zdrowotnej.

    Wyliczenia w bieżącej wypłacie:

    L.p.Opis pozycjiWypłata bieżąca
    1Wynagrodzenie zasadnicze6000,00
    2Spłata korekty netto wypłaty (nieopodatkowany)-155,33 1)
    3Podstawa wymiaru składek na ubezpieczenia społeczne
    (poz.1)
    6000,00
    4Składki społeczne finansowane przez pracownika
    (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%)
    822,60
    5Podstawa składki zdrowotnej (poz.3-poz.4)5177,40
    6Składka zdrowotna pobrana (poz.5x9%)465,97
    7Koszty uzyskania przychodu250,00
    8Ulga podatkowa300,00
    9Podstawa opodatkowania po zaokrągleniu
    (poz.1-poz.4-poz.7)
    4927,40
    10Naliczona zaliczka podatku(poz.9 *12% - poz.9)291,24
    11Zaliczka podatku do U.S. po zaokrągleniu291,00
    12Do wypłaty
    (poz.1+poz.2-poz.4-poz.6-poz.11)
    4265,10

    1) Potrącenie z tytułu niedopłaty składki zdrowotnej (pobranej) w 08.2022.

    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 .

    Przykład

    Pracownik zatrudniony na stawkę 6000 zł, w marcu bieżącego roku był 2 dni (01-02.03) na zwolnieniu lekarskim, za które otrzymał zasiłek opiekuńczy a powienien wynagrodzenie za czas choroby. Za ten miesiąc pracownik miał wypłacone:

    • 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%),

    Podstawa zasiłku: 6000 zł – 13,71% = 5177,40 zł

    W celu dokonania korekty w programie proponujemy wykonać następujące operacje:

    1. W oknie Wypłaty pracowników, wybrać listę płac za marzec bieżącego roku, podświetlić wypłatę odpowiedniego pracownika, która jest zamknięta/zaksięgowana i pod prawym przyciskiem myszy wybrać opcję Koryguj wypłatę.

    2. Po wybraniu opcji Koryguj wypłatę pojawi się 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 anulowana. Automatycznie otworzy się okno formularza listy płac korygującej EKOR z domyślnymi ustawieniami odziedziczonymi z listy płac, na której została naliczona wypłata anulowana (Data wypłaty, okres wypłaty, miesięcy wstecz oraz rok i miesiąc deklaracji). Zapisujemy.

    3. W kalendarzu (Nie)obecności, na zakładce Nieobecności, należy podświetlić odpowiednią nieobecność (01 – 02.03.br), następnie pod prawym przyciskiem myszy należy wybrać opcję ‘Koryguj nieobecność’.

    Po wybraniu opcji ‘Koryguj nieobecność’ pojawi się pytanie:

    Czy skorygować nieobecność? Korygowanie wiąże się z anulowaniem nieobecności. Operacji nie można odwrócić!

    Po zaakceptowaniu komunikatu, nieobecność zostanie anulowana w tle oraz automatycznie zostanie wyświetlone okno formularza nieobecności w celu wprowadzenia nieobecności korygującej. W typie nieobecności należy wybrać: Zwolnienie chorobowe, przyczyna: Zwolnienie lekarskie. Następnie należy zapisać formularz nieobecności oraz kalendarz (Nie)obecności.

    4. Z poziomu okna Wypłaty pracowników oraz wskazaniu listy płac korygującej, dla wyświetlonego pracownika należy naliczyć wypłatę korygującą. W elementach wypłaty pojawi się automatycznie wynagrodzenie za czas choroby (80%), zamiast zasiłku opiekuńczego (80%). W tym kroku należy sprawdzić również poprawność wyliczeń pozostałych naliczonych elementów. Zapisujemy wypłatę.

    5. Podczas zapisu formularza wypłaty korygującej, Użytkownik otrzyma pytania:

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

    TAK – zaliczka podatku zostanie skopiowana z wypłaty anulowanej

    NIE – zaliczka podatku pozostanie bez zmian

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

    TAK – kwota płatności zostanie skopiowana z anulowanej wypłaty, w elementach pojawi się dodatkowy element ‘Korekta netto wypłaty’, który zostanie rozliczony z najbliższą wypłatą pracownika. W tym przypadku będzie to kwota nadpłaconej składki zdrowotnej.

    NIE – kwota do wypłaty pozostanie bez zmian

    6. Zapisujemy wypłatę korygującą.

    Wyliczenia w wypłacie anulowanej i korygującej:

    L.p.Opis pozycjiWypłata 9.2017
    (anulowana)
    Wypłata 9.2017
    (korygująca)
    Różnica
    (wypł. anul.– koryg.)
    1Wynagrodzenie zasadnicze5600,005600,00
    2Zasiłek chorobowy/wyp zostaje zmieniony na Wynagrodzenie za czas chorobyZasiłek opiekuńczy (80%)
    276,12
    Wynagr. chorobowe
    (80%)
    276,12
    3Podstawa wymiaru składek na ubezpieczenia społeczne (poz.1)5600,005600,00
    4Składki społeczne finansowane przez pracownika
    (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%)
    767,76767,76
    5Podstawa składki zdrowotnej
    (poz.3-poz.4) + wynagr. chorobowe
    4832,244832,24
    6Składka zdrowotna pobrana
    (poz.5x9%)
    434,90434,90-24,85
    (niedopłata)
    7Koszty uzyskania przychodu250,00250,00
    8Ulga podatkowa300,00300,00
    9Podstawa opodatkowania po
    (poz.1+poz.2-poz.4-poz.7)
    4858,364858,36
    10Naliczona zaliczka podatku (poz.9 *12% - poz.8)282,96282,96
    11Zaliczka podatku do U.S. po zaokrągleniu283,00283,00 przed skopiowaniem podatku
    12Do wypłaty
    (poz.1+poz.2-poz.4-poz.6–poz.11)
    4390,464 365,61 przed skopiowaniem płatności24,85(nadpłata)

    Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności)

    13Zaliczka podatkowa do US skopiowana z wypłaty anulowanej283,00
    14Płatność do wypłaty skopiowana z wypłaty anulowanej4390,46
    15Korekta netto wypłaty24,85(niedopłata skł. zdrow. pobranej

    Naliczając bieżącą wypłatę pojawi się automatycznie Spłata korekty netto wypłaty w wys. -12,43 zł (w tym przypadku pobranie niedopłaty składki zdrowotnej).

    Wyliczenia w bieżącej wypłacie:

    L.p.Opis pozycjiWypłata bieżąca
    1Wynagrodzenie zasadnicze6000,00
    2Spłata korekty netto wypłaty (nieopodatkowany)-24,85 1)
    3Podstawa wymiaru składek na ubezpieczenia społeczne
    (poz.1)
    6 000,00
    4Składki społeczne finansowane przez pracownika
    (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%)
    822,60
    5Podstawa składki zdrowotnej (poz.3-poz.4)5 177,40
    6Składka zdrowotna pobrana (poz.5x9%)465,97
    7Koszty uzyskania przychodu250
    8Ulga podatkowa300,00
    9Podstawa opodatkowania po zaokrągleniu
    (poz.1-poz.4-poz.7)
    4 927,40
    10Naliczona zaliczka podatku(poz.9 *12% - poz.8)291,24
    11Zaliczka podatku do U.S. po zaokrągleniu291,00
    12Do wypłaty
    (poz.1+poz.2-poz.4-poz.6-poz.11)
    4 395,58

    1) Potrącenie z tytułu niedopłaty składki zdrowotnej (pobranej) w marcu br.

    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.

    Przykład
    Pracownik zatrudniony na stawkę 6000 zł/mc w czerwcu bieżącego roku przebywał na urlopie wypoczynkowym w okresie 22-30.06. Po naliczeniu wypłaty za czerwiec br., dostarczył za ostatnie 2 dni czerwca (29-30.06) zwolnienie lekarskie, które przerywa urlop.

    W celu dokonania korekty w programie proponujemy wykonać następujące operacje:

    1. W oknie Wypłaty pracowników, wybrać listę płac za czerwiec bieżącego roku, podświetlić wypłatę odpowiedniego pracownika, która jest zamknięta/zaksięgowana i pod prawym przyciskiem myszy wybrać opcję Koryguj wypłatę.

    2. Po wybraniu opcji Koryguj wypłatę pojawi się 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 anulowana. Automatycznie otworzy się okno formularza listy płac korygującej EKOR z domyślnymi ustawieniami odziedziczonymi z listy płac, na której została naliczona wypłata anulowana (Data wypłaty, okres wypłaty, miesięcy wstecz oraz rok i miesiąc deklaracji). Zapisujemy.

    3. W kalendarzu (Nie)obecności, na zakładce Nieobecności, należy podświetlić odpowiednią nieobecność (22-30.06.br), następnie pod prawym przyciskiem myszy należy wybrać opcję ‘Koryguj nieobecność’.

    Po wybraniu opcji ‘Koryguj nieobecność’ pojawi się pytanie:

    Czy skorygować nieobecność? Korygowanie wiąże się z anulowaniem nieobecności. Operacji nie można odwrócić!

    Po zaakceptowaniu komunikatu, nieobecność zostanie anulowana w tle oraz automatycznie zostanie wyświetlone okno formularza nieobecności w celu wprowadzenia nieobecności korygującej. W typie nieobecności należy najpierw wprowadzić nieobecność Urlop wypoczynkowy (22-28.06) a następnie drugą nieobecność korygującą Zwolnienie chorobowe (29-30.06). Następnie należy zapisać formularz nieobecności oraz kalendarz (Nie)obecności.

    4. Z poziomu okna Wypłaty pracowników oraz wskazaniu listy płac korygującej, dla wyświetlonego pracownika należy naliczyć wypłatę korygującą. W elementach wypłaty pojawią się automatycznie składniki: wynagrodzenie za czas urlopu (22-28.06)  oraz wynagrodzenie za czas choroby (29-30.06). W tym kroku należy sprawdzić również poprawność wyliczeń pozostałych naliczonych elementów. Zapisujemy wypłatę

    5. Podczas zapisu formularza wypłaty korygującej, Użytkownik otrzyma pytania:

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

    TAK – zaliczka podatku zostanie skopiowana z wypłaty anulowanej

    NIE – zaliczka podatku pozostanie bez zmian – wskazujemy NIE, w tym przypadku zaliczka podatku nie została jeszcze odprowadzona do Urzędu Skarbowego za ten miesiąc.

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

    TAK – kwota płatności zostanie skopiowana z anulowanej wypłaty, w elementach pojawi się dodatkowy element ‘Korekta netto wypłaty’, który zostanie rozliczony z najbliższą wypłatą pracownika. W tym przypadku będzie to kwota nadpłaconej składki zdrowotnej.

    NIE – kwota do wypłaty pozostanie bez zmian

    6. Zapisujemy wypłatę korygującą.

    Wyliczenia w wypłacie anulowanej i korygującej:

    L.p.Opis pozycjiWypłata w czerwcu br. (anulowana)Wypłata w czerwcu br.
    (korygującą)
    Różnica
    (wypł. anul.– koryg.)
    1Wynagrodzenie zasadnicze4000,004 171,43
    2Wynagrodzenie za czas urlopu2000,001 428,57
    3Wynagrodzenie za czas chorobybrak276,12
    4Przychód
    (poz.1+poz.2+poz.3)
    6000,005 876,12123,88
    (nadpłata)
    5Podstawa wymiaru składek na ubezpieczenia społeczne
    (poz.1+poz.2)
    6 000,005 600,00
    6Składki społeczne finansowane przez pracownika
    (poz.5x9,76% + poz.5x1,5% + poz.5x2,45%)
    822,60767,7654,84
    (nadpłata)
    7Podstawa składki zdrowotnej
    (poz.5 - poz.6) + poz. 3 (wyn.chorob.)
    5 177,405 108,36
    8Składka zdrowotna pobrana
    (poz.7x9%)
    465,97459,756,22
    (nadpłata)
    9KUP250,00250,00
    10Ulga podatkowa300300
    11Podstawa opodatkowania
    (poz.4 -poz.6-poz.9)
    4 927,404 858,36
    12Naliczona zaliczka podatku(poz.11*12% -poz.10)291,24282,96
    13Zaliczka podatku do U.S. po zaokrągleniu291,00283,00 bez kopiowania zaliczki podatku8,00
    (nadpłata)
    14Do wypłaty (poz.4-poz.6-poz.8–poz.13)4 420,434 365,6154,82
    (nadpłata)

    Formularz wypłaty korygującej (po skopiowaniu kwot płatności)

    15Płatność do wypłaty skopiowana z wypłaty anulowanej4 420,43
    16Korekta netto wypłaty54,82(nadpłata kwoty do wypłaty)

    Naliczając bieżącą wypłatę pojawi się automatycznie Spłata korekty netto wypłaty w wys. 54,82.

    Wyliczenia w bieżącej wypłacie:

    L.p.Opis pozycjiWypłata bieżąca
    1Wynagrodzenie zasadnicze6 000,00
    2Spłata korekty netto wypłaty (nieopodatkowany)-54,82 1)
    3Podstawa wymiaru składek na ubezpieczenia społeczne
    (poz.1)
    6 000,00
    4Składki społeczne finansowane przez pracownika
    (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%)
    822,60
    5Podstawa składki zdrowotnej (poz.3-poz.4)5 177,40
    6Składka zdrowotna pobrana (poz.5x9%)465,97
    7Koszty uzyskania przychodu250
    8Ulga podatkowa300
    9Podstawa opodatkowania po zaokrągleniu
    (poz.1-poz.4-poz.7)
    4 927,40
    10Naliczona zaliczka podatku(poz.9 *12% - poz.7)291,00
    11Zaliczka podatku do U.S. po zaokrągleniu291,00
    12Do wypłaty
    (poz.1+poz.2-poz.4-poz.6-poz.11)
    4 365,61

    1) Potrącenie z tytułu nadpłaty kwoty netto w czerwcu br.

    Na deklaracji podatkowej PIT-11 za bieżący rok zostaną wykazana poprawne kwoty: przychodu, składek społecznych,  i zaliczki na podatek dochodowy. Pracownik nie będzie miał nadpłaty zaliczki podatku w zeznaniu rocznym z tytułu tej korekty.

    Uwaga

    Gdyby w wypłacie korygującej została skopiowana zaliczka podatku z wypłaty anulowanej (w wys. 191,00), to wówczas po skopiowaniu płatności Korekta netto wypłaty wyniosłaby 62,82 (nadpłata kwoty netto w wys. 54,82 i nadpłata podatku w wys. 8,00). W bieżącej wypłacie dokonane byłoby potrącenie w wys. 62,82  (jako Spłata korekty netto wypłaty).

    Nadpłata zaliczki podatku w wys. 8,00 może zostać rozliczona dopiero w zeznaniu rocznym lub poprzez zmniejszenie podatku w bieżącej wypłacie (poprzez korektę ręczną zaliczki podatku).


    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.

    Przykład
    ZUS poinformował, że pracownik w od 11 maja br. rozpoczął okres świadczenia rehabilitacyjnego. Za ten miesiąc wykazano wcześniej w raportach imiennych ZUS RSA nieobecność usprawiedliwioną (kod 151).

    W celu dokonania korekty w programie proponujemy wykonać następujące operacje:

    1. W oknie Wypłaty pracowników, należy wybrać listę płac za maj bieżącego roku, podświetlić wypłatę odpowiedniego pracownika, która jest zamknięta/zaksięgowana i pod prawym przyciskiem myszy wybrać opcję Koryguj wypłatę.

    2. Po wybraniu opcji Koryguj wypłatę pojawi się 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 anulowana. Automatycznie otworzy się okno formularza listy płac korygującej EKOR z domyślnymi ustawieniami odziedziczonymi z listy płac, na której została naliczona wypłata anulowana (Data wypłaty, okres wypłaty, miesięcy wstecz oraz rok i miesiąc deklaracji). Zapisujemy.

    3. W kalendarzu (Nie)obecności, na zakładce Nieobecności, należy podświetlić odpowiednią nieobecność (11-31.05 br), następnie pod prawym przyciskiem myszy należy wybrać opcję ‘Koryguj nieobecność’.

    Po wybraniu opcji ‘Koryguj nieobecność’ pojawi się pytanie:

    Czy skorygować nieobecność? Korygowanie wiąże się z anulowaniem nieobecności. Operacji nie można odwrócić!

    Po zaakceptowaniu komunikatu, nieobecność zostanie anulowana w tle oraz automatycznie zostanie wyświetlone okno formularza nieobecności w celu wprowadzenia nieobecności korygującej. W typie nieobecności należy wybrać: wybierając typ nieobecności – Urlop rehabilitacyjny. Następnie należy zapisać formularz nieobecności oraz kalendarz (Nie)obecności.

    4. W oknie Wypłaty pracowników wybrać listę korygującą i naliczyć wypłatę korygującą. Sprawdzić, czy naliczyły się poprawnie wszystkie elementy wypłaty. Usunąć z wypłaty element o nazwie „Świadczenie rehabilitacyjne”. Zaliczka podatku oraz kwota netto dla pracownika nie ulega zmianie – nie ma zatem potrzeby wykonywać kopiowania podatku ani kopiowania płatności. W związku z tym nie pojawi się również element Korekta netto wypłaty. Wypłatę korygującą należy zapisać.

    5. Podczas zapisu formularza wypłaty korygującej, Użytkownik otrzyma pytania:

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

    TAK – zaliczka podatku zostanie skopiowana z wypłaty anulowanej

    NIE – zaliczka podatku pozostanie bez zmian

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

    TAK – kwota płatności zostanie skopiowana z anulowanej wypłaty, w elementach pojawi się dodatkowy element ‘Korekta netto wypłaty’, który zostanie rozliczony z najbliższą wypłatą pracownika. W tym przypadku będzie to kwota nadpłaconej składki zdrowotnej.

    NIE – kwota do wypłaty pozostanie bez zmian

    Zaliczka podatku oraz kwota netto dla pracownika nie ulega zmianie – nie ma zatem potrzeby wykonywać kopiowania podatku ani kopiowania płatności. W związku z tym nie pojawi się również element Korekta netto wypłaty.

    6. Zapisujemy wypłatę korygującą.

    7. Założyć bieżącą etatową listę płac z opcją „Miesięcy wstecz”. Jeśli świadczenie rehabilitacyjne rozpoczęło się w maju, a bieżąca lista będzie liczona za czerwiec – wówczas należy ustawić Mies. wstecz = 1.

    Ilość miesięcy jest zależna od długości okresu jaki upłynął od miesiąca wyczerpania się prawa do zasiłku chorobowego do miesiąca, w którym dostarczono decyzję o przyznaniu świadczenia rehabilitacyjnego.

    8. Naliczyć wypłatę na bieżącej liście etatowej. Pojawi się Świadczenie rehabilitacyjne za okres bieżący oraz za okres poprzedni (zależnie od ustawienia Mies. Wstecz)

    Uwaga
    W dokumentach rozliczeniowych ZUS DRA za bieżący miesiąc zostaną dodane załączniki RSA z kodem 321 za zaległe okresy. Złożenie takiego kompletu dokumentów automatycznie będzie stanowić korektę wcześniej wysłanych raportów RSA z kodem 151.

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

    Przykład
    Pracownik zatrudniony na stawce 10 000 zł. ZUS poinformował, że pracownik w poprzednim roku (12.2022) przekroczył roczną podstawę składek emerytalnej i rentowej. Za ten miesiąc wykazano podstawę w wysokości 10000 zł, a powinna być w wysokości 5000 zł.

    W celu dokonania korekty w programie proponujemy wykonać następujące operacje:

    1. Na formularzu danych kadrowych pracownika (w zapisie historycznym aktualnym na 12/2022), na zakładce 5.Ubezpieczenie c.d. wprowadzić informację o przekroczeniu składek w miesiącu:

    Informacja przekazana przez – np. ZUS

    w polu Kwota wpisać 5000,00 zł z opcją Podstawa składki

    w pozycji Przekroczenie podstawy ustawić 12.2022 (miesiąc i rok deklaracji)

    Zapisać wprowadzone zmiany na formularz.

    2. W oknie Wypłaty pracowników, wybrać listę płac za 12.2022 (miesiąc i rok deklaracji: grudzień 2022), podświetlić wypłatę odpowiedniego pracownika, która jest zamknięta/zaksięgowana i pod prawym przyciskiem myszy wybrać opcję Koryguj wypłatę.

    3. Po wybraniu opcji Koryguj wypłatę pojawi się 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 anulowana. Automatycznie otworzy się okno formularza listy płac korygującej EKOR z domyślnymi ustawieniami odziedziczonymi z listy płac, na której została naliczona wypłata anulowana (Data wypłaty, okres wypłaty, miesięcy wstecz oraz rok i miesiąc deklaracji). Zapisujemy.

    4. Z poziomu okna Wypłaty pracowników oraz wskazaniu listy płac korygującej, dla wyświetlonego pracownika należy naliczyć wypłatę korygującą. Sprawdzić, czy naliczyły się poprawnie wszystkie elementy wypłaty, podstawa składek ER (w wys. 5000 zł) i składki. Zapisujemy wypłatę.

    5. Podczas zapisu formularza wypłaty korygującej, Użytkownik otrzyma pytania:

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

    TAK – zaliczka podatku zostanie skopiowana z wypłaty anulowanej

    NIE – zaliczka podatku pozostanie bez zmian

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

    TAK – kwota płatności zostanie skopiowana z anulowanej wypłaty, w elementach pojawi się dodatkowy element ‘Korekta netto wypłaty’, który zostanie rozliczony z najbliższą wypłatą pracownika. W tym przypadku będzie to kwota nadpłaconej składki zdrowotnej.

    NIE – kwota do wypłaty pozostanie bez zmian

    Na zakładce Elementy wypłaty sprawdzić, czy pojawiła się Korekta netto wypłaty – w tym przypadku jest to kwota w wys. – 512,33 zł jako różnica między nadpłatą składek ER (563 zł) i niedopłaty składki zdrowotnej pobranej (50,67 zł).

    6. Zapisujemy wypłatę korygującą.

     

    Wyliczenia w wypłacie anulowanej i korygującej:

    L.p.Opis pozycjiWypłata 12.2022
    (anulowana)
    Wypłata 12.2022(korygująca)Różnica
    (wypł. anul.– koryg.)
    1Wynagrodzenie zasadnicze10000,0010000,00
    2Podstawa składek emerytalnej i rentowej10000,005000,005000,00
    3Składka emerytalna (poz.2 x 9,76%)976,00488,00488,00
    4Składka rentowa (poz.2 x 1,5%)150,0075,0075,00
    5Podstawa składek chorobowej i wypadkowej10000,0010000,00
    6Składka chorobowa (poz.5 x 2,45%)245,00245,00
    7Składki ZUS pracownika (poz.3+poz.4+poz.6)1371,00808,00563,00 1)
    (nadpłata)
    8Podstawa zdrow. (poz.1-poz.7)8629,009192,00-563,00
    9Składka zdrowotna pobrana (poz.8x9%)776,61827,28-50,67
    (niedopłata)
    10KUP250,00250,00
    11Ulga podatkowa300300
    12Podstawa opodatkowania
    (poz.1-poz.7-poz.10)
    8379,008942,00
    13Naliczona zaliczka podatku (poz.12 *12% - poz.11)705,48773,04
    14Zaliczka podatku do U.S. po zaokrągleniu705,00773,00 przed skopiowaniem podatku-68,00 3)
    (niedopłata)
    15Do wypłaty
    (poz.1-poz.7-poz.9-poz.14)
    7 147,397 591,72przed skopiowaniem płatności-444,33

    Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności)

    16Zaliczka podatkowa do US skopiowana z wypłaty anulowanej705,00
    17Płatność do wypłaty skopiowana z wypłaty anulowanej7 147,39
    18Korekta 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

    Na zakładce [Podatki/Nieobecności]:

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

    Na zakładce [Szczegółowe]:

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

    Uwaga
    W bieżącej wypłacie pracownik otrzymuje do wypłaty „Spłatę korekty netto wypłaty” (nadpłatę składek społecznych pomniejszoną o niedopłatę składki zdrowotnej). Natomiast dodanie elementu „Zwrot składek ER” (który nie jest wypłacany) ma na celu opodatkowanie pełnej kwoty zwrotu składek ER (niepomniejszonej o niedopłatę składki zdrowotnej).

    W bieżącej wypłacie etatowej dodajemy element Zwrot składek ER” w wysokości 563,00 zł w celu zwiększania przychodu i naliczenia podatku.

    L.p.Opis pozycjiWypłata bieżąca
    1Wynagrodzenie zasadnicze10000,00
    2Spłata korekty netto wypłaty (nieopodatkowany)512,33 1)
    3Zwrot składek ER (opodatkowany)563,00 2)
    4Podstawa wymiaru składek na ubezpieczenia społeczne
    (poz.1)
    10000,00
    5Składki społeczne finansowane przez pracownika
    (poz.4x 9,76% + poz.4x 1,5% + poz.4x 2,45%)
    1 371,00
    6Podstawa składki zdrowotnej (poz.4-poz.5)8 629,00
    7Składka zdrowotna (poz.6 x 9%)776,61
    8Koszty uzyskania przychodu250,00
    9Ulga podatkowa300
    10Podstawa opodatkowania po zaokrągleniu
    (poz.1+ poz.3-poz.5-poz.8)
    8942,00
    11Naliczona zaliczka podatku
    (poz.10*12%-poz.9)
    773,00
    12Zaliczka podatku do U.S. po zaokrągleniu773,00 3)
    13Do wypłaty
    (poz.1+poz.2-poz.5-poz.7-poz.12)
    7 591,72

    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.

    Uwaga

    Art. 45 ust.3a Jeżeli podatnik, obliczając podatek należny, dokonał odliczeń od dochodu, podstawy obliczenia podatku lub podatku, a następnie otrzymał zwrot odliczonych kwot (w całości lub w części), w zeznaniu podatkowym składanym za rok podatkowy, w którym otrzymał ten zwrot, dolicza odpowiednio kwoty poprzednio odliczone.

    Ustawa o pdof nie określa, jaki dokument w takim przypadku powinien sporządzić pracodawca (wzór deklaracji PIT-11 nie zawiera pozycji umożliwiającej wykazywanie kwoty zwróconej składki zdrowotnej), więc można przyjąć, że ma tu zastosowanie ogólna reguła postępowania podatkowego, w myśl której dowodem może być wszystko co może przyczynić się do wyjaśnienia sprawy, a nie jest sprzeczne z prawem – art. 180 § 1 ustawy z dnia 29 sierpnia 1997 r. Ordynacja podatkowa (Dz. U. z 2005 r. nr 8, poz. 60 z późn. zm.)

    Na deklaracji PIT-11 za bieżący rok, w którym dokonujemy zwrotu składek ER:

    • 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

    Pracownik nie będzie miał niedopłaty/nadpłaty zaliczki podatku w zeznaniu rocznym z tytułu tej korekty.

    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.

    Przykład
    Pracownik zatrudniony na stawkę 8 000 zł. ZUS poinformował, że pracownik w marcu bieżącego roku przekroczył roczną podstawę składki emerytalnej i rentowej. Za ten miesiąc wykazano podstawę składek emerytalno-rentowych w wysokości 8000 zł, a powinna być w wysokości 2000 zł. (Pracownik jest zatrudniony w innej firmie, dlatego  przysługuje mu ulga podatkowa w 1/24 (150 zł).).

    W celu dokonania korekty w programie proponujemy wykonać następujące operacje:

    1. Na formularzu danych kadrowych pracownika (w zapisie historycznym aktualnym na marzec), na zakładce 5.Ubezpieczenie c.d. wprowadzić informację o przekroczeniu składek w miesiącu:

    Informacja przekazana przez – np. ZUS,

    w polu Kwota wpisać 2000,00 zł z opcją Podstawa składki,

    w pozycji Przekroczenie podstawy ustawić miesiąc marzec bieżącego roku (miesiąc i rok deklaracji).

    2. W oknie Wypłaty pracowników, wybrać listę płac za marzec bieżącego roku, podświetlić wypłatę odpowiedniego pracownika, która jest zamknięta/zaksięgowana i pod prawym przyciskiem myszy wybrać opcję Koryguj wypłatę.

    3. Po wybraniu opcji Koryguj wypłatę pojawi się 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 anulowana. Automatycznie otworzy się okno formularza listy płac korygującej EKOR z domyślnymi ustawieniami odziedziczonymi z listy płac, na której została naliczona wypłata anulowana (Data wypłaty, okres wypłaty, miesięcy wstecz oraz rok i miesiąc deklaracji). Zapisujemy.

    4. Z poziomu okna Wypłaty pracowników oraz wskazaniu listy płac korygującej, dla wyświetlonego pracownika należy naliczyć wypłatę korygującą. W tym kroku należy sprawdzić również poprawność wyliczeń pozostałych naliczonych elementów. Zapisujemy wypłatę

    5. Podczas zapisu formularza wypłaty korygującej, Użytkownik otrzyma pytania:

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

    [TAK] – zaliczka podatku zostanie skopiowana z wypłaty anulowanej

    NIE – zaliczka podatku pozostanie bez zmian

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

    [TAK] – kwota płatności zostanie skopiowana z anulowanej wypłaty, w elementach pojawi się dodatkowy element ‘Korekta netto wypłaty’, który zostanie rozliczony z najbliższą wypłatą pracownika. W tym przypadku będzie to kwota nadpłaconej składki zdrowotnej

    6. Zapisujemy wypłatę korygującą.

    Wyliczenia w wypłacie anulowanej i korygującej:

    L.p.Opis pozycjiWypłata za marzec br. (anulowana)Wypłata za marzec br. (korygująca)Różnica
    (wypł. anul.– koryg.)
    1Wynagrodzenie zasadnicze8 000,008 000,00
    2Podstawa składek emerytalnej i rentowej8 000,002 000,006 000,00
    3Składka emerytalna (poz.2 x 9,76%)780,80195,20585,60
    4Składka rentowa (poz.2 x 1,5%)120,0030,0090,00
    5Podstawa składek chorobowej i wypadkowej8 000,008 000,00
    6Składka chorobowa (poz.5 x 2,45%)196,00196,00
    7Składki ZUS pracownika (poz.3+poz.4+poz.6)1 096,80421,20675,60 1)
    (nadpłata)
    8Podstawa zdrow. (poz.1-poz.7)6 903,207 578,80-675,60
    9Składka zdrowotna (poz.8x9%)621,29682,09-60,80
    (niedopłata)
    10KUP250,00250,00
    11Ulga podatkowa150,00150,00
    12Podstawa opodatkowania
    (poz.1-poz.7-poz.10)
    ~6653 ~7329
    13Naliczona zaliczka podatku (poz.12 *12% - poz.11)648,36729,48
    14Zaliczka podatku do U.S. po zaokrągleniu648,00729,00 przed skopiowaniem podatku-81,00 2)
    (niedopłata)
    15Do wypłaty
    (poz.1-poz.7-poz.9-poz.14)
    5 633,916 167,71 przed skopiowaniem płatności-533,80

    Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności)

    16Zaliczka podatkowa do US skopiowana z wypłaty anulowanej648,00
    17Płatność do wypłaty skopiowana z wypłaty anulowanej5 633,91
    18Korekta netto wypłaty-614,80(nadpłata skł. ZUS 675,60 – niedopłata skł. zdrow. 60,80)

    1) Kwota zwrotu składek emerytalnej i rentowej nie powinna zwiększać bieżącego przychodu, ponieważ przychód (z marca br) jest właściwy, tylko od tego przychodu nie zostały poprawnie naliczone składki.

    2) Kwota niedopłaty podatku w wysokości 81,00 zł wynika z braku opodatkowania nadpłaty składek ER, czyli: 676,00 zł (zaokrąglenie nadpłaty składek ER) *12% = 81,12, po zaokrągleniu 81,00 zł

    W bieżącej wypłacie etatowej (np. za kwiecień br.) automatycznie pojawi się Spłata korekty netto wypłaty w wys. 614,80 zł jako różnica między nadpłatą składek ER (675,60 zł) i niedopłaty składki zdrowotnej  (60,80 zł). Jest to element nieopodatkowany, który wyrównuje tylko kwotę netto (płatność) dla pracownika.

    W tej wypłacie nie dodajemy elementu opodatkowanego (jako zwrotu nadpłaty składek ER), ponieważ tegoroczny przychód (z marca br.) jest właściwy, tylko od tego przychodu nie zostały poprawnie naliczone składki. Podatek odprowadzony w zbyt niskiej wysokości zostanie uzupełniony poprzez ręczna korektę zaliczki do US w bieżącej wypłacie.

    Wyliczenia w bieżącej wypłacie:

    L.p.Opis pozycjiWypłata bieżącaKorekta podatku
    i ubezpieczeń
    1Wynagrodzenie zasadnicze8000,00
    2Spłata korekty netto wypłaty (nieopodatkowany)614,80 1)
    3Podstawa składek emerytalnej i rentowej0,00
    4Składka emerytalna (poz.3 x 9,76%)0,00
    5Składka rentowa (poz.3 x 1,5%)0,00
    6Podstawa składek chorobowej i wypadkowej8000,00
    7Składka chorobowa (poz.6 x 2,45%)196,00
    8Składki ZUS pracownika (poz.4+poz.5+poz.7)196,00
    9Podstawa składki zdrowotnej (poz.6-poz.8)7804,00
    10Składka zdrowotna (poz.9 x 9%)702,36
    11Koszty uzyskania przychodu250,00
    12Ulga podatkowa150,00
    13Podstawa opodatkowania po zaokrągleniu
    (poz.1- poz.8-poz.11)
    7554,00
    14Naliczona zaliczka podatku(poz.13*12%-poz.12)756,48
    15Zaliczka podatku do U.S. po zaokrągleniu756,00837,00 2)
    zwiększona o +81,00
    (756,00 + 81,00)
    16Do wypłaty
    (poz.1+poz.2-poz.8-poz.10-poz.15)
    6 960,446 879,44

    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.

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

    Pracownik nie będzie miał w zeznaniu rocznym niedopłaty podatku.

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

    Przykład
    ZUS poinformował, że pracownik w poprzednim roku (12.2022) przekroczył roczną podstawę składek: emerytalnej i rentowej. Za ten miesiąc wykazano podstawę w wysokości 8000 zł, a powinna być w wysokości 3000 zł. Obecnie osoba nie jest już zatrudniona w firmie.

    W celu dokonania korekty w programie proponujemy wykonać następujące operacje:

    1. Na formularzu danych kadrowych pracownika (w zapisie historycznym aktualnym na grudzień), na zakładce Ubezpieczenie c.d. wprowadzić informację o przekroczeniu składek w miesiącu:

    Informacja przekazana przez – np. ZUS,

    w polu Kwota wpisać 3000,00 zł z opcją Podstawa składki,

    w pozycji Przekroczenie podstawy ustawić miesiąc 12.2022 (miesiąc i rok deklaracji).

    2. W oknie Wypłaty pracowników, wybrać listę płac za grudzień bieżącego roku, podświetlić wypłatę odpowiedniego pracownika, która jest zamknięta/zaksięgowana i pod prawym przyciskiem myszy wybrać opcję Koryguj wypłatę.

    3. Po wybraniu opcji Koryguj wypłatę pojawi się 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 anulowana. Automatycznie otworzy się okno formularza listy płac korygującej EKOR z domyślnymi ustawieniami odziedziczonymi z listy płac, na której została naliczona wypłata anulowana (Data wypłaty, okres wypłaty, miesięcy wstecz oraz rok i miesiąc deklaracji). Zapisujemy.

    4. Z poziomu okna Wypłaty pracowników oraz wskazaniu listy płac korygującej, dla wyświetlonego pracownika należy naliczyć wypłatę korygującą. W tym kroku należy sprawdzić również poprawność wyliczeń pozostałych naliczonych elementów. Zapisujemy wypłatę.

    5. Podczas zapisu formularza wypłaty korygującej, Użytkownik otrzyma pytania:

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

    TAK – zaliczka podatku zostanie skopiowana z wypłaty anulowanej

    NIE – zaliczka podatku pozostanie bez zmian

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

    TAK – kwota płatności zostanie skopiowana z anulowanej wypłaty, w elementach pojawi się dodatkowy element ‘Korekta netto wypłaty’, który zostanie rozliczony z najbliższą wypłatą pracownika. W tym przypadku będzie to kwota nadpłaconej składki zdrowotnej.

    NIE – kwota do wypłaty pozostanie bez zmian

    Na zakładce Elementy wypłaty sprawdzić, czy pojawiła się Korekta netto wypłaty – w tym przypadku jest to kwota 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,67zł). Wypłatę korygującą zapisać.

    6. Zapisujemy wypłatę korygującą.

    Wyliczenia w wypłacie anulowanej i korygującej:

    L.p.Opis pozycjiWypłata 12.2022
    (anulowana)
    Wypłata 12.20202(korygująca)Różnica
    (wypł. anul.– koryg.)
    1Wynagrodzenie zasadnicze8 000,008 000,00
    2Podstawa składek emerytalnej i rentowej8 000,003 000,005 000,00
    3Składka emerytalna (poz.2 x 9,76%)780,80292,80488,00
    4Składka rentowa (poz.2 x 1,5%)120,0045,0075,00
    5Podstawa składek chorobowej i wypadkowej8 000,008 000,00
    6Składka chorobowa (poz.5 x 2,45%)196,00196,00
    7Składki ZUS pracownika (poz.3+poz.4+poz.6)1 096,80533,80563,00 1)
    (nadpłata)
    8Podstawa zdrow. (poz.1-poz.7)6 903,207 466,20-563,00
    9Składka zdrowotna (poz.8x9%)621,29671,96-50,67
    (niedopłata)
    10KUP250,00250,00
    11Ulga podatkowa300300
    12Podstawa opodatkowania
    (poz.1-poz.7-poz.10)
    ~6 653~7 216
    13Naliczona zaliczka podatku (poz.12*12%-poz.11)498,36565,92
    14Zaliczka podatku do U.S. po zaokrągleniu498,00566,0000 przed skopiowaniem podatku-68,00
    (niedopłata) 2)
    15Do wypłaty
    (poz.1-poz.7-poz.9-poz.14)
    5 783,916 228,24 przed skopiowaniem płatności-444,33

    Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności)

    16Zaliczka podatkowa do US skopiowana z wypłaty anulowanej498,00
    17Płatność do wypłaty skopiowana z wypłaty anulowanej5 783,91
    18Korekta 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

    Na zakładce [Podatki/Nieobecności]:

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

    Na zakładce [Szczegółowe]:

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

    Na liście typu Inna za bieżący miesiąc dodajemy wypłatę z ręcznie wskazanym elementem (zakładka nr 2, ikona zielonego plusa) o nazwie 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 w celu opodatkowania kwoty zwrotu składek ER w pełnej wysokości (563,00 zł) należy dodać „Zwrot składek ER”.

    Uwaga
    W wypłacie pracownik otrzymuje do wypłaty „Spłatę korekty netto wypłaty” (nadpłatę składek społecznych pomniejszoną o niedopłatę składki zdrowotnej). Natomiast dodanie elementu „Zwrot składek ER” (niewypłacanego na kwotę do wypłaty) ma na celu opodatkowanie pełnej kwoty zwrotu składek ER (niepomniejszonej o niedopłatę składki zdrowotnej).

    Wyliczenia w bieżącej wypłacie na liście typu Inne:

    L.p.Opis pozycjiWypłata bieżącaKorekta podatku I ubezpieczeń
    1Spłata korekty netto wypłaty (nieopodatkowany)512,33 1)
    2Zwrot składek ER (opodatkowany)563,00 2)
    3 Koszty uzyskania przychodu250,00
    4Podstawa opodatkowania po zaokrągleniu
    (poz.2-poz.3)
    313,00
    5Zaliczka podatku przed odjęciem składki zdrowotnej
    (poz.4*12%)
    37,56
    6Zaliczka podatku do U.S. po zaokrągleniu38,00 3)106,00
    Zwiększona o +68,00
    (38,00 + 68,00)
    7Do wypłaty
    (poz.1-poz.6)
    474,33406,33

    1) Wypłacenie elementu nieopodatkowanego, wpływającego tylko na płatność pracownika, jako zwrot nadpłaty składek ER pomniejszonej o niedopłatę składki zdrowotnej.

    2) Wypłacenie elementu w celu opodatkowania zwrotu składek ER.

    3) W celu skorygowania zaliczki podatku należy najpierw zapisać wypłatę i ponownie edytować, następnie zaznaczyć pole „Korekta podatku i ubezpieczeń” i ręcznie wpisać wyliczoną kwotę zaliczki podatku do US w wys. 106,00 zł.

     

    Na deklaracji PIT-11 za bieżący rok, w którym dokonujemy zwrotu składek ER zostanie wykazane:

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

    Uwaga

    Dla ZUS niedopłata składki zdrowotnej  (w wys. 50,67 zł) zostanie wykazana na korekcie raportu RCA za mc 12.2022.


    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.

    Przykład

    Pracownik zatrudniony na stawce miesięcznej – 6000 zł. W czerwcu pierwotnie miał naliczone zwolnienie lekarskie w dniach 26.-30.06. W wypłacie zostały naliczone nastepujące elementy:

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

    Okres zwolnienia 26-30.06 zakwalifikowano jako wypadek w pracy. Dlatego tez skorygowano wypłatę za czerwiec.

    We wrześniu br. otrzymano pismo z ZUS, z informacją o przekroczeniu rocznej podstawy składek. W piśmie poinformowano, że podstawa składek w miesiącu czerwcu powinna wynieść 3000 zł. W związku z przesłanym pismem, należy ponownie skorygować wypłatę za czerwiec.

    W celu dokonania pierwszej korekty w programie, związanej z rozliczeniem nieprawidłowej nieobecności proponujemy wykonać następujące operacje:

    1. W oknie Wypłaty pracowników, wybrać listę płac za czerwiec bieżącego roku, podświetlić wypłatę odpowiedniego pracownika, która jest zamknięta/zaksięgowana i pod prawym przyciskiem myszy wybrać opcję Koryguj wypłatę.

    2. Po wybraniu opcji Koryguj wypłatę pojawi się 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 anulowana. Automatycznie otworzy się okno formularza listy płac korygującej EKOR z domyślnymi ustawieniami odziedziczonymi z listy płac, na której została naliczona wypłata anulowana (Data wypłaty, okres wypłaty, miesięcy wstecz oraz rok i miesiąc deklaracji). Zapisujemy.

    3. W kalendarzu (Nie)obecności, na zakładce Nieobecności, należy podświetlić odpowiednią nieobecność (26-30.06.br), następnie pod prawym przyciskiem myszy należy wybrać opcję ‘Koryguj nieobecność’.

    Po wybraniu opcji ‘Koryguj nieobecność’ pojawi się pytanie:

    Czy skorygować nieobecność? Korygowanie wiąże się z anulowaniem nieobecności. Operacji nie można odwrócić.

    4. Po zaakceptowaniu komunikatu, nieobecność zostanie anulowana w tle oraz automatycznie zostanie wyświetlone okno formularza nieobecności w celu wprowadzenia nieobecności korygującej. W typie nieobecności należy wprowadzić nieobecność korygującą Zwolnienie chorobowe (29-30.06) z przyczyną ‘Wypadek w pracy / choroba zawodowa’. Następnie należy zapisać formularz nieobecności oraz kalendarz (Nie)obecności.

    5. Z poziomu okna Wypłaty pracowników oraz wskazaniu listy płac korygującej, dla wyświetlonego pracownika należy naliczyć wypłatę korygującą. W elementach wypłaty pojawią się automatycznie składniki: zasiłek chorobowy/wyp. (29-30.06). W tym kroku należy sprawdzić również poprawność wyliczeń pozostałych naliczonych elementów. Zapisujemy wypłatę.

    6. Podczas zapisu formularza wypłaty korygującej, Użytkownik otrzyma pytania:

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

    TAK – zaliczka podatku zostanie skopiowana z wypłaty anulowanej

    NIE – zaliczka podatku pozostanie bez zmian – wskazujemy NIE, w tym przypadku zaliczka podatku nie została jeszcze odprowadzona do Urzędu Skarbowego za ten miesiąc.

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

    TAK – kwota płatności zostanie skopiowana z anulowanej wypłaty, w elementach pojawi się dodatkowy element ‘Korekta netto wypłaty’, który zostanie rozliczony z najbliższą wypłatą pracownika. W tym przypadku będzie to kwota nadpłaconej składki zdrowotnej.

    NIE – kwota do wypłaty pozostanie bez zmian

    7. Zapisujemy wypłatę korygującą.

    Wyliczenia w wypłacie anulowanej i korygującej:

    L.pOpis pozycjiWypłata
    czerwiec
    br.
    (anulowana)
    Wypłata
    czerwiec
    br.
    (korygująca)
    Różnica
    (wypł. anulowana– koryg.)
    1Wynagrodzenie zasadnicze5000,005000,00
    2Wynagrodzenie 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
    3Podstawa wymiaru składek na ubezpieczenia społeczne
    (poz.1)
    5000,005000,00
    4Składki społeczne finansowane przez pracownika
    (poz.3x9,76% + poz.3x1,5% + poz.3x2,45%)
    685,50685,50
    5Podstawa skł. zdrowotnej
    (poz.3-poz.4) + wynagrodzenie chorobowe
    5004,804314,50
    6Składka zdrowotna
    (poz.5x9%)
    450,43388,3162,12
    (nadpłata)
    7Koszty uzyskania przychodu250,00250,00
    8Ulga podatkowa300,00300,00
    9Podstawa opodatkowania
    (poz.1+poz.2-poz.4-poz.7)
    ~4 755~4 755
    10Naliczona zaliczka podatku
    (poz.9*12% -poz.8)
    270,60270,60
    11Zaliczka podatku do U.S.
    po zaokrągleniu
    271,00271,00 przed skopiowaniem podatku
    12Do wypłaty
    (poz.1+poz.2-poz.4-poz.6–poz.11)
    4 283,374 345,49
    przed skopiowaniem płatności
    -62,12
    (niedopłata)

    Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności)

    13Zaliczka podatku do US
    skopiowana z wypłaty anulowanej
    271,00
    14Płatność do wypłaty
    skopiowana z wypłaty anulowanej
    4 283,37
    15Korekta netto wypłaty -62,12(nadpłata składki zdrowotnej)

    Naliczając bieżącą wypłatę pojawi się automatycznie Spłata korekty netto wypłaty w wys. 62,12 (zwrot nadpłaty składki zdrowotnej). Dodajemy Wyrównanie zasiłku chorobowego z ubezpieczenia wypadkowego (20%), podając okres od – do, za który wyrównujemy (26-30.06 br) i kwotę wyrównania (w wys. 172,60)

    Wyliczenia w bieżącej wypłacie:

    L.pOpis pozycjiWypłata bieżąca
    1Wynagrodzenie zasadnicze6000,00
    2Spłata korekty netto wypłaty
    (nieopodatkowany)
    62,12 1)
    3Wyrównanie zasiłku chorobowego z ubezp.wyp.
    (opodatkowany)
    172,60 2)
    4Podstawa wymiaru składek na ubezpieczenia społeczne
    (poz.1)
    6000,00
    5Składki społeczne finansowane przez pracownika
    (poz.4x9,76% + poz.4x1,5% + poz.4x2,45%)
    822,60
    6Podstawa skł. zdrowotnej (poz.4-poz.5)5177,40
    7Składka zdrowotna (poz.6x9%)465,97
    8Koszty uzyskania przychodu250,00
    9Ulga podatkowa300,00
    10Podstawa opodatkowania po zaokrągleniu
    (poz.1+poz.3-poz.5-poz.8)
    5 100,00
    11Naliczona zaliczka podatku
    (poz.10*12% - poz.9)
    312,00
    12Zaliczka podatku do U.S. po zaokrągleniu312,00
    13Do wypłaty
    (poz.1+poz.2+poz.3-poz.5-poz.7- poz.12)
    4 634,15

    1) Zwrot składki zdrowotnej niesłusznie pobranej w czerwcu br.

    2) Dodanie elementu wyrównania 20% zasiłku chorobowego z ubezpieczania wypadkowego.

    Po otrzymaniu informacji z ZUS, dotyczącej przekroczenia podstawy składek emerytalno- rentowych konieczne jest ponowne skorygowanie wypłaty za czerwiec br.

    W celu wykonania korekty do wypłaty już skorygowanej za czerwiec br. należy wykonać następujące kroki:

    1. Na formularzu danych kadrowych pracownika (w zapisie historycznym aktualnym na czerwiec), na zakładce Ubezpieczenie c.d. wprowadzić informację o przekroczeniu składek w miesiącu:

    Informacja przekazana przez – ZUS,

    w polu Kwota wpisać 3000,00 zł z opcją Podstawa składki,

    w pozycji Przekroczenie podstawy ustawić miesiąc 06.2023 (miesiąc i rok deklaracji).

    2. W oknie Wypłaty pracowników, wybrać listę płac korygująca EKOR/2023/6, podświetlić wypłatę odpowiedniego pracownika, która jest zamknięta/zaksięgowana i pod prawym przyciskiem myszy wybrać opcję Koryguj wypłatę.

    3. Po wybraniu opcji Koryguj wypłatę pojawi się 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 anulowana. Automatycznie otworzy się okno formularza listy płac korygującej EKOR z domyślnymi ustawieniami odziedziczonymi z listy płac, na której została naliczona wypłata anulowana (Data wypłaty, okres wypłaty, miesięcy wstecz oraz rok i miesiąc deklaracji). Wybieramy ‘Dokument’, za pomocą ‘Plusa’ dodajemy nowy symbol, np. EKOR1. Wskazujemy i zapisujemy formularz listy płac.

    4. Z poziomu okna Wypłaty pracowników oraz wskazaniu listy płac korygującej EKOR1, dla wyświetlonego pracownika należy naliczyć wypłatę korygującą. W tym kroku należy sprawdzić również poprawność wyliczeń pozostałych naliczonych elementów. W składniku Zasiłek chorobowy/wyp należy zmienić procent ze 100% na 80%, przeliczyć oraz zapisać element.

    W wypłacie zostanie naliczony element Korekta netto z poprzedniej wypłaty w kwocie -62,12. Składnik nalicza się w sytuacji, gdy w wypłacie anulowanej było wykonane kopiowanie płatności i był naliczony element ‘Korekta netto wypłaty’. Element jest naliczany w celu poprawnego ustalenia różnicy w kwocie netto pomiędzy wypłatami. Zapisujemy wypłatę.

    5. Podczas zapisu formularza wypłaty korygującej, Użytkownik otrzyma pytania:

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

    TAK – zaliczka podatku zostanie skopiowana z wypłaty anulowanej

    NIE – zaliczka podatku pozostanie bez zmian

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

    TAK – kwota płatności zostanie skopiowana z anulowanej wypłaty, w elementach pojawi się dodatkowy element ‘Korekta netto wypłaty’, który zostanie rozliczony z najbliższą wypłatą pracownika. W tym przypadku będzie to kwota nadpłaconej składki zdrowotnej.

    NIE – kwota do wypłaty pozostanie bez zmian

    Na zakładce Elementy wypłaty należy sprawdzić, czy pojawiła się Korekta netto wypłaty – w tym przypadku jest to kwota w wys.-204,94 jako różnica między nadpłatą składek ER i niedopłaty składki zdrowotnej.

    6. Zapisujemy wypłatę korygującą.

    Wyliczenia w wypłacie anulowanej i korygującej:

    L.pOpis pozycjiWypłata korygująca
    (anulowana) 06.2023
    Wypłata (korygująca nr 2) 06.2023Różnica
    (wypł. anul.– koryg.)
    1Wynagrodzenie zasadnicze5 000,005 000,00
    2Zasiłek chorobowy/wyp.690,30Należna wartość zasiłku wyp.
    (100%)
    862,90
    która zostaje zmniejszona do kwoty 80%
    690,30
    3Korekta netto z poprzedniej wypłaty-62,12-62,12
    4Podstawa składek emerytalnej i rentowej5 000,003000,002000,00
    5Składka emerytalna (poz.4 x 9,76%)488,00292,80
    6Składka rentowa (poz.4 x 1,5%)75,0045,00
    7Podstawa składek chorobowej i wypadkowej5 000,005 000,00
    8Składka chorobowa (poz.7 x 2,45%)122,50122,50
    9Składki ZUS pracownika (poz.5+poz.6+poz.8)685,50460,30225,20 1)
    (nadpłata)
    10Podstawa zdrow. (poz.1-poz.9)4 314,504 539,70-225,20
    11Składka zdrowotna (poz.10x9%)388,31408,57-20,26 (niedopłata)
    12Koszty uzyskania przychodu250,00250,00
    13Ulga podatkowa300,00300,00
    14Podstawa opodatkowania
    (poz.1+poz.2-poz.9-poz.12)
    4 754,80 ~47554 980,00
    15Naliczona zaliczka podatku
    (poz.14*12%-poz.13)
    270,60297,60
    16Zaliczka podatku do U.S.
    po zaokrągleniu
    271,00298,00 przed skopiowaniem podatku- 27,00
    (niedopłata) 2)
    17Do wypłaty
    (poz.1+poz.2+poz.3-poz.9 i poz.11 - poz.16)
    4 283,374 461,31
    przed skopiowaniem płatności
    -177,94

    Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności)

    18Zaliczka podatkowa do US skopiowana z wypłaty anulowanej271,00
    19Płatność do wypłaty
    skopiowana z wypłaty anulowanej
    4 283,37
    20Korekta netto wypłaty
    (nowy element nieopodatkowany)
    -204,94(nadpłata skł. ZUS 225,20 – niedopłata skł. zdrow. 20,26)

    1) Kwota zwrotu składek emerytalnej i rentowej nie powinna zwiększać bieżącego przychodu, ponieważ przychód (z czerwca br) jest właściwy, tylko od tego przychodu nie zostały poprawnie naliczone składki.
    2) Kwota niedopłaty podatku w wysokości 27,00 zł wynika z braku opodatkowania nadpłaty składek ER, czyli: 225,00 zł (zaokrąglenie nadpłaty składek ER) *12% = 27,00 zł.

    Wraz z naliczeniem bieżącej wypłaty zostanie naliczony składnik ‘Spłata korekty netto’ w kwocie 204,94.

    Wyliczenia w bieżącej wypłacie:

    L.pOpis pozycjiWypłata bieżącaKorekta podatku i ubezpieczeń
    1Wynagrodzenie zasadnicze6 000,00
    2Spłata korekty netto wypłaty (nieopodatkowany)204,94 1)
    3Podstawa składek emerytalnej i rentowej0,00
    4Składka emerytalna (poz.3 x 9,76%)0,00
    5Składka rentowa (poz.3 x 1,5%)0,00
    6Podstawa składek chorobowej i wypadkowej6 000,00
    7Składka chorobowa (poz.6 x 2,45%)147,00
    8Składki ZUS pracownika (poz.4+poz.5+poz.7)147,00
    9Podstawa składki zdrowotnej (poz.6-poz.8)5 853,00
    10Składka zdrowotna (poz.9 x 9%)526,77
    11Koszty uzyskania przychodu250,00
    12Ulga podatkowa300,00
    13Podstawa opodatkowaniaPodstawa opodatkowania
    (poz.1 - poz.8-poz.11)
    5 603,00
    14Naliczona zaliczka podatku
    (poz.13*12%-poz.12)
    372,36
    15Zaliczka podatku do U.S. po zaokrągleniu372399,00 2)
    Zwiększona o +27(372,00+27,00)
    16Do wypłaty
    (poz.1+poz.2-poz.8-poz.10-poz.18 poz.15)
    5 159,175132,17

    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.

    Uwaga

    Zgodnie ze stanowiskiem Ministerstwa Finsnaów z dnia 30 marca 2023 (sygn. DD3.8203.1.2023), w sytuacji opłacenia zaległych składek przez podatnika, nie stanowią one przychodu zleceniobiorcy.

    „zapłacenie przez płatnika składek zaległych składek sus oraz składek zdrowotnych dotyczących pracowników, zleceniobiorców, byłych pracowników lub zleceniobiorców nie powoduje po stronie tych podatników powstania przychodu w rozumieniu art. 11 ust. 1 ustawy PIT. Zapłata przez płatnika składek zaległych składek z ww. tytułów nie stanowi przysporzenia majątkowego zwiększającego majątek podatnika, i jako taka, nie może być uznana za nieodpłatne świadczenie na rzecz podatnika.”

    Uwaga
    W przypadku korekty składek na ubezpieczenia społeczne i składki na ubezpieczenie zdrowotne zleceniobiorcy za lata ubiegłe, płatnik ani podatnik nie korygują rozliczeń podatku dochodowego od osób fizycznych za te lata. Pobrane przez płatnika zaliczki na podatek dochodowy, sporządzone przez niego za te lata deklaracje PIT-4R i informacje PIT-11, a także zeznanie roczne podatnika, odzwierciedlały bowiem stan faktyczny istniejący w dniu ich sporządzenia, tj. wysokość składek faktycznie pobranych przez płatnika w danym roku.

    Uwaga
    Gdyby zleceniobiorca zwrócił płatnikowi równowartość zapłaconych za niego zaległych składek, to wówczas mógłby w rocznym zeznaniu podatkowym odliczyć odpowiednio od dochodu .

    Przykład
    Zleceniobiorca wykonywał umowę o dzieło w miesiącu 12.2022 na kwotę 4000 zł. Obecnie również wykonuje umowę na rzecz firmy. W wyniku kontroli ZUS umowa o dzieło z 12.2022 ma zostać przekwalifikowana na umowę zlecenie, która powinna podlegać obowiązkowo ubezpieczeniu emerytalnemu, rentowemu, wypadkowemu oraz zdrowotnemu (bez chorobowego).

    W celu dokonania korekty (za poszczególne miesiące) w programie proponujemy wykonać następujące operacje:

    1. W oknie Wypłaty pracowników wybrać listę płac za 12.2022, podświetlić wypłatę odpowiedniej osoby – zleceniobiorcy, która jest zamknięta / zaksięgowana, pod prawym przyciskiem myszy z menu kontekstowego należy wybrać ‘Koryguj wypłatę’.

    2. Po wybraniu opcji Koryguj wypłatę pojawi się 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 anulowana. Automatycznie otworzy się okno formularza listy płac korygującej EKOR z domyślnymi ustawieniami odziedziczonymi z listy płac, na której została naliczona wypłata anulowana (Data wypłaty, okres wypłaty, miesięcy wstecz oraz rok i miesiąc deklaracji). Zapisujemy.

    Uwaga
    Po otworzeniu okna formularza listy płac istnieje możliwość utworzenia własnego symbolu listy płac korygującej. Opis znajduje się w punkcie 2.7

    3. W formularzu umowy dokonać zmiany rodzaju umowy z „PIT-8B 6.Umowa o dzieło 20%” na „PIT 8B 6.Przychody z osob.wyk.działaln.”, następnie należy w zakładce 2. Ubezpieczenia uzupełnić kod tytułu ubezpieczenia (0411) oraz zaznaczyć, jakim ubezpieczeniom podlega ta umowa (emerytalnemu, rentowemu, wypadkowemu i zdrowotnemu, bez chorobowego) i od kiedy (np. 1.12.2022).

    4. Z poziomu okna Wypłaty pracowników oraz wskazaniu listy płac korygującej, dla zleceniobiorcy należy naliczyć wypłatę korygującą. W tym kroku należy sprawdzić wartość brutto umowy oraz naliczone składki. Zapisujemy wypłatę.

    5. Podczas zapisu wypłaty korygującej, Użytkownik otrzyma pytania:

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

    TAK – zaliczka podatku zostanie skopiowana z wypłaty anulowanej

    NIE – zaliczka podatku pozostanie bez zmian

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

    TAK – kwota płatności zostanie skopiowana z anulowanej wypłaty, w elementach pojawi się dodatkowy element ‘Korekta netto wypłaty’, który zostanie rozliczony z najbliższą wypłatą pracownika. W tym przypadku będzie to kwota nadpłaconej składki zdrowotnej.

    NIE – kwota do wypłaty pozostanie bez zmian

    Uwaga
    W przypadku jeżeli podatnik uzgodnił ze zleceniobiorcą, aby potrącić zaległe składki na ubezpieczenie społeczne wraz z jego następną wypłatą, wówczas w pkt. 5 należałoby skopiować schemat płatności z wypłaty anulowanej. W wypłacie korygującej pojawi się składnik Korekta netto wypłaty, którego rozliczenie nastąpi z najbliższą wypłatą zleceniobiorcy

    6. Zapisujemy wypłatę korygującą

    Wyliczenia w wypłacie anulowanej i korygującej:

    L.p.Opis pozycjiWypłata 12.2022
    (anulowana)
    Wypłata 12.2022
    (korygująca)
    Różnica
    (wypł. anul.– koryg.)
    1Umowa o dzieło później zamieniona na umowę zlecenie4000,004000,00
    2Podstawa składek społecznych (bez chorobowej) (poz.1)0,004000,00
    3Składki społeczne finansowane przez pracownika (E, R, bez chorobowej)
    (poz.2x9,76% + poz.2x1,5%)
    0,00450,40-450,40
    (niedopłata)
    4Podstawa składki zdrowotnej
    (poz.2-poz.3)
    0,003 549,60
    5Składka zdrowotna
    (poz.4x9%)
    0,00319,46-319,46
    (niedopłata)
    6KUP 20% ((poz.1-poz.3)*20%)800709,92
    7Podstawa opodatkowania (poz.1-poz.3-poz.6)3200,00~2 840
    8Naliczona zaliczka podatku (poz.7*12%)384,00340,80
    9Zaliczka podatku do U.S. po zaokrągleniu384,00341,00przed skopiowaniem podatku43,00
    (nadpłata)
    10Do wypłaty
    (poz.1-poz.3-poz.5-poz.109)
    3 616,002 889,14 przed skopiowaniem płatności726,86
    (nadpłata)

    Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności)

    11Zaliczka podatku do US skopiowana z wypłaty anulowanej384,00
    12Płatność do wypłaty skopiowana z wypłaty anulowanej3 616,00
    13Korekta netto wypłaty769,86

    Jeżeli Użytkownik zdecyduje się na kopiowanie schematu płatności, przy naliczaniu bieżącej wypłaty umowy zlecenia powinna pojawić się automatycznie Spłata korekty netto wypłaty w wys. –769,86 jako potrącenie (netto) w wysokości sumy zaległych składek społecznych ( 450,40 zł) i zaległej składki zdrowotnej  ( 319,46 zł).

    Ten element może pojawić się jako druga wypłata na liście płac (domyślnie) lub jako drugi element wypłaty w wypłacie (w przypadku zaznaczonego parametru „Rozlicz zasiłki ZUS i spłaty pożyczek/zaliczek w  wypłacie umów cywilnoprawnych” w konfiguracji firmy / Płace / Parametry – zalecany sposób).

    Po naliczeniu bieżącej wypłaty z umowa zlecenia w wys. 4000 zł oraz elementu Spłata korekty netto wypłaty w wys. -769,86  zł  dodajemy ręcznie element Zaległy ZUS / zlecenie / firma (PIT-11)” w wys. 769,86  zł zł.

     Wyliczenia w bieżącej wypłacie:

    L.p.Opis pozycjiWypłata bieżąca
    1Umowa zlecenie4000,00
    2Spłata korekty netto wypłaty (nieopodatkowany)-769,86 1)
    3Zaległy ZUS / zlecenie / firma (PIT-11) (opodatkowany i ozusowany)769,86
    4Podstawa składek społecznych (bez chorobowej)4 769,86
    5Składki społeczne pracownika (E, R, bez chorobowej)
    (poz.4x9,76% + poz.4x1,5%)
    537,09
    6Podstawa składki zdrowotnej (poz.4-poz.5)4 232,77
    7Składka zdrowotna (poz.6 x 9%)380,95
    8Koszty uzyskania przychodu 20%846,55
    9Podstawa opodatkowania
    (poz.1+ poz.3-poz.5-poz.8)
    ~3 386
    10Naliczona zaliczka podatku
    (poz.9*`12%)
    406,32
    11Zaliczka podatku do U.S. po zaokrągleniu406,00
    12Do wypłaty
    (poz.1+poz.2 (ujemna) +poz.3-poz.5-poz.7-poz.11)
    2 675,96

    1) Potrącenie netto zaległych składek, które będą sfinansowane przez płatnika poprzez dodanie elementu „Zaległy ZUS / zlecenie / firma (PIT-11)” – dodatkowego przychodu pracownika.

    W deklaracji PIT-11 za bieżący rok przychód będzie powiększony o kwotę zapłaconych przez firmę zaległych składek (768,86 zł), od którego zostały naliczone składki ZUS, koszty uzyskania przychodu oraz zaliczka na podatek.

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

    Przykład
    Zleceniobiorca w 12.2022 przekroczył roczną podstawę składek emerytalno-rentową. Za ten miesiąc wykazano podstawę w wys. 10000 zł, a powinna być w wys. 5000 zł. Umowa podlegała również dobrowolnie ubezpieczeniu chorobowemu. W umowie były naliczane 20% koszty uzyskania przychodu. Obecnie osoba nie jest zatrudniona w firmie ani w ramach umowy cywilnoprawnej, ani w ramach umowy o pracę.

    W celu dokonania korekty w programie proponujemy wykonać następujące operacje:

    1. Na formularzu danych kadrowych pracownika (w zapisie historycznym aktualnym na grudzień), na zakładce Ubezpieczenie c.d. wprowadzić informację o przekroczeniu składek w miesiącu:

    Informacja przekazana przez – np. ZUS,

    w polu Kwota wpisać 5000,00 zł z opcją Podstawa składki,

    w pozycji Przekroczenie podstawy ustawić miesiąc 12.2022 (miesiąc i rok deklaracji).

    2. W oknie Wypłaty pracowników, wybrać listę płac za 12.2022, podświetlić wypłatę odpowiedniego pracownika, która jest zamknięta/zaksięgowana i pod prawym przyciskiem myszy wybrać opcję Koryguj wypłatę.

    3. Po wybraniu opcji Koryguj wypłatę pojawi się 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 anulowana. Automatycznie otworzy się okno formularza listy płac korygującej EKOR z domyślnymi ustawieniami odziedziczonymi z listy płac, na której została naliczona wypłata anulowana (Data wypłaty, okres wypłaty, miesięcy wstecz oraz rok i miesiąc deklaracji). Zapisujemy.

    4. Z poziomu okna Wypłaty pracowników oraz wskazaniu listy płac korygującej, dla wyświetlonego zleceniobiorcy należy naliczyć wypłatę korygującą. Zapisujemy wypłatę.

    5.Podczas zapisu formularza wypłaty korygującej, Użytkownik otrzyma pytania:

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

    TAK – zaliczka podatku zostanie skopiowana z wypłaty anulowanej

    NIE – zaliczka podatku pozostanie bez zmian

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

    TAK – kwota płatności zostanie skopiowana z anulowanej wypłaty, w elementach pojawi się dodatkowy element ‘Korekta netto wypłaty’, który zostanie rozliczony z najbliższą wypłatą pracownika. W tym przypadku będzie to kwota nadpłaconej składki zdrowotnej.

    NIE – kwota do wypłaty pozostanie bez zmian

    Na zakładce Elementy wypłaty sprawdzić, czy pojawiła się Korekta netto wypłaty – w tym przypadku jest to kwota 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,67zł). Wypłatę korygującą zapisać.

    6. Zapisujemy wypłatę korygującą.

    Wyliczenia w anulowanej i korygującej wypłacie:

    L.p.Opis pozycjiWypłata 12.2022
    (anulowana)
    Wypłata 12.2022(korygująca)Różnica
    (wypł. anul.– koryg.)
    1Umowa zlecenie10 000,0010 000,00
    2Podstawa składek emerytalnej i rentowej10 000,005000,005000,00
    3Składka emerytalna (poz.2 x 9,76%)976,00488,00488,00
    4Składka rentowa (poz.2 x 1,5%)150,0075,0075,00
    5Podstawa składek chorobowej i wypadkowej10 000,0010 000,00
    6Składka chorobowa (poz.5 x 2,45%)245,00245,00
    7Składki ZUS pracownika (poz.3+poz.4+poz.6)1 371,00808,00563,00 1)
    (nadpłata)
    8Podstawa zdrowotnej (poz.1-poz.7)8 629,009 192,00-563,00
    9Składka zdrowotna (poz.8x9%)776,61827,28-50,67
    (niedopłata)
    10KUP 20% ((poz.1-poz.7)*20%)1 725,801 838,40
    11Podstawa opodatkowania
    (poz.1-poz.7-poz.12)
    ~6 903~7 354
    12Naliczona zaliczka podatku
    (poz.11 *12%)
    828,36882,48
    13Zaliczka podatku do U.S. po zaokrągleniu
    828,00882,00 przed skopiowaniem podatku-54,00 2)
    (niedopłata)
    14Do wypłaty
    (poz.1-poz.7-poz.9-poz.13)
    7 024,397 482,72 przed skopiowaniem płatności-458,33(niedopłata)

    Formularz wypłaty korygującej (po skopiowaniu kwot podatku i płatności)

    18Zaliczka podatkowa do US skopiowana z wypłaty anulowanej828,00
    19Płatność do wypłaty skopiowana z wypłaty anulowanej7 024,39
    20Korekta 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.

    2) Kwota niedopłaty podatku w wys. 54,00 zł wynika z braku opodatkowania nadpłaty składek ER z uwzględnieniem odliczenia niedopłaty składki zdrowotnej odliczonej, czyli 563,00 (nadpłata skł.ER) – 112,60 zł (563,00*20%KUP) = 450,40, po zaokrągleniu 450,00*12% = 54,00 zł.

    Kwota zwrotu składek ER (563,00 zł) powinna być wykazana jako przychód (z działalności wykonywanej osobiście, o którym mowa w art. 13 pkt 8 ustawy o pdof), od którego należy obliczyć 20% KUP oraz 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 / zlecenie” i proponujemy ustawienie pól:

    Na zakładce [Ogólne]:

    • Rodzaj – Dodatek
    • Algorytm 1 – kwota
    • Automatycznie korygować wynagrodzenie z tytułu – niezaznaczone

    Na zakładce [Podatki/Nieobecności]:

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

    Na zakładce [Szczegółowe]:

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

    Na liście typu Inna za bieżący miesiąc ręcznie dodajemy 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 w celu opodatkowania kwoty zwrotu składek ER w pełnej wysokości (563,00) należy dodać „Zwrot składek ER / zlecenie”.

    Uwaga
    W wypłacie pracownik otrzymuje do wypłaty „Spłatę korekty netto wypłaty” (nadpłatę składek społecznych pomniejszoną o niedopłatę składki zdrowotnej). Natomiast dodanie elementu „Zwrot składek ER” (niewypłacanego) ma na celu opodatkowanie pełnej kwoty zwrotu składek ER (niepomniejszonej o niedopłatę składki zdrowotnej).

    Wyliczenia w bieżącej wypłacie na liście typu Inne:

    L.p.Opis pozycjiWypłata bieżąca
    1Spłata korekty netto wypłaty (nieopodatkowany)512,33 1
    2Zwrot składek ER / zlecenie (opodatkowany)563,00 2)
    320% KUP (poz.2 * 20%)112,60
    4Podstawa opodatkowania
    (poz.2 - poz.3)
    ~450
    5Zaliczka podatku do U.S. po zaokrągleniu54,00 3)
    6Do wypłaty
    (poz.1 - poz.5)
    458,33

    1) Wypłacenie elementu nieopodatkowanego, wpływającego tylko na płatność pracownika, jako zwrot nadpłaty składek ER pomniejszonej o niedopłatę składki zdrowotnej.

    2) Wypłacenie elementu w celu opodatkowania zwrotu składek ER.

    3) W celu skorygowania zaliczki podatku należy najpierw zapisać wypłatę i ponownie edytować, następnie zaznaczyć pole „Korekta podatku i ubezpieczeń” i wpisać ręcznie wyliczoną kwotę zaliczki podatku do US w wysokości 54,00 zł.

    Na deklaracji PIT-11 za bieżący rok, w którym dokonujemy zwrotu składek ER zostanie wykazane:

    • Przychód z osobiście wykonywanej działalności w wysokości 563,00   
    • Koszty uzyskania przychodu w wysokości 112,60 zł
    • Zaliczka podatku w wysokości 54,00 zł

     

    Uwaga

    Dla ZUS niedopłata składki zdrowotnej pobranej (w wys. 50,67) zostanie wykazana na korekcie raportu RCA za mc 12.2022.




    CRM

    CRM

     

    Poprawiono

    1. Wysyłka wiadomości SMS z poziomu karty kontrahenta powodowała wyświetlanie komunikatu: Określona metoda nie jest obsługiwana. Działanie poprawiono.