Pytanie (30876) Czy chcesz pobrać aktualną listę banków działających w Polsce?

Odpowiedź twierdząca powoduje, że lista banków zostanie zaimportowana do programu Comarch ERP Optima i będzie widoczna z poziomu zakładki Ogólne/Inne/Banki. Import banków z serwera Comarch jest dostępny wyłącznie dla Klientów z aktualną gwarancją.




Instalacja i reinstalacja systemu

Instalacja systemu

Uwaga
Comarch ERP Optima w wersji 2019.1.1 nie jest wspierana na systemie operacyjnym Windows XP, Windows Vista oraz Windows Server 2003.

Uwaga
Comarch ERP Optima w wersji 2019.1.1 wymaga wykupionej gwarancji na dzień 13.11.2018. W przypadku kończącego się wcześniej terminu gwarancji, praca na tej wersji programu nie będzie możliwa.

Uwaga
Comarch ERP Optima od wersji 2014.5.1 dla baz konfiguracyjnych utworzonych w tej wersji wymaga zainstalowania aplikacji Comarch ERP Menadżer Kluczy w wersji 2014.5.1 lub wyższej. Nie jest to konieczne dla baz konfiguracyjnych skonwertowanych z wersji wcześniejszych niż 2014.5.1.

Szczegółowe informacje na temat instalacji znajdują się w Instrukcji instalacji.

Zmiany wymagań sprzętowych i systemowych

  • Procesor firmy Intel lub AMD min. 2 GHz
  • 2 GB pamięci RAM
  • Dysk: 5 GB wolnej przestrzeni
  • System operacyjny Windows 10, Windows 8, Windows 7, Windows Server 2008 Service Pack 2, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016
  • Microsoft .NET Framework w wersji minimum 4.5
  • Drukarka pracująca w systemie Microsoft Windows

W instalacjach wielostanowiskowych zalecamy wykorzystanie dedykowanego serwera bazy danych. W sprawie konfiguracji sprzętowej dla takich instalacji prosimy o kontakt z Autoryzowanym Partnerem Comarch.

Reinstalacja programu

Reinstalacja z poprzedniej wersji

W celu wykonania reinstalacji programu, należy z poziomu kreatora umieszczonego na płycie Comarch ERP Optima uruchomić opcję instalacji (Zainstaluj/ Zainstaluj Comarch ERP Optima). Reinstalację programu Comarch ERP Optima można uruchomić również z jednoplikowych instalatorów: ComarchERPOptimasql.exe (zawiera program + silnik SQL), ComarchERPOptima.exe. Jednoplikowe instalatory dostępne są do pobrania po zalogowaniu na stronach indywidualnych dla Klientów www.comarch.pl/erp/dla-klientow. Reinstalacja spowoduje wykonanie konwersji baz danych. Do reinstalacji zaleca się użycie pliku ComarchERPOptima.exe, gdyż ma on mniejszy rozmiar i krócej trwa jego pobieranie.

Od wersji Comarch ERP Optima 2018.0.1 wymagana jest na komputerze obecność pakietu Microsoft .Net Framework 4.5. W przypadku jego braku zostanie on doinstalowany przez instalator Comarch ERP Optima.

Reinstalacja przebiega w podobny sposób, jak instalacja programu i jest dokładnie opisana w Instrukcji instalacji.

Reinstalacja musi być wykonana na wszystkich komputerach, gdzie działa program Comarch ERP Optima w wersji wcześniejszej niż 2019.1.1. Reinstalacja programu spowoduje uaktualnienie wersji.

Uwaga
Reinstalacja powinna być przeprowadzana na programie objętym gwarancją. Jeśli termin gwarancji minął, reinstalacja spowoduje jego zablokowanie.

Reinstalacja do najnowszej wersji 2019.1.1 jest możliwa zarówno z wcześniejszych wersji 2014 oraz 2013.7.
W przypadku konieczności skonwertowania bazy z wcześniejszej wersji programu należy zrobić to dwuetapowo, czyli najpierw zainstalować wersję 2013.7, a dopiero następnie wersję 2019.1.1.

Uwaga
Ze względu na wprowadzenie w programie obsługi znaków diakrytycznych pochodzących z innych języków niż polski, wielkość bazy danych po konwersji może ulec zwiększeniu dla konwersji z wersji 2010 i wcześniejszych. W darmowej wersji Microsoft SQL Server Express może się to wiązać z koniecznością aktualizacji serwera SQL do wyższej wersji (MS SQL Server 2008 Express ograniczenie do 4GB, a w przypadku MS SQL 2008R2 Express /2012 Express/2014 Express do 10 GB) lub do jego pełnej wersji, która nie posiada ograniczeń na wielkość bazy danych. Dodatkowo w trakcie procesu konwersji zwiększa się zapotrzebowanie na ilość wolnego miejsca na dysku twardym.

Współpraca z Microsoft SQL Server

Od wersji 2014.5.1 system Comarch ERP Optima nie współpracuje z silnikiem bazy danych w wersji 2005, a od wersji 2012 system Comarch ERP Optima nie współpracuje z silnikiem bazy danych w wersji 2000. Przed instalacją Comarch ERP Optima zalecamy wykonanie kopii bezpieczeństwa dla bazy konfiguracyjnej oraz wszystkich baz firmowych. W przypadku posiadania baz z MS SQL 2005 lub 2000, aby móc pracować na Comarch ERP Optima 2019.1.1 należy zainstalować nowszą wersję silnika bazy danych i przenieść na niego bazy danych. Można do tego wykorzystać narzędzie Migrator baz danych, które znajduje się na Indywidualnych Stronach Klientów w obszarze aktualnych wersji (http://www.erp.comarch.pl/klienci/default.aspx?site=2248). W przypadku próby połączenia się użytkownika z silnikiem bazy danych MS SQL w wersji 2000 pojawi się komunikat: Wybrany serwer SQL jest w wersji 2000, ta wersja nie jest obsługiwana. Skonfiguruj połączenie z serwerem SQL w nowszej wersji.

Uwaga
Wersja Comarch ERP Optima 2014.5.1 i nowsze nie współpracują z silnikiem bazy danych Microsoft SQL Server 2005 oraz 2000.

Uwaga
Microsoft SQL Server 2012 nie obsługuje baz pochodzących z wersji Microsoft SQL Server 2000. W przypadku konieczności przeniesienia takich baz do wersji MS SQL 2012, należy to zrobić dwuetapowo, tzn. w pierwszym kroku odtworzyć bazy pochodzące z SQL 2000 na MS SQL w wersji 2005, 2008 lub 2008 R2, wykonać kopię bezpieczeństwa i dopiero te pośrednie kopie odtwarzać na MS SQL 2012.

Uwaga
Jeżeli w wersji programu 2016.0.1 do ewidencji ryczałtowej wprowadzono zapis w stawce 2% i dowolnej innej stawce, podczas konwersji bazy danych pojawia się komunikat: Na zapisach ewidencji przychodów występują na jednym dokumencie różne stawki ryczałtowe, w tym stawka 2%. Przed konwersją należy podzielić te zapisy tak aby stawka 2% była w osobnym dokumencie.

Współpraca z innymi aplikacjami

Comarch ERP Optima 2019.1.1 współpracuje z następującymi aplikacjami:

AplikacjaWersjaUwagi
Wszystko.pl Aktualna wersja: Wszystko.pl
Comarch e-Sklep2018.7.1 lub wyższa
Comarch ERP Optima Pulpit Menadżera6.1.2
Comarch HRM2019.0.1
Comarch Mobile Zarządzanie2018.6.1
Comarch ERP Mobile Sprzedaż2018.6.1
Comarch ERP Mobile BINajnowsza wersja dostępna w Google Play (aktualnie 3.0)https://play.google.com/store/apps/details?id=com.comarch.mobile.bi
Comarch ERP XL2018.2.1
Comarch ERP Altum2018.5
Comarch IBARDNajnowsza

Uwaga
Aplikacja Comarch ERP Mobile Sprzedaż nie jest wspierana na Windows Mobile.




CRM

CRM

Poprawiono

  1. Oferta handlowa. Poprawiono aktualizację ceny na ofercie handlowej po zmianie opcji Cena Kontrahenta na dokumentach, które były wcześniej zapisane do bufora.
  2. Skrzynka pocztowa. Poprawiono wysyłanie wiadomości e-mail, w przypadku gdy na operatorze zaznaczona jest blokada „Informacja o upływie okresu gwarancyjnego”, oraz kończy się gwarancja na program.



Koszty samochodu właściciela od 1 stycznia 2019 r.

Dotyczy wersji: 2019.1.1
Od 1 stycznia 2019 roku istnieje możliwość:

  • zaliczenia w koszty uzyskania przychodów 100% wydatków na użytkowanie samochodu będącego środkiem trwałym w firmie, pod warunkiem prowadzenia ewidencji przebiegu pojazdu,
  • zaliczenia w koszty uzyskania przychodów 75% wydatków na użytkowanie samochodu będącego środkiem trwałym w firmie, ale wykorzystywanego do celów mieszanych (firmowych i prywatnych),
  • zaliczenia w koszty uzyskania przychodów 20% wydatków na użytkowanie samochodu będącego własnością właściciela firmy, ale nie będącego środkiem trwałym w firmie.

Od 1 stycznia 2019 roku koszty samochodu właściciela należy księgować w programie Comarch ERP Optima bezpośrednio z poziomu rejestru VAT zakupu lub ewidencji dodatkowej kosztów.

Moduł Księga Handlowa/ Księga Handlowa Plus

W przypadku modułu Księga Handlowa/ Księga Handlowa Plus użytkownik w schemacie księgowym o typie Rejestr zakupów VAT oraz Ewidencja kosztów powinien samodzielnie wskazać, w jakiej wysokości koszty z poszczególnych dokumentów mają być księgowane.

Przykład
Poniżej prezentujemy przykładowy schemat księgowania faktury za paliwo w koszty zgodnie z nowymi przepisami. Schemat dostępny jest do pobrania pod linkiem. Schemat księgowy należy zaimportować z poziomu Księgowość/Inne/Schematy księgowe naciskając ikonę  , wskazując plik z dysku a następnie wykonując import za pomocą ikony .

Schemat należy dostosować do Państwa planu kont.

W przedstawionym przykładzie na fakturze zakupowej została wybrana przykładowa kategoria szczegółowa o symbolu „EKSPLOATACJA SAM”. Tak jak w przypadku kont, nazwę kategorii należy dostosować do własnej listy.

W związku z powyższym w warunku schematu księgowego zamiast symbolu ‘EKSPLOATACJA SAM’ należy wpisać nazwę kategorii wybranej na pozycji faktury zakupowej.

Poniżej prezentujemy przykładowe wyrażenia które należy wpisać w poszczególnych polach schematu księgowego.

Aby zaksięgować 75% kwoty netto można wskazać (pozycja 1 na zrzucie powyżej):

W polu Kwota:
ROUND(@Netto*0.75,2)

W polu Warunek (wyrażenie ‘Kod kategorii’ zastępujemy swoim własnym kodem):@KategoriaElem ='Kod kategorii'

Aby zaksięgować w koszty 75% kwoty VAT można wskazać (pozycja 2 na zrzucie powyżej):

W polu Kwota: ROUND (@Vat*0.75,2)

W polu Warunek (wyrażenie ‘Kod kategorii’ zastępujemy swoim własnym kodem): @Odliczenia ='NIE' AND @KategoriaElem ='Kod kategorii'

Aby zaksięgować 25% kwoty netto można wskazać (pozycja 3 na zrzucie powyżej):

W polu Kwota: @Netto - ROUND(@Netto*0.75,2)

W polu Warunek(wyrażenie ‘Kod kategorii’ zastępujemy swoim własnym kodem):@KategoriaElem ='Kod kategorii'

Aby zaksięgować 25% kwoty VAT (NKUP) można wskazać (pozycja 4 na zrzucie powyżej):

W polu Kwota: @Vat - ROUND(@Vat*0.75,2)

W polu Warunek (wyrażenie ‘Kod kategorii’ zastępujemy swoim własnym kodem):@Odliczenia ='NIE' AND @KategoriaElem ='Kod kategorii'

Aby zaksięgować pozostałą Kwotę VAT można wskazać:

W polu Kwota: @Vat

W polu Warunek: @Odliczenia ='TAK'

Moduł Księga Podatkowa

Na formularzu kategorii o typie Koszty dostępny jest domyślnie odznaczony parametr Księguj w koszty.

Formularz kategorii kosztowej

Zaznaczenie parametru przenosi się podczas importu kategorii z poziomu Narzędzia/ Importy/ Z innej bazy danych oraz poprzez mechanizm pracy rozproszonej pomiędzy bazami prowadzonymi w formie Księgi Podatkowej.

Uwaga
Jeżeli parametr Księguj w koszty zaznaczony zostanie na formularzu kategorii na której zaznaczono wcześniej parametr Podziel odliczenia to użytkownik powinien zweryfikować Kolumnę do księgowania do KPiR i wybrać przykładowo 13. Inne – tak, aby dokument został zaksięgowany do Księgi Podatkowej. Wynika to z tego, iż dotychczas tego typu dokumenty nie podlegały księgowaniu do KPiR z poziomu rejestru VAT/ ewidencji dodatkowej. Stosowano do nich natomiast tzw. “Kilometrówkę” i korzystano z opcji Rozliczenia samochodu.

Jeżeli na dokumencie wprowadzonym do rejestru VAT zakupu wybrano w pozycji dokumentu kategorię z zaznaczonym parametrem Księguj w koszty to podczas księgowania dokumentu na zapis w Księdze Podatkowej przenoszona jest kwota przemnożona przez % wskazany na formularzu kategorii do kolumny KPiR wybranej na dokumencie. Jeżeli na dokumencie wybrano odliczenia Tak lub Warunkowo to do KPiR księgowana jest kwota netto przemnożona przez % wskazany na formularzu kategorii. Jeżeli na dokumencie wybrano odliczenia Nie to do KPiR księgowana jest kwota brutto przemnożona przez % wskazany na formularzu kategorii.

Uwaga
Wybór w nagłówku dokumentu w rejestrze VAT zakupu kategorii z zaznaczonym parametrem Księguj w koszty nie powoduje zaksięgowania do KPiR kwoty przemnożonej przez % wskazany na formularzu kategorii. Aby na zapis księgowy trafiła kwota przemnożona przez % wskazany na formularzu kategorii, kategoria ta musi zostać wybrana w pozycji dokumentu w rejestrze VAT zakupu.

W przypadku ewidencji dodatkowej kosztów:

  • jeżeli na dokumencie uzupełniono Kwoty dodatkowe i wskazano w nich kategorię z zaznaczonym parametrem Księguj w koszty to podczas księgowania dokumentu na zapis w Księdze Podatkowej przenoszona jest kwota uzupełniona w pozycji Kwot dodatkowych przemnożona przez % wskazany na formularzu kategorii do kolumny KPiR wybranej w Kwotach dodatkowych,
  • jeżeli na dokumencie uzupełniono Kwoty dodatkowe i wskazano w nich kategorię bez zaznaczonego parametru Księguj w koszty to podczas księgowania dokumentu na zapis w Księdze Podatkowej przenoszona jest cała kwota uzupełniona w Kwotach dodatkowych,
  • jeżeli na dokumencie nie uzupełniono Kwot dodatkowych, a w nagłówku dokumentu wybrano kategorię z zaznaczonym parametrem Księguj w koszty to podczas księgowania dokumentu na zapis w Księdze Podatkowej przenoszona jest kwota przemnożona przez % wskazany na formularzu kategorii do kolumny KPiR wskazanej na formularzu kategorii,
  • jeżeli na dokumencie nie uzupełniono Kwot dodatkowych, a w nagłówku dokumentu wybrano kategorię bez zaznaczonego parametru Księguj w koszty to podczas księgowania dokumentu na zapis w Księdze Podatkowej przenoszona jest cała kwota.

Uwaga
Kwota kosztu podlegająca księgowaniu do KPiR wyliczana jest jako suma pozycji, w których wybrano kategorię z zaznaczonym parametrem Księguj w koszty, przemnażana przez % wskazany na formularzu kategorii, a następnie zaokrąglana i przenoszona do KPiR.

 




Handel z magazynem



Handel

Nowości

Sprzedaż wyrobów węglowych

Na podstawie ustawy z 20 lipca 2018 r. o zmianie ustawy o podatku akcyzowym oraz ustawy – Prawo celne, od 1 stycznia 2019 r. zmienią się zasady sprzedaży i ewidencjonowania wyrobów węglowych.

W celu zastosowania zwolnienia od akcyzy, transakcje z finalnym nabywcą węglowym, zamiast dokumentem dostawy wyrobów węglowych będą dokumentowane wyłącznie Fakturą Sprzedaży oraz oświadczeniem nabywcy o przeznaczeniu tych wyrobów na cele uprawniające do zwolnienia.

Nowelizacja ustawy o podatku akcyzowym wprowadza nowe rozwiązanie dotyczące udokumentowania zwolnienia od akcyzy w przypadku przekazania wyrobów węglowych pracownikom w ramach tzw. deputatów węglowych. W takim przypadku, z uwagi na to, że nie dochodzi do sprzedaży tych wyrobów i pracodawca nie wystawia faktury, będzie on zobowiązany do sporządzenia kwartalnej listy uprawnionych odbiorców. Dodatkowo, pracodawca będzie zobowiązany do pobrania od pracownika oświadczenia o przeznaczeniu wyrobów węglowych według tych samych zasad jak przy sprzedaży wyrobów węglowych osobie fizycznej.

Od 1 stycznia 2019 r. zmieni się również zakres danych wykazywanych w ewidencji akcyzowej prowadzonej przez sprzedawców wyrobów węglowych. Zamiast dotychczasowego obowiązku umieszczania numerów i dat wystawionych dokumentów dostawy, wprowadzono wymóg umieszczania daty wystawienia i numeru faktury, z której wynika zapłata należności za wyroby węglowe sprzedane przez pośredniczący podmiot węglowy.

Konsekwencją zniesienia dokumentów dostawy jest zniesienie obowiązku przesyłania do organów podatkowych kwartalnego zestawienia wystawionych dokumentów dostawy.

Oświadczenie nabywcy o przeznaczeniu wyrobów węglowych na cele uprawniające do zwolnienia

Dla uniknięcia generowania dodatkowego dokumentu, ustawodawca przewidział możliwość umieszczenia oświadczenia o przeznaczeniu wyrobów węglowych na cele uprawniające do zwolnienia w treści Faktury Sprzedaży dokumentującej sprzedaż pod warunkiem jej czytelnego podpisania.

Dodatkowo, utrzymany został brak obowiązku stosowania faktury i pobierania oświadczenia o przeznaczeniu wyrobów węglowych w przypadku ich sprzedaży w ilości nieprzekraczającej jednorazowo 200 kg.

Niezbędnymi elementami oświadczenia finalnego nabywcy wyrobów węglowych będącego przedsiębiorcą (osoba prawna, jednostka organizacyjna niemająca osobowości prawnej oraz osoba fizyczna prowadząca działalność gospodarczą) są:

  • nazwa, adres siedziby lub zamieszkania oraz numer identyfikacji podatkowej (NIP),
  • określenie ilości, rodzaju oraz przeznaczenia nabywanych wyrobów węglowych,
  • data i miejsce złożenia oświadczenia,
  • czytelny podpis składającego oświadczenie.

W przypadku, gdy finalnym nabywcą wyrobów węglowych będzie osoba fizyczna (np. nabywająca węgiel na potrzeby gospodarstwa domowego), oświadczenie musi zawierać:

  • imię i nazwisko, adres zamieszkania, numer dowodu osobistego lub nazwę i numer innego dokumentu stwierdzającego tożsamość oraz numer PESEL, jeżeli został nadany,
  • określenie ilości, rodzaju oraz przeznaczenia nabywanych wyrobów węglowych,
  • datę i miejsce złożenia oświadczenia oraz
  • czytelny podpis składającego oświadczenie.

Na potrzeby dokumentowania sprzedaży węgla na karcie kontrahenta, na zakładce [Ogólne] dodano pole Dok. tożsamości. W przypadku kontrahenta, który jest osobą fizyczną należy podać rodzaj i numer dowodu tożsamości (w przypadku dowodu osobistego wystarczy sam numer). Pole to zostało dodane również na formularzu Faktury Sprzedaży na zakładce [Kontrahent]. Wartość na FS jest przenoszona z karty kontrahenta wybranego na dokument, z możliwością ręcznej edycji podczas wystawiania faktury (przydatne w przypadku klientów niezarejestrowanych w systemie). Informacja o dokumencie tożsamości jest pobierana z Faktury Sprzedaży na wydruk oświadczenia nabywcy o przeznaczeniu wyrobów na cele uprawniające do zwolnienia z podatku akcyzowego.

Umowa na dostawy węgla

W przypadku zawarcia okresowej umowy na dostawę wyrobów węglowych pomiędzy sprzedawcą a finalnym nabywcą węglowym, oświadczenie o przeznaczeniu wyrobów na cele uprawniające do zwolnienia może zostać złożone w treści tej umowy, pod warunkiem każdorazowego dokumentowania sprzedaży wyrobów Fakturą Sprzedaży.

W związku z tym na karcie kontrahenta (menu Ogólne/ Kontrahenci), na zakładce [Handlowe] dodano parametr Umowa na dostawy węgla. Należy go zaznaczyć jeśli zachodzi powyższy warunek.

Parametr jest również dostępny na formularzu Faktury Sprzedaży na zakładce [Kontrahent]. Jego ustawienie na fakturę jest przenoszone z karty kontrahenta, z możliwością ręcznej zmiany przez użytkownika. Jeśli parametr jest zaznaczony na Fakturze Sprzedaży, wówczas na wydruku Faktura VAT (GenRap)/ Akcyza nie jest drukowane oświadczenie nabywcy o przeznaczeniu wyrobów węglowych na cele uprawniające do zwolnienia. W przeciwnym wypadku, przy sprzedaży węgla powyżej 200 kg, oświadczenie zostanie wydrukowane na fakturze.

Wydruk oświadczenia o przeznaczeniu wyrobów węglowych na cele uprawniające do zwolnienia w treści Faktury Sprzedaży

Dla Faktur Sprzedaży wystawionych od 01.01.2019 r. na wydruku Faktura VAT (GenRap)/ Akcyza drukowane są kody CN oraz ilość wyrobów węglowych wyrażona w kilogramach. Jeśli towar na Fakturze Sprzedaży występuje w innej jednostce miary niż kg, to pod ilością z dokumentu, drukowana jest ilość w przeliczeniu na kg ( na podstawie przelicznika ustalonego na karcie towaru, na zakładce [Dodatkowe] w sekcji Akcyza na wyroby węglowe).

Jeśli na formularzu Faktury Sprzedaży na zakładce [Kontrahent] nie jest zaznaczony parametr Umowa na dostawy węgla oraz dla któregokolwiek z kodów CN łączna suma ilości towaru przekracza 200 kg, na wydruku faktury drukowane jest oświadczenie o przeznaczeniu wyrobów węglowych na cele uprawniające do zwolnienia z podatku akcyzowego.

Deputaty węglowe

Nowelizacja ustawy o podatku akcyzowym wprowadza nowe rozwiązanie dotyczące udokumentowania zwolnienia od akcyzy w przypadku przekazania wyrobów węglowych pracownikom w ramach tzw. deputatów węglowych. W takim przypadku, z uwagi na to, że nie dochodzi do sprzedaży tych wyrobów, pracodawca nie wystawia faktury. Przekazanie węgla pracownikom w ramach deputatu węglowego należy w programie realizować poprzez dokumentu Rozchodu Wewnętrznego. Pracodawca będzie zobowiązany do pobrania od pracownika oświadczenia o przeznaczeniu wyrobów węglowych według tych samych zasad jak przy sprzedaży wyrobów węglowych osobie fizycznej. W tym celu z poziomu formularza Rozchodu Wewnętrznego został dodany wydruk Akcyza (GenRap)/ Oświadczenie. Na formularzu Rozchodu Wewnętrznego na zakładce [Kontrahent] dodano pole Dokument tożsamości, z karty pracownika pobierany jest numer dowodu osobistego bądź numer paszportu jeśli nie podano numeru dowodu. Dokument tożsamości jest drukowany na oświadczeniu.

Dodatkowo pracodawca będzie zobowiązany do sporządzenia kwartalnej listy uprawnionych odbiorców zawierającej:

  • imię i nazwisko,
  • numer dowodu osobistego lub nazwę i numer innego dokumentu stwierdzającego tożsamość,
  • numer PESEL.

Tę listę należy sporządzić na podstawie Rozchodów Wewnętrznych wystawionych na potrzeby udokumentowania deputatu węglowego, można ją wydrukować z poziomu Ewidencji wyrobów węglowych (menu Handel/ Inne). W tym celu należy wybrać wydruk Zestawienie odbiorców deputatu węglowego (GenRap)/ Wzór standard.

Ewidencje prowadzone przez sprzedawców wyrobów węglowych

Ewidencja:

Od 1 stycznia 2019 r. zmieni się zakres danych wykazywanych w ewidencji akcyzowej prowadzonej przez sprzedawców wyrobów węglowych. Zamiast dotychczasowego obowiązku umieszczania numerów i dat wystawionych dokumentów dostawy, wprowadzono wymóg umieszczania daty wystawienia i numeru Faktury Sprzedaży, z której wynika zapłata należności za wyroby węglowe sprzedane przez pośredniczący podmiot węglowy.

Te dane są zawarte na obecnym wydruku ewidencji wyrobów węglowych.

Zestawienie dokumentów dostaw:

Konsekwencją zniesienia od 1 stycznia 2019 r. dokumentów dostawy jest zniesienie obowiązku przesyłania do organów podatkowych kwartalnego zestawienia wystawionych dokumentów dostawy.

Pozostałe nowości

1. Poczta Polska. Z poziomu listy przesyłek umożliwiono wydruk książki nadawczej. Opcja jest dostępna pod ikoną Drukuj książkę nadawczą.

Zmiany

1. SENT. Na zgłoszeniu, dla przewożonego towaru nie jest wymagane uzupełnienie wartości w polu Masa [kg].

Poprawiono

1. JPK_FA. Wyeliminowano duplikację pozycji w pliku JPK_FA w sytuacji kiedy do Faktury Sprzedaży zostały przekształcone dwie Faktury Pro Forma, na których występował ten sam towar.

2. Faktura Zaliczkowa. Poprawiono zapis Faktury Zaliczkowej do bufora w sytuacji kiedy w menu System/ Konfiguracja/ Firma/ Magazyn/ Parametry zaznaczono Obowiązkowy rozchód ze wskazaniem na dostawy).

3. Sendit. Poprawiono nadawanie numeru listu przewozowego i adresu URL dla zleceń, w sytuacji kiedy w konfiguracji zaznaczono W pierwszej kolejności pobieraj wagę z kartotek towarowych.

4. Korekta do FS. Poprawiono zapis korekty do Faktury Sprzedaży powiązanej z korektą zbiorczą.

5. Wydruki Eko, logo. Poprawiono drukowanie logo, które posiada białe bądź przezroczyste tło.

6. Wydruk Eko Faktura. Poprawiono drukowanie kwoty słownie do zapłaty.

7. Poczta Polska. Zlecenia zatwierdzone i przekazane do nadania seryjne, w serwisie e-Nadawcy są rejestrowane na kontrahenta, który w programie został wskazany jako odbiorca zlecenia.

Współpraca z Comarch e-Sklep

Zmiany w programie Comarch ERP Optima

1. Atrybuty grupujące. W przypadku współpracy Comarch ERP Optima z e-Sklepem w wersji 2019, dla atrybutów grupujących, jedynym zalecanym formatem będzie lista.




Płace i Kadry



Płace i Kadry

Nowości

1. Aktualne wskaźniki.

Konfiguracja/Program/Płace/Podstawa składek ZUS

Wartości obowiązujące od 01.01.2019:

– Roczna podstawa składek ZUS: 142 950 zł

Konfiguracja / Program / Płace / Wynagrodzenia

Wartości obowiązujące od 01.11.2018:

– współczynnik ekwiwalentu = 20,83

Wartości obowiązujące od 01.12.2018:

– przeciętne miesięczne wynagrodzenie =  4580,20 zł

– minimalna stawka uczniów I roku = 183,21

– minimalna stawka uczniów II roku = 229,01

– minimalna stawka uczniów III roku = 274,81

Wartości obowiązujące od 01.01.2019:

– Dochód deklarowany (składki społeczne): 2859,00 zł

– Maksymalna podstawa skł. chor. dobrow.: 11 912,50 zł

– Minimalna podstawa skł. ZUS dla oddeleg.: 4765,00 zł

– Wskaźnik waloryzacji: 99,10%

– Współczynnik ekwiwalentu = 20,92

Konfiguracja/Program/Płace/Zasiłki

Wartości obowiązujące od 01.01.2019:

– Maksymalna podstawa składek emerytalno-rentowych: 2859,00 zł

Podstawa prawna:

Komunikat Prezesa Głównego Urzędu Statystycznego z dnia 13 listopada 2018 r. w sprawie przeciętnego wynagrodzenia w trzecim kwartale 2018 r. (M.P. 2018, poz. 1100)

Obwieszczenie Prezesa Zakładu Ubezpieczeń Społecznych z dnia 19 listopada 2018 r. w sprawie wskaźnika waloryzacji podstawy wymiaru zasiłku chorobowego przyjętej do obliczenia świadczenia rehabilitacyjnego w I kwartale 2019 r. (M.P. 2018, poz. 1176).

Obwieszczenie Ministra Rodziny, Pracy i Polityki Społecznej z dnia 23 listopada 2018 r. w sprawie kwoty ograniczenia rocznej podstawy wymiaru składek na ubezpieczenia emerytalne i rentowe w roku 2019 oraz przyjętej do jej ustalenia kwoty prognozowanego przeciętnego wynagrodzenia (M.P. 2018, poz. 1185)

2. Deklaracje podatkowe.

  • Wprowadzono możliwość naliczania deklaracji rocznych PIT-11(24) z załącznikiem PIT-R(19), IFT-1/1R(14), PIT‑4R(8), PIT-8AR(7) na formularzach obowiązujących dla przychodów uzyskanych w 2018 roku. W związku z brakiem schem na czas udostępnienia wersji Comarch ERP Optima 2019.1.1 podczas próby wysyłki deklaracji: PIT-11(24) z załącznikiem PIT-R(19), IFT-1/1R(14), PIT‑4R(8), PIT-8AR(7) do systemu e-Deklaracje pojawi się komunikat: Deklaracja nie została wyeksportowana z powodu błędów. Eksport niemożliwy. Na dzień udostępnienia wersji nie została opublikowana struktura pliku e-Deklaracji. Eksport będzie możliwy, gdy odpowiedni schemat zostanie opublikowany.
  • Dodano nowe wzory wydruków dla deklaracji podatkowych: PIT-11(24), PIT-R(19), IFT-1/1R(14), PIT‑4R(8), PIT‑8AR(7).
  • Dodano nowy formularz oraz wydruk zaliczki podatku na PIT – 8AR w wersji 15. Domyślnie podczas dodawania zaliczki na PIT-8AR będzie podpowiadał się nowy formularz.
  • Umożliwiono przekazanie nowych wzorów deklaracji PIT-11(24), PIT‑4R(8), PIT-8AR(7) oraz wydruku zaliczki podatku na PIT-8AR(15) do Comarch ERP Optima Pulpit Menadżera.
  • Dostosowano wydruk PIT-2 Oświadczenie pracownika dla celów obliczania miesięcznych zaliczek na podatek dochodowy od osób fizycznych do nowego wzoru.

Podstawa prawna:

Rozporządzenie Ministra Finansów z dnia 22 listopada 2018 r. w sprawie określenia niektórych wzorów oświadczeń, deklaracji i informacji podatkowych obowiązujących w zakresie podatku dochodowego od osób fizycznych (Dz.U. 2018, poz. 2237).

3. Dane firmy na deklaracje PIT. Umożliwiono wykazanie na deklaracji PIT-11 numeru PESEL jako identyfikator składającego oraz dodanie oznaczenia „w spadku” w danych identyfikacyjnych płatnika, w przypadku przedsiębiorstwa w spadku, na deklaracjach PIT-11, PIT-8AR oraz PIT-4R. Z poziomu [Konfiguracja / Firma / Dane firmy /PIT -4R, CIT-8, ZUS DRA] dodano parametry:

  • PESEL jako identyfikator składającego PIT-11 – zaznaczenie parametru umożliwia wykazanie na deklaracji PIT-11 numeru PESEL jako identyfikator składającego. Parametr jest dostępny tylko gdy jest zaznaczony parametr ‘Podatnik jest osobą fizyczną’.
  • ‘Przedsiębiorstwo w spadku’– zaznaczenie parametru spowoduje, że w naliczonych deklaracji PIT-4R, PIT-8AR oraz PIT-11 obok danych płatnika będzie widniała informacja „w spadku”.

4. Pozycje na deklaracji PIT. Dodano nowe pozycje do słownika pozycji na deklaracji PIT wykorzystywane podczas definiowania typów wypłat:

  • PIT-8A 5.Świadczenia otrzymane od banków, SKOK-ów lub instytucji finansowych, w związku z promocjami,
  • PIT-8A 7.Gromadzenie oszczędności na więcej niż jednym indywidualnym koncie emerytalnym,
  • PIT-8A 10.Odszkodowania przyznane na podstawie przepisów o zakazie konkurencji,
  • PIT-8A 11.Odprawy lub odszkodowania z tytułu skrócenia okresu wypowiedzenia umowy o pracę lub umowy o świadczenie usług zarządzania,
  • PIT-8A 13.Odsetki i dyskonto od papierów wartościowych,
  • PIT-8A 17.Dochód z tytułu umów ubezpieczenia, o którym mowa w art. 24 ust.15a,
  • PIT-8A 21.Kwoty jednorazowo wypłacane przez otwarty fundusz emerytalny, w związku ze, śmiercią współmałżonka
  • PIT-8A 22.Kwoty jednorazowo wypłacane przez ZUS, w związku ze śmiercią współmałżonka,
  • PIT-8A 23.Dochód oszczędzającego na indywidualnym koncie emerytalnym z tytułu zwrotu lub częściowego zwrotu zgromadzonych środków,
  • PIT-8A 24.Dochód uczestnika pracowniczego programu emerytalnego z tytułu zwrotu zgromadzonych środków,
  • PIT-8A Kwoty wypłaty gwarantowanej,
  • PIT-11. Wynagrodzenie z tytułu umowy o pomocy przy zbiorach,
  • PIT-11. Przychody, o których mowa w art. 20 ust. 1 ustawy,
  • PIT-11. Przychody z tytułu stypendium, o którym mowa w art. 21 ust. 1 pkt 40b ustawy.

5. Seryjne naliczanie deklaracji PIT. Umożliwiono wykazywanie na deklaracji PIT-11 oraz IFT-1/1R w danych osoby odpowiedzialnej za obliczenie deklaracji PIT oprócz imienia i nazwiska także stanowisko. Na oknie Seryjnego obliczenia deklaracji PIT dodano pole Stanowisko. Dodatkowo w polach Imię i Nazwisko domyślnie podpowiadają się dane przedstawiciela podanego w konfiguracji firmy, ale Użytkownik może je zmienić. Podane dane zostaną wykazane na deklaracji PIT-11 oraz IFT‑1/1R. W przypadku pozostawienia pustych pól, dane osoby odpowiedzialnej za obliczenie nie zostaną wykazane na deklaracjach PIT. Podczas seryjnego naliczania deklaracji IFT-1/1R dane osoby odpowiedzialnej za obliczenie zostaną uzupełnione tylko, gdy zostaną podane wszystkie dane: imię, nazwisko, stanowisko. Dane osoby upoważnionej do reprezentowania wykazywane w polu 81 należy wpisać na formularzu deklaracji pracownika.

6. e-Teczka. Umożliwiono import słownika tytułów dokumentów wykorzystywanych w e-Teczce z innej bazy danych.

Zmiany

1. Deklaracja PIT-8C. Zgodnie z rozporządzeniem przychody za 2018 r., o których mowa w art.20 ust. 1 ustawy oraz przychody z tytułu stypendiów od 01.01.2019 r. należy wykazywać w deklaracji PIT-11. W związku ze zmianą zakresu danych wykazywanych na PIT-8C za 2018 rok ukryto możliwość seryjnego naliczenia deklaracji z poziomu Listy pracowników dla zaznaczonych pracowników. Podczas pojedynczego naliczania pojawia się odpowiedni komunikat. Naliczone elementy, które w konfiguracji mają ustawioną pozycję na deklaracji PIT jako PIT-8C. Przychody, o których mowa w art.20 ust.1 ustawy automatycznie zostaną wykazaną na PIT-11(24) za 2018 w części F Informacja o wysokości przychodów, o których mowa w art.20 ust.1 ustawy.

2. Formularz nieobecności. Na formularzu nieobecności w polu ‘Zaliczka podatku od zasiłku’ dodano nową pozycję PIT-11 – bez podatku. Po ustawieniu tej opcji zasiłek chorobowy dla zleceniobiorców zostanie wykazany na PIT-11 w części F Informacja o wysokości przychodów, o których mowa w art.20 ust.1 ustawy.

3. Pozycje na deklaracji PIT. Zmieniono opis pozycji na deklaracji PIT ‘PIT-8A 6. Odsetki od pożyczek, odsetki i dyskonto od papierów wartościowych’ na ‘PIT-8A 12. Odsetki od pożyczek’.

4. Import e-Zwolnień z pliku *.csv. Umożliwiono import e-Zwolnień z pliku *.csv w przypadku, gdy dane w którymś z pól zawierały znak będący separatorem. Poprzednio podczas importu takiego pliku pojawiał się komunikat o nieprawidłowym formacie.

5. Wydruki seryjne PIT. Z poziomu deklaracji PIT pracowników ukryto możliwość seryjnego wydruku deklaracji PIT-11(22) oraz IFT-1/1R(12).1.

6. Wydruk Skierowanie na badania lekarskie. Na wydruku ‘Skierowania na badania lekarskie’ zaktualizowano podstawę prawną.

Poprawiono

1. Limit urlopu wypoczynkowego:

  • w przypadku, gdy pracownik przekraczał w ciągu roku 10-letni staż pracy, limit urlopu wypoczynkowego nie uwzględniał przysługujących pracownikowi dodatkowych dni urlopu wpisanych na zakładce 3.Etat. Poprawiono.
  • w sytuacji ponownego zatrudnienia pracownika w danej firmie po przerwie, któremu w danym roku przysługuje urlop uzupełniający, limit urlopu proporcjonalnego naliczał się w sposób nieprawidłowy. Poprawiono.

2. Kalendarz (Nie)obecności. Podczas seryjnego dodawania czasu pracy dla zleceniobiorców na kalendarzu (Nie)obecności czas pracy był nanoszony także na dni wolne i świąteczne pomimo ustawienia, że mają być niezmieniane. Poprawiono.

3. Nieobecności pracownika. Na oknie nieobecności pracownika niepoprawnie była wyświetlana nazwa kolumny Do dnia.

4. Wypłaty pracowników. Poprawiono odświeżanie podsumowania kolumn z kwotami podczas otwierania okna Wypłaty pracowników.




Księgowość



Księgowość

Nowości

1. Księgowość. Deklaracje. Umożliwiono naliczenie deklaracji rocznych na nowych formularzach obowiązujących za rok 2018 wraz z ich wydrukami oraz eksportem do Comarch ERP Pulpit Menadżera:

  • PIT-28/PIT-28S(21) z załącznikami: PIT-28/A(18), PIT-28/B(15), PIT/O(23), PIT/D(27), PIT-2K(8),
  • PIT-36/PIT-36S(26) z załącznikami: PIT/B(16), PIT/O(23), PIT/D(27), PIT-2K(8), PIT/ZG(6), PIT/Z(7), PIT/BR(3),
  • PIT-36L/PIT-36LS(15) z załącznikami: PIT/B(16), PIT/ZG(6), PIT/Z(7), PIT/BR(3),
  • CIT-8(26) z załącznikami: CIT-8/O(13), CIT-D(6), CIT-ST(7), CIT-ST/A(5), CIT-BR(4).

Udostępniono eksport do systemu e-Deklaracje deklaracji CIT-8(26).

Podczas dodawania deklaracji PIT-28/PIT-28S(21), PIT-36/PIT-36S(26), PIT-36L/PIT-36LS(15) oraz CIT‑8(26) domyślnie ustawiany jest rok 2018. Użytkownik ma możliwość jego zmiany na rok późniejszy. Jeżeli wybrany zostanie rok 2017 lub wcześniejszy to pojawia się ostrzeżenie informujące o tym, iż formularz służy do rozliczenia dochodów za rok 2018 lub okres obrachunkowy rozpoczynający się w roku 2018 lub późniejszym.

Na formularzu deklaracji PIT-28/PIT-28S(21), PIT-36/PIT-36S(26) oraz PIT-36L/PIT-36LS(15) dodano sekcję KARTA DUŻEJ RODZINY. W przypadku deklaracji PIT-28/PIT-28S(21) oraz PIT-36L/PIT-36LS(15) użytkownik ma możliwość zaznaczenia opcji Podatnik posiada ważną KDR (tak). W przypadku deklaracji PIT‑36/PIT-36S(26) użytkownik ma możliwość zaznaczenia w poz. 436 Osoba posiadająca ważną KDR opcji podatnik lub małżonek (jeżeli w poz. 6 Wybór sposobu opodatkowania zaznaczono opcję wspólnie z małżonkiem (art. 6 ust. 2)).

Na formularzu deklaracji PIT-36/PIT-36S(26) sekcja K, PIT-36L/PIT-36LS(15) sekcja J oraz CIT-8(26) sekcja G kwoty wyliczone w pozycjach dotyczących należnych zaliczek (w tym kwoty wykazane na podstawie zaliczek uproszczonych na PIT-36/ PIT-36L/ CIT-8) przenoszone są automatycznie do pozycji dotyczących zapłaconych zaliczek (za ten sam miesiąc/kwartał). Użytkownik ma możliwość edycji tych kwot. Jeżeli w pozycji Należnej zaliczki jest 0 i użytkownik ręcznie uzupełni tą kwotę to automatycznie zaktualizuje się wartość Zapłaconej zaliczki, pod warunkiem, że jej wartość była również równa 0. Zmiana kwoty w pozycji Zapłaconej zaliczki nie aktualizuje kwoty Należnej zaliczki.

Deklaracja PIT-36/PIT-36S(26)

Po zaznaczeniu parametru Przedsiębiorstwo w spadku na deklaracji PIT-36/PIT-36S(26) użytkownik ma możliwość zaznaczenia poz. 41b doliczenia na podstawie art. 44 ust. 7f i 7l ustawy dokonuje podatnik będący przedsiębiorstwem w spadku. Po zaznaczeniu poz. 41b pojawia się komunikat: Jeżeli zaznaczono pozycję 41b, to podatnik powinien wypełnić załączniki PIT/B i PIT/Z.

Podczas próby zaznaczenia poz. 39 korzysta ze zwolnienia na podstawie art. 44 ust. 7a ustawy lub 40 korzystał ze zwolnienia na podst. art. ust. 7a i dokonuje doliczenia na podst. art. 44 ust. 7f ustawy oraz równocześnie poz. 41b doliczenia na podstawie art. 44 ust. 7f i 7l dokonuje podatnik będący przedsiębiorstwem w spadku pojawia się komunikat: Można wypełnić jedną z pozycji 39 lub 40 lub 41b.

Załącznik PIT/Z(7) można dodać do deklaracji PIT-36S(26) jeżeli istnieje załącznik PIT/B dla podatnika, zaznaczono poz. 41b doliczenia na podstawie art. 44 ust. 7f i 7l ustawy dokonuje podatnik będący przedsiębiorstwem w spadku oraz uzupełniono poz. 12 Rok, w którym podatnik/małżonek korzystał ze zwolnienia – art. 44 ust. 7a.

Jeżeli do deklaracji PIT-36S(26) dodano załącznik PIT/Z to podczas próby odznaczenia poz. 41b na formularzu deklaracji pojawia się komunikat: Pozycja 41b zostanie automatycznie odznaczona po usunięciu załącznika PIT/Z dla podatnika z zakładki Załączniki.

Po zaznaczeniu parametru Przedsiębiorstwo w spadku na deklaracji PIT-36/PIT-36S(26) użytkownik ma możliwość uzupełnienia kwoty w poz. 164 Strata nieodliczona przez zmarłego przedsiębiorcę.

Kwota w poz. 202 Obliczony podatek na deklaracji PIT-36/PIT-36S(26) liczona jest według wzoru:

  • Dla dochodu <= 85 528 zł: 18% podstawy obliczenia podatku – kwota wolna od podatku,
  • Dla dochodu > 85 528 zł: 15 395,04 zł + 32% nadwyżki podstawy obliczenia podatku ponad 85 528 zł – kwota wolna od podatku.

Kwota zmniejszająca podatek, o której mowa powyżej, odliczana w rocznym obliczeniu podatku, o którym mowa w art. 34 ust. 7 albo art. 37 ust. 1 lub w zeznaniu, o którym mowa w art. 45 ust. 1 Ustawy o podatku dochodowym od osób fizycznych, wynosi:

  • 1 440 zł: dla podstawy obliczenia podatku <= 8 000 zł,
  • 1 440 zł – kwota obliczona według wzoru: 883,98 zł × (podstawa obliczenia podatku – 8 000 zł) ÷ 5 000 zł: dla podstawy obliczenia podatku > 8 000 zł <= 13 000 zł,
  • 556,02 zł – dla podstawy obliczenia podatku > 13 000 zł <= 85 528 zł,
  • 556,02 zł – kwota obliczona według wzoru: 556,02 zł × (podstawa obliczenia podatku – 85 528 zł) ÷ 41 472 zł: dla podstawy obliczenia podatku > 85 528 zł <= 127 000 zł,
  • jeżeli podstawa obliczenia podatku > 127 000 to kwota zmniejszającej podatek nie jest odejmowana.

Deklaracja PIT-36L/PIT-36LS(15)

Po zaznaczeniu parametru Przedsiębiorstwo w spadku na deklaracji PIT-36LS(15) użytkownik ma możliwość zaznaczenia poz. 11b doliczenia na podstawie art. 44 ust. 7f i 7l dokonuje podatnik będący przedsiębiorstwem w spadku. Po zaznaczeniu poz. 11b pojawia się komunikat: Należy wypełnić pozycję 12 oraz załączniki PIT/B i PIT/Z.

Podczas próby zaznaczenia poz. 11 korzystał ze zwolnienia na podst. art. ust. 7a i dokonuje doliczenia na podst. art. 44 ust. 7f ustawy oraz równocześnie poz. 11b doliczenia na podstawie art. 44 ust. 7f i 7l dokonuje podatnik będący przedsiębiorstwem w spadku pojawia się komunikat: Można wypełnić jedną z pozycji 11 lub 11b.

Załącznik PIT/Z(7) można dodać do deklaracji PIT-36LS(15) jeżeli istnieje załącznik PIT/B dla podatnika, zaznaczono poz. 11b doliczenia na podstawie art. 44 ust. 7f i 7l dokonuje podatnik będący przedsiębiorstwem w spadku oraz uzupełniono poz. 12 Rok, w którym podatnik/zmarły przedsiębiorca korzystał ze zwolnienia – art. 44 ust. 7a.

Jeżeli do deklaracji PIT-36LS(15) dodano załącznik PIT/Z to podczas próby odznaczenia poz. 11b na formularzu deklaracji pojawia się komunikat: Pozycja 11b zostanie automatycznie odznaczona po usunięciu załącznika PIT/Z dla podatnika z zakładki Załączniki.,

Po zaznaczeniu parametru Przedsiębiorstwo w spadku na deklaracji PIT-36LS(15) użytkownik ma możliwość uzupełnienia kwoty w poz. 26 Strata nieodliczona przez zmarłego przedsiębiorcę

Deklaracja CIT-8(26)

Dodano nowy wzór deklaracji CIT-8(26), na której podzielono przychody, koszty oraz odliczenia na Kapitałowe i Pozostałe.

Przychody i koszty wykazane na zaliczkach na CIT-8 w wersji wcześniejszej niż 20 przenoszone są na formularz deklaracji CIT-8(26) do kolumny Pozostałe. Przychody i koszty wykazane na zaliczkach na CIT‑8(20) przenoszone są odpowiednio do kolumny Kapitałowe oraz Pozostałe.

Do poz. 43-46, 53-62 oraz 69-70 na formularzu deklaracji CIT-8(26) przenoszona jest wartość z analogicznych pozycji z formularza ostatniej zaliczki na CIT-8(21) w danym okresie obrachunkowym. Użytkownik ma możliwość edycji tych kwot.

Ze względu na brak opisu wyliczania kwot w poz. 77-84 oraz niejednoznaczny opis wyliczania kwot w poz. 93 i 94, użytkownik ma możliwość zmiany wyliczonych automatycznie w tych polach wartości według własnego uznania.

Do poz. 210 Suma zaliczek wpłaconych przez podatnika na formularzu deklaracji CIT-8(26) przenoszona jest wartość z poz. 207 Zaliczka zapłacona Razem. Użytkownik ma możliwość edycji tej kwoty.

Jeżeli na formularzu deklaracji CIT-8(26) wskazany zostanie załącznik: SSE-R, CIT/MIT, CIT/8SP, CIT/8S lub Sprawozdanie to podczas próby wysyłki deklaracji CIT-8(26) do systemu e‑Deklaracje pojawia się komunikat: Deklaracja nie została wyeksportowana z powodu błędów. Deklaracja zawiera załączniki: SSE-R, Sprawozdanie, CIT/MIT, CIT/8SP, CIT/8S, które nie mogą być przesłane drogą elektroniczną.

Wybór w poz. 8 Podatnik posiadał w roku podatkowym status centrum badawczo-rozwojowego na formularzu załącznika CIT-BR(4) opcji tak lub uzupełnienie przynajmniej jednej z poz. 52-58 umożliwia uzupełnienie kwot w sekcji B.2 DODATKOWE ODLICZENIA PRZYSŁUGUJĄCE PODATNIKOWI LUB WSPÓLNIKOWI SPÓŁKI POSIADAJĄCEJ STATUS CENTRUM BADAWCZO-ROZWOJOWEGO.

2. Księgowość. Eksport do systemu e-Deklaracje. W związku z brakiem schem na dzień udostępnienia wersji Comarch ERP Optima 2019.1.1 podczas próby wysyłki deklaracji PIT-28/PIT-28S(21), PIT-36/PIT-36S(26) oraz PIT-36L/PIT-36LS(15) do systemu e‑Deklaracje pojawia się komunikat: Deklaracja nie została wyeksportowana z powodu błędów. Eksport niemożliwy. Na dzień udostępnienia wersji nie została opublikowana struktura pliku e-Deklaracji. Eksport będzie możliwy, gdy odpowiedni schemat zostanie opublikowany.

3. Księgowość kontowa. Zaliczka na CIT-8(21). Dodano nowy wzór zaliczki na CIT-8(21), analogiczny do deklaracji rocznej CIT-8(26), wraz z jej wydrukiem, wydrukiem informacji o odliczeniach oraz eksportem do Comarch ERP Pulpit Menadżera. Na zaliczce podzielono przychody, koszty oraz odliczenia na Kapitałowe i Pozostałe

Rys 2. Zaliczka na CIT-8, zakładka 1 CIT(D)

Odliczenia wykazane na zaliczkach na CIT-8 w wersji 20, po przeliczeniu zaliczki na CIT-8 w wersji 21 przenoszone są do kolumny Pozostałe.

Wartości uzupełnione w poz. poz. 43-46, 53-62 oraz 69-70 przenoszone są na zaliczkę na CIT-8(21) dodaną w następnym miesiącu. Kwoty podlegają edycji.

Zaliczka na CIT-8, zakładka 2 CIT(E)

Kwoty w poz. 77-84 oraz 93-94 na formularzu zaliczki na CIT-8(21) podlegają edycji przez użytkownika.

Zaliczka na CIT-8, zakładka 3 CIT(F-L)

4. Ewidencja ryczałtowa. Deklaracja PIT-28(21). Umożliwiono uwzględnienie na deklaracji PIT-28(21) przychodów z kilku działalności prowadzonych w formie ryczałtu (w tym również najmu), dodanych na formularzu kwot indywidualnych właściciela.

5. Księgowość. Samochody. Dostosowano program do zmieniających się od 01.01.2019 roku przepisów dotyczących odliczenia kosztów używania samochodów osobowych na potrzeby działalności gospodarczej. Zmiany dotyczą samochodów firmowych i obejmują:

  • możliwość zaliczenia w koszty uzyskania przychodów 100% wydatków na użytkowanie samochodu będącego środkiem trwałym w firmie, pod warunkiem prowadzenia ewidencji przebiegu pojazdu,
  • możliwość zaliczenia w koszty uzyskania przychodów 75% wydatków na użytkowanie samochodu będącego środkiem trwałym w firmie, ale wykorzystywanego do celów mieszanych (firmowych i prywatnych),
  • możliwość zaliczenia w koszty uzyskania przychodów 20% wydatków na użytkowanie samochodu będącego własnością właściciela firmy, ale nie będącego środkiem trwałym w firmie.

W związku z wyżej wymienionymi zmianami, od 01.01.2019 roku koszty samochodu właściciela należy księgować w programie Comarch ERP Optima bezpośrednio z poziomu rejestru VAT zakupu lub ewidencji dodatkowej kosztów.

Zmiana w module Księga Podatkowa

Na formularzu kategorii o typie Koszty dodano domyślnie odznaczony parametr Księguj w koszty.

Formularz kategorii kosztowej

Zaznaczenie parametru przenosi się podczas importu kategorii z poziomu Narzędzia/ Importy/ Z innej bazy danych oraz poprzez mechanizm pracy rozproszonej pomiędzy bazami prowadzonymi w formie Księgi Podatkowej.

Uwaga
Jeżeli parametr Księguj w koszty zaznaczony zostanie na formularzu kategorii na której zaznaczono wcześniej parametr Podziel odliczenia to użytkownik powinien zweryfikować Kolumnę do księgowania do KPiR i wybrać przykładowo 13. Inne – tak, aby dokument został zaksięgowany do Księgi Podatkowej. Wynika to z tego, iż dotychczas tego typu dokumenty nie podlegały księgowaniu do KPiR z poziomu rejestru VAT/ ewidencji dodatkowej. Stosowano do nich natomiast tzw. “Kilometrówkę” i korzystano z opcji Rozliczenia samochodu.

Jeżeli na dokumencie wprowadzonym do rejestru VAT zakupu wybrano w pozycji dokumentu kategorię z zaznaczonym parametrem Księguj w koszty to podczas księgowania dokumentu na zapis w Księdze Podatkowej przenoszona jest kwota przemnożona przez % wskazany na formularzu kategorii do kolumny KPiR wybranej na dokumencie. Jeżeli na dokumencie wybrano odliczenia Tak lub Warunkowo to do KPiR księgowana jest kwota netto przemnożona przez % wskazany na formularzu kategorii. Jeżeli na dokumencie wybrano odliczenia Nie to do KPiR księgowana jest kwota brutto przemnożona przez % wskazany na formularzu kategorii.

Uwaga
Wybór w nagłówku dokumentu w rejestrze VAT zakupu kategorii z zaznaczonym parametrem Księguj w koszty nie powoduje zaksięgowania do KPiR kwoty przemnożonej przez % wskazany na formularzu kategorii. Aby na zapis księgowy trafiła kwota przemnożona przez % wskazany na formularzu kategorii, kategoria ta musi zostać wybrana w pozycji dokumentu w rejestrze VAT zakupu.

W przypadku ewidencji dodatkowej kosztów:

  • jeżeli na dokumencie uzupełniono Kwoty dodatkowe i wskazano w nich kategorię z zaznaczonym parametrem Księguj w koszty to podczas księgowania dokumentu na zapis w Księdze Podatkowej przenoszona jest kwota uzupełniona w pozycji Kwot dodatkowych przemnożona przez % wskazany na formularzu kategorii do kolumny KPiR wybranej w Kwotach dodatkowych,
  • jeżeli na dokumencie uzupełniono Kwoty dodatkowe i wskazano w nich kategorię bez zaznaczonego parametru Księguj w koszty to podczas księgowania dokumentu na zapis w Księdze Podatkowej przenoszona jest cała kwota uzupełniona w Kwotach dodatkowych,
  • jeżeli na dokumencie nie uzupełniono Kwot dodatkowych, a w nagłówku dokumentu wybrano kategorię z zaznaczonym parametrem Księguj w koszty to podczas księgowania dokumentu na zapis w Księdze Podatkowej przenoszona jest kwota przemnożona przez % wskazany na formularzu kategorii do kolumny KPiR wskazanej na formularzu kategorii,
  • jeżeli na dokumencie nie uzupełniono Kwot dodatkowych, a w nagłówku dokumentu wybrano kategorię bez zaznaczonego parametru Księguj w koszty to podczas księgowania dokumentu na zapis w Księdze Podatkowej przenoszona jest cała kwota.

Uwaga
Kwota kosztu podlegająca księgowaniu do KPiR wyliczana jest jako suma pozycji, w których wybrano kategorię z zaznaczonym parametrem Księguj w koszty, przemnażana przez % wskazany na formularzu kategorii, a następnie zaokrąglana i przenoszona do KPiR.

Podczas próby dodania od 01.01.2019 r. w menu Księgowość/ Samochody/ Ewidencja samochodów na zakładce [Koszty] oraz [Rozliczenia] dokumentu związanego z samochodem właściciela pojawia się komunikat: Od 01.01.2019 roku koszty samochodu właściciela należy księgować bezpośrednio z rejestru VAT zakupu lub ewidencji dodatkowej kosztów wskazując na pozycji kategorię ze wskazanym procentem kosztów.

Zmiany w module Księga Handlowa/ Księga Handlowa Plus

W przypadku modułu Księga Handlowa/ Księga Handlowa Plus użytkownik w schemacie księgowym o typie Rejestr zakupów VAT oraz Ewidencja kosztów powinien samodzielnie wskazać, w jakiej wysokości koszty z poszczególnych dokumentów mają być księgowane.

Przykład

Aby zaksięgować w koszty 75% kwoty netto, w schemacie księgowym o typie Rejestr zakupów można wskazać:

W polu Kwota:
ROUND(@Netto*0.75,2)

W polu Warunek: @KategoriaElem =’Kod kategorii'

Aby zaksięgować w koszty 75% kwoty VAT można wskazać:

W polu Kwota: ROUND (@Vat*0.75,2)

W polu Warunek: @Odliczenia ='NIE' AND @KategoriaElem =’Kod kategorii'

Aby zaksięgować 25% kwoty netto można wskazać:

W polu Kwota: @Netto - ROUND(@Netto*0.75,2)

W polu Warunek: @KategoriaElem =’Kod kategorii'

Aby zaksięgować 25% kwoty VAT (NKUP) można wskazać:

W polu Kwota: @Vat - ROUND(@Vat*0.75,2)

W polu Warunek: @Odliczenia ='NIE’ AND @KategoriaElem =’Kod kategorii'

Aby zaksięgować pozostałą Kwotę VAT można wskazać:

W polu Kwota: @Vat

W polu Warunek: @Odliczenia ='TAK’

Podczas próby dodania od 01.01.2019 r. w menu Księgowość/ Samochody/ Ewidencja samochodów na zakładce Koszty oraz Rozliczenia dokumentu związanego z samochodem właściciela pojawia się komunikat: Od 01.01.2019 roku koszty samochodu właściciela należy księgować bezpośrednio z rejestru VAT zakupu lub ewidencji dodatkowej kosztów.

Więcej informacji w artykule Koszty samochodu właściciela od 1 stycznia 2019 r.

6. Rejestry VAT. Deklaracja VAT-7. Zawiadomienie VAT-ZD. Dostosowano program do zmieniających się od 01.01.2019 roku przepisów dotyczących korekty VAT- art.89a i art.89b ustawy o VAT – skrócono termin kwalifikowania dokumentów na zawiadomienie VAT-ZD ze 150 do 90 dni od terminu płatności. Zmiany dotyczą zarówno zawiadomienia o typie Sprzedaż, jak i Zakup.

Dokumenty, dla których 90 dni od terminu płatności przypada przed 01.01.2019 r., kwalifikowane są na zawiadomienie VAT-ZD w miesiącu/ kwartale, w którym upłynęło 150 dni od terminu płatności.

Dokumenty, dla których 90 dni od terminu płatności przypada po 31.12.2018 r., kwalifikowane są na zawiadomienie VAT-ZD w miesiącu/ kwartale, w którym upłynęło 90 dni od terminu płatności.

7. Biuro Rachunkowe. CIT-8. Udostępniono możliwość naliczenia deklaracji rocznej CIT-8(21) z załącznikami: CIT-8/O(13), CIT-D(6), CIT-BR(4), CIT-ST(7) CIT-ST/A(5) na nowych formularzach obowiązujących za rok 2018 wraz z ich wydrukami, podglądem, zatwierdzaniem, eksportem do Comarch ERP Pulpit Menadżera oraz wysyłką do systemu e-Deklaracje. Udostępniono także nowy wzór zaliczki CIT-8(21) wraz z załącznikiem CIT-8/O(13).

8. Biuro Rachunkowe.Udostępniono możliwość naliczenia deklaracji rocznych na nowych formularzach obowiązujących za rok 2018 wraz z ich wydrukami, podglądem, zatwierdzaniem oraz eksportem do Comarch ERP Pulpit Menadżera: PIT-28/PIT-28S(21) z załącznikami PIT-28/A(18), PIT-28/B(15), PIT/O(23), PIT/D(27), PIT-2K(8); PIT-36/PIT-36S(26) z załącznikami PIT/B(16), PIT/BR(3), PIT/O(23), PIT/D(27), PIT2K(8), PIT/Z(7), PIT/ZG(6); PIT-36L/PIT-36LS(15) z załącznikiem PIT/B(16), PIT/BR(3), PIT/ZG(6), PIT/Z(7); PIT-11(24) wraz z załącznikiem PIT-R(19); PIT-8AR(7); PIT-4R(8) oraz zaliczki na PIT-8AR(15). Eksport do systemu e-Deklaracje zostanie udostępniony w terminie późniejszym po opublikowaniu struktur plików e-Deklaracji.


Zmiany

1. Księgowość. Stare wzory deklaracji. Zablokowano możliwość dodawania starych wersji formularzy deklaracji PIT-28(18), PIT-36(22) oraz PIT-36L(11). Naliczenie korekty deklaracji, jej wydruk oraz wysyłka do systemu e‑Deklaracje na starszej wersji formularza dostępne będą jeżeli w bazie naliczono deklarację pierwotną za dany okres czasu w odpowiedniej wersji formularza.

2. Księgowość kontowa. Stare wzory zaliczek. Zablokowano możliwość dodawania starych wersji zaliczek na CIT-8(20). Naliczenie korekty zaliczki oraz jej wydruk na starszej wersji formularza dostępne będą jeżeli w bazie naliczono zaliczkę pierwotną za dany okres czasu w odpowiedniej wersji formularza.

3. Księgowość. Deklaracja PIT-28/PIT-28S(21), PIT-36/PIT-36S(26) oraz PIT-37(24). Załącznik PIT/O(23) oraz PIT/D(27). Po zaznaczeniu parametru Uzupełniam dane małżonka i wprowadzeniu numeru PESEL, automatycznie uzupełniana jest data urodzenia małżonka.

4. Rejestry VAT. Wprowadzono skalowanie załączników wyświetlanych na oknie podglądu dokumentu.

5. Księgowość. Samochody. Rozliczenia samochodu. Zmieniono nazwę wydruku dostępnego na zakładce [Przejazdy] z: Ewidencja samochodowa – Zestawienie przejazdów do VAT na: Ewidencja samochodowa – Zestawienie przejazdów do VAT i w koszty.

Poprawiono

1. Księgowość. Zaliczka na PIT-36L(5). Suma kwot z poz. 23 Straty z lat ubiegłych oraz 24 Składki na ubezpieczenia społeczne ograniczana jest do wysokości kwoty z poz. 21 Dochód.

2. Rejestr VAT sprzedaży. Do deklaracji VAT-7. Na wydruku Zestawienia transakcji/ Ewidencja usług świadczonych poza terytorium kraju uwzględniane są transakcje wewnątrzunijne – podatnikiem jest nabywca oraz pozaunijne – podatnikiem jest nabywca.

3. Rejestr VAT sprzedaży. Do deklaracji VAT-UE. Jeżeli w filtrze pod listą w polu Rodzaj wybrano Bez usług to na wydruku Zestawienie transakcji/ Wg numeru NIP dokumenty z zaznaczonym parametrem Inny kurs do księgowania przeliczane są po kursie do VAT.

4. Rejestr VAT zakupu. W przypadku transakcji krajowych – podatnikiem jest nabywca wprowadzonych w menu Handel/ Faktury zakupu, jeżeli w nagłówku i pozycji faktury wybrano kategorię, na której formularzu ustawiono odliczenia na Nie, to po przeniesieniu dokumentu do rejestru VAT zakupu odliczenia ustawiane są na Nie

5. Biuro rachunkowe. W specyficznych przypadkach podczas uruchamiania aplikacji Biuro Rachunkowe logowanie do programu było wydłużone i pojawiał się komunikat Niewłaściwa wersja bazy danych. Działanie poprawiono.




Ogólne i Kasa/Bank

Ogólne

Zmiany

1. Edycja wydruku – domyślny format. Na formularzu konfiguracji wydruku seryjnego wartość pola Domyślny format jest aktualizowana od razu po zmianie parametru Pliki PDF łącz w jeden dokument.

2. Definiowalna nazwa wydruków. W przypadku plików z wydrukami generowanych przez Automat windykacji oraz przez Automat faktur cyklicznych umożliwiono tworzenie nazw plików przy wykorzystaniu zmiennych dynamicznych odwołujących się do poszczególnych dokumentów.

3. Formularz kategorii. Na formularzu kategorii o typie koszty, w przypadku ustawionego rodzaju księgowości księga podatkowa, udostępniono parametr Księguj w koszty z domyślnie ustawioną wartością 75%. Parametr jest domyślnie niezaznaczony. Działanie parametru opisane zostało w części księgowej ulotki.

4. Zmiana kolejności wierszy na listach. Umożliwiono zmianę kolejności wierszy na listach w przypadku, gdy ilość pokazywanych elementów nie mieści się na ekranie.

5. Informacje techniczne. W przypadku zalogowania się do programu w trybie tylko do odczytu umożliwiono otwarcie okna Informacje techniczne dostępnego z poziomu Pomoc/ O programie.

6. Informacja dla operatora. Po zatwierdzeniu komunikatu „Aby powiększyć obszar roboczy programu możesz użyć przycisku do zwijania wstążki„, nie pokazuje się on już więcej dla określonego operatora.

Poprawiono

1. Aktualizacje automatyczne. Umożliwiono instalowanie automatycznych aktualizacji do programu w przypadku, kiedy program uruchomiony został na koncie użytkownika Windows nie będącego administratorem.

2. Zwalnianie licencji. Na oknie Informacje Techniczne na zakładce [Zalogowani użytkownicy] umożliwiono zwalnianie licencji zajętych przez wybranego Użytkownika poprzez opcję dostępną po kliknięciu prawym przyciskiem myszy oraz poprzez naciśnięcie klawisza <Delete>.

3. Zapisywanie pliku z wydrukiem na dysk. W przypadku Comarch ERP Optima w modelu usługowym umożliwiono zastępowanie istniejącego pliku z wydrukiem podczas zapisu pliku o tej samej nazwie.

4. O programie. W oknie Pomoc/ O programie widniała informacja dostępności nowszej wersji programu. Działanie poprawiono.

Kasa/Bank

Zmiany

1. Ulga na złe długi i termin płatności przekroczony o 90 dni. Od 01.01.2019 roku ulega zmianie kryterium, które pozwala na korektę VAT z tytułu ulgi na złe długi. Nieściągalność wierzytelności uważa się za uprawdopodobnioną jeśli nie została uregulowana w ciągu 90 dni od dnia upływu terminu jej płatności. W związku z tym w programie zostały wprowadzone zmiany na następujących raportach:

  • Informacje bieżące dla Kasa/Bank, raport przychodowe przeterminowane do VAT
  • Informacje bieżące dla Kasa/Bank, raport rozchodowe przeterminowane do VAT

Informacje bieżące – Dok. przychodowe przeterminowane do VAT

Na obu raportach wyświetlanych od 01.01.2019 roku prezentowane są nierozliczone dokumenty, których termin płatności został przekroczony o co najmniej 90 dni.

  • Kasa/Bank/ Dokumenty nierozliczone, zakładka Na dzień.

Lista nierozliczonych dokumentów na dzień

Po zaznaczeniu parametru Korekta – Do VAT i wpisaniu w polu Dokumenty na dzień daty 01.01.2019 lub późniejszej na liście zostaną wyświetlone dokumenty dla których termin płatności został przekroczony o co najmniej 90 dni, a w kolumnie Po terminie do VAT zostanie wyświetlona ilość dni jaka minęła od momentu zakwalifikowania dokumentu do ulgi na złe długi.

Poprawiono

1. Wydruk noty odsetkowej i ponaglenia zapłaty a informacja o jednostce samorządowej. Na wydruku noty odsetkowej i ponagleniu zapłaty, gdy w definicji wydruku zaznaczono parametr Dane jednostki samorządowej na wydruku, w sekcji Nadawca i Jednostka organizacyjna drukowały się tylko dane jednostki samorządowej. Wydruk poprawiono.

2. Automatyczny zapis kasowy, a schemat numeracji. W przypadku gdy w schemacie numeracji wskazanym jako Typ dokumentu dla rejestru sprzedaży/zakupów (Konfiguracja / Firma / Księgowość/ Płatności do rejestru VAT) jednym z członów numeracji jest rejestr, następowało niepoprawne numerowanie zapisów kasowych. Problem dotyczył tylko automatycznych zapisów kasowych dla dokumentów gotówkowych wprowadzonych do rejestru VAT, w przypadku gdy Domyślny schemat numeracji dla automatycznych zapisów kasowych (Konfiguracja / Firma / Kasa/Bank / Parametry) nie był zaznaczony. Działanie poprawiono.




Przeniesienie Microsoft SQL Server oraz Comarch ERP Optima na inne stanowisko.

Istnieje możliwość przeniesienia Microsoft SQL Server oraz programu Comarch ERP Optima na inne stanowisko. Przeniesienie należy wykonać w następujących krokach:

– Należy wykonać kopię bezpieczeństwa dla bazy konfiguracyjnej i baz firmowych. Jeżeli baz firmowych jest dużo, można wykorzystać do tego Migrator baz danych. Jest to narzędzie dostępne które można pobrać z poziomu Indywidualnej Strony Klienta (www.erp.comarch.pl/Klienci) w zakładce Comarch ERP Optima -> Aktualne wersje.

– Jeżeli licencja jest pobierana za pomocą klucza wirtualnego, należy go odpiąć ze starego stanowiska. Można to zrobić w programie Comarch ERP Manager Kluczy, na zakładce konfiguracja.

– Kolejnym krokiem jest zainstalowanie odpowiedniego oprogramowania (Comarch ERP Optima oraz SQL Server) na nowym stanowisku. Należy pamiętać, że bazy danych możemy przenieść na serwer SQL w tej samej wersji lub wyżej.
Wersję serwera SQL można sprawdzić w pliku ERRORLOG przechodząc do miejsca, gdzie zainstalowany jest serwer (domyślnie znajduje się on w lokalizacji: C:\Program Files (x86)\Microsoft SQL Server\MSSQL11.OPTIMA\MSSQL\Log). Informacja na temat wersji, podana będzie w pierwszym wierszu pliku

– Następnie, należy zainstalować program Menadżer Kluczy na nowym stanowisku i wprowadzić klucz licencyjny (wirtualny lub HASP). Manager Kluczy można pobrać na Indywidualnej Stronie Klienta wchodząc w zakładkę Comarch ERP Optima -> Aktualne wersje.

– Po zainstalowaniu obu programów, można ponownie wykorzystać program Migrator baz danych, na nowym stanowisku, aby odtworzyć bazy danych z wcześniej przygotowanych kopii.

Instrukcja wykorzystania programu Migrator Baz Danych znajduje się w poniższym linku:

http://download.comarch.com/wersje_pliki/opisy/optima/dokumentacja/2015.5.1/Comarch%20SQL%20Migrator.pdf

Opisana sytuacja dotyczy przeniesienia zarówno Comarch ERP Optima jak i Microsoft SQL Server. Jeżeli serwer SQL ma pozostać na starym stanowisku, a przeniesiony ma być sam program Comarch ERP Optima, to należy zainstalować go na nowym stanowisku oraz podłączyć się do drugiego komputera, który będzie pełnił rolę serwera.




OPT043 Zaawansowane schematy księgowe

Data aktualizacji: 28-11-2018


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_kwotasys),0)
from cdn.bnkzdarzenia
join cdn.formyplatnosci on bzd_fplid = fpl_fplid
where fpl_nazwa = @nazwa
and bzd_dokumenttyp = 2 and bzd_dokumentid = @vanid
return @wynik
end
GO

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

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

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

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

Kategoria ogó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')