Arquivo da tag: nfe

Utilizando o comunicador por arquivo

Uma das formas de se comunicar com o Focus NFe é gerando um arquivo texto no formato especificado.

Para sistemas desktop que não desejam implementar uma comunicação direta com nossos web services criamos um agente de comunicação que lê os arquivos gerados em uma pasta e envia para o Focus NFe. Em um segundo momento o próprio agente consulta o status da nota e faz o download dos arquivos do DANFe e XML da nota.

Para fazer o download do comunicador clique aqui

Funcionamento

Sempre que o comunicador é chamado ele irá seguir os passos abaixo:

  1. Enviar os arquivos de nfe que estão no diretório de envio e criar uma pendência de retorno para esta nota.
  2. Enviar os arquivos de cancelamento que estão no diretório de envio e criar uma pendência de retorno para este cancelamento.
  3. Consultaros retornos pendentes.
    1. Havendo retorno o comunicador irá gravar o arquivo de retorno com o nome do identificador e a extensão ret. Por exemplo, para uma nfe com identificador único 99887766 será gravado o arquivo 99887766.ret no diretório de retorno.
    2. Se o retorno é referente a uma emissão de NFe e esta nota foi autorizada, o comunicador já irá fazer o download do DANFe e do XML gravando os dois arquivos em um subdiretório do diretório de retorno. Para o DANFe o nome do subdiretório será DANFEs e para o XML será XMLs.

Envio do arquivo para emissão da NFe

A aplicação do cliente deverá gravar um arquivo contendo o conteúdo da NFe e cujo nome é composto de um identificador único e com extensão nfe. Por exemplo, se o identificador único da nota no sistema cliente é 99887766 deverá ser gravado no diretório de envio com a extensão nfe, ou seja 99887766.nfe.

Envio do arquivo para cancelamento de NFe

A aplicação cliente deverá gravar um arquivo contendo um texto de justificativa de cancelamento. O arquivo deverá ser nomeado com o identificador único da nota e com extensão can. Em nosso exemplo acima o nome do arquivo seria 99887766.can. Este arquivo deverá ser gravado no diretório de envio de dados.

Envio do carta de correção eletrônica (CCe)

A aplicação cliente deverá gravar um arquivo contendo um texto da correção a ser aplicada. O arquivo deverá ser nomeado com o identificador único da nota e com extensão  cce e gravar no diretório de envio de dados.

O PDF e XML da carta de correção serão gravados no diretório de retorno, subdiretório CCes.

Reconsulta de nfe

O comunicador faz adiciona pendências de consulta automaticamente para todo envio e cancelamento comandado. Se por algum motivo houver a necessidade de comandar novamente uma consulta, basta acionar o comunicador com o parâmetro ref e o valor sendo o id único da nota. Por exemplo, para comandar a reconsulta da nota com id único 99887766 basta chamar o comunicador como na linha de comando a seguir:

$ focusNFeFileCommunicator ref=99887766

Importante

O comunicador possui uma execução linear e ao final é desativado. Isto quer dizer que ele não repete as consultas até que as notas estejam em estado final. É de responsabilidade da aplicação do cliente chamar o comunicador de tempos em tempos até que tenha as respostas para seus envios.

Configuração

Após rodar o comunicador pela primeira vez ele irá gerar um arquivo de configuração com informações padrão, como no exemplo abaixo.

[Diretorios]
envio=P:\envios\
retorno=P:\retornos\
logs=P:\logs
[Conexao]
url=http://producao.acrasnfe.acras.com.br/
token={token-enviado-pelo-suporte-focusnfe}

Na seção Diretorios são configurados os diretórios de comunicação (envio e retorno) onde a aplicação do cliente irá salvar e ler arquivos respectivamente. Também é configurado o diretório de logs, onde o comunicador irá gravar os logs das operações realizadas por ele.

A seção Conexao possui duas configurações cruciais para a correta comunicação com o Focus NFe. A url determina o endereço de comunicação que pode ser o de homologação (http://homologacao.acrasnfe.acras.com.br) e produção (http://producao.acrasnfe.acras.com.br).

O token é a chave de acesso, fornecida pelo suporte, que irá garantir que a aplicação do cliente tem acesso ao Focus NFe.