Olá a todos,
Recentemente comecei a ter problemas de rejeição ao tentar fazer a manifestação do destinatário de uma nota fiscal eletrônica de produtor rural, recebendo o retorno com cStat=805, xMotivo=Rejeicao: CPF Emitente difere do CPF do Certificado Digital.
Ao analisar a solicitação do evento (ped-eve.xml) gerado pelo ACBr, verifiquei que ao invés de conter a tag <CNPJ> havia a tag <CPF>, sendo que o conteúdo era na verdade o CNPJ da empresa mas com 11 dígitos.
Fazendo o debug de EnviarEvento() identifiquei o seguinte trecho de código na função TEventoNFe.GerarXML da unit pcnEnvEventoNFe.pas:
// Verifica a Série do Documento, caso esteja no intervalo de 910-969
// o emitente é pessoa fisica, logo na chave temos um CPF.
Serie := ExtrairSerieChaveAcesso(Evento.Items[i].InfEvento.chNFe);
if (Length(sDoc) = 14) and (Serie >= 910) and (Serie <= 969) then
sDoc := Copy(sDoc, 4, 11);
Ao comentar essas linhas e recompilar o projeto a manifestação é autorizada corretamente.
Sendo assim, o trecho de código acima está alterando indevidamente o CNPJ para CPF nos eventos que envolvam nota fiscal emitida por pessoa física mesmo nos casos em que o solicitante do evento não seja o emissor da nota.
Peço que analisem o caso e façam as devidas correções no código fonte.
Atenciosamente,
Gabriel Toledo