Quanto a sua dúvida Leandro, segundo um curso de NF-e da Cenofisco que
eu fiz há pouco tempo, eles recomendaram fazer várias checagens:
1) Consulta da NF-e no site do Fisco, logo no recebimento/escrituração
da mesma.
2) Validar a integridade/legitimidade do XML recebido, utilizando o
programa Visualizador NFeCTe 4.0c (fornecido pelo governo).
3) Uma nova checagem no site do Fisco, depois de 7 dias da NF-e
recebida, para garantir que ela não foi cancelada.
Detalhes:
(Desculpa pelo email enorme)
1) Consulta da NF-e
Usando o webservice NfeConsulta2 dá pra ver se a NF-e está autorizada
no fisco ou não, porém pelo que li no Manual de Integração não dá pra
validar os dados da NF-e (destinatário, valor total, etc.).
2) Validar o XML recebido, utilizando o programa Visualizador NFeCTe
4.0c (fornecido pelo governo).
Esse é o programa que permite verificar a validade o XML recebido,
checando inclusive se a assinatura digital está OK (isto é, o arquivo
XML não foi mexido) e se o certificado utilizado na assinatura do
mesmo é válido.
O professor da Cenofisco informou que esta é a única forma de
verificar que o conteúdo do XML da NF-e é legítimo, o que é
particularmente importante se o destinatário creditar-se de ICMS a
partir da NF-e recebida.
E talvez seja a única forma automática de verificar o conteúdo da NF-e
recebida. Ainda não pesquisei mais a fundo, mas parece que dá pra
automatizar. Para verificar a validade do certificado, precisaria:
- Baixar a cadeia completa de certificados das Autoridade
Certificadoras autorizadas pela ICP-Brasil, a partir de
http://www.iti.gov.br/twiki/bin/view/Certificacao/RepoZipCert (ou
http://www.iti.gov.br -> Certificação Digital -> Repositório da AC
Raiz). Eles fornecem um arquivo .zip contendo todos os certificados.
Atualmente o arquivo chama-se AC20091014.zip.
- Converter esse .zip para um arquivo .pem concatenando todos os
certificados. Isso é meio chato, o .zip contém tanto certificados em
formato DER (binário) como PEM, e esses últimos ainda com diferenças
de comprimento de quebra de linha, etc. que aparentemente dá pau no
openssl se concatenar direto. Fiz um script para resolver isso, que
está em anexo no email (zip2pem.sh, para ambiente Unix, testado em
Fedora 10).
- Extrair o certificado que está dentro do XML recebido da NF-e e
gravar num arquivo, quebrando as linhas em 64 caracteres e colocando
as linhas de cabeçalho e rodapé PEM (BEGIN CERTIFICATE, END
CERTIFICATE, com hífens).
- Utilizar o seguinte comando para verificar a validade do certificado:
openssl verify -CAfile AC20091014.pem cert-emissor-nfe.pem
Detalhe: Aparentemente não dá pra usar função openssl_verify() do PHP,
ela faz outra coisa. De dentro do PHP, teria que executar o comando
"openssl verify" e verificar exit code 0, acho.
3) Uma nova checagem no site do Fisco, depois de 7 dias da NF-e
recebida, para garantir que ela não foi cancelada. Isto seria simples
usando o webservice NfeConsulta2.
Atenciosamente,
--
Edmar Wiggers
Macrovita Alimentos
Tel.: 48-3233-4615 / 48-9966-0074
Email: e...@macrovita.com.br
Web: www.macrovita.com.br
// BTM2144 Implantação NF-e (Nota Fiscal Eletrônica)
> --
> Você recebeu esta mensagem porque está inscrito no Grupo "NFePHP".
> Para Postar: nfe...@googlegroups.com
> Para Sair do Grupo: nfephp+un...@googlegroups.com
> Link: http://groups.google.com.br/group/nfephp?hl=pt-BR
> -------
> FAQ: https://www.assembla.com/wiki/show/nfephp/FAQ
> Como Participar: https://www.assembla.com/wiki/show/nfephp/Como_participar
To unsubscribe, reply using "remove me" as the subject.
Porém apenas com a chave de acesso parece-me não ser possível (de
forma automatizada) verificar/validar o conteúdo da NFe conforme
consta na Receita. Valor total e CNPJ do destinatário por exemplo.
Posso estar enganado, claro.
>> Em 1 de abril de 2010 10:57, Leandro Sprenger <leand...@gmail.com>
--
--
Alberto Leal
T.I Campo Grande
LPI ID: LPI000191272
E-mail: alb...@tecwebcg.com
Gmail: ees....@gmail.com
A validade da NFe é feita apenas com o valor digest da NFe e com o
numero do procolo da receita que deve estar contido na mesma.
Usando a API obtenha o protocolo da NFe, usando a chave de acesso da NFe
(ID de 44 digitos) e você pode também recalcular o digest da NFe a
validação é :
numero do protocolo embutido na NFe = ao fornecido pela SEFAZ
e o digest da NFe = ao digest calculado então a NFe é VALIDA.
Quanto a dúvida sobre o cancelamento da NFe o emitente da NFe deve
OBRIGATORIAMENTE reenviar a NFe Cancelada ao destinatário em até 7 dias
após a sua emissão. Para complementar (ou garantir) pode ser feito um
script para buscar o protocolo da NFe 8 dias após sua emissão e ai
confirmar se a mesma permanece valida.
Portanto não há necessidade de usar qualquer sistema externo feito pela
receita ou não.
Roberto
Em 2 de abril de 2010 08:44, Roberto L. Machado
<roberto...@superig.com.br> escreveu: