;(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

IR 2020: Receita adia declaração de Simples e MEI, mas não muda de pessoas

Colaboração para o UOL, de São Paulo

26/03/2020 11h22

A Receita Federal informou nesta quinta-feira (26) que prorrogou o prazo de entrega das declarações anuais das empresas que operam sob o regime do Simples Nacional e dos microempreendedores individuais (MEI) até o dia 30 de junho.

Mas para as pessoas físicas, o prazo para entrega da declaração de Imposto de Renda 2020, por enquanto, está mantido até o dia 30 de abril.

Originalmente, o prazo para apresentação da Declaração de Informações Socioeconômicas e Fiscais (Defis) pelas empresas do Simples Nacional, referente ao ano-calendário de 2019, acabaria em 31 de março. O prazo para entrega da Declaração Anual Simplificada para o Microempreendedor Individual (DASN-Simei) terminaria em 31 de maio.

A medida foi tomada pelo Comitê Gestor do Simples Nacional (CGSN) em resolução publicada hoje no Diário Oficial. O aumento do prazo, segundo o governo, tem como objetivo diminuir os impactos econômicos causados pela pandemia do Covid-19 no Brasil.

Na semana ada, o CGSN já havia aprovado resolução prorrogando o prazo para pagamento dos tributos federais para MEI e empresas do Simples Nacional.

O imposto (DAS) de março, que venceria em 20 de abril, foi adiado para 20 de outubro. O de abril, que venceria em 20 de maio, poderá ser pago até 20 de novembro. E o imposto de maio, com vencimento em 22 de junho, será aceito sem multa até 21 de dezembro. O imposto de fevereiro teve seu vencimento mantido em 20 de março.

O que você precisa saber sobre IR 2020

Tire suas dúvidas com um especialista no grupo do UOL
Faça o do programa para declarar
Quer pagar menos imposto? Veja lista do que pode descontar ou não
Já conferiu se você tem mesmo de declarar neste ano?
Prazo vai até 30 de abril, e multa pode ser bem maior do que parece
Leia respostas às principais dúvidas sobre a declaração

Veja mais economia de um jeito fácil de entender: @uoleconomia no Instagram.
Ouça os podcasts Mídia e Marketing, sobre propaganda e criação, e UOL Líderes, com CEOs de empresas.
Mais podcasts do UOL em uol.com.br/podcasts, no Spotify, Apple Podcasts, Google Podcasts e outras plataformas.

Bolsonaro diz que vai insistir para aumentar isenção no Imposto de Renda

UOL Notícias
PUBLICIDADE
Errata: este conteúdo foi atualizado
Foi informado incorretamente que o prazo para entrega da Defis e da DASN-Simei terminaria em 29 de maio. Na verdade, o prazo da Defis seria até 31 de março, e da DASN-Simei até 31 de maio. Agora, a entrega de ambos foi adiada para 30 de junho.

O Imposto de Renda é uma declaração que deve ser realizada por pessoas e empresas à Receita Federal anualmente. No documento, devem ser relatados todos os rendimentos ganhos ao longo daquele período. Por meio da declaração, o governo analisa quais tributos já foram pagos pelo contribuinte e se o declarante deve receber restituição ou pagar algum valor de acordo com a tabela preestabelecida. Veja abaixo todas as notícias e informações sobre o Imposto de Renda 2025.