Controle de manutenção no cadastro, apenas a filial Matriz e as SCP's devem possuir permissão de incluir/alterar/excluir o cadastro. As demais filiais devem ter acesso apenas a visualização.
O cadastro deve possuir um bloqueio de inclusão/alteração em casos onde seja inserido uma conta (T0S_CODIGO) já existente.
Controlar a integridade relacional do cadastro, não pode permitir a exclusão de uma conta se estiver associada a um Evento Tributário.
Na opção de inclusão de novo cadastro, deverá ser perguntado qual a qualificação da pessoa jurídica. Desta forma, o campo T0S_REGECF deve ser preenchido automaticamente com a respectiva informação e desabilitado para alteração ( o campo não precisa ser exibido na interface ).
Não deve permitir a alteração da natureza da conta (T0S_NATURE) quando houver lançamento de "Reclassificação do Prejuízo".
O campo LE9_CODTBT apenas deve permitir a inclusão de um tributo do tipo IRPJ ou CSLL, inclusive, a consulta padrão também deve exibir apenas os tributos do tipo IRPJ e CSLL.
Deve existir um controle de consistência entre os campos T0S_DTFINA e T0S_DTLIMI e também entre os campos citados com o campo T0T_DTLANC. Este controle não deve permitir inclusão/alteração das datas de forma que os períodos compreendidos fiquem inconsistentes.
O campo LE9_VLSDIN deve ficar bloqueado para edição quando houver lançamentos para o tributo.
O campo LE9_VLSDAT não deve ser editável, e sempre que houver um novo lançamento para o tributo, o sistema automaticamente deve atualizar o valor com o saldo atual.
O campo T0T_VLLANC apenas deve aceitar valores positivos.
O campo T0T_ORIGEM deve ser preenchido automaticamente pelo sistema. Deve possuir o valor "Manual" em manutenções padrão no cadastro, "Automático" quando o lançamento deriva do Processo de Lançamentos em Lote e "Reclassificação do Prejuízo" quando o lançamento é originado pelo Processo de Reclassificação do Prejuízo.
O campo T0T_CTDEST deve ser preenchido automaticamente pelo sistema durante a funcionalidade de Reclassificação do Prejuízo e possuirá a chave para rastro da conta de origem/destino, que será utilizada quando houver necessidade de exclusão do lançamento. Neste caso, ao tentar excluir um lançamento de origem ( T0T_ORIGEM ) igual a "Reclassificação do Prejuízo", o sistema fará uma confirmação da operação e excluirá tanto o lançamento para a conta de origem quanto o lançamento para a conta de destino. Este campo não precisa ser exibido na interface.
- Deve existir um controle de lançamentos verificando se o valor do lançamento, campo T0T_VLLANC, ultrapassará o saldo atual do tributo, campo LE9_VLSDAT, exibindo um alerta nestes casos e não permitindo o lançamento.
Não deve ser permitido incluir um lançamento com o Período de Apuração fechado. A única exceção é a inclusão de um lançamento para uma conta de natureza "Compensação de Prejuízo/Base de Cálculo Negativa" (T0S_NATURE) e tipo de lançamento "Constituição de Saldo" (T0T_TPLANC).
- O Processo Judicial e Administrativo pode ser informado apenas quando a natureza da conta possuir o valor "Dedução/Compensação do Tributo" (T0S_NATURE).
- Criar uma funcionalidade para lançamentos em lote para uma determinada conta. Neste processo, deve ser informado:
- Tributo. Exibir apenas os tributos que estiverem cadastrados na conta. Validar se o tributo selecionado está cadastrado na conta.
- Data Inicial e Final dos lançamentos. Deve ser verificado se o período de apuração deste intervalo esteja em aberto;
Periodicidade, com as opções "Mensal" e "Trimestral". Utilizado para o direcionamento das datas aos quais os lançamentos serão gerados, um por mês em caso de "Mensal" ou um por trimestre em caso de "Trimestre", sempre no último dia do período e respeitando as datas iniciais e finais informadas;
- Tipo de Valor, com as opções "Valor Fixo", "Quotas Fixas" e "Percentual". Caso a opção selecionadas seja "Quotas Fixas", este processo deve repartir o saldo da conta em parcelas iguais dentro do período informado;
- Valor, quando o Tipo de Valor possuir "Valor Fixo";
- Percentual, quando o Tipo de Valor possuir "Percentual";
- Tipo do Lançamento, com as opções "Débito", "Crédito" e "Constituição de Saldo";
- Realização de Valores Diferidos, com as opções "Sim" e "Não";
- Histórico.
Este processo deve possuir controle de consistências baseados na inserção manual. Os lançamentos que não se adequarem as regras devem ser exibidos ao final em um log de processamento, enquanto os demais devem ser gravados normalmente. O campo de origem do lançamento (T0T_ORIGEM) deve ser preenchido com o valor "Automático".
Criar uma funcionalidade para proporcionar a reclassificação do prejuízo fiscal. Neste processo, deve ser informado:
- Tributo. Exibir apenas os tributos que estiverem cadastrados na conta de origem selecionada. Validar se o tributo selecionado está cadastrado na conta.
Conta de Destino. Validar se foi selecionada uma conta diferente da conta de origem. Além disto, verificar se a natureza da conta (T0S_NATURE) possui o valor "Compensação de Prejuízo/Base de Cálculo Negativa" e o tributo (T0S_CODTBT) possui o valor "IRPJ". Também deve ser verificado se o tributo selecionado está cadastrado para esta conta de destino.
- Data do Lançamento. Deve ser verificado se a data está compreendida entre a Data Final e Data Limite cadastrada para as contas de origem e destino;
- Valor. Verificar se foi preenchido com valor maior que zero;
- Histórico.
Este processo deve inserir um lançamento de crédito na conta de origem e um lançamento de débito na conta selecionada como conta de destino. Ao tentar excluir um lançamento de Reclassificação do Prejuízo Fiscal ou uma conta que possua um lançamento desta origem, deve ser verificado a existência do lançamento de origem/destino e excluí-lo concomitantemente. Neste caso, validar se o saldo da conta de origem e destino não ficarão negativas com a operação.