OPT083 Usługa Comarch OCR – instrukcja instalacji i korzystania


Wstęp

OCR – Optyczne Rozpoznanie Znaków (ang. Optical Character Recognition) to usługa, która umożliwia wczytywanie faktur do rejestru VAT na podstawie skanów i zdjęć dokumentów. Usługa dostępna w Comarch ERP Optima od wersji 2019.2 (Premiera 31.01.2019).



Uwaga
Do uruchomienia usługi wystarczy zapoznać się z regulaminem, uzupełnić dane, potwierdzić zgodę i kliknąć „Prześlij”!. Każdy z Użytkowników może skorzystać z pakietu DEMO (50 dokumentów na okres jednego miesiąca). Cennik usługi dostępny jest na https://www.comarch.pl/ocr/

Jakie dokumenty rozpoznajemy i jakie dane z dokumentów odczytujemy?

Comarch OCR rozpoznaje dane z faktur w walucie PLN dodawanych do rejestru VAT zakupu/sprzedaży. Rozpoznawane są faktury z pojedynczych plików (jedna faktura to jeden plik) oraz od wersji 2019.5 Comarch ERP Optima możliwe jest również rozpoznawanie wielu faktur znajdujących się w jednym pliku pdf (jedna strona to jedna faktura). Na dokument dodawany jest atrybut NUMER_STRONY, który odpowiada za poprawne wyświetlanie skanu na dokumencie w rejestrze VAT.

  • numer NIP – po znalezieniu numeru NIP sprzedawcy/nabywcy jest on sprawdzany w rejestrze GUS, po czym na dokument w rejestrze zakupu/sprzedaży VAT przenoszone są dane pobrane z GUS,
  • numer dokumentu,
  • data wystawienia i sprzedaży,
  • forma płatności i termin płatności,
  • stawki VAT oraz kwoty,
  • numer rachunku bankowego.

Jakich dokumentów nie potrafi jeszcze rozpoznać i przetworzyć usługa Comarch OCR

  • nie są obsługiwane faktury wypisywane odręcznie
  • nie są obsługiwane faktury zaliczkowe
  • nie są obsługiwane rachunki
  • nie są obsługiwane paragony
  • nie są obsługiwane dokumenty w walutach obcych,

Jak robić zdjęcia lub skany

Podczas pracy z Comarch OCR aby zmaksymalizować poprawność rozpoznawania danych trzeba zwrócić uwagę na poniższe informacje:

  • potrzebny jest dobrej jakości skan dokumentu lub zdjęcie dokumentu w formacie jpg, pdf, tiff, png lub jpeg (w przypadku formatu jpeg potrzebna jest wersja Comarch ERP Optima 2020.0),
  • skan dokumentu/zdjęcie powinny być wykonane w pionie zgodnie z orientacją tekstu na dokumencie,
  • maksymalny rozmiar pliku to 20 MB,
  • maksymalny rozmiar pojedynczej strony to 5MB.

Zadbaj o dobrą jakość graficzną obrazu faktury. Zdjęcia faktury rób przy dobrym oświetlaniu,

Generuj obraz w pionie (zgodnie z poprawnym widokiem do czytania) i możliwie bez przekrzywień,

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

Uruchomienie usługi

Krok 1

W Konfiguracji->Program->OCR znajduje się możliwość wskazania jednego z trzech miejsc przechowywania skanów.

Należy zdecydować, w którym miejscu będą zapisywane skany dokumentów.

Domyślnie zaznaczonym parametrem jest Zapisz w bazie.

Decydując się na zapisywanie w IBARD lub na dysku należy wskazać taki katalog, do którego dostęp będą posiadać użytkownicy korzystający z usługi OCR.

W przypadku starszej wersji Comarch ERP Optima niż 2019.5 w celu uruchomienia usługi Comarch OCR należy w:

  •  Konfiguracji firmy->Ogólne->Praca rozproszona wybrać opcję ‘księgowość’ i wpisać identyfikator księgowości oraz
  • Konfiguracji stanowiska->Praca rozproszona->Parametry  wskazać ścieżkę do przechowywania plików XML.

Krok 2 – ustawić rozpoznawanie kontrahentów

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

Krok 3 – zainstalować dodatek do Comarch ERP Optima i zacząć korzystać

W celu zainstalowania dodatku wystarczy uruchomić instalator i postępować zgodnie z informacjami wyświetlanymi na ekranach. W przypadku Comarch ERP Optima w modelu usługowym dodatek Comarch OCR jest już zainstalowany.

Po zainstalowaniu można już rozpocząć korzystanie z Usługi. Na liście Rejestr VAT jest dostępna ikona OCR, która umożliwia wskazanie jednego lub wiele dokumentów, które powinny zostać przetworzone.


Przetwarzanie dokumentów

Comarch OCR pozwala na przetwarzanie jednocześnie wielu plików. Po kliknięciu w ikonę OCR jest możliwość wskazania dokumentów z dysku lub Obiegu Dokumentów.

Opcja Wybierz dokumenty z dysku otwiera okno, na którym można wskazać dokumenty zapisane na dysku. Natomiast opcja Wybierz dokumenty z Obiegu dokumentów otwiera okno, na którym można wskazać skany zapisane w Bibliotece dokumentów.

Z racji tego, że większość faktur wprowadzana jest do rejestru VAT zakupu to w przypadku wybrania rejestru VAT sprzedaży pojawi się komunikat z poniższym pytaniem:

Komunikat pojawia się dla każdego z Operatorów. Wybierając Tak  zostanie otwarte okno z możliwością wybrania skanu dokumentu. Jeżeli natomiast Operator wybierze Zapamiętaj odpowiedź i nie pokazuj więcej a następnie Tak wówczas przy kolejnym rozpoznawaniu faktur w rejestrze VAT sprzedaży komunikat nie będzie pojawiał się dla tego Operatora.

Po rozpoczęciu przetwarzania dokumentów na ekranie widoczne jest okno, które wyświetla przetwarzane dokumenty. Użytkownik widzi nazwy plików dokumentów, które są aktualnie przetwarzane i czy przetwarzanie zakończyło się poprawnie czy z błędem.

Wyniki rozpoznania ikoną dyskietki  można zapisać do pliku.

Poprawnie przetworzony dokument zostaje zapisany w rejestrze VAT wskazanym na liście. W przypadku wersji Comarch ERP Optima wcześniejszych niż 2020.0 dokument jest zapisywany w podrejestrze ZAKUP lub SPRZEDAŻ.

Wraz z dokumentem dodawany jest kontrahent na listę Ogólne -> Kontrahenci. Kontrahent dodawany jest w przypadku kiedy na liście nie ma jeszcze kontrahenta o danym numerze NIP. Jeżeli jest już kontrahent o danym numerze NIP to jest on podstawiany na dokument.

Jeżeli na dokumencie jest numer rachunku bankowego i zakładana jest karta kontrahenta to na kartę zapisywany jest również ten rozpoznany numer rachunku bankowego.

Jeżeli w Konfiguracji firmy->Ogólne->Praca rozproszona zaznaczony jest parametr „Pobieranie kategorii z karty kontrahenta” i w bazie jest już karta kontrahenta z uzupełnionymi kategoriami to po rozpoznaniu kontrahenta kategoria zostanie przeniesiona na dokument w rejestrze VAT.

Niezależnie od Stawki VAT wybranej na kategorii przenoszona jest zawsze Stawka VAT ze skanu dokumentu.

Rodzaj oraz Kolumna na fakturze ustawiane są takie, jakie zostały ustawione na formularzu kategorii. Przenoszony jest również Podział odliczeń co powoduje, że po wczytaniu faktury następuje automatyczny podział pozycji w takich proporcjach, jaki został ustalony na kategorii. Z kategorii przenoszone jest Odliczenie, jeżeli jego wartość wynosi Warunkowo. Odliczenia TAK/NIE ustawiane są w zależności od weryfikacji w bazie Podatników VAT czynnych, która odbywa się automatycznie w momencie wysłania dokumentu do rozpoznania.

Brak ustawienia kategorii na karcie Kontrahenta powoduje wczytanie faktury z rodzajem Towar.

Usługa Comarch OCR nie pozwala na wprowadzenie kilka razy tego samego dokumentu. Przy rozpoznawaniu dokumentów wprowadzona jest kontrola duplikacji, która sprawdza, czy w bazie danych znajduje się już dokument o takich samych danych:

  • numer dokumentu
  • numer NIP
  • kwota netto
  • data wystawienia

Wraz z dodaniem wpisu w Rejestrze VAT tworzony jest powiązany dokument OBD, gdzie podpinany jest plik z zeskanowaną fakturą.

Umożliwiliśmy wskazanie plików na dokumencie OBD, które mogą być zaczytane do Rejestru VAT poprzez usługę OCR.

Na formularzu operatora (System/ Konfiguracja/ Program/ Użytkowe/ Operatorzy), na zakładce [Parametry cd] znajdują się parametry:

  • Prawo do udostępniania plików dla usługi OCR – pozwala nadać operatorowi uprawnienie do udostępniania skanów faktur dodawanych w Archiwum Plików na dokumencie OBD. Parametr domyślnie nie jest zaznaczony. Jego zaznaczenie spowoduje wyświetlenie kolumny Udostępnij dla usługi OCR na dokumencie OBD.
  • Udostępniaj domyślnie ­– pozwala na domyślne udostępnianie skanów faktur dla usługi OCR poprzez automatyczne zaznaczanie parametru w kolumnie Udostępnij dla usługi OCR na dokumencie OBD dla dodawanych plików. Dotyczy tylko plików o rozszerzeniach obsługiwanych w OCR, obecnie *.jpg i *.pdf. Parametr dostępny jest po zaznaczeniu parametru Prawo do udostępniania plików dla usługi OCR.

Dla operatorów, którzy w konfiguracji mają zaznaczony parametr Prawo do udostępniania plików dla usługi OCR, na formularzu dokumentu firmowego w sekcji Archiwum plików widoczna będzie kolumna Udostępnij dla usługi OCR. Kolumna nie jest dostępna na dokumentach, dla których wskazano Typ: Wspólny.

W kolumnie Udostępnij dla usługi OCR można zaznaczyć parametr udostępnienia , który jest widoczny tylko dla plików obsługiwanych przez obsługę OCR (obecnie są to pliki o rozszerzeniu *.pdf oraz *.jpg). Po zaznaczeniu parametru, załącznik będzie dostępny dla funkcji OCR, uruchamianej z poziomu Rejestru VAT.

Udostępnione pliki będą widoczne po uruchomieniu funkcji OCR/ Wybierz dokumenty z Obiegu Dokumentów, dostępnej z poziomu Rejestrów VAT. Jeżeli dla danego katalogu w Obiegu Dokumentów jest założony dla operatora zakaz na podgląd, wówczas pliki powiązane z tym katalogiem nie będą widoczne na liście.

Oznaczenie dokumentów atrybutami

Dokument, który zostanie poprawnie przetworzony przez Comarch OCR trafia do rejestru VAT. Na dokumencie ustawiony zostanie atrybut OCR-> Niezweryfikowany. Atrybut ten jest dodawany aby łatwo można było odnaleźć dokumenty, które zostały przetworzone za pomocą Comarch OCR.

Weryfikacja przetworzonych dokumentów

Dokumenty przetworzone przez Comarch OCR, które trafiły do rejestru zakupu VAT powinny zostać zweryfikowane przez Użytkownika pod kątem poprawności zaimportowanych danych.

Szczególną uwagę podczas weryfikacji zwracamy na dane, które są rozpoznawane:

  • numer NIP,
  • numer dokumentu,
  • data wystawienia i sprzedaży,
  • forma płatności i termin płatności,
  • stawki VAT oraz kwoty,
  • numer rachunku bankowego.

Jeżeli dokument zostanie zweryfikowany przez Użytkownika i jest poprawny najlepiej zmienić na takim dokumencie wartość atrybutu OCR-> Niezweryfikowany na Zweryfikowany. Można w tym celu wykorzystać przycisk dostępny na formularzu lub opcję na liście.

Opcja na liście jest dostępna po rozwinięciu strzałki przy ikonie OCR.

Na formularzu dokumentu przycisk jest dostępny po prawej stronie. Jest wyświetlany na dwa sposoby. Po dodaniu dokumentu za pomocą Comarch OCR na przycisku jest znak ?  który świadczy o tym, że dokument nie został jeszcze zweryfikowany (na zakładce Atrybuty atrybut OCR jest ustawiony jako Niezweryfikowany). Po kliknięciu w ikonę wartość atrybutu zmienia się na Zweryfikowany i ikona zmienia swój wygląd na .

Jeżeli na dokumencie w rejestrze VAT nie pokazuje się lewy panel z podglądem faktury wystarczy kliknąć w prawym dolnym rogu formularza w ikonę strzałki i wskazać dokument. Ustawienie zostanie zapamiętane dla kolejnych dokumentów w rejestrze VAT. Ikona będzie dostępna po zalogowaniu się do modułu księgowego.

W przypadku kiedy dane nie zostały rozpoznane bądź zostały rozpoznane niepoprawnie prosimy wysyłać zgłoszenie poprzez System Obsługi Zgłoszeń wraz z przesłaniem skanu faktury i opisem problemu.

 

 




OPT085 Szybki import i eksport przelewów przez bankowość internetową mBank CompanyNet


Informacje ogólne

Dla Użytkowników Comarch ERP Optima korzystających z systemu mBank CompanyNet wprowadziliśmy możliwość bezpośredniej wymiany danych z bankiem mBank. W celu uruchomienia usługi najlepiej skontaktować się z infolinią mBanku (tel 801 273 273).

Wymiana danych z bankiem za pomocą usługi sieciowej umożliwia eksport przelewów bezpośrednio z/do systemu bankowego, autoryzację wysłanych przelewów oraz import wyciągów bez konieczności ręcznego przenoszenia plików pomiędzy aplikacją bankową oraz Comarch ERP Optima. Możliwe jest również pobieranie dla każdego wysłanego przelewu jego aktualnego statusu w banku (przelew może oczekiwać na realizację, być częściowo lub całkowicie autoryzowany, zostać zrealizowany, odrzucony, anulowany itp.).

Wymiana danych pomiędzy bankiem a klientem w usłudze sieciowej odbywa się przez wymianę komunikatów w formacie plików XML (standard ISO 20022) przy wykorzystaniu technologii web-services. Całość komunikacji jest zabezpieczona przez bezpieczny kanał HTTPS z wykorzystaniem dwustronnego SSL. Dzięki tym technologiom komunikacja pomiędzy Bankiem a klientem jest szyfrowana i nikt niepowołany nie ma dostępu do przesyłanych informacji. Dodatkowo dzięki dwustronnemu SSL Bank otrzymuje możliwość wstępnej weryfikacji klienta, a klient może zweryfikować, czy faktycznie podłączył się do serwera Banku.

Do zabezpieczenia wymiany informacji zastosowane zostały: token mobilny lub certyfikat komunikacyjny, który weryfikuje Klienta i pozwala zweryfikować jego prawo do danego rachunku (rachunków) oraz certyfikat autoryzacyjny (podpis elektroniczny), którym mogą być podpisywane przelewy wysyłane do banku. Gdy przelewy nie zostaną podpisane lub zostaną podpisane przez nieuprawnioną osobę – zlecenia będą oczekiwały w banku na akceptację uprawnionej osoby.

Na liście Ogólne/ Inne/ Formaty przelewów dostępny jest format mBank WebService (standardowy) do wymiany danych z bankiem mBank.

Jak skonfigurować wymianę danych z bankiem mBank?

Wymiana danych z bankiem mBank dostępna jest w systemie Comarch ERP Optima od wersji 2019.5.1.

W systemie Comarch ERP Optima należy:

  • ustawić format wymiany danych
  • podać informację o numerze identyfikacyjnym firmy (DIK)
  • określić typ logowania: certyfikat lub token mobilny (i jeżeli jest to certyfikat, to podpiąć certyfikat komunikacyjny)
  • dla przelewów walutowych wskazać kto ponosi opłaty związane z takimi przelewani

Na formularzu banku na zakładce [2 Dodatkowe] w polach:

  • Format eksportu dla przelewów zwykłych
  • Format importu wyciągów bankowych

wybieramy właściwy dla banku format obsługujący wymianę za pomocą usługi sieciowej. W naszym przypadku dla banku mBank dostępny jest format mBank Webservice.

Wybrany przez nas format będzie się później podpowiadał jako domyślny format podczas eksportu i importu przelewów.

Formularz banku, zakładka [Dodatkowe]
Po wybraniu formatu mBank Webservice na formularzu banku pojawia się dodatkowa zakładka
[3 Ustawienia usługi sieciowej]. Na zakładce tej wprowadzamy ustawienia dotyczące:

  • przelewów walutowych
  • podpinamy certyfikat do komunikacji z bankiem. Certyfikat ten powinien mieć aktualną datę ważności, posiadać informacje o obsługujących go kluczach prywatnych. Należy upewnić się czy certyfikat znajduje się we właściwym magazynie certyfikatów.
  • podajemy login (ID) Użytkownika w banku i typ logowania. Logowanie może odbywać się z wykorzystaniem certyfikatu lub tokena mobilnego. W przypadku tokena mobilnego potwierdzenie operacji wykonywane jest w aplikacji mobilnej zainstalowanej na telefonie.

Formularz banku, zakładka [Ustawienia usługi sieciowej]
W przypadku przelewów walutowych istotne jest uzupełnienie pól:

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

Na formularzu rejestru bankowego związanego z mBankiem należy uzupełnić informację o identyfikatorze firmy (DIK). Jest to unikalny identyfikator klienta banku w mBank CompanyNet. Brak tej informacji lub błędne dane (istotna jest wielkość liter) uniemożliwi wymianę danych z bankiem.

Rejestr bankowy – identyfikator firmy

Eksport za pomocą usługi sieciowej

Możliwy jest eksport przelewów krajowych (w tym do Urzędu Skarbowego i ZUS) oraz przelewów walutowych.

Przelewy walutowe wysyłane są jako przelewy zagraniczne lub przelewy SEPA.

W celu wysłania przelewu SEPA zdarzenie w preliminarzu płatności musi być:

  • zdarzeniem rozchodowym
  • waluta zdarzenia to EURO
  • na zdarzeniu zaznaczono parametr „Przelew SEPA”

Eksport przelewów za pomocą usługi sieciowej wykonujemy z poziomu preliminarza płatności. W preliminarzu płatności należy:

  • wybrać rejestr, który dotyczy mBank i ma ustalony format  wymiany danych za pomocą usługi sieciowej (w naszym przypadku mBank WebService)
  • na liście powinny wyświetlać się tylko zdarzenia nierozliczone lub rozliczone częściowo.

Preliminarz płatności – parametry

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

Wymiana danych z mBankiem pozwala na:

  • wysłanie przelewu, który oczekuje w banku na jego autoryzację (zatwierdzenie)
  • wysłanie podpisanego przelewu, który zostanie w banku przekazany do realizacji
  • autoryzację (zatwierdzenie częściowe/finalne) wysłanych wcześniej przelewów

W mBanku możliwa jest wieloosobowa autoryzacja transakcji. Dzięki tej usłudze istnieje możliwość autoryzacji przelewów przez więcej niż 1 osobę (w banku można ustalać limity do autoryzacji samodzielnej i dwuosobowej oraz nadać uprawnienia do wykonywania zleceń bez ich autoryzacji).

W Comarch ERP Optima na zdarzeniu w preliminarzu płatności możemy:

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

Formularz zdarzenia – Podpisy

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

Formularz zdarzenia – Historia autoryzacji

Podpisanie i autoryzacja pojedynczego przelewu możliwe są z poziomu formularza płatności. Operacje te można też wykonać seryjnie dla zaznaczonych zdarzeń. W tym celu będąc w Preliminarzu płatności należy wybrać strzałkę obok przycisku . Pojawi się dodatkowe menu:

Podpisz przelewy – podpisujemy zaznaczone zdarzenia o statusie Do realizacji.

Eksportuj przelewy – wysyłamy do banku zaznaczone przelewy. Po wybraniu opcji Eksportuj przelewy pojawi się okno Eksportuj przelewy do pliku na którym określamy parametry eksportu. Format wymiany przepisuje się z formularza banku, format wymiany dla split payment nie podlega edycji i jest taki sam jak format wymiany.

Okno eksportu przelewów poprzez usługę sieciową

Data przelewu – jako data przelewu zawsze wstawiana jest data realizacji przelewu.

Przelewy zbiorczo wg podmiotów – po zaznaczeniu tej opcji przelewy które nie zostały podpisane zostaną pogrupowane wg podmiotu, numeru rachunku bankowego (wypełnionego na zdarzeniu) oraz waluty i wysyłane jako jeden, zbiorczy przelew. Podpisane przelewy zawsze wysyłane są pojedynczo, nie są grupowane. Po zaznaczeniu opcji Grupuj wg dat utworzonych zostanie tyle zbiorczych przelewów, ile jest różnych dat (terminów płatności/ dat realizacji/ dat dokumentu.

Eksportuj wszystkie linie opisu do banku – parametr jest widoczny po zaznaczeniu Przelewy zbiorczo wg podmiotów. Parametr ten spowoduje, że w zbiorczym przelewie będziemy starali się umieścić wszystkie uzupełnione linie opisu do banku odczytane z agregowanych przelewów.

Dziel przelewy wg długości opisu – parametr jest widoczny po zaznaczeniu Przelewy zbiorczo wg podmiotów. Spowoduje on, że program utworzy dla danego podmiotu kilka przelewów zbiorczych, przy czym na każdym z nich będzie umieszczony pełny opis do banku z przelewów cząstkowych. Parametr Dziel przelew wg długości opisu może być stosowany razem z pozostałymi parametrami dotyczącymi przelewów zbiorczych.

Wysyłaj przelewy w jednym pliku – zaznaczenie tego parametru powoduje, że wysyłając kilka przelewów tworzymy jeden plik xml, w którym zapisujemy wszystkie pojedyncze przelewy. Jeśli parametr nie jest zaznaczony to każdy z tych przelewów zapisywany jest w osobnym pliku.

Eksport uruchamiamy ikoną pioruna . Eksportowane są zarówno przelewy w PLN jak również w walucie obcej.

Jeżeli w preliminarzu płatności wybierzemy rejestr, który obsługuje wymianę danych poprzez usługę sieciową wśród kolumn na liście dostępne są kolumny:

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

W kolumnach tych zapisywane są informacje przy eksporcie do usługi sieciowej oraz przy każdorazowym sprawdzeniu stanu przelewów w banku.

Preliminarz płatności – kolumny związane z WebServicem

Autoryzuj przelewy częściowo – operacja dostępna jest dla Użytkownika, który korzysta z tokena mobilnego i dotyczy przelewów wysłanych do banku. W sytuacji, gdy przelewy zostały wysłane w jednym pliku autoryzacja dotyczy wszystkich przelewów wchodzących w skład tego pliku (paczki). W banku przelewy będą miały status zautoryzowane częściowo i będą czekały na ostateczne zatwierdzenie.

Autoryzuj przelewy finalnie – operacja dostępna jest dla Użytkownika, który korzysta z tokena mobilnego i wykonywana jest dla przelewów wysłanych do banku. W sytuacji, gdy przelewy zostały wysłane w jednym pliku autoryzacja dotyczy wszystkich przelewów wchodzących w skład tego pliku (paczki). W banku przelewy zostaną skierowane do realizacji.

Aktualizuj stany przelewów – sprawdzenia aktualnego statusu przelewów w banku.

Import za pomocą usługi sieciowej

W Comarch ERP Optima mamy możliwość importu danych z mBanku. Import dotyczy:

  • stanu rachunku bankowego
  • historii operacji (wyciągów)

Import informacji o stanie rachunku bankowego  można wykonać z poziomu:

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

Wyciągi importujemy z listy zapisów kasowych/bankowych.

Na liście zapisów wybieramy rejestr bankowy związany z rachunkiem w mBanku i wskazujemy raport bankowy.

Lista zapisów kasowych\bankowych – Import przelewów

Import uruchamiamy przyciskiem Importuj polecenia przelewu . Na oknie Import przelewów ustalamy parametry importu, czyli:

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

Po ustaleniu parametrów przyciskiem  uruchamiamy pobranie danych z banku. W tym momencie na oknie Import danych wyświetli się lista przelewów, które za pomocą  przenosimy do Comarch ERP Optima.

Jeżeli wykonany został import wyciągów i potem wykonywany jest ponowny import wtedy importowane są tylko te przelewy, które nie zostały jeszcze zaimportowane. Duplikaty są odrzucane.

Duplikaty sprawdzane są wg następujących kryteriów:

  • Data księgowania,
  • Numer rachunku kontrahenta,
  • Kwota,
  • Opis przelewu.

Eksport i import przelewów za pomocą usługi sieciowej
– najczęściej zadawane pytania

  1. Co należy ustawić w programie Comarch ERP Optima, aby móc skorzystać z Eksport i import przelewów za pomocą usługi sieciowej?

Odpowiedź: Na formularzu banku (Ogólne/ Inne/ Banki) w polach Format eksportu dla przelewów zwykłych oraz Format importu wyciągów bankowych (druga zakładka) należy wskazać format obsługujący wymianę za pomocą usługi sieciowej. Następnie na 3 zakładce [Ustawienia usługi sieciowej] Użytkownik wprowadza ustawienia dotyczące przelewów walutowych oraz określa identyfikator użytkownika w mBanku i sposób logowania (token mobilny lub certyfikat). W przypadku wybrania certyfikatu podpina również odpowiedni certyfikat do komunikacji z bankiem. Na formularzu rejestru bankowego mBanku podajemy również numer identyfikacyjny firmy (DIK).

  1. Jakie warunki powinny spełniać certyfikaty wykorzystywane podczas wysyłki aby odbyła się ona prawidłowo?

Odpowiedź: Certyfikat komunikacyjny i autoryzacyjny powinny znajdować się w sekcji osobiste, mieć aktualną datę ważności oraz posiadać informację o obsługujących je kluczach prywatnych. Ponadto w przypadku certyfikatu autoryzacyjnego należy poprawnie zainstalować sterowniki urządzenia obsługującego certyfikat po stronie systemu operacyjnego.
Jeśli bank wymaga dodatkowych certyfikatów należy upewnić się czy znajdują się one we właściwych magazynach certyfikatów oraz czy posiadają aktualną datę ważności.

  1. Czy można zobaczyć w pliku dane które zostały wyeksportowane/zaimportowane z banku?

Odpowiedź: Tak, mamy taką możliwość. W Konfiguracji Stanowiska/ Kasa/Bank/ Parametry możemy zaznaczyć parametr Zapisuj przelewy importowane/eksportowane poprzez usługę sieciową oraz podać katalog w którym będą zapisywały się pliki XML z przelewami które są importowane oraz eksportowane za pomocą usługi sieciowej.

 




OPT043 Zaawansowane schematy księgowe

Data aktualizacji: 17-07-2019


Spis treści



1. Jakich operatorów logicznych mogę używać w warunku w schemacie księgowym?

Warunek wpisany w schemacie księgowym jest „tłumaczony” na zapytanie SQL poprzez zastąpienie makr (symboli zaczynających się od znaku @) na odwołanie do kolumn bądź funkcji serwerowych.

Poszczególne odwołania można łączyć zgodnie z syntaktyką T-SQL – dotyczy to zarówno operatorów porównania (=, >, <, <>, LIKE) jak i operatorów łączących wyrażenia (AND, OR). Dodatkowo możliwe jest używanie funkcji serwerowych.

Przykładowo poprawny jest warunek

@KategoriaElem LIKE 'POZOST%' OR @KategoriaNag = 'SPR' AND SUBSTRING(@KategoriaElem, 5, 3)= 'TOW'

2. Jak sobie poradzić gdy długi warunek, zawierający wiele kategorii, nie mieści się w schemacie?

W warunku zamiast wersji dłuższej np.

@KodPodmiotu='ALA' AND ( @KategoriaElem='MATERIAŁY' OR @KategoriaElem='TOWARY' OR @KategoriaElem='INNE')

można użyć operatora serwerowego IN:

@KodPodmiotu='ALA' AND @KategoriaElem IN ('MATERIAŁY', 'TOWARY', 'INNE')

3. Czy księgując Fakturę Sprzedaży, można na konto pozabilansowe zaksięgować ilość sprzedanego towaru?

Ilość towaru jest zapisana w tabeli TraElem, żeby zaksięgować liczbę, która znajduje się w tabeli, ale nie istnieje odpowiadające jej makro (tzn. nie można wybrać np. @Ilosc), trzeba w schemacie księgowym odwołać się bezpośrednio do nazwy pola w tabeli.

Żeby na jakimś koncie pozabilansowym wyksięgować z faktury ilość sprzedanego towaru, w polu Kwota należy odwołać się do pola TrE_Ilosc. Ze względu jednak na optymalizację parsera analizującego schemat księgowy i „tłumaczącego” go na zapytanie SQL konieczne jest użycie w definicji kwoty przynajmniej jednego makra (tzn. pola zaczynającego się od '@’) lub definicja musi rozpoczynać się od znaku apostrofu (‘). Dodatkowo trzeba „zmusić” automat księgujący, żeby użył tabeli TraElem (automat księgujący nie wie, że TrE_Ilosc jest kolumną w tabeli TraElem, więc nie użyje jej automatycznie).

W tym celu w definicji kwoty można wpisać np.
@PozNetto – @PozNetto + TrE_Ilosc
@PozNetto – @PozNetto i tak dadzą w wyniku 0. Makro @PozNetto odwołuje się do pozycji faktury (a więc do tabeli TraElem), więc mamy pewność, że zapytanie zostanie zbudowane poprawnie.
Drugą możliwością jest wpisanie:
'0' + TrE_Ilosc
’0’ zostanie automatycznie przekonwertowane na liczbę 0 i nie zaburzy wyniku. W tym przypadku trzeba jeszcze „zmusić” automat księgujący, żeby użył tabeli TraElem. W tym celu w pozycji schematu księgowego należy użyć jakiegokolwiek parametru bądź makra odwołującego się do pozycji faktury, np.:

  • zaznaczyć Podział na kategorie
  • lub Podział na słowniki – Towary
  • lub w opisie (bądź w warunku) odwołać się do kategorii pozycji (@KategoriaElem lub @KategoriaOgolnaElem) lub do towaru (@NazwaTowaru)

4. Czy księgując Fakturę Sprzedaży w opisie pozycji dekretu mogę umieścić informację o stawce VAT, jakiej dotyczyła dana pozycja?

Tak, w przypadku opisu jest podobnie jak w przypadku kwoty - można odwołać się do pola (pól) z tabeli, z zastrzeżeniem, co do użycia co najmniej jednego makra i wymuszenia użycia tabeli TraElem.

W definicji kwoty używamy np. makra @PozNetto (ponieważ @PozNetto jest to wartość netto, pozycji faktury, to automatycznie mamy zapewnione, że zostanie użyta tabela TraElem)

Informacja o stawce Vat jest zapisywana w polach:

  • TrE_Flaga – mówi o tym, czy jest to stawka zwykła (2), zaniżona (3), zwolniona (1), czy nie podlega (4)
  • TrE_Stawka – zawiera wysokość stawki Vat

W definicji opisu pozycji można by więc użyć wyrażenia:

@NumerPelny + ': stawka Vat ' + Case TrE_Flaga When 1 Then 'ZW' When 4 Then 'NP' Else STR(TrE_Stawka,5,2) End

Spowoduje to wstawienie w dekrecie w polu Opis numeru dokumentu uzupełnionego o stawkę Vat - oczywiście zostanie wygenerowanych tyle pozycji, ile różnych stawek Vat jest na dokumencie.


5. Czy w schemacie księgowym Faktury Sprzedaży mogę w warunku użyć grupy, do której należy sprzedany towar?

Grupa towarowa znajduje się w tabeli Towary (pole Twr_Grupa) – przy czym nie możemy odwołać się do pola Twr_Grupa w taki sposób jak to opisywano poprzednio, ponieważ obecnie żadne makro nie odwołuje się do tabeli Towary (a więc nie ma możliwości w schemacie księgowym połączenia się z tą tabelą).

Możemy to natomiast zrobić za pomocą funkcji serwerowej. W tym celu tworzymy funkcję MojaFunkcja_GrupaTowaru – należy poniższy skrypt wykonać za pomocą Query Analyzera lub OSQL-a.

Jeżeli teraz chcemy zaksięgować warunkowo sprzedaż towarów z grupy 'AKCESORIA', w warunku wpisujemy wyrażenie:

'AKCESORIA' = dbo.MojaFunkcja_GrupaTowaru (TrE_TwrId)

Oczywiście funkcje mogą być znacznie bardziej skomplikowane, można ich używać zarówno w definicjach warunków, opisów jak i kwot (w ostatnim przypadku funkcja powinna zwracać typ NUMERIC). Podobnie jak w przypadku używania pól z tabel, używając funkcji należy pamiętać o tym, żeby wyrażenie zawierało co najmniej jedno makro, lub zaczynało się od znaku ' (apostrof).

Uwaga
Aby zaksięgować towar w zależności od grupy domyślnej, do której należy (na pierwszej zakładce karty cennika) należy funkcję skonstruować w poniższy sposób:

If Exists ( Select * From sysobjects Where name = 'MojaFunkcja_GrupaTowaru' And xtype='FN')
Drop Function dbo.MojaFunkcja_GrupaTowaru
GO
create Function dbo.MojaFunkcja_GrupaTowaru (@TwrId INT)
Returns VarChar(20)
As
Begin
Declare @Grupa VarChar(20)
select @grupa = twg_kod
from cdn.twrgrupy
join cdn.towary on twr_twggidnumer = twg_gidnumer AND twg_gidtyp = -16
where twr_twrid = @twrid
Return @Grupa
End

Uwaga
Aby zaksięgować towar pod warunkiem, że towar należy do grupy podrzędnej należy nieco inaczej zbudować funkcję.

If Exists (
Select * From sysobjects
Where name = 'MojaFunkcja_GrupaTowaru' And xtype='FN'
)
Drop Function dbo.MojaFunkcja_GrupaTowaru
GO
create Function dbo.MojaFunkcja_GrupaTowaru (@TwrId INT)
Returns VarChar(20)
As
Begin
Declare @Grupa VarChar(20)
select @grupa = A.twg_kod
from cdn.twrgrupy  A
join cdn.twrgrupy B on A.twg_gidnumer = B.twg_gronumer
join cdn.towary C on C.twr_gidnumer = B.twg_gidnumer AND C.twr_twggidnumer <> A.twg_gidnumer
where B.twg_gidtyp = 16 and A.twg_gidtyp <> 16 and c. twr_twrid = @twrid
Return @Grupa
End


6. Czy w schemacie księgowym mogę ustawić warunek na sprawdzanie istnienia lub nie kwot dodatkowych na dokumencie?

Można w warunku sprawdzić, czy istnieją kwoty dodatkowe, z tym, że korzystamy tu z pewnych funkcji pozastandardowych.

Niestety już w kilku przypadkach okazało się, że korzystanie z tego typu funkcji po zmianie wersji Comarch ERP Optima wymagało drobnych korekt w schematach księgowych.

Raporty kasowe/bankowe

Jeśli chcemy zaksięgować dokument, na którym NIE ISTNIEJĄ podpięte kwoty dodatkowe, w warunku należy wpisać:

'1'='1' AND NOT EXISTS (Select * FROM CDN.KwotyDodatkowe Where KDD_DokumentTyp=14 And KDD_DokumentId=BZp_BZpId)

Jeśli chcemy zaksięgować dokument, na którym ISTNIEJĄ podpięte kwoty dodatkowe (przy czym chodzi o księgowanie kwot przychód/rozchód, a nie kwot dodatkowych), w warunku należy wpisać:

'1'='1' AND EXISTS (Select * FROM CDN.KwotyDodatkowe Where KDD_DokumentTyp=14 And KDD_DokumentId=BZp_BZpId)

Rejestry VAT

Jeśli chcemy zaksięgować dokument, na którym NIE ISTNIEJĄ podpięte kwoty dodatkowe, w warunku należy wpisać:

'1'='1' AND NOT EXISTS (Select * FROM CDN.KwotyDodatkowe Where KDD_DokumentTyp=2 And KDD_DokumentId=van_vanId)

Jeśli chcemy zaksięgować dokument, na którym ISTNIEJĄ podpięte kwoty dodatkowe, w warunku należy wpisać:

'1'='1' AND EXISTS (Select * FROM CDN.KwotyDodatkowe Where KDD_DokumentTyp=2 And KDD_DokumentId=van_vanId)

7. Czy w schemacie do zaksięgowania listy płac można zastosować warunek do zaksięgowania wszystkich zasiłków w jednej kwocie (zasiłku rodzinnego, pielęgnacyjny, chorobowy...)?

Przy tworzeniu warunku można skorzystać z makra:

@TypWyplaty LIKE 'zas%'

8. W poniższym schemacie księgowania dokumentu PZ
z ewidencji dodatkowej występuję błąd księgowania: dokument niezbilansowany. Różnica 0,01 zł wynika
z zaokrągleń. Jak sobie z nimi poradzić?

Schemat pierwotny:

Konto WnKonto MaKwotaOpis
zwykłe1(@RazemKwota+@RazemKwota*0.32)*1.23cena brutto z marżą i VAT
zwykłe2@RazemKwotacena netto
zwykłe3@RazemKwota*0.32marża
zwykłe4(@RazemKwota+@RazemKwota*0.32)*0.23VAT

Kwota na dokumencie: 1669,06 zł. (@RazemKwota)

Rozwiązania są dwa:

1.Zastosować w schemacie podwójne dekrety:

Konto WnKonto MaKwotaOpis
zwykłe1zwykłe2@RazemKwotacena netto
zwykłe1zwykłe3@RazemKwota*0.32marża
zwykłe1zwykłe4(@RazemKwota+@RazemKwota*0.32)*0.23VAT

2. Zastosować następujące makra w schematach:

Konto WnKonto MaKwotaOpis
zwykłe1ROUND(@RazemKwota*1.32,2)*1.23cena bto z marżą i VAT
zwykłe2@RazemKwotacena netto
zwykłe3@RazemKwota*0.32marża
zwykłe4ROUND(@RazemKwota*1.32,2)*0.23VAT

9. Jak można zaksięgować wartość zakupu z rej. VAT przeniesioną za pomocą pliku COMMA?

Należy w pozycji Kwota wpisać: '0'+VaN_WartoscZak

10. Jak można podczas księgowania faktury sprzedaży odwołać się do wartości zakupu dla całego dokumentu?

Należy na pozycji schematu księgowego w polu Kwota wpisać: '0'+TrN_WartoscZakupu

11. Jak uzależnić księgowanie dokumentów z ewidencji dodatkowej na poszczególne konta od symbolu użytego w schemacie numeracji?

W przypadku Ewidencji dodatkowej przychodów można użyć w warunku wyrażenia:

@Dokument LIKE '%EDP%' 

co oznacza, że na konto zostanie zaksięgowany dokument, który ma w schemacie numeracji ciąg znaków EDP (np. EDP/000001/2003).

W przypadku Ewidencji dodatkowej kosztów można użyć w warunku wyrażenia:

'1'='1' AND EDN_NumerPelny LIKE 'EDK%'

Różnica wynika z faktu, że w Ewidencji dodatkowej kosztów, na formatce zapisu są dwa numery: numer nadawany przez program i numer obcy. Makro @Dokument w tym przypadku pobiera numer nadawany przez program jeżeli numer obcy nie jest wypełniony.

Jeżeli w warunku jest użyte jakieś makro to wystarczy dodać: AND EDN_NumerPelny LIKE 'EDK%'

Patrz też pytania nr:

    1. Jak zaksięgować fakturę zakupu, żeby w schemacie księgowania w warunku zastosować fragment numeru dokumentu np MAGAZYN i SERIA z numeru FZ/99/MAGAZYN/SERIA? 
    1. Jak w warunku schematu dla WZ odwołać się do symbolu/serii w numerze faktury do której zostało wystawione WZ?

12. Jak uzależnić księgowanie poszczególnych KP/KW
w raporcie kasowym od rodzaju podmiotu (dostawca, odbiorca, konkurencja, partner)?

W warunku schematu należy użyć wyrażenia:

'1'='1' AND EXISTS (Select * FROM CDN.Kontrahenci Where Knt_KntId=BZp_PodmiotID AND Knt_Rodzaj_Odbiorca='1')

Wówczas program zaksięguje na podane konta określoną kwotę, jeżeli kontrahent wybrany na KP/KW będzie odbiorcą.
Dla dostawcy należy zmienić w powyższym wyrażeniu nazwę pola na Knt_Rodzaj_Dostawca, dla konkurencji na Knt_Rodzaj_Konkurencja, dla partnera na Knt_Rodzaj_Partner, natomiast dla klienta potencjalnego na Knt_Rodzaj_Potencjalny.

13. Jak stworzyć warunek dla zaksięgowania na osobne konta kwot netto: towarów i usług?

Taki warunek można stworzyć w schematach dla Faktur sprzedaży i Faktur zakupu (księgowań z modułu Faktury – ewentualnie księgowań innych dokumentów z modułu Faktury lub Magazyn). Trzeba wybrać księgowanie kwoty @PozNetto (lub @PozBrutto) i w warunku dopisać:

      • Dla usługi (prostej lub złożonej):

'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=0)

      • Dla usługi prostej:

'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=0 And Twr_Produkt=0)

      • Dla usługi złożonej:

'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=0 And Twr_Produkt=1)

      • Dla towaru (prostego lub złożonego):

'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=1)

      • Dla towaru prostego:

'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=1 And Twr_Produkt=0)

      • Dla towaru złożonego:

'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=1 And Twr_Produkt=1)

14. Jakiego wyrażenia należy użyć w warunku pozycji schematu księgowego aby uzależnić księgowanie od grupy, do której należy kontrahent wybrany na fakturze w rejestrze VAT?

'1'='1' AND EXISTS (SELECT* FROM CDN.Kontrahenci where Knt_KntId=VaN_PodID AND VaN_PodmiotTyp = 1 AND Knt_Grupa='DOST')

Podana w schemacie kwota, zostanie zaksięgowana na zadane konta jeżeli kontrahent wybrany na fakturze należy do grupy 'DOST'.

W schematach księgowych dla księgowania faktur z modułu Faktury warunek powinien być następujący:

'1'='1' AND EXISTS (SELECT* FROM CDN.Kontrahenci where Knt_KntId=TrN_PodID AND TrN_PodmiotTyp = 1 AND Knt_Grupa='DOST')

15. Jak uzależnić księgowanie VAT-u z Rejestru VAT na dane konto od tego czy dokument jest rozliczony
w danym miesiącu?

Warunek czy dokument jest w ogóle nierozliczony:

'1'='1' AND EXISTS (Select * FROM CDN.BnkZdarzenia WHERE BZd_DokumentTyp = 2 And BZd_DokumentId = VaN_VaNId AND BZd_Rozliczono<2)

Poniżej warunek sprawdzający przy założeniu, że dla dokumentu jest tylko jedna płatność, czyli płatność na dokumencie nie została podzielona na raty (ale mogła być rozliczana "na raty").

Dokument jest nierozliczony lub został rozliczony w innym miesiącu niż data dokumentu:

'1'='1' AND EXISTS (Select * FROM CDN.BnkZdarzenia WHERE BZd_DokumentTyp = 2 And BZd_DokumentId = VaN_VaNId AND (BZd_Rozliczono<2 OR 100 * YEAR(BZd_DataRoz)
+ MONTH(BZd_DataRoz) <> VaN_RokMies))

Dokument został rozliczony w tym miesiącu, co data dokumentu:

'1'='1' AND NOT EXISTS (Select * FROM CDN.BnkZdarzenia WHERE BZd_DokumentTyp = 2 And BZd_DokumentId = VaN_VaNId AND (BZd_Rozliczono<2 OR 100 * YEAR(BZd_DataRoz)
+ MONTH(BZd_DataRoz) <> VaN_RokMies))

16. Jak uzależnić księgowanie VAT-u z Rejestru VAT na dane konto od tego, w którym miesiącu dokument trafi na deklarację VAT-7?

Aby zaksięgować VAT na zadane konto, jeżeli data deklaracji VAT-7 to 10.2018 należy w warunku użyć wyrażenia:

'1'='1' AND VaN_DeklRokMies='201810'

Aby zaksięgować na zadane konto, podaną kwotę, jeżeli data deklaracji VAT-7 jest różna od daty rejestru. Czyli mając wyświetloną na ekranie listę faktur za miesiąc 10.2018, program zaksięguje te, które mają datę deklaracji inną niż 10.2018 np. 11.2018.

'1'='1' AND Van_RokMies<>Van_DeklRokMies

I dla równowagi, warunek gdy data deklaracji jest równa dacie rejestru:

'1'='1' AND Van_RokMies=Van_DeklRokMies

Aby zaksięgować na zadane konto, podaną kwotę, jeżeli data deklaracji VAT-7 jest różna od daty zakupu faktury zakupu:

'1'='1' AND (100 * YEAR(VaN_DataOpe) + MONTH(VaN_DataOpe)) <> Van_DeklRokMies

Aby zaksięgować na zadane konto, podaną kwotę, jeżeli data deklaracji VAT-7 jest różna od daty wystawienia faktury zakupu:

'1'='1' AND (100 * YEAR(VaN_DataWys) + MONTH(VaN_DataWys)) <> Van_DeklRokMies

Dla metody kasowej:

'1'='1' AND Exists (Select * From CDN.VatTab7 Where Va7_VaNID=VaN_VaNID And (VAN_RokMies
<> Va7_RokMiesiac or (100*Year (VaN_DataOpe) + month (VaN_DataOpe)) <> Va7_RokMiesiac))

17. Jak zaksięgować dokument RWS na konta analityczne
w oparciu o grupy towarów?

Kwota netto ma zostać zaksięgowana na konto 311 (niesłownikowe) z podziałem na analityki w oparciu o grupy towarowe, np.:

311-01 - AKCESORIA

311-02 - ROŚLINY

311-03 – SPRZĘT

W schemacie księgowym należy utworzyć trzy pozycje z poniższymi odpowiednio warunkami:

Pozycja 1:

'1'='1' And Exists (Select * From CDN.Towary JOIN  CDN.TwRGrupy on TwR_TwGGIDNumer=TwG_GIDNumer and TwG_GIDTyp=-16 Where Twr_TwrId = TrE_TwrId And TwG_Kod  = 'AKCESORIA')

Pozycja 2:

'1'='1' And Exists (Select * From CDN.Towary JOIN  CDN.TwRGrupy on TwR_TwGGIDNumer=TwG_GIDNumer and TwG_GIDTyp=-16
Where Twr_TwrId = TrE_TwrId And TwG_Kod  = 'ROŚLINY')

Pozycja 3:

'1'='1' And Exists (Select * From CDN.Towary JOIN  CDN.TwRGrupy on TwR_TwGGIDNumer=TwG_GIDNumer and TwG_GIDTyp=-16
Where Twr_TwrId = TrE_TwrId And TwG_Kod  = 'SPRZĘT')

Można jeszcze skorzystać z innej, prostszej możliwości zaksięgowania. Gdyby 311 było kontem słownikowym (z podpiętym słownikiem Towary i podziałem na grupy), to takiego księgowania można dokonać automatem, zaznaczając w poszczególnych pozycjach schematu - Podział na słowniki: Towary.

W takiej sytuacji do analityki konta 311-01 - AKCESORIA będą podpięte subanalityki dla poszczególnych towarów.

18. Jak zaksięgować dokument RWS na konta analityczne
w zależności od tego do jakiej grupy towarowej należy towar złożony wybrany na dokumencie PWS?

Sytuacja wygląda następująco:

Dokument: Kompletacja – Przyjęcia produktówDokument: Kompletacja – Rozchody składników
Towar złożony należący do GRUPA1Towar1 – należy do GRUPA2
Towar2 – należy do GRUPA3

Księgujemy dokument: Kompletacja – Rozchody składników: chodzi o to aby zaksięgować kwotę np. @PozNetto, na wybrane konto jeżeli grupa, do której należy towar złożony wybrany na dokumencie: Kompletacja – Przyjęcia produktów, należy do GRUPA1.

Takiej operacji można dokonać schematami warunkowymi. W warunku należy wpisać:

'1'='1' AND EXISTS ( SELECT * FROM CDN.TraElem B JOIN CDN.Towary C
ON B.TrE_TwrId = C.Twr_TwrId JOIN  CDN.TwRGrupy D on C.TwR_TwGGIDNumer=D.TwG_GIDNumer and D.TwG_GIDTyp=-16
WHERE B.TrE_TrEId = CDN.TraElem.TrE_TrEIdProd AND D.TwG_Kod = 'GRUPA1' )

Jeżeli grup jest więcej i każda księgowana jest na inne konto analityczne – należy stworzyć osobną pozycję w schemacie dla każdej z nich.

Jeżeli na podane konto chcemy księgować określoną kwotę w sytuacji gdy grupa do jakiej należy towar złożony wybrany na PWP to GRUPA1 i jednocześnie towar na dokumencie RWS należy do grupy GRUPA2 to warunek powinien wyglądać następująco:

'1'='1' And Exists (Select * From CDN.Towary JOIN  CDN.TwRGrupy on TwR_TwGGIDNumer=TwG_GIDNumer and TwG_GIDTyp=-16
Where Twr_TwrId = TrE_TwrId And TwG_Kod  = 'GRUPA2') AND EXISTS ( SELECT * FROM CDN.TraElem B JOIN CDN.Towary C
ON B.TrE_TwrId = C.Twr_TwrId JOIN  CDN.TwRGrupy D on C.TwR_TwGGIDNumer=D.TwG_GIDNumer and D.TwG_GIDTyp=-16
WHERE B.TrE_TrEId = CDN.TraElem.TrE_TrEIdProd AND D.TwG_Kod = 'GRUPA1' )

19. Jak w opisie dekretu, dla księgowania Rejestru VAT, uzyskać liczbę porządkową faktury oraz rejestr,
w którym jest zapisana?

W pozycji schematu dla rejestru VAT, w polu Opis, należy wpisać:

@Dokument + ' ' + LTRIM(STR(VaN_Lp)) + ' '+ @Rejestr

Makro @Dokument może zostać zastąpione innym istniejącym makrem – chodzi o to, aby program wiedział do jakiej tabeli ma się odwołać.

Ponieważ Liczba porządkowa jest liczbą, SQL nie radzi sobie z dodaniem jej do tekstu.

Należy wykonać jawną konwersję danych, np:

@Dokument + ' ' + STR(VaN_Lp)

Ponieważ jednak funkcja STR dodaje spacje na początku liczby, więc żeby się ich pozbyć, można zapisać wyrażenie następująco:

@Dokument + ' ' + LTRIM(STR(VaN_Lp))20. Jak zaksięgować Fakturę Zakupu, żeby w schemacie  księgowania w warunku zastosować fragment numeru dokumentu np MAGAZYN  i SERIA z numeru FZ/99/MAGAZYN/SERIA?

@NumerPelny LIKE '%MAGAZYN/SERIA%'

Wówczas podana kwota, zostanie zaksięgowana na wskazane konta jeżeli numer faktury będzie zawierał ciąg znaków: ‘MAGAZYN/SERIA’. Warunek może być zastosowany dla faktury sprzedaży i zakupu księgowanych
z modułu Faktury.

Czy takiego warunku można też użyć przy księgowaniu faktur zakupu z poziomu rejestru VAT?

Tak, warunek księgowania powinien wyglądać tak:

'1'='1' AND exists (select * from CDN.TraNag where VaN_VaNID=TrN_VaNId AND TrN_NumerPelny LIKE '%MAGAZYN/SERIA%')

Patrz też pytania nr:

    1. Jak uzależnić księgowanie dokumentów z ewidencji dodatkowej na poszczególne konta od symbolu użytego w schemacie numeracji?
    1. Jak w warunku schematu dla WZ odwołać się do symbolu/serii w numerze faktury do której zostało wystawione WZ?

 

21. W jaki sposób, w schemacie księgowania faktury zakupu z rejestrów VAT (pochodzącej z modułu Faktury), umieścić w opisie jej numer pełny (własny)?

Należy zdefiniować funkcję serwerową. Poniżej przykład takiej funkcji:

Create Function CDN.MojeFunkcje_Podaj_TrN_NumerPelny (@VaNId Int) Returns VarChar(31) As  Begin
Declare @Numer VarChar(31)
Set @Numer = IsNull((Select Top 1 TrN_NumerPelny From CDN.TraNag Where TrN_VaNId = @VaNId), '')
Return @Numer
End

Jeżeli chcemy to umieścić w opisie, to musi się znaleźć w "towarzystwie" co najmniej jednego makra, np.:

@Dokument + ' ' + CDN.MojeFunkcje_Podaj_TrN_NumerPelny (VaN_VaNId)

22. Jakiego użyć warunku aby zaksięgować fakturę
w zależności od terminu płatności?

Dla księgowania faktur z modułu Faktury:

'1'='1' AND TrN_Termin BETWEEN Convert(DateTime, '2018-01-01', 120) AND Convert(DateTime, '2018-01-31', 120)

Podana w elemencie schematu kwota, zostanie zaksięgowana na zadane konta jeżeli termin płatności faktury będzie zawierał się między 2018-01-01 a 2018-01-31.

Dla księgowania faktur z Rejestrów VAT:

'1'='1' AND VaN_Termin BETWEEN Convert(DateTime, '2018-01-01', 120) AND Convert(DateTime, '2018-01-31', 120)23. Jak w schemacie księgowania podzielić wynagrodzenia wg wydziałów przy czym na jedną listę wchodzą pracownicy z kilku wydziałów?

W warunku należy wpisać:

'1'='1' and Exists (Select * From CDN.PracEtaty Where WPL_PraId = PRE_PraId AND WPL_DataDok Between PRE_DataOd And PRE_DataDo And CDN.DzialSciezka(PRE_DZLId) = 'FIRMA\WYDZIAŁ1\PODWYDZIAŁ1')

WYDZIAŁ1 to nazwa wydziału w którego skład wchodzi PODWYDZIAŁ1. Pracownik ma podpięty na karcie PODWYDZIAŁ1.

24. Jak w schemacie do księgowania listy płac rozksięgować składkę na FP i FGŚP z podziałem na wydziały (składkę wyliczoną i zsumowaną dla każdego
z pracowników danego wydziału)?

Wartości FP i FGŚP obliczone dla składników wynagrodzeń poszczególnych pracowników, są umieszczone
w tabeli CDN.WypElementy w polach: WPE_SklFP i WPE_SklFGSP. Do ww. tabeli odwołuje się np. makro kwoty @Brutto. Aby zaksięgować kwotę FP i FGŚP obliczoną dla poszczególnych pracowników przypisanych do konkretnego wydziału, należy w elemencie schematu, w polu Kwota, użyć wyrażenia:

Dla księgowania FP:

@Brutto - @Brutto + WPE_SklFP

Dla księgowania FGŚP:

@Brutto - @Brutto + WPE_SklFGSP

W warunku należy użyć wyrażenia dotyczącego Wydziału (@Wydzial) lub opisanego w pytaniu 30. Jak w schemacie księgowania podzielić wynagrodzenia wg wydziałów przy czym na jedną listę wchodzą pracownicy
z kilku wydziałów?

25. Jak zaksięgować KP/KW w zależności od tego czy termin płatności, na fakturze, która jest rozliczona
z płatnością, jest różny od daty wystawienia dokumentu i forma płatności to gotówka?

W warunku można użyć następującego wyrażenia:

'1'='1' AND exists ( select * from CDN.BnkRozRelacje join CDN.BnkZdarzenia on BRR_DDokID = BZd_BZdID AND BRR_DDokTyp=1 join CDN.FormyPlatnosci on BZd_FPlId = FPl_FPlId where BZp_BZpID=BRR_ZDokID AND BRR_ZDokTyp=2 AND BZd_Termin<>BZd_DataDok AND BZd_DokumentTyp IN (1,2) AND FPl_Typ=1)

Warunek sprawdza daty i formę płatności zdarzenia w Preliminarzu. Uwzględnia więc sytuację, w której płatność do faktury została podzielona na raty. Natomiast w sytuacji gdy jest jedna płatność, która rozlicza kilka faktur i co najmniej jedna z nich spełnia powyższy warunek - KP/KW zostanie zaksięgowane.

Pole FPl_Typ=1 oznacza, że typ formy płatności to "gotówka" (takich form zdefiniowanych w programie może być wiele i wszystkie zostaną wzięte pod uwagę). Jeżeli warunek ma dotyczyć tylko konkretnej formy płatności, która ma identyfikator np. 1 to zamiast powyższego należy wpisać: FPl_FPlId=1.

26. Jak w schemacie księgowym dla Rejestru VAT połączyć kwotę dodatkową z kwotą brutto i VAT faktury tak aby schemat nie wykazywał błędu użycia makr różnych typów?

W jednej z firm, program fakturujący oblicza wartości detaliczne danej faktury. Wartość ta jest przenoszona do kwot dodatkowych na fakturze w Rejestrze VAT w Comarch ERP Optima. Z wartości detalicznej brutto należy obliczyć jaka kwota marży przypada na wartość netto i jaka na wartość VAT. Wzór na obliczenie tych kwot wygląda następująco:

Kwota marży przypadająca na wartość netto:

@KwotaDodat-(@VAT*(@KwotaDodat-@Brutto)/@Brutto)-@Brutto

Kwota marży przypadająca na wartość VAT:

@VAT+(@VAT*(@KwotaDodat-@Brutto)/@Brutto

Schemat wygląda następująco:

Wn

221 (kwota VAT-u z faktury) 3,06

332 (Kwota dodatkowa) 55,50

Ma

201 (kwota brutto z faktury - konto kontrahenta) 46,81

341 (Kwota marży przypadającej na wartość netto) 8,12

342 (kwota marży przypadającej na wartość VAT) 3,63

Po wprowadzeniu takiej formuły do pozycji schematu, pojawia się komunikat o błędzie połączenia makr z elementów i nagłówka.

Problem ten można rozwiązać wykorzystując fakt, że "makra" (symbole kwot zaczynające się od @) są w procesie księgowania "tłumaczone" na nazwy pól w bazie danych.

Odpowiednio

@VAT odpowiada wartości pola VaN_RazemVAT

@Brutto odpowiada wartości pola VaN_RazemBrutto

Przy czym w konstrukcji schematu możliwe jest wykorzystanie obok "makr" również nazw pól w bazie.

Użycie nazwy pola w bazie skutkuje przy okazji tym, że nie jest ono uwzględniane w sprawdzaniu typów użytych makr.

Reasumując – można przygotować schemat:

Konto WnKonto MaKwota
221@Vat
332@KwotaDodat
201@Brutto (z podziałem na podmioty)
341@KwotaDodat - VaN_RazemBrutto - ROUND ( VaN_RazemVAT * ( @KwotaDodat - VaN_RazemBrutto ) / VaN_RazemBrutto, 2 )
342VaN_RazemVat + ROUND ( VaN_RazemVAT * ( @KwotaDodat - VaN_RazemBrutto ) / VaN_RazemBrutto, 2 )

Uwaga
Użycie funkcji ROUND jest tu wskazane - gdyby wynik podziału marży dał w końcówce równe 0.005 to efekcie oba księgowania (na konta 341 i 342) zostałyby zaokrąglone w górę i dostalibyśmy 1 grosz za dużo.

Patrz też pytanie: 28. Jak w schemacie dla Rejestrów VAT zdefiniować kwotę, która jest różnicą pomiędzy kwotą dodatkową i kwotą netto faktury?

27. Jak uzależnić księgowanie odpisów amortyzacyjnych od opisu na karcie danego środka trwałego?

Przypadek dotyczył sytuacji gdy klient księgował używając kategorii na konta zespołu „4” i chciał księgować na konta zespołu „5” w zależności od tego czy opis na karcie środka trwałego zawierał dany ciąg znaków. Na karcie środka trwałego są dwa pola opisowe, które można wykorzystać: Opis kategorii (czyli to pole po prawej stronie od Kategorii) i pole Opis. W schemacie można odwołać się do nich w następujący sposób:

Dla opisu kategorii na karcie środka w warunku należy wpisać np.:

'1'='1' AND EXISTS (Select * from CDN.Trwale where SrT_SrTID=SrH_SrTID and SrT_Kategoria LIKE '%550%')

Dla Opisu na karcie w warunku należy wpisać np.:

'1'='1' AND EXISTS (Select * From CDN.Trwale Where SrT_SrTID=SrH_SrTID And  SrT_Opis LIKE '%550%')

Warunki oznaczają, że podana kwota zostanie zaksięgowana jeżeli opis zawiera wyrażenie '550'.

Aby schemat zadziałał poprawnie w Opisie elementu schematu należy użyć makro, które odwołuje się do karty środka trwałego np. @ST_NrInwent (czyli Numer inwentarzowy).

28 Jak w schemacie dla Rejestrów VAT zdefiniować kwotę, która jest różnicą pomiędzy kwotą dodatkową i kwotą netto faktury?

Dodatkowo istnieje potrzeba wpisania warunku, że jeśli wynik będzie dodatni to kwota ma zostać zaksięgowana na określone konta.

Taki warunek można zawrzeć w definicji kwoty:

LpKonto Wn Konto Ma Kwota
1760340CASE WHEN @KwotaDodat > VaN_RazemNetto THEN @KwotaDodat - VaN_RazemNetto ELSE 0 END
2340760CASE WHEN @KwotaDodat < VaN_RazemNetto THEN VaN_RazemNetto - @KwotaDodat ELSE 0 END

Uwaga
Jeśli na liście kwot dodatkowych będzie wpisane więcej niż jedna kwota, to każda z nich będzie porównywana z wartością netto oddzielnie –
w szczególności, jeśli jedna z tych kwot będzie większa od netto, a druga mniejsza, to powstaną dwa zapisy.

Patrz też pytanie nr:  26. Jak w schemacie księgowym dla Rejestru VAT połączyć kwotę dodatkową
z kwotą brutto i VAT faktury tak aby schemat nie wykazywał błędu użycia makr różnych typów?

Jeżeli istnieje konieczność porównania sumy kwot dodatkowych z wartością netto, to można posłużyć się odpowiednią funkcją serwerową.

Przykład funkcji dla sumy kwot dodatkowych większej od netto:

create function cdn.KwotyDW (@VaNId Int)
returns Decimal(15,2)
as
begin
declare @wynik Decimal(15,2)
select @wynik = Sum(Kdd_Kwota) - VaN_RazemNetto
from CDN.KwotyDodatkowe join cdn.vatnag on Kdd_DokumentID=VaN_VaNID
where Kdd_DokumentID = @VaNId AND KDD_DokumentTyp=2 group by VaN_RazemNetto having
Sum(Kdd_Kwota) > VaN_RazemNetto
return IsNull(@wynik,0)
end

W schemacie, w polu Kwota należy wpisać:

'0' + cdn.KwotyDW(VaN_VaNID)

Dla sumy kwot dodatkowych mniejszych:

create function cdn.KwotyDM (@VaNId Int)
returns Decimal(15,2)
as
begin
declare @wynik Decimal(15,2)
select @wynik = VaN_RazemNetto - Sum(Kdd_Kwota)
from CDN.KwotyDodatkowe join cdn.vatnag on Kdd_DokumentID=VaN_VaNID  where  Kdd_DokumentID = @VaNId AND KDD_DokumentTyp=2 group by VaN_RazemNetto having  Sum(Kdd_Kwota) < VaN_RazemNetto
return IsNull(@wynik,0)
end

W schemacie, w polu Kwota należy wpisać:

'0' + cdn.KwotyDM(VaN_VaNID)

Warunku w ww. funkcjach nie uwzględniają sytuacji gdy suma kwot dodatkowych jest równa razem netto.

Patrz też pytanie nr: 29. Jak w schemacie księgowym uzyskać kwotę, która jest różnicą pomiędzy sumą kwot dodatkowych Wn minus suma kwot dodatkowych Ma, a wartością netto faktury?

29 Jak w schemacie księgowym uzyskać kwotę, która jest różnicą pomiędzy sumą kwot dodatkowych Wn minus suma kwot dodatkowych Ma, a wartością netto faktury?

W celu uzyskania sumy kwot dodatkowych Wn i Ma należy stworzyć funkcję serwerową. Poniżej przykład funkcji:

a) dla sumy kwot dodatkowych Wn

create function cdn.SumaKwotyDodWn (@VaNId Int) returns Decimal(15,2) as begin declare @wynik Decimal(15,2)
select @wynik = Sum(Kdd_Kwota)
from CDN.KwotyDodatkowe
where Kdd_DokumentID=@VaNId AND KDD_DokumentTyp=2 AND Kdd_Segment1<>''
return IsNull(@wynik,0) end

Kwotę w schemacie należałoby zapisać jako:
'0' + cdn.SumaKwotyDodWn(VaN_VaNID)
b) dla sumy kwot dodatkowych Ma
create function cdn.SumaKwotyDodMa (@VaNId Int) returns Decimal(15,2) as begin declare @wynik Decimal(15,2)
select @wynik = Sum(Kdd_Kwota)
from CDN.KwotyDodatkowe
where Kdd_DokumentID=@VaNId AND KDD_DokumentTyp=2 AND Kdd_Segment2<>''
return IsNull(@wynik,0) end

Kwotę w schemacie należałoby zapisać jako:
'0' + cdn.SumaKwotyDodMa(VaN_VaNID)
Aby uzyskać następującą kwotę: suma kwot dodatkowych Wn minus suma kwot dodatkowych Ma minus razem netto, jako kwotę w schemacie można wpisać:
'0' + (cdn.SumaKwotyDodWn(VaN_VaNID) - cdn.SumaKwotyDodMa(VaN_VaNID)) - VaN_RazemNetto
Patrz też pytanie nr: 28. Jak w schemacie dla Rejestrów VAT zdefiniować kwotę, która jest różnicą pomiędzy kwotą dodatkową i kwotą netto faktury?

30 Jak zaksięgować fakturę (z rejestru VAT lub z modułu FA) w zależności od form płatności przypisanych na zakładce Kontrahent faktury w Rejestrze VAT lub zakładce Płatności na fakturze w module FA)?

Chodzi o przypadek, gdy kwota płatności jest rozbijana na kilka rat lub będzie płacona kilkoma formami płatności np. część gotówką, a pozostała część przelewem.

Należy zdefiniować funkcję serwerową. Przykład takiej funkcji (w przypadku księgowania z poziomu rejestrów VAT) poniżej:

if exists (select * from sysobjects where name = 'userKwotaFormyPlatnosci' and xtype = 'FN')
drop function CDN.userKwotaFormyPlatnosci
GO
create function CDN.userKwotaFormyPlatnosci (@vanid int, @nazwa varchar(20))
returns numeric (15,2)
as
begin
declare @wynik numeric (15,2)
if exists (select * from cdn.vatnag where van_vanid = @vanid and van_trnid is not null)
--- to jest przypadek zapisu zaksięgowanego z listy faktur:
select @wynik = isnull(sum(bzd_kwotasys),0)
from cdn.bnkzdarzenia
join cdn.formyplatnosci on bzd_fplid = fpl_fplid
join cdn.tranag on bzd_dokumenttyp = 1 and bzd_dokumentid = trn_trnid
where fpl_nazwa = @nazwa
and trn_vanid = @vanid
else
--- to jest przypadek zapisu "ręcznego":
select @wynik = isnull(sum(bzd_kwotasysz),0)
from cdn.bnkzdarzenia
join cdn.formyplatnosci on bzd_fplid = fpl_fplid
where fpl_nazwa = @nazwa
and bzd_dokumenttyp = 2 and bzd_dokumentid = @vanid
return @wynik
end
GO

Schemat wyglądałby wówczas np. tak
Konto Kwota
201 '0' + CDN.userKwotaFormyPlatnosci (VaN_VaNId, 'PRZELEW')
100 '0' + CDN.userKwotaFormyPlatnosci (VaN_VaNId, 'GOTÓWKA')
W tym wypadku funkcji używamy w kwocie, a nie w warunku.
W przypadku księgowania dokumentów z poziomu listy faktur w module Handel/Faktury funkcja wygląda następująco:
create function CDN.userKwotaFormyPlatnosciFA (@trnid int, @nazwa varchar(20))
returns numeric (15,2)
as
begin
declare @wynik numeric (15,2)
select @wynik = isnull(sum(bzd_kwotasys),0)
from cdn.bnkzdarzenia
join cdn.formyplatnosci on bzd_fplid = fpl_fplid
where fpl_nazwa = @nazwa
and bzd_dokumenttyp = 1 and bzd_dokumentid = @trnid
return @wynik
end

Przykładowe odwołanie do funkcji w polu Kwota schematu:
'0' + CDN.userKwotaFormyPlatnosciFA (TrN_TrNId, 'PRZELEW')

31. W Rejestrze VAT wybieram na dokumencie kategorię szczegółową ale chciałbym rozksięgować dokument na konto przypisane do kategorii ogólnej, czy jest to możliwe?

Jest to możliwe. Należy stworzyć funkcję serwerową, która odczyta segment konta z kategorii ogólnej np. mamy kategorię ogólną ENERGIA, która ma jako segment Wn konta wybrane konto 402 i mamy kategorie szczegółowe do niej:

Kategoria ogólnaKategoria szczegółowaSegment Konto Wn
ENERGIA402
ENERGIA_PRODUKCJA501-02
ENERGIA_HANDEL505-02
ENERGIA_ZARZĄD510-02

Na dokumencie wybieramy kategorie szczegółowe pozycji, za pomocą których będziemy dokonywać księgowań na konta zespołu „5”, natomiast na kategorii ogólnej mamy informację o koncie zespołu „4”. Segment konta Wn z kategorii pozycji szczegółowej, można pobrać za pomocą standardowo dostępnego makra: @KatElemKontoWn. Segment konta z kategorii ogólnej pozycji można poprać za pomocą funkcji serwerowej. Poniżej przykład takiej funkcji:
Create Function CDN.A (@VaNID INT)
Returns VarChar(50)
As
Begin
Declare @Wynik VarChar(50)
Select @Wynik = KatOgol.Kat_KontoSegmentWN
From CDN.VatTab
Join CDN.VatNag On VaT_VaNID=VaN_VaNID
Join CDN.Kategorie KatSzczeg On VaT_KatId = KatSzczeg.Kat_KatId
Join CDN.Kategorie KatOgol On KatSzczeg.Kat_KodOgolny = KatOgol.Kat_KodSzczegol
Where VaN_VaNId = @VaNId
Set @Wynik = IsNull(@Wynik,'')
Return @Wynik
End

W polu Konto Wn należy wpisać:
SUBSTRING(@KatElemKontoWn,1,0) +CDN.A(VaN_VaNID)
Przykład funkcji pobierającej konto segment Wn z kategorii ogólnej pobieranej na podstawie kategorii szczegółowej wybranej w nagłówku dokumentu:
Create Function CDN.B (@VaNID INT)
Returns VarChar(50)
As
Begin
Declare @Wynik VarChar(50)
Select @Wynik = KatOgol.Kat_KontoSegmentWN
From CDN.VatNag
Join CDN.Kategorie KatSzczeg On VaN_KatId = KatSzczeg.Kat_KatId
Join CDN.Kategorie KatOgol On KatSzczeg.Kat_KodOgolny = KatOgol.Kat_KodSzczegol
Where VaN_VaNId = @VaNId
Set @Wynik = IsNull(@Wynik,'')
Return @Wynik
End

W polu Konto Wn należy wpisać:
SUBSTRING(@KatNagKontoWn,1,0) +CDN.B(VaN_VaNID)
Konstrukcja poprzednich funkcji zakłada, że na dokumencie jest tylko jedna pozycja, bądź w przypadku kilku pozycji – że wszystkie pozycje zawierają kategorie szczegółowe należące do jednej kategorii ogólnej. W przypadku kiedy na księgowanym dokumencie znajduje się więcej niż jedna pozycja z różnymi kategoriami ogólnymi, należy zastosować poniższą, bardziej rozbudowaną funkcję:
Create Function CDN.AB (@VaNID INT, @KategoriaElem varchar(20))
Returns VarChar(50)
As
Begin
Declare @Wynik VarChar(50)
Select @Wynik = KatOgol.Kat_KontoSegmentWN
From CDN.VatTab
Join CDN.VatNag On VaT_VaNID=VaN_VaNID
Join CDN.Kategorie KatSzczeg On VaT_KatId = KatSzczeg.Kat_KatId
Join CDN.Kategorie KatOgol On KatSzczeg.Kat_KodOgolny = KatOgol.Kat_KodSzczegol
Where VaN_VaNId = @VaNId and KatSzczeg.Kat_KodSzczegol = @KategoriaElem
Set @Wynik = IsNull(@Wynik,'')
Return @Wynik
End

Odwołanie do funkcji w pozycji Konto Wn schematu:
SUBSTRING(@KatElemKontoWn,1,0) +CDN.AB(VaN_VaNID, Kat_KodSzczegol)

32. Przekształcam Paragon na kontrahenta “nieokreślonego” do Faktury na określonego kontrahenta. Jak zaksięgować KP do paragonu, na którym jest kontrahent nieokreślony, na kontrahenta, który jest na Fakturze?

W tym przypadku również można posłużyć się funkcją serwerową, która pobierze kod kontrahenta z Faktury i zbuduje na tej podstawie odpowiednią analitykę konta np. 201. Poniżej przykład funkcji, która pobierze kod kontrahenta z faktury:
Create Function CDN.C (@BZpID INT)
Returns VarChar(20)
As
Begin
Declare @Kontr VarChar(20)
Select @Kontr = Knt_Kod
From cdn.BnkRozRelacje
Join CDN.BnkZdarzenia on BRR_DDokID=BZd_BZdID
Join CDN.BnkZapisy on BZp_BZpID=BRR_ZDokID
Join cdn.tranag A on BZd_DokumentID=A.TrN_TrNID
Join cdn.TraNagRelacje on A.TrN_TrNID=TrR_FaId
Join cdn.tranag B on TrR_TrNId=B.TrN_TrNID
Join cdn.kontrahenci on B.TrN_PodID=Knt_KntId
Where BRR_ZDokTyp=2 AND BZd_DokumentTyp=1 AND BRR_DDokTyp=1 AND B.TrN_PodmiotTyp=1 AND TrR_TrNTyp=302 AND BZp_BZpID=@BZpID
Return @Kontr
End

W schemacie księgowym dla raportu kasowo/bankowego, jako konto należy wpisać:
SUBSTRING(@KontoRach,1,0) +'201-'+CDN.C(BZp_BZpID)
Konto musi istnieć już w planie kont (czyli najpierw sugerujemy księgowanie faktury).
Do warunku takiej pozycji schematu można wstawić wyrażenie, które sprawdzi czy dany dokument kasowy jest powiązany z fakturą, która została przekształcona z paragonu.
'1'='1' AND EXISTS (select * From cdn.BnkRozRelacje join CDN.BnkZdarzenia on BRR_DDokID=BZd_BZdID join cdn.tranag on BZd_DokumentID=TrN_FaId where BRR_ZDokTyp=2 AND BZd_DokumentTyp=1 AND BRR_DDokTyp=1 AND TrN_PodmiotTyp=1 AND BZp_BZpID=BRR_ZDokID and TrN_TypDokumentu=302)

33. Jak zaksięgować fakturę na konto Odbiorcy, a nie Nabywcy (konta odbiorców tworzone są wg akronimu)?

W tym przypadku również można posłużyć się funkcją serwerową, która pobierze kod kontrahenta (Odbiorcy) z Faktury i zbuduje na tej podstawie odpowiednią analitykę konta np. 201. Dodatkowo funkcja zamienia w akronimie kontrahenta znaki spacji, kropki i myślnika na znak podkreślenia ponieważ konta w planie kont nie mogą zawierać takich znaków. Poniżej przykład funkcji, która pobierze kod Odbiorcy z faktury:

Create Function CDN.G (@TrnId Int)
Returns VarChar(20)
As
Begin
Declare @Kontr VarChar(20)
Select @Kontr = REPLACE(REPLACE(REPLACE(Knt_Kod, ' ', '_'), '.', '_'), '-', '_')
FROM CDN.TraNag
Join cdn.kontrahenci on TrN_OdbID=Knt_KntId
AND TrN_OdbiorcaTyp=1 AND TrN_TrNID=@TrnId
Return @Kontr
End

W schemacie dla księgowania Faktur z modułu Faktury należy wpisać np.:
LEFT(@Opis,0)+'201-'+CDN.G(TrN_TrNID)
Konto musi istnieć już w planie kont.
Przykład dla przypadku gdy faktury są księgowane z Rejestru VAT:
Create Function CDN.B (@VaNID INT)
Returns VarChar(20)
As
Begin
Declare @Kontr VarChar(20)
Select @Kontr = REPLACE(REPLACE(REPLACE(Knt_Kod, ' ', '_'), '.', '_'), '-', '_')
From cdn.TraNag
Join CDN.VatNag on VaN_VaNID=TrN_VaNId
Join cdn.kontrahenci on TrN_OdbID=Knt_KntId
AND TrN_OdbiorcaTyp=1 AND VaN_VaNId=@VaNID
Return @Kontr
End

W schemacie dla księgowania Faktur z Rejestru VAT należy wpisać np.:
LEFT(@Opis,0)+'201-'+CDN.B(VaN_VaNId)

34. Jak automatycznie zaksięgować dokument na konto kontrahenta gdzie pierwsza analityka to kod kontrahenta, a druga analityka to segment konta pobrany z kategorii dokumentu?

Klient chce rozksięgować dokument na konto 201 wg wzorca: 201-kontrahent-kategoria. Nie da się w takiej sytuacji zastosować podziału na słowniki kontrahentów ponieważ po analityce kontrahenta ma być jeszcze jedna analityka. W takiej sytuacji można posłużyć się makrem @KodPodmiotu, które jest obecne m.in. w schematach dla Rejestrów VAT i Ewidencji dodatkowych. Za pomocą ww. makra pobierzemy kod kontrahenta, natomiast za pomocą dostępnych standardowo makr dotyczących segmentów kont na kategoriach, pobierzemy analitykę przypisaną do kategorii. W polu Konto Wn lub Konto Ma wystarczy więc wpisać np. (dla ewidencji dodatkowej):

'201-'+@KodPodmiotu+'-'+@KontoKatWn

Konta w planie kont muszą istnieć przed księgowaniem. Ewentualnie musi istnieć konto syntetyczne – jeżeli będzie zaznaczony parametr o automatycznym zakładaniu kont niesłownikowych – konta się założą. Konta będą kontami zwykłymi – nie słownikowymi.

35. Jak skonstruować schemat księgowania deklaracji VAT-7 w rozbiciu na poszczególne stawki VAT?

W schemacie księgowym można posłużyć się istniejącą funkcją, która pobiera dane z poszczególnych pól deklaracji (z tabeli CDN.DeklElem):

CDN.KwotaKsiegDekl (DkN_DkNId, DkE_Numer)

W funkcji należy podać właściwą wartość dla pola DkE_Numer  i tak np. dla wzoru 18 deklaracji VAT-7 będzie to wartość:

10500 - Dostawa towarów oraz świadczenie usług na terytorium kraju, zwolnione od podatku (poz. 10 na VAT-7)

10550 - Dostawa towarów oraz świadczenie usług, poza terytorium kraju (poz. 11 na VAT-7)

10510 – w tym świadczenie usług, o których mowa w art.100 ust.1 pkt 4 ustawy (poz.12 na VAT-7)

10700 – Dost. towarów oraz świadczenie usług na terytorium kraju, opodatk. stawką 0% (poz. 13 na VAT-7)

10705 – w tym dostawa towarów, o której mowa w art.129 ustawy (poz.14 na VAT-7)

10710 - Dostawa towarów oraz świadczenie usług na terytorium kraju, opodatkowane stawką odpowiednio 3% albo 5% - netto

10720 - Dostawa towarów oraz świadczenie usług na terytorium kraju, opodatkowane stawką odpowiednio 3% albo 5% - VAT

11400 - Dostawa towarów oraz świadczenie usług na terytorium kraju, opodatkowane stawką odpowiednio 7% albo 8% - netto

11500 - Dostawa towarów oraz świadczenie usług na terytorium kraju, opodatkowane stawką odpowiednio 7% albo 8% - VAT

11600 - Dostawa towarów oraz świadczenie usług na terytorium kraju, opodatkowane stawką odpowiednio 22% albo 23% - netto

11700 - Dostawa towarów oraz świadczenie usług na terytorium kraju, opodatkowane stawką odpowiednio 22% albo 23% - VAT

11710 – Wewnątrzwspólnotowa dostawa towarów

10600 – Eksport towarów

11730 – Wewnątrzwspólnotowe nabycie towarów – netto

11740 – Wewnątrzwspólnotowe nabycie towarów – VAT

11742 – Import towarów, podlegający rozliczeniu zgodnie z art. 33a ustawy – netto

11744 - Import towarów, podlegający rozliczeniu zgodnie z art. 33a ustawy – VAT

11750 – Import usług – netto

11760 – Import usług – VAT

11762 – w tym nabycie od podatników podatku od wartości dodanej usług, do których stosuje się art. 28b ustawy
– netto

11764 - w tym nabycie od podatników podatku od wartości dodanej usług, do których stosuje się art. 28b ustawy
– VAT

11770 – Dostawa towarów oraz świadczenie usług, dla których podatnikiem jest nabywca  - art. 17 ust. 1 pkt 7 lub 8 (pole 31 deklaracji) – kwota netto

11780 – Dostawa towarów, dla których podatnikiem jest nabywca  - art. 17 ust. 1 pkt 5 (pole 32 deklaracji) – kwota netto

11781 – Dostawa towarów, dla których podatnikiem jest nabywca  - art. 17 ust. 1 pkt 5 (pole 33 deklaracji) – kwota VAT

11791 – Dostawa towarów oraz świadczenie usług, dla których podatnikiem jest nabywca  - art. 17 ust. 1 pkt 7 lub 8 (pole 34 deklaracji) – kwota netto

11792 – Dostawa towarów oraz świadczenie usług, dla których podatnikiem jest nabywca  - art. 17 ust. 1 pkt 7 lub 8 (pole 35 deklaracji) – kwota VAT

12000 – Kwota podatku należnego od towarów i usług objętych spisem z natury, o którym mowa w art.14 ust.5 ustawy

12005 - Zwrot odliczonej lub zwróconej kwoty wydatkowanej na zakup kas rejestrujących, o którym mowa w art.111 ust.6 ustawy

12010 – Kwota podatku należnego od wewnątrzwspólnotowego nabycia środków transportu

12011 - Kwota podatku od wewnątrzwspólnotowego nabycia paliw silnikowych

Tak więc aby zaksięgować kwotę VAT w stawce 22% albo 23% (pole 20. na deklaracji VAT-7) należy wpisać w polu Kwota elementu schematu księgowego np. takie wyrażenie:

@Vat7Nalezny - @Vat7Nalezny + CDN.KwotaKsiegDekl (DkN_DkNId, 11700)

36. Jak zaksięgować różnicę pomiędzy obrotami Ma konta VAT-u a VAT-em należnym z deklaracji VAT-7?

Można to zrobić definiując funkcję, która będzie pobierała obroty Ma odpowiedniego konta za okres, za który przeliczana jest deklaracja.
Create Function CDN.ObrotyMa(@Konto VarChar(50), @RokMies Int)
Returns Decimal(15,2)
As
Begin
Declare @Wynik Decimal(15,2), @OObId Int, @AccId Int
-- Określamy Id bieżacego okresu obarchunkowego
Select @OObId = Case When IsNumeric(Fir_Wartosc)=1 Then Cast (Fir_Wartosc As Int) Else Null End From CDN.Firma Where Fir_Numer=244
-- Odczytujemy interesujące nas konto
Select @AccId = Acc_AccId From CDN.Konta Where Acc_OObId = @OObId And Acc_Numer=@Konto
-- Odczytujemy obroty Ma z uwzględnieniem bufora
Select @Wynik = Obr_ObrotyMaBufor From CDN.Obroty Where Obr_AccId = @AccId And Obr_RokMies = @RokMies And Obr_Typ = 0
Return IsNull(@Wynik, 0)
End

i wykorzystanie w schemacie:
CDN.ObrotyMa('221-2', DkN_RokMiesiac) - @Vat7Nalezny

37. Jak w warunku schematu dla WZ odwołać się do symbolu/serii w numerze faktury do której zostało wystawione WZ?

Zarówno dokument Wydania zewnętrznego (WZ) jak i faktura z tym dokumentem powiązana, są zapisane w tej samej tabeli CDN.TraNag. W tej sytuacji warunek można zbudować następująco:

'1'='1' And Exists (Select * From CDN.TraNag FA Where CDN.TraNag.TrN_FaId = FA.TrN_TrNId And Fa.TrN_NumerPelny Like 'FA%SERIA')

Patrz też pytania nr:

11. Jak uzależnić księgowanie dokumentów z ewidencji dodatkowej na poszczególne konta od symbolu użytego w schemacie numeracji?

20. Jak zaksięgować fakturę zakupu, żeby w schemacie księgowania w warunku zastosować fragment numeru dokumentu np MAGAZYN i SERIA z numeru FZ/99/MAGAZYN/SERIA?

38. Jak w opisie schematu do księgowania dokumentu WZ umieścić numer faktury, z którą powiązane jest WZ?

Należy w tym celu skonstruować funkcję serwerową, która odczyta numer faktury. Funkcja może wyglądać tak:
Create Function CDN.NumerFa (@TrNId Int)
Returns VarChar(30)
As
Begin
Declare @Numer VarChar(30)
Select Top 1 @Numer = TrN_NumerPelny From CDN.TraNag Where TrN_TrNId = @TrNId
Return IsNull(@Numer, '')
End

W opisie schematu księgowań należy podać jakiekolwiek istniejące makro razem z odwołaniem do ww. funkcji, np. w ten sposób:
@NumerPelny + ' ' + CDN.NumerFa (TrN_FaId)

39. Jak przenieść kwotę wpisaną w polu Opis na fakturze do pozycji schematu księgowego?

W Opisie faktury wprowadzonej na listę faktur sprzedaży w module Faktury wprowadzono kwotę, która powinna zostać zaksięgowana na konta. Ponieważ pole Opis nie jest polem numerycznym – należy je do takiego przekonwertować i dodatkowo księgować tylko wtedy gdy w polu Opis faktycznie występuje liczba.
W pozycji schematu, w polu Kwota można wpisać następujące wyrażenie:
@PlatRazem - @PlatRazem + CASE WHEN ISNUMERIC(TrN_Opis)=1 THEN CAST (TrN_Opis AS DECIMAL(15,2)) ELSE 0 END
Dla faktur księgowanych z Rejestru VAT można użyć pola opisu kategorii:
@PlatRazem - @PlatRazem + CASE WHEN ISNUMERIC(VaN_Kategoria )=1 THEN CAST (VaN_Kategoria AS DECIMAL(15,2)) ELSE 0 END
Makra istniejące nie mogą odwoływać się do elementów faktury – muszą odwoływać się do nagłówka (tak jak np. makro @PlatRazem). Jeżeli zostanie użyte makro odwołujące się do elementów np. @PozNetto (dla modułu FA) lub @Netto (dla rejestru VAT) – to księgowana kwota będzie mnożona przez ilość pozycji na fakturze.

40. Jak zaksięgować kwotę „do wypłaty” z listy płac
w zależności od rodzaju umowy zlecenia/dzieło i formy płatności?

Od wersji 8.0 systemu zmienił się sposób zapisywania form płatności dla pracowników. Są one zapisywane w osobnej tabeli: CDN.SchematPlatnosci. W związku z czym, o ile w poprzednich wersjach działał warunek:

Exists (Select * From CDN.PracEtaty join CDN.FormyPlatnosci on PRE_FplId=FPl_FPlId Where WPL_PraId = PRE_PraId AND WPL_DataDok Between PRE_DataOd And PRE_DataDo AND FPl_Typ=1) AND @TypWyplaty ='dzieło 20%'
Od wersji 8.0 warunek powinien wyglądać następująco:
Exists (Select * From CDN.PracEtaty join cdn.SchematPlatnosci on PRE_PreId = SPL_PodmiotId join CDN.FormyPlatnosci on SPL_FplId=FPl_FPlId Where SPL_PodmiotTyp = 3 and WPL_PraId = PRE_PraId AND WPL_DataDok Between PRE_DataOd And PRE_DataDo AND FPl_Typ=1) AND @TypWyplaty ='dzieło 20%'
FPl_Typ=1 oznacza formę płatności typu „gotówka”.

41. Jak wyksięgować kwotę dotychczasowych zaliczek
z faktury finalnej księgowanej przez Rejestr sprzedaży VAT?

Najprościej księgować faktury zaliczkowe przez moduł Faktury ponieważ w schematach do Faktur sprzedaży są dodane odpowiednie makra.
Jeżeli faktury zaliczkowe i faktura finalna są wystawiane w module Faktury, a następnie przenoszone do Rejestru VAT to kwotę dotychczasowych zaliczek z faktury finalnej można odczytać stosując istniejącą w programie funkcję i w polu Kwota pozycji schematu wpisać:
Dla kwoty zaliczki netto:
'0'+CDN.TraKwoty(VaN_TrNId,'ZN',Null,Null)
Dla kwoty zaliczki brutto:
'0'+CDN.TraKwoty(VaN_TrNId,'ZB',Null,Null)
Aby sprawdzić czy faktura jest zaliczkowa można użyć następującego warunku:
'1'='1' AND exists (select * from CDN.TraNag where TrN_VaNId = VaN_VaNID AND TrN_Rodzaj In (302200, 302202))
Warunek dla faktury finalnej:
'1'='1' AND Exists (Select * From CDN.TraNag join CDN.TraVat on TrN_TrNID = TrV_TrNID Where TrN_VaNId = VaN_VaNID AND TrV_TrNId=TrN_TrNId And TrV_Typ=1)
Warunek dla faktury zwykłej:
'1'='1' AND Not Exists (Select * From CDN.TraNag join CDN.TraVat on TrN_TrNID = TrV_TrNID Where TrN_VaNId = VaN_VaNID AND TrV_TrNId=TrN_TrNId And TrV_Typ=1) AND Not Exists (select * from CDN.TraNag where TrN_VaNId = VaN_VaNID AND TrN_Rodzaj In (302200, 302202))

42. Jak przy księgowaniu raportu kasowego rozróżnić czy konto przeciwstawne jest walutowe (i księgować
w walucie), a jak że jest złotówkowe (i księgować tylko
w złotówkach)?

Warunek dla pozycji schematu wykorzystującej konto przeciwstawne gdy jest zaznaczone księgowanie walutowe:
'1'='1' and exists (select * from CDN.Konta where Acc_Numer like @KontoPrzeciw + '%' and Acc_Waluta<>'')
Warunek dla pozycji schematu wykorzystującej konto przeciwstawne gdy nie jest zaznaczone księgowanie walutowe:
'1'='1' and not exists (select * from CDN.Konta where Acc_Numer like @KontoPrzeciw + '%' and Acc_Waluta<>'')
W Biuletynie technicznym nr 22 został przedstawiony przykład schematu księgowego wykorzystujący ww. warunki.

43. Jak automatycznie księgować na konta zespołu “4” na podstawie konta zespołu „5” wpisanego w kwotach dodatkowych?

Mamy w planie kont np. konta  501-1-1-401-01 i np. 501-1-1-402-01. Odpowiednikiem tych kont w zespole „4” są 400-401-01 i 400-402-01. W rejestrze VAT wprowadzamy na fakturze w Kwotach dodatkowych konta zespołu „5”. Chcemy żeby „4” podstawiała się automatycznie na podstawie „5”.

W schemacie księgowym, jako definicję konta można wpisać:

'400-'+SUBSTRING(@KontoDodatWn,9,6)

Jeżeli w kwocie dodatkowej wybierzemy konto 501-1-1-401-01, to po zaksięgowaniu otrzymamy konto 400-401-01.

44. Jak w schemacie do księgowania faktur zakupu z Rejestrów VAT rozróżnić zaliczkobiorcę, który jest pracownikiem od zaliczkobiorcy, który jest wspólnikiem?

W warunku schematu dotyczącym księgowania na konto pracowników należy wpisać:

'1'='1' AND exists (select * from CDN.PracEtaty where VaN_PodZalId=Pre_PraID AND VaN_PodmiotZalTyp=3 AND PRE_TypPracownika=0)

W warunku schematu dotyczącym księgowania na konto wspólnika należy wpisać:

'1'='1' AND exists (select * from CDN.PracEtaty where VaN_PodZalId=Pre_PraID AND VaN_PodmiotZalTyp=3 AND PRE_TypPracownika=1)

45. Jak należy wpisać warunek aby zaksięgować fakturę
z rejestru VAT na wybrane konto pod warunkiem, że zaliczkobiorcą jest pracownik o akronimie ‘KOWALSKI’?

W warunku można wpisać:

'1'='1' AND exists (select * from CDN.PracEtaty where VaN_PodZalId=Pre_PraID AND VaN_PodmiotZalTyp=3 AND PRE_Kod='KOWALSKI')

46. Jak w opisie pozycji schematu dla rejestrów VAT wstawić kod pracownika, który jest zaliczkobiorcą?

Jeżeli pozycja schematu zawiera konto słownikowe pracownika i podział na słowniki: Zaliczkobiorcy to w opisie można wstawić następujące wyrażenie:

''+(select top 1 PRE_Kod from CDN.PracEtaty where Pre_PraID = VaN_PodZalId and VaN_PodmiotZalTyp=3)

Jeżeli daną pozycją schematu księgujemy kwotę na konto kontrahenta (czyli jest podział na słowniki: Podmioty) a w opisie chcemy mieć informację o kodzie zaliczkobiorcy, należy użyć funkcji:

Create Function CDN.MojeFunkcje_KodZaliczkobiorcy (@VaNId Int) Returns VarChar(31) As  Begin
Declare @Kod VarChar(50)
Set @Kod = IsNull((select top 1 PRE_Kod from CDN.PracEtaty join cdn.vatnag on Pre_PraID = VaN_PodZalId and VaN_PodmiotZalTyp=3 where Van_Vanid=@VaNId), '')
Return @Kod
End

W definicji Opisu do danej pozycji schematu księgowego wpisujemy:

@Dokument + ' ' + CDN.MojeFunkcje_KodZaliczkobiorcy (VaN_VaNId)

47. Jak opisie pozycji dekretu umieścić informację o Imieniu i nazwisku zaliczkobiorcy (pracownika) wybranego na fakturze zakupu w rejestrze VAT?

W schemacie księgowym typu Rejestr zakupów VAT w polu Opis należy wkleić:
@TypZaliczkobiorcy + ' ' + CDN.ImieNazwisko (VaN_PodZalId,VaN_PodmiotZalTyp)
Operator z uprawnieniami administratora może uruchomić skrypt w menu Narzędzia/ Serwer bazy danych/ Wykonywanie skryptów.
Create Function CDN.ImieNazwisko (@VaN_PodZalId Int,@VaN_PodmiotZalTyp Int)
Returns VarChar(30)
As
Begin
Declare @ImieNazwisko VarChar(30)
Select Top 1 @ImieNazwisko = Pre_Imie1+' '+Pre_Nazwisko From cdn.pracetaty
Where @VaN_PodZalId =Pre_PraID AND @VaN_PodmiotZalTyp=3 AND PRE_TypPracownika=0
Return IsNull(@ImieNazwisko, '')
End

48. Jak ułożyć warunek dla księgowania zaliczki na PIT-36 aby w miesiącu listopadzie zawsze księgowała się podwójna zaliczka?

Innymi słowy musimy w warunku „wyciągnąć” z pola DkN_RokMiesiac tylko miesiąc. Pole zapisuje rok i miesiąc w postaci 4 cyfr dla roku i 2 cyfr dla miesiąca np. ‘201811’.
W warunku trzeba „wyciąć” pierwsze 4 znaki i użyć tylko dwóch ostatnich. Możemy to zrobić tak:
SUBSTRING(DkN_RokMiesiac,5,2)
Musimy jednak skonwertować liczbę do tekstu poprzez STR i dodatkowo usunąć zbędne spacje poprzez LTRIM. Cały warunek dla księgowania deklaracji, która pochodzi z miesiąca listopada będzie wyglądał tak:
'1'='1' AND SUBSTRING(LTRIM(STR(DkN_RokMiesiac)),5,2)=11

49. Czy w schemacie do księgowania dokumentów przesunięć MM można wykorzystać symbol magazynu do identyfikacji konta magazynu źródłowego
i docelowego?

Chodzi o to aby przy dużej ilości magazynów nie tworzyć kilkudziesięciu pozycji schematu odpowiadających wszystkim przesunięciom międzymagazynowym. Zakładamy więc, że analitykę magazynu pobieramy z symbolu magazynu. Na przykład, w polu Symbol, na formatce magazynu mamy MAG1, a konto ma postać 311-MAG1. Wtedy dla magazynu źródłowego definicja konta miałaby postać: '311-'+@Magazyn a dla magazynu docelowego: '311-'+@MagDocelowy.

50. Jak wykorzystać atrybuty do przypisania odpowiedniego konta zespołu „5” na karcie środka trwałego?

W Słownikach/ Atrybuty można zdefiniować atrybut o nazwie np. „KONTO_5”, typie „lista”, i pozycjach listy odpowiadających wszystkim kontom zespołu 5, na które jest księgowana amortyzacja np. 501-01, 502-01, 503-01 itp. Na karcie środka trwałego dodajemy atrybut „KONTO_5” i wybieramy wartość odpowiadającą „piątce” np. 501-01.

W pozycji schematu księgowego odpowiadającej za księgowanie na konta zespołu „5”, w polu Konto Wn wprowadzamy definicję:

@ST_Atrybut('KONTO_5')

W makrach dostępnych pod Kontem Wn i Kontem Ma nie ma pozycji „Wartość atrybutu” więc aby wkleić odpowiednie wyrażenie można skorzystać z pola „Opis” wybierając odpowiedni atrybut, kopiując i wklejając do „Konto Wn/Konto Ma”.

51. Jak można użyć, w schemacie księgowym, atrybutu przypiętego do pozycji faktury?

Księgując fakturę z modułu Handel są dwie możliwości:
1. Ponieważ atrybuty są zapisywane w tabeli CDN.TraElem w polach: TrE_Atr1_Kod, TrE_Atr2_Kod.... TrE_Atr5_Kod i wartości odpowiednio w polach TrE_Atr1_Wartosc do TrE_Atr5_Wartosc to można się odwołać bezpośrednio do tych pól. Założenie jednak będzie wtedy takie (aby nie komplikować warunku), że atrybut, który nas interesuje jest zawsze np. pierwszy czyli zapisywany w polach TrE_Atr1_Kod i TrE_Atr1_Wartosc.
Aby zaksięgować kwotę netto pozycji, pod warunkiem, że pierwszy atrybut to ATR1 i jego wartość to WART1 można użyć kwoty @PozNetto a w warunku:
'1'='1' AND TrE_Atr1_kod='ATR1' AND TrE_Atr1_Wartosc='WART1'
2. Jeżeli atrybut, który nas interesuje może być zapisany na różnych miejscach to aby nie tworzyć bardzo złożonego warunku można użyć funkcji, której jako parametry podamy kod atrybutu i wartość. Funkcja będzie użyta w kwocie schematu np.
Create Function CDN.userKwotaElementuZAtrybutem (@Treid int, @KodAtrybutu varchar(255), @WartoscAtrybutu varchar(255), @Typ varchar(10))
Returns Decimal (15,2)
As
Begin
Declare @Wynik Decimal(15,2)
if exists (
select * from CDN.TraElem
where TrE_TrEID = @TrEId
and ( TrE_Atr1_Kod = @KodAtrybutu and TrE_Atr1_Wartosc=@WartoscAtrybutu
or TrE_Atr2_Kod = @KodAtrybutu and TrE_Atr2_Wartosc=@WartoscAtrybutu
or TrE_Atr3_Kod = @KodAtrybutu and TrE_Atr3_Wartosc=@WartoscAtrybutu
or TrE_Atr4_Kod = @KodAtrybutu and TrE_Atr4_Wartosc=@WartoscAtrybutu
or TrE_Atr5_Kod = @KodAtrybutu and TrE_Atr5_Wartosc=@WartoscAtrybutu
) )
begin
set @Wynik = CDN.TraKwoty( @TrEId, @Typ, Null, Null)
end
Return IsNull( @Wynik, 0 )
End

W definicji kwoty wpisujemy:
@PozNetto - @PozNetto + CDN.userKwotaElementuZAtrybutem(TrE_TrEId, 'ATRYBUT', 'WARTOŚĆ', 'PN')
'PN' - oznacza kwotę netto. 'PB' oznaczałoby kwotę brutto pozycji.

52.Jak wykorzystać w schemacie księgowym, w definicji konta, wartość atrybutu przypiętego do karty kontrahenta?

Na karcie kontrahenta jest m.in. przypięty atrybut o nazwie KONTO, którego wartość odpowiada symbolowi konta, które ma być użyte do księgowania faktury z Rejestru VAT. Chcemy tak zdefiniować w pozycji schematu Konto Wn aby podstawiała się do niej wartość tego atrybutu przypięta do kontrahenta wybranego na fakturze.
W takiej sytuacji trzeba skorzystać z funkcji serwerowej. Dla faktury księgowanej z Rejestru VAT funkcja może wyglądać następująco:
Create Function CDN.A (@VaNId int, @AtrybutKod varchar(255))
Returns varchar(255)
As
Begin
Declare @Wynik VarChar(255)
Set @Wynik = ''
select @Wynik = KnA_WartoscTxt
from
CDN.KntAtrybuty
join CDN.DefAtrybuty on (KnA_DeAId = DeA_DeAId)
join CDN.PodmiotyView on (KnA_PodmiotId = Pod_PodId)
join CDN.VatNag on (VaN_PodID = Pod_PodId)
where
VaN_VaNID=@VaNId and DeA_Kod=@AtrybutKod AND KnA_PodmiotTyp = Pod_PodmiotTyp AND Pod_PodmiotTyp = VaN_PodmiotTyp
Return IsNull(@Wynik, '')
End

W definicji Konta Wn wpisujemy:
LEFT(@Opis,0)+CDN.A(Van_VaNID,'KONTO')
Ponieważ w definicji konta w pozycji schematu jest ograniczona liczba znaków, jeżeli odwoływać się do atrybutów w ten sposób, należy nadawać im krótkie nazwy.
Dla faktury księgowanej z modułu Handel:
Create Function CDN.B (@TrNId int, @AtrybutKod varchar(255))
Returns varchar(255)
As
Begin
Declare @Wynik VarChar(255)
Set @Wynik = ''
select @Wynik = KnA_WartoscTxt
from
CDN.KntAtrybuty
join CDN.DefAtrybuty on (KnA_DeAId = DeA_DeAId )
join CDN.PodmiotyView on KnA_PodmiotId = Pod_PodId
join CDN.TraNag on Pod_PodId = TrN_PodID
where
TrN_TrNID=@TrNId and DeA_Kod=@AtrybutKod AND KnA_PodmiotTyp = Pod_PodmiotTyp AND Pod_PodmiotTyp = TrN_PodmiotTyp
Return IsNull(@Wynik, '')
End

W definicji konta:
LEFT(@Opis,0)+CDN.B(Trn_TrNID,'KONTO')

53. Jak wykorzystać w schemacie księgowym z rej. VAT kwotę z ewidencji dodatkowej?

Schemat pozwala na wyksięgowanie kwoty z dokumentu ewidencji dodatkowej pod warunkiem, że numer dokumentu i Akronim kontrahenta jest identyczny na rej. VAT i ewidencji dodatkowej.
W takiej sytuacji trzeba skorzystać z funkcji serwerowej. Dla faktury księgowanej z Rejestru VAT funkcja może wyglądać następująco:
create function cdn.MojaFunkcja_ED (@ID int, @Typ int, @Dok varchar(30))
returns Decimal(15,2)
as
begin
declare @wynik Decimal(15,2)
select @wynik = EDN_KwotaRazemSys
from CDN.EwiddodNag
join cdn.vatnag on
VaN_Dokument=EDN_NumerObcy and
VaN_PodID=EDN_PodID and
VaN_PodmiotTyp=EDN_PodmiotTyp
where VaN_Dokument = @Dok AND VaN_PodID=@ID AND VaN_PodmiotTyp= @Typ
return IsNull(@wynik,0)
end

W definicji Kwoty w schemacie rej. VAT wpisujemy:
@Brutto-cdn.MojaFunkcja_ED(VaN_PodID,VaN_PodmiotTyp,VaN_Dokument)

54. Jak w schemacie księgowym dokumentów z rejestru VAT w polu Opis wykorzystać np. datę operacji
z dokumentu?

@Opis+' '+convert (varchar(10), VaN_DataOpe , 120)

55. Jak w schemacie księgowym Listy płac wyszukać pola opisu analitycznego, które nie mają żadnej wartości czyli NULL?

Jeżeli jako kwota została użyta kwota, która odwołuje się do tabeli CDN.WypElementy to warunek może wyglądać tak:
'1'='1' and not exists(select * from CDN.OpisPlace where OpP_WpEId= WpE_WpEId)
Taka kwota to np. @WynagrodzenieBrutto, @ZUSEmerPrac, @ZUSEmerFirma itp.
Gdyby kwota odwoływała się do innej tabeli np. CDN.Wyplaty to:
'1'='1' and not exists(select * from CDN.Wyplaty JOIN CDN.WypElementy ON WPL_WplId = WPE_WplId JOIN CDN.OpisPlace ON OpP_WpEId= WpE_WpEId WHERE WPL_LplId = LPL_LplId)
Taka kwota to np. @DoWyplaty.

56. Jak w schemacie do księgowania raportów K/B,
w pozycji dekretu uzyskać opis składający się
z numerów dokumentów rozliczających dany zapis K/B?

W takim przypadku można wykorzystać istniejącą funkcję CDN.NumeryRozliczonych wstawiając do opisu pozycji schematu następującą definicję:
@KategoriaSzczegol + ' ' +CDN.NumeryRozliczonych(Bzp_BzpID,2,0)
Zamiast @KategoriaSzczegol można użyć innego istniejącego makra.
Jeżeli dany zapis k/b jest rozliczany kilkoma dokumentami - ich numery w opisie będą oddzielone znakiem średnika.

57. Jak w schemacie księgowym dokumentów z rejestru VAT rozróżnić księgowanie dokumentów wystawionych na kontrahentów krajowych i zagranicznych?

W przypadku kiedy korzystamy z informacji zapisanych na karcie kontrahenta:

Warunek jaki należy wstawić przy kontrahentach krajowych:

'1'='1' AND exists (select * from cdn.kontrahenci where Knt_KntId= VaN_PodID and VaN_PodmiotTyp=1 and Knt_Export=0)

Warunek jaki należy wstawić przy kontrahentach zagranicznych:

'1'='1' AND exists (select * from cdn.kontrahenci where Knt_KntId= VaN_PodID and VaN_PodmiotTyp=1 and Knt_Export<>0)

W przypadku kiedy korzystamy z informacji zapisanych na dokumencie, czyli rodzaj transakcji, wtedy warunek może wyglądać następująco:

'1'='1' AND VaN_Export=0 (dla transakcji krajowej)

Rodzaj transakcji:

0 - krajowa

1 - eksport/import

2 - eksport - zwrot VAT

3 - dostawa/nabycie wewnątrzwspólnotowa

4 - dostawa/nabycie wewnątrzunijna trójstronna

5 - krajowa - podatnikiem jest nabywca

6 - dostawa poza terytorium kraju

7 - poza terytorium kraju (stawka NP)

8 - wewnątrzunijny - podatnikiem jest nabywca

9 - pozaunijny - podatnikiem jest nabywca

58. Jak z poziomu rejestru VAT zaksięgować dokumenty
w zależności od formy płatności na nich wybranej?

Aby zaksięgować fakturę zapłaconą gotówką należy w warunku schematu księgowego wpisać:

'1'='1' and exists (select * from CDN.FormyPlatnosci where
VaN_FplID=FPl_FPlId and FPl_Nazwa = 'gotówka')

A dla dokumentów z pozostałymi formami płatności:

'1'='1' and exists (select * from CDN.FormyPlatnosci where
VaN_FplID=FPl_FPlId and FPl_Nazwa <> 'gotówka')

59. W jaki sposób sprawdzić czy zapis kasowy został automatycznie wygenerowany przy tworzeniu faktury gotówkowej?

W schemacie księgowań dla zapisów automatycznych należy wpisać warunek:

'1'='1' AND BZp_ZapisAutomatyczny=1

Dla pozostałych zapisów:

'1'='1' AND BZp_ZapisAutomatyczny=0

60. Jak zaksięgować dokument Przyjęcia Zewnętrznego
w zależności od statusu kontrahenta?

Dla kontrahenta krajowego należy w warunku schematu wpisać:

'1'='1' AND TrN_Export=0

Dla kontrahenta unijnego:

'1'='1' AND (TrN_Export=3 OR TrN_Export=4)

Dla kontrahenta pozaunijnego:

'1'='1' AND TrN_Export=1

Status:

0 - krajowy

1 - eksport/import

2 - eksport - zwrot VAT

3 - dostawa/nabycie wewnątrzwspólnotowa

4 - dostawa/nabycie wewnątrzunijna trójstronna

5 - krajowy - podatnikiem jest nabywca

6 - dostawa poza terytorium kraju

7 - poza terytorium kraju (stawka NP)

8 - wewnątrzunijny - podatnikiem jest nabywca

9 - pozaunijny - podatnikiem jest nabywca

61. Jak zaksięgować dokument PZ w zależności od fragmentu numeru faktury, do której został utworzony np. numer faktury zakupu zaczyna się od „FA” i kończy się na MG lub EU?”

W warunku schematu księgowego należy wpisać:

 '1'='1' And Exists (Select * From CDN.TraNag FA Where CDN.TraNag.TrN_FaId = FA.TrN_TrNId And Fa.TrN_NumerPelny Like 'FA%SERIA')

zastępując słowo SERIA na końcu warunku wybraną serią dokumentu np. MG lub EU.

62. Jak podczas księgowania listy płac w polu Konto odwołać się do kategorii na wypłacie pracownika (na zakładce [Ogólne])?

Przykład funkcji:
Create Function CDN.A3 (@LplID int, @WPLID int)
Returns varchar(255)
As
Begin
Declare @Wynik VarChar(50)
Set @Wynik = ''
select @Wynik = Kat_KontoSegmentWN
from
CDN.Kategorie
join CDN.Wyplaty on WPL_KatId = Kat_KatID
join CDN.ListyPlac on WPL_LplId = LPL_LplId
where
LPL_LplId=@LplId AND WPL_WPLID=@WPLID
Return IsNull(@Wynik, '')
End
W polu
Konto Wn lub Konto Ma należy wstawić:
LEFT(@Opis,0)+CDN.A3(Lpl_LplID,WPL_WPLID)

63. Jak zaksięgować kwotę netto z faktury w Rejestrze VAT z podziałem na magazyny?

Na Fakturze Sprzedaży w module Faktury są pozycje pochodzące z różnych magazynów. Chodzi o to aby zaksięgować kwotę netto na różne konta, w zależności od magazynu. Na fakturze w Rejestrze VAT nie ma takiej informacji – informacja jest tylko na fakturze w module Faktury. Najprościej więc księgować fakturę bezpośrednio z modułu Faktury i wykorzystać w schemacie, w warunku pozycji, makro @MagazynElem.
Jeżeli natomiast istnieje potrzeba wykonania księgowania z Rejestru VAT można dodać odpowiednią funkcję serwerową i umieścić ją w definicji kwoty schematu:
if exists (select * from sysobjects where name = 'userKwotaFaMagazyny' and xtype = 'FN')
drop function CDN.userKwotaFaMagazyny
GO
create function CDN.userKwotaFaMagazyny (@vanid int, @nazwa varchar(20))
returns numeric (15,2)
as
begin
declare @wynik numeric (15,2)
select @wynik = isnull(sum(TrE_WartoscNetto),0)
from cdn.tranag
join cdn.TraElem on TrN_TrNID = TrE_TrNId
join CDN.Magazyny ON Mag_MagId = TrE_MagId
where Mag_Symbol = @nazwa
and trn_vanid = @vanid
return @wynik
end

W definicji kwoty wpisujemy:
'0' + CDN.userKwotaFaMagazyny (VaN_VaNId, 'MAGAZYN')

64. Jak z poziomu listy płac zaksięgować na konkretne konto wypłatę pracownika, który jest niepełnosprawny?

W pozycji schematu dla listy płac w polu Warunek należy wpisać:

'1'='1' AND EXISTS (select * from CDN.PracEtaty join CDN.PracKod on Pra_Praid = Pre_Praid where Pra_Praid = Wpl_Praid and Wpl_Lplid  = Lpl_Lplid and Pre_StNiepelnosp<>0)

65. Jak w schemacie do księgowania paragonów odwołać się do symbolu magazynu na pozycji paragonu?

W kwocie należy użyć makra odwołującego się do pozycji paragonu, np. @PozNetto. W warunku można użyć następującego zapytania:

'1'='1' AND EXISTS(SELECT * FROM CDN.Magazyny WHERE Mag_MagId = TrE_MagId AND Mag_Symbol='MAGAZYN')

66.Jak umieścić funkcję serwerową w polu z datą księgowania? (na przykładzie księgowania faktur za usługi transportowe)

Księgujemy faktury z Rejestru VAT i zakładamy co następuje:
1. jeżeli dokument jest rozliczony całkowicie – pobieramy datę rozliczenia (jeżeli jest rozliczony kilkoma dokumentami, będzie to data ostatniego rozliczenia),
2. jeżeli jest nierozliczony całkowicie i data bieżąca minus data wystawienia jest większa od 30 dni, pobieramy datę o 30 dni późniejszą od daty wystawienia dokumentu,
3. jeżeli jest to inny przypadek niż powyższe warunki (np. całkowicie nierozliczony ale różnica między datą bieżącą i datą wystawienia jest mniejsza niż 30 dni lub dokument jest częściowo rozliczony) funkcja wstawi zero czyli przy księgowaniu pojawi się komunikat o księgowaniu poza bieżącym okresem obrachunkowym i dokument nie zostanie zaksięgowany. Funkcję można oczywiście rozbudować o kolejne warunki.
if exists (select * from sysobjects where name = 'F1' and xtype = 'FN')
drop function [CDN].[F1]
GO
CREATE function [CDN].[F1] (@VaNId Int)
returns Datetime
as
begin
declare @wynik Datetime
select @wynik = case when exists(select * from CDN.BnkZdarzenia join CDN.VatNag on BZd_DokumentId = VaN_VaNId AND BZd_DokumentTyp = 2 WHERE BZd_Rozliczono=2 AND Van_Vanid=@VaNId) then BZd_DataRoz when exists (select * from CDN.BnkZdarzenia join CDN.VatNag on BZd_DokumentId = VaN_VaNId AND BZd_DokumentTyp = 2 WHERE BZd_Rozliczono2=1 AND (GetDate()- VaN_DataWys)>30 AND Van_Vanid=@VaNId) then DateADD(day,30,VaN_DataWys) else 0 end
from CDN.BnkZdarzenia join CDN.VatNag on BZd_DokumentId = VaN_VaNId and BZd_DokumentTyp = 2 where Van_Vanid=@VaNId
return @wynik
end

W schemacie, w polu Data ksieg. wpisujemy:
@DataWyst-@DataWyst+cdn.F1(VaN_VaNID)

67. Jak w warunku schematu dla faktur zakupu odwołać się do opcji Odliczenia VAT: Tak, Nie, Warunkowo na karcie kategorii wybranej na pozycji dokumentu?

W schemacie księgowym typu Faktura zakupu w warunku wkleić następujące wyrażenie:

Dla odliczeń na NIE

'1'='1' and exists (select * from CDN.Kategorie where Tre_Katid=Kat_Katid and Kat_Odliczenia=0)

Dla odliczeń na TAK

'1'='1' and exists (select * from CDN.Kategorie where Tre_Katid=Kat_Katid and Kat_Odliczenia=1)

Dla odliczeń WARUNKOWO

'1'='1' and exists (select * from CDN.Kategorie where Tre_Katid=Kat_Katid and Kat_Odliczenia=2)

68. Jak uzależnić księgowanie z Rejestru VAT na dane konto od tego czy dokument wpłynął maksymalnie do 20 dnia kolejnego miesiąca?

Poniższy warunek zaksięguje dokumenty, które wpłynęły maksymalnie do 20 dnia kolejnego miesiąca po miesiącu wystawienia faktury. Data księgowania w schemacie musi być ustawiona na datę wystawienia:
'1'='1' and VaN_DataZap <= dateadd(day,20,DATEADD(day,-1,DATEADD(month,DATEDIFF(month,-1,Van_DataWys),0)))
Poniższy warunek zaksięguje dokumenty, które wpłynęły po 20 dniu kolejnego miesiąca po miesiącu wystawienia faktury. Data księgowania w schemacie musi być ustawiona na datę wpływu:
'1'='1' and VaN_DataZap > dateadd(day,20,DATEADD(day,-1,DATEADD(month,DATEDIFF(month,-1,Van_DataWys),0)))
Warunki powinny być wklejone w polu Warunek w nagłówku schematu księgowego.

69. Jak rozksięgować dokumenty środków trwałych na podstawie kodu i wartości liczbowej atrybutu?

Przykład: środki trwałe są dzielone na projekty procentowo w danym miesiącu. Czyli środek był wykorzystywany w 20% w projekcie 1, 30% w drugim i 50% w trzecim. Każdy z projektów ma odpowiednie konto księgowe. Na karcie środka trwałego atrybuty w kodzie mają zawarte konto księgowe a wartość to udział procentowy amortyzacji w danym miesiącu.

Wygląda to tak:

Atrybut Kod          Wartość

501-1-1                 0,30

502-1-1                 0,20

504-2                     0,50

W schemacie księgowym w polu Konto odwołujemy się do numeru konta z kodu atrybutu

@ST_AtrybutKod

a w Kwocie przeliczamy amortyzację x wartość atrybutu

@ST_AtrybutWartosc*@Amortyzacja

Ewentualne korekty groszowe można wyksięgować za pomocą wyrażenia:

@ST_AtrybutWartosc * @Amortyzacja - convert(decimal(14,2), @ST_AtrybutWartosc * @Amortyzacja)+

70. Jak zaksięgować z poziomu rejestrów VAT dokument Tax Free z datą potwierdzenia?

W schemacie księgowym typu Rejestr sprzedaży VAT w polu Data księg. należy wpisać:

@DataWyst-@DataWyst+cdn.Data_TF(VaN_VaNID)

Operator z uprawnieniami administratora może uruchomić w menu Narzędzia/ Serwer bazy danych/ Wykonywanie skryptów skrypt dodający funkcję serwerową, z której będzie korzystał schemat.

CREATE function CDN.Data_TF (@VaNId Int)
returns Datetime
as
begin
declare @wynik Datetime
select @wynik = (select TrN_DataPtwTaxFree from CDN.TraNag join
CDN.VatNag on TrN_VaNId = VaN_VaNId AND TrN_TypDokumentu = 345 WHERE
TrN_TaxFreePotwierdzony=1 AND Van_Vanid=@VaNId)
return @wynik
end

Dodatkowo w polu Warunek można wpisać warunek czy zapis w rejestrze VAT ma powiązanie z potwierdzonym dokumentem Tax Free:

'1'='1' AND exists(select * from CDN.TraNag join CDN.VatNag on TrN_VaNId = VaN_VaNId AND TrN_TypDokumentu = 345 WHERE TrN_TaxFreePotwierdzony=1)

71. Jak sprawdzić podczas księgowania dokumentu z rejestru VAT zakupu czy był on rozliczony z delegacją?

W schemacie księgowym typu Rejestr zakupów VAT w polu Warunek należy wpisać:

'1'='1' AND EXISTS (SELECT * FROM CDN.BnkZdarzenia JOIN CDN.BnkRozRelacje on BRR_DDokID=BZd_BZdID AND BRR_DDokTyp=1 JOIN CDN.BnkZapisy ON BRR_ZDokID=BZp_BZpID AND BRR_ZDokTyp=2 WHERE BZd_DokumentTyp=2 AND BZp_NumerString LIKE '%DLG%' AND BZd_DokumentId=VaN_VaNId)

72. Jak sprawdzić podczas księgowania rozliczonego
z delegacją dokumentu z rejestru VAT zakupu na jakiego pracownika została wystawiona delegacja?

W schemacie księgowym typu Rejestr zakupów VAT w polu Opis należy wpisać:
@Dokument + ' ' + CDN.Pracownik_DLG(VaN_VaNID)
Operator z uprawnieniami administratora może uruchomić w menu Narzędzia/ Serwer bazy danych/ Wykonywanie skryptów skrypt dodający funkcję serwerową, z której będzie korzystał schemat.
Create Function CDN.Pracownik_DLG (@VanId Int)
Returns VarChar(20)
As
Begin
Declare @Kod VarChar(20)
Select @Kod = PRE_Kod
FROM CDN.PracEtaty
JOIN CDN.BnkZapisy ON BZp_PodmiotID=PRE_PreId AND BZp_PodmiotTyp=3 JOIN CDN.BnkRozRelacje ON BRR_ZDokID =
BZp_BZpID AND BRR_ZDokTyp=2 JOIN CDN.BnkZdarzenia ON BRR_DDokID=BZd_BZdID AND BRR_DDokTyp=1 WHERE BZd_DokumentId = @VanId
Return @Kod
End

Do powyższej funkcji można również odwołać się w polu Warunek (podając na początku kod określonego pracownika):
'KOWALSKI'= CDN.Pracownik_DLG(VaN_VaNID)

73. Jak zaksięgować dokument RW na konto księgowe zawierające numer dokumentu powiązanego zlecenia serwisowego?

Załóżmy, że dokument RW chcemy zaksięgować na konto analityczne konta 501, którego numer jest numerem zlecenia serwisowego (np. 501-SRW_1_2016). W schemacie księgowym typu Rozchody wewnętrzne w polu Konto Wn należy wpisać:
LEFT(@Opis,0)+'501-'+dbo.MojaFunkcja_Numer_SRW (TrN_TrNID)
Operator z uprawnieniami administratora może uruchomić w menu Narzędzia Serwer bazy danych/ Wykonywanie skryptów skrypt dodający funkcję serwerową, z której będzie korzystał schemat.
Create Function dbo.MojaFunkcja_Numer_SRW (@TrNID INT)
Returns VarChar(20)
As
Begin
Declare @numer VarChar(20)
select @numer = REPLACE (SrZ_NumerPelny,'/','_')
FROM CDN.SrsZlecenia JOIN CDN.DokRelacje ON DoR_ParentId=SrZ_SrZId AND DoR_ParentTyp=900 JOIN CDN.TraNag ON DoR_DokumentId=TrN_TrNID AND DoR_DokumentTyp=304 WHERE TrN_TrNID= @TrNID
Return @numer
End

Konta w planie kont muszą istnieć przed księgowaniem. Ewentualnie musi istnieć konto syntetyczne – jeżeli będzie zaznaczony parametr Automatyczne zakładanie kont analitycznych niesłownikowych (w Konfiguracji Firmy/ Księgowość/ Księgowość kontowa) – konta się założą.

74. Jak zaksięgować z listy płac kwotę wypłaty w gotówce dla pracownika?

Aby w dekrecie utworzonym z zaksięgowanej listy płac uzyskać kwotę wynagrodzenia wypłaconej w gotówce należy utworzyć odpowiednią funkcję serwerową, z której będzie korzystał schemat dla list płac. Operator
z uprawnieniami administratora może uruchomić w menu Narzędzia/ Serwer bazy danych/ Wykonywanie skryptów skrypt dodający tę funkcję.
Create Function CDN.MojaFunkcja_wyplaty_gotowka(@LplID int, @WPLID int)
Returns Decimal(15,2)
As
Begin
Declare @Kwota Decimal(15,2)
Select @Kwota = Sum(BZd_KwotaSys)
From CDN.BnkZdarzenia join CDN.Wyplaty on BZd_DokumentID=WPL_WplId join CDN.ListyPlac on WPL_LplId = LPL_LplId
Where LPL_LplId=@LplId AND WPL_WPLID=@WPLID and BZd_DokumentTyp=8 and BZd_FPlId=1
Return IsNull(@Kwota, 0)
End

Wywołanie funkcji w elemencie schematu księgowego w polu Kwota:
'0' + CDN.MojaFunkcja_wyplaty_gotowka(Lpl_LplID,WPL_WPLID)

75. Jak zaksięgować listę płac z wykorzystaniem atrybutów pracownika?

Dla poszczególnych pracowników przypisano atrybuty (np. 501, 502,…) z wartościami w formie współczynników określające udziały odpowiednich kosztów wydziałowych. Chcąc zaksięgować listę płac wykorzystując wartości odpowiednich atrybutów przypisanych do pracownika należy z poziomu Narzędzia/ Serwer bazy danych/ Wykonywanie zapytań SQL dodać następującą funkcję:
Create Function CDN.Wartosc_Atr_Prac (@WPLId Int, @nazwa varchar(20))
returns decimal (15,2)
As
Begin
Declare @wartosc decimal (15,2)
Select @wartosc = REPLACE (ATH_Wartosc,',','.')
From CDN.OAtrybutyHist Join CDN.OAtrybuty ON ATH_OatId=OAT_OatId Join CDN.WypElementy On OAT_PrcId = WPE_PraId Join CDN.Wyplaty on WPL_WplId=WPE_WplId
Where WPL_WPLId = @WPLId AND OAT_NazwaKlasy = @nazwa And (ATH_DataDo >= WPL_DataDo And WPL_DataOd >= ATH_DataOd)
Return CASE WHEN ISNUMERIC(@wartosc)=1 THEN CAST (@wartosc AS DECIMAL(15,2)) ELSE 0 END
End

Wywołanie funkcji w elemencie schematu księgowego w polu Kwota – przemnożenie kwoty wynagrodzenia brutto przez wartość odpowiedniego współczynnika:
@WynagrodzenieBrutto * CDN.Wartosc_Atr_Prac (WPL_WPLId, '501')

76. Jak zaksięgować różnice kursowe od kwoty netto i VAT odpowiednio na konta KUP i NKUP?

Zakładamy, że dokument od kontrahenta krajowego w walucie obcej został wprowadzony z poziomu rejestru VAT i na zakładce [Waluta] dokumentu zaznaczony jest parametr Płatność VAT w PLN. W takim przypadku w Preliminarzu tworzone są 2 płatności z dokumentu – jedna na kwotę netto w walucie obcej, a druga na kwotę VAT w PLN. Jeżeli zapłata za fakturę nastąpiła w walucie obcej na kwotę brutto dokumentu, wówczas (po zmianie na płatności dotyczącej kwoty VAT waluty rozliczenia z PLN na walutę obcą) w Kasa/Bank / Różnice kursowe powstają 2 różnice kursowe. Chcąc zaksięgować je na 2 różne konta należy w schemacie o typie Różnice kursowe dodać osobne pozycje z odmiennymi kontami i warunkami:

a) Zaksięgowanie różnicy od kwoty netto na konta KUP – w polu Konto Wn / Konto Ma należy wskazać odpowiednie konta księgowe, jako kwotę wybrać @RoznicaMinus lub @RoznicaPlus, natomiast w polu Warunek wpisać:

'1'='1' AND (EXISTS (Select * FROM CDN.BnkZdarzenia Join CDN.VatNag On BZd_DokumentID=VaN_VaNID Where (BRKV_LDokID=BZd_BZdID AND BRKV_LDokTyp=1) OR (BRKV_PDokID=BZd_BZdID AND BRKV_PDokTyp=1) AND BZd_DokumentTyp=2 AND VaN_TrybNettoVAT=1 AND BZd_WalutaDok <> '' ))

b) Zaksięgowanie różnicy od kwoty VAT na konta NKUP – w polu Konto Wn / Konto Ma należy wskazać odpowiednie konta księgowe, jako kwotę wybrać @RoznicaMinus lub @RoznicaPlus, natomiast w polu Warunek wpisać:

'1'='1' AND (EXISTS (Select * FROM CDN.BnkZdarzenia Join CDN.VatNag On BZd_DokumentID=VaN_VaNID Where (BRKV_LDokID=BZd_BZdID AND BRKV_LDokTyp=1) OR (BRKV_PDokID=BZd_BZdID AND BRKV_PDokTyp=1) AND BZd_DokumentTyp=2 AND VaN_TrybNettoVAT=1 AND BZd_WalutaDok = '' ))




OPT084 Szybki import i eksport przelewów przez bankowość internetową Banku Millennium


Informacje ogólne

Dla Użytkowników Comarch ERP Optima korzystających z systemu Millenet dla Przedsiębiorstw oraz usługi Millenet Link wprowadziliśmy możliwość bezpośredniej  wymiany danych z Bankiem Millennium.

Wymiana danych z bankiem za pomocą usługi sieciowej umożliwia eksport przelewów bezpośrednio z/do systemu bankowego oraz import historii rachunku w łatwy i szybki sposób bez konieczności ręcznego przenoszenia plików pomiędzy aplikacją bankową oraz Comarch ERP Optima. Możliwe jest również pobieranie dla każdego wysłanego przelewu jego aktualnego statusu w banku (przelew może oczekiwać na realizację, zostać zrealizowany, odrzucony, anulowany itp.).

Wymiana danych pomiędzy bankiem a klientem w usłudze sieciowej odbywa się przez wymianę komunikatów w formacie plików XML (standard ISO 20022) przy wykorzystaniu technologii web-services. Całość komunikacji jest zabezpieczona przez bezpieczny kanał HTTPS z wykorzystaniem dwustronnego SSL. Dzięki tym technologiom komunikacja pomiędzy bankiem a klientem jest szyfrowana i nikt niepowołany nie ma dostępu do przesyłanych informacji. Dodatkowo, dzięki dwustronnemu SSL, Bank otrzymuje możliwość wstępnej weryfikacji klienta, a klient może zweryfikować, czy faktycznie podłączył się do serwera Banku.

Do zabezpieczenia wymiany informacji zastosowane zostały: certyfikat komunikacyjny, który weryfikuje klienta i pozwala zweryfikować jego prawo do danego rachunku (rachunków) oraz certyfikat autoryzacyjny (podpis elektroniczny), którym mogą być podpisywane przelewy wysyłane do banku. Gdy przelewy nie zostaną podpisane lub zostaną podpisane przez nieuprawnioną osobę – zlecenia będą oczekiwały w banku na akceptację uprawnionej osoby.

Na liście Ogólne/ Inne/ Formaty przelewów dostępny jest format Millennium WebService (standardowy) do wymiany danych z Bankiem Millennium.

Jak skonfigurować wymianę danych z Bankiem Millennium?

Wymiana danych z Bankiem Millennium dostępna jest w systemie Comarch ERP Optima od wersji 2019.5.1.

W systemie Comarch ERP Optima należy:

  • ustawić format wymiany danych
  • podpiąć certyfikat komunikacyjny
  • dla przelewów walutowych wskazać, kto ponosi opłaty związane z takimi przelewani

Na formularzu banku na zakładce [2 Dodatkowe] w polach:

  • Format eksportu dla przelewów zwykłych
  • Format importu wyciągów bankowych

wybieramy właściwy dla banku format obsługujący wymianę za pomocą usługi sieciowej.  W naszym przypadku dla Banku Millennium dostępny jest format Millennium Webservice. 

Wybrany przez nas format będzie się później podstawiał jako domyślny format podczas eksportu i importu przelewów.

Formularz banku, zakładka [Dodatkowe]
Po wybraniu formatu Millennium Webservice na formularzu banku pojawia się dodatkowa zakładka
[3 Ustawienia usługi sieciowej]. Na zakładce tej wprowadzamy ustawienia dotyczące:

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

Formularz banku, zakładka [Ustawienia usługi sieciowej]
W przypadku przelewów walutowych istotne jest uzupełnienie pól:

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

Eksport za pomocą usługi sieciowej

Możliwy jest eksport przelewów krajowych (w tym do Urzędu Skarbowego i ZUS) oraz przelewów walutowych.

Przelewy walutowe wysyłane są jako przelewy zagraniczne lub przelewy SEPA.

W celu wysłania przelewu SEPA zdarzenie w preliminarzu płatności musi być:

  • zdarzeniem rozchodowym
  • waluta zdarzenia to EURO
  • na zdarzeniu zaznaczono parametr „Przelew SEPA”

Eksport przelewów za pomocą usługi sieciowej wykonujemy z poziomu preliminarza płatności. W preliminarzu płatności należy:

  • wybrać rejestr, który dotyczy Banku Millennium z ustalonym formatem wymiany danych za pomocą usługi sieciowej (w naszym przypadku Millennium WebService)
  • na liście powinny wyświetlać się tylko zdarzenia nierozliczone lub rozliczone częściowo.

Preliminarz płatności – parametry

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

Domyślnie kliknięcie w ikonę powoduje wywołanie okna Eksport przelewów do pliku.

Okno eksportu przelewów poprzez usługę sieciową

Po wybraniu opcji Eksportuj przelewy pokazuje się okno, na którym można ustawić wybrane opcje eksportu.

Data przelewu – do wyboru mamy cztery opcje: dzisiejsza, termin płatności, data realizacji, inna (samodzielnie ustalona).

Przelewy zbiorczo wg podmiotów – po zaznaczeniu tej opcji przelewy zostaną pogrupowane wg podmiotu, numeru rachunku bankowego (wypełnionego na zdarzeniu) oraz waluty i wysyłane jako jeden, zbiorczy przelew. Po zaznaczeniu opcji Grupuj wg dat utworzonych zostanie tyle zbiorczych przelewów, ile jest różnych dat (terminów płatności/ dat realizacji/ dat dokumentu).

Parametry eksportu przelewów poprzez usługę sieciową

Eksportuj wszystkie linie opisu do banku – parametr jest widoczny po zaznaczeniu Przelewy zbiorczo wg podmiotów. Parametr ten spowoduje, że w zbiorczym przelewie będziemy starali się umieścić wszystkie uzupełnione linie opisu do banku odczytane z agregowanych przelewów.

Dziel przelewy wg długości opisu – parametr jest widoczny po zaznaczeniu Przelewy zbiorczo wg podmiotów. Spowoduje on, że program utworzy dla danego podmiotu kilka przelewów zbiorczych, przy czym na każdym z nich będzie umieszczony pełny opis do banku z przelewów cząstkowych. Parametr Dziel przelew wg długości opisu może być stosowany razem z pozostałymi parametrami dotyczącymi przelewów zbiorczych.

Wysyłaj przelewy w jednym pliku – zaznaczenie tego parametru powoduje, że wysyłając kilka przelewów tworzymy jeden plik xml, w którym zapisujemy wszystkie pojedyncze przelewy. Jeśli parametr nie jest zaznaczony to każdy z tych przelewów zapisywany jest w osobnym pliku.

Eksport uruchamiamy ikoną pioruna . Eksportowane są zarówno przelewy w PLN, jak również w walucie obcej.

W momencie wysyłania przelewów pojawi się okno z możliwością wyboru właściwego certyfikatu służącego do podpisywania przelewów. Jeżeli okno z wyborem certyfikatu zostanie:

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

Jeżeli w preliminarzu płatności wybierzemy rejestr, który obsługuje wymianę danych poprzez usługę sieciową, wśród kolumn na liście dostępne są kolumny:

  • Data wysłania WebService
  • Komunikat WebService
  • Data komunikatu WebService

W kolumnach tych zapisywane są informacje przy eksporcie do usługi sieciowej oraz przy każdorazowym sprawdzeniu stanu przelewów w banku.

Preliminarz płatności – kolumny związane z usługą WebService

Sprawdzenia aktualnego statusu przelewów w Banku Millennium wykonujemy korzystając z opcji Aktualizuj stany przelewów. Jest ona dostępna po wciśnięciu strzałki obok przycisku.


Import za pomocą usługi sieciowej

W Comarch ERP Optima mamy możliwość importu danych z Banku Millennium. Import dotyczy:

  • stanu rachunku bankowego
  • historii operacji

Import informacji o stanie rachunku bankowego  można wykonać z poziomu:

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

Historię operacji importujemy z listy zapisów kasowych/bankowych.

Na liście zapisów wybieramy rejestr bankowy związany z rachunkiem w Banku Millennium i wskazujemy raport bankowy.

Lista zapisów kasowych/bankowych – Import przelewów

Import uruchamiamy przyciskiem Importuj polecenia przelewu . Na oknie Import przelewów ustalamy parametry importu, czyli:

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

Po ustaleniu parametrów przyciskiem  uruchamiamy pobranie danych z banku. W tym momencie na oknie Import danych wyświetli się lista przelewów, które za pomocą  przenosimy do Comarch ERP Optima.

Jeżeli wykonany został import historii operacji i potem wykonywany jest ponowny import historii wtedy importowane są tylko te przelewy, które nie zostały jeszcze zaimportowane. Duplikaty są odrzucane.

Duplikaty sprawdzane są wg następujących kryteriów:

  • data księgowania
  • numer rachunku kontrahenta
  • kwota
  • opis przelewu


Eksport i import przelewów za pomocą usługi sieciowej
– najczęściej zadawane pytania

  1. Co należy ustawić w programie Comarch ERP Optima, aby móc skorzystać z Eksportu i importu przelewów za pomocą usługi sieciowej?

Odpowiedź: Na formularzu banku (Ogólne/ Inne/ Banki) w polach Format eksportu dla przelewów zwykłych oraz Format importu wyciągów bankowych (druga zakładka) należy wskazać format obsługujący wymianę za pomocą usługi sieciowej. Następnie na 3 zakładce [Ustawienia usługi sieciowej] Użytkownik wprowadza ustawienia dotyczące przelewów walutowych oraz podpina certyfikat do komunikacji otrzymany z banku.

  1. Jakie warunki powinny spełniać certyfikaty wykorzystywane podczas wysyłki, aby odbyła się ona prawidłowo?

Odpowiedź: Certyfikat komunikacyjny i autoryzacyjny powinny znajdować się w sekcji Osobiste, mieć aktualną datę ważności oraz posiadać informację o obsługujących je kluczach prywatnych. Ponadto w przypadku certyfikatu autoryzacyjnego należy poprawnie zainstalować sterowniki urządzenia obsługującego certyfikat po stronie systemu operacyjnego.

Jeśli bank wymaga dodatkowych certyfikatów należy upewnić się, czy znajdują się one we właściwych magazynach certyfikatów oraz czy posiadają aktualną datę ważności.

  1. Czy można zobaczyć w pliku dane, które zostały wyeksportowane/zaimportowane z banku?

Odpowiedź: Tak, mamy taką możliwość. W Konfiguracji Stanowiska/ Kasa/Bank/ Parametry możemy zaznaczyć parametr Zapisuj przelewy importowane/eksportowane poprzez usługę sieciową oraz podać katalog, w którym będą zapisywały się pliki XML z przelewami, które są importowane oraz eksportowane za pomocą usługi sieciowej.

  1. Co jest wymagane od strony Banku Millennium, aby rozpocząć import i eksport przelewów za pomocą usługi sieciowej?

Odpowiedź: Od strony Banku Millennium wymagany jest dostęp do systemu bankowości internetowej Millenet dla Przedsiębiorstw oraz uruchomiona usługa Millenet Link. W celu uzyskania szczegółów prosimy o kontakt się z Państwa Doradcą Bankowym w Banku Millennium lub z infolinią Banku Millennium pod numerem telefonu 801 632 632 lub 22 598 4031 w dni robocze od poniedziałku do piątku w godzinach 08.00–18.00.

 




OPT056-Eksport e-Deklaracji oraz import UPO


1 e-Deklaracje – informacje ogólne

Funkcjonalność Comarch ERP Optima umożliwiająca składanie deklaracji elektronicznych opiera się na modelu,
w którym w pierwszym etapie tworzony jest plik XML zgodny ze schematem XSD opublikowanym przez Ministerstwo Finansów. Następnie tak wygenerowany plik Użytkownik podpisuje podpisem elektronicznym
i przesyła na serwer Ministerstwa  Finansów.

W programie Comarch ERP Optima jest możliwy eksport do systemu e-Deklaracje:

  • deklaracji VAT-7, VAT-7K wraz z załącznikami: VAT-ZZ, VAT-ZT, VAT-ZD, ORD-ZU
  • deklaracji VAT-9M wraz z załącznikami: ORD-ZU
  • deklaracji VAT-27
  • deklaracji VAT-UE wraz z załącznikami: VAT-UE/A, VAT-UE/B, VAT-UE/C
  • deklaracji rocznej PIT-28 wraz z załącznikami: PIT-28/A, PIT-28/B, PIT/O, PIT/D, PIT-2K, ORD-ZU
  • deklaracji rocznej PIT-36 wraz z załącznikami: PIT/BPIT/O, PIT/D, PIT-2K, PIT/ZG, PIT/Z, PIT/BR, ORD-ZU
  • deklaracji rocznej PIT-36L wraz z załącznikami: PIT/B, PIT/ZG, PIT/Z, PIT/BR, ORD-ZU
  • deklaracji rocznej PIT-37 wraz z załącznikami: PIT/O, PIT/D, PIT-2K, ORD-ZU
  • deklaracji rocznej CIT-8 wraz z załącznikami: CIT-8/O, CIT-D, CIT-ST, CIT-ST/A, CIT-BR, ORD-ZU
  • deklaracji rocznych PIT-11 wraz z załącznikiem PIT-R, IFT-1R, PIT-8C
  • deklaracji rocznych PIT-4R, PIT-8AR

oraz ich korekt.

Uwaga
W związku z likwidacją od stycznia 2017 r. deklaracji VAT-7D, Użytkownik nadal ma możliwość wyliczenia oraz eksportu do systemu e-Deklaracji korekt deklaracji VAT-7D wraz z załącznikami VAT-ZZ, VAT-ZT, NAD-ZP, VAT-ZD, ORD-ZU za okres rozliczeniowy wcześniejszy niż styczeń 2017 r.
 
Uwaga
Uwaga: W związku z likwidacją od stycznia 2018 r. deklaracji PIT-40, Użytkownik nadal ma możliwość wyliczenia oraz eksportu do systemu e-Deklaracji korekt deklaracji PIT-40 wraz z załącznikiem PIT-R za okres rozliczeniowy wcześniejszy niż styczeń 2017 r.

 

Aby wysłać e-Deklarację z programu Comarch ERP Optima należy:

  • Dysponować podpisem elektronicznym.

Uwaga
Podczas wysyłania e-Deklaracji w imieniu innego podatnika (płatnika) należy posiadać podpis z ważnym upoważnieniem. Wymagane jest zatem wcześniejsze złożenie, we właściwym urzędzie skarbowym w formie papierowej formularza UPL-1 (pełnomocnictwo do podpisywania deklaracji składanej za pomocą środków komunikacji elektronicznej).
Uwaga
W przypadku podatników będących osobami fizycznymi, deklaracje można również składać elektronicznie bez konieczności stosowania bezpiecznego podpisu elektronicznego weryfikowanego za pomocą ważnego kwalifikowanego certyfikatu. Podpis niekwalifikowany może być wykorzystywany przy następujących formularzach dokumentów: VAT-7, VAT‑7K, VAT-9M, VAT-27, VAT-UE, PIT-36, PIT-36L, PIT-37, PIT-28, PIT‑11, PIT-8C, IFT-1R, PIT-4R, PIT-8AR.

  • Wskazać katalog przechowywania plików xml. 

W menu System/ Konfiguracja/ Stanowisko/ Ogólne/ e-Deklaracje w polu: „Katalog przechowywania plików wymiany:” należy wskazać katalog, w którym mają być zapisane pliki xml. Podczas wysyłania e-Deklaracji tworzony jest katalog o nazwie takiej jak nazwa bazy danych, a następnie podkatalog o nazwie RokMiesiąc deklaracji i w nim są umieszczane pliki z deklaracją oraz odebrane UPO (Urzędowe Poświadczenie Odbioru).

  • Sprawdzić adres usługi Web Service e-Deklaracje.

Adres usługi serwisu jest zapisany z poziomu System/ Konfiguracja/ Program /Ogólne/ e-Deklaracje / JPK, powinien być: https://bramka.e-deklaracje.mf.gov.pl/

  • Uzupełnić listę Urzędów Skarbowych wraz z kodami urzędów.

W menu Ogólne/ Inne/ Urzędy – znajduje się lista urzędów. Na formularzu urzędu skarbowego należy wpisać dane adresowe oraz niezbędny do wysyłania e-Deklaracji kod Urzędu Skarbowego.

Lista kodów Urzędów Skarbowych dostępna jest np. na stronie Ministerstwa Finansów pod  linkiem: http://www.finanse.mf.gov.pl/documents/766655/1198699/KodyUrzedowSkarbowych_v3-0.xsd

  • Poprawnie wypełnić wymagane dane adresowe i identyfikacyjne oraz wyliczyć i zablokować deklarację.

Obowiązkowe jest uzupełnienie poniższych pól:

  • dane i adres podatnika (System/ Konfiguracja/ Firma/ Dane firmy/ PIT-28; PIT-36, PIT-36L; PIT-4R, CIT-8, ZUS DRA; VAT, AKC-WW):

Jeśli podatnikiem jest osoba fizyczna:

  1. Numer NIP podatnika
  2. Pierwsze imię oraz nazwisko podatnika
  3. Data urodzenia
  4. Adres podatnika,  pola:  Województwo,  Powiat,  Gmina,  Numer  domu,  Miejscowość,  Kod pocztowy, Poczta (dane adresowe są wymagane tylko dla deklaracji wyliczanych na formularzach starszych niż VAT-7(14), VAT-7D(5), VAT-7K(8)).

Jeżeli podatnikiem jest osoba prawna:

  1. Numer NIP podatnika
  2. REGON (z poziomu System/ Konfiguracja/ Firma/ Dane firmy/ Pieczątka firmy)
  3. Pełna nazwa
  4. Adres siedziby: Województwo, Powiat, Gmina, Numer domu, Miejscowość, Kod pocztowy, Poczta (dane adresowe są wymagane tylko dla deklaracji wyliczanych na formularzach starszych niż VAT-7(14), VAT-7D(5), VAT-7K(8)).

  • urzędy skarbowe z wypełnionymi kodami (z poziomu System/ Konfiguracja/ Firma/ Dane firmy/ Deklaracje)

Ponadto w przypadku:

Deklaracji VAT-7:

  • Jeżeli wysyłana jest korekta deklaracji – na zakładce ORD-ZU można uzupełnić uzasadnienie przyczyny złożenia korekty
  •  
    Uwaga
    Od wersji 2016.1.1 Comarch ERP Optima na korektach deklaracji składanych od 01.01.2016 wyłączono konieczność składania załącznika ORD-ZU, jego uzupełnienie nie jest już konieczne do zatwierdzenia deklaracji i wysłania jej drogą elektroniczną
  • Jeżeli w sekcji „Informacja o załącznikach” jest zaznaczony wniosek o zwrot podatku – na zakładce VAT-ZZ należy uzupełnić Uzasadnienie wniosku (w przypadku zwrotu podatku wniosek ten zaznacza się automatycznie, brak wymogu jego złożenia wymaga ręcznego wskazania wariantu NIE w sekcji G deklaracji VAT-7)
  • Jeżeli w sekcji „Informacja o załącznikach” jest zaznaczony wniosek o przyspieszenie terminu zwrotu – na zakładce VAT-ZT należy uzupełnić Uzasadnienie wniosku

Jeżeli w sekcji „Informacja o załącznikach” jest zaznaczony wniosek o zaliczenie nadpłaty na poczet przyszłych zobowiązań podatkowych – na zakładce NAD-ZP należy uzupełnić Uzasadnienie wniosku

Deklaracji PIT-11, PIT-8C:

  • Na formularzu danych kadrowych pracownika:
  1. PESEL, Data urodzenia
  2. Pełne dane adresowe pracownika (Województwo, Powiat, Gmina, Numer domu, Miejscowość, Kod pocztowy , Poczta)
  3. Urząd skarbowy pracownika (z wypełnionym kodem urzędu)

 

  • Jeżeli wysyłana jest korekta deklaracji – na zakładce ORD-ZU należy uzupełnić przyczynę złożenia korekty

Deklaracji IFT-1R/IFT-1:

  • Na formularzu danych kadrowych:
  1. NIP – numer NIP można wpisać na formularzu danych kadrowych na zakładce 1 Ogólne. Inny identyfikator można wpisać na zakładce 2 ident. /Podatki po wcześniejszym zaznaczeniu parametru Ograniczony obowiązek podatkowy (nierezydent) w sekcji Rodzaj numeru indentyfikacyjnego. Inny identyfikator można wpisać również bezpośrednio na formularzu deklaracji IFT
  2. Miejscowość
  3. Kod kraju
  4. Miejsce urodzenia

  • Jeżeli wysyłana jest korekta deklaracji – na zakładce ORD-ZU należy uzupełnić przyczynę złożenia korekty

Uwaga
Od wersji 2015.0.1 Comarch ERP Optima konieczne jest przed naliczeniem deklaracji uzupełnienie pola Kod kraju w adresach tych pracowników, dla których będą liczone deklaracje IFT-1/IFT-1R i wysyłane elektronicznie do systemu e-Deklaracje.

Uwaga
W przypadku pracowników, którzy mają kilka zapisów historycznych związanych z aktualizacją danych – po zaznaczeniu pracownika na liście w Kadrach należy kliknąć w menu górnym w ikonę ‘Zapisy historyczne’, otworzyć/wyedytować zapis/formularz aktualny na koniec roku za który generowana jest deklaracja i uzupełnić wymagane dane a następnie ponownie przeliczyć deklarację.

Uwaga
Numer NIP nie jest już obowiązkowym identyfikatorem w przypadku pracowników. Na formularzu pracownika na zakładce ‘Nr ident./podatki’ został dodany parametr NIP zamiast PESEL na deklaracji PIT (domyślnie nie zaznaczony) – co oznacza, że program wykazuje obecnie na deklaracji numer PESEL, jeżeli jednak (w przypadku  osób prowadzących działalność) na deklaracji powinien się pojawić numer NIP – należy ten parametr zaznaczyć.

Uwaga
Na deklaracji może być wykazany adres zamieszkania lub adres zameldowania danego pracownika. Odpowiada za to parametr na formularzu pracownika na zakładce ‘Nr ident./podatki’ Adres zamieszkania zamiast adresu zameldowania na deklaracji PIT – zaznaczenie parametru powoduje wstawienie na deklaracjach PIT adresu zamieszkania pracownika. W przeciwnym przypadku (domyślne ustawienie) na deklaracjach pojawia się adres zameldowania.

Deklaracji PIT-36, PIT-36L:

  • Na formularzu danych kadrowych właściciela/wspólnika
  1. NIP
  2. Data urodzenia
  3. Adres podatnika: Województwo, Powiat, Gmina, Numer domu, Miejscowość, Kod pocztowy, Poczta (dane adresowe wymagane są tylko dla PIT-36)

  • Pola liczbowe powiązane z opisem wymagają łącznego uzupełnienia, aby deklaracja została wysłana do systemu e-Deklaracje (np. Straty z lat ubiegłych – uwzględniając kwotę straty na PIT-36/PIT-36L należy uzupełnić również jej źródło).
  • Jeżeli wysyłana jest korekta deklaracji – na zakładce ORD-ZU można uzupełnić przyczyny złożenia korekty
  • Jeżeli jest załącznik PIT/B – na formularzu muszą być uzupełnione odpowiednio: Rodzaj działalności, Miejsce prowadzenia działalności, Nazwa spółki
  • W przypadku rozliczenia PIT-36 wspólnie z małżonkiem:
  1. NIP/ PESEL małżonka
  2. Imię i nazwisko małżonka
  3. Data urodzenia
  4. Adres: Województwo, Powiat, Gmina, Numer domu, Miejscowość, Kod pocztowy, Poczta

Deklaracji PIT-37:

  • Dane podatnika oraz małżonka w przypadku wspólnego rozliczenia na PIT-37:
  1. NIP/ PESEL
  2. Imię i nazwisko
  3. Data urodzenia
  4. Adres: Województwo, Powiat, Gmina, Numer domu, Miejscowość, Kod pocztowy, Poczta

  • Jeżeli wysyłana jest korekta deklaracji – na zakładce ORD-ZU można uzupełnić przyczyny złożenia korekty

Uwaga
Deklaracja PIT-37 dostępna jest w programie od wersji 2016.1.1, jeżeli w Konfiguracji/ Firma/ Dane firmy/ Deklaracje zaznaczono parametr PIT-37 oraz pobrano moduł Księga Handlowa lub Księga Handlowa Plus lub Księga Podatkowa. Typ deklaracji dostępny jest dla wszystkich rodzajów księgowości. Kwoty na deklaracji PIT-37 Użytkownik powinien uzupełnić ręcznie, nie są one pobierane z żadnego miejsca w programie. Dla deklaracji PIT-37 nie są generowane płatności w Preliminarzu płatności.

Deklaracji PIT-28:

  • Na formularzu danych kadrowych właściciela/wspólnika
  1. NIP
  2. Data urodzenia
  3. Adres podatnika: Województwo, Powiat, Gmina, Numer domu, Miejscowość, Kod pocztowy, Poczta (dane adresowe wymagane są tylko dla PIT-28)

  • Jeżeli wysyłana jest korekta deklaracji – na zakładce ORD-ZU można uzupełnić przyczyny złożenia korekty
  • Jeżeli jest załącznik PIT-28/A – na formularzu muszą być uzupełnione odpowiednio: Rodzaj i Miejsce prowadzenia działalności. W przypadku PIT-28/B wymaganymi polami są: Nazwa pełna spółki oraz Identyfikator podatkowy NIP spółki

Uwaga

W celu sprawdzenia, które pola są wymagane do uzupełnienia na generowanej deklaracji PIT lub VAT należy wejść na stronę Ministerstwa Finansów, gdzie są dostępne zarówno formularze interaktywne jak i struktura dokumentów XML:

http://www.finanse.mf.gov.pl/systemy-informatyczne/e-deklaracje/formularze.

Uwaga

Od wersji 2016.0.1 Comarch ERP Optima udostępniono możliwość walidacji  poprawności wysyłanych e-Deklaracji. Działanie funkcji zależne jest od parametru dostępnego w menu System/ Konfiguracja/ Program/ Ogólne/ e‑Deklaracje / JPK Sprawdzaj poprawność e-Deklaracji przed wysłaniem (domyślnie zaznaczony).

Podczas wysyłki deklaracji drogą elektroniczną następuje porównanie wysyłanego dokumentu ze schematem dokumentu elektronicznego, który udostępnia Ministerstwo Finansów. Weryfikacja odbywa się po kliknięciu na ikonę Wyślij deklarację do systemu e-Deklaracje. Deklaracja zweryfikowana jako niezgodna ze schematem nie będzie wysłana. Weryfikowana jest kompletność zarówno danych automatycznie pobieranych na deklarację (np. danych adresowych firmy bądź właściciela/pracownika), jak i wprowadzanych bezpośrednio na formularzu deklaracji.

2 Eksport e-Deklaracji

Do systemu e-Deklaracji można wysłać deklaracje, które zostały wcześniej zablokowane przed zmianami i widnieją na liście w kolorze czarnym (w tym celu należy otworzyć formularz deklaracji i zaznaczyć Zablokuj deklarację przed zmianami’). Aby wysłać zatwierdzoną deklarację należy kliknąć na ikonę Wyślij deklarację do systemu
e-Deklaracje
.

Uwaga
W przypadku deklaracji VAT-7, VAT-7K, VAT-27, VAT-9M, VAT-UE, PIT-36, PIT-36L, PIT-37, PIT-28, PIT-11, PIT-8C, IFT-1R, PIT-4R, PIT-8AR Użytkownik może dokonać wyboru z menu przy ikonie   jednego z następujących rodzajów podpisu

Po wciśnięciu ikony   pojawia się log z przebiegu eksportu, który kolejno będzie wskazywał jakie czynności są wykonywane:

  1. Przygotowanie deklaracji
  2. Walidacja e-Deklaracji (porównanie wysyłanej deklaracji ze schematem dokumentu elektronicznego, który udostępnia Ministerstwo Finansów. Podczas pierwszej wysyłki deklaracji po każdorazowym uruchomieniu programu następuje sprawdzenie i pobranie aktualizacji schem e-Deklaracji z serwera COMARCH)
    Uwaga
    Jeżeli weryfikacja nie powiedzie się z powodu błędów istniejących na deklaracji należy: odblokować deklarację, uzupełnić/poprawić dane, a następnie przeliczyć i wyeksportować ją ponownie.
  3. Podpisanie deklaracji – w przypadku podpisu kwalifikowanego pojawi się okno z listą dostępnych i jednocześnie ważnych certyfikatów (certyfikat musi być zarejestrowany w systemie, aby pojawił się w oknie wyboru), następnie pojawi się okno komponentu do podpisywania, w którym będzie należało podać PIN
  4. Wysłanie deklaracji
  5. Odebranie statusu deklaracji – zwykle będzie to komunikat „Dokument w trakcie przetwarzania, sprawdź wynik następnej weryfikacji dokumentu”

Po poprawnym zakończeniu eksportu, w logu z przebiegu eksportu będą następujące informacje:

Rys.1 Log z przebiegu operacji – wysyłanie deklaracji

 

Na liście deklaracji, w kolumnie e-Deklaracje, pojawi się status „Wysłano/Nie odebrano UPO”, a w kolumnie Data wysłania pojawi się data wysłania deklaracji.

Na formularzu deklaracji dostępna jest zakładka e-Deklaracje, w której znajdują się szczegółowe informacje (do odczytu) o statusie deklaracji, dacie i godzinie wysłania/odebrania oraz dane osoby, która te zmiany wykonała.

Uwaga
Jeżeli podczas wysyłki najnowszych wersji formularzy deklaracji do systemu e‑Deklaracje pojawi się podczas weryfikacji komunikat o treści: Nie udało się zwalidować e-deklaracji z powodu błędów. Brak schematu dokumentu elektronicznego na stronach e-PUAP. Poprawność deklaracji zostanie sprawdzona podczas odbioru UPO. [-2146232832], to świadczyć o przejściowych problemach z dostępem do serwera e-Deklaracji. Należy w takim wypadku wstrzymać się z wysyłką deklaracji i ponowić próbę za jakiś czas. Jeżeli Użytkownik zdecyduje się na wysyłkę, powinien od razu spróbować pobrać UPO, aby mieć pewność poprawności wysłanej deklaracji.

Uwaga
W sytuacji, gdy weryfikacja e-Deklaracji nie nastąpi podczas wysyłki, wówczas po wysłaniu deklaracji należy odebrać UPO. Jeżeli serwer Ministerstwa Finansów  podczas odbierania UPO zgłosi błąd w deklaracji, wówczas można cofnąć deklarację do  bufora (prawy przycisk myszy ‑ „Odblokuj deklarację”) i po wprowadzeniu zmian ponowne ją wysłać.

Uwaga
Od wersji 2015.1.1 dostępny jest mechanizm automatycznego pobierania aktualizacji umożliwiających wysyłanie deklaracji drogą elektroniczną w przypadku, gdy w czasie udostępnienia wersji nie był znany schemat dokumentu elektronicznego. Przy pierwszej wysyłce w danej sesji pracy następuje łączenie się z serwerem Comarch i sprawdzanie, czy aktualizacja jest dostępna. Jeżeli tak, zostanie ona pobrana. Funkcja jest dostępna tylko dla programów na gwarancji.

Uwaga
W związku ze zmianą na serwerze Ministerstwa Finansów stosowanego do uwierzytelniania protokołu TLS (Transport Layer Security) do wersji 1.2, od wersji 2017.2.1 umożliwiono obsługę tego protokołu podczas wysyłki deklaracji drogą elektroniczną z programu Comarch ERP Optima. Wiąże się to z koniecznością zainstalowania na stanowisku komponentu .NET Framework w wersji co najmniej 4.5.

Deklaracja PIT-36

Naciśnięcie ikony  Wyślij deklarację do systemu e-Deklaracje, aktywnej na zatwierdzonym formularzu PIT‑36, rozpoczyna eksport deklaracji do systemu e-Deklaracje.

Uwaga
Do systemu e-Deklaracje można wysłać deklarację PIT-36 wraz z załącznikami: PIT/B, PIT/O, PIT/D, PIT-2K, PIT/ZG, PIT/Z, PIT/BR, ORD‑ZU. Nie są przesyłane pozostałe załączniki wymienione w sekcji „Informacje o załącznikach”. Jeżeli istnieje potrzeba wypełnienia któregoś z tych załączników należy złożyć deklarację poprzez stronę systemu e‑Deklaracje lub w formie papierowej.

Deklaracja PIT-36L

Naciśnięcie ikony  Wyślij deklarację do systemu e-Deklaracje, aktywnej na zatwierdzonym formularzu
PIT-36L, rozpoczyna eksport deklaracji do systemu e-Deklaracje.

Uwaga
Do systemu e-Deklaracje można wysłać deklarację PIT-36L wraz z załącznikami: PIT/B, PIT/ZG, PIT/Z, PIT/BR, ORD-ZU. Jeżeli istnieje potrzeba wypełnienia dodatkowo Sprawozdania o realizacji uznanej metody ustalania ceny transakcyjnej (SPR/MT) należy złożyć deklarację poprzez stronę systemu e-Deklaracje lub w  formie papierowej.

Deklaracja PIT-37

Naciśnięcie ikony   Wyślij deklarację do systemu e-Deklaracje, aktywnej na zatwierdzonym formularzu PIT-37, rozpoczyna eksport deklaracji do systemu e-Deklaracje.

Uwaga
Do systemu e-Deklaracje można wysłać deklarację PIT-37 wraz z załącznikami: PIT/O, PIT/D, PIT-2K, ORD-ZU. Jeżeli  istnieje potrzeba wypełnienia Certyfikatu rezydencji należy złożyć deklarację w formie papierowej.

Deklaracja PIT-28

Naciśnięcie ikony  Wyślij deklarację do systemu e-Deklaracje, aktywnej na zatwierdzonym formularzu PIT‑28, rozpoczyna eksport deklaracji do systemu e-Deklaracje.

Uwaga
Do systemu e-Deklaracje można wysłać deklarację PIT-28 wraz z załącznikami: PIT-28/A, PIT-28/B, PIT/O, PIT/D, PIT-2K, ORD-ZU. Jeżeli istnieje potrzeba wypełnienia dodatkowo Sprawozdania o realizacji uznanej metody ustalania ceny transakcyjnej (SPR/MT) należy złożyć deklarację poprzez stronę systemu e-Deklaracje lub w  formie papierowej.

Deklaracja CIT-8

Naciśnięcie ikony   Wyślij deklarację do systemu e-Deklaracje, aktywnej na zatwierdzonym formularzu
CIT-8, rozpoczyna eksport deklaracji do systemu e-Deklaracje.

Uwaga
Od 1 stycznia 2015 r. zeznanie podatkowe CIT-8 składa się urzędom skarbowym wyłącznie za pomocą środków komunikacji elektronicznej.

Do systemu e-Deklaracje można wysłać deklarację CIT-8 wraz z załącznikami
CIT-8/O, CIT-D, CIT-ST, CIT-ST/A, CIT-BR, ORD-ZU. Jeżeli istnieje potrzeba dołączenia innych załączników należy przesłać deklarację ze strony systemu e‑Deklaracje.

Uwaga
Od wersji 2018.0.1 Comarch ERP Optima udostępniono możliwość seryjnego naliczania/zatwierdzania uproszczonych zaliczek na podatek dochodowy od osób prawnych CIT-8.

W zależności czy na formularzu okresu obrachunkowego w Konfiguracji/ Firma/ Księgowość/ Okresy obrachunkowe zaznaczony zostanie parametr Zaliczki uproszczone na CIT, w programie wyliczone zostaną zaliczki uproszczone bądź zwykłe.

Deklaracja PIT-4R

Naciśnięcie ikony  Wyślij deklarację do systemu e-Deklaracje, aktywnej na zablokowanym formularzu
PIT-4R, rozpoczyna eksport deklaracji do systemu e-Deklaracje.

Uwaga
Od  2007  roku  Płatnik  nie  składa  deklaracji  PIT -4,  ale zobowiązany jest do comiesięcznej wpłaty zaliczki na podatek dochodowy. W celu ustalenia kwoty zaliczki podatku do odprowadzenia do Urzędu Skarbowego należy naliczać co miesiąc deklarację PIT-4 (wersja 18). Na podstawie tych miesięcznych zaliczek można przygotować deklarację roczną PIT -4R.

Deklaracja PIT-8AR

Z  poziomu Płace i Kadry / Podatek na PIT-8AR dostępna jest ‘Lista podatku na PIT-8AR’ z  naliczonymi zaliczkami za każdy miesiąc, na podstawie których można przygotować deklarację roczną PIT-8AR (wybierając z menu dostępnych opcji przy przycisku ‘plusa’). Naciśnięcie przycisku  Wyślij deklarację do systemu e‑Deklaracje, aktywnego na zablokowanym formularzu PIT-8AR, rozpoczyna eksport  deklaracji do systemu e‑Deklaracje.

Seryjne e-Deklaracje PIT-11/PIT-40/PIT-8C/ IFT-1/IFT-R

Z poziomu Płace i Kadry / Deklaracje PIT pracowników otwiera się okno z listą pracowników, dla których obliczono PIT. Domyślnie wyświetlana jest lista deklaracji PIT-11, z możliwością zmiany w filtrze (pole Lista deklaracji) na PIT-40/PIT-8C/IFT-1R/IFT-1. Zaznaczenie pracowników i naciśnięcie przycisku   powoduje seryjne zablokowanie deklaracji, niezbędne w celu wysłania deklaracji. Zaznaczając pracowników, dla których deklaracje mają być wysłane i naciśnięcie  przycisku   Wyślij  deklarację  do  systemu  e-Deklaracje  (dla zablokowanych formularzy), rozpoczyna eksport deklaracji.

Uwaga
Od 1 stycznia 2015 r. każdy płatnik, mający obowiązek sporządzenia informacji lub rocznego obliczenia podatku dla więcej niż pięciu podatników (osób fizycznych), lub gdy informacje te są składane w ich imieniu przez biuro rachunkowe – zobowiązany jest do wysyłania formularzy deklaracji podatkowych do urzędu skarbowego wyłącznie w formie elektronicznej.

Dokumenty, których dotyczy zmiana. Informacje PIT-8C, PIT-11, PIT-R, IFT-1/IFT-1R, IFT-3/IFT-3R, deklaracje PIT-4R, PIT-8AR oraz roczne obliczenie podatku PIT-40.

Formę tradycyjną składania ww. dokumentów (za wyjątkiem IFT-3/IFT-3R) stosować mogą jedynie płatnicy, którzy są obowiązani sporządzić informacje lub roczne obliczenie podatku za dany rok dla nie więcej niż pięciu podatników. Z formy pisemnej nie mogą korzystać natomiast biura rachunkowe. Nie ma przy tym znaczenia, czy biuro obsługuje 5 czy więcej podmiotów.

Uwaga
W zależności od ustawień komponentu do obsługi podpisu elektronicznego program poprosi o podanie PIN’u tylko raz i podpisze wszystkie deklaracje lub będzie prosił o podanie PIN’u dla każdej deklaracji osobno. Komponent UNIZETO domyślnie wymaga wybrania certyfikatu i podpisania PIN’u tylko jeden raz w danej sesji. Komponent KiR’u i Sigillum wymaga ustawienia opcji „Trwały PIN” i podania np. na jaki czas ma być zapamiętany PIN.

Uwaga
W przypadku Comarch ERP Optima w modelu usługowym (iComarch24) program zapyta o certyfikat i poprosi o potwierdzenie każdej kolejnej wysyłanej deklaracji (ze względu na bezpieczeństwo – każda eksportowane deklaracja jest przesyłana jako plik xml zarówno na komputer Użytkownika, jak i na serwer Ministerstwa Finansów).

Uwaga
Możliwość ponownego przesłania deklaracji, do której już odebrano UPO dostępne jest tylko z formularza konkretnej deklaracji. Wysyłka e‑Deklaracji jest wykonywana tylko dla tych deklaracji, które są zablokowane. Nie można wyeksportować deklaracji ze statusem „Wysłano/Nie odebrano UPO”.

W przypadku deklaracji PIT, CIT oraz VAT posiadających status „Wysłano/obebrano UPO” – przed powtórną ich wysyłką Użytkownik otrzyma komunikat “Deklaracja została już wysłana i zostało odebrane Urzędowe Poświadczenie Odbioru. Ponowna wysyłka spowoduje rozbieżność między nr referencyjnym na deklaracji a wydrukiem UPO. Czy chcesz kontynuować?” z możliwością wyboru: TAK/NIE.

Uwaga
Dla formularzy składanych do 31.12.2015 warunkiem prawidłowego wysłania i pobrania UPO do korekty e-Deklaracji jest uzupełnienie przyczyn korekty dostępne na formularzu deklaracji PIT na zakładce ORD–ZU lub w oknie ‘Seryjne obliczanie deklaracji PIT’ na zakładce ‘Ogólne’ – po zaznaczeniu parametru ‘Korekta informacji’. Dla  formularzy składanych po dacie 31.12.2015 nie jest wymagane wypełnienie tej sekcji.

3 Odbieranie UPO

Po wysłaniu deklaracji należy odebrać UPO (Urzędowe Poświadczenie Odbioru). UPO powinno być dostępne do odbioru do 24 godzin od wysłania.

Aby odebrać UPO należy otworzyć formularz deklaracji i za pomocą ikony  Pobierz UPO  zainicjować pobranie UPO. Poprawne pobranie UPO zakończy się komunikatem:

Rys 2. Log z przebiegu operacji – pobieranie UPO

Urzędowe Poświadczenie Odbioru można wydrukować z poziomu formularza deklaracji.

4 Sprawdzanie pliku XML z deklaracją

Jeżeli po wysłaniu z programu Comarch ERP Optima e-deklaracji na serwer Ministerstwa Finansów nie można pobrać UPO (Urzędowego Poświadczenia Odbioru), wówczas na stronie: http://www.validome.org/xml/validate/ można sprawdzić plik xml, który generowany jest przez program.

W ścieżce podanej w menu System/ Konfiguracja/ Stanowisko/ Ogólne/ e-Deklaracje tworzony jest katalog o nazwie  takiej jak nazwa bazy danych, a następnie podkatalog o nazwie RokMiesiąc deklaracji i w nim są umieszczane pliki xml np. VAT-7_200812_0_200901261114.xml.

Na stronie http://www.validome.org/xml/validate/ po naciśnięciu przycisku „Przeglądaj” wskazujemy lokalizację pliku xml z deklaracją a następnie naciskamy przycisk „Validate”.

Pojawia się np. poniższy komunikat:

oznacza to, że nie jest wypełniony powiat. Należy w Konfiguracji/ Dane firmy/ VAT-7, AKC-WW wypełnić  pole „Powiat”. Odblokować deklarację, jeszcze raz ją przeliczyć. Zablokować i wysłać ponownie.

Jeżeli pojawi się np. komunikat:

oznacza to, że nie jest uzupełnione pole 10 – czyli Uzasadnienie wniosku na zakładce VAT-ZZ deklaracji. Wówczas również należy odblokować deklarację, uzupełnić pola, następnie zablokować i ponownie wysłać deklarację.

Korekta deklaracji

W przypadku konieczności złożenia korekty deklaracji należy dodać nowy formularz deklaracji i zaznaczyć na nim cel złożenia – korekta, bądź dla wskazanego okresu uruchomić ikonę Korekta deklaracji .  Kolejnym krokiem jest jej przeliczenie (przycisk Przelicz ) wraz z możliwością wypełnienia zakładki ORD-ZU. Stanowi ona załącznik z uzasadnieniem przyczyny korekty. Na korektach deklaracji składanych od 01.01.2016 wyłączono konieczność uzupełniania załącznika ORD-ZU. Podczas wykonywania korekt wybranych deklaracji, zakładka ORD-ZU jest widoczna, ale jej uzupełnienie nie jest już konieczne do zatwierdzenia deklaracji i wysłania jej drogą elektroniczną.

Mechanizm wysyłki i odbierania UPO jest identyczny jak przy składaniu deklaracji pierwotnej. Z poziomu formularza deklaracji można wydrukować samą deklarację, jak również formularz UPO czy pozostałe załączniki, tj. ORD-ZU, VAT-ZZ czy VAT-ZT.

Uwaga
Korektę deklaracji można naliczyć i zapisać w sytuacji, gdy deklaracja korygowana zostanie wcześniej zablokowana przed zmianami (na liście nie może ona widnieć w kolorze zielonym).

Uwaga
Zanim zostanie wysłana korekta danej deklaracji należy wcześniej odebrać UPO do deklaracji pierwotnej (czyli upewnić się, że pierwotna deklaracja została złożona poprawnie).

Uwaga
Korekty wybranych deklaracji, tj. VAT-UE czy PIT-37 można wyliczyć wyłącznie za pomocą ikony Korekta deklaracji .

Comarch ERP Optima Biuro Rachunkowe ‑ eksport e-Deklaracji oraz import UPO

W  module Comarch ERP Optima Biuro Rachunkowe istnieje możliwość eksportu e-Deklaracji oraz importu  Urzędowego Poświadczenia Odbioru (UPO). Funkcja ta usprawnia pracę doradców podatkowych oraz biur rachunkowych poprzez umożliwienie seryjnego wykonywania wspomnianych wcześniej operacji dla wybranych baz firmowych.

Obecnie można dokonać eksportu następujących deklaracji: VAT-7, VAT-7K, VAT-UE, VAT-9M, VAT‑27, PIT-36, PIT-36L, PIT-28, CIT-8, PIT-4R, PIT-8AR, PIT-11.

Funkcja widoczna jest na liście operacji seryjnych w menu pod nazwą e-Deklaracje / Wyślij JPK i składa się z dwóch pozycji: Wyślij deklaracje, Odbierz UPO. W gałęzi tej dostępne są również opcje związane z seryjną wysyłką plików JPK_VAT: Wyślij JPK_VAT oraz Odbierz UPO dla JPK_VAT, więcej informacji opisane zostało w biuletynie OPT079 Jednolity Plik Kontrolny.

Rys 3. Widok funkcji w dostępnym menu e-Deklaracje / JPK

Po wyborze funkcji Wyślij deklaracje pojawi się okno dialogowe zawierające rozwijalną listę, za pomocą której Użytkownik ma możliwość dokonania szybkiego wyboru rodzaju deklaracji, którą chce wysłać.

Rys 4. Okno dialogowe z rozwijalną listą deklaracji, podczas wywoływania funkcji „Wyślij deklaracje”

Po wybraniu rodzaju deklaracji pojawi się okno z wyborem certyfikatu i podaniem PIN’u. W zależności od ustawień komponentu do obsługi podpisu elektronicznego program poprosi o podanie PIN’u tylko raz i podpisze wszystkie deklaracje lub będzie prosił o podanie PIN’u dla  każdej deklaracji osobno. Komponent UNIZETO domyślnie wymaga wybrania certyfikatu i podpisania PIN’u tylko jeden raz w danej sesji. Komponent KiR’u i Sigillum wymaga ustawienia opcji „Trwały PIN” i podania np. na jaki czas ma być zapamiętany PIN. Po podpisaniu deklaracji  następuje jej wysłanie do systemu e-Deklaracje. Jeżeli Użytkownik dokonał eksportu wybranych deklaracji np. VAT-7 lub VAT-UE, wówczas w bazie danych klienta wyświetlana jest informacja o wysyłce elektronicznej, która znajduje się w atrybucie „Deklaracja VAT-7” lub „Deklaracja VAT-UE”, w  zależności od tego jaki rodzaj deklaracji został wysłany.

Uwaga
Należy pamiętać, aby wysyłane deklaracje zostały wcześniej zatwierdzone. W przeciwnym razie program nie pozwoli na ich wyeksportowanie i pojawi się odpowiedni komunikat: „W bazie [nazwa bazy] deklaracja nie została zatwierdzona.  Deklaracja nie została wysłana.” W takiej sytuacji należy zatwierdzić daną deklarację i ponownie wysłać.

Podczas seryjnej wysyłki e-Deklaracji z poziomu Biura Rachunkowego w przypadku wystąpienia nieprawidłowości wynik walidacji zwróci dla każdej z deklaracji informację o pierwszym znalezionym błędzie. Mechanizm ten różni się od tego, który istnieje z poziomu programu Comarch ERP Optima, gdzie w treści walidacji otrzymujemy pełną listę napotkanych niezgodności.

Po wysłaniu deklaracji i odebraniu UPO zablokowana jest możliwość ponownej wysyłki deklaracji z poziomu Biura Rachunkowego.

Chcąc dokonać importu Urzędowego Poświadczenia Odbioru należy wybrać z menu funkcję Odbierz UPO. Następnie, podobnie jak przy eksporcie deklaracji, pojawi się okno dialogowe z rozwijalnym menu pozwalające na  wybór rodzaju deklaracji dla której Użytkownik chce dokonać importu. Po wybraniu rodzaju  deklaracji rozpocznie się proces pobierania UPO. Analogicznie jak przy eksporcie deklaracji  VAT-7 oraz VAT-UE, po zakończeniu operacji importu UPO pojawia się informacja o odbiorze UPO w atrybucie „Deklaracja VAT-7” lub „Deklaracja VAT-UE”.

Rys 5. Okno dialogowe z rozwijalną listą deklaracji, podczas wywoływania funkcji „Odbierz UPO”

Przy eksporcie e-Deklaracji oraz imporcie UPO w Panelu Wyników będą wyświetlane odpowiednie komunikaty informujące o przebiegu danych operacji.

Uwaga
Aby funkcja eksportu deklaracji oraz importu UPO w module Comarch ERP Optima Biuro Rachunkowe mogła poprawnie działać, należy pamiętać o ustawieniu odpowiednich parametrów w konfiguracji programu Comarch ERP Optima (pkt 1).

W przypadku wysłanych deklaracji, dla których pobrano Urzędowe Poświadczenie Odbioru program umożliwia

seryjny wydruk UPO.

Rys 6. Widok funkcji w dostępnym menu Wydruki

7 Najczęstsze komunikaty przy wysyłaniu e-Deklaracji

Komunikat przy wysyłaniuPrzyczyna
Walidacja Comarch ERP OptimaSystem e-Deklaracje
W menu System/ Konfiguracja/ Stanowisko/ Ogólne/ e-Deklaracje nie ustawiono katalogu dla plików wymiany danych.
lub
Katalog C:\Users\Jan.Kowalski\Desktop\e-Deklaracje nie istnieje.
Przygotowanie e-Deklaracji nie powiodło się. Nie udało się zapisać pliku wymiany: System nie może odnaleźć określonej ścieżki.Należy sprawdzić poprawność ścieżki do katalogu, w którym będą zapisywane pliki xml (Stanowisko/ Ogólne/ e-Deklaracje)
Błąd wysyłania e-Deklaracji: nie został nadany numer referencyjny (Połączenie podstawowe zostało zakończone: Nie można ustanowić relacji zaufania dla bezpiecznego kanału SSL/TLS.|).Błąd komunikacji z serwerem e-Deklaracji:
Connector:WinHTTP is unfamiliar with the Certificate Authority that generated the server's certificate. HRESULT=0x800A1529 - Connector:Unspecified HTTP error. HRESULT=0x800A1518
Brak certyfikatu Ministerstwa Finansów “ROOT MINFIN SERVERS CA” – należy go dodać do „Zaufane główne urzędy certyfikacji” – z poziomu Windows Internet Explorer / Narzędzia / Opcje internetowe / zakładka Zawartość / Certyfikaty.
Błąd wysyłania e-Deklaracji: nie został nadany numer referencyjny (Nie można połączyć się z serwerem zdalnym|).Błąd komunikacji z serwerem e-Deklaracji: Connector:Host not found. HRESULT=0x800A1521 - Connector:Unspecified HTTP error. HRESULT=0x800A1518Błędny adres usługi serwisu e-Deklaracji wpisany z poziomu: System / Konfiguracja / Program / Ogólne / e-Deklaracje - prawidłowa ścieżka to:
https://bramka.e-deklaracje.mf.gov.pl/

PIT-11

Komunikat przy wysyłaniuPrzyczyna
Deklaracja nie została wyeksportowana z powodu błędów. Nieznany błąd czasu wykonywania. wiersz = 130, kolumna = 4 (wiersz jest przesunięciem od początku bloku skryptu). Zwrócono błąd z wywołania właściwości lub metody. [-2147352567]”Typ wypłaty będący potrąceniem w Konfiguracji / Firma / Płace / Typy wypłat ma uzupełnioną ‘Pozycję na deklaracji PIT’ – PIT-11 1a. Wynagrodzenia ze stosunku… - wówczas pojawia się na deklaracji z MINUSEM w pozycji ‘Dochód zwolniony od podatku’. Należy zmienić tą pozycję na ‘Nie dotyczy’ i przeliczyć deklarację PIT-11.

8 Najczęstsze komunikaty błędów podczas walidacji i/lub przy odbiorze UPO

Komunikat podczasPrzyczyna
Walidacji Comarch ERP OptimaOdbioru UPO z systemu e-Deklaracje
Niepoprawna wartość '0001' w polu KodUrzedu (TKodUS: dopuszczalne wartości [0202, 0203, 0204, 0205, 0206, 0207, 0208, 0209, 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217, 0218, 0219, 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227, 0228, 0229, 0230, 0231, 0232, 0233, 0234, 0271, 0402, 0403, 0404, 0405, 0406, 0407, 0408, 0409, 0410, 0411, 0412, 0413, 0414, 0415, 0416, 0417, 0418, 0419, 0420, (…)])Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-enumeration-valid: Value '0001' is not facet-valid with respect to enumeration '[0202, 0203, 0204, 0205, 0206, 0207, 0208, 0209, 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217, 0218, 0219, 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227, 0228, 0229, 0230, 0231, 0232, 0233, 0234, 0271, 0402, (…)]'. It must be a value from the enumeration.]Błędny kod urzędu skarbowego przypisanego do deklaracji w Konfiguracji Firmy/ Dane Firmy/ Deklaracje.

Należy poprawić Kod na karcie urzędu (Ogólne/ Inne/ Urzędy), następnie ponownie przeliczyć, zablokować i wysłać deklarację.
Nieprawidłowa wiadomość UPO. The filename, directory name, or volume label syntax in correct.
Nieprawidłowa wiadomość UPO. Nazwa pliku, nazwa katalogu lub składnia etykiety woluminu jest niepoprawna.
Próba pobrania UPO nieaktualną wersją programu Comarch ERP Optima np. 17.3
Zamknięcie programu Comarch ERP Optima - Runtime errorW przypadku seryjnego pobierania UPO, gdy brak sieci lub serwer Ministerstwa Finansów jest niedostępny.
Błąd wysyłania e-Deklaracji: nie został nadany numer referencyjny (Połączenie podstawowe zostało zakończone: Nie można ustanowić relacji zaufania dla bezpiecznego kanału SSL/TLS.|).Brak aktualnego pełnomocnictwa/upoważnienia do podpisywania deklaracjiJeżeli wygasł certyfikat – należy sprawdzić UPL-1 (upoważnienie do składania deklaracji) jaka jest na nim data obowiązywania.
Nie udało się zwalidować e-deklaracji z powodu błędów. Brak schematu dokumentu elektronicznego na stronach e-PUAP. Poprawność deklaracji zostanie sprawdzona podczas odbioru UPO. [-2146232832]Błąd odbierania UPO. Informacje dodatkowe: Błąd komunikacji z serwerem e-Deklaracji:
Connector:Connection time out. HRESULT=0x800A1527 - Connector:Unspecified HTTP error. HRESULT=0x800A1518 lub
Błąd wysyłania e-Deklaracji: nie został nadany numer referencyjny (Żądanie nie powiodło się. Odpowiedź jest pusta.|)
Problem z serwerem e-Deklaracji występujący np. w okresie wzmożonej wysyłki deklaracji. Utrudnienia w dostępie do usługi systemu e-Deklaracje niezależne i niezwiązane z programem Comarch ERP Optima. Komunikaty świadczyć mogą o przejściowych problemach z dostępem do serwera e-Deklaracji. Należy w takim wypadku wstrzymać się z wysyłką deklaracji i ponowić próbę za jakiś czas. Jeżeli Użytkownik zdecyduje się na wysyłkę, powinien od razu spróbować pobrać UPO, aby mieć pewność poprawności wysłanej deklaracji.

Deklaracja VAT-7, VAT-9M, VAT-27:

Komunikat podczasPrzyczyna
Walidacji Comarch ERP OptimaOdbioru UPO z systemu e-Deklaracje
Nieuzupełnione pole PelnaNazwaWeryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type
'#AnonType_PelnaNazwa TIdentyfikatorOsobyNiefizycznej'.]
Niewypełnione pole Nazwa pełna w Konfiguracji/ Firma/ Dane Firmy/ VAT, AKC-WW.
Nieuzupełnione pole Wojewodztwo/Powiat/Gmina (Nazwa województwa, nazwa powiatu lub nazwa gminy: minimalna długość 1 znaków, maksymalna długość 36 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value ''with length = '0' is not facet-valid with respekt to minLength '1' for type 'TJednAdmin'.]Niewypełnione pole Województwo i/lub Powiat i/lub Gmina w Konfiguracji/ Firma/ Dane Firmy/ VAT, AKC-WW.
Nieuzupełnione pole NrDomu (Nr budynku: minimalna długość 1 znaków, maksymalna długość 9 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respekt to minLength '1' for type 'TNrBudynku'.]Niewypełnione pole Nr domu w Konfiguracji/ Firma/ Dane Firmy/ VAT, AKC-WW.
Nieuzupełnione pole Miejscowosc/Poczta (Miejscowość: minimalna długość 1 znaków, maksymalna długość 56 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TMiejscowosc'.]Niewypełnione pole Miasto i/lub Poczta w Konfiguracji/ Firma/ Dane Firmy/ VAT, AKC-WW.
Nieuzupełnione pole ImiePierwsze (Imię: minimalna długość 1 znaków, maksymalna długość 30 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TImie'.]Niewypełnione pole Imię, jeżeli podatnik jest osobą fizyczną, w Konfiguracji/ Firma/ Dane Firmy/ VAT, AKC-WW.
Nieuzupełnione pole Nazwisko (Nazwisko: minimalna długość 1 znaków, maksymalna długość 81 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TNazwisko'.]Niewypełnione pole Miasto i/lub Poczta w Konfiguracji/ Firma/ Dane Firmy/ VAT, AKC-WW.
Nieuzupełnione pole DataUrodzenia (Data: wartość musi być większa lub równa: 1900-01-01)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-datatype-valid.1.2.1: '' is not a valid value for 'date'.]Niewypełnione pole Data urodzenia, jeżeli podatnik jest osobą fizyczną, w Konfiguracji/ Firma/ Dane Firmy/ VAT, AKC- WW.
Niepoprawna wartość '20' w polu 49 (Wartość: wartość musi być mniejsza lub równa: 0, ilość cyfr: 14)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-maxInclusive-valid: Value '20' is not facet-valid with respect to maxInclusive '0' for type '#AnonType_P_49PozycjeSzczegolowe'.]Błędna wartość w polu 49 deklaracji VAT-7 składanej od sierpnia/3 kwartału 2016. Pole 49 od wersji 17 formularza musi być wypełnione wartością ujemną.
Niepoprawna wartość '-20' w polu 50 (Wartość: wartość musi być większa lub równa: 0, ilość cyfr: 14)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minInclusive-valid: Value '-20' is not facet-valid with respect to minInclusive '0' for type 'TKwotaCNieujemna'.]Błędna wartość w polu 50 deklaracji VAT-7 składanej od sierpnia/3 kwartału 2016. Pole 50 od wersji 17 formularza musi być wypełnione wartością nieujemną.
Niepoprawna wartość '12345678' w polu NIP (NIP)
Nieuzupełnione pole P_BC w załączniku Wniosek_VAT-ZD (NIP)
Niepoprawna wartość ‘wartość’ w polu P_BC w załączniku Wniosek_VAT-ZD (NIP)
Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-pattern-valid: Value '12345678' is not facet-valid with respect to pattern '[1-9]((\d[1-9])|([1-9]\d))\d{7}' for type 'TNrNIP'Błędnie wpisany NIP w Konfiguracji/ Firma/ Dane Firmy/ VAT, AKC-WW (w komunikacie zamiast '12345678' jest podawany błędnie wpisany NIP)
i/lub wraz z deklaracją wysyłany jest załącznik VAT-ZD (dla sprzedaży), ale dokumenty w rejestrze VAT, które są uwzględniane na VAT-ZD mają błędny NIP (w komunikacie zamiast '12345678' jest podawany błędnie wpisany NIP).
Należy poprawić NIP na dokumencie w rejestrze VAT, następnie odblokować deklarację VAT-7, usunąć z rejestru VAT zapis korekcyjny wygenerowany do załącznika
VAT-ZD, odblokować i ponownie przeliczyć VAT-ZD. Następnie ponownie zablokować VAT-ZD i wygenerować zapis korekcyjny oraz przeliczyć i ponownie wysłać deklarację.

Deklaracja VAT-UE:

Komunikat podczasPrzyczyna
Walidacji Comarch ERP OptimaOdbioru UPO z systemu e-Deklaracje
Niepoprawna wartość '123.456.7890' w polu P_Db (NIP UE)
Niepoprawna wartość 'PL' w polu P_Da (TKodKrajuUE: dopuszczalne wartości [AT, BE, BG, CY, CZ, DK, DE, EE, EL, ES, FI, FR, GB, HR, HU, IE, IT, LV, LT, LU, MT, NL, PT, RO, SE, SI, SK])
Nieuzupełnione pole P_Db (NIP UE)
Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-pattern-valid: Value '123.456.7890' is not facet- valid with respect to pattern '(\d|[A-Z]|\+|\*){1,12}' for type'TNrVatUE'.]Błędny NIP na dokumencie w rejestrze VAT (w komunikacie zamiast '123.456.7890' jest podawany błędnie wpisany NIP). Należy poprawić NIP na dokumencie, następnie odblokować, przeliczyć i ponownie wysłać deklarację.

Deklaracja PIT-36, PIT-36L, PIT-37, PIT-28, PIT-11, PIT-8C, IFT:

Komunikat podczas
Walidacji Comarch ERP OptimaOdbioru UPO z systemu e-DeklaracjePrzyczyna
Nieuzupełnione pole P_7/P_9/19 w załączniku PIT_B
Nieuzupełnione pole P_151A/P_23A
Nieuzupełnione pole 31/45 w załączniku PIT_O
Nieuzupełnione pole 17 w załączniku PIT_D
Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TZnakowy'.Na PIT/B niewypełniona pozycja Rodzaj działalności i/lub Miejsce działalności i/lub Nazwa spółki i/lub jeżeli jest wpisana kwota Straty z lat ubiegłych należy uzupełnić również Źródła strat
i/lub na PIT/O wpisana jest kwota Innych ulg, a nie jest uzupełniony Rodzaj ulgi
i/lub na PIT/D wpisana jest kwota odliczenia, a nie jest uzupełniony Rodzaj wydatków mieszkaniowych.
Niepoprawna wartość '2016' w polu Rok (Rok: wartość musi być większa lub równa: 1800, wartość musi być mniejsza lub równa: 3000, dopuszczalne wartości [2015-01-01 00:00:00])Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-enumeration-valid: Value '2016' is not facet-valid with respect to enumeration '[2015]'. It must be a value from the enumeration.]Próba wysyłki deklaracji na formularzu w wersji nieobowiązującej w danym roku. Deklarację należy usunąć i naliczyć ponownie na odpowiednim formularzu.
Nieuzupełnione pole Wojewodztwo/Powiat/Gmina (Nazwa województwa, nazwa powiatu lub nazwa gminy: minimalna długość 1 znaków, maksymalna długość 36 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respekt to minLength '1' for type 'TJednAdmin'.Niewypełnione pola Województwo i/lub Powiat i/lub Gmina na karcie właściciela/wspólnika/pracownika i/lub niewypełnione województwo/powiat/gmina w danych małżonka (w przypadku rozliczania PIT-36 lub PIT-37 wspólnie z małżonkiem).
Niepoprawna wartość '1899-12-30' w polu DataUrodzenia (Data: wartość musi być większa lub równa: 1900-01-01)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minInclusive-valid: Value '1899-12-30' is not facet- valid with respect to minInclusive '1900-01-01' for type 'TData'Niewypełnione pole Data urodzenia na formularzu właściciela/wspólnika/pracownika i/lub data urodzenia małżonka (w przypadku rozliczania PIT-36 lub PIT-37 wspólnie z małżonkiem).
Nieuzupełnione pole NrDomu (Nr budynku: minimalna długość 1 znaków, maksymalna długość 9 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respekt to minLength '1' for type 'TNrBudynku'.Niewypełnione pole Nr domu na formularzu właściciela/wspólnika/pracownika i/lub w danych małżonka (w przypadku rozliczania PIT-36 lub PIT-37 wspólnie z małżonkiem).
Nieuzupełnione pole Miejscowosc/Poczta/ MiejsceUrodzenia (Miejscowość: minimalna długość 1 znaków, maksymalna długość 56 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respekt to minLength '1' for type 'TMiejscowosc'.Niewypełnione pole Miejscowość i/lub Poczta na formularzu właściciela/wspólnika/pracownika i/lub w danych małżonka (w przypadku rozliczania PIT-36 lub PIT-37 wspólnie z małżonkiem) i/lub na PIT/O, w części D (informacja o przekazanych darowiznach i obdarowanych) niewypełniona Miejscowość przy uzupełnionych innych polach i/lub niewypełniona Miejscowość/Poczta w danych firmy w Konfiguracji/ Firma/ Dane firmy/ PIT-4R,CIT-8, ZUS DRA.
W przypadku deklaracji IFT niewypełnione pole Miejsce urodzenia na formularzu pracownika.
Nieuzupełnione pole KodPocztowy (Kod pocztowy: minimalna długość 1 znaków, maksymalna długość 8 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TKodPocztowy'.Niewypełnione pole Kod pocztowy na formularzu właściciela/wspólnika/pracownika i/lub w danych małżonka (w przypadku rozliczania PIT-36 lub PIT-37 wspólnie z małżonkiem)
Nieuzupełnione pole Nazwisko lub
Nieuzupełnione pole Nazwisko w załączniku PIT_O/PIT_D (Nazwisko: minimalna długość 1 znaków, maksymalna długość 81 znaków)
Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respekt to minLength '1' for type 'TNazwisko'.Niewypełnione pole Nazwisko małżonka na deklaracji rocznej i/lub załączniku PIT/O/PIT/D (w przypadku rozliczania PIT-36 lub PIT-37 wspólnie z małżonkiem).
Nieuzupełnione pole ImiePierwsze (Imię: minimalna długość 1 znaków, maksymalna długość 30 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TImie'.Niewypełnione pole Pierwsze Imię małżonka (w przypadku rozliczania PIT-36 lub PIT-37 wspólnie z małżonkiem)
Zaznaczono w Konfiguracji/ Firma/ Dane firmy/ PIT-4R, CIT-8 że podatnik jest osobą fizyczną ale nie zostały uzupełnione dane właściciela.
Nieuzupełnione pole P_D3 w załączniku PIT_O lub
Nieuzupełnione pole P_D23A w załączniku PIT_BR lub
Nieuzupełnione pole KodKraju/KodKrajuWydania (Kod kraju: dopuszczalne wartości [AF, AX, AL, DZ, AD, AO, AI, AQ, AG, AN, SA, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BE, BZ, BJ, BM, BT, BY, BO, BA, BW, BR, BN, IO, BG, BF, BI, XC, CL, CN, HR, CY, TD, ME, DK, DM, DO, DJ, EG, EC, ER, EE, ET
Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-enumeration-valid: Value '' is not facet-valid with respect to enumeration '[AF, AX, AL, DZ, AD, AO, AI, AQ, AG, AN, SA, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BE, BZ, BJ, BM, BT, BY, BO, BA, BW, BR, BN, IO, BG, BF, BI, XC, CL, CN, HR, CY, TD, ME, DK, DM, DO, DJ, EG, EC, ER, EE, ET, FK, (…)]'. It must be a value from the enumeration.]Niewypełnione pole Kod kraju na załączniku PIT/O, w części dot. informacji o przekazanych darowiznach i obdarowanych.
Niewypełnione pole Kod kraju na załączniku PIT/BR, w części dot. danych jednostki naukowej.
Niewypełnione pole Kod kraju na formularzu pracownika i/lub formularzu deklaracji.
Nieuzupełnione pole NrLokalu (Nr lokalu: minimalna długość 1 znaków, maksymalna długość 10 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TNrLokalu'.]W pliku xml jest pusta sekcja z numerem lokalu. Taki efekt powstaje po imporcie danych kadrowych z arkusza MS Excel, jeżeli w arkuszu w kolumnie ‘Nr Lokalu’ została wpisana spacja. Normalnie w przypadku nie wypełnionego pola z numerem lokalu na formularzu danych kadrowych ta sekcja się w ogóle nie generuje. W takiej sytuacji należy edytować formularz danych kadrowych pracownika/właściciela/wspólnika, wpisać w pole numer lokalu np. 1, zapisać zmianę/formularz, ponownie go edytować, usunąć całą zawartość pola z numerem lokalu i zapisać. Po tak wykonanych czynnościach plik z deklaracją jest wysyłany poprawnie.
Niepoprawna wartość '0' w polu RodzajNrId (TRodzajId: dopuszczalne wartości [1, 2, 3, 4, 8, 9])Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-enumeration-valid: Value '0' is not facet-valid with respect to enumeration '[1, 2, 3, 4, 8, 9]'. It must be a value from the enumeration.]Niewypełnione pole Rodzaj numeru identyfikacyjnego na formularzu pracownika na zakładce 2. Nr ident./podatki.
Nieuzupełnione pole NrId (Numer dokumentu stwierdzającego tożsamość: minimalna długość 1 znaków, maksymalna długość 50 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TNrDokumentu StwierdzajacegoTozsamosc'.Niewypełnione pole Zagraniczny numer identyfikacyjny podatnika na formularzu pracownika na zakładce 2. Nr ident./podatki.
Niepoprawna wartość '123456789' w polu 325/95/137/134 (KRS)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-pattern-valid: Value '123456789' is not facet-valid with respect to pattern '\d{10}' for type 'TNrKRS'.]Błędny numer KRS, wpisany w sekcji „Wniosek o przekazanie 1% podatku” (w komunikacie zamiast '123456789' jest podawany błędnie wpisany numer KRS odpowiednio na deklaracji PIT-36/PIT-36L/PIT-37/PIT-28)

Deklaracja CIT-8:

Komunikat podczasPrzyczyna
Walidacji Comarch ERP OptimaOdbioru UPO z systemu e-Deklaracje
Nieuzupełnione pole PelnaNazwaWeryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type
'#AnonType_PelnaNazwa TIdentyfikator OsobyNiefizycznej'.]
Niewypełnione pole Nazwa pełna w Konfiguracji/ Firma/ Dane Firmy/ PIT-4R, CIT-8
Niepoprawna wartość '12345' w polu NIP (NIP)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-pattern-valid: Value '12345' is not facet-valid with respect to pattern '[1-9]((\d[1-9])|([1-9]\d))\d{7}' for type 'TNrNIP'Błędny numer NIP wpisany w Konfiguracji/ Firma/ Dane Firmy/ Pieczątka Firmy (w komunikacie zamiast '12345' jest podawany błędnie wpisany NIP).
Nieuzupełnione pole Wojewodztwo/Powiat/Gmina lub Nieuzupełnione pole P_A/P_B/P_C w załączniku CIT-ST (Nazwa województwa, nazwa powiatu lub nazwa gminy: minimalna długość 1 znaków, maksymalna długość 36 znaków) Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TJednAdmin'.Niewypełnione pola Województwo i/lub Powiat i/lub Gmina w Konfiguracji/ Firma/ Dane Firmy/ PIT-4R, CIT-8 i/lub niewypełnione pola Województwo i/lub Powiat i/lub Gmina w części dot. zakładów/ oddziałów na załączniku CIT/ST.
Nieuzupełnione pole NrDomu (Nr budynku: minimalna długość 1 znaków, maksymalna długość 9 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TNrBudynku'.Niewypełnione pole Nr domu w Konfiguracji/ Firma/ Dane Firmy/ PIT-4R, CIT-8.
Nieuzupełnione pole Miejscowosc/Poczta lub Nieuzupełnione pole 35/87 w załączniku CIT-D lub Nieuzupełnione pole 13 w załączniku CIT-ST_A - załącznik do załącznika CIT-ST (Miejscowość: minimalna długość 1 znaków, maksymalna długość 56 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TMiejscowosc'.Niewypełnione pole Miejscowość i/lub Poczta w Konfiguracji/ Firma/ Dane Firmy/ PIT-4R, CIT-8 i/lub
niewypełnione pole Miejscowość w danych darczyńcy/ informacji o obdarowanym na CIT-D i/lub w danych Zakładu (oddziału) na CIT-ST/A.
Nieuzupełnione pole KodPocztowy (Kod pocztowy: minimalna długość 1 znaków, maksymalna długość 8 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TKodPocztowy'.Niewypełnione pole Kod pocztowy w Konfiguracji/ Firma/ Dane Firmy/ PIT-4R, CIT-8.
Nieuzupełnione pole 37/66/75/80/81 w załączniku CIT-8_O lub
Nieuzupełnione pole 27/79 w załączniku CIT-D lub
Nieuzupełnione pole P_E1 w załączniku CIT-ST lub
Nieuzupełnione pole P_1 w załączniku CIT-ST_A - załącznik do załącznika CIT-ST
Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TZnakowy'.]Na CIT-8/O wpisana jest Kwota innych dochodów wolnych i/lub Kwota innych odliczeń, a nie jest uzupełnione pole Tytułem i/lub wpisana jest Kwota Zwolnienia, a nie jest uzupełniony Numer decyzji Ministra Finansów i/lub wpisana jest Kwota zaniechania poboru podatku i Data rozporządzenia, a nie jest uzupełniony Tytuł Rozporządzenia i/lub wpisana jest Kwota obniżki z innych tytułów, a nie jest uzupełniony Tytuł obniżki
i/lub na CIT/D w Danych darczyńcy/ Informacji o obdarowanym nie jest uzupełnione pole Nazwa Pełna
i/lub na CIT-ST nie jest uzupełnione pole Nazwa zakładu (oddziału)
i/lub na CIT-ST/A nie jest uzupełniona Nazwa pełna zakładu (oddziału)
Niepoprawna wartość '1899-12-30' w polu 77/78 w załączniku CIT-8_O (Data: wartość musi być większa lub równa: 1900-01-01)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-datatype-valid.1.2.1: '00:00:00' is not a valid value for 'date'.]Na CIT-8/O wpisany jest Numer decyzji Ministra Finansów i Kwota Zwolnienia, a nie jest uzupełniona Data decyzji Ministra Finansów i/lub wpisana jest Kwota zaniechania poboru podatku, a nie jest uzupełniona Data rozporządzenia.
Nieuzupełnione pole P_28A/78/P_80A w załączniku CIT-D lub Nieuzupełnione pole P_D25A w załączniku CIT-BR (Kod kraju: dopuszczalne wartości [AF, AX, AL, DZ, AD, AO, AI, AQ, AG, AN, SA, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BE, BZ, BJ, BM, BT, BY, BO, BA, BW, BR, BN, IO, BG, BF, BI, XC, (…)])Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-enumeration-valid: Value '' is not facet-valid with respect to enumeration '[AF, AX, AL, DZ, AD, AO, AI, AQ, AG, AN, SA, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BE, BZ, BJ, BM, BT, BY, BO, BA, BW, BR, BN, IO, BG, BF, BI, XC, CL, CN, HR, CY, TD, ME, DK, DM, DO, DJ, EG, EC, ER, EE, ET, FK, FJ, PH, FI, FR, TF, GA, GM, GH, GI, GR, GD, GL, GE, GU, GG, GY, GF, GP, GT, (…)]'. It must be a value from the enumeration.]Na CIT-D w części dot. danych darczyńcy i/lub
w Informacji o obdarowanym nie jest wypełnione pole Kod kraju.
Na CIT-BR w części dot. danych jednostki naukowej nie jest wypełnione pole Kod kraju.
Nieuzupełnione pole 77 w załączniku CIT-D (Numer identyfikacji podatkowej: minimalna długość 1 znaków, maksymalna długość 30 znaków)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'TNrIdentyfikacjiPodatkowej'.]Niewypełnione pole Identyfikator podatkowy w części dot. Informacji o obdarowanym na załączniku CIT-D.
Niepoprawna wartość '1234567' w polu P_D w załączniku CIT-ST (Kod gminy: http://www.stat.gov.pl/broker/ access/showSearch.jspa)Weryfikacja negatywna – dokument niezgodny ze schematem xsd [cvc-enumeration-valid: Value '1234567' is not facet-valid with respect to enumeration '[0201011, 0201022, 0201032, 0201043, 0201052, 0201062, 0202011, 0202021, 0202031, 0202041, 0202052, 0202062, 0202073, 0203011, 0203022, 0203032, 0203042, 0203052, 0203062, (…)]'. It must be a value from the enumeration.]Niepoprawny Kod gminy w części dot. zakładów/ oddziałów na załączniku CIT/ST (w komunikacie zamiast '1234567' jest podawany błędnie wpisany Kod).

 

Uwaga
Powyższe komunikaty zwracające numer pola podczas walidacji w programie Comarch ERP Optima odwołują się do najnowszych formularzy deklaracji składanych za rok 2017. W przypadku składania deklaracji bądź ich korekt za inny okres,numeracja pól w treści komunikatów dla poprzednich wzorów może nieznacznie się różnić.




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

Data aktualizacji: 28-11-2018

Informacje ogólne

System Comarch ERP Optima obsługuje wymianę danych z bankiem (eksport i import przelewów) za pomocą usługi sieciowej opartej o standard Comarch Data Connect 2.0.

Ten sposób wymiany danych umożliwia pobieranie wyciągów bankowych oraz historii operacji, a także eksport przelewów bezpośrednio z/do systemu bankowego, bez konieczności ręcznego przenoszenia plików pomiędzy aplikacją bankową oraz Comarch ERP Optima. Możliwe jest również pobieranie dla każdego wysłanego przelewu jego aktualnego statusu w banku (przelew może oczekiwać na realizację, zostać zrealizowany, odrzucony, anulowany itp.).

Wymiana danych pomiędzy bankiem a klientem w usłudze sieciowej odbywa się przez wymianę komunikatów w formacie plików XML (standard ISO 20022) przy wykorzystaniu technologii web-services. Całość komunikacji jest zabezpieczona przez bezpieczny kanał HTTPS z wykorzystaniem dwustronnego SSL. Dzięki tym technologiom komunikacja pomiędzy Bankiem a klientem jest szyfrowana i nikt niepowołany nie ma dostępu do przesyłanych informacji. Dodatkowo dzięki dwustronnemu SSL Bank otrzymuje możliwość wstępnej weryfikacji klienta, a klient może zweryfikować, czy faktycznie podłączył się do serwera Banku.

Do zabezpieczenia wymiany informacji zastosowane zostały: certyfikat transportowy, który weryfikuje Klienta i pozwala zweryfikować jego prawo do danego rachunku (rachunków) oraz certyfikat autoryzacyjny (podpis elektroniczny), którym mogą być podpisywane wysyłane do banku przelewy. Gdy przelewy nie zostaną podpisane lub zostaną podpisane przez nieuprawnioną osobę – zlecenia będą oczekiwały w banku na akceptację uprawnionej osoby.

Na liście Ogólne/Inne/Formaty przelewów dostępny jest format ING WebService (standardowy) do wymiany danych z ING Bank Śląski. Na stronie http://www.ingbank.pl/ing-businessonline/webservice można dowiedzieć się więcej o tej usłudze oraz sposobie jej zamawiania.

W przypadku innych banków należy zweryfikować możliwość wymiany danych poprzez usługę sieciową kontaktując się z danym bankiem. Jeżeli bank wdrożył standard Comarch Data Connect 2.0, Użytkownik może samodzielnie dodać format przelewu, za pomocą którego będzie możliwa wymiana. Na formularzu formatu przelewu na zakładce [Ogólne] trzeba zaznaczyć parametr Bezpośrednia wymiana danych za pomocą usługi sieciowej oraz wpisać adres usługi sieciowej.

Uwaga
W związku z koniecznością obsługi protokołu TLS 1.2 w wymianie danych za pomocą usługi sieciowej, od wersji programu 2017.1.1 na stanowisku wymagana jest instalacja .NET Framework w wersji conajmniej 4.5.

Eksport za pomocą usługi sieciowej

Możliwy jest eksport przelewów krajowych (w tym do Urzędu Skarbowego i ZUS) oraz przelewów walutowych. Przelewy walutowe wysyłane są jako przelewy zagraniczne. Od wersji programu 2015.5.1 wprowadzona została również możliwość wysyłania przelewów euroregulowanych (SEPA). Jako przelewy euroregulowane wysyłane są zdarzenia rozchodowe w walucie EUR, na których zaznaczony został parametr Przelew SEPA

Na formularzu banku w polach Format eksportu dla przelewów zwykłych oraz Format importu wyciągów bankowych można wskazać format obsługujący wymianę za pomocą usługi sieciowej (ING WebService (standardowy)). Format ten będzie podpowiadał się jako domyślny podczas eksportu i importu przelewów.

Rys.1 – Formularz banku, zakładka „Dodatkowe”

Po wybraniu takiego formatu na formularzu banku pojawia się zakładka [Ustawienia usługi sieciowej]. Na zakładce tej Użytkownik wprowadza ustawienia dotyczące przelewów walutowych oraz podpina certyfikat do komunikacji.

Został przygotowany już dla Państwa prosty kreator do generowanie certyfikatu komunikacyjnego, który umożliwi wymianę danych za pomocą usługi sieciowej. Kreator jest pod tym linkiem.

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

W przypadku przelewów walutowych istotne jest uzupełnienie pól: Opłatę ponosi, Osoba kontaktowa oraz Kontakt. W przypadku pola Opłatę ponosi jest możliwość wyboru trzech opcji: Zleceniodawca, Zleceniobiorca, Po równo. W przypadku niektórych rachunków opcja Zleceniobiorca może być zablokowana. Pokaże się wtedy odpowiedni komunikat przy próbie eksportu z wybraną tą opcją. W przypadku Osoba kontaktowa oraz Kontakt należy wprowadzić imię i nazwisko oraz np. numer telefonu przedstawiciela Klienta, z którym można się kontaktować. Jest to pole wymagane gdy wysyłane są przelewy walutowe.

Eksport przelewów za pomocą usługi sieciowej jest możliwy z poziomu preliminarza płatności dla wybranego konkretnego rejestru. Jeżeli wybrany rejestr ma na formularzu banku przypisany format obsługujący wymianę danych za pomocą usługi sieciowej, wtedy ikona Eksportuj polecenia przelewu ma rozwijalne menu z dwoma opcjami: Eksportuj przelewy  oraz Aktualizuj stany przelewów  .

Domyślnie kliknięcie w ikonę powoduje wywołanie okna Eksport przelewów do pliku.

Rys.3 – Okno eksportu przelewu poprzez usługę sieciową

W konfiguracji Stanowiska/ Kasa/Bank/ Parametry znajduje się parametr Zapisuj przelewy importowane/eksportowane poprzez usługę sieciową. Zaznaczenie tego parametru powoduje uaktywnienie pola na wpisanie ścieżki do katalogu, w którym będą zapisywały się pliki z przelewami importowane oraz eksportowane za pomocą usługi sieciowej. Domyślnie parametr jest odznaczony. W przypadku odznaczonego parametru pliki nie są zapisywane.

Po wybraniu opcji Eksportuj przelewy pokazuje się okno, na którym można ustawić wybrane opcje eksportu. Po ustawieniu parametrów, eksport uruchamiamy ikoną pioruna. Eksportowane są zarówno przelewy w PLN jak również w walucie obcej. Jest możliwy również eksport przelewów zbiorczych. Jest również możliwość podpisania przelewów za pomocą podpisu kwalifikowanego. Pojawia się okno z możliwością wyboru właściwego certyfikatu. Jeżeli okno z wyborem certyfikatu zostanie anulowane – przelewy zostaną wysłane i będą oczekiwały na akceptację po stronie banku.

W preliminarzu płatności jeżeli wybrany zostanie rejestr, który obsługuje wymianę danych poprzez usługę sieciową wśród kolumn na liście dostępne są kolumny: Data wysłania WebService, Komunikat WebService, Data komunikatu WebService.

W kolumnach tych zapisywane są informacje przy eksporcie do usługi sieciowej oraz każdorazowym sprawdzeniu stanu przelewów w banku.

Jest również możliwość sprawdzenia aktualnego statusu przelewów w banku. Opcja Aktualizuj stany przelewów sprawdza stan przelewów w banku oraz aktualizuje informacje na liście w preliminarzu płatności oraz na formularzu zdarzenia.

Import za pomocą usługi sieciowej

W systemie jest również dostępny import przelewów za pomocą usługi sieciowej. Jest możliwość importu wyciągów bankowych bądź historii operacji, jeżeli za dany okres nie jest jeszcze dostępny wyciąg bankowy.

Zalecamy aby okres raportów kasowych/bankowych w systemie Comarch ERP Optima był taki sam jak okres raportów w systemie bankowym.

Jeżeli okres raportu się nie pokrywa to przy imporcie pojawi się odpowiedni komunikat wraz z pytaniem czy wykonać import historii operacji.

Jeżeli wykonany został import historii operacji i następnie potem wykonywany jest ponowny import historii bądź import wyciągu wtedy importowane są tylko te przelewy, które nie zostały jeszcze zaimportowane. Duplikaty są odrzucane.

Duplikaty sprawdzane są wg następujących kryteriów:

  • Data księgowania,
  • Numer rachunku kontrahenta,
  • Kwota,
  • Opis przelewu.

Podczas importu sprawdzany jest stan początkowy raportu i porównywany ze stanem początkowym wyciągu bankowego. Jeżeli stany będą niezgodne w logu pokaże się odpowiednie ostrzeżenie. Po zakończeniu importu aktualizowany jest stan końcowy raportu i porównywany ze stanem końcowym w wyciągu. W przypadku braku zgodności również pokazywane jest odpowiednie ostrzeżenie.

Na liście raportów kasowych/bankowych dla rejestru, który obsługuje import przelewów poprzez usługę sieciową, wśród kolumn (ukrytych) na liście jest kolumna [Wyciąg z banku], w której zapisywana jest informacja, czy wyciąg bankowy został pobrany.

Eksport i import przelewów za pomocą usługi sieciowej – najczęściej zadawane pytania

  • Co należy ustawić w programie Comarch ERP Optima, aby móc skorzystać z Eksport i import przelewów za pomocą usługi sieciowej?

Odpowiedź: Na formularzu banku (Ogólne/Inne/Banki) w polach Format eksportu dla przelewów zwykłych oraz [Format importu wyciągów bankowych] (druga zakładka) należy wskazać format obsługujący wymianę za pomocą usługi sieciowej (ING WebService (standardowy)). Następnie na 3 zakładce [Ustawienia usługi sieciowej] Użytkownik wprowadza ustawienia dotyczące przelewów walutowych oraz podpina certyfikat do komunikacji otrzymany z banku.

  • Czy taki sposób wymiany danych z bankiem dostępny jest także dla innych banków?      

Odpowiedź: Prosimy o przekierowanie pytania o to czy i kiedy Państwa bank wdroży standard Comarch Data Connect 2.0 (umożliwiający bezpośrednią wymianę danych z Comarch ERP Optima) bezpośrednio do Banku. W Comarch ERP Optima standard ten jest gotowy do współpracy z każdym bankiem, który go wdroży.

  • Czy oprócz informacji zamieszczonej w dokumentacji na temat eksportu i importu przelewów za pomocą usługi sieciowej jest jeszcze jakiś dokument/film instruktażowy przedstawiający tą funkcjonalność w praktyce?

Odpowiedź: Tak.

  • Jakie warunki powinny spełniać certyfikaty wykorzystywane podczas wysyłki aby odbyła się ona prawidłowo?

Odpowiedź: Certyfikat komunikacyjny i autoryzacyjny powinny znajdować się w sekcji osobiste, mieć aktualną datę ważności oraz posiadać informację o obsługujących je kluczach prywatnych. Ponadto w przypadku certyfikatu autoryzacyjnego należy poprawnie zainstalować sterowniki urządzenia obsługującego certyfikat po stronie systemu operacyjnego.
Jeśli bank wymaga dodatkowych certyfikatów należy upewnić się czy znajdują się one we właściwych magazynach certyfikatów oraz czy posiadają aktualną datę ważności.

Pliki do pobrania




OPT082 – Delegacje krajowe i zagraniczne

Data aktualizacji: 17-07-2019


Informacje ogólne

Pracodawcy delegujący swoich pracowników w podróż służbową mają w stosunku do nich określone obowiązki. Rozliczenie delegacji powinno zawierać pokrycie kosztów pracownika związanych z wyjazdem służbowym takich jak np. diety czy koszty przejazdu i noclegów.

Funkcjonalność rozliczania należności za podróże służbowe odbywane przez pracowników dostępna jest w module Kasa/Bank Plus z poziomu listy Delegacje .

Użytkownik ma możliwość wprowadzania i rozliczania zarówno podróży służbowych krajowych w walucie systemowej, jak i delegacji zagranicznych.

Lista delegacji

Na liście delegacji dostępne są następujące kolumny: Numer dokumentu, Data, Podmiot, Kwota, Status, Rodzaj, Comarch HRM. W kolumnie Rodzaj wyświetlana jest opcja Krajowa lub Zagraniczna. W kolumnach ukrytych (dostępnych po wyborze opcji Wybór kolumn) dostępna jest również kolumna Kategoria (z wyświetlaną kategorią z nagłówka delegacji) i Zakład (widoczna dla firm z ustawioną wielozakładowością).

W kolumnie Kwota widoczna jest suma Kwot do wypłaty w PLN z sekcji Podsumowanie rozliczenia z pracownikiem, ze wszystkich etapów delegacji.

Listę obsługują standardowe przyciski ,, i .

Dodatkowo dostępne są następujące przyciski:

 – Rozlicz zaznaczone dokumenty – służący do rozliczenia delegacji; rozliczać można tylko delegacje o stanie Zaakceptowane wydatki

 – Usuń rozliczenia z zaznaczonych dokumentów – do usunięcia rozliczeń delegacji

 – Księguj – służąca do zaksięgowania delegacji (zarówno w przypadku pełnej księgowości, jak i książki przychodów i rozchodów); księgować można tylko delegacje o stanie Zatwierdzona

Szczegółowy opis rozliczania i księgowania delegacji zamieszczony jest w kolejnych rozdziałach biuletynu.

Uwaga

W aplikacji Comarch HRM istnieje możliwość zgłaszania delegacji. Delegacja taka jest odpowiednio oznaczona w kolumnie Comarch HRM.
Dodatkowo delegacja zgłoszona w ten sposób po podniesieniu formularza w Comarch ERP Optima będzie automatycznie przeliczana.

W Konfiguracji Programu/ Kasa/Bank/ Diety i ryczałty widoczna jest lista krajów wraz z odpowiadającą im walutą i kwotami diet, ryczałtów noclegowych i limitów na nocleg. Lista jest domyślnie uzupełniona wartościami wynikającymi z załącznika do rozporządzenia Ministra Pracy i Polityki Społecznej z dnia 29 stycznia 2013 roku (Rozporządzenie MPiPS z dnia 29 stycznia 2013 r. w sprawie należności przysługujących pracownikowi zatrudnionemu w państwowej lub samorządowej jednostce sfery budżetowej z tytułu podróży służbowej (Dz. U. 2013, poz. 167)).

W Konfiguracji Firmy/ Kasa/Bank/ Diety i ryczałty również wyświetlana jest lista krajów wraz z walutą i kwotami diet i ryczałtów. Lista jest uzupełniona wartościami domyślnymi. Kwoty diet, ryczałtów noclegowych i limitów na nocleg można zmienić wpisując indywidualne wartości. Kwoty są zapamiętywane historycznie.

Z listy delegacji dostępny jest wydruk Lista delegacji > Wzór standard. Z formularza delegacji dostępne są wydruki Polecenie wyjazdu > Delegacja – polecenie wyjazdu, Rozliczenie delegacji > Delegacja – Rozliczenie oraz Rozliczenie delegacji > Delegacja – Udokumentowane wydatki.

Z poziomu formularza elementu delegacji dostępne są wydruki Rozliczenie > Rozliczenie etapu krajowego delegacji oraz Rozliczenie > Rozliczenie etapu zagranicznego delegacji. W przypadku modyfikowania wartości na etapie, wydruk będzie aktualny dopiero po zapisaniu formularza delegacji.

Delegacje krajowe

Formularz delegacji

Na formularzu delegacji dostępny jest parametr Delegacja zagraniczna, jeżeli on nie będzie zaznaczony delegacja traktowana jest jako delegacja krajowa.

Formularz delegacji

Jest również możliwość wpisania Miejsca docelowego, Celu delegacji oraz wybór Kategorii. Po wybraniu pracownika, automatycznie podpowiadana jest kategoria z jego karty, z możliwością zmiany. Kategorie można również przypisać na każdym z elementów delegacji, na zakładce [Podsumowanie rozliczenia].

Na formularzu delegacji użytkownik ma do dyspozycji 4 opcje: Bufor, Zaakceptowane polecenie wyjazdu, Zaakceptowane wydatki oraz Zatwierdzona delegacja.

Na formularzu delegacji domyślnie zaznaczony jest Bufor, co daje możliwość uzupełniania podstawowych informacji takich jak: nazwisko pracownika, czas trwania delegacji, cel podróży, datę rozliczenia delegacji oraz zaliczki na wydatki (tylko jako zapis na liście bez generowania zapisu KW do raportu kasowego).

Rozliczyć można tylko delegacje o stanie Zaakceptowane wydatki.

Zatwierdzenie delegacji powoduje zablokowanie jej do edycji. Aktywna jest jedynie sekcja z podsumowaniem kosztów delegacji na etapach zagranicznych, gdzie można zmienić kurs po jakim będą księgowane koszty delegacji. Księgować można wyłącznie delegacje zatwierdzone.

Uwaga
W konfiguracji programu /Użytkowe /Operatorzy znajduje się parametr Akceptowanie poleceń wyjazdu i rozliczenia. Po jego zaznaczeniu operator będzie mógł zaznaczyć na formularzu delegacji opcje: Zaakceptowane polecenie wyjazdu,  Zaakceptowane wydatki Zatwierdzona.

Na formularzu delegacji widoczne są następujące kolumny: Data od, Data do, Kraj, Waluta (pokazująca walutę danego etapu, w przypadku delegacji krajowych jest to zawsze PLN) i Zaliczka. W kolumnach ukrytych jest dostępna również kolumna Status rozliczenia, w której wykazywane są statusy rozliczenia danego etapu delegacji: N – nie rozliczono, C – rozliczono częściowo, R – rozliczono całkowicie. Statusy rozliczenia są wyświetlane dla delegacji rozliczonych od wersji 2017.5.1 Comarch ERP Optima. Dla delegacji rozliczonych na wcześniejszych wersjach, wartość w tej kolumnie nie jest wyświetlana.

Zakładka zaliczki

Na elemencie delegacji, na zakładce [Zaliczki] widoczne są pola Kraj (z domyślną wartością: Polska) i Waluta (z domyślną wartością: PLN). Wartości w tych polach są wyszarzane i niemożliwe do zmiany.

Na delegacji o statusie Bufor, przy próbie dodania zaliczki z listy istniejących zapisów KW, pojawi się komunikat Operacja nie jest możliwa. Operacja będzie możliwa po zmianie stanu na 'Zaakceptowane polecenie wyjazdu’.

Zaakceptowanie polecenia wyjazdu, poprzez zaznaczenie tej opcji na formularzu delegacji, umożliwi wybór zaliczki z raportu lub dodanie jej poprzez wygenerowanie zapisu KW.

Po naciśnięciu na ikonę  można:

  • wybrać zaliczkę z istniejących już zapisów kasowych/bankowych – w tym celu należy nacisnąć na ikonę w kolumnie Numer dokumentu KW
  • lub utworzyć nową zaliczkę, poprzez wpisanie kwoty w kolumnie Kwota (na liście zapisów kasowych/bankowych zostanie wówczas automatycznie utworzony odpowiedni zapis)

Rys. 3. Formularz elementu delegacji – zakładka Zaliczki

W części Zapisy kasowe z rozliczenia delegacji dostępna jest ikona plusa  umożliwiająca użytkownikowi ręczne podpinanie zapisu kasowego/ bankowego do delegacji. Ikona jest aktywna dla delegacji o statusie Zaakceptowane wydatki i nierozliczonej lub rozliczonej częściowo. Dostępna jest również ikona kosza do usuwania zapisów z listy.

Zarówno w sekcji z zaliczkami, jak i z zapisami kasowymi z rozliczenia delegacji dostępna jest kolumna Kwota do rozliczenia, w której można wpisać kwotę jaka ma zostać rozliczona ze wskazanego dokumentu.

Zakładka Wydatki

Na zakładce [Wydatki] jest możliwość wskazania kosztów za noclegi, bilety i inne wydatki, wprowadzonych bezpośrednio w ewidencjach pomocniczych takich jak: rejestry VAT czy ewidencja dodatkowa

Dokumenty wprowadzone w module Faktury i przesłane do rejestru VAT nie mogą być podpinane.

Rys. 4. Formularz elementu delegacji – zakładka Wydatki

Uwaga
Przy zaznaczonych parametrach: Automatyczna generacja kasy dla ewidencji dodatkowej oraz Automatyczna generacja kasy dla rejestru VAT w Konfiguracji firmy /Kasa/Bank, przy dodawaniu z poziomu formularza delegacji dokumentów z formą płatności gotówka, nie zostanie automatycznie wygenerowany zapis kasowy rozliczający tą płatność.

W sytuacji, gdy dokument kosztowy powinien zostać podzielony np. pomiędzy dwie delegacje jest możliwość ograniczenia kwoty wydatku w kolumnie Kwota rozliczenia. Wpisana tu kwota zostanie automatycznie przeniesiona do podsumowania. Natomiast w przypadku ręcznej zmiany kwot w podsumowaniu, należy je również ręcznie przepisać do kolumny Kwota rozliczenia na liście dokumentów

Koszty jednego noclegu w podsumowaniu zostaną automatycznie ograniczone do wysokości limitu, tj. 600,00 zł. Takie automatyczne ograniczenie kwoty nastąpi wyłącznie w części z podsumowaniem, dlatego odpowiednią wartość należy także przepisać na listę dokumentów do kolumny Kwota rozliczenia.

Na podpiętej pozycji kosztu użytkownik ma dodatkowo do dyspozycji parametr Rozliczać zaliczką. Domyślnie parametr jest zaznaczony, co oznacza że w momencie rozliczenia delegacji nastąpi rozliczenie podpiętego dokumentu z podpiętą do delegacji zaliczką. Rozliczenie zostanie wykonane na kwotę wpisaną w kolumnie Kwota rozliczenia. Gdy parametr Rozliczać zaliczką zostanie odznaczony wówczas dokument kosztowy nie zostanie rozliczony z delegacją.

Nie ma możliwości podpięcia tego samego dokumentu do kilku sekcji. Przy próbie wskazania np. w sekcji z innymi wydatkami tego samego dokumentu, który jest już wskazany np. w sekcji z noclegami, pojawi się komunikat Dokument FZ/123//2018 został już dodany do listy Noclegi.

Zakładka Rozliczenie delegacji

Zakładka [Rozliczenie delegacji] składa się z kilku sekcji. U góry okna dostępne są pola Kraj (z domyślną wartością: Polska) i Waluta (z domyślną wartością: PLN). Wartości w tych polach są wyszarzane i niemożliwe do zmiany.

Następnie wprowadza się trasy, z określeniem dat i godzin odjazdu/przyjazdu.

Rys. 5. Formularz rozliczenia delegacji – zakładka Rozliczenie delegacji

Liczba godzin w delegacji jest wyliczana w oparciu o daty i godziny odjazdu/ przyjazdu uzupełnione w sekcji z trasami. Wartość można ręcznie zmienić.

W polu Stawka diety podstawiana jest domyślna wartość stawki diety z konfiguracji. Wartość podpowiadanej stawki diety można ręcznie zmienić.

W Konfiguracji Firmy/ Kasa/Bank/ Diety i ryczałty można określić czy delegacje mają być wyliczane w oparciu o ustawowe (pobierane z Konfiguracji Programu/ Kasa/Bank/ Diety i ryczałty) czy indywidualne (pobierane z Konfiguracji Firmy/ Kasa/Bank/ Diety i Ryczałty) stawki diet i ryczałtów.

Jeżeli w Konfiguracji Firmy/ Kasa/Bank/ Diety i Ryczałty jest zaznaczona opcja indywidualnie i na delegacji dodatkowo jeszcze ręcznie zmienimy stawkę diety na jakąś inną, to przy wprowadzaniu kolejnej delegacji dla tego samego pracownika, domyślnie podpowiadana jest stawka diety wpisana na poprzedniej delegacji.

Diety, ryczałty za dojazdy oraz ryczałty za noclegi są domyślnie wyliczane na podstawie daty rozpoczęcia i zakończenia delegacji, ale z możliwością zmiany. Domyślnie parametr Wyliczaj ryczałt nie jest zaznaczony, z możliwością ręcznego uzupełnienia ryczałtów za dojazdy i noclegi.

Po zaznaczeniu parametrów wartości są pobierane z Konfiguracji, a następnie automatycznie wyliczane na podstawie czasu trwania delegacji.

Po zmianie wysokości diet i ryczałtów w konfiguracji, wartości na wyliczonych już delegacjach nie są automatycznie zmieniane. Aby je zaktualizować należy edytować delegację i ponownie wpisać np. liczbę diet na Rozliczeniu delegacji.

Jeśli jest potrzeba zmodyfikowania zarówno ilości, jak i kwot należy odznaczyć parametr Wyliczaj ryczałt i ręcznie wprowadzić właściwe dane.

Wyliczona kwota diety jest automatycznie pomniejszana o koszt zapewnionego wyżywienia, przy czym każdy posiłek stanowi odpowiednio: śniadanie 25% diety, obiad 50% diety, kolacja 25% diety.

W przypadku, gdy pracownik będzie podróżował samochodem prywatnym, należy mu się zwrot kosztów przejazdu, na podstawie przejechanych kilometrów. Istnieje możliwość uzupełnienia tych informacji w sekcji Koszty używania pojazdu.

Zakładka Podsumowanie rozliczenia

Na zakładce [Podsumowanie rozliczenia] jest możliwość przypisania kategorii, domyślnie jest tu podpowiadana kategoria wybrana w nagłówku delegacji.

Poniżej znajduje się sekcja Podsumowanie rozliczenia z pracownikiem, a w niej wyliczone wartości ryczałtów, diet i innych wydatków, łączna suma wydatków, łączna wartość pobranych zaliczek oraz wyliczona kwota do wypłaty.

Rys. 6. Formularz elementu delegacji – zakładka Podsumowanie rozliczenia

Po zaznaczeniu parametru Generowanie płatności aktywne stają się pola do wyboru formy płatności i wskazania terminu płatności. Dostępny jest również parametr Generowanie zapisu k/b. Po jego zaznaczeniu aktywne staje się pole Rejestr, z możliwością wskazania rejestru, do którego zapis ma trafić. Domyślnie podpowiada się rejestr związany z formą płatności wybraną na delegacji, jeżeli zostanie wybrany jakiś inny rejestr to wybór zostaje zapamiętany. Zapamiętywana jest również ostatnio wybrana forma płatności oraz zaznaczenie/ odznaczenie parametru Generowanie zapisu k/b. Parametr Generowanie zapisu k/b jest zależny od parametru Generowanie płatności. Jeżeli użytkownik odznaczy parametr Generowanie płatności to Generowanie zapisu k/b również jest niemożliwe do zaznaczenia.

Dokładne działanie parametrów Generowanie płatności i Generowanie zapisu k/b zostało opisane w dalszej części biuletynu, w rozdziale Ogólne zasady rozliczania delegacji.

W polu Stan rozliczenia wykazywany jest stan rozliczenia delegacji: Nie rozliczono, Rozliczono częściowo lub Rozliczono. Stany rozliczenia są wyświetlane dla delegacji rozliczonych od wersji 2017.5.1 Comarch ERP Optima. Dla delegacji rozliczonych na wcześniejszych wersjach, wartość w tym polu nie jest wyświetlana.

Parametr Generowanie zapisu k/b można zaznaczyć/odznaczyć tylko na delegacjach nierozliczonych. Dla delegacji o stanie Rozliczono częściowo lub Rozliczono parametr jest wyszarzany.

Delegacje zagraniczne

Na formularzu delegacji dostępny jest parametr Delegacja zagraniczna. Jest on aktywny tylko na delegacjach, które nie mają jeszcze zdefiniowanego żadnego etapu. Jeżeli dodany jest już przynajmniej jeden etap, opcja Delegacja zagraniczna jest wyszarzana, bez możliwości zmiany. Po zaznaczeniu wspomnianego parametru na delegacji można dodawać zarówno etapy krajowe, jak i zagraniczne  :

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

Jeżeli parametr Delegacja zagraniczna nie jest zaznaczony, delegacja jest traktowana jako krajowa i nie można na niej dodać etapów zagranicznych.

Na formularzu delegacji jest również możliwość wpisania Miejsca docelowego, Celu delegacji oraz wyboru kategorii. Po wybraniu pracownika automatycznie podpowiadana jest kategoria z jego karty, z możliwością zmiany. Kategorie można również przypisać na każdym z elementów delegacji, na zakładce [Podsumowanie rozliczenia]. Po zaksięgowaniu delegacji do księgowości kontowej, kategoria wpisana w nagłówku delegacji jest przenoszona jako kategoria nagłówka i pozycji na powstały zapis księgowy.

Aby móc wprowadzić etapy delegacji najpierw należy wybrać pracownika, dla którego delegacja ma być wprowadzona.

Na formularzu delegacji dostępne są następujące kolumny: Data od, Data do (w których widoczne są: najwcześniejsza data odjazdu i najpóźniejsza data przyjazdu z listy tras, z zakładki [Rozliczenie delegacji]), Kraj (z nazwą kraju wybranego na etapie delegacji), Zaliczka (z sumą wszystkich zaliczek w walucie etapu), Waluta (z walutą danego etapu). W kolumnach ukrytych jest dostępna również kolumna Status rozliczenia, w której wykazywane są statusy rozliczenia danego etapu delegacji: N – nie rozliczono, C – rozliczono częściowo, R – rozliczono całkowicie. Statusy są wyświetlane dla delegacji rozliczonych od wersji 2017.5.1 Comarch ERP Optima. Dla delegacji rozliczonych na wcześniejszych wersjach wartość w tej kolumnie nie jest wyświetlana.

Lista etapów domyślnie sortowana jest wg daty w kolumnie Data od. Nie ma możliwości kopiowania etapów.

Po przejściu na listę rozliczeń podmiotu z poziomu etapu delegacji (ikona  Rozliczenia podmiotu w menu głównym), lista rozliczeń jest domyślnie wyfiltrowana do waluty zgodnej z walutą edytowanego etapu.

Etap krajowy

Etap krajowy na delegacji zagranicznej jest zbliżony do etapu na delegacji krajowej, który został dokładnie opisany w poprzednim rozdziale. Zakładki [Zaliczki], [Wydatki] i [Podsumowanie rozliczenia] są identyczne. Nieco inna jest natomiast zakładka [Rozliczenie delegacji].

Na zakładce [Rozliczenie delegacji] w tabelce z trasami dostępna jest dodatkowa kolumna Wyjazd, w której możemy wskazać czy dana trasa jest częścią wyjazdu (opcja zaznaczona) czy przyjazdu (opcja niezaznaczona).

Pole Liczba godzin w delegacji jest wyszarzane – liczba godzin jest wyliczana w oparciu o godziny odjazdu/ przyjazdu wprowadzone w tabelce z trasami (jest to suma godzin wyjazdów i godzin powrotów).

Obok pola z liczbą godzin w delegacji dostępny jest parametr Sumuj wyjazdy z powrotami, który ma wpływ na wyliczenie liczby diet i ryczałtów. W sytuacji gdy parametr ten jest zaznaczony, liczba diet jest wyliczana dla łącznej liczby godzin (tzn. dla sumy godzin wyjazdów i przyjazdów). W sytuacji, gdy parametr nie jest zaznaczony liczba diet jest wyliczana osobno dla wyjazdów i osobno dla przyjazdów.

Przykład

Na elemencie delegacji wprowadzone są 2 trasy:

  • pierwsza, trwająca 10 godzin, oznaczona jako Wyjazd
  • druga, trwająca 7 godzin, bez zaznaczonej opcji Wyjazd (czyli będąca przyjazdem)

W polu Liczba godzin w delegacji widoczne jest więc: 17 (10h+7h)

Jeżeli parametr Sumuj wyjazdy z powrotami będzie zaznaczony, to w Liczbie diet będzie widoczne: 1.

(Godziny wyjazdów i przyjazdów są sumowane, tj. 10h+7h=17h; a dla 17 godzin przysługuje 1 dieta.)

Jeżeli parametr Sumuj wyjazdy z powrotami nie będzie zaznaczony, to w Liczbie diet będzie widoczne: 0,5000.

(Jest 10 godzin wyjazdu, którym przysługuje 0,5 diety oraz 7 godzin przyjazdu, którym nie przysługuje dieta. Łącznie więc pracownikowi przysługuje 0,5 diety.)

Liczba diet wynikająca z liczby godzin w delegacji wyliczana jest tak samo, jak na delegacjach krajowych. Jeżeli delegacja trwała od 8 do 12 godzin wyliczana jest połowa diety, jeżeli trwała ponad 12 godzin wyliczana jest cała dieta. W przypadku rozpoczęcia każdej kolejnej doby delegacji: do 8 godzin to połowa diety, ponad 8 godzin to już cała dieta.

Etap zagraniczny

Na formularzu etapu zagranicznego również dostępne są cztery zakładki: [Zaliczki], [Wydatki], [Rozliczenie delegacji] i [Podsumowanie rozliczenia].

Zakładka Zaliczki

Na zakładce [Zaliczki] jest możliwość wybrania Kraju, związanego z danym elementem delegacji. Domyślnie podpowiadany jest Kraj, który był ostatnio wybierany dla danego pracownika. Po wyborze kraju automatycznie podpowiadana jest odpowiednia Waluta. Pola Kraj i Waluta są wyszarzane, jeżeli na elemencie delegacji jest już dodana przynajmniej jedna zaliczka lub dokument na zakładce Wydatki.

Rys.7. Etap zagraniczny delegacji, zakładka Zaliczki

Jeżeli na delegacji ciągle jest ustawiony status Bufor, przy próbie dodania zaliczki pojawi się komunikat Operacja nie jest możliwa. Operacja będzie możliwa po zmianie stanu na 'Zaakceptowane polecenie wyjazdu’.

Zaakceptowanie polecenia wyjazdu, poprzez zaznaczenie tej opcji na formularzu delegacji, umożliwi dodawanie zaliczek.

Po naciśnięciu na ikonę  można:

  • wybrać zaliczkę z istniejących już zapisów kasowych/bankowych – w tym celu należy nacisnąć na ikonę w kolumnie Numer dokumentu KW
  • lub utworzyć nową zaliczkę, poprzez wpisanie kwoty w kolumnie Kwota (na liście zapisów kasowych/bankowych zostanie wówczas automatycznie utworzony odpowiedni zapis)

Dodawać można zapisy wprowadzone w walucie zgodnej z walutą danego etapu delegacji.

Po zaznaczeniu parametru Wypłata zaliczki w PLN można również dodawać zaliczki wprowadzone z walutą dokumentu PLN i walutą rozliczenia zgodną z walutą danego etapu delegacji. Jeżeli dodana jest już przynajmniej jedna zaliczka parametr Wypłata zaliczki w PLN jest wyszarzany.

W kolumnie Kwota jest widoczna kwota zaliczki w walucie obcej (kwota jest przenoszona z zaliczki i nie można jej zmienić).

W kolumnie Kwota do rozliczenia można wskazać jaka część zaliczki ma być rozliczona w ramach danego etapu.

W kolumnie Kwota w PLN jest widoczna wartość zaliczki w przeliczeniu na PLN po kursie z dokumentu.

Analogiczne kolumny dostępne są w sekcji Zapisy kasowe z rozliczenia delegacji.

W części Zapisy kasowe z rozliczenia delegacji dostępna jest ikona plusa  umożliwiająca użytkownikowi ręczne podpinanie zapisu kasowego/ bankowego do delegacji. Ikona jest aktywna dla delegacji o statusie Zaakceptowane wydatki i nierozliczonej lub rozliczonej częściowo. Dostępna jest również ikona kosza do usuwania zapisów z listy. Przy dodawaniu zapisu na etapach częściowo rozliczonych kwota w kolumnie Kwota do rozliczenia domyślnie jest ograniczana do wartości pozostającej do rozliczenia.

Lista zaliczek może być modyfikowana tylko na delegacjach nierozliczonych.

Zakładka Wydatki

Na zakładce [Wydatki] jest możliwość wskazania kosztów za noclegi, bilety i innych wydatków wprowadzonych bezpośrednio w ewidencjach pomocniczych takich jak rejestry VAT czy ewidencja dodatkowa.

Rys. 8. Etap zagraniczny delegacji, zakładka Wydatki

W sytuacji, gdy dokument kosztowy powinien zostać podzielony np. pomiędzy dwie delegacje jest możliwość ograniczenia kwoty wydatku w kolumnie Kwota rozliczenia. Wpisana tu kwota zostanie automatycznie przeniesiona do podsumowania.

W kolumnie Kwota w PLN widoczna jest kwota dokumentu w przeliczeniu na złotówki (wartość jest przeliczona po kursie z dokumentu). W przypadku podpięcia dokumentu z Rejestru VAT z zaznaczoną opcją Inny kurs do księgowania, w kolumnie Kwota w PLN prezentowana jest wartość przeliczona po kursie do księgowania.

Na podpiętej pozycji kosztu użytkownik ma dodatkowo do dyspozycji parametr Rozliczać zaliczką. Domyślnie parametr jest zaznaczony, co oznacza że w momencie rozliczenia delegacji nastąpi rozliczenie podpiętego dokumentu z podpiętą do delegacji zaliczką. Rozliczenie zostanie wykonane na kwotę wpisaną w kolumnie Kwota rozliczenia. Gdy parametr Rozliczać zaliczką zostanie odznaczony wówczas dokument kosztowy nie zostanie rozliczony z delegacją.

W sekcji Podsumowanie widoczna jest informacja o ilości noclegów, biletów oraz innych wydatków. Wartość w polu Kwota noclegów jest automatycznie ograniczana do wysokości limitu przypisanego do danego kraju, wybranego na elemencie delegacji. Kwota limitu na nocleg pobierana jest z Konfiguracji Programu/ Kasa/Bank/ Diety i ryczałty (jeżeli w Konfiguracji Firmy/ Kasa/Bank/ Diety i Ryczałty jest zaznaczona opcja ustawowe) lub z Konfiguracji Firmy/ Kasa/Bank/ Diety i Ryczałty (jeżeli jest zaznaczona opcja indywidualne). Podpowiadaną kwotę można ręcznie zmienić.

Zakładka Rozliczenie delegacji

Na zakładce [Rozliczenie delegacji] jest możliwość wybrania Kraju, związanego z danym elementem delegacji. Po wyborze kraju automatycznie podpowiadana jest odpowiednia Waluta, w której wypłacane są diety w danym kraju. Wybór Kraju i Waluty na zakładce [Rozliczenie delegacji] powoduje ustawienie takiego samego Kraju i takiej samej Waluty na zakładce [Zaliczki].

Pola Kraj i Waluta są wyszarzane, jeżeli na elemencie delegacji jest już dodana przynajmniej jedna zaliczka lub dokument na zakładce Wydatki.

Rys. 9. Etap zagraniczny delegacji, zakładka Rozliczenie delegacji

W polu Data rozpoczęcia etapu domyślnie podstawiana jest data i godzina z pierwszego przejazdu, a w polu Data zakończenia etapu data i godzina z ostatniego przejazdu z tabelki z przejazdami. Pola te są aktywne/ możliwe do edycji.

Poniżej tabelki z przejazdami znajduje się sekcja Kalkulacja, a w niej m.in. informacje na temat liczby godzin w delegacji i wyliczonych kwot diet i ryczałtów.

Liczba godzin w delegacji wyliczana jest automatycznie w oparciu o wartości wpisane w polach Data rozpoczęcia etapu i Data zakończenia etapu. Pole to jest aktywne do edycji.

W polu Stawka diety dla kraju wybranego na elemencie delegacji domyślnie pobierana jest stawka diety z Konfiguracji Programu/ Kasa/Bank/ Diety i ryczałty (jeżeli w Konfiguracji Firmy/ Kasa/Bank/ Diety i Ryczałty jest zaznaczona opcja ustawowe) lub z Konfiguracji Firmy/ Kasa/Bank/ Diety i Ryczałty (jeżeli jest zaznaczona opcja indywidualne). Wartość podpowiadanej stawki diety można ręcznie zmienić.

Jeżeli w Konfiguracji Firmy/ Kasa/Bank/ Diety i Ryczałty jest zaznaczona opcja indywidualnie i na delegacji dodatkowo jeszcze ręcznie zmienimy stawkę diety na jakąś inną, to przy wprowadzaniu kolejnej delegacji dla tego samego pracownika i tego samego kraju, domyślnie podpowiadana jest stawka diety wpisana na poprzedniej delegacji.

Liczba diet wyliczana jest w oparciu o pole Liczba godzin w delegacji. Jeżeli delegacja trwała nie więcej niż 8 godzin, wyliczana jest 1/3 Diety. Jeżeli delegacja trwała więcej niż 8, ale nie więcej niż 12 godzin, to przysługuje 0,5 Diety. Jeżeli delegacja trwała ponad 12 godzin – przysługuje cała dieta. Dieta przysługująca za każdą kolejną dobę wyliczana jest w ten sam sposób. Wyliczoną liczbę diet można ręcznie zmienić.

Kwota diety wyliczana jest jako iloczyn liczby diet i stawki diety.

Wyliczona kwota diety jest automatycznie pomniejszana o koszt zapewnionego wyżywienia, przy czym każdy posiłek stanowi odpowiednio: śniadanie 15% diety, obiad 30% diety, kolacja 30% diety.

Parametr Wyliczaj ryczałt dla ryczałtów za dojazdy, noclegi, dojazdy z/do dworca, lotniska i za pobyt w szpitalu domyślnie nie jest zaznaczony. Po jego zaznaczeniu automatycznie wyliczana jest liczba i kwota ryczałtów. Stawka ryczałtu za dojazdy to 10% stawki diety dla danego kraju za każdą rozpoczętą dobę pobytu. Stawka ryczałtu za noclegi to 25% limitu noclegowego dla danego kraju (wartość jest pobierana z konfiguracji firny). Stawka ryczałtu za dojazdy z/do dworca, lotniska to 100% stawki diety dla danego kraju. Stawka za pobyt w szpitalu to 25% stawki diety. Po wpisaniu liczby dni pobytu w szpitalu, widoczna kwota przysługującej diety jest odpowiednio pomniejszana.

Po zaznaczeniu opcji Wyliczaj ryczałt dla ryczałtów za dojazdy/ za noclegi liczba ryczałtów wyliczana jest automatycznie, w oparciu o liczbę godzin w delegacji.

Po zaznaczeniu opcji Wyliczaj ryczałt dla ryczałtów za dojazdy z/do dworca, lotniska oraz za pobyt w szpitalu należy ręcznie uzupełnić liczbę ryczałtów.

W przypadku, gdy pracownik będzie podróżował samochodem prywatnym, wówczas należy mu się zwrot kosztów przejazdu, na podstawie przejechanych kilometrów. Istnieje możliwość uzupełnienia tych informacji w sekcji Koszty używania pojazdu. W tym miejscu wpisywana jest wartość w PLN.

Przykład

Pracownik poleciał w delegację z Krakowa do Monachium.

  • Samolot wystartował z Krakowa 05.06 o godzinie 10:00, w Monachium był o 11:15.
  • Samolot powrotny wystartował z Monachium 08.06 o godzinie 17:00, w Krakowie był o 18:15.
  • Pracownik miał zapewniony nocleg w hotelu, wraz z wyżywieniem (pierwszego dnia obiad i kolację, drugiego i trzeciego pełne wyżywienie, ostatniego dnia śniadanie i obiad).
  • Dla pracownika ma być również wyliczona kwota ryczałtów za dojazdy.

Etap zagraniczny delegacji trwał więc od godz. 10:00 05.06, do godz. 18:15 08.06, czyli 80 godzin i 15 minut, tj. 3 pełne doby, 8 godzin i 15 minut. Za taką liczbę godzin przysługuje 3,5 diety.

Pracownik miał zapewnione wyżywienie (3x śniadanie, 4x obiad, 3x kolacja) co spowoduje pomniejszenie przysługującej diety odpowiednio o 3*0,15 (za śniadania), 4*0,30 (za obiady) i 3*0,30 (za kolacje).

Zamiast 3,5 diety pracownikowi przysługuje więc pomniejszona liczba diet: 3,5 – (3×0,15 + 4×0,30 + 3×0,30), tj. ostatecznie 0,95 diety.

Stawka diety dla Niemiec to 49 Euro, wobec tego wyliczona kwota diety przysługującej pracownikowi to 46,55 Euro (0,95*49 Euro).

Po zaznaczeniu parametru Wyliczaj ryczałt przy Ryczałcie za dojazdy automatycznie zostanie wyliczona liczba 4 ryczałtów o wartości 19,60 Euro. (Ryczałt za dojazdy to 10% stawki diety dla danego kraju za każdą rozpoczętą dobę pobytu – tak więc program automatycznie wylicza 10% x 4 rozpoczęte doby x 49 Euro stawki diety, co daje 19,60 Euro.)

Dla delegacji rozliczonych wszystkie pola na zakładce [Rozliczenie delegacji] (z wyjątkiem pola Uwagi) są nieaktywne.

Zakładka Podsumowanie rozliczenia

Na zakładce [Podsumowanie rozliczenia] jest możliwość przypisania kategorii, domyślnie jest tu podpowiadana kategoria wybrana w nagłówku delegacji.

Rys. 10. Etap zagraniczny delegacji, zakładka Podsumowanie rozliczenia

Poniżej znajdują się dwie sekcje: Podsumowanie rozliczenia z pracownikiem i Podsumowanie kosztów delegacji.

W sekcji Podsumowanie rozliczenia z pracownikiem, w polu Kurs do rozliczenia z pracownikiem są do wyboru cztery możliwe opcje:

  • Data zaliczki
  • Data rozliczenia delegacji
  • Data zakończenia delegacji
  • Inna

Po wyborze daty odpowiednio ustawiana jest data kursu oraz sam kurs, wg którego będzie następowało przeliczenie kwot diet i ryczałtów na walutę PLN przy rozliczeniu z pracownikiem. Dla opcji Inna w polu data kursu ustawiana jest data bieżąca.

Domyślne ustawienie daty w polu Kurs do rozliczenia z pracownikiem zależy od tego, czy na delegacji są podpięte zaliczki oraz czy zaznaczona jest opcja wypłaty zaliczki/ rozliczania w PLN:

  • jeżeli na delegacji nie ma podpiętych zaliczek, to domyślnie ustawiana jest data rozliczenia delegacji, a w polu Data kursu: dzień poprzedni w stosunku do Daty rozliczenia
  • jeżeli na delegacji są zaliczki, ale parametry Wypłata zaliczki w PLN i Rozliczaj w PLN nie są zaznaczone, to domyślnie ustawiana jest Data zaliczki, a w polu Data kursu: data kursu z najwcześniejszej zaliczki
  • jeżeli na delegacji są zaliczki oraz parametry Wypłata zaliczki w PLN i/lub Rozliczaj w PLN są zaznaczone, to domyślnie ustawiana jest Data zaliczki, a w polu Data kursu: data dokumentu z najwcześniejszej zaliczki

Jako typ kursu ustawiany jest ten sam typ kursu, jaki jest wybrany na najwcześniejszej zaliczce. Wyjątkiem jest sytuacja, gdy na zaliczce jest ustawiony kurs Nieokreślony, wówczas jako typ kursu ustawiany jest Średni NBP.

W polu Waluta widoczna jest waluta danego etapu (ta sama, która jest widoczna na zakładkach [Zaliczki] [Rozliczenie delegacji]).

Parametr Rozliczaj w PLN domyślnie nie jest zaznaczony. Jego zaznaczenie oznacza, że pomimo tego iż zaliczka była wypłacona w walucie obcej to rozliczenie będzie następowało w PLN. Płatność na kwotę diet i ryczałtów wygenerowana podczas rozliczania delegacji będzie miała walutę dokumentu i walutę rozliczenia zgodną z walutą etapu, natomiast wygenerowany zapis kasowy/bankowy będzie miał walutę dokumentu PLN, a walutę rozliczenia jako walutę obcą.

W polu Ryczałt za dojazdy widoczna jest suma Ryczałtu za dojazdy oraz Ryczałtu za dojazdy z/do dworca, lotniska z zakładki [Rozliczenie delegacji].

W polu Diety widoczna jest suma kwoty Diet i za Pobyt w szpitalu z zakładki [Rozliczenie delegacji].

W polu Inne wydatki widoczna jest suma wydatków z zakładki [Wydatki] oraz kosztów używania pojazdów. Jest to wartość w walucie etapu. Kwota kosztów używania pojazdów (która na zakładce [Rozliczenie delegacji] jest podawana w PLN) jest najpierw dzielona przez kurs podany na zakładce [Podsumowanie rozliczenia] i dopiero taka wartość walutowa jest sumowana do pola Inne wydatki.

Wartości widoczne w polach Ryczałt za dojazdy, Ryczałt za noclegi, Diety, Inne wydatki, Suma wydatków, Pobrana zaliczka i Do wypłaty wykazywane są w walucie etapu. W polu Do wypłaty w PLN widoczna jest kwota do wypłaty przeliczona po kursie wskazanym w polu Kurs do rozliczenia z pracownikiem.

Po zaznaczeniu parametru Generowanie płatności aktywne stają się pola do wyboru formy płatności i wskazania terminu płatności. Dostępny jest również parametr Generowanie zapisu k/b. Po jego zaznaczeniu aktywne staje się pole Rejestr, z możliwością wskazania rejestru, do którego zapis ma trafić (wyświetlana jest lista wszystkich rejestrów kasowych/bankowych, złotówkowych i walutowych, do których dany operator nie ma zakazu). Domyślnie podpowiada się rejestr związany z formą płatności wybraną na delegacji, jeżeli zostanie wybrany jakiś inny rejestr to wybór zostaje zapamiętany. Zapamiętywana jest również ostatnio wybrana forma płatności oraz zaznaczenie/ odznaczenie parametru Generowanie zapisu k/b. Parametr Generowanie zapisu k/b jest zależny od parametru Generowanie płatności. Jeżeli użytkownik odznaczy parametr Generowanie płatności to Generowanie zapisu k/b również jest niemożliwe do zaznaczenia.

Dokładne działanie parametrów Generowanie płatności i Generowanie zapisu k/b zostało opisane w dalszej części biuletynu, w rozdziale Ogólne zasady rozliczania delegacji.

W polu Stan rozliczenia wykazywany jest stan rozliczenia delegacji: Nie rozliczono, Rozliczono częściowo lub Rozliczono. Stany rozliczenia są wyświetlane dla delegacji rozliczonych od wersji 2017.5.1 Comarch ERP Optima. Dla delegacji rozliczonych na wcześniejszych wersjach Stan rozliczenia nie jest widoczny

Parametr Generowanie zapisu k/b można zaznaczyć/odznaczyć tylko na delegacjach nierozliczonych. Dla delegacji o stanie Rozliczono częściowo lub Rozliczono parametr jest wyszarzany.

W sekcji Podsumowanie kosztów delegacji, w polu Data poniesienia kosztu są do wyboru trzy możliwe opcje:

  • Data rozliczenia delegacji
  • Data zakończenia delegacji
  • Inna

Po wyborze daty odpowiednio ustawiana jest data kursu oraz sam kurs, wg którego będzie następowało przeliczenie kwot diet i ryczałtów na walutę PLN przy księgowaniu delegacji. Domyślnie ustawiana jest zawsze opcja Data rozliczenia delegacji, a w dacie kursu dzień poprzedni w stosunku do daty rozliczenia delegacji. W momencie wyboru opcji Data zakończenia delegacji, w dacie kursu ustawiany jest dzień poprzedni w stosunku do daty zakończenia delegacji. Dla opcji Inna w polu data kursu ustawiana jest data bieżąca.

Domyślne ustawione daty można ręcznie zmienić.

Jako data poniesienia kosztu najczęściej stosowana jest data rozliczenia lub data zakończenia delegacji.

W polu Różnica kursowa wykazywana jest różnica kursowa wynikająca z tego, że dla wyliczenia kwoty księgowanej w koszty stosuje się inne przepisy niż do księgowania rozliczenia z pracownikiem. Różnica kursowa wyliczana jest jako łączna kwota diet i ryczałtów pomnożona przez różnicę między kursem poniesienia kosztu a kursem rozliczenia z pracownikiem. Ta różnica kursowa nie jest nigdzie dodatkowo zapisywana w programie, służy jedynie do księgowania kosztów delegacji.

Jeżeli na delegacji są już wprowadzone etapy zagraniczne i w nagłówku delegacji zostanie zmieniona data zakończenia/ rozliczenia delegacji, to odpowiednie daty zostaną zaktualizowane również na etapie delegacji.

Rozliczenie delegacji

Ogólne zasady rozliczania delegacji

Rozliczenie delegacji wykonywane jest z listy delegacji, ikoną  .

Rozliczać można tylko delegacje z zaznaczoną opcją Zaakceptowane wydatki.

Jeżeli parametr Generowanie zapisu k/b, na elemencie delegacji na zakładce [Podsumowanie rozliczenia], zostanie zaznaczony, to podczas rozliczania delegacji zostanie wygenerowany zapis KP/KW na kwotę pozostającą do rozliczenia i delegacja zostanie całkowicie rozliczona.

Jeżeli parametr Generowanie płatności zostanie odznaczony, to podczas rozliczania delegacji ikoną pioruna program nie wygeneruje żadnego zdarzenia do preliminarza. Zostanie jedynie rozliczona zaliczka pobrana przez pracownika z dokumentami podpiętymi na zakładce [Wydatki], tymi które mają zaznaczony parametr Rozliczać zaliczką.

Jeżeli parametr Generowanie płatności będzie zaznaczony, a Generowanie zapisu k/b będzie odznaczony, to rozliczenie delegacji spowoduje wygenerowanie do Preliminarza płatności zdarzenia na łączną kwotę: diet, ryczałtów za noclegi, ryczałtów za dojazdy oraz kosztów używania samochodu. Zdarzenie będzie generowane w rejestrze kasowym/bankowym związanym z formą płatności wybraną na formularzu delegacji. Zdarzenie to od razu zostanie rozliczone z pobraną zaliczką oraz z dokumentami wskazanymi na zakładce Wydatki, które mają zaznaczony parametr Rozliczać zaliczką. Nie zostanie jednak wygenerowany żaden dodatkowy zapis KP/KW, który powodowałby całkowite rozliczenie delegacji. Pozwoli to na obsłużenie sytuacji kiedy wypłaty z rozliczenia delegacji są dokonywane za pomocą przelewów, a zapisy bankowe są importowane z plików generowanych z systemów bankowych. W takiej sytuacji, w celu całkowitego rozliczenia delegacji, taki zapis bankowy należy wskazać na zakładce [Zaliczki] w części Zapisy kasowe z rozliczenia delegacji. Wówczas, w momencie rozliczania delegacji, zostanie on odpowiednio rozliczony.

Przy rozliczaniu delegacji, w logu z przebiegu rozliczania, wyświetlany jest numer delegacji i kwota do wypłaty, a w kolejnej linii kwota faktycznie rozliczona, przykładowo:

W logu z przebiegu rozliczania informacje dla każdego etapu delegacji wyświetlane są osobno. Kwoty wyświetlane są w walucie etapu.

Z poziomu listy delegacji, ikoną  , jest możliwość usunięcia rozliczenia delegacji wraz ze wszystkimi zainicjalizowanymi zdarzeniami i zapisami kasowymi/bankowymi, pod warunkiem że raport kasowy/bankowy, w którym znajduje się automatycznie wygenerowany z delegacji zapis kasowy nie został zamknięty. W przypadku zamkniętego raportu tylko rozliczenia zostaną usunięte, a pozostaną: wygenerowane z delegacji zdarzenie w preliminarzu oraz automatyczny zapis kasowy. W celu ich usunięcia należy otworzyć raport, w którym znajduje się wygenerowany z delegacji zapis kasowy/bankowy – usunąć go, następnie ponowić usuwanie rozliczenia delegacji.

Uwaga
Dla delegacji rozliczonych na wersjach wcześniejszych niż 2017.5.1 Comarch ERP Optima mogą wystąpić trudności z usunięciem rozliczenia delegacji ikoną  . Rozliczenia takich delegacji należy usunąć z poziomu modułu Kasa/Bank.

Rozliczenie etapów zagranicznych

Ogólne zasady rozliczania w przypadku etapów zagranicznych:

  • jeżeli została pobrana zaliczka w walucie obcej, to rozliczenie następuje w tej samej walucie obcej, chyba że zaznaczony zostanie parametr Rozliczaj w PLN wtedy rozliczenie następuje w PLN
  • jeżeli została pobrana zaliczka w PLN, to rozliczenie danego etapu będzie następowało w PLN lub w walucie etapu
  • jeżeli nie została pobrana zaliczka, to rozliczenie następuje w walucie etapu, chyba że zaznaczony zostanie parametr Rozliczaj w PLN wtedy rozliczenie następuje w PLN.
  • do każdego etapu delegacji generowana jest oddzielna płatność w Preliminarzu płatności oraz oddzielny zapis kasowy/bankowy

Uwaga
Dokumenty z rejestru VAT/ ewidencji dodatkowej, podpięte pod delegację, rozliczane są po kursach wprowadzonych na tych dokumentach.

Przykład 1: Zaliczka pobrana w walucie obcej i rozliczenie również w walucie obcej

W sytuacji, gdy została pobrana zaliczka w walucie obcej i rozliczenie/zwrot do kasy również następuje w walucie obcej, to na zakładce [Podsumowanie rozliczenia], w sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawiana jest opcja Data zaliczki, jako data kursu podstawi się data kursu z najstarszej zaliczki, a jako notowanie podpowie się kurs z najstarszej zaliczki.

Zarówno płatność w preliminarzu na kwotę diet i ryczałtów, jak i zapis kasowy/bankowy na kwotę wypłaty pracownikowi/ zwrotu do kasy zostaną wygenerowane z kursem z najstarszej zaliczki (czyli kursem z dnia poprzedniego w stosunku do daty zaliczki). Jeżeli Użytkownik, na zakładce [Podsumowanie rozliczenia], zmieni domyślny Kurs do rozliczenia z pracownikiem, to ten kurs zostanie przeniesiony zarówno na płatność, jak i na zapis kasowy/bankowy.

Zarówno płatność w preliminarzu, jak i zapis kasowy/bankowy zostaną wygenerowane na datę zgodną z datą rozliczenia delegacji.

W tym przypadku, w związku z tym że kurs do rozliczenia z pracownikiem (czyli kurs z najstarszej zaliczki) jest inny niż kurs do księgowania (czyli kurs z dnia poprzedzającego dzień rozliczenia), wyliczona zostanie różnica kursowa delegacyjna.

Przykład

Pracownikowi została wypłacona zaliczka w walucie obcej, rozliczenie delegacji następuje również w walucie obcej:

  • 09.05.2017 wypłacono zaliczkę w kwocie 1000 Euro (średni kurs NBP z dnia 08.05.2017 to 4,2059)
  • 19.05.2017 pracownik rozliczył się z kosztów delegacji, łączna kwota diet i ryczałtów wyniosła 600 Euro (średni kurs NBP z dnia 18.05.2017 to 4,2200)

 

Rozliczenie delegacji:

Na etapie delegacji, na zakładce [Podsumowanie rozliczenia], w sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawi się opcja Data zaliczki, a jako data kursu kurs z najstarszej zaliczki, czyli 08.05.2017 (średni kurs NBP wynoszący 4,2059).

Na delegacji jest zaznaczone zarówno Generowanie płatności, jak i Generowanie zapisu k/b.

W momencie rozliczenia delegacji powstaną następujące dokumenty:

  • w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów, tj. 600 Euro, po kursie z dnia 08.05.2017 (czyli 4,2059)
  • w zapisach kasowych/bankowych zapis przychodowy (pracownik musi dokonać zwrotu nadpłaconej zaliczki), z datą 19.05.2017, na kwotę 400 Euro, po kursie z dnia 08.05.2017 (czyli 4,2059)

Wszystkie trzy dokumenty (tj. wypłacona pracownikowi zaliczka, powstała płatność w preliminarzu oraz powstały zapis kasowy/bankowy) zostaną ze sobą rozliczone. Wszystkie dokumenty są wprowadzone po tym samym kursie, więc nie powstaną żadne różnice kursowe z rozliczeń.

 

Koszty delegacji:

Na etapie delegacji, na zakładce [Podsumowanie rozliczenia], w sekcji Data poniesienia kosztu domyślnie ustawi się Data rozliczenia delegacji, a jako data kursu kurs z dnia poprzedzajacego dzień rozliczenia, czyli 18.05.2017 (średni kurs NBP wynoszący 4,2200).

W związku z tym, że kurs do rozliczenia z pracownikiem jest inny niż kurs poniesienia kosztu, automatycznie zostanie wyliczona Różnica kursowa delegacyjna, którą następnie można zaksięgować. Różnica kursowa zostanie wyliczona na kwotę 8,46 (tj. 600*(4,2200-4,2059)).

Przykład 2: Zaliczka pobrana w walucie obcej, a rozliczenie następuje w PLN

W sytuacji, gdy została pobrana zaliczka w walucie obcej, a rozliczenie/zwrot do kasy następuje w PLN, to na zakładce [Podsumowanie rozliczenia] należy zaznaczyć parametr Rozliczaj w PLN. W sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawiana jest opcja Data zaliczki, a jako data kursu podpowie się data najstarszej zaliczki.

Zarówno płatność w preliminarzu na kwotę diet i ryczałtów, jak i zapis kasowy/bankowy na kwotę wypłaty pracownikowi/ zwrotu do kasy zostaną wygenerowane z kursem z dnia wypłaty zaliczki. Jeżeli Użytkownik, na zakładce [Podsumowanie rozliczenia], zmieni domyślny Kurs do rozliczenia z pracownikiem, to ten kurs zostanie przeniesiony zarówno na płatność, jak i na zapis kasowy/bankowy.

Zarówno płatność w preliminarzu, jak i zapis kasowy/bankowy zostaną wygenerowane na datę zgodną z datą rozliczenia delegacji.

Płatność zostanie wygenerowana w walucie etapu, natomiast na zapisie kasowym/bankowym walutą dokumentu będzie PLN, a walutą rozliczenia waluta etapu.

W tym przypadku, w związku z tym że kurs do rozliczenia z pracownikiem (czyli kurs z dnia zaliczki) jest inny niż kurs do księgowania (czyli kurs z dnia poprzedzającego dzień rozliczenia), wyliczona zostanie różnica kursowa delegacyjna.

Przykład

Pracownikowi została wypłacona zaliczka w walucie obcej, ale rozliczenie delegacji następuje w PLN:

  • 09.05.2017 wypłacono zaliczkę w kwocie 1000 Euro (średni kurs NBP z dnia 08.05.2017 to 4,2059)
  • 19.05.2017 pracownik rozliczył się z kosztów delegacji, łączna kwota diet i ryczałtów wyniosła 1300 Euro (średni kurs NBP z dnia 18.05.2017 to 4,2200)

 

Rozliczenie delegacji:

Na etapie delegacji, na zakładce [Podsumowanie rozliczenia] należy zaznaczyć parametr Rozliczaj w PLN.

W sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawi się opcja Data zaliczki, a jako data kursu data najstarszej zaliczki, czyli 09.05.2017 (średni kurs NBP wynoszący 4,2253).

Na delegacji jest zaznaczone zarówno Generowanie płatności, jak i Generowanie zapisu k/b.

W momencie rozliczenia delegacji powstaną następujące dokumenty:

  • w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów, tj. 1300 Euro, po kursie z dnia 09.05.2017 (czyli 4,2253)
  • w zapisach kasowych/bankowych zapis rozchodowy (zaliczki nie wystarczyło na pokrycie wszystkich kosztów, pozostałą kwotę należy więc wypłacić pracownikowi), z datą 19.05.2017, na kwotę 300 Euro, po kursie z dnia 09.05.2017 (czyli 4,2253), co daje 1267,59PLN. Na zapisie ustawiona jest waluta dokumentu PLN i waluta rozliczenia EUR.

Wszystkie trzy dokumenty (tj. wypłacona pracownikowi zaliczka, powstała płatność w preliminarzu oraz powstały zapis kasowy/bankowy) zostaną ze sobą rozliczone.

W zwiazku z tym, że na wypłaconej zaliczce był inny kurs niż na powstałej płatności w Preliminarzu, automatycznie została wygenerowane różnica kursowa z rozliczenia, dostępna na liście różnic kursowych.

 

Koszty delegacji:

Na etapie delegacji, na zakładce [Podsumowanie rozliczenia], w sekcji Data poniesienia kosztu domyślnie ustawi się Data rozliczenia delegacji, a jako data kursu kurs z dnia poprzedzajacego dzień rozliczenia, czyli 18.05.2017 (średni kurs NBP wynoszący 4,2200).

W związku z tym, że kurs do rozliczenia z pracownikiem jest inny niż kurs poniesienia kosztu, automatycznie zostanie wyliczona Różnica kursowa delegacyjna, którą następnie można zaksięgować. Różnica kursowa zostanie wyliczona na kwotę -6,89 (tj. 1300*(4,2200-4,2253)).

Przykład 3: Zaliczka pobrana w PLN i rozliczenie również następuje w PLN

W sytuacji, gdy została pobrana zaliczka w PLN i rozliczenie/zwrot do kasy również następuje w PLN, to na zakładce [Zaliczki] należy zaznaczyć parametr Wypłata zaliczki w PLN, a na zakładce [Podsumowanie rozliczenia] parametr Rozliczaj w PLN. W sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawiana jest opcja Data zaliczki, a jako data kursu podpowie się data najstarszej zaliczki.

Zarówno płatność w preliminarzu na kwotę diet i ryczałtów, jak i zapis kasowy/bankowy na kwotę wypłaty pracownikowi/ zwrotu do kasy zostaną wygenerowane z kursem z dnia zaliczki. Jeżeli Użytkownik, na zakładce [Podsumowanie rozliczenia], zmieni domyślny Kurs do rozliczenia z pracownikiem, to ten kurs zostanie przeniesiony zarówno na płatność, jak i na zapis kasowy/bankowy.

Zarówno płatność w preliminarzu, jak i zapis kasowy/bankowy zostaną wygenerowane na datę zgodną z datą rozliczenia delegacji.

Płatność zostanie wygenerowana w walucie etapu, natomiast na zapisie kasowym/bankowym walutą dokumentu będzie PLN, a walutą rozliczenia waluta etapu.

W tym przypadku, w związku z tym że kurs do rozliczenia z pracownikiem (czyli kurs z dnia zaliczki) jest inny niż kurs do księgowania (czyli kurs z dnia poprzedzającego dzień rozliczenia), wyliczona zostanie różnica kursowa delegacyjna.

Przykład

Pracownikowi została wypłacona zaliczka w PLN i rozliczenie delegacji również następuje w PLN:

  • 09.05.2017 wypłacono zaliczkę w kwocie 4225,30 PLN (tj. równowartość 1000 Euro)Na zaliczce ustawiona jest waluta dokumentu PLN i waluta rozliczenia EUR (średni kurs NBP z dnia 09.05.2017 to 4,2253)
  • 19.05.2017 pracownik rozliczył się z kosztów delegacji, łączna kwota diet i ryczałtów wyniosła 1300 Euro (średni kurs NBP z dnia 18.05.2017 to 4,2200)

 

Rozliczenie delegacji:

Na etapie delegacji, na zakładce [Podsumowanie rozliczenia] należy zaznaczyć parametr Rozliczaj w PLN.

W sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawi się opcja Data zaliczki, a jako data kursu data najstarszej zaliczki, czyli 09.05.2017 (średni kurs NBP wynoszący 4,2253).

Na delegacji jest zaznaczone zarówno Generowanie płatności, jak i Generowanie zapisu k/b.

W momencie rozliczenia delegacji powstaną następujące dokumenty:

  • w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów, tj. 1300 Euro, po kursie z dnia 09.05.2017 (czyli 4,2253)
  • w zapisach kasowych/bankowych zapis rozchodowy (zaliczki nie wystarczyło na pokrycie wszystkich kosztów, pozostałą kwotę należy więc wypłacić pracownikowi), z datą 19.05.2017, na kwotę 300 Euro, po kursie z dnia 09.05.2017 (czyli 4,2253), co daje 1267,59PLN. Na zapisie ustawiona jest waluta dokumentu PLN i waluta rozliczenia EUR.

Wszystkie trzy dokumenty (tj. wypłacona pracownikowi zaliczka, powstała płatność w preliminarzu oraz powstały zapis kasowy/bankowy) zostaną ze sobą rozliczone.

Wszystkie dokumenty są wprowadzone po tym samym kursie, więc nie powstaną żadne różnice kursowe z rozliczeń.

 

Koszty delegacji:

Na etapie delegacji, na zakładce [Podsumowanie rozliczenia], w sekcji Data poniesienia kosztu domyślnie ustawi się Data rozliczenia delegacji, a jako data kursu kurs z dnia poprzedzajacego dzień rozliczenia, czyli 18.05.2017 (średni kurs NBP wynoszący 4,2200).

W związku z tym, że kurs do rozliczenia z pracownikiem jest inny niż kurs poniesienia kosztu, automatycznie zostanie wyliczona Różnica kursowa delegacyjna, którą następnie można zaksięgować. Różnica kursowa zostanie wyliczona na kwotę -6,89 (tj. 1300*(4,2200-4,2253)).

Przykład 4: Zaliczka pobrana w PLN, a rozliczenie następuje w walucie obcej

W sytuacji, gdy została pobrana zaliczka w PLN, a rozliczenie/zwrot do kasy następuje w walucie obcej, to na zakładce [Zaliczki] należy zaznaczyć parametr Wypłata zaliczki w PLN. Na zakładce [Podsumowanie rozliczenia], w sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawiana jest opcja Data zaliczki, a jako data kursu podpowie się data najstarszej zaliczki.

Zarówno płatność w preliminarzu na kwotę diet i ryczałtów, jak i zapis kasowy/bankowy na kwotę wypłaty pracownikowi/ zwrotu do kasy zostaną wygenerowane z kursem z dnia zaliczki. Jeżeli Użytkownik, na zakładce [Podsumowanie rozliczenia], zmieni domyślny Kurs do rozliczenia z pracownikiem, to ten kurs zostanie przeniesiony zarówno na płatność, jak i na zapis kasowy/bankowy.

Zarówno płatność w preliminarzu, jak i zapis kasowy/bankowy zostaną wygenerowane na datę zgodną z datą rozliczenia delegacji i w walucie etapu.

W tym przypadku, w związku z tym że kurs do rozliczenia z pracownikiem (czyli kurs z dnia zaliczki) jest inny niż kurs do księgowania (czyli kurs z dnia poprzedzającego dzień rozliczenia), wyliczona zostanie różnica kursowa delegacyjna.

Przykład

Pracownikowi została wypłacona zaliczka w PLN, a rozliczenie następuje w walucie obcej:

  • 09.05.2017 wypłacono zaliczkę w kwocie 4225,30 PLN (tj. równowartość 1000 Euro)Na zaliczce ustawiona jest waluta dokumentu PLN i waluta rozliczenia EUR (średni kurs NBP z dnia 09.05.2017 to 4,2253)
  • 19.05.2017 pracownik rozliczył się z kosztów delegacji, łączna kwota diet i ryczałtów wyniosła 600 Euro (średni kurs NBP z dnia 18.05.2017 to 4,2200)

 

Rozliczenie delegacji:

Na etapie delegacji, na zakładce [Podsumowanie rozliczenia], w sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawi się opcja Data zaliczki, a jako data kursu data najstarszej zaliczki, czyli 09.05.2017 (średni kurs NBP wynoszący 4,2253).

Na delegacji jest zaznaczone zarówno Generowanie płatności, jak i Generowanie zapisu k/b.

W momencie rozliczenia delegacji powstaną następujące dokumenty:

  • w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów, tj. 600 Euro, po kursie z dnia 09.05.2017 (czyli 4,2253)
  • w zapisach kasowych/bankowych zapis przychodowy (pracownik musi dokonać zwrotu nadpłaconej zaliczki), z datą 19.05.2017, na kwotę 400 Euro, po kursie z dnia 09.05.2017 (czyli 4,2253)

Wszystkie trzy dokumenty (tj. wypłacona pracownikowi zaliczka, powstała płatność w preliminarzu oraz powstały zapis kasowy/bankowy) zostaną ze sobą rozliczone.

Wszystkie dokumenty są wprowadzone po tym samym kursie, więc nie powstaną żadne różnice kursowe z rozliczeń.

 

Koszty delegacji:

Na etapie delegacji, na zakładce [Podsumowanie rozliczenia], w sekcji Data poniesienia kosztu domyślnie ustawi się Data rozliczenia delegacji, a jako data kursu kurs z dnia poprzedzajacego dzień rozliczenia, czyli 18.05.2017 (średni kurs NBP wynoszący 4,2200).

W związku z tym, że kurs do rozliczenia z pracownikiem jest inny niż kurs poniesienia kosztu, automatycznie zostanie wyliczona Różnica kursowa delegacyjna, którą następnie można zaksięgować. Różnica kursowa zostanie wyliczona na kwotę -3,18 (tj. 600*(4,2200-4,2253)).

Przykład 5: Zaliczka nie została pobrana, a rozliczenie następuje w walucie obcej

W sytuacji, gdy zaliczka nie została pobrana, a rozliczenie/zwrot do kasy następuje w walucie obcej, to na zakładce [Podsumowanie rozliczenia], w sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawiana jest opcja Data rozliczenia, a jako data kursu podpowie się dzień wcześniejszy w stosunku do daty rozliczenia.

Zarówno płatność w preliminarzu na kwotę diet i ryczałtów, jak i zapis kasowy/bankowy na kwotę wypłaty pracownikowi/ zwrotu do kasy zostaną wygenerowane z kursem z dnia poprzedniego w stosunku do daty rozliczenia delegacji. Jeżeli Użytkownik, na zakładce [Podsumowanie rozliczenia], zmieni domyślny Kurs do rozliczenia z pracownikiem, to ten kurs zostanie przeniesiony zarówno na płatność, jak i na zapis kasowy/bankowy.

Zarówno płatność w preliminarzu, jak i zapis kasowy/bankowy zostaną wygenerowane na datę zgodną z datą rozliczenia delegacji.

W tym przypadku, w związku z tym że kurs do rozliczenia z pracownikiem jest taki sam, jak kurs do księgowania (czyli kurs z dnia poprzedzającego dzień rozliczenia), nie powstanie różnica kursowa delegacyjna.

Przykład

Pracownikowi nie została wypłacona zaliczka, a rozliczenie następuje w walucie obcej:

  • 19.05.2017 pracownik rozliczył się z kosztów delegacji, łączna kwota diet i ryczałtów wyniosła 600 Euro (średni kurs NBP z dnia 18.05.2017 to 4,2200)

 

Rozliczenie delegacji:

Na etapie delegacji, na zakładce [Podsumowanie rozliczenia], w sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawi się opcja Data rozliczenia delegacji, a jako data kursu dzień wcześniejszy w stosunku do daty rozliczenia, czyli 18.05.2017 (średni kurs NBP wynoszący 4,2200).

Na delegacji jest zaznaczone zarówno Generowanie płatności, jak i Generowanie zapisu k/b.

W momencie rozliczenia delegacji powstaną następujące dokumenty:

  • w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów, tj. 600 Euro, po kursie z dnia 18.05.2017 (czyli 4,2200)
  • w zapisach kasowych/bankowych zapis rozchodowy (należy wypłacić kwotę pracownikowi), z datą 19.05.2017, na kwotę 600 Euro, po kursie z dnia 18.05.2017 (czyli 4,2200)

Oba dokumenty (tj. powstała płatność w preliminarzu oraz powstały zapis kasowy/bankowy) zostaną ze sobą rozliczone.

Dokumenty są wprowadzone po tym samym kursie, więc nie powstaną żadne różnice kursowe z rozliczeń.

 

Koszty delegacji:

Na etapie delegacji, na zakładce [Podsumowanie rozliczenia], w sekcji Data poniesienia kosztu domyślnie ustawi się Data rozliczenia delegacji, a jako data kursu kurs z dnia poprzedzajacego dzień rozliczenia, czyli 18.05.2017 (średni kurs NBP wynoszący 4,2200).

W związku z tym,że kurs do rozliczenia z pracownikiem jest taki sam, jak kurs do księgowania (czyli kurs z dnia poprzedzającego dzień rozliczenia), nie powstanie różnica kursowa delegacyjna.

Przykład 6: Zaliczka nie została pobrana, a rozliczenie następuje w PLN

W sytuacji, gdy zaliczka nie została pobrana, a rozliczenie/zwrot do kasy następuje w PLN, to na zakładce [Podsumowanie rozliczenia], w sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawiana jest opcja Data rozliczenia, a jako data kursu podpowie się dzień wcześniejszy w stosunku do daty rozliczenia.

Zarówno płatność w preliminarzu na kwotę diet i ryczałtów, jak i zapis kasowy/bankowy na kwotę wypłaty pracownikowi/ zwrotu do kasy zostaną wygenerowane z kursem z dnia poprzedniego w stosunku do daty rozliczenia delegacji. Jeżeli Użytkownik, na zakładce [Podsumowanie rozliczenia], zmieni domyślny Kurs do rozliczenia z pracownikiem, to ten kurs zostanie przeniesiony zarówno na płatność, jak i na zapis kasowy/bankowy.

Zarówno płatność w preliminarzu, jak i zapis kasowy/bankowy zostaną wygenerowane na datę zgodną z datą rozliczenia delegacji.

Płatność zostanie wygenerowana w walucie etapu, natomiast na zapisie kasowym/bankowym walutą dokumentu będzie PLN, a walutą rozliczenia waluta etapu.

W tym przypadku, w związku z tym że kurs do rozliczenia z pracownikiem jest taki sam, jak kurs do księgowania (czyli kurs z dnia poprzedzającego dzień rozliczenia), nie powstanie różnica kursowa delegacyjna.

Przykład

Pracownikowi nie została wypłacona zaliczka, a rozliczenie następuje w PLN:

  • 19.05.2017 pracownik rozliczył się z kosztów delegacji, łączna kwota diet i ryczałtów wyniosła 600 Euro (średni kurs NBP z dnia 18.05.2017 to 4,2200)

 

Rozliczenie delegacji:

Na etapie delegacji, na zakładce [Podsumowanie rozliczenia] należy zaznaczyć parametr Rozliczaj w PLN.

W sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawi się opcja Data rozliczenia delegacji, a jako data kursu dzień wcześniejszy w stosunku do daty rozliczenia, czyli 18.05.2017 (średni kurs NBP wynoszący 4,2200).

Na delegacji jest zaznaczone zarówno Generowanie płatności, jak i Generowanie zapisu k/b.

W momencie rozliczenia delegacji powstaną następujące dokumenty:

  • w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów, tj. 600 Euro, po kursie z dnia 18.05.2017 (czyli 4,2200)
  • w zapisach kasowych/bankowych zapis rozchodowy (należy wypłacić kwotę pracownikowi), z datą 19.05.2017, na kwotę 600 Euro, po kursie z dnia 18.05.2017 (czyli 4,2200), co daje 2532 PLN. Na zapisie ustawiona jest waluta dokumentu PLN i waluta rozliczenia EUR.

Oba dokumenty (tj. powstała płatność w preliminarzu oraz powstały zapis kasowy/bankowy) zostaną ze sobą rozliczone.

Dokumenty są wprowadzone po tym samym kursie, więc nie powstaną żadne różnice kursowe z rozliczeń.

 

Koszty delegacji:

Na etapie delegacji, na zakładce [Podsumowanie rozliczenia], w sekcji Data poniesienia kosztu domyślnie ustawi się Data rozliczenia delegacji, a jako data kursu kurs z dnia poprzedzajacego dzień rozliczenia, czyli 18.05.2017 (średni kurs NBP wynoszący 4,2200).

W związku z tym,że kurs do rozliczenia z pracownikiem jest taki sam, jak kurs do księgowania (czyli kurs z dnia poprzedzającego dzień rozliczenia), nie powstanie różnica kursowa delegacyjna.

Przykład 7: Delegacja zarówno z etapem krajowym jak i zagranicznym

W sytuacji, gdy na delegacji podpiętych jest kilka etapów, np. krajowy i zagraniczne, do każdego z nich osobno podpinane są zaliczki i dokumenty kosztowe. W momencie rozliczenia delegacji, rozliczany jest każdy z etapów.

Poniższy przykład przedstawia sytuację, gdzie na delegacji dodany jest zarówno etap krajowy, jak i zagraniczny. Do każdego z etapów została wypłacona zaliczka w walucie etapu, pracownik dostarczył również faktury potwierdzające poniesione koszty.

Przykład

Delegacja składa się zarówno z etapu krajowego, jak i zagranicznego.

Pracownikowi zostały wypłacone zaliczki w walutach etapu:

  • 09.05.2017 wypłacono zaliczkę KW1 w kwocie 100 PLN
  • 09.05.2017 wypłacono zaliczkę KW2 w kwocie 1000 Euro (średni kurs NBP z dnia 08.05.2017 to 4,2059)

Rozliczenie delegacji następuje również w walutach etapów:

  • 19.05.2017 pracownik rozliczył się z kosztów delegacji, łączna kwota diet i ryczałtów wyniosła 60 PLN (dla etapu krajowego) i 600 Euro (dla etapu zagranicznego) (średni kurs NBP z dnia 18.05.2017 to 4,2200)

Pracownik dostarczył również dokumenty potwierdzające poniesione koszty:

  • faktura za przejazd taksówką FZ1 na 30 PLN
  • faktura kosztowa FZ2 z dnia 17.05.2017, na kwotę 250 Euro (średni kurs NBP z dnia 16.05.2017 to 4,1902)

 

Rozliczenie delegacji:

Na etapie krajowym, na zakładce [Podsumowanie rozliczenia], w sekcji Kurs do rozliczenia z pracownikiem, widać wartość pobranej zaliczki: 100 PLN oraz sumę wydatków: 90 PLN (60PLN+30PLN). Tak więc w polu Do wypłaty pozostaje: -10 PLN.

Na etapie zagranicznym, na zakładce [Podsumowanie rozliczenia], w sekcji Kurs do rozliczenia z pracownikiem, domyślnie ustawi się opcja Data zaliczki, a jako data kursu kurs z najstarszej zaliczki, czyli 08.05.2017 (średni kurs NBP wynoszący 4,2059).

Widać wartość pobranej zaliczki: 1000 Euro oraz sumę wydatków: 850 Euro (600Euro+250Euro). Tak więc w polu Do wypłaty pozostaje: -150 Euro.

Na delegacji jest zaznaczone zarówno Generowanie płatności, jak i Generowanie zapisu k/b.

W momencie rozliczenia delegacji powstaną następujące dokumenty:

  • w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów z etapu krajowego, tj. 60 PLN
  • w Preliminarzu płatności płatność rozchodowa, z datą 19.05.2017, na kwotę kosztów z etapu zagranicznego, tj. 600 Euro, po kursie z dnia 08.05.2017 (czyli 4,2059)
  • w zapisach kasowych/bankowych zapis przychodowy KP1 (pracownik musi dokonać zwrotu nadpłaconej zaliczki z etapu krajowego), z datą 19.05.2017, na kwotę 10 PLN
  • w zapisach kasowych/bankowych zapis przychodowy KP2 (pracownik musi dokonać zwrotu nadpłaconej zaliczki z etapu zagranicznego), z datą 19.05.2017, na kwotę 150 Euro, po kursie z dnia 08.05.2017 (czyli 4,2059)

Wszystkie dokumenty zostaną ze sobą rozliczone, tj.:

Pobrana zaliczka KW1 na 100 PLN zostanie rozliczona z płatnością na kwotę kosztów (60PLN), fakturą za przejazd taksówką FZ1 (30PLN) oraz powstałym zapisem kasowym/bankowym KP1 (10PLN).

Pobrana zaliczka KW2 na 1000 Euro zostanie rozliczona z płatnością na kwotę kosztów (600Euro), fakturą kosztową FZ2 (250Euro) oraz powstałym zapisem kasowym/bankowym KP2 (150Euro).

W zwiazku z tym, że na wypłaconej zaliczce KW2 był inny kurs niż fakturze kosztowej FZ2, automatycznie została wygenerowane różnica kursowa z rozliczenia, dostępna na liście różnic kursowych.

Powstała również różnica kursowa na kwotę grosza, z rozliczenia wypłaconej zaliczki KW2 z powstałym zapisem przychodowym KP2. Różnica wynika z zaokrągleń.

 

Koszty delegacji:

Na etapie zagranicznym delegacji, na zakładce [Podsumowanie rozliczenia], w sekcji Data poniesienia kosztu domyślnie ustawi się Data rozliczenia delegacji, a jako data kursu kurs z dnia poprzedzajacego dzień rozliczenia, czyli 18.05.2017 (średni kurs NBP wynoszący 4,2200).

W związku z tym, że kurs do rozliczenia z pracownikiem jest inny niż kurs poniesienia kosztu, automatycznie zostanie wyliczona Różnica kursowa delegacyjna, którą następnie można zaksięgować. Różnica kursowa zostanie wyliczona na kwotę 8,46 (tj. 600*(4,2200-4,2059)).

Księgowanie delegacji

Do księgowania delegacji służy ikona  dostępna na liście delegacji. Księgować można tylko delegacje zatwierdzone.

Księgowanie do KPiR

Dla baz z ustawioną wielozakładowością, na formularzu delegacji, obok pola z wyborem pracownika, istnieje możliwość wyboru Zakładu. Po wybraniu pracownika, domyślnie przenoszony jest zakład z jego karty.

Na liście delegacji, w menu kontekstowym (pod prawym klawiszem myszy) dostępna jest opcja Ustaw zakład.

Na formularzu etapu delegacji dostępna jest ikona  Kwoty dodatkowe, gdzie wykazywane jest jakie kwoty mają być zaksięgowane do poszczególnych kolumn książki przychodów i rozchodów.

Ikona Kwot dodatkowych dostępna jest zarówno na etapach krajowych, jak i zagranicznych.

Rys. 11. Kwoty dodatkowe na etapie krajowym

Rys. 12. Kwoty dodatkowe na etapie zagranicznym

W przypadku etapów krajowych widoczne są następujące rodzaje wydatków: Diety, Ryczałty za dojazdy, Ryczałty za noclegi i Koszty używania pojazdu.

W przypadku etapów zagranicznych widoczne są następujące rodzaje wydatków: Diety, Ryczałty za dojazdy, Ryczałty za noclegi, Ryczałty za dojazdy z/do dworca, lotniska i Koszty używania pojazdu.

Dla każdego rodzaju wydatku domyślnie ustawiana jest kolumna 13.Inne, z możliwością zmiany.

Wartości w kolumnie Kwota są uzupełniane automatycznie, z możliwością zmiany. Jeżeli na etapie delegacji nastąpi zmiana wartości, np. kwoty diet, wartości w Kwotach dodatkowych zostaną automatycznie zaktualizowane. W kwocie Diet wykazywana jest suma wartości diet i za pobyt w szpitalu. Na etapach zagranicznych kwoty wykazywane są w PLN, przeliczone po kursie poniesienia kosztu.

W polu Kwota dokumentu (widocznym w prawym górnym rogu) jest widoczna kwota z pola Suma wydatków na zakładce [Podsumowanie rozliczenia] pomniejszona o kwotę wydatków podpiętych na zakładce [Wydatki], przemnożona przez kurs poniesienia kosztu.

W momencie księgowania delegacji ikoną  tworzony jest zapis KPiR z datą księgowania równą dacie rozliczenia delegacji. Powstaje jeden zbiorczy zapis KPiR na łączną kwotę kosztów (sumowane są koszty z wszystkich etapów delegacji, w ramach danej kolumny KPiR).

W numerze dowodu wpisywany jest numer delegacji, a w Opisie Rozliczenie delegacji: [Numer delegacji].

Księgowanie do księgowości kontowej

W przypadku baz z księgowością kontową istnieje możliwość księgowania delegacji zarówno według predekretacji, jak i schematem księgowym.

W nagłówku schematu księgowego dostępny jest parametr Pobierz datę księgowania z Konfiguracji. Jego zaznaczenie powoduje, że data z jaką delegacja zostanie zaksięgowana jest pobierana z Konfiguracji firmy/ Księgowość/ Parametry – Księgowanie dokumentów z datą. Przy wybranej w konfiguracji opcji Bieżącą, delegacja zostanie zaksięgowana z datą bieżącą. Przy wybranej opcji Wystawienia, Operacji lub Zapisu, delegacja zostanie zaksięgowana zgodnie z datą dokumentu delegacji.

Jeżeli parametr Pobierz datę księgowania z Konfiguracji zostanie odznaczony, przycisk Data księg. jest aktywny i użytkownik ma do wyboru następujące opcje:

  • Data dokumentu – symbol @DataDok
  • Data bieżąca – symbol @DataBiezaca
  • Data rozpoczęcia delegacji – symbol @DataRozpoczeciaDelegacji
  • Data zakończenia delegacji – symbol @DataZakonczeniaDelegacji
  • Data rozliczenia delegacji – symbol @DataRozliczeniaDelegacji

Warunkiem może być:

  • Kategoria dokumentu – w ramach, której dostępne są następujące parametry:
    • Kategoria szczegółowa – symbol @KategoriaNag
    • Kategoria ogólna – symbol @KategoriaOgolnaNag
    • Opis kategorii – symbol @KategoriaOpisNag
    • Konto Wn kategorii – konto Wn wprowadzone na kategorii w segmencie księgowym – symbol @KatNagKontoWn
    • Konto Ma kategorii – konto Ma wprowadzone na kategorii w segmencie księgowym – symbol @KatNagKontoMa
  • Dokument delegacji – numer dokumentu delegacji, symbol @Dok
  • Cel – cel delegacji, symbol @Cel
  • Miejsce – miejsce docelowe, symbol @Miejsce
  • Płatnik – w ramach, którego dostępne są następujące parametry:
    • Konto płatnika 1 – konto wprowadzone na karcie płatnika (na karcie pracownika, widocznego na Płatności, która powstała w momencie rozliczania delegacji), na zakładce Dodatkowe w polu Konto 1 – symbol @KontoPlatnikaOdb
    • Konto płatnika 2 – konto wprowadzone na karcie płatnika (na karcie pracownika, widocznego na Płatności, która powstała w momencie rozliczania delegacji), na zakładce Dodatkowe w polu Konto 2 – symbol @KontoPlatnikaDost
    • Kod – kod płatnika, symbol @KodPlatnika
    • Typ – symbol @TypPlatnika
  • Podmiot – kod podmiotu, symbol @KodPodmiotu

Opisem może być:

  • Kategoria dokumentu – w ramach, której dostępne są następujące parametry:
    • Kategoria szczegółowa – symbol @KategoriaNag
    • Kategoria ogólna – symbol @KategoriaOgolnaNag
    • Opis kategorii – symbol @KategoriaOpisNag
  • Dokument delegacji – numer dokumentu delegacji, symbol @Dok
  • Cel – cel delegacji, symbol @Cel
  • Miejsce – miejsce docelowe, symbol @Miejsce
  • Płatnik – w ramach, której dostępne są:
    • Kod – kod płatnika, symbol @KodPlatnika
    • Typ – symbol @TypPlatnika
  • Podmiot – kod podmiotu, symbol @KodPodmiotu

Na pozycji schematu księgowego obok pól Konto Wn, Konto Ma można rozwinąć podmenu z następującymi makrami:

  • Kategoria dokumentu – w ramach, której dostępne są następujące parametry:
    • Konto Wn kategorii – symbol @KatNagKontoWn
    • Konto Ma kategorii – symbol @KatNagKontoMa
  • Kategoria pozycji – w ramach, której dostępne są następujące parametry:
    • Konto Wn kategorii – symbol @KatElemKontoWn
    • Konto Ma kategorii – symbol @KatElemKontoMa
  • Płatnik – w ramach, którego dostępne są:
    • Konto płatnika 1 – konto wprowadzone na karcie płatnika (na karcie pracownika, widocznego na Płatności, która powstała w momencie rozliczania delegacji), na zakładce Dodatkowe w polu Konto 1 – symbol @KontoPlatnikaOdb
    • Konto płatnika 2 – konto wprowadzone na karcie płatnika (na karcie pracownika, widocznego na Płatności, która powstała w momencie rozliczania delegacji), na zakładce Dodatkowe w polu Konto 2 – symbol @KontoPlatnikaDost
  • Podmiot – w ramach, którego dostępne są:
    • Konto 1 pracownika – konto wprowadzone na karcie pracownika wybranego na delegacji, na zakładce Dodatkowe w polu Konto 1 – symbol @KontoPracownika
    • Konto 2 pracownika – konto wprowadzone na karcie pracownika wybranego na delegacji, na zakładce Dodatkowe w polu Konto 2 – symbol @Konto2Pracownika

W Kwocie dostępne są następujące makra:

  • Płatności – symbol @KwotaPlatnosci
  • Kwota – w ramach, której dostępne są następujące parametry (tymi makrami księgowane są kwoty po kursie do rozliczenia z pracownikiem, z zakładki [Podsumowanie rozliczenia] na elemencie delegacji):
    • Kwota diety – symbol @Dieta
    • Kwota ryczałtu za nocleg – symbol @RyczaltNocleg
    • Kwota ryczałtu za dojazdy – symbol @RyczaltDojazdy
    • Kwota kosztów używania pojazdu – symbol @KosztyUzywPojazdu
    • Kwota ryczałtu za dojazdy z/do dworca, lotniska – symbol @RyczaltDojazdyDworzec
    • Kwota razem – symbol @Razem. Makro Kwota razem (@Razem) księguje kwotę widoczną w polu Suma wydatków na zakładce [Podsumowanie rozliczenia] pomniejszoną o kwotę wydatków podpiętych na zakładce [Wydatki].
  • Kwota kosztu – w ramach, której dostępne są następujące parametry (tymi makrami księgowane są kwoty po kursie poniesienia kosztu, z zakładki [Podsumowanie rozliczenia] na elemencie delegacji):
    • Kwota diety – symbol @KDieta
    • Kwota ryczałtu za nocleg – symbol @KRyczaltNocleg
    • Kwota ryczałtu za dojazdy – symbol @KRyczaltDojazdy
    • Kwota kosztów używania pojazdu – symbol @KKosztyUzywPojazdu
    • Kwota ryczałtu za dojazdy z/do dworca, lotniska – symbol @KRyczaltDojazdyDworzec
    • Kwota razem – symbol @KRazem. Makro Kwota razem (@KRazem) księguje kwotę widoczną w polu Suma wydatków na zakładce [Podsumowanie rozliczenia] pomniejszoną o kwotę wydatków podpiętych na zakładce [Wydatki].
  • Różnica kursowa – w ramach, której dostępne są następujące parametry (tymi makrami księgowana jest różnica kursowa delegacyjna, widoczna na zakładce [Podsumowanie rozliczenia] na elemencie delegacji):
    • Różnica kursowa dodatnia – symbol @RoznicaPlus
    • Różnica kursowa ujemna – symbol @RoznicaMinus

Uwaga
Makr @RoznicaPlus/ @RoznicaMinus dotyczących różnicy kursowej nie należy łączyć z innymi makrami dotyczącymi kwoty. Różnice kursowe powinny być księgowane w osobnej pozycji schematu.

W Opisie dostępne są następujące opcje:

  • Kategoria dokumentu – w ramach, której dostępne są następujące parametry:
    • Kategoria szczegółowa – symbol @KategoriaNag
    • Kategoria ogólna – symbol @KategoriaOgolnaNag
    • Opis kategorii – symbol @KategoriaOpisNag
  • Kategoria pozycji – w ramach, której dostępne są następujące parametry:
    • Kategoria szczegółowa – symbol @KategoriaElem
    • Kategoria ogólna – symbol @KategoriaOgolnaElem
    • Opis kategorii – symbol @KategoriaOpisElem
  • Płatności – waluta płatności, symbol @WalutaPlatnosci
  • Waluta – waluta etapu, symbol @WalutaEtapu
  • Dokument delegacji – numer dokumentu delegacji, symbol @Dok
  • Cel – cel delegacji, symbol @Cel
  • Miejsce – miejsce docelowe, symbol @Miejsce
  • Płatnik – w ramach, którego dostępne są:
    • Kod – symbol @KodPlatnika
    • Typ – symbol @TypPlatnika
  • Podmiot – w ramach, którego dostępne są:
    • Konto 1 pracownika – symbol @KontoPracownika
    • Konto 2 pracownika – symbol @Konto2Pracownika
    • Kod podmiotu – symbol @KodPodmiotu

W Warunku dostępne są następujące opcje:

  • Kategoria dokumentu – w ramach, której dostępne są następujące parametry:
    • Kategoria szczegółowa – symbol @KategoriaNag
    • Kategoria ogólna – symbol @KategoriaOgolnaNag
    • Opis kategorii – symbol @KategoriaOpisNag
    • Konto Wn kategorii – symbol @KatNagKontoWn
    • Konto Ma kategorii – symbol @KatNagKontoMa
  • Kategoria pozycji – w ramach, której dostępne są następujące parametry:
    • Kategoria szczegółowa – symbol @KategoriaElem
    • Kategoria ogólna – symbol @KategoriaOgolnaElem
    • Opis kategorii – symbol @KategoriaOpisElem
    • Konto Wn kategorii – symbol @KatElemKontoWn
    • Konto Ma kategorii – symbol @KatElemKontoMa
  • Płatności – waluta płatności, symbol @WalutaPlatnosci
  • Waluta – waluta etapu – symbol @WalutaEtapu
  • Dokument delegacji – numer dokumentu delegacji, symbol @Dok
  • Cel – cel delegacji, symbol @Cel
  • Miejsce – miejsce docelowe, symbol @Miejsce
  • Płatnik – w ramach, którego dostępne są:
    • Konto płatnika 1 – konto wprowadzone na karcie płatnika (na karcie pracownika, widocznego na Płatności, która powstała w momencie rozliczania delegacji), na zakładce Dodatkowe w polu Konto 1 – symbol @KontoPlatnikaOdb
    • Konto płatnika 2 – konto wprowadzone na karcie płatnika (na karcie pracownika, widocznego na Płatności, która powstała w momencie rozliczania delegacji), na zakładce Dodatkowe w polu Konto 2 – symbol @KontoPlatnikaDost
    • Kod – symbol @KodPlatnika
    • Typ – symbol @TypPlatnika
  • Podmiot – w ramach, którego dostępne są:
    • Konto 1 pracownika – konto wprowadzone na karcie pracownika wybranego na delegacji, na zakładce Dodatkowe w polu Konto 1 – symbol @KontoPracownika
    • Konto 2 pracownika – konto wprowadzone na karcie pracownika wybranego na delegacji, na zakładce Dodatkowe w polu Konto 2 – symbol @Konto2Pracownika
    • Kod podmiotu – symbol @KodPodmiotu