Zákoník práce - HLAVA IV - SPOLEČNÁ USTANOVENÍ O CESTOVNÍCH NÁHRADÁCH

Předpis č. 262/2006 Sb.

Znění od 1. 7. 2024

262/2006 Sb. Zákon zákoník práce

HLAVA IV

SPOLEČNÁ USTANOVENÍ O CESTOVNÍCH NÁHRADÁCH

§ 182

Paušalizace cestovních náhrad

(1) Při sjednání paušální měsíční nebo denní částky cestovní náhrady, popřípadě při jejím stanovení vnitřním předpisem nebo individuálním písemným určením se vychází z průměrných podmínek rozhodných pro poskytování cestovních náhrad skupině zaměstnanců nebo zaměstnanci, z výše cestovních náhrad a z očekávaných průměrných výdajů této skupiny zaměstnanců nebo tohoto zaměstnance. Současně se určí způsob krácení paušální částky za dobu, kdy zaměstnanec nevykonává práci.

(2) Na žádost zaměstnance je zaměstnavatel povinen předložit mu k nahlédnutí doklady, na jejichž základě byla paušální částka určena.

§ 183

Záloha na cestovní náhrady a její vyúčtování

(1) Zaměstnavatel je povinen poskytnout zaměstnanci zúčtovatelnou zálohu až do předpokládané výše cestovních náhrad, pokud se se zaměstnancem nedohodne, že záloha nebude poskytnuta.

(2) Při zahraniční pracovní cestě může zaměstnavatel po dohodě se zaměstnancem poskytnout zálohu v cizí měně nebo její část též cestovním šekem nebo zapůjčením platební karty zaměstnavatele. Zaměstnavatel se může se zaměstnancem dohodnout na poskytnutí zálohy na zahraniční stravné v české měně nebo v jiné než v prováděcím právním předpisu vydaném podle § 189 stanovené cizí měně pro příslušný stát, pokud je k této měně Českou národní bankou vyhlašován kurz. Při určení výše zahraničního stravného v dohodnuté měně se nejprve zjistí korunová hodnota zahraničního stravného, která se přepočítá na dohodnutou měnu. Pro určení korunové hodnoty zahraničního stravného a částky zahraničního stravného v dohodnuté měně se použijí kurzy vyhlášené Českou národní bankou a platné v den vyplacení zálohy.

(3) Jestliže se zaměstnanec se zaměstnavatelem nedohodne na jiné době, je zaměstnanec povinen do 10 pracovních dnů po dni ukončení pracovní cesty nebo jiné skutečnosti zakládající právo na cestovní náhradu předložit zaměstnavateli písemné doklady potřebné k vyúčtování cestovních náhrad a vrátit nevyúčtovanou zálohu. Částka, kterou má zaměstnanec zaměstnavateli vrátit v české měně, se zaokrouhlí na celé koruny směrem nahoru.

(4) Částku, o kterou byla poskytnutá záloha při zahraniční pracovní cestě vyšší, než činí právo zaměstnance, vrací zaměstnanec zaměstnavateli ve měně, kterou mu zaměstnavatel poskytl, nebo ve měně, na kterou zaměstnanec tuto měnu v zahraničí směnil, anebo v české měně. Částku, o kterou byla poskytnutá záloha při zahraniční pracovní cestě nižší, než činí právo zaměstnance, doplácí zaměstnavatel zaměstnanci v české měně, pokud se nedohodnou jinak. Při vyúčtování zálohy použije zaměstnavatel zaměstnancem doložený kurz, kterým byla poskytnutá měna v zahraničí směněna na jinou měnu, a kurzy uvedené v odstavci 2.

(5) Nedohodnou-li se smluvní strany na jiné době, je zaměstnavatel povinen do 10 pracovních dnů ode dne předložení písemných dokladů zaměstnancem provést vyúčtování cestovních náhrad a uspokojit jeho práva. Částka, kterou má zaměstnavatel zaměstnanci poskytnout v české měně, se zaokrouhlí na celé koruny směrem nahoru.

§ 184

Při poskytování cestovních náhrad, na které nebyla poskytnuta záloha, se přiměřeně použije § 183 s tím, že pro přepočet měn se použijí kurzy vyhlášené Českou národní bankou a platné v den nástupu zahraniční pracovní cesty.

§ 185

Požaduje-li se pro poskytnutí cestovních náhrad prokázání příslušných výdajů, a zaměstnanec je neprokáže, může mu zaměstnavatel poskytnout tuto náhradu v jím uznané výši, která odpovídá určeným podmínkám, pokud tento zákon nestanoví jinak (§ 158 odst. 3).

§ 186

Zaměstnanec je povinen bez zbytečného odkladu oznámit zaměstnavateli změnu skutečnosti, která je rozhodná pro poskytnutí cestovní náhrady.

§ 187

Za člena rodiny zaměstnance se pro účely poskytování cestovních náhrad, s výjimkou § 177 odst. 2, považuje jeho manžel, partner51a), vlastní dítě, osvojenec, dítě svěřené zaměstnanci do pěstounské péče nebo do výchovy, vlastní rodiče, osvojitel, opatrovník a pěstoun. Jiná fyzická osoba je postavena na roveň člena rodiny pouze za předpokladu, že žije se zaměstnancem v domácnosti.

§ 188

Cestovní náhrady poskytované podle mezinárodní smlouvy nebo na základě dohod o vzájemné výměně zaměstnanců se zahraničním zaměstnavatelem

(1) Zaměstnanci, který je vyslán na zahraniční pracovní cestu, a po tuto dobu mu přísluší podle mezinárodní smlouvy náhrada cestovních výdajů nebo náhrada obdobných výdajů v nižší výši než podle této části, poskytne zaměstnavatel cestovní náhradu ve výši rozdílu mezi právem podle této části a náhradou poskytovanou podle mezinárodní smlouvy.

(2) Zaměstnanci, který je vyslán na zahraniční pracovní cestu, a po tuto dobu mu přísluší podle mezinárodní smlouvy náhrada cestovních výdajů nebo náhrada obdobných výdajů ve stejné nebo vyšší výši než podle této části, zaměstnavatel cestovní náhrady podle této části neposkytne.

(3) Náhrady cestovních výdajů nebo náhrady obdobných výdajů, které jsou zaměstnanci poskytovány podle mezinárodní smlouvy, se považují za cestovní náhrady poskytované podle této části.

(4) Jestliže zaměstnavatel sjedná v dohodě o vzájemné výměně zaměstnanců, že bude zahraničnímu zaměstnanci vyslanému do České republiky poskytovat stravné, je povinen jej poskytovat nejméně ve výši horní hranice stravného stanovené v § 176 odst. 1. Zaměstnavatel uvedený v části sedmé hlavě III může poskytovat stravné zahraničnímu zaměstnanci až do výše dvojnásobku stravného stanoveného ve větě první a kapesné až do výše 40 % takto sjednaného nebo určeného stravného.

§ 189

Zmocňovací ustanovení

(1) V pravidelném termínu od 1. ledna Ministerstvo práce a sociálních věcí vyhláškou

a) mění sazbu základní náhrady za používání silničních motorových vozidel stanovenou v § 157 odst. 4,

b) mění stravné stanovené v § 163 odst. 1 a § 176 odst. 1,

c) stanoví průměrnou cenu pohonných hmot,

a to podle údajů Českého statistického úřadu o cenách vozidel, o cenách jídel a nealkoholických nápojů ve veřejném stravování a o cenách pohonných hmot.

(2) V mimořádném termínu Ministerstvo práce a sociálních věcí upraví vyhláškou sazbu základní náhrady za používání silničních motorových vozidel, stravné nebo průměrnou cenu pohonných hmot, jakmile se podle údajů Českého statistického úřadu některá z cen uvedených v odstavci 1 ode dne účinnosti tohoto zákona, nebo ode dne účinnosti poslední úpravy obsažené ve vyhlášce, zvýší nebo sníží alespoň o 20 %.

(3) Stravné se zaokrouhluje na celé koruny do výše 50 haléřů směrem dolů a od 50 haléřů včetně směrem nahoru. Sazba základní náhrady a průměrné ceny pohonných hmot se zaokrouhlují na desetihaléře směrem nahoru.

(4) V pravidelném termínu od 1. ledna Ministerstvo financí vyhláškou stanoví výši základních sazeb zahraničního stravného v celých měnových jednotkách příslušné cizí měny, a to na základě návrhu Ministerstva zahraničních věcí vypracovaného podle podkladů zastupitelských úřadů o cenách jídel a nealkoholických nápojů ve veřejných stravovacích zařízeních střední kvalitativní třídy a v zařízeních první kvalitativní třídy v rozvojových zemích Asie, Afriky a Latinské Ameriky, a s využitím statistických údajů mezinárodních institucí.

(5) V mimořádném termínu Ministerstvo financí upraví vyhláškou výši základní sazby zahraničního stravného, jakmile se cena uvedená v odstavci 4 a kurz stanovené cizí měny od poslední úpravy zvýší nebo sníží alespoň o 20 %.

(6) Vláda stanoví nařízením pro zaměstnance, se kterými sjedná zaměstnavatel uvedený v části sedmé hlavě III místo výkonu práce, popřípadě i pravidelné pracoviště, mimo území České republiky, náhradu

a) zvýšených životních nákladů,

b) zvýšených vybavovacích výdajů,

c) jízdních výdajů a výdajů za ubytování při některých cestách do České republiky a zpět,

d) výdajů spojených s přepravou osobních věcí.

Skrýt změny zákona Legenda text přidán text vypuštěn
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).
'; document.getElementById('outstream-iframe').onload = function () { setupIframe(); } replayScreen = document.getElementById('iinfoOutstreamReplay'); iinfoOutstreamPosition = document.getElementById('iinfoOutstreamPosition'); outstreamContainer = document.getElementsByClassName('outstream-container')[0]; setupReplayScreen(); } function setupIframe() { outstreamDocument = document.getElementById('outstream-iframe').contentWindow.document; let el = outstreamDocument.createElement('style'); outstreamDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:-5px;right:25px}"; videoContent = outstreamDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; if ( location.href.indexOf('rejstriky.finance.cz') !== -1 || location.href.indexOf('finance-rejstrik') !== -1 || location.href.indexOf('firmy.euro.cz') !== -1 || location.href.indexOf('euro-rejstrik') !== -1 || location.href.indexOf('/rejstrik/') !== -1 || location.href.indexOf('/rejstrik-firem/') !== -1) { outstreamDirectPlayed = true; soundAllowed = true; iinfoVastUrlIndex = 0; } if (!outstreamDirectPlayed) { console.log('OUTSTREAM direct'); setUpIMA(true); } else { if (soundAllowed) { const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('OUTSTREAM sound allowed'); setUpIMA(false); }).catch(function () { console.log('OUTSTREAM sound forbidden'); renderBanner(); }); } } else { renderBanner(); } } } function getWrapper() { let articleWrapper = document.querySelector('.rs-outstream-placeholder'); // Outstream Placeholder from RedSys manipulation if (articleWrapper && articleWrapper.style.display !== 'block') { articleWrapper.innerHTML = ""; articleWrapper.style.display = 'block'; } // Don't render OutStream on homepages if (articleWrapper === null) { if (document.querySelector('body.p-index')) { return null; } } if (articleWrapper === null) { articleWrapper = document.getElementById('iinfo-outstream'); } if (articleWrapper === null) { articleWrapper = document.querySelector('.layout-main__content .detail__article p:nth-of-type(6)'); } if (articleWrapper === null) { // Euro, Autobible, Zdravi articleWrapper = document.querySelector('.o-article .o-article__text p:nth-of-type(6)'); } if (articleWrapper === null) { articleWrapper = document.getElementById('sidebar'); } if (!articleWrapper) { console.error("Outstream wrapper of article was not found."); } return articleWrapper; } function setupDimensions() { outstreamWidth = Math.min(iinfoOutstreamPosition.offsetWidth, 480); outstreamHeight = Math.min(iinfoOutstreamPosition.offsetHeight, 320); } /** * Sets up IMA ad display container, ads loader, and makes an ad request. */ function setUpIMA(direct) { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); if (direct) { adsRequest.adTagUrl = directVast; console.log('Outstream DIRECT CAMPAING advert: ' + directVast); videoContent.muted = true; videoContent.volume = 0; outstreamDirectPlayed = true; } else { adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Outstream advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; } // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = outstreamWidth; // adsRequest.linearAdSlotHeight = outstreamHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function setupReplayScreen() { replayScreen.addEventListener('click', function () { iinfoOutstreamPosition.remove(); iinfoVastUrlIndex = 0; outstreamInit(); }); } /** * Sets the 'adContainer' div as the IMA ad display container. */ function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. outstreamDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( outstreamDocument.getElementById('adContainer'), videoContent); } function unmuteAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); outstreamDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); outstreamDocument.getElementById('adMuteBtn').innerHTML = ''; } } /** * Loads the video content and initializes IMA ad playback. */ function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(outstreamWidth, outstreamHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } /** * Handles the ad manager loading and sets ad event listeners. * @param { !google.ima.AdsManagerLoadedEvent } adsManagerLoadedEvent */ function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } /** * Handles actions taken in response to ad events. * @param { !google.ima.AdEvent } adEvent */ function onAdEvent(adEvent) { // Retrieve the ad from the event. Some events (for example, // ALL_ADS_COMPLETED) don't have ad object associated. const ad = adEvent.getAd(); console.log('Outstream event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: // This is the first event sent for an ad - it is possible to // determine whether the ad is a video ad or an overlay. if (!ad.isLinear()) { // Position AdDisplayContainer correctly for overlay. // Use ad.width and ad.height. videoContent.play(); } outstreamDocument.getElementById('adContainer').style.width = '100%'; outstreamDocument.getElementById('adContainer').style.maxWidth = '640px'; outstreamDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); // This event indicates the ad has started - the video player // can adjust the UI, for example display a pause button and // remaining time. if (ad.isLinear()) { // For a linear ad, a timer can be started to poll for // the remaining time. intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } outstreamDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (outstreamLastError === 303) { if (isBanner) { renderBanner(); } else { replayScreen.style.display = 'flex'; } } break; case google.ima.AdEvent.Type.COMPLETE: // This event indicates the ad has finished - the video player // can perform appropriate UI actions, such as removing the timer for // remaining time detection. if (ad.isLinear()) { clearInterval(intervalTimer); } if (isBanner) { renderBanner(); } else { replayScreen.style.display = 'flex'; } break; } } /** * Handles ad errors. * @param { !google.ima.AdErrorEvent } adErrorEvent */ function onAdError(adErrorEvent) { // Handle the error logging. console.log(adErrorEvent.getError()); outstreamLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { renderBanner(); } } function renderBanner() { if (isBanner) { console.log('Outstream: Render Banner'); iinfoOutstreamPosition.innerHTML = ""; iinfoOutstreamPosition.style.height = "330px"; iinfoOutstreamPosition.appendChild(bannerDiv); } else { console.log('Outstream: Banner is not set'); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoOutstreamPosition.remove(); outstreamInit(); } else { return false; } adVolume = 1; return true; } /** * Pauses video content and sets up ad UI. */ function onContentPauseRequested() { videoContent.pause(); // This function is where you should setup UI for showing ads (for example, // display ad timer countdown, disable seeking and more.) // setupUIForAds(); } /** * Resumes video content and removes ad UI. */ function onContentResumeRequested() { videoContent.play(); // This function is where you should ensure that your UI is ready // to play content. It is the responsibility of the Publisher to // implement this function when necessary. // setupUIForContent(); } function onActiveView() { if (outstreamContainer) { const containerOffset = outstreamContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (outstreamPaused) { adsManager.resume(); outstreamPaused = false; } return true; } else { if (!outstreamPaused) { adsManager.pause(); outstreamPaused = true; } } } return false; } let outstreamInitInterval; if (typeof cpexPackage !== "undefined") { outstreamInitInterval = setInterval(tryToInitializeOutstream, 100); } else { const wrapper = getWrapper(); if (wrapper) { let outstreamInitialized = false; window.addEventListener('scroll', () => { if (!outstreamInitialized) { const containerOffset = wrapper.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight / 1 && containerOffset.bottom > 0.0) { outstreamInit(); outstreamInitialized = true; } } }); } } function tryToInitializeOutstream() { const wrapper = getWrapper(); if (wrapper) { const containerOffset = wrapper.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight / 1 && containerOffset.bottom > 0.0) { if (cpexPackage.adserver.displayed) { clearInterval(outstreamInitInterval); outstreamInit(); } } } else { clearInterval(outstreamInitInterval); } } }
OSZAR »