BASES DE DADOS:https://drive.google.com/drive/folders/1hzpEogOAZiW9jOxsIxur8fSDLkImsn0V
Porque dessa análise :
- DFe Monitor está calculando o valor do FCP na NFE_TBNFESICMSTOT, O correto é apenas carregar a soma dos itens no NFE_TBNFEITEMSTRIBICMSSN500
Justificativa da mudança :
História da situação / ocorrido :
PASSOS PARA REPRODUZIR:
- Acessar o Banco do NFe
- NFE_TBNFEITEMSTRIBICMSSN500
- Verificar que o GID 37476
- Verificar que o VFCPSTRET está 0
- NFE_TBNFESICMSTOT
- Verificar que o valor do VFCPSTRET está 0,01
- Ocasionando rejeição da NF
- NFE_TBNFEITEMSTRIBICMSSN500
Isabella Bressan Bremm - Liberado p/ Implantação
Isabella Bressan Bremm - Teste OK
- Foi reenviado pelo DFeMonitor o item pendente com a rejeição;
- O mesmo foi aprovado sem apresentar falhas;
- Teste ok.
Isabella Bressan Bremm - Certificando
- Certificando.
Rafael Gustavo Dal Bosco - Encaminhado p/ Certificação
Base de dados Utilizada: Qualquer.
Fontes Alterados:
- uNFeGrava.
Relatórios Alterados:
- Nenhum.
Motivo do Erro (Dados Técnicos):
- O número de casas decimais na tabela TVENTRIBFCP é de 6.
- O número de casas decimais no XML é de 2.
- Ao realizar uma transação com valores muitos baixos, o valor do FCPSTRET ficava muito pequeno, causando um valor de 0,00001, ocasionando a falha descrita na solicitação.
- Implementado controle para arredondar o valor para 2 casas decimais.
Testes Executados:
- Reenviar o item pendente para emissão.
Rafael Gustavo Dal Bosco - Programando
- Em Programação.
Anderson Luiz Barbosa da Silva - Encaminhado p/ Programação
DESCRIÇÃO DA ALTERAÇÃO
Falha 859 - Total do FCP retido anteriormente por Substituição Tributaria difere do somatório dos itens [vFCPSTRet informado: 0.01, vFCPSTRet calculado: 0.00]
Com o projeto DFeMonitorValidate será necessário adicionar uma nova validação para recalcular o valor do FCP.
Cenário do cliente
A falha não acontece com todos os casos, apenas quando o valor do FCP menor que zero
Gid da nota fiscal = 37476
Dentro da tabela 'NFE_TBNFEITEMSTRIBICMSSN500' no campo
Base de cálculo do FCP ST = 0,41
Alíquota do FCP ST = 2%
Valor do FCP ST = 0,0082
Neste caso está gravando zerado no banco de dados do DFeMonitor.
O problema está acontecendo, porque dentro da tabela 'NFE_TBNFESICMSTOT' o valor do FCP ST Ret está sendo gravado 0,01
CORREÇÃO
Ao apresentar a rejeição 859 será necessário aplicar a seguinte regra:
Se Código igual 859 Então - Verificar se o FCP ST retido está gravado dentro da tabela 'NFE_TBNFEITEMSTRIBICMS60' ou 'NFE_TBNFEITEMSTRIBICMSSN500' - Se os valores do FCP ST retido igual a zero, verificar a tabela 'NFE_TBNFESICMSTOT' se o valor também está igual a zero
Se o valor dentro da tabela 'NFE-TBNFESICMSTOT' estiver maior que zero, então será necessário alterar o valor.
Anderson Luiz Barbosa da Silva - Analisando
Analisando.
Oswaldo Junior - Encaminhado p/ Análise