NFCe

De Conecto wiki
Revisão de 13h06min de 13 de novembro de 2014 por 192.168.0.105 (discussão) (Criou página com '== O Que é? == A NFC-e é um documento fiscal eletrônico com padrão técnico nacional, que substitui o uso do ECF na frente de caixa. O projeto propõe que toda transaçã...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

O Que é?

A NFC-e é um documento fiscal eletrônico com padrão técnico nacional, que substitui o uso do ECF na frente de caixa. O projeto propõe que toda transação originada em um ponto de venda, seja transmitida via Internet para a Secretaria da Fazenda de cada estado.

Como funciona

O software de PDV formata a informação da venda em um arquivo no formato XML, de acordo com o Schema do serviço a ser consumido. Em seguida, comunica-se com o WebService da SEFAZ através de uma conexão segura (SSL), aguardando o retorno de aceite ou recusa dos dados enviados.

Certificados

 Para estabelecer uma conexão segura faz-se a necessidade de informar os certificados, as chaves, e as autoridade certificadora confiáveis, para que a informação enviada seja considerada confiável e, por fim, seja aceita pelo Servidor SEFAZ.
 Certificado do cliente (clcert) - extraido do certificado utilizando o comando:
    openssl pkcs12 -in certificado_Sistemas.pfx -out cert.pem -clcerts -nokeys -nodes
 Chave do certificado (key) - extraido do certificado utilizando o comando:
    openssl pkcs12 -in certificado_Sistemas.pfx -out nfcek.pem -nocerts -nodes
 Autoridade certificadora (CA):
   Para NFCe as autoridades certificadoras(ACs) encontram-se no Servidor, ou seja, na SEFAZ.
   É preciso obter a cadeia de certificados de cada SEFAZ, e, caso necessario, convertê-las.
   Para o exemplo da SEFAZ Amazonas a cadeia de certificados esta dividida em 3 arquivos¹:
     raiz_v2.cer
     ac_certsign_g6.cer
     ac_certsign_mult_g5.cer
   Para gerar os arquivos .pem²:
     openssl x509 -in raiz_v2.cer -out raiz_v2.pem
     openssl x509 -in ac_certsign_g6.cer -out ac_certsign_g6.pem
     openssl x509 -in ac_certsign_mult_g5.cer -out ac_certsign_mult_g5.pem
   Por fim, concatenar todos os certificados da cadeia, para montar o arquivo cacert.pem:
     cat raiz_v2.pem > cacert.pem
     cat ac_certsign_g6.pem >> cacert.pem
     cat ac_certsign_mult_g5.pem >> cacert.pem

1 - [1] 2 - [2]