;(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();
})();
A faixa de isenção vai subir de R$ 1903,98 para R$ 2.112. O governo também criou uma dedução simplificada de R$ 528 e, com isso, quem recebe até R$ 2.640 ficará isento.
O desconto simplificado é opcional e vai valer mais a pena para os trabalhadores que ganham menos.
Quem ganha até R$ 2.640 não pagará Imposto de Renda nem na fonte (contracheque) nem na declaração de ajuste anual. Os trabalhadores que ganham mais do que isso vão pagar apenas sobre o valor excedente.
O governo ainda precisa publicar uma medida provisória oficializando a atualização do teto de isenção. A nova tabela só valerá para declaração do Imposto de Renda de 2024.
Durante o UOL Entrevista em 1º de março, Haddad anunciou que o governo pretende taxar os jogos eletrônicos. Isso serviria para compensar perda de arrecadação com o aumento do teto de isenção do Imposto de Renda.
Isenção foi anunciada, mas ainda não está valendo
Lula disse que a medida começa a valer em 1º de maio, mas ainda não houve a regulamentação oficial.
A medida provisória começa a valer a partir do momento de sua publicação. Ela precisa ser aprovada pelo Congresso em até 120 dias para virar lei ou perde seu efeito.
Segundo a Receita Federal, os brasileiros irão sentir o benefício imediatamente no bolso. "Não haverá nenhuma retenção na fonte para essa faixa de renda. Ou seja, não terão que esperar a declaração no ano seguinte para pedir a restituição do que foi retido", informou a Receita em nota ao UOL.
A nova tabela não muda nada para a declaração do Imposto de Renda deste ano. A declaração é relativa aos ganhos de 2022 e, por isso, qualquer mudança em 2023 só terá efeito na declaração de 2024, de acordo com Cleiton Felipe, diretor da área de impostos da BDO.
O governo federal ainda não publicou ou projetou as faixas de cobrança de Imposto de Renda da nova tabela.
Apesar da ampliação da faixa de isenção, os cenários podem se alterar conforme as deduções legais ou o desconto simplificado que está sendo proposto pelo governo. Daniel de Paula, especialista tributário da IOB
Como ficam as próximas faixas
O governo federal anunciou apenas o novo valor para a faixa de isenção. Ainda não se sabe se haverá uma atualização no restante da tabela.
Para quem ganha R$ 10 mil, por exemplo, o desconto de R$ 528 não vai valer a pena. A Receita diz que as deduções atuais (com educação e saúde, por exemplo) para quem recebe este valor são maiores do que os R$ 528.
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.
Escolha do editor
Escolha do editor
PUBLICIDADE
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.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.