Pendlery nechceme. Banky zpřísnily podmínky hypoték kvůli příjmu ze zahraničí

14. 5. 2020
Doba čtení: 4 minuty

Sdílet

Autor: Depositphotos
Některé banky zpřísnily podmínky hypoték pro lidi pracující za hranicemi. Ale nejen pro ně. Důvodem je obava dopadů krize způsobené koronavirem. Pendleři tak mají potíže se získáním úvěru.

Pokud dojíždíte za prací do zahraničí jako pendler, můžete být nyní v očích bank rizikovější klient než před koronakrizí. Důvodem jsou problémy s cestováním za hranice v důsledku vládních nařízení. I když vláda postupně omezení pro pendlery uvolňuje, v nějaké podobě stále trvají a mohou dojíždění do práce komplikovat. A banky se obávají, že to může mít negativní dopad na příjmy pendlerů.

Někteří pendleři popisují svoje nynější zkušenosti s bankami na sociálních sítích. Jeden z nich ve facebookové skupině, kde se příhraniční pracovníci potkávají, například uvádí, že mu nevyšla žádost o hypotéku u České spořitelny právě proto, že je pendler a má příjem ze zahraničí. Mám to zkusit znovu za 2 měsíce, uvedl muž v příspěvku.

Komplikovanější teď může být podle zkušeností pendlerů i refinancování hypoték. Refinancujeme a finanční poradkyně volala, že banky teď neberou zahraniční příjmy, stojí v dalším příspěvku na Facebooku.

Mluvčí České spořitelny Lukáš Kropík potvrdil, že banka lidem, kteří dojíždějí za prací do ciziny, poskytování úvěrů omezila. Podle něj se však nejedná o plošné omezení. Pokud nám samozřejmě při žádosti o úvěr na bydlení doloží potřebné dokumenty, ze kterých bude patrné, že současná situace se jejich pravidelných příjmů nedotkla, posuzujeme tyto žádosti o hypoteční úvěr individuálně. V tomto se nic nemění, tyto žádosti jsme vždy posuzovali individuálně, uvedl.

Opatření mají být dočasná

Česká spořitelna však není sama, kdo po podobném opatření sáhl. Podle Luboše Svačiny z Golem Finance k tomuto kroku přistoupily i další bankovní domy. A přísnějším metrem měří nejen klienty s příjmy ze zahraničí, ale třeba i zaměstnance v pohostinství nebo cestovním ruchu. Tedy klienty pracující v odvětví, které je koronavirovou krizí nejvíce zasaženo.  

Pro rizikovější klienty nyní banky podle Svačiny například nastavily přísnější ukazatel DSTI, který odráží poměr mezi měsíční splátkou úvěru a čistým příjmem domácnosti. Nyní je u některých bank i na úrovni 40 %, tedy mnohem přísněji, než doporučuje Česká národní banka. Ta v dubnu komerčním bankám umožnila tento ukazatel zvýšit ze 45 % na 50 %, čímž došlo ke zmírnění této podmínky. Bankami je toto opatření (přísnější DSTI) prezentované jako dočasné, uvedl Svačina.

Nutno dodat, že některé banky zpřísnily podmínky nad rámec doporučení České národní banky i pro ostatní klienty, nejen pro pendlery nebo lidi ze zasažených oborů. Důvodem je především nejistota ohledně dalšího vývoje kolem koronaviru.

Přísnější limity pro všechny

Banka, která výrazně omezila poskytování hypoték, je například UniCredit bank. Novým klientům bez historie nyní poskytuje hypotéky pouze do 60 % LTV (limit výše hypotéky v poměru k hodnotě zastavované nemovitosti), přitom dříve je poskytovala do výše 80 až 90 % LTV. To znamená, že nový klient by nyní pro získání hypotéky musel dát při pořízení nemovitosti 40 % její hodnoty z vlastního.

Přitom sama Česká národní banka limit LTV v dubnu zvýšila z 80 % na 90 %, takže na získání úvěru na bydlení by nyní podle jejích doporučení mělo stačit 10 % hodnoty nemovitosti místo dřívějších 20 %. Tím dala komerčním bankám signál pro uvolňování pravidel při poskytování hypoték. Jak se ale ukazuje, praxe je v současné době jiná.

Na banky totiž doléhá mimo jiné také vládou nařízené splátkové moratorium. To jim ukládá povinnost, aby klientovi, za určitých podmínek a na základě jeho žádosti, umožnily odklad splátek hypoték, spotřebitelských i podnikatelských úvěrů na šest měsíců. Pro banky to znamená dočasný výpadek peněz a někteří ekonomové už před jeho schválením upozorňovali, že důsledkem bude právě zastavení či omezení poskytování úvěrů ze strany bank.

Vláda k moratoriu přistoupila, aby kvůli výpadku příjmů firem, živnostníků a domácností v souvislosti s koronavirovou pandemií nedocházelo ke zbytečným či předčasným insolvencím. To by poškodilo tuzemskou ekonomiku a v důsledku i zdraví bank. Na druhou stranu není v tuto chvíli jasné, jestli opatření některé insolvence skutečně odvrátí, nebo jen oddálí.

Kvůli obavě o další vývoj se banky příliš nehrnou ani do zlevňování hypoték, byť Česká národní banka v poslední době snížila úroky hned třikrát. Dvakrát v březnu a znovu pak minulý čtvrtek snížila základní úrokovou sazbu o 75 bazických bodů na 0,25 %. ČNB to dělá proto, aby byly úvěry dostupnější. Jak už jsme si ale řekli, realita je nyní jiná.

Pendleři a jejich (ne)cesty do práce

Pendleři mají nyní komplikovanější cestování za prací než před koronavirem kvůli uzavření hranic a omezení cestování, které nařídila vláda. Podmínky jim pak kabinet za necelé dva měsíce změnil už čtyřikrát. 

bitcoin_smenarna

Nejprve pendlerům nařídil turnusový režim 21+14, což pro ně znamenalo možnost překročit hranice jen jednou za 21 dní a po návratu domů povinnou 14denní karanténu. Později vláda režim upravila na turnus 14+14, tedy přechod hranic jednou za 14 dní, poté opět povinná karanténa. Od 27. dubna turnusový režim skončil a pendleři mohli začít cestovat do práce denně, pokud jednou za 14 dní doložili negativní test na koronavirus.

Toto nařízení se ale mezi vládními pokyny příliš dlouho neohřálo. Hned 1. května ho vystřídala nová a zatím poslední úprava, kdy pendleři mohou cestovat do práce denně po předložení negativního testu jednou za 30 dní. Vláda také umožnila, aby mohli test doložit dodatečně po překročení hranic ze zahraničí do 72 hodin. Pokud jej do té doby nedoloží, musejí do 14denní karantény.

Autor článku

Po studiu žurnalistiky se začala naplno věnovat novinářskému řemeslu se zaměřením na ekonomiku.

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 »