Para realizar o cancelamento de uma NFCe emitida em duplicidade, utilize o método CancelarNFSubstituicao.
Método
CancelarNFSubstituicao(aNotaID, aNumProtocolo, aJustificativa, aDataHoraEvento, aSequenciaEvento aFusoHorario, aOrgaoAutor, aVersaoAplicativo, aNotaIDReferenciada: string; aTipoAutor, aIdLote) : string;
Parâmetros
Argumento | Tipo | Detalhes |
aNotaID | String | Chave de Identificação da NFCe |
aNumProtocolo | String | Número do Protocolo de registro da NFCe, que deve conter exatamente 15 dígitos |
aJustificativa | String | Texto (mínimo 15 dígitos) para descrição do Motivo de cancelamento da NFCe |
aDataHoraEvento | String | Data e Hora da Emissão do Evento Ex.: 2010-08-19T13:00:15 |
aSequenciaEvento | Integer | Número de sequencia do evento |
aFusoHorario | String | Fuso horário do local de envio. Ex.: -03:00 |
aOrgaoAutor | String | Código da UF de emissão |
aVersaoAplicativo | String | Versão do aplicativo do emissor. Ex: 1.0 |
aNotaIDReferenciada | String | Chave da nota referenciada. Informe a chave da nota que fora emitida em contingencia |
aTipoAutor | String | Tipo do autor que esta realizando o cancelamento. Por padrão informe taEmpresaEmitente |
aIdLote | String | Número de controle interno, utilizado para identificar a operação que está sendo realizada |
Retorno
Este método retornará o conteúdo de um XML, onde será possível verificar se o cancelamento foi autorizado ou rejeitado.
Exemplos
Delphi
retorno := spdNFCe.CancelarNFSubstituicao(edtChave.Text, edtProtocolo.Text, 'Estou testando o cancelamento da NFCe', 'YYYY-mm-ddThh:nn:ss', 1, '-03:00', '41', 'Aplicativo v1.0', edtChaveReferenciada.Text, taEmpresaEmitente, '1');
C#
retorno = spdNFCe.CancelarNFSubstituicao(edtChave.Text, edtProtocolo.Text, 'Estou testando o cancelamento da NFCe', 'YYYY-mm-ddThh:nn:ss', 1, '-03:00', '41', 'Aplicativo v1.0', edtChaveReferenciada.Text, taEmpresaEmitente, '1');
Visual Basic 6
retorno = spdNFCe.CancelarNFubstituicao Chave, Protocolo, "Estou testando o cancelamento da NFCe", "YYYY-mm-ddThh:nn:ss", 1, "-03:00" "41" "Aplicativo v1.0" chaveReferenciada taEmpresaEmitente "1"
PHP
$retorno = spdNFCe->CancelarNFubstituicao($chave, $protocolo, 'Estou testando o cancelamento da NFCe', 'YYYY-mm-ddThh:nn:ss', 1, '-03:00', '41', 'Aplicativo v1.0', $chaveRefenciada, taEmpresaEmitente, '1');
Notas
- O novo evento de “Cancelamento por Substituição”, é muito semelhante ao evento de cancelamento normal já existente, que não teve nenhuma mudança na especificação.
A diferença é que, com este novo evento, o contribuinte poderá cancelar uma NFC-e que foi emitida em duplicidade.
Esse tipo de situação pode acontecer quando um contribuinte emite uma NFC-e (vamos chamá-la de Nota 1), porém, por algum motivo, não obtém resposta, ficando pendente de retorno.
Em seguida emite outra NFC-e (Nota 2), normalmente em contingência, para acobertar a operação.
Depois é verificado que a Nota 1 também foi autorizada, ou seja, as duas NFC-e acobertaram a mesma operação.
Acontecendo isso, o contribuinte poderá solicitar o cancelamento, no prazo de até 168 horas, da NFC-e emitida em duplicidade e que não acobertou a operação, isto é, a Nota 1. Neste caso, é necessário referenciar a NFC-e que a substituiu (Nota 2) - O cancelamento por substituição pode ser realizado em até 168 horas(7dias), porém em alguns estados a Sefaz alteram esse intervalo.
Exemplo de retorno com sucesso
<nfeResultMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NFeRecepcaoEvento4">
<retEnvEvento versao="1.00" xmlns="http://www.portalfiscal.inf.br/nfe">
<idLote>1</idLote>
<tpAmb>2</tpAmb>
<verAplic>PR-v4_2_5</verAplic>
<cOrgao>41</cOrgao>
<cStat>128</cStat>
<xMotivo>Lote de Evento Processado</xMotivo>
<retEvento versao="1.00">
<infEvento>
<tpAmb>2</tpAmb>
<verAplic>PR-v4_2_5</verAplic>
<cOrgao>41</cOrgao>
<cStat>135</cStat>
<xMotivo>Evento registrado e vinculado a NF-e</xMotivo>
<chNFe>41190308187168000160653990000000151000000151</chNFe>
<tpEvento>110112</tpEvento>
<xEvento>Cancelamento por Substituicao</xEvento>
<nSeqEvento>1</nSeqEvento>
<dhRegEvento>2019-03-27T13:15:33-03:00</dhRegEvento>
<nProt>141190000382704</nProt>
</infEvento>
</retEvento>
</retEnvEvento>
</nfeResultMsg>
Comentários
1 comentário
Boa tarde,
O meu sistema gera o arquivo do XML com a descrição "Cancelamento por Substituicao" sem acentuação, e o sistema do meu contador não esta fazendo a importação do arquivo, pois o sistema dele só importa se o nome Substituição estiver com acentuação! O que voce acha? O erro é do meu sistema? Ou o erro é do sistema do contador na importação do arquivo?
Por favor, entre para comentar.