Contingência para Módulo CT-e

Última atualização em: 19 de julho, 2016

 

Olá! Neste artigo iremos falar sobre o processo de envio de documentos em contingência, as possíveis situações que podem acontecer e como o emissor deve proceder em cada uma delas.

Primeiramente o emissor deve definir as configurações relacionadas a contingência para sua empresa. Para isso, basta acessar o Painel de Controle, módulo CT-e, Configurações para emissão, como demonstra a imagem.

 

Para o módulo CT-e estão disponíveis as formas de contingência EPEC, SVC e Nenhuma, onde o InvoiCy possibilita que o emissor defina qual a opção de emissão será priorizada no momento em que o ambiente normal estiver indisponível.

Para definir a ordem das opções de emissão basta clicar nas flechas que estão ao lado de cada uma das opções, até posicioná-las na forma desejada. O InvoiCy fará o envio do documento de acordo com a primeira opção de contingência que estiver configurada. Caso a primeira opção de contingência não esteja disponível, será realizada uma tentativa de envio para a opção seguinte, seguindo assim para todas as opções e só encerrando o processo ao chegar na opção Nenhuma.

 

Opções de contingência

Bem, antes de definir qual será a primeira opção de emissão em contingência, vamos entender as diferenças entre os ambientes SVC e EPEC.

O ambiente da SEFAZ Virtual de Contingência (SVC) tem sua disponibilidade controlada pela SEFAZ, sendo ativado geralmente quando a SEFAZ de origem realiza alguma manutenção programada em sua estrutura. Nestas circunstâncias, a SEFAZ de origem solicitará a ativação do ambiente SVC para sua UF, que passará a receber seus CT-e por um tempo pré-definido. Os CT-e autorizados pela SVC não precisam ser reenviados, pois a sincronização dos documentos entre a SVC e a SEFAZ de origem é realizada automaticamente.

Já o Evento Prévio de Emissão em Contingência (EPEC) está disponível a qualquer momento, sendo recebido pelo Ambiente Nacional, porém um evento de CT-e registrado neste ambiente, necessita obrigatoriamente, de seu posterior envio para a SEFAZ de origem, realizando assim a conciliação do evento junto a autorização do CT-e.

Outra informação que deve ficar entendida é que a contingência é definida por UF e não por empresa, ou seja, a partir do momento que qualquer uma das empresas emitentes em determinada UF deixar de receber o retorno de um documento da SEFAZ, esta UF passará a operar em contingência e todas as demais empresas desta UF também.

A partir do momento em que a contingência for ativada, o InvoiCy passará a verificar a ordem de contingência configurada em cada empresa e fará o envio dos documentos conforme esta configuração.

 

Contingência SVC

Se a contingência SVC estiver configurada como primeira opção, o InvoiCy fará o envio do documento para o ambiente da SVC, que uma vez estando ativo, fará as validações do documento e em caso de efetivação o emissor receberá como retorno o código 100, o arquivo xml e o DACTE (conforme configurações da empresa), indicando que o documento foi autorizado. Nesse caso o processo de envio em contingência foi executado com sucesso, o documento está autorizado e o emissor não tem a necessidade de consultar o status do documento, pois conforme vimos acima, a sincronização entre os ambientes será automática.

Em caso de rejeição o emissor deverá fazer a correção e o reenvio do documento. Se o ambiente da SVC não estiver ativo, o InvoiCy fará uma nova tentativa de envio do documento para o EPEC, caso esta for a segunda opção de contingência configurada, senão o processo termina neste momento e o documento ficará com o status Pendente.

Acesse o fluxo da contingência SVC.

 

Contingência EPEC

Agora, se a primeira opção for a contingência EPEC, o InvoiCy fará o envio de um evento com os dados do documento para o ambiente nacional da SEFAZ, onde passará por validações básicas em sua estrutura e em caso de autorização o emissor receberá como retorno de status da comunicação o código 109, e como retorno de status do documento o código 136, sem o arquivo xml, mas com o DACTE para transporte da mercadoria. Isto significa que o documento foi emitido porém ainda não está autorizado na SEFAZ, ou seja, o emissor deverá realizar, em um segundo momento, a consulta desse documento para atualização de status e obtenção do XML completo de autorização.

Acesse o fluxo da contingência EPEC.

Vale ressaltar que no momento em que a comunicação com a SEFAZ de origem for restabelecida, o IncoiCy fará automaticamente o envio de todos os documentos emitidos em EPEC para a sua SEFAZ de origem, buscando sua autorização e consequentemente a conciliação do evento EPEC. Em caso de rejeição o emissor deverá fazer a correção e o reenvio do documento.

Pode acontecer ainda a situação de nenhuma das contingências configuradas estarem disponíveis, então o documento ficará como pendente no InvoiCy e não será emitido. O emissor receberá como retorno de status da comunicação o código 109, e como retorno de status do documento o código 105.

109 – SEFAZ em contingência

105 – Documento pendente

Resumo: O emissor estará temporariamente impedido de emitir e deverá realizar uma consulta antes de fazer o envio do próximo documento.

 

Códigos de retorno

É importante salientar que o emissor deve estar atento aos códigos de retorno do status do documento, e não apenas para o código de retorno da comunicação. Para auxiliar na identificação de ambos, o código de status da comunicação pode ser observado no cabeçalho de retorno do SOAP. Já o código do status do documento pode ser visualizado dentro do arquivo xml do documento.

Uma vez definida a utilização do EPEC, o emissor deverá tratar em sua integração o código de retorno 136, de forma que o ERP consiga interpretar o mesmo, pois quando um documento for emitido em EPEC, os códigos retornados serão 109 para o status da comunicação e 136 para o status do documento. Neste caso o emissor deverá fazer uma consulta posteriormente destes documentos buscando a atualização de seus status e não deverá realizar seu reenvio enquanto não obtiver um novo status. Isso irá evitar problemas de duplicidade de documento com diferença na chave de acesso e bloqueio de empresas para emissão de novos documentos em EPEC. Em caso de bloqueio da empresa, o artigo Desbloqueio de EPEC explica como proceder nessa situação.

109 – SEFAZ em contingência

136 – Contingência EPEC

Resumo: Para os documentos com estes status, o emissor deverá realizar consultas para a atualização de status e fazer seu reenvio somente quando receber um status diferente do atual.

Outro código que precisa ser tratado na integração é o 108, que será retornado para o documento que identificar a indisponibilidade da SEFAZ de uma UF. Isso irá ocorrer quando o InvoiCy receber um documento e não conseguir enviá-lo à SEFAZ ou não obtiver o seu retorno junto a SEFAZ, detectando neste momento a necessidade de entrar em modo de contingência. O documento que identificar a contingência ficará com o status “Necessita interação” no InvoiCy e o emissor receberá como retorno do InvoiCy o código 108, tanto para o status do documento, como para o status da comunicação.

108 – Entrada da SEFAZ em contingência: [erro_encontrado]

108 – Entrada da SEFAZ em contingência: [erro_encontrado]

Resumo: Quando o emissor receber o retorno 108, seu sistema deverá estar preparado para emitir uma cópia do documento anterior, avançando sua numeração e referenciando o documento emitido anteriormente. Recomendamos a leitura do artigo Referenciando documento emitido anteriormente” para compreender o funcionamento desse processo.

Uma informação importante quanto ao código 108 é que um único documento por UF irá receber este retorno ao identificar alguma falha de comunicação com a SEFAZ, pois a partir disso todos os demais documentos das empresas que emitam nesta mesma UF passarão a emitir automaticamente em modo de contingência. Outro detalhe é que este retorno independe do tipo de contingência utilizada pela empresa que enviou o documento e detectou a falha de comunicação.

 

Por que avançar numeração e referenciar o documento anterior?

Esta regra foi implementada para evitar problemas com o documento que identificar a contingência, uma vez que neste momento não é possível saber se o documento chegou até a SEFAZ ou não. Realizando este tratamento o emissor consegue garantir que um documento que pode estar efetivado na SEFAZ não seja enviado também para a SVC ou EPEC, por exemplo. Supondo que o documento esteja efetivado na SEFAZ e seja feito simplesmente o seu reenvio pelo sistema, como o InvoiCy já estará operando em modo de contingência ele fará o envio para uma das opções (SVC ou EPEC), podendo gerar os seguintes problemas:

– Se o documento for enviado e efetivado na SVC, irá ocorrer falha na sincronização entre os ambientes, devido a duplicidade de documento com diferença nas chaves de acesso;

– Se for enviado para EPEC, o problema irá ocorrer no momento da conciliação do documento, pois o documento teve um EPEC com horário posterior a sua autorização.

Uma vez referenciado o documento, o InvoiCy se encarrega de realizar as ações necessárias sobre ele, realizando seu cancelamento ou inutilização, conforme for a situação em que o mesmo se encontra junto a SEFAZ.

 

Restabelecimento de comunicação

Após cessarem os problemas de comunicação com a SEFAZ da UF o InvoiCy voltará ao modo de comunicação normal e passará a verificar quais documentos precisam receber algum encaminhamento.

Para o documento que identificou a contingência e foi referenciado no segundo documento, o InvoiCy fará automaticamente a sua consulta junto a SEFAZ. Se estiver efetivado será providenciado seu cancelamento, caso contrário, a sua inutilização.

Já para os documentos emitidos em EPEC, o InvoiCy irá realizar seu envio para conciliação, podendo ser efetivado ou rejeitado. Estes são os casos de retorno 136, onde o emissor deverá fazer a consulta dos documentos para atualização de seus status e reenvio, quando necessário.

Para facilitar o entendimento do emissor, foi elaborado um fluxo abrangendo todas as situações de emissão em contingência, bem como o retorno de cada situação.

Durante o processo de envio, ainda podem acontecer situações como o Aplicativo Comercial ou ERP não possuir conexão com a internet, ou a conexão com o InvoiCy ser perdida durante o processo de emissão e não dar nenhum retorno do documento.

Na primeira situação o documento não será enviado para o InvoiCy, sendo responsabilidade do emissor ajustar a sua infraestrutura para permitir a comunicação com o InvoiCy. Já na segunda situação, o emissor deverá consultar o status do documento para verificar se o mesmo já não foi emitido, ou se será necessário enviá-lo novamente.

Desbloqueio de EPEC

Última atualização em: 11 de fevereiro, 2015

 

O que é o EPEC?

A SEFAZ disponibilizou uma nova forma de emissão em contingência, o EPEC ou Evento Prévio de Emissão em Contingência, que permite a empresa emitir uma solicitação de registro de evento de CT-e ou NF-e anterior à emissão do documento em si com um layout mínimo de informações. Esse evento deve ser enviado para o Ambiente Nacional (AN), utilizando-se o Web Service de Eventos genérico, criado para este fim.

A emissão do evento tem como objetivo permitir que a empresa continue sua operação, uma vez que autorizado o EPEC, esta poderá imprimir o DACTE/DANFE e realizar a prestação do serviço.

Conforme disponível na NT2012/004, a emissão do EPEC poderá ser adotada por qualquer emissor que esteja impossibilitado de transmissão e/ou recepção das autorizações de uso de seus CT-e ou NF-e.

Após realizada a autorização do Evento EPEC, da mesma maneira que para os demais eventos, o EPEC também será distribuído para as UF envolvidas na operação, inclusive para a própria UF do emitente.

Eventos do tipo EPEC devem ser reenviados no período máximo de sete dias (168 horas) para obterem sua efetivação, utilizando ainda o “tpEmis” = 4. Esse reenvio deve ser realizado para que as emissões feitas em EPEC não entrem em lista de pendências na SEFAZ.

Destacando que esse modelo de contingência deverá ser utilizado somente em casos de dificuldade técnica, sendo que o uso de forma contínua poderá ser bloqueado por regra de validação ou medida restritiva.

Após cessarem os problemas o InvoiCy fará a conciliação automática dos Documentos que foram emitidos em EPEC, e durante esse processo se algum documento rejeitar e não for corrigido e reenviado em até sete dias este ficará pendente de conciliação.

Decorrido o prazo para reenvio o ambiente de contingência EPEC será bloqueado para este emitente, e para liberar o uso do Ambiente de Contingência EPEC a empresa deverá corrigir o documento rejeitado e envia-lo novamente.

Durante o processo de testes de integração pode ocorrer algum erro na emissão, e autorizar o EPEC e o documento que o originou. Neste caso, a empresa também ficará bloqueada para emitir em ambiente de contingência EPEC. Para continuar emitindo deve desbloquear a empresa seguindo as seguintes instruções:

1) Fazer um termo no livro de ocorrências. Fotocopiar a capa do livro e o Termo de Ocorrência lavrado pela empresa e protocolizar. Deve-se obedecer, no que couber o Regulamento do ICMS do estado do emissor.

2) Fazer requerimento solicitando a regularização do caso, explicando o ocorrido.

3) Junto com o requerimento anexar cópia de Termo no Livro de Ocorrências e Documentos Fiscais relatando o fato. Pode ser realizado pelo contador do contribuinte.

4) Protocolar em Agência da Receita do Estado do emissor. Pode ser realizado pelo contribuinte.

Importante ressaltar que se o contribuinte não protocolar este requerimento, permanecerá bloqueado para a emissão de novos EPEC em casos de entrada em contingência.

Para visualizar um modelo do requerimento que deve ser enviado, clique aqui.

Quando o documento for emitido em EPEC, será retornado o código 136 no status do documento, assim como, será gerado duas vias do DACTE/DANFE conforme a legislação. Neste caso não será retornado o XML do documento, pois este será enviado automaticamente pelo InvoiCy à SEFAZ quando a mesma voltar a operar. Para obter o XML do documento, posteriormente poderá ser feita uma consulta.

Verifique se sua empresa está apta para entrar em produção

Última atualização em: 07 de janeiro, 2015

Antes de realizar o checklist abaixo, é importante o Parceiro realizar a leitura da documentação no Portal, através do link https://desenvolvedores.migrate.com.br/modulo-ct-e/.

Abaixo segue os testes mínimos necessários para o Parceiro ser considerado apto para iniciar o processo em Produção no módulo CT-e.

Para emissão normal seguir os passos abaixo:

– Autorizar um documento:
https://testemigrate.wordpress.com/2014/09/16/enviando-um-ct-e

– Inutilizar um documento:
https://desenvolvedores.migrate.com.br/2014/09/16/inutilizar-um-ct-e

– Realizar a consulta de um documento:
https://desenvolvedores.migrate.com.br/2014/03/07/consultando-um-documento-nf-e-ou-nfc-e

– Cancelar um documento:
https://testemigrate.wordpress.com/2014/09/16/cancelando-um-ct-e

– Emitir uma Carta de Correção:
https://testemigrate.wordpress.com/2014/09/16/carta-de-correcao-eletronica-para-ct-e

Para emissão em contingência seguir os passos abaixo:

– Emitir um documento em contingência SVC:
https://testemigrate.wordpress.com/2014/09/16/emissao-de-ct-e-em-contingencia

Algumas particularidades deste módulo:

– A empresa deve verificar o fluxo atual de seus clientes, e realizar testes de emissão de acordo com o fluxo de cada um de seus clientes.

Exemplos:

– Se o cliente emitir com Modal Rodoviário, deve testar emissão de um CT-e utilizando modal Rodoviário.
– Se o cliente utilizar modal Aéreo, deve testar emissão de um CT-e utilizando modal Aéreo.
– Se o cliente referencia NF-e em seus CT-e, deve testar a emissão de CT-e com referência de NF-e.
OBS: Essas são regras de negócio que só o parceiro terá conhecimento, e será de sua inteira responsabilidade testá-las e aprová-las em seu ERP.

Layout de CC-e para CT-e

Última atualização em: 06 de junho, 2017

 

Olá! Este artigo tem por objetivo disponibilizar o layout do XML da CC-e. Aqui você irá encontrar a estrutura completa de campos da Carta de Correção Eletrônica, para realizar a integração de seu ERP com o InvoiCy.

A tabela abaixo deve ser utilizada como legenda para interpretação dos campos do arquivo do envio e retorno do XML.

Coluna

Nome do Campo

Tipo

(tamanho)

N – campo numérico C – campo alfanumérico D – campo data H – campo hora

Ele

G – Grupo E – Elemento CG – Elemento de Grupo que deriva de uma escolha (choice) CE – Elemento que deriva de uma escolha (choice)

Pai

TAG raiz do XML de integração

Ocorrência

x-y, onde x indica a ocorrência mínima e y, a ocorrência máxima:

1-1  = campo obrigatório, com uma possibilidade,

1-N = campo obrigatório, com uma ou várias possibilidades,

0-1  = campo opcional, com uma possibilidade,

0-N = campo opcional, com uma ou várias possibilidades.

LAYOUT CC-e

 

Acesse também a Central de Downloads Migrate, onde você poderá encontrar diversos exemplos reais da Carta de Correção Eletrônica para download.

Layout 2.0 CT-e

Última atualização em: 19 de setembro, 2014

 

Olá! Este artigo tem por objetivo disponibilizar o layout 2.0 do XML do CT-e. Aqui você irá encontrar a estrutura completa de campos para realizar a integração de seu ERP com o InvoiCy.

A tabela abaixo deve ser utilizada como legenda para interpretação dos campos do arquivo do envio e retorno do XML.

Coluna

Nome do Campo

Tipo

(tamanho)

N – campo numérico C – campo alfanumérico D – campo data H – campo hora

Ele

G – Grupo E – Elemento CG – Elemento de Grupo que deriva de uma escolha (choice) CE – Elemento que deriva de uma escolha (choice)

Pai

TAG raiz do XML de integração

Ocorrência

x-y, onde x indica a ocorrência mínima e y, a ocorrência máxima:

1-1  = campo obrigatório, com uma possibilidade,

1-N = campo obrigatório, com uma ou várias possibilidades,

0-1  = campo opcional, com uma possibilidade,

0-N = campo opcional, com uma ou várias possibilidades.

LAYOUT XML 2.0

LAYOUT Eventos

 

Acesse também a Central de Downloads Migrate, onde você poderá encontrar diversos exemplos reais de CT-e para download.

Cadastrar Empresa via Web Service

Última atualização em: 13 de julho, 2015

 

Neste artigo iremos demonstrar como realizar o cadastro de uma empresa através do Web Service do InvoiCy.

A partir de agora, assumimos que você já leu o artigo Integrar com o InvoiCy CT-e. Caso ainda não tenha lido o artigo, recomendamos que realize a leitura do mesmo, para facilitar o entendimento deste artigo.

O cadastramento da empresa é muito simples. Para que isso se torne possível, siga os seguintes passos:

1. Consumindo o Web Service
Primeiramente, você deve realizar o consumo do Web Service de Cadastro de empresas  – https://homolog.invoicy.com.br/arecepcao.aspx

2. Criar os XML para o envio
O XML deve ser convertido para String, porém, antes disso, deve-se gerar a chave de comunicação empCK. Mas como fazer isso se ainda não temos a chave de comunicação da empresa?

É simples. Neste caso, deve-se utilizar a chave de parceiro (EmpPK) para fazer a concatenação e posteriormente gerar a chave hash MD5.

3. Armazenar os dados de retorno
Caso a empresa seja cadastrada com sucesso, é preciso guardar o Código da Empresa no InvoiCy e a chave de acesso, informações fundamentais para a emissão com a empresa.

Para obter os Layouts de envio e retorno do Cadastro de Empresas, faça o download do arquivo CadastroEmpresa.zip. Nele você encontrará também arquivos XML de exemplo.

O documento XML deve ser convertido para texto, e inserido entre as TAGS <Documento></Documento> do SOAP de envio. Veja abaixo um exemplo:

Nos casos em que for usada uma ferramenta RAD para consumo do Web Service através de componente nativo, por exemplo Visual Studio utilizando Web Reference, a conversão do XML para texto irá ocorrer de forma automática. Para os casos em que o desenvolvedor preferir codificar toda a comunicação sem utilizar componentes, além de ser necessário escrever todo o XML do SOAP, também deverá ser feita a conversão do XML do documento para texto, substituindo os caracteres “<”, “>” e “ “ ” (aspas) por “&lt;”, “&gt;” e “&quot;” respectivamente, de acordo com a tabela da W3C: http://www.w3schools.com/html/html_entities.asp.

Para facilitar a geração do XML de integração, disponibilizamos o XML de envio, que poderá servir como base.

4. Realize a leitura do retorno do cadastro de Empresa
Após o envio do XML, precisamos realizar a leitura do retorno do processamento do cadastro. O retorno recebido segue a seguinte estrutura SOAP:

A estrutura SOAP acima demonstra o retorno do envio de apenas uma empresa.

O seu sistema deve ler o retorno, validando as informações conforme o layout de retorno. O retorno apresentará o status de cada processo, desde o cadastro da empresa, a instalação do certificado, a validação da licença e o cadastro do usuário.

Para saber mais sobre os possíveis códigos de retorno ao cadastrar uma empresa via Web Service, acesse o artigo Códigos de Retorno Cadastro de Empresa via Web Service.

Agora que você já cadastrou a empresa, podemos dar prosseguimento ao próximo passo.

Artigos Relacionados:

Carta de Correção Eletrônica para CT-e

Última atualização em: 16 de setembro, 2014

 

A Carta de Correção Eletrônica ou CC-e é um evento do CT-e. Para saber como emitir um evento e consequentemente como emitir uma CC-e, clique aqui.

Em quais situações posso emitir a Carta de Correção Eletrônica?
É permitida a utilização de CC-e para regularização de erro ocorrido na emissão de documento fiscal, desde que o erro NÃO esteja relacionado com:
I – as variáveis que determinam o valor do imposto tais como: base de cálculo, alíquota, diferença de preço, quantidade, valor da operação ou da prestação.
II – a correção de dados cadastrais que implique mudanças do remetente ou do destinatário;
III – a data de emissão ou de saída da mercadoria.

Qual o prazo para emitir uma CC-e?
O emissor tem até 720 horas (30 dias) para emitir uma Carta de Correção, após a autorização do CT-e.

Quantas Cartas de Correções posso emitir para um CT-e?
O emissor poderá emitir até 20 Cartas de Correções para cada CT-e, sendo que a CC-e mais recente anula as Cartas de Correções anteriores. Por isso, caso seja emitido mais de uma CC-e, deve-se adicionar as correções anteriores junto a CC-e que está sendo emitida.