Musí OSVČ archivovat kopie přehledů o příjmech a výdajích?

Sdílet

4.3.25 1*/žena, podnikatelka, dokumenty, byrokracie, sekretářka Autor: Deposithphotos, podle licence: Rights Managed
Ilustrační obrázek

OSVČ, která není v paušálním režimu, musí podávat přehledy o příjmech a výdajích. A to jak České správě sociálního zabezpečení, tak zdravotní pojišťovně. Musí kopie těchto tiskopisů archivovat? Pokud ano, jak dlouho? 

Přehled o příjmech a výdajích je OSVČ povinna odevzdat nejpozději do jednoho měsíce ode dne uplynutí lhůty pro podání daňového přiznání k dani z příjmů fyzických osob, ve kterém je OSVČ povinna podat daňové přiznání. 

Kdy musí OSVČ komunikovat se sociálkou jedině elektronicky? Přečtěte si také:

Kdy musí OSVČ komunikovat se sociálkou jedině elektronicky?

Lhůta pro podání daňového přiznání se stanoví podle dne podání, způsobu podání a podle toho, kdo podání učinil. 

Termíny pro podání přehledu OSVČ za rok 2024

  • do 8. dubna 2025 pro zdravotní pojišťovnu, pokud OSVČ nemá povinnost podat daňové přiznání 
  • do 2. května 2025, pokud OSVČ podává daňové přiznání bez daňového poradce (v listinné podobě nebo osobně) 
  • do 2. června 2025 pokud OSVČ podává daňové přiznání elektronicky 
  • do 1. srpna 2025, pokud OSVČ podává daňové přiznání s daňovým poradcem
Přehled termínů, dokdy podat daňové přiznání a přehledy pro pojišťovnu a ČSSZ Přečtěte si také:

Přehled termínů, dokdy podat daňové přiznání a přehledy pro pojišťovnu a ČSSZ

Musí OSVČ přehledy uchovávat? 

Jak upozorňuje Česká správa sociálního zabezpečení, povinnost uchovávat přehled o příjmech a výdajích za daný kalendářní rok není stanovena zákonem. Je zde ovšem doporučení, aby si OSVČ uchovávala kopii přehledu včetně dokladu o jeho podání (např. dodejka odeslané datové zprávy, či protokol o přijetí elektronického podání, který ČSSZ podávajícímu odesílá) pro svou vlastní kontrolu údajů, které odevzdala na příslušnou správu sociálního zabezpečení.

Úřad připomíná také zákon o pojistném na sociální zabezpečení a příspěvku na státní politiku zaměstnanosti, který uvádí: Účetní záznamy o údajích potřebných pro stanovení a odvod pojistného jsou plátci pojistného povinni uschovávat po dobu 10 kalendářních roků následujících po roce, kterého se týkají. To platí obdobně pro úschovu dokladů potřebných ke stanovení slevy na pojistném.

Archivujete kopie přehledů o příjmech a výdajích?

Přehledy všech pojišťoven a ČSSZ na jednom místě

Všeobecná zdravotní pojišťovna ČR

Přehled o výši daňového základu OSVČ 2024 (VZP)

Česká průmyslová zdravotní pojišťovna

Přehled o výši daňového základu OSVČ za rok 2024 – interaktivní (ČPZP) 

Přehled o výši daňového základu OSVČ za rok 2024 (ČPZP)

Oborová zdravotní pojišťovna zaměstnanců 

Přehled o výši daňového základu OSVČ za rok 2024 – elektronicky (OZP) 

Přehled o výši daňového základu OSVČ za rok 2024 (OZP)

Revírní bratrská pokladna, zdravotní pojišťovna

Přehled o výši daňového základu OSVČ za rok 2024 (RBPZ)

Vojenská zdravotní pojišťovna ČR

Přehled o výši daňového základu OSVČ za rok 2024 – interaktivní (VOZP) 

Přehled o výši daňového základu OSVČ za rok 2024 (VOZP)

Zaměstnanecká pojišťovna Škoda

Přehled o výši daňového základu OSVČ za rok 2024 – interaktivní (ZPŠ) 

Přehled o výši daňového základu OSVČ za rok 2024 (ZPŠ)

Zdravotní pojišťovna ministerstva vnitra ČR 

Přehled o výši daňového základu OSVČ za rok 2024 – interaktivní (ZPMV)

Zdravotní pojišťovny nabízí také možnost podat formulář online prostřednictvím aplikací. 

Přehled pro ČSSZ 

Pokud má OSVČ zpřístupněnou datovou schránku, která jí byla zřízena ze zákona je, povinna podávat přehled elektronicky. Je možné využít ePortál ČSSZ

Autor aktuality

Jana Knížková píše podnikatelské aktuality. Zaměřuje se na změny zákonů, dávky, OSVČ a zpravodajství ze státní správy. Profil autorky →

'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.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:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { 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(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll 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 = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } 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(); } 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(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).