Instrukcja administratora > Definiowanie i nadzór > Definiowanie składników

Drukuj

Definiowanie składników

Obok ustawienia właściwości składników wynagrodzeń, możemy dodatkowo określić sposób wyliczenia poszczególnego składnika.

Przed przystąpieniem do definiowania musimy uświadomić sobie, że każdy składnik podczas naliczania wynagrodzeń posiada trzy wartości: wartość zadaną, wartość wyliczoną nominalną i wartość wyliczoną. Dodatkowo składniki podstawiane z angażu posiadają w angażu dwie wartości - wartość zadaną i wartość wyliczoną.

W zależności od definicji, wartości te mogą być określane lub wyliczane na różne sposoby. Kolejność i sposób wyliczania jest następująca:

(1) Wartość zadana w angażu

1.wartość wprowadza się ręcznie podczas wypisywania umowy o pracę

2.oblicza się na podstawie Definicji wartości zadanej

(lub historycznie wpływ na nią mają użyte w Definicji wartości wyliczonej nominalnej funkcje staz() i akrd())

(2) Wartość wyliczona w angażu

1.przepisuje się wartość zadana

2.oblicza się na podstawie Definicji wartości wyliczonej nominalnej

(3) Wartość zadana na liście płac

1.wprowadza się ręcznie bezpośrednio podczas naliczania (może być niedostępna do wprowadzania)

2.podstawia z wartości zadanej w angażu

3.podstawia się z danych do naliczeń

4.podstawia z innych ewidencji (np. ewidencji kosztów)

5.oblicza się na podstawie Definicji wartości zadanej

(lub historycznie wpływ na nią mają użyte w Definicji wartości wyliczonej nominalnej funkcje staz() i akrd())

(4) Wartość wyliczona nominalna na liście płac

1.przepisuje się wartość zadana

2.oblicza się na podstawie Definicji wartości wyliczonej nominalnej

(5) Wartość wyliczona na liście płac

1.przepisuje się wartość wyliczona nominalna

2.uwzględnia współczynnik obecności (właściwości pomniejszyć o ustawione dla składnika)

3.oblicza się na podstawie Definicji wartości wyliczonej,

Zależności pomiędzy wartościami danego składnika przedstawia rysunek:

150402

Wyjątkiem są składniki następujących 4 rodzajów: płaca godzinowa, dod.stałe godz., nadgodziny i godziny ponadwymiarowe. Składniki te posiadają tylko jedną definicję: Definicja wartości wyliczonej nominalnej, w której definiowana jest tylko stawka (oprócz godzin ponadwymiarowych, w których definiowana jest stawka razy ilość godzin). Dla tych rodzajów składników nie istnieje wartość wyliczona nominalna. Kolejność i sposób wyliczania jest następujący:

(1) Wartość zadana w angażu

1.wartość wprowadza się ręcznie podczas wypisywania umowy o pracę

(2) Wartość wyliczona w angażu

1.przepisuje się wartość zadana

(3) Wartość zadana na liście płac

1.wprowadza się ręcznie bezpośrednio podczas naliczania (może być niedostępna do wprowadzania)

2.podstawia z wartości zadanej w angażu

3.oblicza się na podstawie Definicji wartości wyliczonej nominalnej (w której zdefiniowana jest tylko stawka)

(5) Wartość wyliczona na liście płac

1.oblicza się na podstawie wartości zadanej i odpowiedniej ilości godzin w zależności od rodzaju:

płaca godzinowa, dod.stałe godz. - godziny pracy z karty pracy (Godz.pracy)

nadgodziny - dla 50%: godz.nadl.50%, dla 100%: godz.nadl.100%, dla pozostałych (podstawa nadgodzin nie ujęta w płacy zasadniczej): Godz.pracy minus Nomin.godz.pracy, czyli nadwyżka godzin

godziny ponadwymiarowe - oblicza się na podstawie Definicji wartości wyliczonej nominalnej, gdzie zdefiniowana jest pełna wartość, a nie stawka jak w pozostałych przypadkach

W ogromnej większości przypadków po wprowadzeniu nowego składnika wystarczy określić rodzaj składnika (Rodzaj), wszystkie właściwości na zakładce Naliczanie i nie musimy wcale definiować sposobu wyliczenia składnika lub używamy tylko Definicji wartości wyliczonej nominalnej.

Wchodząc do definicji b10_defin możemy wpisać wyrażenie (wzór), służące do określenia sposobu przeliczenia wartości zadanej, nominalnej i wyliczonej danego składnika. Najczęściej wyrażenie wprowadzamy w Definicji wartości wyliczonej nominalnej.

150401

W wyrażeniu możemy używać składniki, pola systemowe, funkcje, liczby i działania.

Przykładowo wyrażenie, określające sposób wyliczenia premii regulaminowej (wartość wyliczona) może mieć postać:

okr(angz(placa zasadnicza)*[premia regulaminowa]/100,-2)

gdzie:

angz(placa zasadnicza) – funkcja pobierająca wartość zadaną składnika z angażu

[premia regulaminowa] – składnik wynagrodzenia (wartość zadana wprowadzana w angażu lub podczas naliczania)

/100 – dzielenie przez 100 (premię regulaminową wprowadzamy w procentach)

okr(...,-2) – funkcja zaokrąglająca liczbę do pełnych groszy (do 10-2)

Przy definiowaniu składników możemy posługiwać się następującymi symbolami:

Składniki wynagrodzeń - ujęte w nawiasy kwadratowe nazwy składnika oznaczają wartość wyliczoną tego składnika lub wartość zadaną składnika, jeśli używamy nazwy tego samego składnika, który definiujemy

[płaca zasadnicza] – wartość wyliczona (nie nominalna) płacy zasadniczej

[premia regulaminowa] – w definicji premii regulaminowej oznacza jej wartość zadaną (wprowadzaną), czyli procent premii

[premia regulaminowa] – w definicji innego składnika oznacza jej wartość wyliczoną, czyli wartość premii

Pola systemowe – użyte nazwy własne pól systemowych poprzedzone funkcją sys() oznaczają wartości pól systemowych, opisanych wcześniej

sys(MinKraj) – podstawiona z parametrów systemu wartość najniższego wynagrodzenia za zadany okres

sys(PrzychodBrutto) – przeliczona na liście płac wartość przychodu brutto

Klikając myszą na danym polu systemowym z wciśniętym klawiszem Ctrl do definicji podstawi się to pole od razu poprzedzone funkcją sys().

Liczby - w definicji można używać bezpośrednio liczb, części dziesiętne liczby powinny być oddzielone kropką, liczby ujemne poprzedza znak (-)

12400  1200  0.21  -123  -123.45

Operatory arytmetyczne - na dowolnych składnikach, polach oraz liczbach można przeprowadzać podstawowe działania arytmetyczne:

* – mnożenie

/ – dzielenie

+ – dodawanie

- – odejmowanie lub negacja

Mnożenie i dzielenie wykonywane jest wcześniej niż dodawanie i odejmowanie, kolejność wykonywanych działań można zmieniać stosując nawiasy okrągłe ().

Priorytety działań wykonywanych na podstawie definicji mogą być inne od oczekiwanych, dlatego należy stosować nawiasy okrągłe () w celu nadania odpowiedniej kolejności przeliczeń. Przykładowo a-b+c bez użycia nawiasów od a odejmie sumę b+c, żeby było prawidłowo należy użyć nawiasów: (a-b)+c.

Instrukcja warunkowa - definicja pól listy płac pozwala na stosowanie instrukcji warunkowych typu: jeśli warunek jest spełniony to instrukcja 1, w przeciwnym wypadku instrukcja 2

warunek ? instrukcja1 : instrukcja2 - jeśli warunek jest spełniony to instrukcja1 w przeciwnym wypadku instrukcja2

przy zadawaniu warunków można używać operatorów logicznych:

o& - i

o| - lub

o! - negacja

o> - większe

o>= - większe lub równe

o< - mniejsze

o<= - mniejsze lub równe

o= - równe

o!= - różne

Na przykład:

sys(Etat)<1 ? 0 : sys(MinKraj) – jeśli pracownik jest zatrudniony na niepełny etat to podstaw zero, w przeciwnym wypadku podstaw najniższą krajową

(sys(Etat)=1) & ([płaca brutto]<sys(MinKraj)) ? sys(MinKraj) : 0 – jeśli pracownik jest zatrudniony na cały etat i jednocześnie płaca brutto jest mniejsza od najniższej krajowej, to podstaw najniższą krajową, w przeciwnym wypadku zero

Kompilacja warunkowa - ujęta w nawiasy {} część definicji brana jest pod uwagę podczas przeliczania list płac, natomiast pomijana jest przy przeliczaniu składników w angażu (dotyczy składników ujętych w angażu)

instrukcja1 {instrukcja2} instrukcja3 {instrukcja4} instrukcja5

w angażu wykonana zostanie: instrukcja1 instrukcja3 instrukcja5

natomiast przy naliczaniu wynagrodzeń: instrukcja1 instrukcja2 instrukcja3 instrukcja4 instrukcja5

Na przykład:

[stawka godz.szkodl.]{*godz(5,0)} – jeśli stawka za godziny szkodliwe byłaby określona w angażu, to w wartości wyliczonej w angażu przepisałaby się stawka podana w wartości zadanej, natomiast na liście płac w wartości zadanej obliczyłaby się kwota, czyli stawka razy ilość godzin

Funkcje - dostępne są następujące funkcje:

Funkcje przeliczeniowe:

znak(x) - znak liczby

np. znak(12.34)=1 znak(-12.34)=-1 znak(0)=0

min(x,y) - mniejsza z dwóch liczb

np. min(3,7)=3

max(x,y) - większa z dwóch liczb

np. max(5,10)=10 max(10,5)=10

dod(x) - dodatnia część liczby

np. dod(12.34)=12.34 dod(-12.34)=0

mod(x) - wartość bezwzględna liczby

np. mod(12.34)=12.34 mod(-12.34)=12.34

okr(x,n) - zaokrąglenie części całkowitej z dokładnością 10n,

dla n równego 0 zaokrąglamy do pełnej części całkowitej (okr(x,0) - zaokrąglenie do pełnych złotych)

np. okr(1.2,0)=1 okr(1.7,0)=2 okr(1.5,0)=2

dla n dodatniego zaokrąglamy do n miejsc po przecinku w lewo (okr(x,1) - zaokrąglenie do pełnych 10 zł, okr(x,2) - do pełnych setek)

np. okr(234.56,2)=200

dla n ujemnego zaokrąglamy do n miejsc po przecinku w prawo (okr(x,-1) - zaokrąglenie do pełnych 10 gr, okr(x,-2) - do pełnych groszy)

np. okr(234.56,-1)=234.6 okr(234.5666,-1)=234.67

okrd(x,n) - zaokrąglenie części całkowitej w dół na zasadach podobnych jak okr(x,n),

np. okrd(1.2,0)=2 okrd(1.7,0)=2

okrg(x,n) - zaokrąglenie części całkowitej w górę na zasadach podobnych jak okr(x,n),

np. okrg(1.2,0)=1 okrg(1.7,0)=1

Funkcje pobierające kwoty z b10_umpraca angażu i z danych do naliczeń:

angz(nazwa) - podaje wartość zadaną (wprowadzoną) składnika z angażu, obejmującego naliczany okres

np. angz(płaca zasadnicza)=2000.00 (złotych, płaca nominalna)

angz(premia regulaminowa)=10.00 (procent)

angw(nazwa) - podaje wartość wyliczoną składnika z angażu, obejmującego naliczany okres

np. angw(płaca zasadnicza)=2000.00 (zł, płaca za zadany okres)

angw(premia regulaminowa)=200.00 (zł, premia za zadany okres)

nngz(nazwa), nngw(nazwa) - funkcje zachowujące się podobnie jak angz() i angw() z tą różnicą, że przy wyliczaniu podstawy do urlopu nie będzie pobierana aktualna wartość z angażu, lecz za poprzedni okres

danl(nazwa) - podaje wartość składnika z danych do naliczeń

Funkcje pobierające kwoty z aktualnego naliczania:

wz(nazwa) - podaje wartość zadaną (wprowadzoną) składnika podczas naliczania (tożsame z [nazwa] dla definicji tego samego składnika)

np. wz(premia uznaniowa)=150.00 (kwota wprowadzona)

wz(premia regulaminowa)=10.00 (procent)

ww(nazwa) - podaje wartość wyliczoną składnika (podczas naliczania), tożsame z [nazwa] dla definicji innego składnika

np. ww(premia uznaniowa)=150.00 (kwota przeliczona, czyli faktyczna wartość danego składnika)

ww(premia regulaminowa)=160.00 (kwota)

nom(nazwa) - podaje nominalną wartość wyliczoną składnika (podczas naliczania)

np. nom(premia uznaniowa)=150.00

nom(premia regulaminowa)=200.00 (kwota przeliczona nominalna)

wsp(nazwa) - podaje współczynnik pomniejszenia wartości wyliczonej w stosunku do nominalnej, zapamiętany na podstawie właściwości składnika pomniejszyć o

np. wsp(premia uznaniowa)=1.00 (kwota nie pomniejszona)

wsp(premia regulaminowa)=0.80 (kwota pomniejszona o 80 procent)

sys(nazwa)- podaje wartość pola systemowego (jest to jakby wartość wyliczona, gdyż pola systemowe nie mają wartości zadanej

np. sys(MinKraj) – aktualna wartość najniższej krajowej, podstawiona z parametrów naliczania

sys(PrzychodBrutto) – kwota przychodu brutto

Funkcje pobierające kwoty z naliczeń za poprzednie miesiące:

dskl(nazwa,m1,m2) - wartość wyliczona składnika nazwa wypłacona za okres od sprzed m1 miesięcy do sprzed m2 miesięcy, czyli na podstawie daty wypłaty

np. dskl(premia uznaniowa,1,3) - wartość premii uznaniowej wypłaconej w 3 poprzednich miesiącach

dsklp(nazwa,m1,m2) - jak dskl, tylko pobiera dane ze wszystkich aktualnych zatrudnień pracownika

wskl(nazwa,m1,m2) - wartość wyliczona składnika nazwa za okres wynagrodzeń za okres od sprzed m1 miesięcy do sprzed m2 miesięcy, czyli na podstawie okresu wynagrodzeń

np. wskl(premia uznaniowa,1,3) - wartość premii uznaniowej wypłacona za okres 3 miesięcy

wsklp(nazwa,m1,m2) - jak wskl, tylko pobiera dane ze wszystkich aktualnych zatrudnień pracownika

kskl(nazwa,m1,m2) - wartość wyliczona składnika nazwa za okres kartoteki za okres od sprzed m1 miesięcy do sprzed m2 miesięcy, czyli na podstawie miesiąca kartoteki wynagrodzeń

np. kskl(premia uznaniowa,1,3) - wartość premii uznaniowej wypłacona za okres 3 miesięcy, na podstawie kartoteki wynagrodzeń przypisanej do listy płac

dnskl(nazwa,m) - wartość wyliczona składnika nazwa narastająco od miesiąca stycznia do miesiąca sprzed m miesięcy, na podstawie daty wypłaty

np. dnskl(premia uznaniowa,0) - wartość premii uznaniowej wypłaconej od stycznia do bieżącego miesiąca

dnskl(premia uznaniowa,1) - wartość premii uznaniowej wypłaconej od stycznia do poprzedniego miesiąca

wnskl(nazwa,m) - wartość wyliczona składnika nazwa narastająco od miesiąca stycznia do miesiąca sprzed m miesięcy, na podstawie okresu wynagrodzeń

np. wnskl(premia uznaniowa,0) - wartość premii uznaniowej za okres od stycznia do naliczanego miesiąca

wnskl(premia uznaniowa,1) - wartość premii uznaniowej za okres od stycznia do poprzedniego naliczonego miesiąca

knskl(nazwa,m) - wartość wyliczona składnika nazwa narastająco od miesiąca stycznia do miesiąca sprzed m miesięcy, na podstawie kartoteki wynagrodzeń

np. knskl(premia uznaniowa,0) - wartość premii uznaniowej z kartoteki od stycznia do bieżącej kartoteki listy

knskl(premia uznaniowa,1) - wartość premii uznaniowej od stycznia do kartoteki z poprzedniego miesiąca

dskz(nazwa,m1,m2), wskz(nazwa,m1,m2), kskz(nazwa,m1,m2) - funkcje w działaniu podobne do dskl(), wskl(), kskl() podające wartości zadane, a nie wyliczone

dsys(nazwa,m1,m2) - analogicznie jak funkcja dskl(nazwa,m1,m2) dla pól systemowych

np. dsys(PrzychodBrutto,1,3) - wartość przychodu brutto z dochodów w 3 poprzednich miesiącach

dsysp(nazwa,m1,m2) - analogicznie jak funkcja dsys, tylko pobiera dane ze wszystkich aktualnych zatrudnień pracownika

wsys(nazwa,m1,m2) - analogicznie jak funkcja wskl(nazwa,m1,m2) dla pól systemowych

np. wsys(PrzychodBrutto,1,3) - wartość przychodu brutto z okresu wynagrodzeń w 3 poprzednich miesiącach

wsysp(nazwa,m1,m2) - analogicznie jak funkcja wsys, tylko pobiera dane ze wszystkich aktualnych zatrudnień pracownika

ksys(nazwa,m1,m2) - analogicznie jak funkcja kskl(nazwa,m1,m2) dla pól systemowych

np. ksys(PrzychodBrutto,1,3) - wartość przychodu brutto z kartotek wynagrodzeń w 3 poprzednich miesiącach

dnsys(nazwa,m), wnsys(nazwa,m), knsys(nazwa,m) - funkcja podobne do dnskl(), wnskl(), knskl() pobierające narastające wartości pól systemowych, a nie składników

np. dnsys(PrzychodBrutto,1) - wartość przychodu brutto narastająco od stycznia do miesiąca poprzedniego

Funkcje określające daty listy płac:

dm(x) - miesiąc (x=1) i rok (x=2) daty wypłaty listy

np. gdy data wypłaty listy to 10-12-2002, to dm(1)=12, dm(2)=2002

wm(x) - miesiąc (x=1) i rok (x=2) końcowego okresu wynagrodzeń listy (daty wynagrodzenia za okres do)

np. gdy wynagrodzenia za okres od 01-11-2002 do 30-11-2002, to wm(1)=11, wm(2)=2002

wo(x) - miesiąc (x=1) i rok (x=2) początkowego okresu wynagrodzeń listy (daty wynagrodzenia za okres od)

km(x) - miesiąc (x=1) i rok (x=2) kartoteki wynagrodzeń listy

np. gdy do kartoteki wynagrodzeń miesiąc: listopad, rok: 2002, to km(1)=11, km(2)=2002

nm(x) - miesiąc (x=1) i rok (x=2) końcowego okresu nieobecności listy (daty nieobecności za okres do)

np. gdy nieobecności za okres od 01-11-2002 do 30-11-2002, to wm(1)=11, wm(2)=2002

no(x) - miesiąc (x=1) i rok (x=2) początkowego okresu nieobecności listy (daty nieobecności za okres od)

Funkcje pobierające dane z b10_kpmies karty pracy:

dni(id,mod,k) - podaje dni z karty pracy za naliczany okres

oid - oznacza rodzaj dni z karty pracy:
0 - nominalne dni pracy,
1 - dni wolne,
2 - dni pracy,
3 - delegacje,
4 - chorobowe,
5 - chorobowe 100%,
6 - chorobowe wypadkowe,
7 - rehabilitacja i rehabilitacja 100%,
8 - rehabilitacja wyp.,
9 - opieka n.dzieckiem,
10 - opieka inne,
11 - macierzyński i ojcowski,
12 - urlop wypoczynkowy,
13 - urlop okolicznościowy,
14 - urlop n.dzieckiem,
15 - urlop dodatkowy,
16 - nieobecność płatna,
17 - urlop wychowawczy,
18 - urlop bezpłatny,
19 - nieobecność uspr.,
20 - nieobecność nieuspr.,
21 - służba wojskowa,
23 - chorobowe szpitalne,
24 - urlop wypoczynkowy limitowany (na żądanie),
25 - chorobowe niepłatne inne i z tyt.nienabycia prawa do zas.,
26 - urlop szkoleniowy,
28 - urlop opiekuńczy,
29 - nieobecność płatna - siła wyższa,
99 - dni nieobjęte umową oraz dodatkowo szczegółowe rodzaje dni z karty zasiłkowej:
100 - wynagr.za czas choroby 80%,
101 - wynagr.za czas choroby 100%,
102 - wynagr.za czas choroby 100% wypadkowe,
103 - zasiłek chorobowy 80%,
104 - zasiłek chorobowy 100%,
105 - zasiłek chorobowy 100% wypadkowe,
106 - świadczenie rehabilitacyjne 90%,
107 - świadczenie rehabilitacyjne wypadkowe,
108 - zasiłek opiekuńczy nad dzieckiem 80%,
109 - zasiłek opiekuńczy inne 80%,
110 - zasiłek macierzyński 100%,
111 - zasiłek chorobowy 70%,
112 - niepłatny,
113 - świadczenie rehabilitacyjne 75%,
114 - świadczenie rehabilitacyjne 100%,
115 - zasiłek macierzyński 60%,
116 - zasiłek macierzyński 80%,
117 - zagraniczny,
118 - zagraniczny wypadek,
119 - rodzicielski 70%,
120 - macierzyński 81,5%

omod - pobiera dni z wszystkich dni (0), tylko z dni pracujących (1) lub tylko z dni oznaczonych jako wolne od pracy (2) ponadto w przypadku dni chorobowych (dla id równe 4, 5 lub 6) możemy przy dodatkowych ustawieniach mod uzyskać:
3 - dni zakładowe wszystkie,
4 - dni zusowskie wszystkie,
5 - dni zakładowe pracujące,
6 - dni zusowskie pracujące
7 - dni zakładowe wolne,
8 - dni zusowskie wolne

ok - rodzaj okresu listy płac:
0 - z okresu wynagrodzeń, 1 - z okresu nieobecności
np. dni(2,0,0) - dni przepracowane
dni(0,1,0) - nominalne dni pracy
dni(99,1,0) - dni pracujące nieobjęte umową
dni(99,0,0) - dni nieobjęte umową (razem z sobotami i niedzielami)

dni(id,mod,k,m1,m2) - podobnie jak funkcja dni(id,mod,k) podaje dni z karty pracy, ale za okres sprzed m1 do sprzed m2 miesięcy

np. dni(2,0,0,1,3) - dni przepracowane w poprzednich 3 miesiącach

dnix(id,mod,k,m,d1,d2) - podobnie jak funkcja dni(id,mod,k,m1,m2)podaje dni z karty pracy sprzed m m-cy od d1 dnia okresu do d2 dnia okresu

dniz(igz,id,mod,k,m,d1,d2) - podobnie jak funkcja dni(id,mod,k,m1,m2), tylko sumuje dni dla okreslonej grupy zleceń igz

dgo(id,mod,k) - podaje dni z karty pracy za naliczany okres w przeliczeniu na godziny pracy, parametry identyczne jak w funkcji dni(id,mod,k)

np. dgo(12,1,0) - ilość godzin urlopu wypoczynkowego

dgo(id,mod,k,m1,m2) - podobnie jak funkcja dgo(id,mod,k) podaje dni w godzinach, ale z poprzednich kart pracy za okres sprzed m1 do sprzed m2 miesięcy

np. dgo(12,1,0,1,3) - godziny urlopu w poprzednich 3 miesiącach

godz(id,mod) - podaje liczbę godzin z karty pracy

oid - oznacza rodzaj godzin z karty godzinowej:
0 - Nomin.godz.pracy,
1 - Godz.pracy,
2 - Godz.nadl.50 %
3 - Godz.nadl.100 %
4 do 19 - dodatkowe godziny określone w składnikach karty pracy
dodatkowo w przypadku rozbudowanej karty pracy (patrz Godziny do odpracowania) godziny faktyczne:
101 - Godz.pracy fakt.,
102 - Godz.nadl.50 % f.
103 - Godz.nadl.100 % f.

omod - pobiera godziny:
0 - z wszystkich dni,
1 - tylko z dni pracujących,
2 - tylko z dni oznaczonych jako wolne od pracy
5 - z nominalnych dni pracujących z kalendarza pracownika,
6 - z nominalnych dni pracy z kalendarza urzędowego,
7 - z nominalnych dni pracy z kalendarza urzędowego z uwzględnieniem oddawania dnia wolnego za święto
np. godz(1,0) - wszystkie godziny pracy|
godz(1,1) - godziny przepracowane w dni pracujące
godz(1,2) - godziny przepracowane w dni wolne
godz(2,0) - nadgodziny 50%
godz(3,0) - nadgodziny 100%
godz(0,1) - nominalne godziny pracy
+ dodatkowo dla id=102 i id=103 możemy wybrać nadgodziny do odpracowania tylko dodatnie (3) (zielone do zwrotu) lub tylko ujemne (4) (czerwone do odpracowania)
+ dodatkowo dla id=0 możemy pobrać nominalne godziny pracy bezpośrednio z kalendarza (5) - godz(0,5)

godz(id,mod,m) - podobnie jak funkcja godz(id,mod) pobiera godziny z karty pracy, ale sprzed m miesięcy

np. godz(2,0,1) - nadgodziny 50% z poprzedniego miesiąca

godzw(id,mod), godzw(id,mod,m) - działa tak samo jak funkcja godz(), ale pobiera dane z okresu wynagrodzeń listy, a nie z okresu nieobecności

godzz(igz,id,mod,m) - podobnie jak funkcja godz(id,mod,m) pobiera godziny z karty pracy, sprzed m miesięcy, ale tylko z grupy zleceń określonej przez identyfikator igz

np. godz(5,2,0,1) - nadgodziny 50% z poprzedniego miesiąca tylko z grupy zleceń o ide=5

gpz(id) - pobiera ilość godzin pracy zdalnej do składnika wynagrodzeń:

id = 0 - praca zdalna hybrydowa
id = 1 - praca zdalna polecona
id = 2 - praca zdalna okazjonalna
id = 3 - praca zdalna stała

gfer(id,mod) - średnia feryjna - podaje średnią ilość godzin ponadwymiarowych liczoną jako suma godzin o rodzaju id od września do grudnia podzielona przez 120

gwkc(id,mod) - średnia wakacyjna - podaje średnią ilość godzin ponadwymiarowych liczoną jako suma godzin o rodzaju id od sierpnia roku poprzedniego do maja podzielona przez 270

Zakres brany pod uwagę przy obliczaniu średniej feryjnej i średniej wakacyjnej można zmienić w ustawieniach płacowych na zakładce Definicje.

bogo(id) - w przypadku rozbudowanej karty pracy (patrz Godziny do odpracowania) funkcja pobiera ilość godzin pozostałych z poprzedniego okresu do odpracowania/zwrotu w zależności od id: 1 - nadgodziny 50%, 2 - nadgodziny 100%

hgodz(id_harm,id,mod), hgodz(id_harm,id,mod,m) - w przypadku wykorzystania szablonów harmonogramów (patrz Wewnętrzny system RCP) funkcje analogiczne do godz() pobierające godziny z karty pracy dla zadanego harmonogramu, należy podać identyfikator szablonu harmonogramu (id_harm)

hgodzw(id_harm,id,mod), hgodzw(id_harm,id,mod,m) - funkcje analogiczne do hgodz() pobierające godziny z karty pracy dla zadanego harmonogramu, ale po okresie wynagrodzeń listy, a nie okresie nieobecności

Funkcje pobierające lata pracy:

staz(id) - w zależności od dotychczasowej ilości lat pracy funkcja zwraca wartości, określone w definicji stażu o numerze id (standardowo staz(1))

Używając tej funkcji w Definicji wartości wyliczonej nominalnej automatycznie podstawi się również wartość zadana jako wartość tej funkcji (czyli po prostu procent stażu). W takim przypadku w definicji wartości wyliczonej nominalnej funkcji tej możemy użyć tylko raz (kolejne użycia zastępując funkcją stla()).

W przypadku bardziej skomplikowanych wyliczeń dodatku stażowego do ukazania procentu stażu używamy Definicję wartości zadanej, w której funkcję staz() możemy wykorzystywać wielokrotnie.

stla(id) - funkcja ta zwraca identyczną wartość co funkcja staz() lecz nie powoduje zmiany wartości zadanej i można ją używać wielokrotnie w jednej definicji wartości wyliczonej nominalnej

Funkcje pobierające dodatkowe parametry naliczania:

par(id) - w zależności od parametru id możemy uzyskać wartości wprowadzone w parametrach naliczania (menu Ustawienia - Parametry naliczania) na poszczególnych zakładkach:

oDodatkowe
1 do 20 - wartości dodatkowych 20 parametrów własnych

oSkładki ZUS
101 - procent składki emerytalnej płatnej przez zakład
102 - procent składki emerytalnej płatnej przez pracownika
103 - procent składki rentowej płatnej przez zakład
104 - procent składki rentowej płatnej przez pracownika
105 - procent składki chorobowej
106 - procent składki wypadkowej
1106 - procent składki wypadkowej wpisany w parametrach firmy
107 - procent składki zdrowotnej
108 - procent składki zdrowotnej odliczanej od podatku
109 - procent składki na FP
110 - procent składki na FGŚP
161 - procent składki na FEP

oPodstawy ZUS
111 - podstawa składki emerytalno-rentowej dla właściciela
112 - podstawa składki chorobowo-wypadkowej dla właściciela
113 - podstawa składki zdrowotnej dla właściciela
114 - podstawa obniżonej składki emerytalno-rentowej dla właściciela
115 - podstawa obniżonej składki chorobowo-wypadkowej dla właściciela
116 - kwota ograniczenia podstawy wymiaru składek emerytalno-rentowych
146 - podstawa wymiaru składki społecznej przy zasiłku wychowawczym
160 - podstawa wymiaru składki zdrowotnej przy zasiłku wychowawczym
168 - najniższy zasiłek macierzyński

oZasiłki ZUS (obecnie niewykorzystywane)
117 - zasiłek pielęgnacyjny
118 - zasiłek rodzinny na 1 i 2 dziecko
119 - zasiłek rodzinny na 3 dziecko
120 - zasiłek rodzinny na każde kolejne dziecko
121 - zasiłek wychowawczy
122 - zasiłek dla samotnie wychowujących dziecko
151 - zasiłek rehabilitacyjny na dziecko do 5 roku
152 - zasiłek rehabilitacyjny na dziecko powyżej 5 roku
153 - rozpoczęcie roku szkolnego
154 - nauka w szkole - zakwaterowanie
155 - nauka w szkole - dojazd

oKoszty uzyskania
124 - kwota miesięcznych kosztów uzyskania
125 - kwota kosztów podwyższonych
126 - procent kosztów umów zlecenia
127 - procent kosztów umów o dzieło
128 - procent kosztów praw autorskich
129 - kwota progu naliczania kosztów

oPodatek
130 - procent podatku poniżej pierwszego progu podatkowego
131 - procent podatku poniżej drugiego progu podatkowego
132 - procent podatku powyżej drugiego progu podatkowego
133 - kwota pierwszego progu podatkowego
134 - kwota drugiego progu podatkowego
135 - procent podatku ryczałtowego
147 - procent podatku od dywidendy
137 - kwota miesięcznej ulgi podatkowej
138 - kwota rocznej ulgi podatkowej
159 - roczna kwota ulgi z tytułu wychowywania dziecka

oWynagrodzenia
136 - najniższa krajowa
143 - świadczenia urlopowe
144 - przeciętne wynagrodzenie za ostatni kwartał
148 - wynagrodzenie uczniów 1 roku
149 - wynagrodzenie uczniów 2 roku
150 - wynagrodzenie uczniów 3 roku
162 - przeciętne wynagrodzenie do podstawy chorobowego
163 - minimalna stawka godzinowa
166 - przeciętne wynagr. za IV kw. ub.r.
167 - współczynnik ekwiwalentu

oRyczałty
139 - stawka ryczałtu samochodowego do 900 ccm (za 100 km)
140 - ryczałt samochodowy powyżej 900 ccm (za 100 km)
141 - ryczałt za motocykl (za 100 km)
142 - ryczałt za motorower (za 100 km)
156 - ryczałt za dojazdy
157 - dzienna dieta
158 - ryczałt za nocleg

oSzkoła
145 - najniższa stażysty (nauczyciele)

pstw(id) - pobierane z parametrów naliczania (po dacie wypłaty listy w przeciwieństwie do funkcji par pobierającej po okresie wynagrodzeń) podstawy ZUS właściciela (zakładka Podstawy ZUS) w zależności od id id: 0 - emerytalno-rentowa, 1 - chorobowo-wypadkowa, 2 - zdrowotna, 3 - E-R obniżona, 4 - C-W obniżona, 5 - zdrowotna obniżona

Funkcje dodatkowe:

akrd(id,mod) - w zależności od parametru mod pobrana zostanie kwota z b10_akord ewidencji akordu za okres wynagrodzeń listy - akrd(0,0) lub za okres nieobecności - akrd(0,1),
parametr id umożliwia pobieranie składowych kwot akordu dla poszczególnych składników akordu i określa numer kolejny składnika akordu; funkcja akrd(id,mod) dla id>0 użyta w definicji wartości zadanej składnika zwraca nie kwotę, a ilość
np. akrd(1,0) - kwota akordu sumowana tylko dla składnika pierwszego
akrd(2,0) - kwota z drugiego składnika akordu (AGE 00001)
akrd(0,0) - całkowita kwota akordu

pztr() - w przypadku dwóch b10_azatr aktualnych zatrudnień funkcja zwraca wartość 1,00 gdy naliczamy pracownika z jego zatrudnienia głównego (podstawowego) (Ustaw jako główne), natomiast 0,00 w przy zatrudnieniu dodatkowym

aztr(mod,k) - zwraca liczbę lat, miesięcy lub dni (mod=0, 1, 2) z aktualnego zatrudnienia na początek lub koniec okresu wynagrodzeń listy (k=0, 1)

hztr(id,mod,k) - zwraca liczbę lat, miesięcy lub dni (mod=0, 1, 2) stażu określonego w id z całego zatrudnienia na początek lub koniec okresu wynagrodzeń listy (k=0, 1). Wartości id:

o0 - staż

o1 - staż branżowy

o2 - staż do urlopu

o3 - staż do jublieuszu

o4 - staż stanowiskowy

kszt(id) - w zależności od parametru id pobrane zostaną godziny (1), kwota (2) lub procent (3) z b10_koszty ewidencji kosztów za okres wynagrodzeń listy

wynu() - wynagrodzenie uczniów na podstawie b10_umpraca umowy o pracę (pole Rodzaj pracownika na zakładce Inne) i kwot wynagrodzeń pracowników młodocianych, określonych w parametrach naliczania (Ustawienia – Parametry naliczania, zakładka Inne)

rycz(id[,mod]) - pobiera kwoty z ewidencji b10_ekwiw ekwiwalentów i ryczałtów za okres wynagrodzeń listy, id to rodzaj ryczałtu: 1 - ekwiwalent za odzież, 2 - ekwiwalent za pranie, 3 - ryczałt samochodowy, 4 do 8 - dodatkowe ryczałty #1 do #5, 9 - Pr.zdalna-ekwiwalent, 10 - Pr.zdalna-ryczałt mies., 11 - Pr.zdalna-ryczałt godz.;
dla mod=0 pobiera kwotę, dla mod=1 pobiera ilość

sldp(id) - aktualne saldo b10_potr potrąceń i pożyczek, id to rodzaj potrącenia: 1 - pożyczka KZP, 2 - pożyczka mieszkaniowa, 3 - komornik, 4 - inne pożyczki, 5 do 14 - dodatkowe potrącenia #1 do #10

urlk(id) - pobiera dni kalendarzowe urlopu (razem z sobotami i niedzielami), id to rodzaj urlopu z karty urlopowej

list(id) - parametry przypisane do listy płac, zwracające numer (X_I) definicji (id=0), rejestru (id=1) i rodzaju listy (id=2)

dlg(id[,mod]) - pobiera kwotę do wypłaty z ewidencji b10_deleg delegacji w zależności od id:

o0 - początek delegacji (czas od) mieści się w okresie wynagrodzeń listy

o1 - data rozliczenia delegacji mieści się w okresie wynagrodzeń listy oraz status rachunku jest zatwierdzony

o2 - koniec delegacji (czas do) mieści się w okresie wynagrodzeń listy
opcjonalny parametr mod podstawia wartości: 0 - do zapłaty, 1 - il.diety śniad., 2 - il.diety obiad, 3 - il.diety kolacja, 4 - il.diety zagr.śniad., 5 - il.diety zagr.obiad, 6 - il.diety zagr.kolacja, 7 - il.diety zagr.inne, 8 - il. diet, 21 - noclegi wg rachunków plus noclegi-ryczałt, 22 - koszt ogółem, 23 - zaliczka, 24 - rozliczenie końcowe, 25 - dyspozycja rozl. w walucie, 26 - kwota ponad limit w zł, 27- noclegi i diety wg rach., 28 - noclegi ryczałt, 29 - noclegi zagraniczne ryczałt, 30 - pobyt w szpitalu za granicą, 31 - inne wydatki wg załączników, 32 - ryczałty za dojazdy 33 - ryczałty za dojazd do dworca (zagr.), 34 - ryczałty za dojazdy komunikacją (zagr.), 35 - ryczałty za dojazdy  w zł, 36 -diety ponad limit w zł, 37 - noclegi ponad limit w zł

kng(id) - pobiera kwoty z ewidencji b10_kary kar i nagród za okres wynagrodzeń listy w zależności od parametru id: 0 - suma kar pieniężnych z okresu, 1 - suma nagród pieniężnych z okresu

calc(x,id,k) - kalkulator płacowy, na podstawie podanej kwoty x oblicza w zależności od id:

o1 - netto z brutto

o2 - brutto z netto

o3 - koszt zakładu z brutto

o4 - koszt zakładu z netto

o5 - netto z kosztu zakładu

o6 - brutto z kosztu zakładu
dla umowy o pracę (k=0) lub umowy zlecenia (k=1), przy przeliczaniu uwzględniane są koszty uzyskania i ulga podatkowa w wysokości ustawionej przy urzędzie skarbowym pracownika; dodatkowo dla k=2 oblicza netto lub brutto dla umowy o pracę, ale bez podatku dochodowego

calc(x,id,k,p1,p2) - przy przeliczaniu uwzględniane są również zadane wartości kosztów uzyskania (p1) i ulgi podatkowej (p2), a calc([premia_netto],2,0,sys(KosztUzysk),sys(UlgaPodat)) uwzględni koszty i ulgę bezpośrednio z listy

calc(x,id,k,p1,p2,p3,p4,p5) - kalkulator płacowy, dodatkowo uwzględniający przy przeliczeniach zadaną wartość podstawy wymiaru składki emerytalno-rentowej (p3), ulgę dla osób do 26 lat (p4) oraz % podatku (p5)

Dla wartości parametru p1 (kosztów uzyskania) oraz p2 (ulgi podatkowej) zalecamy wykorzystywanie parametów:

Koszty uzyskania i ulga podatkowa:

sys(KosztUzysk), sys(UlgaPodat) - do wyliczenia składnika zostaną zastosowane koszty uzyskania oraz ulga podatkowa fizycznie z listy płac

Ulgi podatkowej:

0 -  wartość ulgi podatkowej uwzględnionej w wyliczeniach składnika będzie zerowa, dla obliczeń według przepisów za rok obecny, ale zostanie uwzględiona ulga podatkowa według wyliczeń na dzień 31 grudnia 2021. np. calc([premia_netto],2,0,0,0) nie uwzględni kosztów, a ulga zostanie uwzględniona tylko dla małych kwot. (wg wyliczeń na grudzień 2021)
sys(KosztUzysk) / sys(UlgaPodat) - wartość ulgi podatkowej / kosztów uzyskania wykorzystanych przez funkcję zostanie podstawiona w wysokości bezpośrednio z listy płac

-1 -  wartość ulgi podatkowej uwzględnionej w wyliczeniach składnika będzie zerowa, zarówno dla obliczeń według przepisów za rok obecny, jak i w przypadku wyliczeń wg przepisów na dzień 31 grudnia 2021
np. calc([premia_netto],2,0,0,-1) nie uwzględni kosztów i ulgi przy ubruttowieniu

zwc() - przy ciągłych zwolnieniach w b10_chor karcie zasiłkowej na przełomie miesięcy zwraca ilość przełomowych miesięcy

dnz(m) - zwraca ilość niewypłaconych dni zwolnienia sprzed m miesięcy

wazt(m1,m2) - zwraca liczbę miesięcy aktualnego zatrudnienia wg okresu wynagrodzeń sprzed m1 miesięcy do m2 miesięcy

zfss(id) - pobiera na listę płac wartość z ewidencji zakładowego funduszu świadczeń socjalnych, z rodzaju świadczenia określonego w id, lub z wszystkich rodzajów jeśli id=0

kurs(id,k) - kurs waluty o identyfikatorze id na dzień wypłaty dla k=0, na dzień poprzedzający dzień wypłaty dla k=10, na dzień końca okresu wynagrodzeń dla k=1, na początek okresu wynagrodzeń dla k=2, na dzień poprzedzający koniec okresu wynagrodzeń dla k=11 oraz na dzień poprzedający początek okresu wynagrodzeń dla k=12

tab(id,mod) - zwraca wartość z tabeli zaszeregowania (patrz: Defincje - Tabele zaszeregowania) o identyfikatorze id według daty wypłaty dla mod=0, okresu wynagrodzeń dla mod=1, i okresu kartoteki dla mod=2

wkl(id) - pobiera na listę płac wartość wkładu o rodzaju określonym w id (id=0 - KZP, id=1 - Fundusz mieszkaniowy, id=2 - Inne)

wklz(id,k) - pobiera na listę płac wartość kwoty zwiększenia (k=1) lub zmniejszenia (k=2) wkładu o rodzaju określonym w id (id=0 - KZP, id=1 - Fundusz mieszkaniowy, id=2 - Inne)

sldw(id) - pobiera na listę płac saldo wkładu o rodzaju określonym w id(id=0 - KZP, id=1 - Fundusz mieszkaniowy, id=2 - Inne)

stan(id) - pobiera na listę płac wartość jednego z trzech parametrów stanowiska (id=1..3)

ekw(id) - pobiera z ewidencji wyposażenia wartość ekwiwalentu wyposażenia (id=1-ekwiwalent; id=2-ekwiwalent za przedłużenie okresu użytkowania; id=3-koszt pracownika)

kom(id) - zwraca wartość ujętych na liście innych potrąceń komorniczych (id=0) lub alimentów (id=1)

pozu(id) - pobiera na listę płac ilość pozostałych do wykorzystania godzin urlopu wypoczynkowego (id=0) lub dodatkowego (id=1)

zas() - pobiera na listę płac kwotę zasiłku z karty zasiłkowej

ppar(id) - pobiera na listę płac parametry naliczania z aktualnego zatrudnienia (id=1 - koszty uzyskania, id=2 - ulga podatkowa)

ide(id) - zwraca identyfikator aktualnego rekordu (X_I) z odpowiednich tabel,w zależności od parametru id: id=1 - identyfikator pracownika, id=2 - identyfikator aktualnego zatrudnienia pracownika, id=3 - identyfikator listy płac, id=4 - identyfikator pozycji listy płac, id=5 - identyfikator umowy o pracę aktualnie naliczanego pracownika, id=6 - identyfikator definicji listy, id=7 - identyfikator aktualnej firmy, id=8 - ID kalendarza

sf_() - wywołanie funkcji składowanej w bazie firmy, można wykorzystać istniejące standardowe funkcje składowane lub utworzyć własną funkcję; dla przykładowej funkcji w bazie:
function [dbo].[fn_KP_SumGP] (@NumGP int, @NumNGP int, @X_IHistorii int, @Mies int, @Rok int).
wywołanie może wyglądać następująco:
sf_fn_KP_SumGP(2,0,ide(2),11,2011) pod warunkiem, że funkcja fn_KP_SumGP będzie zdeklarowana w funkcjach użytkownika

calcgl(x,id,d) - kalkulator globalny (x-zadana wartość, id-numer pola systemowego, d-dokładność); przelicza pozycję listy płac, aż pole systemowe o identyfikatorze id osiągnie zadaną wartość x z dokładnością d (dokładność d oznacza wyliczenie pola systemowego pomiędzy wartościami x-d a x+d)

np. zdefiniowanie premii miesięcznej jako: calcgl(wz(premia miesięczna),92,0) obliczy taką wartość premii miesięcznej, aby jej wartość zadana była równa płacy netto (pole systemowe o ide=92)

sysk(id) - pobiera na listę płac wartość pola systemowego id z listy korygowanej

sklk(id) - pobiera na listę płac wartość składnika id z listy korygowanej

sysw(id) - pobiera na listę płac wartość pola systemowego id z listy wyrównywanej

sklw(id) - pobiera na listę płac wartość składnika id z listy wyrównywanej

skok(id) - pobiera na listę płac wartość składnika id z ewidencji b10_skladokr składników okresowych

rezu(id[,mod]) - rezerwa urlopu do wykorzystania na ostatni dzień okresu wynagrodzenia listy, dla id=0 urlop wypoczynkowy, dla id=1 urlop dodatkowy; dla mod=0 poprzedni i bieżący proporcjonalny limit, dla mod=1 tylko poprzedni limit

wynp() - pobiera na listę płac wynagrodzenie z b10_umpraktabs Umowy o praktykę absolwencką

dnsklp(x,m) - pobiera na listę płac wartość składnika według dochodów narastająco dla wszystkich zatrudnień od miesiąca stycznia do miesiąca sprzed m miesięcy

wnsklp(x,m) - pobiera na listę płac wartość składnika według wynagrodzeń narastająco ze wszystkich zatrudnień od miesiąca stycznia do miesiąca sprzed m miesięcy

ncp(id [,mod]) - funkcja pobierająca na koniec okresu rozliczeniowego przekroczenia norm czasu pracy, otrzymujemy dla id równego:

o1 - liczba godzin przepracowanych w okresie rozliczeniowym,

o2 - liczba dni przepracowanych w okresie rozliczeniowym,

o3 - średnia liczba godzin przepracowanych w tygodniu,

o4 - liczba nadgodzin w okr. rozl.,

o5 - średnia liczba nadgodzin w tygodniu,

o6 - norma czasu pracy w godzinach,

o7 - norma czasu pracy w dniach,

o8 - liczba godzin nieoddanych niedziel,

o9 - liczba godzin nieoddanych świąt,

o10 - liczba godzin nieoddanych wolnych,

o11 - liczba godzin braku przerw dobowych,

o12 - liczba godzin braku przerw tygodniowych,

o13 - liczba godzin wejść w dobę pracowniczą,

o14 - ilość nadgodzin w roku ponad limit,

o15 - liczba niezachowanych przerw tygodniowych,

opcjonalny parametr mod dla wartości: 1 - umożliwia pobranie przekroczenia norm obliczone dla jednego miesiąca, a nie całego okresu rozliczeniowego

Należy zwrócić uwagę na fakt, iż Definicja wartości zadanej i Definicja wartości wyliczonej nominalnej wykorzystywane są przy przeliczaniu składników zarówno w angażu, jak i przy naliczaniu wynagrodzeń na liście płac. Niektóre funkcje (np. zależne od okresu wynagrodzeń) nie działają w angażu, natomiast muszą być użyte w definicji, gdyż od nich zależy prawidłowe naliczenie wynagrodzeń (np. godz()). W takich przypadkach część wyrażenia, zawierająca taką funkcję, powinna być ujęta w nawiasy {}. Dotyczy to oczywiście definicji składników występujących w angażu.