Pack

REINF - O que é o evento R-2050 e quando será gerado no REINF - Fiscal

Neste artigo veremos o que é o evento R-2050 e quais campos devem ser configurados no sistema. 

O que é o evento R-2050?


É a Comercialização da Produção por Produtor Rural PJ / Agroindústria. 

Evento em que são prestadas as informações relativas à comercialização da produção rural ou agroindustrial, quando o produtor rural pessoa jurídica e a agroindústria estão sujeitos à contribuição previdenciária substitutiva sobre a receita bruta, proveniente da comercialização da produção rural. 



Quando será gerado o evento R-2050 no SPED Reinf ?


O envio dos eventos periódicos, ocorrerá mensalmente. Neste grupo são levadas informações referentes à comercialização da produção e à apuração da contribuição previdenciária substitutiva pelas agroindústrias e demais produtores rurais pessoa jurídica (retenção, contribuição previdenciária, etc). 

Somente será gerado o R-2050 para empresas com o seu cadastro configurado com a classificação tributária “06 – Agroindústria” ou “07 –Produtor Rural Pessoal Jurídica”.

Se o movimento do mês referente houver uma devolução maior que o valor do faturamento, o evento R-2050 não será gerado. Apenas será gerado se o valor do faturamento for maior que a devolução.

Cadastro de clientes


Ao acessar Cadastros > Clientes pode-se cadastrar/ editar um cliente.

Além dos campos básicos, como, por exemplo, CNPJ/CPF, uma configuração importante para o SPED Reinf é a seguinte:

"Indicativo de comercialização" - Este campo, geralmente, vem em branco para que o usuário informe o indicador de comercialização para produtor rural, agroindústria ou comercialização para mercado externo. Esta informação influenciará no evento R-2050, levando os códigos 1, 7, 8 ou 9 conforme a opção selecionada. Este campo poderá ser ajustado em bloco.

Lançamento das Alíquotas de GILRAT e SENAR


Caso a empresa seja uma agroindústria ou algum outro tipo de produtor rural pessoa física, ela deve realizar o lançamento das alíquotas GILRAT e SENAR.

Este lançamento é realizado em Federal - SPED Reinf - Alíquota GILRAT / SENAR.

 O GILRAT é o Grau de Incidência de Incapacidade Laborativa Decorrente dos Riscos do Ambiente de Trabalho. Equivale ao antigo SAT, Seguro de Acidente de Trabalho.

O SENAR é o Serviço Nacional de Aprendizagem Rural. Neste cadastro, basta informar o período e as alíquotas (exemplo: 10%). Estas informações serão levadas no evento R-2050.

Para mais informações sobre as alíquotas acesse o manual SPED REINF, clicando aqui.

 

<div id="text-end"></div>




<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-193974933-1"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag2(){dataLayer.push(arguments);}
  gtag2('js', new Date());

  gtag2('config', 'UA-193974933-1');


  function gtagevents (action,category) {
     console.log(category + ':' + action);
     gtag2('event',action,{event_category:category,event_label: document.title});
  };

</script>

<script src="https://player.vimeo.com/api/player.js"></script>
<script>
    (function(){
        // RASTREIO DE USO DO VÍDEO
        function gtagvideo(action){
           gtagevents(action,'Video')
        }

        var iframe = document.querySelector('iframe');
        var player = new Vimeo.Player(iframe);

        var seeking = false;
        var priorTime = 0;
        var currentTime = 0;
        var reportouFinalDoConteudo = false;

        // se pausar o play é acionado também.
        player.on('play', function(data) {
            if(data.seconds == 0){ 
              gtagvideo('video-iniciado');
            }
            priorTime = data.seconds;             
        });

        player.on('ended', function() {
            gtagvideo('video-finalizado');
        });

        //seeking e timeupdate são disparados juntos, logo o tempo dos 2 é atualizado também. Preciso garantir que a variavel starttime seja atualizada ordenadamente (sempre antes ou após o seeking).
        // pra isso preciso setar uma variavel no timeupdate e ler no seeking para garantir a ordem. Se ela estiver false será alterada na próxima iteração.
        player.on('seeking', function(data) {               
            seeking = true;
        });


        player.on('pause',function(data){
            gtagvideo('video-pausado');    
        });

        player.on('timeupdate', function(data) {
            if(seeking){
                if(currentTime < priorTime){
                    gtagvideo('video-voltando');    
                }
                if(currentTime > priorTime){
                    gtagvideo('video-avancando')
                }
                seeking = false;
            }
            priorTime = currentTime;
            currentTime = data.seconds;


           var finalDoConteudo = (data.duration - data.seconds) < 5;
           if(finalDoConteudo && !reportouFinalDoConteudo){
            gtagvideo('conteudo-finalizado')
            reportouFinalDoConteudo = true;
           }
        });

        player.on('fullscreenchange', function() {
            gtagvideo('video-fullscreen');
        });
    })();
</script>

<script>
 // RASTREIO DO USO DE AUDIO
 (function(){
    function gtagaudio(action){
           gtagevents(action,'Audio')
    }            

    var audio = document.querySelector("audio");

    var seeking = false;
    var priorTime = 0;
    var currentTime = 0;

    audio.addEventListener('play',function(){
        if(audio.currentTime == 0){
          gtagaudio('audio-iniciado');
        }
        priorTime = audio.currentTime;        
    });

    audio.addEventListener('ended',function(){
        gtagaudio('audio-finalizado');
    });

    audio.addEventListener('pause',function(){
        gtagaudio('audio-pausado');
    });

    audio.addEventListener('seeking', function(data) {               
        seeking = true;
    });

    audio.addEventListener('timeupdate', function(data) {               
        if(seeking){
                if(currentTime < priorTime){
                    gtagaudio('audio-voltando');    
                }
                if(currentTime > priorTime){
                    gtagaudio	('audio-avancando')
                }
                seeking = false;
            }
            priorTime = currentTime;
            currentTime = audio.currentTime;
    });    
 })();
 </script>

<script>
    (function(){
        var terminou = false;
        //RASTREIO DE LEITURA ATÉ O FINAL DA PÁGINA
        document.addEventListener('scroll',() => {
            if(document.getElementById('text-end').getBoundingClientRect().top < window.innerHeight){
                if(!terminou){
                    terminou = true;
                    gtagevents('artigo-lido','Pagina')
                }
            }else{
                terminou = false;
            }
                
        });
    })();
 </script>








<div id="text-end"></div>


<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-19PXZY9EEV"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag3(){dataLayer.push(arguments);}
  gtag3('js', new Date());

  gtag3('config', 'G-19PXZY9EEV');


  function gtagevents (action,category) {
     console.log(category + ':' + action);
     gtag3('event',action,{event_category:category,event_label: document.title});
  };

</script>
<script src="https://player.vimeo.com/api/player.js"></script>
<script>
    (function(){
        // RASTREIO DE USO DO VÍDEO
        function gtagvideo(action){
           gtagevents(action,'Video')
        }

        var iframe = document.querySelector('iframe');
        var player = new Vimeo.Player(iframe);

        var seeking = false;
        var priorTime = 0;
        var currentTime = 0;
        var reportouFinalDoConteudo = false;
        var reportouMetadeAssistido = false;

        // se pausar o play é acionado também.
        player.on('play', function(data) {
            if(data.seconds == 0){ 
              gtagvideo('video-iniciado');
            }
            priorTime = data.seconds;             
        });

        player.on('ended', function() {
            gtagvideo('video-finalizado');
        });

        //seeking e timeupdate são disparados juntos, logo o tempo dos 2 é atualizado também. Preciso garantir que a variavel starttime seja atualizada ordenadamente (sempre antes ou após o seeking).
        // pra isso preciso setar uma variavel no timeupdate e ler no seeking para garantir a ordem. Se ela estiver false será alterada na próxima iteração.
        player.on('seeking', function(data) {               
            seeking = true;
        });

        player.on('pause',function(data){
            gtagvideo('video-pausado');    
        });

        player.on('timeupdate', function(data) {
            if(seeking){
                if(currentTime < priorTime){
                    gtagvideo('video-voltando');    
                }
                if(currentTime > priorTime){
                    gtagvideo('video-avancando')
                }
                seeking = false;
            }
            priorTime = currentTime;
            currentTime = data.seconds;


           var finalDoConteudo = (data.duration - data.seconds) < 5;
           if(finalDoConteudo && !reportouFinalDoConteudo){
            gtagvideo('video-conteudo-finalizado')
            reportouFinalDoConteudo = true;
           }


           var metadeAssistido = data.seconds > (data.duration/2);
           if(metadeAssistido && !reportouMetadeAssistido){
              gtagvideo('video-metade-assistido')
              reportouMetadeAssistido = true;
           }
        });

        player.on('fullscreenchange', function() {
            gtagvideo('video-fullscreen');
        });
    })();
</script>

<script>
 // RASTREIO DO USO DE AUDIO
 (function(){
    function gtagaudio(action){
           gtagevents(action,'Audio')
    }            

    var audio = document.querySelector("audio");

    var seeking = false;
    var priorTime = 0;
    var currentTime = 0;

    audio.addEventListener('play',function(){
        if(audio.currentTime == 0){
          gtagaudio('audio-iniciado');
        }
        priorTime = audio.currentTime;        
    });

    audio.addEventListener('ended',function(){
        gtagaudio('audio-finalizado');
    });

    audio.addEventListener('pause',function(){
        gtagaudio('audio-pausado');
    });

    audio.addEventListener('seeking', function(data) {               
        seeking = true;
    });

    audio.addEventListener('timeupdate', function(data) {               
        if(seeking){
                if(currentTime < priorTime){
                    gtagaudio('audio-voltando');    
                }
                if(currentTime > priorTime){
                    gtagaudio('audio-avancando')
                }
                seeking = false;
            }
            priorTime = currentTime;
            currentTime = audio.currentTime;
    });    
 })();
 </script>

<script>
    (function(){
        const tamanhoDaTela = window.innerHeight;
        let terminou = false;
        let chegouNaMetade = false;
        // se não remover o tamanho da tela do meio da página, o evento só será disparado quando o meio da página estiver acima da área visível. 
        //  fazendo dessa forma assim que o meio da página estiver visível na base da janela o evento será disparado.
        const meioDoTexto = (document.getElementById('text-end').getBoundingClientRect().top / 2) - tamanhoDaTela;
        //RASTREIO DE LEITURA ATÉ O FINAL DA PÁGINA
        document.addEventListener('scroll',() => {            
            if(document.getElementById('text-end').getBoundingClientRect().top < tamanhoDaTela){
                if(!terminou){
                    terminou = true;
                    gtagevents('artigo-lido','Pagina')
                }
            }else{                
                terminou = false;
            } 

            //RASTREIO DE LEITURA ATÉ O MEIO DA PÁGINA
            if(meioDoTexto < window.scrollY) {
                if(!chegouNaMetade){
                  gtagevents('artigo-lido-ate-metade','Pagina');
                  chegouNaMetade = true;
                }
            } else {
               chegouNaMetade = false;
            }
        });
    })();
 </script>