;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Imposto de Renda

Dúvidas do IR 2018


Dúvidas do IR 2018

Você pode declarar IR 2017 sem ser obrigado e ganhar 100% de restituição

iStock/RyanJLane
Imagem: iStock/RyanJLane

20/04/2017 04h00

Quem não é obrigado a declarar o Imposto de Renda 2017 pode entregar a declaração e isso pode ser até bom para o bolso. Dá para ganhar 100% de restituição, dependendo do caso. E ainda pode fazer fora do prazo de entrega, sem pagar multa.

Vale a pena quando:

  • teve imposto retido durante o ano
  • pretende fazer financiamento
  • quer obter visto para viajar ao exterior

1) Teve imposto retido

Quem não é obrigado, mas apresenta a declaração porque teve algum tipo de retenção de imposto durante o ano, como quando recebeu o pagamento de férias, por exemplo, terá 100% de restituição,qualquer que seja o valor.

"O valor será integralmente restituído, pois não pertence ao governo, mas ao contribuinte, que pagou imposto a mais. Se ele não fizer a declaração, não terá esse dinheiro de volta", explica Edino Garcia, especialista tributário da Synchro Solução Fiscal.

2) Quer fazer financiamento

Mesmo quem não tem imposto a receber, mas pretende pedir um financiamento bancário ou viajar ao exterior pode apresentar a declaração de IR para ficar com esse documento em mãos.

Segundo o coordenador de Imposto de Renda da Sage IOB, Antonio Teixeira Bacalhau, quem vai precisar de um financiamento imobiliário ou um empréstimo no banco pode ser solicitado a entregar a declaração do Imposto de Renda. "Isso porque os bancos querem que a pessoa comprove a renda ou até mesmo comprove se não possui bens na hora de pedir um financiamento imobiliário pelo SFH, por exemplo", afirma.

3) Quer um visto para viajar ao exterior

Outro motivo para ter a declaração do Imposto de Renda é que esse documento também é solicitado para a emissão de vistos para viagens ao exterior, como no caso de viagens aos Estados Unidos.

A declaração serve como um dos documentos que demonstram condição financeira do viajante para custear a viagem e também seus vínculos com o país.

Quem não é obrigado não paga multa

Segundo Bacalhau, outra vantagem para o contribuinte desobrigado da entrega é que pode enviar a declaração depois do prazo, sem pagar multa.

Então, se decidir fazer a declaração em cima da hora e não tiver os documentos na mão, não há problema. Pode fazer depois do prazo oficial.

O limite máximo de tempo é de cinco anos.

(Sophia Camargo, colaboração para o UOL)

Dúvidas do IR 2018

Dúvidas do IR 2018