;(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 2022: Como declarar plano de previdência privada

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

12/02/2022 04h00Atualizada em 10/05/2022 16h06

Os investimentos feitos em planos de previdência privada ao longo do ano ado devem ser informados pelo contribuinte na declaração do Imposto de Renda. A forma como as informações serão prestadas à Receita Federal depende do tipo de plano.

Veja quais são os procedimentos para declarar planos do tipo VGBL (Vida Gerador de Benefício Livre) e PGBL (Plano Gerador de Benefício Livre). Vale lembrar que as contribuições feitas em planos do tipo PGBL podem ser deduzidas da base de cálculo do Imposto de Renda até o limite de 12% da renda tributável, desde que você escolha o modelo completo da declaração.

Como declarar VGBL

As contribuições feitas em planos do tipo VGBL devem ser informadas na ficha de "Bens e Direitos". Clique em "novo" e selecione o "grupo" 99-Outros Bens e Direitos. Em seguida, selecione "código" 06-VGBL. Informe o CNPJ da instituição financeira responsável pelo plano. Na "discriminação", informe o valor total da contribuição feita no ano ado, conforme informado no informe enviado pela instituição financeira.

Por exemplo, se você tinha R$ 15 mil aplicados no fim de 2020 e investiu mais R$ 10 mil em 2021, descreva essa informação no campo "discriminação". Informe o valor de R$ 15 mil no campo "situação em 31/12/2020" e coloque R$ 25 mil (R$ 15 mil mais os R$ 10 mil investidos no ano ado) no campo "situação em 31/12/2021".

Os rendimentos obtidos com o plano ao longo do ano ado não devem ser declarados porque o investimento não foi resgatado.

Porém, se você fez um resgate parcial ou total do VGBL, informe na ficha de "Bens e Direitos", no campo "discriminação", que houve o resgate e o valor. No campo situação em 31/12/2021, informe o valor de 2020 menos o resgate (siga os valores que estão no informe de rendimentos), ou coloque zero, caso tenha feito o resgate total do fundo.

No caso de resgate ou recebimento de benefício, os rendimentos obtidos com o VGBL devem ser informados em outra ficha da declaração. Basta seguir as informações do informe de rendimentos fornecido pela instituição financeira.

Se o seu plano tem regime de tributação progressiva, o rendimento será informado na ficha "Rendimentos Tributáveis Recebidos de Pessoa Jurídica". Porém, se o regime de tributação do VGBL é regressivo, o rendimento entra na ficha "Rendimentos Sujeitos à Tributação Exclusiva".

Como declarar PGBL, Fapi ou fundo de pensão

As contribuições a planos de previdência privada do tipo PGBL, Fapi ou a entidades públicas fechadas de previdência complementar devem ser informadas na ficha "Pagamentos e Doações Efetuados".

Selecione o código de acordo com o tipo de plano: "36 - Previdência Complementar (inclusive FAPI)" para PGBL e FAPI; ou "37 - Contribuições para as entidades de previdência complementar fechadas de natureza pública".

IR PGBL - Reprodução - Reprodução
Imagem: Reprodução

O investimento em previdência privada somente poderá ser usado para dedução do Imposto de Renda se você optar pelo modelo completo de declaração. O próprio programa calcula o limite de 12% da renda permitido para essa dedução.

Se você resgatou o plano ou já está recebendo benefício, os valores retirados devem ser informados na declaração de acordo com o tipo de tributação.

Se o plano tiver tributação progressiva, os saques entrarão na ficha "Rendimentos Tributáveis Recebidos de Pessoa Jurídica". Para plano com tributação regressiva, informe as retiradas na ficha "Rendimentos Sujeitos à Tributação Exclusiva".

Lembre-se de seguir as informações conforme estão no informe de rendimentos fornecido pela instituição responsável pelo plano de previdência. Planos do tipo PGBL, Fapi ou de entidade pública de previdência complementar não devem ser informados na ficha de "Bens e Direitos".