Menu Zavřít

Nižší administrativní zátěž, výrazné úspory. Digitalizace účetnictví se v Česku stává trendem, tvrdí šéf wflow

17. 2. 2025
Doba čtení: 3 minuty
Mladá účetní zkoumá firemní faktury
Autor: Depositphotos
  • Účetnictví českých firem se postupně digitalizuje, díky čemuž společnosti získávají lepší kontrolu nad svými financemi a šetří čas i peníze
  • Zmíněné závěry vyplývají z dat tuzemského startupu wflow, který ovládá asi 70 procent českého trhu digitalizace účetnictví
  • Příjmy této společnosti loni přesáhly 72 milionů korun, což představuje meziroční nárůst o 59 procent

Zpracování účtenek a faktur je obvykle poměrně zdlouhavou a náročnou prací, kterou má v oblibě asi jen málokdo. Není proto překvapivé, že v poslední době narůstá využití různých automatizovaných systémů, jež mají zaměstnancům i účetním s těmito úkoly výrazně pomoci.

„Ještě před pár lety byl pro firmy digitální účetní proces volitelným bonusem, dnes už se bez něj neobejdou. Potřeba automatizace se stává standardem napříč obory, protože uvolňuje ruce účetním i manažerům. Digitalizace v roce 2024 nejen zrychlila, ale také ukázala, že firmy chtějí co nejefektivnější nástroje pro své podnikání,“ řekl Robert Soudný, šéf společnosti wflow, která se specializuje právě na automatizaci účetních dat.

Outstream Placeholder

Právě toto odvětví je z hlediska možných přínosů digitalizace velmi perspektivní, jelikož až 90 procent účetní agendy tvoří rutinní administrativní úkony, jež lze bez problémů digitalizovat. Tím se účetním uvolní prostor pro odbornější činnosti, jako je daňové poradenství nebo analýza finančních dat. Podle průzkumu wflow mezi svými zákazníky navíc firmy, které přešly na automatizované účetnictví, snížily své náklady na administrativu až o 50 procent.

Digitalizace snižuje chybovost

Kromě ušetřeného času a peněz je další zásadní výhodou používání digitálních účetních nástrojů i eliminace chyb způsobených ručním zadáváním dat. Více než 60 procent účetních totiž v průzkumu agentury Perfect Crowd uvedlo, že jejich práci komplikují pozdě odevzdané doklady, špatně vyplněné formuláře nebo neaktuální data. Automatizace zmíněných procesů tento problém dokáže odstranit, což přispívá k vyšší efektivitě a přesnosti účetní agendy. Zároveň tím pak firmy získávají lepší kontrolu nad svými financemi, a tak není divu, že tato digitalizace postupně proniká do čím dál většího množství odvětví. 

„Například ve stavebnictví dnes přispívá k efektivnější správě dokumentace, což snižuje administrativní tlak na vedoucí pracovníky na stavbách. Už tedy rozhodně není otázkou jen technologických firem, ale praktickým nástrojem pro každé odvětví. Zatímco dříve naše služby využívaly hlavně technologické a poradenské společnosti, minulý rok se k nim přidaly právě stavební firmy nebo podniky z oblasti maloobchodu, logistiky a cestovního ruchu,“ doplnil Soudný.

Účetní nemusejí být otroky papírů. Největší překážkou digitalizace jsou však oni sami, říká šéf wflow
Přečtěte si také:

Účetní nemusejí být otroky papírů. Největší překážkou digitalizace jsou však oni sami, říká šéf wflow

Rozvoji digitalizace účetnictví podle něj pomáhá i trend práce na dálku, který se po pandemii stal běžnou součástí fungování mnoha firem. Díky využití cloudového řešení totiž mohou společnosti flexibilně řídit své účetní procesy bez ohledu na to, kde se jejich pracovníci aktuálně nacházejí.

Menší překážkou jsou naopak obavy některých firem, jež digitalizaci považují za příliš náročnou. Jinde zase své účetnictví vnímají jako dostatečně digitalizované, ačkoliv třeba využívají jen jednoduchých online nástrojů. „Tak jako používání elektronické pošty a sdílený kalendář ještě neznamenají digitalizovanou firmu, posílání dokladů e-mailem a jejich přepsání do účetního programu ještě neznamená digitalizované účetnictví,“ shrnula pro Kurzy.cz Bohuslava Kutnerová, spolumajitelka společnosti Arelas, která se touto problematikou rovněž zabývá. 

Doklady za miliardu eur

Přes zmíněné obavy některých firem je ale zájem o digitalizaci účetnictví velký, což potvrzují rovněž nejnovější data wflow. Jeho služby aktuálně využívá více než 6100 firem v 18 zemích, přičemž měsíčně se prostřednictvím této platformy zpracuje okolo 400 tisíc dokladů, jejichž celková hodnota přesahuje jednu miliardu eur (asi 25 miliard korun). I díky tomu loni příjmy tuzemského startupu přesáhly 72 milionů korun, tedy meziročně o 59 procent víc.

CIF25

Za dobrými výsledky stojí podle Soudného například fakt, že wflow aktuálně ovládá asi 70 procent českého trhu digitalizace účetnictví. Silnou pozici si navíc společnost postupně vytváří také na Slovensku, kde je o jeho služby taktéž větší a větší zájem. Ten by měl každopádně v brzké budoucnosti sílit i všude jinde.

Má dáti, ale nedá, neboť nestíhá. Česko trápí nedostatek samostatných účetních, polovina z nich odmítá nové klienty, ukazuje průzkum
Přečtěte si také:

Má dáti, ale nedá, neboť nestíhá. Česko trápí nedostatek samostatných účetních, polovina z nich odmítá nové klienty, ukazuje průzkum

„V roce 2025 budeme svědky dalšího růstu cloudových řešení a rozšiřování automatizovaných nástrojů pro účetní profesionály. V souvislosti s evropskou legislativou lze předpokládat, že v příštích letech dojde k zavedení povinné elektronické fakturace, jak je tomu již v některých zemích EU. Například ve Francii bude elektronická fakturace od roku 2024 postupně povinná pro všechny vnitrostátní transakce mezi firmami. Je jen otázkou času, kdy budou následovat další evropské země,“ uzavřel Soudný.

  • Našli jste v článku chybu?
'; 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'; } }