Ir para o conteúdo principal

[SOLAR] Estudo para verificar o funcionamento da isenção de taxa dentro do SOLAR

Data de elaboração 10/01/2023.
Responsável pelo estudo
  1. Lucas Tavares
  2. João Vitor Paulino
  3. Milton Daniel Yama
Equipe do estudo TURING
Alvo Sistema de Outorga e Licenciamento Ambiental de Rondônia (SOLAR)
Origem
  • Objetivo Estratégico: Verificar como a isenção funciona dentro do SOLAR
Objetivo

Estudo com o objetivo de avaliar quais as opçoes de isenção de taxa dentro do sistema SOLAR.

Documentação correlata
Observações

1. Objetivo

Estudo com o objetivo de avaliar quais as opções de isenção de taxa dentro do sistema SOLAR.

2. Introdução

Algumas solicitações no SOLAR exigem que uma taxa denominada DARE seja paga pelo solicitante para que seja criado o processo desta solicitação, entretanto em alguns casos existe a isenção desta taxa para algumas atividades específicas com a quantidade de UPF(unidade padrão fiscal) igual a zero ou caso seja uma atividade de piscicultura que se encaixe na Lei 3437 ART. 18, e também no caso de o solicitante ser uma entidade pública.

3. Desenvolvimento

3.1 Isenção automática:

O SOLAR contem uma classe chamada VerificarSeEmpreendimentoEstaIsentoDeTaxa que verifica se o empreendimento possui uma atividade onde a mesma possua a quantidade de UPF(unidade padrão fiscal) igual a zero reais, caso seja uma atividade de piscicultura da Lei 3437, ou se o empreendimento é entidade publica. Esta isenção valida automaticamente sem informar o usuário ou seja o mesmo apenas faz a solicitação e ao final o sistema gera ou não a DARE caso o mesmo seja isento ou não.

var ehEmpreendimentoDeEntidadePublica = empreendimento.Empreendedor.TipoDoEmpreendedor == nameof(Dominio.CadastroContexto.EntidadePublica);

            if (ehEmpreendimentoDeEntidadePublica)
                return (ehAtividadeDePiscicultura: false, ehIsento: true);

Verificando se empreendimento é entidade publica

var ehAtividadeDePiscicultura = false;

            foreach (var atividadeDoEmpreendimento in empreendimento.AtividadesDoEmpreendimento)
            {
                var atividadeDePiscicultura = atividadeDoEmpreendimento.AtividadeDaLei.ReferenciaNaLei == Lei3437Art18;

                if (atividadeDePiscicultura)
                {
                    ehAtividadeDePiscicultura = true;

                    if (AtividadeDePisciculturaEIsento(atividadeDoEmpreendimento))
                        return (ehAtividadeDePiscicultura: true, ehIsento: true);
                }
              ...

private bool AtividadeDePisciculturaEIsento(AtividadeDoEmpreendimento atividadeDoEmpreendimento)
        {
            var possuiItemDaLei89_3 = atividadeDoEmpreendimento.AtividadeDaLei.ItemDaLei == ItemDaLei893;
            var possuiItemDaLei89_4 = atividadeDoEmpreendimento.AtividadeDaLei.ItemDaLei == ItemDaLei894;
            var tamanhoDaAtividade = atividadeDoEmpreendimento.TamanhoDaAtividade;

            if (possuiItemDaLei89_3 || possuiItemDaLei89_4)
            {
                tamanhoDaAtividade = ObterMmc(atividadeDoEmpreendimento);
            }

            var atividadeEhIsentaDeTaxa = tamanhoDaAtividade <= TamanhoMaximoPraSerIsentoDeTaxa;
            return atividadeEhIsentaDeTaxa;
        }

Verificando se empreendimento possui atividade de piscicultura

 foreach (var atividadeDoEmpreendimento in empreendimento.AtividadesDoEmpreendimento)
            {
                ...
                else
                {
                    var atividadeIsenta = await AtividadeEhIsento(atividadeDoEmpreendimento, servicoSolicitado);
                    return !atividadeIsenta ? (ehAtividadeDePiscicultura: false, ehIsento: false) : (ehAtividadeDePiscicultura: false, ehIsento: true);
                }
            }

            return await Task.FromResult((ehAtividadeDePiscicultura: ehAtividadeDePiscicultura, ehIsento: false));
        }

private async Task<bool> AtividadeEhIsento(AtividadeDoEmpreendimento atividadeDoEmpreendimento, ServicoSolicitado servicoSolicitado)
        {
            if (servicoSolicitado.TipoDeSolicitacao == null)
                return false;
            
            var tipoDeSolicitacao = servicoSolicitado.TipoDeSolicitacao.ToString();
            var remocaoDePrefixo = tipoDeSolicitacao?.Replace("RenovacaoDe", "");
            bool atividadeEhIsento;
                
            if (tipoDeSolicitacao != null && tipoDeSolicitacao.Contains("Licenca"))
            {
                var upfParaLicenca = await contexto.UnidadesPadraoFiscal
                    .AsNoTracking()
                    .FirstOrDefaultAsync(x =>
                        x.PorteDaAtividade == atividadeDoEmpreendimento.Porte &&
                        x.PotencialPoluidorDaAtividade == atividadeDoEmpreendimento.AtividadeDaLei.PotencialPoluidor.ToString() &&
                        x.ReferenciaNaLei == atividadeDoEmpreendimento.AtividadeDaLei.ReferenciaNaLei &&
                        x.TipoDeLicenca == Enum.Parse<TipoDeLicenca>(remocaoDePrefixo));

                atividadeEhIsento = upfParaLicenca is { QuantidadeDeUpf: TaxaDeIsencaoDeAtividadeComum };
                return atividadeEhIsento;
            }

            var upf = await contexto.UnidadesPadraoFiscal
                .AsNoTracking()
                .FirstOrDefaultAsync(x =>
                    x.PorteDaAtividade == atividadeDoEmpreendimento.Porte &&
                    x.PotencialPoluidorDaAtividade == atividadeDoEmpreendimento.AtividadeDaLei.PotencialPoluidor.ToString() &&
                    x.ReferenciaNaLei == atividadeDoEmpreendimento.AtividadeDaLei.ReferenciaNaLei);

            atividadeEhIsento = upf is { QuantidadeDeUpf: TaxaDeIsencaoDeAtividadeComum };

            return atividadeEhIsento;
        }

Verificando se atividade do empreendimento é isento caso a quantidade de UPF seja igual a zero

3.2 Isenção por escolha do usuário:

O SOLAR também possui um método que ao ser chamado, isenta a solicitação atual, este método é acionado por uma action denominada DeclararIsencaoDeTaxa, onde a mesma é acionada assim que o usuário selecionaraselecionar o checkbox de declarar isenção, onde aparecerá para opõopções de isenção que o mesmo pode selecionar, no caso de possuir atividade de piscicultura presente na lei,no Art. 18 da Lei 3.437 onde sistema valida tal situação por meio da classe citada acima(VerificarSeEmpreendimentoEstaIsentoDeTaxa), se realmente a atividade abrange a isenção por meio da piscicultura, se não o sistema da duas opções, paracaso o caso de que o  empreendimento seja uma entidade publica presenteconforme na leiLei 3686/2015 Art. 37, IncI, ou caso se enquadre nacomo agricultura familiar presenteconforme na leiLei 3686/2015, Art. 37, incII.

@if (Model.TipoDeSolicitacao != nameof(SolicitacaoDeOutorga))
                {
                    <div class="form-group">
                        <input type="checkbox" id="isencao" name="isencaoDeTaxa" value="estaIsento" />
                        <label for="isencao">Declarar isenção</label>
                    </div>
                }

Checkbox para selecionar a declaração de isenção que leva para a "modal-solicitar-isencao-de-taxa", e pode selecionar entre as possíveis formas de isenção

<form asp-controller="Solicitacao" asp-action="DeclararIsencaoDeTaxa" method="post">
                    <div class="modal-body">
                        <input type="hidden" name="empreendimentoId" value="@Model.EmpreendimentoId" />
                        <input type="hidden" name="solicitacaoId" value="@Model.Id" />
                        @if (Model.EhAtividadeDePiscicultura)
                        {
                            <div class="my-3">
                                <h5>Declaro que me enquadro no Art. 18 da Lei 3.437 de 9 de setembro de 2014 onde estão isentos do pagamento das Taxas de Licenciamento Ambiental.</h5>
                            </div>
                        }
                        else
                        {
                            <div class="my-3">
                                <input type="radio" id="isencaoAgriculturaFamiliar" name="motivoDaIsencao" value="Agricultura familiar: Lei 3686/2015, Art. 37, inc, II" />
                                <label for="isencaoAgriculturaFamiliar">
                                    <h5>
                                        Declaro que para isenção de taxa, empreendimento enquadrado na lei 3686/2015, Art. 37, inc, II - atividades agropecuárias e agrossilvopastoris exercidas por agricultor familiar e empreendedor familiar rural, assim considerado aquele que pratica atividades no meio rural, atendendo, simultaneamente, aos requisitos do inciso.
                                    </h5>
                                </label>
                            </div>
                            <div class="my-3">
                                <input type="radio" id="isencaoEntidadePublica" name="motivoDaIsencao" value="Entidade Publica: Lei 3686/2015, Art. 37, inc, I" />
                                <label for="isencaoEntidadePublica">
                                    <h5>
                                        Declaro que me enquadro na Lei 3686/2015 que "Dispõe sobre o Sistema de Licenciamento Ambiental do Estado de Rondônia e dá outras providências", Art. 37, Inc. I que isenta de pagamento das Taxas de Licenciamento Ambiental: as obras e atividades executadas diretamente por órgão da Administração Pública Direta ou Indireta dos municípios integrantes do Estado de Rondônia;
                                    </h5>
                                </label>
                            </div>
                        }
                    </div>

Possibilidades de isenção ao selecionar o checkbox de isenção (piscicultura, agricultura familiar, entidade publica), cada um de acordo com a sua respectiva lei.

Na condição "@if (Model.EhAtividadeDePiscicultura)", a propriedade "EhAtividadeDePiscicultura", leva a classe VerificarSeEmpreendimentoEstaIsentoDeTaxa, que a mesma valida da mesma maneira comoconforme citado acima, caso a atividade seja de piscicultura, e noao código relacionado a isenção por atividade de piscicultura(o código foi demonstrado a cimaacima em "Verificando se empreendimento possui atividade de piscicultura").

image.png

modal ao selecionar o checkbox e os tipos de isençaoão para selecionar

4. Conclusão

Como verificado nos tópicos anterioresanteriores, atemos duas formas de se verificar a isençãoo, por meio de um checkbox e selecionando a opção exata de isenção que o usuário se enquadra ou a isenção pode ser feita de forma automática por meio de uma classe que abrange todos os tipos de isenção.

Entretanto tal verificação se torna redundante pelo motivo de que ambas as verificações abrangem quase todos os tipos de isenção retirando apenas a isenção por meio da verificação de UPF(unidade padrão fiscal), pois a mesma precisa de uma validação mais rigorosa e possibilidades de isenção mais abrangente.