Integração - InvoiSys
  • Introdução👨‍💻
  • Processo de Integração 🚀
  • Soluções
    • Notas Fiscais
      • Emissão 📃
        • NF-e
          • Passo a Passo
          • Fluxos Operacionais
            • Fluxo - Envio Normal da NF-e
            • Fluxo - Envio Contingência da NF-e
            • Fluxo - Cancelamento/Inutilização da NF-e
          • Facilitadores
        • NFC-e
          • Passo-a-Passo
          • Fluxos Operacionais
            • Fluxo - Envio Normal NFC-e
            • Fluxo - Envio Contingência SEFAZ NFC-e
            • Fluxo - Envio Contingência Off-Line NFC-e
            • Fluxo - Cancelamento/Inutilização da NFC-e
        • NFS-e
          • Passo a Passo
          • Fluxos Operacionais
            • Fluxo - Envio Assíncrono da NFS-e
            • Fluxo - Cancelamento da NFS-e
      • Recebimento 🚚
        • NF-e
          • Passo a Passo
          • Fluxos Operacionais
            • Fluxo - Recebimento NF-e
        • CT-e
          • Passo a Passo
          • Fluxos Operacionais
            • Fluxo - Recebimento CT-e
        • NFS-e
          • Passo a Passo
          • Fluxos Operacionais
            • Fluxo - Recebimento NFS-e
        • Captura de Pedido de Compra
          • Fluxo de captura do pedido de compra nos documentos fiscais
  • Endpoints
    • Autorização 🔑
      • Token de Acesso (2.0)
      • Token de Acesso (3.0)
    • Emissão Notas 📄
      • NF-e
        • Enviar NF-e
        • Cancelar NF-e por CNPJ, número e série
        • Enviar CC-e
        • Obter PDF da CC-e
        • Consultar NF-e por Chave de Acesso
        • Obter DANFE
        • Obter XML
      • NFC-e
        • Enviar NFC-e (Completo)
        • Enviar NFC-e (Híbrido)
        • Enviar Contingência NFC-e (Completo)
        • Enviar Contingência NFC-e (Híbrido)
        • Consultar NFC-e por Número e Série
        • Consultar NFC-e por Chave de Acesso
        • Cancelar/Inutilizar NFC-e por CNPJ
      • NFS-e
        • Enviar RPS assíncrono
        • Consultar o lote RPS na Prefeitura
        • Consultar NFS-e por ID
        • Cancelar da NFS-e por CNPJ
        • Obter PDF
    • Recebimento Notas 🚚
      • NF-e
        • Consultar NSUi (Número Sequencial Único Invoisys)
        • Consultar NSUi (Número Sequencial Único InvoiSys) com Campos Customizados
        • Manifestar NF-e
        • Realizar Download de NF-e na SEFAZ
        • Importar NF-e por Chave de Acesso
        • Importar XML
        • Consultar XML importado
        • Consultar PDF importado
        • Importar anexo
        • Consultar anexo
      • CT-e
        • Consultar NSUi (Número Sequencial Único)
        • Consultar NSUi (Número Sequencial Único InvoiSys) com Campos Customizados
        • Importar de XML
        • Consultar XML importado
        • Consultar PDF importado
        • Importar de anexo
        • Consultar anexo
      • NFS-e
        • Consultar NSUi - Número Sequencial Único
        • Consultar NSUi (Número Sequencial Único InvoiSys) com Campos Customizados
        • Importar XML
        • Consultar XML importado
        • Consultar PDF importado
        • Importar anexo
        • Consultar anexo
    • Pedidos e Transporte 📫
      • Pedido de Compra
        • Criar Pedido de Compra
        • Editar Pedido de Compra
        • Consultar Pedido de Compra
        • Atualizar dados do Pedido de Compra vinculado
    • Outras consultas
      • Município
        • API - Município por UF e Nome
      • UF
        • API - UF
      • Enumeradores
        • API - Bandeira Cartão
        • API - Indicador Forma de Pagamento
        • API - Meio de Pagamento
        • API - Finalidade de Emissão
        • API - Modalidade de Frete
        • API - CRT
        • API - Tipo de Impressão do DANFE
        • API - Tipo Integração Pagamento
        • API - Natureza da Operação
        • API - Local de Destino da Operação
        • API - Unidade de Medida
        • API - Indicador de Presença
        • API - Tipo de Operação
        • API - Tipo Específico
        • API - Origem do Material
        • API - Tipo de Material
        • API - Tipo de Ambiente
        • API - Tipo de Manifesto
  • Extra
    • Dúvidas Frequentes e Outras Especificações
Powered by GitBook
On this page
  • API's Essenciais 💡
  • API's Opcionais 🥈
  • Etapas e API's
  • 1) Emitindo o cancelamento/inutilização
  • 2) Retorno da chamada
  • a) Cancelamento ou Inutilização da NFC-e (Sucesso)
  • b) Rejeição no Cancelamento
  • c) Exceção na comunicação com a SEFAZ

Was this helpful?

  1. Soluções
  2. Notas Fiscais
  3. Emissão 📃
  4. NFC-e
  5. Fluxos Operacionais

Fluxo - Cancelamento/Inutilização da NFC-e

PreviousFluxo - Envio Contingência Off-Line NFC-eNextNFS-e

Last updated 1 year ago

Was this helpful?

Enquanto o cancelamento permite ao contribuinte cancelar uma nota que já havia sido autorizada, mas não houve circulação da mercadoria, a inutilização permite que ele declare que não utilizou uma determinada numeração, assegurando-se de que a SEFAZ não pense que está fraudando. Para ambos os casos temos o embasamento na legislação a respeito do e da :

Cancelamento

Cláusula décima quinta O emitente poderá solicitar o cancelamento da NFC-e, desde que não tenha havido a saída da mercadoria, em prazo não superior a 30 minutos, podendo ser reduzido a critério de cada unidade federada, contado do momento em que foi concedida a Autorização de Uso da NFC-e, de que trata o inciso I da cláusula oitava.

Cancelamento por Substituição

Cláusula décima quinta-A Na hipótese prevista no inciso I da cláusula décima segunda, o emitente poderá solicitar o cancelamento da NFC-e, desde que tenha sido emitida uma outra NFC-e em contingência para acobertar a mesma operação, em prazo não superior a 168 horas, podendo ser reduzido a critério de cada unidade federada, contado do momento em que foi concedida a Autorização de Uso da NFC-e, de que trata o inciso I da cláusula oitava

Inutilização

Cláusula décima sexta O contribuinte deverá solicitar, mediante Pedido de Inutilização de Número da NFC-e, até o 10 (décimo) dia do mês subsequente, a inutilização de números de NFC-e não utilizados, na eventualidade de quebra de sequência da numeração da NFC-e

Aí surge a pergunta: "Como sei qual devo utilizar? Tenho que mandar para APIs diferentes?" - Isso a InvoiSys simplifica para você.

Nossa API de Cancelamento pode ser utilizada tanto para o cancelamento quanto para a inutilização do documento e mais, você não precisa mapear do seu lado quando deve ser um e quando deve ser outro.

Logo abaixo vamos descrever para você todo o fluxo para a emissão do cancelamento/inutilização.

API's Essenciais 💡

  • Cancelar documento por ID Estabelecimento:

  • Cancelar documento por CNPJ:

API's Opcionais 🥈

  • Consulta do documento por Chave de Acesso:

  • Consulta do documento por Número/Série:

  • Consulta do documento por ID:

  • Gerar DANFE:

Etapas e API's

1) Emitindo o cancelamento/inutilização

Tendo ele em mãos devemos então escolher qual API utilizaremos. Atualmente temos duas:

Depois de decidirmos qual API utilizaremos, devemos preparar o JSON com as informações e então realizar a chamada da API.

Ao receber a chamada, a InvoiSys verificará na SEFAZ se será necessário fazer a inutilização ou o cancelamento do documento. E será com base nessa resposta que o retorno chamada será elaborado.

Prazo máximo para cancelamento!

É importante relembrar que o prazo máximo para cancelamento é de 30 minutos contados a partir da autorização da nota!

2) Retorno da chamada

Conforme falamos no tópico anterior, o retorno da chamada da API variará de acordo com o status do documento na SEFAZ. É com base nesse retorno que entendemos o que deve ser feito após a emissão do mesmo.

Com base no retorno podemos chegar a 3 cenários:

a) Cancelamento ou Inutilização da NFC-e (Sucesso)

São os dois cenários de sucesso na chamada da API. Para isso devemos observar o seguinte:

  • Tags do bloco acoes: Retornofalse.

A seguir vamos entender como analisar se foi um cancelamento ou uma inutilização.

a.1) Cancelamento

Para identificarmos o cancelamento, podemos checar o retorno desta forma::

  • dadosDoDocumento:

  • codigoStatusSEFAZ: Retorno 101

  • descricaoStatusSEFAZ: Retorno Cancelamento de NF-e homologado.

  • status: key: Retorno 1;

  • status: value: Retorno cancelado.

{
  "dadosDoDocumento": {
    ...
    "documentoComErro": false,
    "codigoStatusSEFAZ": "101",
    "descricaoStatusSEFAZ": "Cancelamento de NF-e homologado",
    ...
    "documentoJaEmitidoAnteriormente": false,
    "status": {
      "key": 1,
      "value": "Cancelado"
    }
  },
  "acoes": {
    "corrigirDocumento": false,
    "cancelar": false,
    "enviarContingencia": false,
    "tentarNovamenteMaisTarde": false,
    "entrarEmContatoComSuporteImediatamente": false,
    "emitirProximoDocumentoNormal": true
  },
  "excecao": null
}

a.2) Inutilização

Já no caso de inutilização, veremos o seguinte retorno:

  • dadosDoDocumento: codigoStatusSEFAZ: Retorno 102 (Inutilização);

  • descricaoStatusSEFAZ: Retorno Inutilização de número homologadodo.

  • status: key: Retorno 1;

  • status: value: Retorno inutilizado.

{
  "dadosDoDocumento": {
    ...
    "dataDeAutorizacao": null,
    "documentoComErro": false,
    "codigoStatusSEFAZ": "102",
    "descricaoStatusSEFAZ": "Inutilizacao de numero homologado",
    ...
    "documentoJaEmitidoAnteriormente": false,
    "status": {
      "key": 2,
      "value": "Inutilizado"
    }
  },
  "acoes": {
    "corrigirDocumento": false,
    "cancelar": false,
    "enviarContingencia": false,
    "tentarNovamenteMaisTarde": false,
    "entrarEmContatoComSuporteImediatamente": false,
    "emitirProximoDocumentoNormal": true
  },
  "excecao": null
}

b) Rejeição no Cancelamento

Caso o cancelamento seja enviado após o período de 30 minutos, a SEFAZ poderá rejeitá-lo, sendo assim, o status da na nota se manterá como autorizado.

Quando isso ocorrer, em nosso retorno você verá

  • acoes: corrigirDocumento: Retorno true;

  • excecao: Retorno string com o erro da SEFAZ.

{
  "dadosDoDocumento": {
    "id": 1297,
    "chaveDeAcesso": "26191129892534000151550030000000161123412349",
    "dataHoraEmissao": "2019-11-06T14:18:17.467",
    "dataDeAutorizacao": null,
    "documentoComErro": true,
    "codigoStatusSEFAZ": "100",
    "descricaoStatusSEFAZ": "Autorizado o uso da NF-e",
    "protocoloSEFAZ": "126190000302367",
    "urlConsultaViaQRCode": null,
    "urlConsultaViaChaveDeAcesso": null
  },
  "acoes": {
    "corrigirDocumento": true,
    "cancelar": false,
    "enviarContingencia": false,
    "tentarNovamenteMaisTarde": false,
    "entrarEmContatoComSuporteImediatamente": false
  },
  "excecao": "501 - Rejeição: Prazo de cancelamento superior ao previsto na Legislação"
}

Você verificará que no exemplo acima o codigoStatusSEFAZ permanece como 100, pois, entendemos que, mesmo com a rejeição no cancelamento, o status final da nota é de autorizado.

Se atente ao prazo!

É extremamente importante não enviar mais o cancelamento caso este tenha passado no prazo. Se o envio continuar sendo realizado, a SEFAZ poderá bloquear as emissões com a justificativa de estar consumindo indevidamente o serviço.

Minha nota passou do prazo! E agora?

Existem algumas maneiras de lidar com esse cenário, como, por exemplo, fazer uma solicitação formal para a SEFAZ da sua UF pedindo o cancelamento extemporâneo se esta disponibilizar.

Nós recomendamos que, quando isso acontecer, verifique com o departamento fiscal ou contabilidade sobre o que poderá ser feito.

Caso sua NFC-e normal tenha passado por falha de comunicação com a SEFAZ, verifique o tópico Cancelamento por Substituição

c) Exceção na comunicação com a SEFAZ

Quando isso ocorrer, você verá a seguinte informação:

  • acoes: tentarNovamenteMaisTarde: Retorno true.

{
  "dadosDoDocumento": null,
  "acoes": {
    "corrigirDocumento": false,
    "cancelar": false,
    "enviarContingencia": false,
    "tentarNovamenteMaisTarde": true,
    "entrarEmContatoComSuporteImediatamente": false
  },
  "excecao": "The operation has timed out"
}

Não tente ficar enviando o cancelamento a todo momento.

Lembre-se, quando há uma exceção na comunicação com a SEFAZ, não sabemos se ela aceitou ou não a requisição, sendo assim, o envio constante pode estar sendo aceito pela e eventualmente poderá ser bloqueado por consumo indevido.

3) Cancelamento por Substituição

Quando existem 2 NFCes representando a mesma venda (uma em emissão normal e outra em contingência) indicando duplicidade, o contribuinte poderá cancelar a anterior indicando que foi feita uma nova emissão.

Normalmente acontece assim:

  1. A empresa envia para a SEFAZ uma NFCe com tipo de emissão Normal (NFCe 1)

  2. Devido a algum problema ou indisponibilidade, não é possível obter o retorno se aquela NFCe foi ou não autorizada

  3. Sendo necessária realizar a venda, a empresa envia outra NFCe representando a mesma operação, porém agora em contingência Offline (NFCe 2)

  4. Quando o problema é resolvido, é verificado que a NFCe 1 havia sido autorizada pela a Sefaz. Porém a NFCe 2 também foi emitida (em contingência) e tem valor legal. Portanto existem 2 notas (NFCe 1 e NFCe 2) acobertando a mesma venda

  5. Neste caso, a empresa deve emitir um Cancelamento por Substituição cancelando a NFCe 1 e referenciando que a NFCe 2 foi emitida em seu lugar e é o documento de posse do consumidor O cancelamento por substituição dará ao contribuinte o prazo de até 168 horas (7 dias) para a efetivação do evento.

a) Chamada do Cancelamento por Substituição

{
  "ambiente": 2,
  "cnpj": "17921427000125",
  "numeroNFe": 10,
  "serie": 1,
  "justificativa": "Cancelamento por substituicao",
  "chaveDeAcessoSubstituta": "13230817921427000125650470000008621123456787",
  "retornoCompleto": true
}

a.1) Fluxo

O fluxo indicado para o envio do Cancelamento por Substituição consiste em aguardar que a NFC-e emitida em contingência na numeração seguinte seja autorizada, garantindo que a venda acobertando a operação que recebeu falha de comunicação com a SEFAZ esteja válida.

Dessa forma, é possível criar uma rotina que verifique as NFC-es sujeitas a timeout e cuja contingência tenha sido autorizada. Outra abordagem é implementar um gatilho que, ao receber a confirmação de autorização durante o processo assíncrono de contingência, prossiga automaticamente com o cancelamento por substituição da faixa normal que sofreu falha de comunicação.

Lembre-se do prazo de 7 dias para o envio do cancelamento por substituição! Portanto, não deixe de reenviar uma NFC-e em contingência represada ou pendente de ajuste por conta de alguma rejeição.

b) Retorno do cancelamento por substituição

Para detalharmos melhor a operação, a separamos em tópicos, 📝.

Da mesma maneira que no , também precisamos nos atentar para termos um token de acesso válido.

;

.

Assim como no , nele existem algumas informações que podem ser interessantes você guardar, como a chaveDeAcesso e o id do documento criado em nossa base, pois são utilizados em outras APIs.

; ;

Assim como falamos no , no cancelamento também podem haver exceções na comunicação com a SEFAZ.

As possíveis APIs utilizadas para o cancelamento pro substituição são as mesmas descritas notópico , com a diferença que, obrigatoriamente, será necessário enviar o parâmetro "chaveDeAcessoSubstituta" (chave da NFC-e em contingência), como no exemplo a seguir:

O retorno será o mesmo indicado no fluxo do tópico . Caso a NFC-e normal esteja autorizada na SEFAZ, a invoiSys fará a requisição do evento de Cancelamento por Substituição, indicando a chave substituída informada no JSON. Caso contrário (NFC-e normal não autorizada), o registro será inutilizado.

cancelamento
inutilização
/api/nfce/cancelarnfce​
/api/nfce/cancelarnfcecnpj​
/api/nfce/getbychavedeacesso/{chave}
/api/nfce/getby_numero_serie_cnpj/{numero}/{serie}/{cnpj}/{ambiente}
/api/nfce/{id}
/api/nfce/getdanfe/{id}​
porém você consegue ver o fluxo completo aqui
Envio Normal da NFC-e
API - Cancelar NFC-e por Id Estabelecimento
API - Cancelar NFC-e por CNPJ Estabelecimento
a) Cancelamento ou inutilização da NFC-e (Sucesso)
b) Rejeição no cancelamento
c) Exceção na comunicação com a SEFAZ
Emitindo o cancelamento/inutilização
"Retorno da chamada"
envio normal
envio normal