Celá dokumentace docházky je psaná pro instalace, kde se mzdy zpracovávají ve Factorify. Zpracováváme-li mzdy v jiném software, platí navíc to, co je na této stránce.
ATTENDANCE_STATEMENTS pro export a IMPORTS_MODULE pro import zbývajících nepřítomností.U nás je uzamčení výkazu docházky konečnou uzávěrkou. Doporučený postup má pět kroků.
Po uzamčení je oprava dat výrazně pracnější, protože výkaz musíme nejprve odemknout, opravit a znovu uzamknout, a soubor pro externí systém vygenerovat celý znovu.
Několik mechanismů má společný spouštěč, kterým je generování mezd. Bez mzdového modulu se nespustí nikdy, protože mzdy negenerujeme.
| Mechanismus | Co místo toho uděláme |
|---|---|
| Přepočet nároků na nepřítomnost při uzávěrce | Ruční úpravy v agendě Úpravy nároků na nepřítomnost nebo hromadný Import zbývajících nepřítomností |
| Proplacení zbytku nároku u končících smluv | Vyřešíme v externím mzdovém systému |
| Pole Automaticky přepočítávat na typu nepřítomnosti | Nevyplňujeme, nemá u nás účinek |
| Pole Mzdový kód nepřítomnosti | Nahradí ho Externí kód |
| Pole Maximální délka pro ELDP [dny] | Nevyplňujeme, protože ELDP vzniká v externím systému |
Přepočet nároků umí spustit i tlačítko Přepočítat zbývající nepřítomnosti. Sedí v agendě Mzdy v patičce pod rozbalovacím tlačítkem Mzdové akce a objeví se až tehdy, když jsou pro zvolený měsíc vygenerované výplatnice. Zpracováváme-li mzdy externě, výplatnice nevznikají, takže se tlačítko nikdy neobjeví.
Druhou cestou je tlačítko Inicializovat zbývající nepřítomnosti na detailu zaměstnance v záložce Obecné v kartě Zbývající nepřítomnosti. Karta se zobrazí jen s oprávněním PERSON_MODULE_EMPLOYEE_EDIT_GENERAL a jen tehdy, když už osoba nějaké zbývající nepřítomnosti má. Samotné tlačítko potřebuje současně oprávnění PAYROLLS, ABSENCES a ABSENCES_SUBORDINATES. Před spuštěním se ptá dialogem Tato akce spočítá počáteční zbývající nepřítomnosti pro tuto osobu a odstraní aktuální hodnoty…, protože stávající hodnoty přepíše.
Pole Maximální délka pro ELDP [dny] uvidíme na typu nepřítomnosti jen s oprávněním
ACCOUNTING_CONFIGURATION. Bez něj je skryté, takže se jím nemusíme zabývat vůbec.
Externí kód je kód, kterým se typ nepřítomnosti páruje s číselníkem v externím mzdovém systému. Zadáváme ho v agendě Typy nepřítomností v detailu typu na kartě Obecné hned pod polem Typ, popis celé agendy je na stránce Typ nepřítomnosti.
Formát závisí na cílovém systému a obě napojení, která Factorify nabízí, se liší.
Při napojení na Pamicu jde o dvojici kódů oddělenou lomítkem. Před lomítkem je kód nepřítomnosti, za lomítkem kód přítomnosti.
kódNepřítomnosti/kódPřítomnosti
Nemá-li kód pro Pamicu lomítko, vezme se celý jako kód nepřítomnosti a kód přítomnosti zůstane prázdný.
Při napojení na Helios jde o samotné celé číslo bez lomítka a bez písmen. Nečíselný kód export shodí.
Chování prázdného Externího kódu se u obou systémů liší. Helios takovou nepřítomnost do souboru vůbec nedá, kdežto Pamica ji nepřeskočí a odešle ji do souboru bez vyplněných kódů. Jak se to na výsledném souboru pro Pamicu projeví, ověřené nemáme, protože samotné XML skládá knihovna dodaná se systémem Pamica. Vyplněný kód u každého typu, který se má exportovat, si proto hlídáme sami.
Typ nepřítomnosti se zaškrtnutým polem Skrytý se navíc přeskakuje v importu zbývajících nepřítomností.
Externí číslo je identifikátor zaměstnance v externím systému. Na detailu zaměstnance ho najdeme v záložce Obecné v kartě Informace o člověku, kde se pole jmenuje Externí č. Hodnota musí být v rámci systému jedinečná.
Pole je celé podmíněné oprávněním PERSON_MODULE_EMPLOYEE_EDIT_GENERAL. Bez něj se nezobrazí vůbec, není jen nastavené na čtení. Nevidíme-li ho ani s tímto oprávněním, může být skryté v nastavení metadat naší instance, což řeší konzultant.
Pole se používá ve dvou směrech. Při exportu výkazu se podle něj páruje zaměstnanec s číselníkem v externím systému. Při importu zbývajících nepřítomností se podle něj hledá osoba v souboru.
Zaměstnanec bez Externího čísla se z exportu tiše vypadne. Nedostaneme žádnou hlášku, informace o něm skončí jen v logu serveru. Před prvním exportem si proto projdeme seznam zaměstnanců a doplníme čísla všem.
Napojení na Helios má navíc podmínku, že Externí číslo musí být celé číslo. Zaměstnance s číslem, které obsahuje písmeno nebo pomlčku, Helios export také přeskočí.
Soubor za zvolený měsíc vygenerujeme tlačítkem Shrnutí do souboru v patičce detailu měsíce v agendě Výkazy docházky. Popis celé agendy je na stránce Výkaz docházky. Akci kryje oprávnění ATTENDANCE_STATEMENTS.
Formát a obsah výstupu určuje parametrizace naší instance. Tentýž příkaz vytváří na různých instalacích XML, CSV nebo XLSX s různým obsahem. Na instalacích s napojením na Pamicu i Helios jde o XML v jejich formátu.

Tlačítko je v patičce vidět vždy, i na instalaci, která žádné napojení nemá. Bez napojení ale nemá kdo soubor sestavit a akce skončí červenou hláškou 404 Nenalezeno. Nejsme-li si jistí, jaký výstup má naše instance nastavený, ověříme si to u konzultanta.
Export čte docházková data živě, nikoli až z uzamčeného výkazu. Uzamčení výkazů před exportem tedy není technickou podmínkou, je to ale jediný způsob, jak si zajistit, že se data po vygenerování souboru už nezmění.
Než poprvé vyexportujeme měsíc, projdeme si tyto body.
ATTENDANCE_STATEMENTS.Export obsahuje za každého zaměstnance a měsíc souhrn odpracovaného času, souhrn příplatkových kategorií a jednotlivé nepřítomnosti s hranicemi období. Souhrny odpovídají kartě Souhrn časů ve výkazu.
Kódy přítomnosti vycházejí ze Souhrnu časů. Které kódy export použije, záleží na poli Druh mzdy zaměstnance.
| Co znamená | Hodinová | Měsíční |
|---|---|---|
| Přítomnost | C01 | neposílá se |
| Přesčas ve všední den | C08 | M02 |
| Přesčas o víkendu nebo ve svátek | C09 | M03 |
| Nadúvazek ve všední den | C10 | M04 |
| Nadúvazek o víkendu nebo ve svátek | C11 | M05 |
U měsíční mzdy si Pamica základní mzdu spočítá sama a zkrátí ji podle rozvrhu a nepřítomností, odpracované hodiny k tomu nepotřebuje.
Druh mzdy musí odpovídat tomu, jak má zaměstnanec mzdu nastavenou v Pamice. Výchozí hodnota u nového zaměstnance je Měsíční. Když hodinově placený zaměstnanec zůstane na měsíční mzdě, nedostane C01 a v Pamice mu vyjde nulová základní mzda.
Druh mzdy, Rozvrh pracovní doby i Nepracovní dny čte export z parametrů zkopírovaných do výkazu daného měsíce, ne přímo z Parametrů docházky. Z Parametrů docházky platných k prvnímu dni měsíce je vezme jen u zaměstnance, kterému za ten měsíc výkaz ještě nevznikl. Opravíme-li proto Parametry docházky až po vzniku výkazu, export se nezmění. Za takový měsíc upravíme parametry i ve výkazu tlačítkem Změnit typ úvazku.
Příplatkové kódy jsou čtyři a posílají se stejně u obou druhů mzdy.
| Kód | Co znamená |
|---|---|
| P01 | Přesčas |
| P03 | Svátek |
| P04 | Víkend |
| P07 | Noc |
Odpolední směna vlastní kód nemá a do exportu se nedostane. Chceme-li ji ve mzdách zohlednit, musíme si příplatek nastavit v externím systému jinak. Popis toho, jak Factorify počítá noc a odpoledne, je na stránce Nastavení docházky.
Nepřítomnost se do souboru zapíše s prvním a posledním dnem období a s počtem hodin v těchto hraničních dnech. Kód nepřítomnosti a kód přítomnosti se vezmou z Externího kódu rozděleného lomítkem. Do souboru jde jen ta část nepřítomnosti, která leží v exportovaném měsíci.
Pamica si při založení mzdy na měsíc sama vytvoří svátky. Když importovaná nepřítomnost svátek překryje, import ohlásí chybu. Export proto nepřítomnost rozdělí tak, aby svátky vynechala. Dovolená od 2. do 10. 7. 2026 se do souboru zapíše jako dvě nepřítomnosti, od 2. do 4. 7. a od 7. do 10. 7. Týká se to jen typů nepřítomnosti, které nemají zaškrtnuté Započítat i ve svátcích. Ostatní se zapíšou vcelku, protože Pamica u nich svátek sama smaže a nepřítomnost ponechá.
Export posílá také rozvrh, tedy denní fond na každý den měsíce. Pamica podle něj počítá hodiny nepřítomnosti ve dnech mezi prvním a posledním dnem období a náhradu za svátek. Jak se denní fond určí, záleží na poli Rozvrh pracovní doby zaměstnance.
Zaměstnanci, kteří pracují na směny, potřebují mít směny naplánované i na svátky, na které by jinak pracovali. Svátek bez směny má v rozvrhu nulu a Pamica za něj náhradu nespočítá. Stejně se k takovému dni chová i výkaz ve Factorify.
Zapneme-li v Nastavení docházky pole Vyjmout svátky z pracovní doby, chová se export jinak. Ze souhrnu přítomnosti vypadne všechno, co padne na svátek ve všední den, tedy u hodinové mzdy C01 a C08 až C11, u měsíční mzdy M02 až M05. Smyslem je nezaplatit svátek dvakrát. U měsíční mzdy je svátek součástí mzdy, u hodinové za něj Pamica sama vytvoří náhradu podle rozvrhu. Příplatky se počítají z nefiltrovaného souhrnu, takže zaměstnanec dostane P03 za svátek i P01 za přesčas, jen k tomu nedostane žádnou přítomnost. Svátku, který padne na víkend, se filtr netýká.
Helios používá číselné kódy a rozlišuje víc situací než Pamica.
| Kód | Co znamená |
|---|---|
| 3 | Přesčas ve všední den |
| 5 | Přesčas o víkendu |
| 7 | Svátek |
| 450 | Přítomnost o víkendu |
| 452 | Noc |
| 455 | Přesčas ve svátek |
| 456 | Přesčas o víkendu ve svátek |
| 986 | Nadúvazek |
| 952 | Korunová hodnota objednaných obědů |
Běžná přítomnost ve všední den v tabulce chybí. Standardní sada kódů pro ni žádný kód nemá, takže se do souboru nedostane. Z odpracované doby do něj jde jen víkendová práce pod kódem 450 a práce ve svátek pod kódem 7, k tomu přesčasy, nadúvazek a noc.
Zaměstnanci na dohodu a učni mají vlastní sadu. Dohoda o provedení práce se vykazuje pod kódem 700 a dohoda o pracovní činnosti i učeň pod kódem 701, vždy jako celá přítomnost bez dalšího dělení. Systém je rozpozná podle hodnoty pracovní doby v kopii nastavení ve výkazu.
Pole Druh mzdy z parametrů docházky mění obsah exportu. U měsíčně placeného zaměstnance se z exportu odeberou položky přesčasu a nadúvazku, protože jsou součástí měsíční mzdy. U hodinově placeného se naopak k přesčasu přičte zbývající nepřevedený přesčas.
Do exportu jde navíc obsah pole Související záznamy na detailu měsíce ve Výkazech. Je to nepovinná příloha ve formátu XLSX, ze které Helios načte druhý list sešitu. První řádek je hlavička, sloupec A obsahuje identifikátor osoby, sloupec B číselný kód a sloupec C částku. Neúplný řádek se přeskočí. Pole nemá u jiných napojení žádného odběratele.
Bez automatického přepočtu udržujeme nárok jednou ze dvou cest. Obě popisuje z pohledu běžného provozu stránka Nepřítomnosti a nároky, tady jde jen o rozdíly, které se týkají externích mezd.
Jednotlivě přes agendu Úpravy nároků na nepřítomnost, na kterou potřebujeme oprávnění ABSENCE_TYPES a zároveň PAYROLLS. Samotné ABSENCE_TYPES ukáže položku v menu a seznam záznamů, na otevření detailu a na uložení je potřeba i PAYROLLS. Povinně vyplníme Pracovní smlouva, Typ nepřítomnosti a K datu, k tomu zadáme počet hodin a poznámku. Pole Hodiny je předvyplněné nulou. Úprava se váže na pracovní smlouvu, ne na osobu. Kladná hodnota nárok zvyšuje, záporná snižuje. Ruční úprava se přičítá až po výpočtu nároku a případný přepočet ji nemaže.
Hromadně přes agendu Import zbývajících nepřítomností, což se hodí hlavně na začátku roku při převodu zůstatků.
Pole Typ je jen ke čtení a ručně založená úprava má vždy hodnotu Ruční. Zbylé dva typy zakládá výhradně přepočet nároků, který se u externích mezd nespustí. Automatická aktualizace dorovnává teoretický roční nárok na skutečnost a Přesun převádí zůstatek na přelomu roku u typů nepřítomnosti, které se do dalšího roku převádějí. Na záznamu s jiným typem než Ruční je celý formulář jen ke čtení a upravit jde jedině Poznámka.
Hotovou úpravu z obrazovky nesmažeme. Detail má jediné akční tlačítko Uložit a seznam agendy tlačítko pro smazání nemá, takže omyl opravíme další ruční úpravou s opačným počtem hodin.
Dvoustupňová kontrola nároku funguje beze změny. Pole Kontrolovat zbývající dny na typu nepřítomnosti i Striktní kontrola zbývající nepřítomnosti v nastavení docházky pracují nad ručně udržovanými hodnotami.
Agendu otevřeme přes Hledat a potřebujeme na ni oprávnění IMPORTS_MODULE. Ve formuláři vyplníme tři věci.
Typ nepřítomnosti je povinný. Nabídka obsahuje jen typy, které nejsou skryté a mají zaškrtnuté Kontrolovat zbývající dny. Chybí-li nám v nabídce typ, který potřebujeme, doplníme mu právě toto pole.
Soubor importu je povinný a musí být ve formátu XLSX. Systém čte první list sešitu, první řádek bere jako hlavičku a od druhého řádku načítá data. Sloupec A obsahuje Externí číslo zaměstnance a sloupec B počet zbývajících dní.
K datu je předvyplněné na dnešek a určuje, ke kterému dni zůstatek platí.
Tlačítko Importovat zůstává neaktivní, dokud nevyplníme typ i soubor.

Sloupec B je ve skutečnosti povinný, přestože nápověda u pole souboru tvrdí, že je nepovinný. Necháme-li buňku prázdnou, skončí celý import hláškou 500 Interní chyba serveru a nenaimportuje se nic. Chybí-li buňka v řádku úplně, import sice proběhne, ale řádek se tiše přeskočí. Do sloupce B proto vyplňujeme počet dní vždy, i kdyby to měla být nula.
Import není přírůstkový. Před uložením smaže u osob uvedených v souboru všechny záznamy zbývajících nepřítomností daného typu za celý kalendářní rok data v poli K datu, včetně těch, které někdo pořídil ručně, a teprve pak zapíše nové. Importujeme proto vždy kompletní seznam, ne jen změněné řádky. Záznamů jiného typu nepřítomnosti ani jiného roku se import nedotkne.
Povedený import nedává žádnou potvrzovací hlášku ani souhrn. Zaměstnanec, jehož Externí číslo v systému nenajdeme, se navíc tiše přeskočí. Po importu si proto výsledek vždy zkontrolujeme v agendě Zbývající nepřítomnosti a porovnáme počet řádků se souborem.
Každý import se zapíše do přehledu pod formulářem, kde vidíme kdy proběhl, k jakému datu platí, jaký soubor se nahrál a kdo ho nahrál. Zápis vznikne i tehdy, když se z celého souboru nakonec neuložil ani jeden řádek, takže záznam v přehledu sám o sobě není důkazem, že se data opravdu nahrála.
Naimportovaný zůstatek se použije jen tehdy, když pro zaměstnance neexistuje spočtený Nárok na nepřítomnost dle pracovní smlouvy. Existuje-li, má přednost a import se navenek neprojeví. Bez mzdového modulu nárok nevzniká, ale mohl vzniknout dřív, pokud někdo v minulosti spustil inicializaci nebo přepočet. Neprojeví-li se import v nároku zaměstnance, podíváme se právě sem.
| Kód | Název v agendě Oprávnění | Co dovoluje |
|---|---|---|
ATTENDANCE_STATEMENTS |
Docházka – Výkazy všech | spustit Shrnutí do souboru v patičce detailu měsíce |
IMPORTS_MODULE |
Importy | otevřít agendu Import zbývajících nepřítomností a importovat |
PERSON_MODULE_EMPLOYEE_EDIT_GENERAL |
Lidé – Zaměstnanci – Úprava obecných informací | vidět pole Externí č. a kartu Zbývající nepřítomnosti na detailu zaměstnance |
PAYROLLS |
Účetnictví – Mzdy | spolu s dalšími dvěma tlačítko Inicializovat zbývající nepřítomnosti, a spolu s ABSENCE_TYPES otevřít a uložit úpravu nároku |
ABSENCES |
Lidé – Zaměstnanci – Nepřítomnosti pro všechny | totéž, vyžaduje se současně |
ABSENCES_SUBORDINATES |
Lidé – Zaměstnanci – Nepřítomnosti pro podřízené | totéž, vyžaduje se současně |
ABSENCE_TYPES |
Nastavení – Typy nepřítomností | dostat do menu agendu Úpravy nároků na nepřítomnost a vidět v ní seznam záznamů, na detail a uložení je potřeba i PAYROLLS |
ACCOUNTING_CONFIGURATION |
Účetnictví – Nastavení | vidět pole Maximální délka pro ELDP [dny] na typu nepřítomnosti |
Oprávnění
IMPORTS_MODULEnemá skupinový prefix, takže se v agendě Oprávnění nedá najít filtrem podle skupiny.
| Příznak | Příčina | Co s tím |
|---|---|---|
| Klik na Shrnutí do souboru skončí hláškou 404 Nenalezeno | instance nemá napojení na externí mzdy, tlačítko je vidět vždy | ověřit u konzultanta, jaký výstup má instance nastavený, viz Export |
| Zaměstnanec v exportovaném souboru chybí | nemá vyplněné Externí č., u Heliosu i tehdy, když číslo obsahuje písmeno nebo pomlčku | doplnit Externí číslo, hláška nikde nepřijde |
| Pole Externí č. na detailu zaměstnance vůbec nevidíme | chybí PERSON_MODULE_EMPLOYEE_EDIT_GENERAL, pole se celé skryje, nebo je skryté v metadatech instance |
doplnit oprávnění, jinak řeší konzultant |
| Nepřítomnost se do souboru pro Helios nedostala | prázdný Externí kód, Helios takový typ přeskočí | doplnit číselný kód, viz Externí kód |
| Export do Heliosu spadl | Externí kód není celé číslo, například je zapsaný v pamickém tvaru s lomítkem | opravit kód na číslo |
| Odpolední směna se ve mzdách neobjevila | odpoledne nemá v Pamice vlastní kód | příplatek nastavit v externím systému, viz Napojení na Pamicu |
| Typ nepřítomnosti chybí v nabídce importu | typ je skrytý, nebo nemá zaškrtnuté Kontrolovat zbývající dny | doplnit pole na typu, viz Import |
| Import skončil hláškou 500 Interní chyba serveru a nenaimportovalo se nic | prázdná buňka ve sloupci B | vyplnit počet dní vždy, klidně nulu |
| Import proběhl, ale některý řádek se nenahrál | buňka ve sloupci B v řádku úplně chybí a řádek se tiše přeskočí | doplnit sloupec B v celém souboru |
| Zaměstnanec ze souboru se nenaimportoval | jeho Externí číslo v systému není, import ho tiše přeskočí | doplnit číslo u zaměstnance a import zopakovat |
| Po importu zmizely dřívější záznamy včetně ručně pořízených | import není přírůstkový a maže celý kalendářní rok daného typu u osob ze souboru | importovat vždy kompletní seznam, viz Import |
| Import neskončil žádnou hláškou, nevíme, jestli prošel | povedený import potvrzení ani souhrn nedává, záznam v agendě Importy vznikne i při nula uložených řádcích | zkontrolovat výsledek v agendě Zbývající nepřítomnosti |
| Naimportovaný zůstatek se v nároku neprojevil | existuje spočtený Nárok na nepřítomnost dle pracovní smlouvy a má přednost | zkontrolovat nárok zaměstnance, viz Import |
| Tlačítko Přepočítat zbývající nepřítomnosti v agendě Mzdy chybí | pro zvolený měsíc nejsou vygenerované výplatnice, což u externích mezd nikdy nenastane | nárok upravit ručně nebo importem, viz Údržba nároků |
| Tlačítko Inicializovat zbývající nepřítomnosti není k dispozici | chybí některé z oprávnění PAYROLLS, ABSENCES a ABSENCES_SUBORDINATES, chybí PERSON_MODULE_EMPLOYEE_EDIT_GENERAL, nebo osoba zatím žádné zbývající nepřítomnosti nemá |
doplnit oprávnění |
| Agendu Úpravy nároků na nepřítomnost nemáme v menu | chybí oprávnění ABSENCE_TYPES |
doplnit oprávnění |
| Agendu vidíme, ale úprava nároku se neotevře nebo nejde uložit | k ABSENCE_TYPES chybí PAYROLLS, detail i zápis jdou přes něj |
doplnit oprávnění |
| Pole Typ na úpravě nároku nejde přepnout | pole je jen ke čtení, ručně vzniká vždy typ Ruční | Přesun a Automatickou aktualizaci zakládá jen přepočet, viz Údržba nároků |
| Na starší úpravě nároku nejde změnit nic kromě poznámky | záznam má typ Přesun nebo Automatická aktualizace, ty jsou celé jen ke čtení | opravu zadat novou ruční úpravou |
| Chybně zadanou úpravu nároku nejde smazat | agenda tlačítko pro smazání nemá | zadat další ruční úpravu s opačným počtem hodin |
| V souboru pro Helios není odpracovaná doba ve všední dny | standardní sada kódů pro běžnou přítomnost ve všední den kód nemá, není to chyba nastavení | viz Napojení na Helios |
| V Pamice vyšla zaměstnanci nulová základní mzda | ve Factorify má Druh mzdy Měsíční, v Pamice hodinovou sazbu, takže export neposlal C01 | opravit Druh mzdy v Parametrech docházky a za už založené měsíce i ve výkazu tlačítkem Změnit typ úvazku, pak export zopakovat, viz Napojení na Pamicu |
| Oprava Druhu mzdy nebo Rozvrhu pracovní doby v Parametrech docházky se v exportu neprojevila | export čte parametry zkopírované do výkazu měsíce, a ten už existoval | upravit parametry ve výkazu tlačítkem Změnit typ úvazku, viz Napojení na Pamicu |
| Zaměstnanec na směny nedostal v Pamice náhradu za svátek | na svátek nemá naplánovanou směnu, v rozvrhu je nula | naplánovat směnu a export zopakovat, viz Napojení na Pamicu |
| V souboru pro Pamicu chybí za svátek ve všední den veškerá přítomnost | je zapnuté Vyjmout svátky z pracovní doby a filtr bere všechny kódy přítomnosti, ne jen C09 a M03 | příplatky P03 a P01 zůstávají, viz Napojení na Pamicu |
| Pole Maximální délka pro ELDP [dny] na typu nepřítomnosti není vidět | chybí ACCOUNTING_CONFIGURATION |
u externích mezd se jím nemusíme zabývat vůbec |