Jump to content

Manual do Componente TecnoSpeed NFe - Contingências


Postagens Recomendadas

5. Contingências

O Modo de Emissão em Contingência trata-se da forma pela qual se permite a emissão de uma Nota Fiscal Eletrônica, mesmo quando o software emissor não conseguir efetuar conexão com os webservices da SEFAZ do estado do contribuinte, (também chamada SEFAZ-Origem). O sistema de recepção de NF-e foi desenvolvido para oferecer aos contribuintes uma alta disponibilidade, de modo a atender as solicitações quase que instantaneamente. Mas, há situações em que podem ocorrer falhas de conexão entre o sistema emissor de NF-e e os webservices da SEFAZ. Como o processo do contribuinte vendedor não pode parar, e o contribuinte comprador necessita receber a(s) mercadoria(s), é possível a emissão da Nota Fiscal Eletrônica em Modo de Contingência.

Leia antes de prosseguir:

Nota 1 : A Tecnospeed aconselha que independente do tipo de contingência escolhida pelo desenvolvedor, os testes sejam feitos previamente em Ambiente de Homologação.

A seguir, estaremos listando os tipos de contingências e demonstrando como fazer o uso das mesmas.

5.1. Contingência FS

A contingência com uso do Formulário de Segurança é a alternativa mais simples para a situação em que exista algum impedimento para obtenção da autorização de uso da NF-e, como por exemplo, um problema no acesso à internet ou a indisponibilidade da SEFAZ de origem do emissor. Neste caso, o emissor pode optar pela emissão da NF-e em contingência com a impressão do DANFE em Formulário de Segurança. O envio das NF-e emitidas nesta situação para SEFAZ de origem será realizado quando cessarem os problemas técnicos que impediam a sua transmissão. Somente as empresas que possuam estoque de Formulário de Segurança poderão utilizar este impresso fiscal para a emissão do DANFE.

Uma regra importante a ser enfatizada é que a a NF-e deverá ser enviada com o tipo FS para a Sefaz assim que cessarem os problemas técnicos que impediram a sua transmissão, até o prazo limite de 168 h.

5.1.1. Configurando FS

Inicialmente, altere a tag tpemis_B22 recebendo o valor 2 sendo que, este tipo deve permanecer igual, mesmo após o retorno dos serviços. A chamada dos métodos continuam iguais, por exemplo spdNFe.AssinarNota . O que muda é o andamento do processo, pois logo após assinar a nota o DANFE já deve ser gerado, utilizando também o mesmo método para impressão, por exemplo spdNFe.ImprimirDanfe.

O componente não guarda o arquivo XML da nota, então esta função fica a cargo do ERP, ele deve guardar o XML no banco para assim que os problemas de conexão for resolvido esse xml ser enviado a receita, também utilizando os mesmos métodos do ambiente normal.

5.1.2. Exemplo de DANFE emitido em FS

 

d3dc70bf1839d1932f9dd6572126b98d574fa4d7.jpeg

 

5.2. Contingência FS-DA

FS-DA - Contingência com uso do Formulário de Segurança para impressão de Documento Auxiliar do Documento Fiscal eletrônico (FS-DA), trata-se de um modelo operacional similar ao modelo operacional da contingência, com uso de Formulário de Segurança – FS. A diferença é que o FS-DA foi criado para aumentar a capilaridade dos pontos de venda do Formulário de Segurança com a criação da figura do estabelecimento distribuidor do FS-DA que poderá adquiri-lo dos fabricantes para então distribuí-lo para os emissores de NF-e de sua região.

5.2.1. Configurando FS-DA

Inicialmente, altere a tag tpemis_B22 recebendo o valor 5 sendo que, este tipo deve permanecer igual mesmo após o retorno dos serviços. A chamada dos métodos continuam iguais, por exemplo spdNFe.AssinarNota. O que muda é o andamento do processo, pois logo após assinar a nota, o DANFE já deve ser gerado, utilizando também o mesmo método para impressão, por exemplo spdNFe.ImprimirDanfe.

O componente não guarda o arquivo XML da nota, então esta função fica a cargo do ERP. Este deve guardar o XML no banco para que, assim que os problemas de conexão forem resolvidos,o xml seja enviado à receita utilizando também os mesmos métodos do ambiente normal.

5.3. Contingência DPEC

A Declaração Prévia de Emissão em Contingência (DPEC) é alternativa de emissão de NF-e em contingência com o registro prévio do resumo das NF-e emitidas. O registro prévio das NF-e permite a impressão do DANFE em papel comum. A validade do DANFE está condicionada à posterior transmissão da NF-e para a SEFAZ de Origem.

5.3.1. Configurando DPEC

1º) Inicialmente, se o ambiente de desenvolvimento for Delphi 7 ou superior, adicione o componente spdNFeDPECem seu formulário e configure suas propriedades, caso a linguagem consuma o componente via Activex (OCX) declare no projeto a classe spdNFeDPECX.

2º) Altere a tag tpemis_B22 recebendo o valor 4 que é referente à contingência DPEC, lembrando que este tipo deve permanecer igual, mesmo após o retorno dos serviços.

3º) Gere e assine a nota normalmente utilizando os métodos normais do componente, por exemplo, spdNFe.AssinarNota.

4º) Depois que a nota estiver gerada e assinada, utiliza-se o método spdNFeDPEC.MontarDPEC, onde o xml DPEC será montado apartir do XML normal gerado anteriormente. Esse XML DPEC deve ser assinado utilizando o método spdNFeDPEC.AssinarDPEC, e finalmente enviado utilizando o método spdNFeDPEC.EnviarDPEC ,onde este envio é feito para os servidores de Ambiente Nacional. Após a correção dos problemas técnicos, o emitente deve enviar o arquivo XML normal,(primeiro que foi gerado), pelo método spdNFe.EnviarNota e este será enviado para o SEFAZ de origem.

5º) No arquivo Config.ini já existe o bloco [NFE], por exemplo:

[NFE]

  • UF=PR
  • CNPJ=0000000000000
  • ArquivoServidoresHom="nfeServidoresHom.ini"
  • DiretorioEsquemas=Esquemas\
  • DiretorioTemplates=Templates\
  • DiretorioLog=Log\
  • TipoCertificado=File
  • NomeCertificado=
  • VersaoManual=3.0

6º) Crie o bloco [DPEC] abaixo do [NFE], por exemplo:

[DPEC]

  • UF=PR
  • CNPJ=00000000000000
  • ArquivoServidoresHom="nfeServidoresHomDPEC.ini"
  • DiretorioEsquemas=Esquemas\
  • DiretorioTemplates=Templates\
  • DiretorioLog=Log\
  • TipoCertificado=File
  • NomeCertificado=
  • VersaoManual=3.0

5.3.2. Impressão DPEC

Para realizar a impressão de um DANFE em DPEC é importante seguir alguns passos:

1º) Gera-se a nota normalmente pelo spdNFeDataSets e assina pelo componente spdNFe .

2º) Montar o XML

...

//Gera o XML por DPEC

mOutput.Text := spdNFeDPEC.MontarDPEC (mOutput.Text);

//Assina o XML

mOutput.Text := spdNFeDPEC.AssinarDPEC (mOutput.Text);

...

3º) Envio DPEC

...

//Envia o XML

mOutput.Text := spdNFeDPEC.EnviarDPEC (mOutput.Text,'0001');

...

4º) Consulta o DPEC a partir do código retornado pelo ENVIO

...

//Consulta o DPEC

mOutput.Text:= spdNFeDPEC.ConsultarDPEC (pcRegDpec,'910000000194131');

...

5º) Outra forma de consulta que pode ser utilizada pelo desenvolvedor é a consulta pela chave da Nota.

...

//Consulta o DPEC

mOutput.Text := spdNFeDPEC.ConsultarDPEC (pcChaveNota,'91 0000000194131 ');

...

6º) Co m o retorno do envio do DPEC você já tem as tags.

<dhRegDPEC> 2010-09-16T09:19:49 </dhRegDPEC>

<nRegDPEC> 910000000194131 </nRegDPEC>

7º) Feito os passos anteriores você já pode imprimir o DANFE, utilizando o método spdNFeDPEC.ImprimirDanfe conforme exemplo abaixo:

...

//Método que possibilita a impressão do DANFE

spdNFeDPEC.ImprimirDanfe(mOutput.Text,'910000000194131','2010-09- 16T09:19:49');

...

5.4. Contingência SCAN

O Sistema de Contingência do Ambiente Nacional (SCAN), é a alternativa de emissão da NF-e em contingência com a transmissão da NF-e para o Sistema de Contingência do Ambiente Nacional (SCAN). Nesta modalidade de contingência, o DANFE pode ser impresso em papel comum e não há necessidade de transmissão da NF-e para SEFAZ de origem quando cessarem os problemas técnicos que impediam a transmissão. Além do uso de série específica reservada para o SCAN (série 900-999), o Sistema de Contingência do Ambiente Nacional depende de ativação da SEFAZ de origem, o que significa dizer que o SCAN só entra em operação quando a SEFAZ de origem estiver com problemas técnicos que impossibilitarem a recepção da NF-e.

5.4.1. Configurando o SCAN

1º) Para habilitar o modo SCAN deve-se incialmente, no caso de seu ambiente de desenvolvimento for o Delphi 7 ou superior, adicionar o componente spdNFeSCAN em seu formulário e configurar as propriedades.Caso a linguagem consuma o component via ActiveX (OCX), declare no projeto a classe spdNFeSCANX.

2º) Configure as propriedades deste componente, lembrando principalmente que a série das notas no Component Tecnospeed SCAN são de 900 a 999.

3º) Apartir de agora todos os métodos que você utilizar, por exemplo spdNFe.EnviarNota, serão no modo SCAN, ficando spdNFeSCAN.EnviarNota , e assim será com a assinatura, verificação de status, entre outros.

4º) Na tag tpemis_B22 passe o valor 3, que é a contingência SCAN.

5º) No arquivo Config.ini já existe o bloco [NFE], por exemplo:

[NFE]

  • UF=PR
  • CNPJ=0000000000000
  • ArquivoServidoresHom="nfeServidoresHom.ini"
  • DiretorioEsquemas=Esquemas\
  • DiretorioTemplates=Templates\
  • DiretorioLog=Log\
  • T ipoCertificado=File
  • NomeCertificado=
  • VersaoManual=3.0

6º) Crie o bloco [SCAN] abaixo do [NFE], por exemplo:

[SCAN]

  • UF=PR
  • CNPJ=00000000000000
  • ArquivoServidoresHom="nfeServidoresHomSCAN.ini"
  • DiretorioEsquemas=Esquemas\
  • DiretorioTemplates=Templates\
  • DiretorioLog=Log\
  • TipoCertificado=File
  • NomeCertificado=
  • VersaoManual=3.0

5.4.2. Cancelamento de NFe em SCAN

Funcionalidade que permite o envio de uma solicitação de Cancelamento de uma NFe como um evento.

  • Exemplo:

    _ReturnValue := CancelarNFeEvento(aNotaID, aNumProtocolo,aJustificativa, aDataHoraEvento, aSequenciaEvento, aFusoHorario, aIdLote);

    Onde:

    aNotaID: Chave de Identificação da NF.

    aNumProtocolo: Número do Protocolo de registro da NF, que deve conter exatamente 15 dígitos.

    aJustificativa: Texto (mínimo 15 dígitos) para descrição do Motivo de cancelamento da NF.

    aDataHoraEvento: Data e Hora do evento.

    aSequencia: Número sequêncial do evento (Passar 1).

    aFusoHorario: Fuso horário.

    aIdLote: Trata-se do número de identificação do Lote. Este campo pode ser utilizado para controle interno do ERP.

    5.5. Contingência SVC

    A nota técnica 2013/007 trás o novo ambiente de autorização em contingência do sistema NF-e, denominado SVC - SEFAZ VIRTUAL DE CONTINGÊNCIA. Este novo modelo, que veio para substituir o SCAN e DEPEC, nada mais é que a criação de um lote de notas idêntico ao ambiente normal mas enviado a um servidor virtual localizado em outra região, quando a SEFAZ autorizadora estiver fora do ar ou em manutenção. No total, existem dois servidores virtuais SVC:

  • SVC-AN - SEFAZ Virtual do Ambiente Nacional;
  • SVC-RS - SEFAZ Virtual do Rio Grande do Sul.
  • A vantagem deste modo de contingência é que não há necessidade do envio da mesma nota, a SEFAZ autorizadora quando estiver em funcionamento, e o DANFE é impresso em papel comum. A NT 2013/007 específica a seguinte divisão dos estados em relação aos servidores Virtuais:

    I - pela Sefaz Virtual do Ambiente Nacional, disponibilizada pela Secretaria da Receita Federal do Brasil, para os Estados do Acre, Alagoas, Amapá, Minas Gerais, Paraíba, Rio de Janeiro, Rio Grande do Sul, Rondônia, Roraima, Santa Catarina, Sergipe, São Paulo e Tocantins e para o Distrito Federal; e

    II - pela Sefaz Virtual do Rio Grande do Sul, disponibilizada pelo Estado do Rio Grande do Sul, para os estados do Amazonas, Bahia, Ceará, Espírito Santo, Goiás, Maranhão, Mato Grosso, Mato Grosso do Sul, Pará, Pernambuco, Piauí, Paraná e Rio Grande do Norte.

    5.5.1. Componente NFe: Contingência SVC

    O grande diferencial da contingência SVC para as demais (SCAN e DEPEC) é a simplicidade, pois não há necessidade de números de séries diferentes ou mudanças no formato do XML. No componente NFe, para efetuar o envio de notas em SVC basta apenas três simples passos:

  • Alterar a propriedade Modo Operação;
  • Alterar o campo tpEmis_B22 do arquivo TX2 ou DataSet; e
  • Preencher os campos dhCont_B28 e xJust_B29.
  • A propriedade ModoOperacao possui três valores definidos: moNormal, moSVCAN e moSVCRS . Então basta setar a SEFAZ virtual desejada ou manter no modo Normal para envio à SEFAZ autorizadora. Esta propriedade também aceita valores em formato string: ‘Normal’, ‘SVCAN’ ou ‘SVCRS’.

    O campo tpEmis_B22 deve receber o valor “6”, caso a SEFAZ virtual seja o Ambiente Nacional (SVCAN) ou “7”, caso seja a SEFAZ virtual do Rio Grande do Sul (SVCRS), conforme legislação que define qual UF está vinculada a cada uma das SVC.

    Até o momento o envio SVC só esta liberado para a versão manual 5.0, pois a SEFAZ não liberou os links dos WebServices nas outras versões.

Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...