Ir para conteúdo
  • Cadastre-se

dev botao

Validar XML NFE Terceiros


jmc
  • Este tópico foi criado há 2158 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Boa tarde ,

eu importo o xml nfe do fornecedor para o erp , mas teve um santo de usuario que alterou o xml do fornecedor em um notepad , alterando alguns dados.

Como eu valido um xml nfe de terceiros que foi alterado manualmente apos a assinatura.

Grato pela ajuda e atencao de todos.

Editado por jmcsoftware
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

mas a nfe e de terceiro nao tenho o certificado do fornecedor , posso assinar com outro certificado ?

O fornecedor mandou o xml correto , mas o funcionario do cliente alterou o xml no notepad e importou o xml.

Preciso antes de importar saber se o xml foi alterado.

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite,

Primeiro dispensa esse funcionário, como ele altera um documento com validade jurídica?

Se não quer mandar em bora, poe para varrer chão.

Segundo solicita ao fornecedor que lhe envie o XML novamente.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Moderadores
5 minutos atrás, jmcsoftware disse:

Preciso antes de importar saber se o xml foi alterado.

Para saber se o XML é válido você pode usar o método Validar do ACBr.

ACBrNFe1.NotasFiscais.Clear;
ACBrNFe1.NotasFiscais.LoadFromFile('C:\PATH\TO\FILE\NFE.XML');
ACBrNFe1.NotasFiscais.Validar;

 

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

italo ja aprendi nesses 25 anos desenvolvimento q nao adianta culpar funcionario , o sistema tem q bloquear senao sempre jogam a culpa no sistema. E nao to so preocupado com esse determinado xml , e se fizeram com outros xmls ? Preciso bloquear isso antes de importar.

BigWings nao sabia que poderia validar assim sem o certificado da empresa q emitiu , vou fazer o teste.

Grato.

Jeferson

 

Editado por jmcsoftware
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Jeferson,

Entendo perfeitamente, também concordo que devemos fazer um software PAI - Programa a prova de imbecil.

Mas esse camarada que alterou o XML de uma nota de entrada, fez isso com qual intensão?

Se ele é capaz de fazer isso imagina o que mais ele é capaz de fazer se tiver acesso livre ao banco de dados.

Ou ela fez isso para te ferrar ou ferrar o dono da empresa, logo não é uma pessoa confiável.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

andre eu testei mas da erro em todos os xmls na verificacao da assinatura. Funciona para validar a assinatura mesmo sendo xml de terceiros ?

da erro de Falha na validação da assinatura da nota: 15832'#$D#$A'Erro ao verificar assinatura do arquivo: The digest value computed does not match with the provided one for Reference uri

Grato pela ajuda de todos.

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Ao efetuar a leitura da nota, passe o parâmetro AGerarNFe = False.

Ex:

ACBrNFe1.NotasFiscais.Clear;
ACBrNFe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName, False); 

 

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

Boa tarde,

estive acompanhando este tópico, pensando em validar também os arquivos XML de terceiros nas entradas de estoque, e tentei testar as sugestões apresentadas pelos colegas...

Peguei um arquivo XML assinado e autorizado, e editei pelo bloco de notas apenas o campo qCom de 1 para 2.

Fui até o programa demo/exemplo e cliquei no botão "Validar XML", selecionei este arquivo XML e o resultado apresentado foi "Nota Fiscal Eletrônica Valida".

Fiz o mesmo procedimento com estes 2 ajustes abaixo no programa demo para ver se apresentava alguma diferença:

 1) ACBrNFe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName, False); //True);

 2) ACBrNFe1.Configuracoes.Geral.ValidarDigest := True;

Mas apresentou o mesmo resultado.

O método Validar então não testa a assinatura, testa apenas a estrutura perante os arquivos schema ?  É isso mesmo?

OBS: colando este mesmo XML no validador da sefaz rs, retorna "Assinatura Digital: Inválida".

Att

Ricardo

Link para o comentário
Compartilhar em outros sites

  • Moderadores
29 minutos atrás, RicardoVoigt disse:

Boa tarde,

estive acompanhando este tópico, pensando em validar também os arquivos XML de terceiros nas entradas de estoque, e tentei testar as sugestões apresentadas pelos colegas...

Peguei um arquivo XML assinado e autorizado, e editei pelo bloco de notas apenas o campo qCom de 1 para 2.

Fui até o programa demo/exemplo e cliquei no botão "Validar XML", selecionei este arquivo XML e o resultado apresentado foi "Nota Fiscal Eletrônica Valida".

Fiz o mesmo procedimento com estes 2 ajustes abaixo no programa demo para ver se apresentava alguma diferença:

 1) ACBrNFe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName, False); //True);

 2) ACBrNFe1.Configuracoes.Geral.ValidarDigest := True;

Mas apresentou o mesmo resultado.

O método Validar então não testa a assinatura, testa apenas a estrutura perante os arquivos schema ?  É isso mesmo?

OBS: colando este mesmo XML no validador da sefaz rs, retorna "Assinatura Digital: Inválida".

Att

Ricardo

O método validar usa os schemas. A propriedade ValidarDigest é usada para qdo carregar um XML e fazer a consulta, caso o digval do arquivo seja diferente do registrado na SEFAZ é exibido um erro. Para validar a assinatura use o método ACBrNFe1.NotasFiscais.VerificarAssinatura.

  • Obrigado 1
djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

Eu faço assim.

Primeiro chamo NFe.NotasFiscais.Items[IndNfe].Validar;

e verifico NFe.NotasFiscais.Items[IndNfe].Confirmada e

NFe.NotasFiscais.Items[IndNfe].Cancelada

vejo se tem alguma coisa em NFe.NotasFiscais.Items[IndNfe].Alertas e NFe.NotasFiscais.Items[IndNfe].ErroValidacaoCompleto

Após eu executo o

NFe.WebServices.Consulta.NFeChave := NFe.NotasFiscais.Items[IndNfe].NumID;
NFe.WebServices.Consulta.Executar;

Para verificar se o XML foi cancelado se teve carta de correção ou outro evento gerado. Pois muitos clientes mandam somente o XML da NFe e não mandam os XML's dos eventos.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Senhores tive que comentar o uso dessa funcao , pois mesmo fazendo download xml pelo site da receita ou sefaz , a validacao informa erro no digest value. 
 

ACBrNFe1.NotasFiscais.Clear;
ACBrNFe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName, False); 
ACBrNFe1.NotasFiscais.VerificarAssinatura(Msg);

Segue anexo um exemplo de XML que da erro na validacao , mas foi baixado do site na receita

Jeferson

13170802576814000102550010000027471042070574.xml

Link para o comentário
Compartilhar em outros sites

  • 9 meses depois ...

Bom dia senhores!!

Estou tentando validar a assinatura de uma NF diretamente pelo DEMO e ocorre o mesmo problema em minha Aplicação

---------------------------
Debugger Exception Notification
---------------------------
Project ACBrNFe_demo.exe raised exception class EACBrDFeException with message '"ValidarAssinatura" não suportado em: TDFeSSLXmlSignClass'.
---------------------------
Break   Continue   Help   
---------------------------

 

Como posso validar uma Nfe?

 

Link para o comentário
Compartilhar em outros sites

12 minutos atrás, Dor_poa disse:

Bom dia senhores!!

Estou tentando validar a assinatura de uma NF diretamente pelo DEMO e ocorre o mesmo problema em minha Aplicação

 

Minha intenção e validar diretamente um XML sem precisar informar o certificado do EMITENTE.

Em resumo, minha necessidade é apenas LER O XML e depois verificar se esta OK...
Nao configurando nenhuma propriedade a mais!!!

 

Exemplo Basico de como esto fazendo!!!!

Var
    FACBrNFe: TACBrNFe;
    LerroNf : String;
Begin

  FACBrNFe           := TACBrNFe.Create(nil);
  Try
      FACBrNFe.NotasFiscais.LoadFromFile('c:\xxx.xml' False);

     If not FACBrNFe.NotasFiscais.VerificarAssinatura(LerroNf) Then
     Begin
         //XXXX
     End;

  finally

     FreeandNil(FACBrNFe);
  end;

end;

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2158 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.