Como emitir nfe em contingencia?

427 views
Skip to first unread message

matheus coelho

unread,
Nov 28, 2016, 2:37:23 PM11/28/16
to NFePHP
Quais os passos para a emissão da contingencia?

Os passos normais são:
gerar
assinar
validar
enviar
consultar recibo
adicionar protocolo

Não entendi mt bem oq eu tenho q fazer quando a nota tem q sem em contingencia.

Roberto Machado

unread,
Nov 29, 2016, 5:31:05 AM11/29/16
to nfe...@googlegroups.com
A contingência usada pela API é apenas a SVC (Sistema Virtual de contingência) existe um método para colocar o sistema em contingência 

ativaContingencia($siglaUF, $motivo)

Isso coloca o sistema em modo contingência SVC e o método 

desativaContingencia()

Remove esse estado.

Esse tipo de contingência somente pode ser ativado quando a SEFAZ autorizadora, liberar oficialmente seu uso, e isso pode levar minutos à várias horas.

Esse modo de contingência não requer muitas mudanças na forma de trabalho pois as NFe serão sincronizadas com a SEFAZ e com a Receita automaticamente.

Por favor estude a documentação da SEFAZ sobre contingência SVC !!!

Roberto 

matheus coelho

unread,
Nov 29, 2016, 3:24:10 PM11/29/16
to NFePHP
Muitíssimo obrigado! Já abriu minha mente. Vou estudar, eu n me aprofundei nos manuais do SEFAZ por medo de a biblioteca n atender todas as necessidades, por isso primeiro resolvi testa-la, se eu conseguir usar tudo certinho, pretendo me aprofundar e no futuro poder ajudar a comunidade continuar crescendo este projeto, q por sinal está sensacional.

Mas vc poderia me esclarecer melhor, só pra eu tirar isso da cabeça, essa duvida está me matando.

Quando eu ativo a contingência por esse método o sistema tem q continuar fazendo os mesmos passos?

$nfe->ativaContingencia('MG','Contingência Ativada pela SEFAZ MG desde 29/11/2016 18:23:00','');
gerar
assinar
validar
enviar
consultar recibo
adicionar protocolo
$nfe->desativaContingencia();
??

Achei que desse pra gerar uma nota em contingencia mesmo sem acesso a internet ou mesmo quando todos os webservices da receita caíssem. n posso? 

Roberto Machado

unread,
Nov 29, 2016, 3:41:51 PM11/29/16
to nfe...@googlegroups.com
A ativação ou não da contingência independe de estar realizando uma operação ou não. Digamos que a SEFAZ está fora do ar e por isso você está recebendo uma Exception, ai você vai ao site da SEFAZ é lá está a informação "Sistema de Contingência Acionado as 14:00hs por falha do servidor principal da SEFAZ", pois bem, nesse caso o usuário tem que acionar a contingência e colocar o motivo. Na versão 4.0 isso irá criar um arquivo com os dados da contingência na pasta config.

Quando a classe ToolsNFe for invocada novamente, ela irá verificar se existe o arquivo de contingência e se existir irá ativar automaticamente a contingência, ou seja irá acessar as URL do SVC e não as normais.

Mas outras tarefas devem ser executadas pelo ERP como mudar alguns dados na criação do XML (veja o manual) ai é só usar normalmente pois a contingência SVC é igual ao sistema normal.

Mas em algum momento a SEFAZ vai retornar ao funcionamento normal e vai bloquear a contingência, ai o usuário tem que desativar a contingência, isso irá remover aquele arquivo da pasta config e o sistema retomará as condições normais.

Não !!! a API não faz contingência OFFLINE, a contingência OFFLINE somente é viável em alguns estados e unicamente para a NFCe (em SP não pode usar OFFLINE tem que usar SAT@ECF)
A contingência OFFLINE como o próprio nome diz não tem conexão, então a unica coisa que pode ser feita é gerar e assinar o XML e guardar para enviar quado estiver ONLINE, mas eu repito isso serve apenas para NFCe e apenas em alguns estados.

Roberto

matheus coelho

unread,
Nov 30, 2016, 7:04:31 AM11/30/16
to NFePHP
OK, agr eu entendi, ativo a contingencia e continuo fazendo as coisas, depois desativo, sucesso então. show de bola, vc é o cara, muito obrigado.

matheus coelho

unread,
Dec 29, 2016, 2:37:41 PM12/29/16
to NFePHP
ficou uma duvida, eu ativo e desativo para cada nota, ou ativo e só desativo depois q o sefaz voltar o funcionamento normal?

Roberto Machado

unread,
Dec 30, 2016, 7:10:14 AM12/30/16
to nfe...@googlegroups.com
Nessa versão da API, quando você ativa é criado um arquivo de controle que será chamado na próxima vez que usar a classe de forma automática.

Então você ativa UMA VEZ, nesse intervalo a contingência permanecerá ativada até que você desative.

Roberto

matheus coelho

unread,
Dec 31, 2016, 2:11:04 PM12/31/16
to NFePHP
depois de ativada como eu verifico ele a função ainda está ativa posteriormente, verificando se o json existe? tem outra forma?

matheus coelho

unread,
Dec 31, 2016, 2:12:03 PM12/31/16
to NFePHP
depois de ativada como eu verifico posteriormente se a função ainda está ativa, verificando se o json existe? tem outra forma?

Roberto Machado

unread,
Jan 1, 2017, 8:10:36 AM1/1/17
to nfe...@googlegroups.com
É só verificar as propriedades da classe Tools.

public $motivoContingencia = '';
public $tsContingencia = '';
public $enableSVCRS = false;
public $enableSVCAN = false; 

Se estiver em contingencia elas terão dados diferentes dos acima.

Roberto

matheus coelho

unread,
Jan 2, 2017, 3:27:34 PM1/2/17
to nfe...@googlegroups.com
Mt Obrigado.

--
--
Você recebeu esta mensagem porque está inscrito no Grupo "NFePHP".
Para Postar: nfe...@googlegroups.com
Para Sair do Grupo: nfephp+unsubscribe@googlegroups.com
Link: http://groups.google.com.br/group/nfephp?hl=pt-BR
-------
Repositório: https://github.com/nfephp-org/nfephp
---
Você recebeu essa mensagem porque está inscrito em um tópico no grupo "NFePHP" dos Grupos do Google.
Para cancelar inscrição nesse tópico, acesse https://groups.google.com/d/topic/nfephp/UzVxj1LraXA/unsubscribe.
Para cancelar inscrição nesse grupo e todos os seus tópicos, envie um e-mail para nfephp+unsubscribe@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages