12.3. Cancelamento e Inutilização de NF-e [15-08-17]
12.3.2. InutilizaNroNF2G [15-08-17]
12.3.1. CancelaNFEvento [15-08-17]
« Anterior
12.4. Consulta NF [15-08-17]
Próximo »

12.3.2. InutilizaNroNF2G [15-08-17]

Inutilização de Numeração de NF-e

Assinatura

string InutilizaNroNF2G(string siglaWS, int tipoAmbiente, string nomeCertificado, string versao, out string msgDados, out string msgRetWS, out int cStat, out string msgResultado, string cUF, string ano, string CNPJ, string modelo, string serie, string nroNFeInicial, string nroNFeFinal, string justificativa, out string nProtocoloInut, out string dProtocoloInut, string proxy, string usuario, string senha, string licenca)

Descrição:

Funcionalidade para Inutilização de numeração de NF-e.

Esta funcionalidade serve para inutilizar um número ou faixa de númeração de NF-e que não foi utilizada.

As causas mais comuns de não utilização de número são a quebra de sequência da numeração em razão da rejeição da NF-e ou perda de notas fiscais eletrônicas por alguma falha do ambiente de recepção ou de comunicação ou até mesmo a falha no uso de números da aplicação de faturamento.

Os parâmetros da Inutilização de Numeração são:

A identificação do WS de acessado será informada no parâmetro siglaWS.

Os emissores localizados em UF usuárias da SEFAZ Virtual devem informar a sigla SVAN (MA, PA e PI) ou a sigla SVRS (AC, AL, AP, DF, ES, PB, RJ, RN, RO, RR, SC, SE e TO), ou informar a sigla da UF (AM, BA, CE, GO, MS, MT, MG, PE, PR, RS e SP) nos casos de UF que tenham aplicação própria. Em caso de emissão em contingência SCAN - Sistema de Contingência do Ambiente Nacional, informar a sigla SCAN.

Condições de Inutilização

  • O número de NF-e não pode ter sido utilizado, a providência correta para uma NF-e autorizada é o cancelamento de NF-e;
  • A inutilização de faixa é limitada a 10.000 números por pedido NT 2013/003, caso a faixa de inutilização seja superior será necessário dividir o pedido em diversos pedidos;
  • Uma faixa de inutilização não pode conter números já inutilizados ou utilizados;
  • a inutilização só pode ser realizada no Web Service da SEFAZ emissora (SVC-RS e SVC-AN não permitem a inutilização).

Prazo para inutilização

Até o 10º dia do mês subsequente da quebra da numeração.

Novidades:

Preenchimento do nomeCertificado

informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL, formas possíveis:

1. uso de certificado digital existente no repositório MY do CSP do usuário corrente (currentuser)

É a forma de mais comum de uso, cabe ressaltar que é a única forma de uso de certificado digital do tipo A3 que a DLL oferece.
O usuário deve passar como parâmetro o campo assunto do certificado no parâmetro NomeCertificado para que a DLL localize um certificado digital com mesmo assunto no repositório MY do currentuser do equipamento.
Esta forma de uso requer a prévia instalação do certificado digital na conta do usuário do Windows (logon) que irá utilizar o certificado digital.

2. uso de certificado digital em arquivo no formato pfx

Permite o de uso de certificado digital em arquivo formato pfx.
O caminho da localização (path) do arquivo pfx deve ser passado para a DLL no formato: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] no parâmetro NomeCertificado, ex.: "ARQUIVO|c:\certificado.pfx|senha".
Esta opção só funciona com certificado digital do tipo A1.

3. uso de certificado digital em string base64

Permite uso o arquivo do certificado digital em formato pfx convertido em uma string base64. O certificado digital em string base64 deve ser passado para a DLL no formato: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado, ex.: "CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha".
Esta opção só funciona com certificado digital do tipo A1. É uma opção de uso que oferece maior versatilidade, pois permite o armazenamento do certificado digital em banco de dados na aplicação. É a forma mais indicada para uso em ASP.NET.

Parâmetros:

nome tipo fluxo descrição
siglaWS string entrada informar a sigla do WS desejado, veja Tabela de siglaWS
tipoAmbiente inteiro entrada informar o código do ambiente desejado: 1- produção ou 2-homologação
NomeCertificado string entrada informar o certificado digital que será utilizado para assinatura:
1. informar o assunto do certificado digital que deve existir no repositório MY do current user, ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS".
2. informar: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] para uso do certificado digital em arquivo pfx, ex.: "ARQUIVO|c:\certificado.pfx|senha".
3. informar: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado para passar uma string contendo um certificado digital em base64, ex.:"CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha".
(novas opções)
versao string entrada informar a versão da mensagem do WS - 2.00, 3.00, 3.10 ou 4.00 [15-08-17]
msgDados string saída retorna a mensagem XML do pedido de inutilização criado pela DLL que foi enviado ao WS.
msgRetWS string saída retorna a mensagem XML de resposta do WS.
cStat inteiro saída retorna o resultado da chamada do WS.
msgResultado string saída retorna a literal do resultado da chamada do WS.
cUF string entrada informar o código da UF (Tabela IBGE) de localização do emissor, a informação da sigla da UF vai resultar em falha de preenchimento da mensagem (Falha de Schema).
ano string entrada informar o ano com dois dígitos, considerar o ano em tenha ocorrida a quebrada da sequência, se o problema ocorreu em dezembro/2009, mesmo que a inutilização seja solicitada em 2010, o ano deve ser 2009.
CNPJ string entrada informar o CNPJ do emissor.
NÃO EXISTE INUTILIZAÇÃO PARA EMISSOR PESSOA FÍSICA (CPF)
modelo string entrada informar o modelo do documento fiscal, informar 55.
serie string entrada informar a série, a informação da serie com zeros não significativos provoca Falha de Schema, assim informe 1 ao invés de 001.
nroNFeInicial string entrada informar o número da NF-e inicial a ser inutilizada, a informação do número com zeros não significativos provoca Falha de Schema, assim informe 1 ao invés de 000000001. No caso de inutilização de um único número, o número inicial e final devem ser iguais.
nroNFeFinal string entrada informar o número da NF-e final a ser inutilizada, a informação do número com zeros não significativos provoca Falha de Schema, assim informe 1 ao invés de 000000001.
justificativa string entrada informar a justificativa de inutilização com pelo menos 15 caracteres
nProtocoloInut string saída retorna o número do protocolo da homologação da inutilização da numeração da NF-e
dProtocoloInut string saída retorna a data e hora da homologação da inutilização da numeração da NF-e pela SEFAZ.
proxy string entrada informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443'
usuario string entrada informar o usuário para autenticação no proxy se necessário
senha string entrada informar a senha de autenticação no proxy se necessário
licenca string entrada informar a chave da licenca de uso ou registro, esta funcionalidade pode ser utilizada sem qualquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento, para maiores detalhes veja as condições de uso

Retorno:

O resultado da chamada do InutilizaNroNF é a mensagem XML composta pelo pedido de inutilização e respectivo protocolo de homologação de inutilização de numeração da NF-e gerada de acordo com o leiaute de distribuição de Inutilização de Numeração de NF-e (procInutNFe):

O parâmetro cStat retorna um código numérico com os seguintes significados:

código Mensagem origem regra
5001 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: o certificado cliente: 1.não é ICP-Brasil; 2.fora do prazo de validade; 3.revogado; 4.certificado cliente não confiável para o Web Service acessado, contatar a SEFAZ) DLL -
5002 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: a cadeia de certificação do Web Service acessado ou do certificado cliente inexistente no repositório de certificados do usuário corrente do Windows) DLL -
5003 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: serviço inexistente, verifique se o nome do serviço da url acessada está correto no arquivo ws2.xml) DLL -
5004 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: método não permitido) DLL -
5005 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: a url não encontrada, verifique se o nome do domínio da url acessada está correto no arquivo ws2.xml) DLL -
5006 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Time-Out, o WS não respondeu a solicitação no tempo estabelecido: [{1:0}]) DLL -
5007 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: mensagem maior que a permitida) DLL -
5008 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Servidor com problemas) DLL -
5009 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Serviço não implementado) DLL -
5010 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Serviço temporariamente indisponível, servidor sem recursos para atender a solicitação) DLL -
5011 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Causa provável da falha na conexão: Rede indisponível) DLL -
5012 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Versão do SOAP não suportada DLL -
5013 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Web Service não consumido, não houve nenhum retorno ou resposta) DLL -
5014 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Web Service não consumido, falha desconhecida) DLL -
5015 Erro: Falha na conexão: Tempo limite de time-out alcançado [TEMPO DE TIME OUT UTILIZADO ms] - [MENSAGEM DE ERRO DO WINDOWS] DLL -
5016 Erro: Falha na conexão: Falha da Biblioteca Criptografica: [MENSAGEM DE ERRO DO WINDOWS] DLL -
5017 Erro: Falha ao tratar o XML de retorno do WS: [MENSAGEM DE ERRO DO WINDOWS] DLL -
5101 Erro: A mensagem de retorno do WS não é um XML válido: [MENSAGEM DE ERRO DO WINDOWS] DLL -
5102 Erro: Tag cStat inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] DLL -
5103 Erro: Tag xMotivo inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] DLL -
5104 Erro: Tag [NOME TAG] inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] DLL -
5105 Erro: O WS não devolveu nenhum resultado DLL -
5201 Erro: O código do tipo de ambiente [CODIGO RECEBIDO PELA DLL] informado diferente de 1 - produção e 2 - homologação DLL -
5202 Erro: A sigla da UF [SIGLA RECEBIDA PELA DLL] informada é inválida DLL -
5203 Erro: Inexiste url para a UF [SIGLA UF] informada no ambiente [AMBIENTE] desejado, verifique se existe atualização do arquivo [NOME ARQUIVO] disponível. DLL -
5204 Erro: Arquivo que contem a URL do WS não localizado em [CAMINHO DA APLICACAO] DLL -
5205 Erro: Ocorreu um erro inesperado no processamento da URL (NOME URL) : [MENSAGEM DE ERRO DO WINDOWS] DLL -
5206 Erro: Ocorreu um erro de validação do XML (NOME XML) : [MENSAGEM DE ERRO DO WINDOWS] DLL -
5403 Erro: Falha ao acessar certificado digital [mensagem de ERRO DO WINDOWS] DLL -
5404 Erro: Nenhum certificado digital selecionado DLL
5405 Erro: Nenhum certificado válido foi encontrado com o nome [NomeCertificado] informado no repositório [MY do CurrentUser] DLL -
5406 Erro: Falha no tratamento do parâmetro nome: [nome informado] DLL -
5407 Erro: Quantidade de parâmetos inválido: [nome informado] DLL -
5408 Erro: Falha na criação do objeto certificate: [mensagem do ERRO DO WINDOWS] DLL -
6101 Erro: O parâmetro versao não foi informado DLL -
6102 Erro: O conteúdo do parâmetro sigla da UF: [CONTEÚDO] é inválido DLL -
6103 Erro: O conteúdo do parâmetro versao informado é inválido: [CONTEUDO] DLL -
6104 Erro: O parâmetro chaveNFe não informado DLL -
6110 Erro: O nome do titular do certificado deve ser informado DLL -
6118 Erro: A mensagem de retorno do WS não é um XML válido [MENSAGEM XML RETORNO] DLL -
6122 Erro: O parâmetro justificativa deve ter se informado DLL -
6123 Erro: O parâmetro tipoAmbiente deve ser informado DLL -
6124 Erro: O parâmetro tipoAmbiente [CONTEUDO] deve ser 1 ou 2 DLL -
6141 Erro: O parâmetro siglaWS deve ser informado DLL -
6125 Erro: O parâmetro ano deve ser informado DLL -
6126 Erro: O parâmetro ano deve ser ter 2 posições[CONTEUDO] DLL -
6127 Erro: O parâmetro CNPJ deve ser informado DLL -
6128 Erro: O parâmetro CNPJ informado:[CONTEUDO] é inválido DLL -
6129 Erro: O parâmetro modelo informado:[CONTEUDO] é diferente de 55 DLL -
6130 Erro: O parâmetro modelo deve ser informado DLL -
6131 Erro: O parâmetro serie deve ser informado DLL -
6132 Erro: O parâmetro serie informado:[CONTEUDO] deve estar na faixa 0-999 DLL -
6133 Erro: O parâmetro nroNFeInicial deve ser informado DLL -
6134 Erro: O parâmetro nroNFeInicial informado:[CONTEUDO] deve estar na faixa 1-999999999 DLL -
6135 Erro: O parâmetro nroNFeFinal deve ser informado DLL -
6136 Erro: O parâmetro nroNFeFinal informado:[CONTEUDO] deve estar na faixa 1-999999999 DLL -
6137 Erro: O parâmetro nroNFeFinal [CONTEUDO] deve ser maior ou igual ao parâmetro nroNFeInicial:[CONTEUDO] DLL -
6138 Erro: A mensagem de inutilização não é XML válido [CONTEUDO] DLL -
6139 Erro: O parâmetro cUF deve ser informado DLL -
6140 Erro: O parâmetro cUF informado:[CONTEUDO}] é inválido DLL -
6141 Erro: O parâmetro siglaWS deve ser informado DLL -
7001 Erro: A licença não foi informada DLL -
7001 Erro: A licença não foi informada DLL -
7002 Erro: A licença informada: [CONTEUDO] tem tamanho:[TAMANHO] diferente de 128 DLL -
7003 Erro: A licença informada: [CONTEUDO] não pertence ao CNPJ:[TAMANHO] DLL -
102 Inutilização de número homologado WS -
108 Serviço Paralisado Momentaneamente (curto prazo) WS B03/K03
109 Serviço Paralisado sem Previsão WS B04/K04
201 Rejeição: O numero máximo de numeração de NF-e a inutilizar ultrapassou o limite WS I04
203 Rejeição: Emissor não habilitado para emissão da NF-e WS I05
213 Rejeição: CNPJ-Base do Emitente difere do CNPJ-Base do Certificado Digital WS F03
214 Rejeição: Tamanho da mensagem excedeu o limite estabelecido WS B01
215 Rejeição: Falha no schema XML WS D01
224 Rejeição: A faixa inicial é maior que a faixa final WS I03
238 Rejeição: Cabeçalho - Versão do arquivo XML superior a Versão vigente WS C05
239 Rejeição: Cabeçalho - Versão do arquivo XML não suportada WS C06
240 Rejeição: Cancelamento/Inutilização - Irregularidade Fiscal do Emitente WS I06
241 Rejeição: Um número da faixa já foi utilizado WS I08
242 Rejeição: Cabeçalho - Falha no Schema XML WS C01
243 Rejeição: XML Mal Formado WS B02
250 Rejeição: UF diverge da UF autorizadora WS I02
252 Rejeição: Ambiente informado diverge do Ambiente de recebimento WS I01
256 Rejeição: Uma NF-e da faixa já está inutilizada na Base de dados da SEFAZ WS I07a
266 Rejeição: Série da NF-e difere da faixa de 0-889 WS I02a
280 Rejeição: Certificado Transmissor inválido WS A01
281 Rejeição: Certificado Transmissor Data Validade WS A02
282 Rejeição: Certificado Transmissor sem CNPJ WS A07
283 Rejeição: Certificado Transmissor - erro Cadeia de Certificação WS A03
284 Rejeição: Certificado Transmissor revogado WS A05
285 Rejeição: Certificado Transmissor difere ICP-Brasil WS A06
286 Rejeição: Certificado Transmissor erro no acesso a LCR WS A04
290 Rejeição: Certificado Assinatura inválido WS E01
291 Rejeição: Certificado Assinatura Data Validade WS E02
292 Rejeição: Certificado Assinatura sem CNPJ WS E03
293 Rejeição: Certificado Assinatura - erro Cadeia de Certificação WS E04
294 Rejeição: Certificado Assinatura revogado WS E06
295 Rejeição: Certificado Assinatura difere ICP-Brasil WS E07
296 Rejeição: Certificado Assinatura erro no acesso a LCR WS E05
297 Rejeição: Assinatura difere do calculado WS F02
298 Rejeição: Assinatura difere do padrão do Projeto WS F01
299 Rejeição: XML da área de cabeçalho com codificação diferente de UTF-8 WS C01a
402 Rejeição: XML da área de dados com codificação diferente de UTF-8 WS D03
404 Rejeição: Uso de prefixo de namespace não permitido WS D02
409 Rejeição: Campo cUF inexistente no elemento nfeCabecMsg do SOAP Header WS C02
410 Rejeição: UF informada no campo cUF não é atendida pelo Web Service WS C03
411 Rejeição: Campo versaoDados inexistente no elemento nfeCabecMsg do SOAP Header WS C04
450 Rejeição: Modelo da NF-e diferente de 55 WS -
453 Rejeição: Ano de inutilização não pode ser superior ao Ano atual WS I02b
454 Rejeição: Ano de inutilização não pode ser inferior a 2006 WS I02c
502 Rejeição: Campo Id inválido: conteúdo informnado difere da concatenação dos campos correspondentes WS I04a
516 Rejeição: Falha no schema XML - inexiste a tag raiz esperada para a mensagem WS D01a
517 Rejeição: Falha no schema XML - inexiste atributo versao na tag raiz da mensagem WS D01b
545 Rejeição: Falha no schema XML - versão informada na versaoDados do SOAPHeader diverge da versão da mensagem WS D01c
554 Rejeição: Série difere da faixa 900-999 WS I02a1
563 Rejeição: Já existe pedido de Inutilização com a mesma faixa de inutilização WS I07
587 Rejeição: Usar somente o namespace padrão da NF-e WS D01d
588 Rejeição: Não é permitida a presença de caracteres de edição no início/fim da mensagem ou entre as tags da mensagem WS D01e
775 Rejeição: Modelo da NFC-e diferente de 65 WS -
999 Rejeição: Erro não catalogado (mensagem) WS -

Tratamento de Erro:

Caso ocorra algum erro na chamada do WS (5001-6145) ou a requisição não seja atendida pelo WS (203-999), será gravado um log na pasta log, com as seguintes informações que devem ser úteis para identificação do problema:

Os erros com código > 5000 são erros tratados pela DLL e ocorrem nas seguintes situações:

Histórico de atualização:

Mensagens XML - versão 2.00:

Pedido de Inutilizacao de numeração de NF-e

<?xml version="1.0" encoding="UTF-8"?>
<inutNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">
  <infInut Id="ID35101014278500019055001000000001000000001">
    <tpAmb>2</tpAmb>
    <xServ>INUTILIZAR</xServ>
    <cUF>35</cUF>
    <ano>10</ano>
    <CNPJ>10142785000190</CNPJ>
    <mod>55</mod>
    <serie>1</serie>
    <nNFIni>1</nNFIni>
    <nNFFin>1</nNFFin>
    <xJust>Teste de inutilização</xJust>
  </infInut>
  <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    <SignedInfo>
      <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
      <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
      <Reference URI="#ID35101014278500019055001000000001000000001">
        <Transforms>
          <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
          <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
        </Transforms>
        <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <DigestValue>IFClIYSO9YWHeBp7y3uMtZsqzLU=</DigestValue>
      </Reference>
    </SignedInfo>
    <SignatureValue>ei4edsgGVt82STLr+Ng9(...)PY2txvmnF0Csfe/yGuzho+W4=</SignatureValue>
    <KeyInfo>
      <X509Data>
        <X509Certificate>MIIGWDCCBUCgAwIBAgII(...)rU/stCPdxdvMqNtAr24=</X509Certificate>
      </X509Data>
    </KeyInfo>
  </Signature>
</inutNFe>

Resposta do WS de rejeição - cStat = 241 - Rejeição: Um número da faixa já foi utilizado

<retInutNFe versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">
  <infInut>
    <tpAmb>2</tpAmb>
    <verAplic>SP_NFE_PL_006q</verAplic>
    <cStat>241</cStat>
    <xMotivo>Rejeição: Um número da faixa já foi utilizado</xMotivo>
    <cUF>35</cUF>
  </infInut>
</retInutNFe>

Pedido de Inutilizacao de numeração de NF-e com falha de schema XML

<?xml version="1.0" encoding="UTF-8"?>
<inutNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">
  <infInut Id="ID35101014278500019055001000000001000000001">
    <tpAmb>2</tpAmb>
    <xServ>INUTILIZAR</xServ>
    <cUF>35</cUF>
    <ano>10</ano>
    <CNPJ>10142785000190</CNPJ>
    <mod>55</mod>
    <serie>1</serie>
    <nNFIni>1</nNFIni>
    <nNFFin>1</nNFFin>
    <!-- espacos em branco no final causa falha de validação de schema XML -->
    <xJust>Teste de inutilização          </xJust>
  </infInut>
  <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    <SignedInfo>
      <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
      <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
      <Reference URI="#ID35101014278500019055001000000001000000001">
        <Transforms>
          <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
          <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
        </Transforms>
        <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <DigestValue>IFClIYSO9YWHeBp7y3uMtZsqzLU=</DigestValue>
      </Reference>
    </SignedInfo>
    <SignatureValue>ei4edsgGVt82STLr+Ng9(...)PY2txvmnF0Csfe/yGuzho+W4=</SignatureValue>
    <KeyInfo>
      <X509Data>
        <X509Certificate>MIIGWDCCBUCgAwIBAgII(...)rU/stCPdxdvMqNtAr24=</X509Certificate>
      </X509Data>
    </KeyInfo>
  </Signature>
</inutNFe>

Resposta do WS de rejeição - cStat = 215 - Rejeição: Falha no schema XML

<retInutNFe versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">
  <infInut>
    <tpAmb>2</tpAmb>
    <verAplic>SP_NFE_PL_006q</verAplic>
    <cStat>215</cStat>
    <xMotivo>Rejeição: Falha no schema XML</xMotivo>
    <cUF>35</cUF>
  </infInut>
</retInutNFe>

Pedido de Inutilizacao de numeração de NF-e

<?xml version="1.0" encoding="UTF-8"?>
<inutNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">
  <infInut Id="ID35101014278500019055002000000001000000001">
    <tpAmb>2</tpAmb>
    <xServ>INUTILIZAR</xServ>
    <cUF>35</cUF>
    <ano>10</ano>
    <CNPJ>10142785000190</CNPJ>
    <mod>55</mod>
    <serie>2</serie>
    <nNFIni>1</nNFIni>
    <nNFFin>1</nNFFin>
    <xJust>Teste de inutilização</xJust>
  </infInut>
  <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    <SignedInfo>
      <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
      <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
      <Reference URI="#ID35101014278500019055001000000001000000001">
        <Transforms>
          <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
          <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
        </Transforms>
        <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <DigestValue>IFClIYSO9YWHeBp7y3uMtZsqzLU=</DigestValue>
      </Reference>
    </SignedInfo>
    <SignatureValue>ei4edsgGVt82STLr+Ng9(...)PY2txvmnF0Csfe/yGuzho+W4=</SignatureValue>
    <KeyInfo>
      <X509Data>
        <X509Certificate>MIIGWDCCBUCgAwIBAgII(...)rU/stCPdxdvMqNtAr24=</X509Certificate>
      </X509Data>
    </KeyInfo>
  </Signature>
</inutNFe>

Resposta do WS de homologação de pedido de inutilização - cStat = 102 - Inutilização de número homologado

<retInutNFe versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">
  <infInut>
    <tpAmb>2</tpAmb>
    <verAplic>SP_NFE_PL_006q</verAplic>
    <cStat>102</cStat>
    <xMotivo>Inutilização de número homologado</xMotivo>
    <cUF>35</cUF>
    <ano>10</ano>
    <CNPJ>10142785000190</CNPJ>
    <mod>55</mod>
    <serie>2</serie>
    <nNFIni>1</nNFIni>
    <nNFFin>1</nNFFin>
    <dhRecbto>2013-12-01T15:01:03</dhRecbto>
    <nProt>135130006498891</nProt>
  </infInut>

procInutNFe - estrutura de pedido de inutilização de numeração da NF-e e respectivo protocolo de homologação

<?xml version="1.0" encoding="UTF-8"?>
<procInutNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">
  <inutNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">
    <infInut Id="ID35101014278500019055002000000001000000001">
      <tpAmb>2</tpAmb>
      <xServ>INUTILIZAR</xServ>
      <cUF>35</cUF>
      <ano>10</ano>
      <CNPJ>10142785000190</CNPJ>
      <mod>55</mod>
      <serie>2</serie>
      <nNFIni>1</nNFIni>
      <nNFFin>1</nNFFin>
      <xJust>Teste de inutilização</xJust>
    </infInut>
    <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
      <SignedInfo>
        <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
        <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
        <Reference URI="#ID35101014278500019055002000000001000000001">
          <Transforms>
            <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
            <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
          </Transforms>
          <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
          <DigestValue>ATn50aR7qhJNJfT4r5ACzXsSlDE=</DigestValue>
        </Reference>
      </SignedInfo>
      <SignatureValue>dJWpZABfXXbnFnIX3t(...)QhqVA7x+HqRllVg=</SignatureValue>
      <KeyInfo>
        <X509Data>
          <X509Certificate>MIIGWDCCBUCgA(...)wIBAgdvMqNtAr24=</X509Certificate>
        </X509Data>
      </KeyInfo>
    </Signature>
  </inutNFe>
  <retInutNFe versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">
    <infInut>
      <tpAmb>2</tpAmb>
      <verAplic>SP_NFE_PL_006q</verAplic>
      <cStat>102</cStat>
      <xMotivo>Inutilização de número homologado</xMotivo>
      <cUF>35</cUF>
      <ano>10</ano>
      <CNPJ>10142785000190</CNPJ>
      <mod>55</mod>
      <serie>2</serie>
      <nNFIni>1</nNFIni>
      <nNFFin>1</nNFFin>
      <dhRecbto>2013-12-01T15:01:03</dhRecbto>
      <nProt>135130006498891</nProt>
    </infInut>
  </retInutNFe>
</procInutNFe>

Exemplos de uso:

Visual Basic 6.0

 
' declaração das variáveis que serão utilizadas na passagem de parâmetros da DLL
'
Dim msgDados As String     ' retorna a mensagem XML do pedido de inutilização criado pela DLL que
                           ' foi enviado ao WS

Dim msgRetWS As String     ' retorna a mensagem XML de resposta do WS

Dim msgResultado As String ' retorna a literal do resultado da chamada do WS

Dim siglaWS As String      ' informar a sigla do WS desejada,
                           ' informar SVAN - SEFAZ Virtual do Ambiente Nacional (MA, PA e PI) ou
                           ' SVRS - SEFAZ Virtual do Rio Grande do Sul (AC, AL, AP, DF, PB, RJ, RO, RR,
                           ' SC, SE e TO), caso a UF seja usuário da SEFAZ Virtual, em caso contrário
                           ' informar a sigla da UF (AM, BA, CE, GO, MS, MT, MG, PE, PR, RS e SP).
                           ' Em caso de contingência SCAN, informar a sigla SCAN

Dim nomeCertificado As String ' informar o Nome do titular (campo Assunto) do certificado digital
                           ' a ser utilizado na conexão SSL. Ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS"
'
' importante: indicar aqui assunto do certificado digital válido, este da associacao trata-se apenas de um exemplo para testes
'
' EXEMPLO PARA USO DE ARQUIVO PFX
'
'nomeCertificado = "ARQUIVO|c:\certificado.pfx|associacao"
'
'  onde:
'  ARQUIVO            --> indica opção de uso de arquivo PFX
'  c:\certificado.pfx --> nome e caminho do arquivo PFX
'  associacao         --> senha do arquivo PFX
'
'
' EXEMPLO PARA USO DE ARQUIVO PFX EM STRING BASE64
'
'nomeCertificado = "CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha"
'
'  onde:
'  CERTIFICADO        --> indica opção de uso de arquivo PFX em base64
'  MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy --> arquivo PFX em base64
'  senha              --> senha do arquivo PFX
'
Dim tipoAmbiente As Long     ' informar o código do ambiente desejado: 1- produção ou 2-homologação

Dim versao As String         ' informar a versão da mensagem do WS - 1.07 (manual de integração versão
                             ' 2.04 ou 3.00) ou 2.00 (manual de integração versão 4.0x)

Dim cUF As String            ' informar o código da UF (Tabela IBGE) de localização do emissor,
                             ' a omissão da informação da sigla da UF vai resultar em falha de
                             ' preenchimento da mensagem (Falha de Schema)
'
'
'
Dim nroNFeInicial As String  ' informar o número da NF-e inicial a ser inutilizada, a informação do
                             ' número com zeros não significativos provoca Falha de Schema,
                             ' assim informe 1 ao invés de 000000001. No caso de inutilização de
                             ' um único número, o número inicial e final devem ser iguais

Dim nroNFeFinal As String    ' informar o número da NF-e final a ser inutilizada, a informação do
                             ' número com zeros não significativos provoca Falha de Schema,
                             ' assim informe 1 ao invés de 000000001

Dim justificativa As String  ' informar a justificativa de inutilização com pelo menos 15 caracteres

Dim Ano As String            ' informar o ano, considerar o ano em tenha ocorrida a quebrada da
                             ' sequência, se o problema ocorreu em dezembro/2009, mesmo que a inutilização
                             ' seja solicitada em 2010, o ano deve ser 2009, importante: informar
                             ' o ano no formato aa, ex. 2010 = 10

Dim modelo As String         ' informar o modelo do documento fiscal, informar 55

Dim CNPJ As String           ' informar o CNPJ do emissor

Dim Serie As String          ' informar a série, a informação da serie com zeros não significativos provoca
                             ' Falha de Schema, assim informe 1 ao invés de 001
'
'
'
Dim cStat As Long            ' retorna o resultado da chamada do WS

Dim nProtocoloInut As String ' retorna o número do protocolo da homologação da inutilização da numeração da NF-e

Dim dProtocoloInut As String ' retorna a data e hora da homologação da inutilização da numeração da NF-e pela SEFAZ

Dim procInutNFe As String    ' retorna protocolo de homologação de inutilização de numeração da NF-e gerada
                             ' de acordo com o leiaute de distribuição de Inutilização de Numeração de NF-e
'
' As variáveis do proxy devem ser informadas se necessário
'
' proxy deve ser informado com o endereço da url : porta, ex: 192.168.15.1:443
'
Dim proxy As String          ' informar 'http://proxyserver:port' quando existir uso de proxy no ambiente,
                             ' verificar com o cliente qual é o endereço do servidor proxy e a porta https,
                             ' a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443'

Dim usuario As String        ' informar o usuário para autenticação no proxy se necessário

Dim senha As String          ' informar a senha de autenticação no proxy se necessário
'
' chave da licença de uso, vinculado ao CNPJ do emissor
'
Dim licenca As String        ' informar a chave da licença de uso da DLL, informação obrigatória no ambiente
                             ' de produção
'
' IMPORTANTE: todas as variáveis utilizadas como parâmetro da DLL devem ser inicialiazadas
'
'
proxy = ""
usuario = ""
senha = ""
msgDados = ""                ' mensagem XML do pedido de cancelamento enviado ao WS
msgRetWS = ""                ' resposta do WS
msgResultado = ""            ' literal da mensagem de resultado da chamada
'
'
'
licenca = ""                 ' chave da licença de uso, necessário para uso da DLL em ambiente de produção
'
' prepara variáveis
'
nomeCertificado = "CN=M R M KATO ASAKURA EPP:10142785000190, OU=AR SERASA, OU=RFB e-CNPJ A3, OU=Secretaria da Receita Federal do Brasil - RFB, O=ICP-Brasil, L=OURINHOS, S=SP, C=BR"
 
' importante: indicar aqui assunto do certificado digital válido, este da associacao trata-se apenas de um exemplo para testes

siglaWS = "SVRS"             ' sigla do WS - o RJ é usuária da SEFAZ Virtual do RS - SVRS

cUF = "33"                   ' código da UF (Tabela IBGE) de localização do emissor, a omissão da informação
                             ' da sigla da UF vai resultar em falha de preenchimento da mensagem (Falha de Schema)

tipoAmbiente = 2             ' ambiente : 1- produção e 2-homologação

Ano = "10"                   ' informar o ano, considerar o ano em tenha ocorrida a quebrada da sequência,
                             ' se o problema ocorreu em dezembro/2009, mesmo que a inutilização seja solicitada em 2010,
                             ' o ano deve ser 2009, importante: informar o ano no formato aa, ex. 2010 = 10

CNPJ = "99999090910270"      ' informar o CNPJ do emissor

modelo = "55"                ' informar o modelo do documento fiscal, informar 55 ou 65

Serie = "1"                  ' informar a série, a informação da serie com zeros não significativos provoca
                             ' Falha de Schema, assim informe 1 ao invés de 001

nroNFeInicial = "1"          ' informar o número da NF-e inicial a ser inutilizada, a informação do número
                             ' com zeros não significativos provoca Falha de Schema, assim informe 1 ao invés de 000000001.
                             ' No caso de inutilização de um único número, o número inicial e final devem ser iguais

nroNFeFinal = "1"            ' informar o número da NF-e final a ser inutilizada, a informação do número com zeros não
                             ' significativos provoca Falha de Schema, assim informe 1 ao invés de 000000001

licenca = ""                 ' informar a chave da licença de uso da DLL, informação obrigatória no ambiente de produção

versao = "2.00"              ' versão da WS de Inutilizacao

justificativa = "Quebra de sequencia da numeracao"
                             ' informar a justificativa de inutilização com pelo menos 15 caracteres
'
' Retorno da DLL
'
cStat = 0                    ' código de retorno da DLL

nProtocoloInut = ""          ' retorna o número do protocolo da homologação da inutilização da numeração da NF-e

dProtocoloInut = ""          ' retorna a data e hora da homologação da inutilização da numeração da NF-e pela SEFAZ

procInutNFe = ""             ' retorna protocolo de homologação de inutilização de numeração da NF-e gerada de
                             ' acordo com o leiaute de distribuição de Inutilização de Numeração de NF-e
'
Dim objNFeUtil As Object
 
'
' instancia a DLL (late binding)
'

'******************************IMPORTANTE************************************
'*                                                                          *
'*  1. a DLL deve estar registrada no Windows, a forma mais simples de      *
'*     fazer o registro é utilizar o instalador da DLL:                     *
'*                                                                          *
'*     https://www.flexdocs.net/guiaNFe/instala.html                      *
'*                                                                          *
'*  2. a DLL NFe_Util_2G.dll e Reports.dll e a pasta NFe_Util devem existir *
'*     na pasta da aplicação.                                               *
'*                                                                          *
'*  3. para execução em modo debug, a DLL NFe_Util_2G.dll e Reports.dll e a *
'*     pasta NFe_Util devem existir na pasta do VB98                        *
'*     C:\Program Files (x86)\Microsoft Visual Studio\VB98                  *
'*                                                                          *
'*     Ex. VB98 : C:\Program Files (x86)\Microsoft Visual Studio\VB98       *
'*                                                                          *
'*  4. consulte o guia de uso da DLL para ter outras informações:           *
'*                                                                          *
'*     https://www.flexdocs.net/guiaNFe/WS.consultaNF2G.html              *
'*                                                                          *
'****************************************************************************

 
Set objNFeUtil = CreateObject("NFe_Util_2G.util")
'
'
Screen.MousePointer = vbHourglass ' ampulheta
'
procInutNFe = objNFeUtil.InutilizaNroNF2G(siglaWS, _
                                          tipoAmbiente, _
                                          nomeCertificado, _
                                          versao, _
                                          msgDados, _
                                          msgRetWS, _
                                          cStat, _
                                          msgResultado, _
                                          cUF, _
                                          Ano, _
                                          CNPJ, _
                                          modelo, _
                                          Serie, _
                                          nroNFeInicial, _
                                          nroNFeFinal, _
                                          justificativa, _
                                          nProtocoloInut, _
                                          dProtocoloInut, _
                                          proxy, usuario, senha, licenca)
 
'
'
Screen.MousePointer = vbDefault ' normal
'
' analisar o retorno do WS, se cStat = 102 ==> Inutilização de número homologado
'
'
' mostra mensagem XML enviado
'
MsgBox msgDados, vbInformation, "Mensagem XML do Pedido de Inutilização de numeração de NF-e"
'
' mostra mensagem XML da mensagem de retorno do WS
'
MsgBox msgResultado + Chr(13) + Chr(13) + msgRetWS, vbInformation, "Resultado da chamada do WS"

xBase(Visual FoxPro)

 
CLEAR
 
&&--------------------------------------------------------------------------------------
&& declaração das variáveis que serão utilizadas na passagem de parâmetros da DLL
&&--------------------------------------------------------------------------------------
Local msgDados As String   && retorna a mensagem XML do pedido de inutilização criado pela DLL que
                           && foi enviado ao WS
 
Local msgRetWS As String   && retorna a mensagem XML de resposta do WS
 
Local msgResultado As String && retorna a literal do resultado da chamada do WS
 
Local siglaWS As String    && informar a sigla do WS desejada,
                           && informar SVAN - SEFAZ Virtual do Ambiente Nacional (MA, PA e PI) ou
                           && SVRS - SEFAZ Virtual do Rio Grande do Sul (AC, AL, AP, DF, PB, RJ, RO, RR,
                           && SC, SE e TO), caso a UF seja usuário da SEFAZ Virtual, em caso contrário
                           && informar a sigla da UF (AM, BA, CE, GO, MS, MT, MG, PE, PR, RS e SP).
                           && Em caso de contingência SCAN, informar a sigla SCAN
 
Local nomeCertificado As String && informar o Nome do titular (campo Assunto) do certificado digital
                           && a ser utilizado na conexão SSL. Ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS"
&&
&& importante: indicar aqui assunto do certificado digital válido, este da associacao trata-se apenas de um exemplo para testes
&&
&& EXEMPLO PARA USO DE ARQUIVO PFX
&&
&&nomeCertificado = "ARQUIVO|c:\certificado.pfx|associacao"
&&
&&  onde:
&&  ARQUIVO            --> indica opção de uso de arquivo PFX
&&  c:\certificado.pfx --> nome e caminho do arquivo PFX
&&  associacao         --> senha do arquivo PFX
&&
&&
&& EXEMPLO PARA USO DE ARQUIVO PFX EM STRING BASE64
&&
&&nomeCertificado = "CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha"
&&
&&  onde:
&&  CERTIFICADO        --> indica opção de uso de arquivo PFX em base64
&&  MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy --> arquivo PFX em base64
&&  senha              --> senha do arquivo PFX
&&
Local tipoAmbiente As integer && informar o código do ambiente desejado: 1- produção ou 2-homologação
 
Local versao As String       && informar a versão da mensagem do WS - 1.07 (manual de integração versão
                             && 2.04 ou 3.00) ou 2.00 (manual de integração versão 4.0x)
 
Local cUF As String          && informar o código da UF (Tabela IBGE) de localização do emissor,
                             && a omissão da informação da sigla da UF vai resultar em falha de
                             && preenchimento da mensagem (Falha de Schema)
&&
&&
&&
Local nroNFeInicial As String  && informar o número da NF-e inicial a ser inutilizada, a informação do
                               && número com zeros não significativos provoca Falha de Schema,
                               && assim informe 1 ao invés de 000000001. No caso de inutilização de
                               && um único número, o número inicial e final devem ser iguais
 
Local nroNFeFinal As String    && informar o número da NF-e final a ser inutilizada, a informação do
                               && número com zeros não significativos provoca Falha de Schema,
                               && assim informe 1 ao invés de 000000001
 
Local justificativa As String  && informar a justificativa de inutilização com pelo menos 15 caracteres
 
Local Ano As String            && informar o ano, considerar o ano em tenha ocorrida a quebrada da
                               && sequência, se o problema ocorreu em dezembro/2009, mesmo que a inutilização
                               && seja solicitada em 2010, o ano deve ser 2009, importante: informar
                               && o ano no formato aa, ex. 2010 = 10
 
Local modelo As String         && informar o modelo do documento fiscal, informar 55
 
Local CNPJ As String           && informar o CNPJ do emissor
 
Local Serie As String          && informar a série, a informação da serie com zeros não significativos provoca
                               && Falha de Schema, assim informe 1 ao invés de 001
&&
&&
&&
Local cStat As Long            && retorna o resultado da chamada do WS
 
Local nProtocoloInut As String && retorna o número do protocolo da homologação da inutilização da numeração da NF-e
 
Local dProtocoloInut As String && retorna a data e hora da homologação da inutilização da numeração da NF-e pela SEFAZ
 
Local procInutNFe As String    && retorna protocolo de homologação de inutilização de numeração da NF-e gerada
                               && de acordo com o leiaute de distribuição de Inutilização de Numeração de NF-e
&&
&& As variáveis do proxy devem ser informadas se necessário
&&
&& proxy deve ser informado com o endereço da url : porta, ex: 192.168.15.1:443
&&
Local proxy As String          && informar &&http://proxyserver:port&& quando existir uso de proxy no ambiente,
                               && verificar com o cliente qual é o endereço do servidor proxy e a porta https,
                               && a porta padrão do https é 443, assim teríamos algo do tipo &&http://192.168.15.1:443&&
 
Local usuario As String        && informar o usuário para autenticação no proxy se necessário
 
Local senha As String          && informar a senha de autenticação no proxy se necessário
&&
&& chave da licença de uso, vinculado ao CNPJ do emissor
&&
Local licenca As String        && informar a chave da licença de uso da DLL, informação obrigatória no ambiente
                               && de produção
&&
&& IMPORTANTE: todas as variáveis utilizadas como parâmetro da DLL devem ser inicialiazadas
&&
&&
proxy = ""
usuario = ""
senha = ""
msgDados = ""                && mensagem XML do pedido de cancelamento enviado ao WS
msgRetWS = ""                && resposta do WS
msgResultado =""             && literal da resposta da DLL
&&
&&
&&
licenca = ""                 && chave da licença de uso, necessário para uso da DLL em ambiente de produção
&&
&& prepara variáveis
&&
nomeCertificado = "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS"
&& importante: indicar aqui assunto do certificado digital válido, este da associacao trata-se apenas de um exemplo para testes
 
siglaWS = "SVRS"             && sigla do WS - o RJ é usuária da SEFAZ Virtual do RS - SVRS
 
cUF = "33"                   && código da UF (Tabela IBGE) de localização do emissor, a omissão da informação
                             && da sigla da UF vai resultar em falha de preenchimento da mensagem (Falha de Schema)
 
tipoAmbiente = 2             && ambiente : 1- produção e 2-homologação
 
Ano = "10"                   && informar o ano, considerar o ano em tenha ocorrida a quebrada da sequência,
                             && se o problema ocorreu em dezembro/2009, mesmo que a inutilização seja solicitada em 2010,
                             && o ano deve ser 2009, importante: informar o ano no formato aa, ex. 2010 = 10
 
CNPJ = "99999090910270"      && informar o CNPJ do emissor
 
modelo = "55"                && informar o modelo do documento fiscal, informar 55 ou 65
 
Serie = "1"                  && informar a série, a informação da serie com zeros não significativos provoca
                             && Falha de Schema, assim informe 1 ao invés de 001
 
nroNFeInicial = "1"          && informar o número da NF-e inicial a ser inutilizada, a informação do número
                             && com zeros não significativos provoca Falha de Schema, assim informe 1 ao invés de 000000001.
                             && No caso de inutilização de um único número, o número inicial e final devem ser iguais
 
nroNFeFinal = "1"            && informar o número da NF-e final a ser inutilizada, a informação do número com zeros não
                             && significativos provoca Falha de Schema, assim informe 1 ao invés de 000000001
 
licenca = ""                 && informar a chave da licença de uso da DLL, informação obrigatória no ambiente de produção
 
versao = "2.00"              && versão da WS de Inutilizacao
 
justificativa = "Quebra de sequencia da numeracao" 
                             && informar a justificativa de inutilização com pelo menos 15 caracteres
&&
&& Retorno da DLL
&&
cStat = 0                    && código de retorno da DLL
 
nProtocoloInut = ""          && retorna o número do protocolo da homologação da inutilização da numeração da NF-e
 
dProtocoloInut = ""          && retorna a data e hora da homologação da inutilização da numeração da NF-e pela SEFAZ
 
procInutNFe = ""             && retorna protocolo de homologação de inutilização de numeração da NF-e gerada de
                             && acordo com o leiaute de distribuição de Inutilização de Numeração de NF-e
&&&--------------------------------------------------------------------------------------
&&  instancia classe
&&--------------------------------------------------------------------------------------
Local  objNFeUtil As Object
objNFeUtil = CREATEOBJECTEX("NFe_Util_2G.Util","","")
 
&&******************************IMPORTANTE************************************
&&*                                                                          *
&&*  1. a DLL deve estar registrada no Windows, a forma mais simples de      *
&&*     fazer o registro é utilizar o instalador da DLL:                     *
&&*                                                                          *
&&*     https://www.flexdocs.net/guiaNFe/instala.html                      *
&&*                                                                          *
&&*  2. a DLL NFe_Util_2G.dll e Reports.dll e a pasta NFe_Util devem existir *
&&*     na pasta do VFP ou do runtime do VFP                                 *
&&*                                                                          *
&&*  3. consulte o guia de uso da DLL para ter outras informações:           *
&&*                                                                          *
&&*     https://www.flexdocs.net/guiaNFe/WS.canc.inutilizaNro2G.html       *
&&*                                                                          *
&&****************************************************************************
 
&&--------------------------------------------------------------------------------------
&&  chama funcionalidade
&&--------------------------------------------------------------------------------------
&&
procInutNFe = objNFeUtil.InutilizaNroNF2G(siglaWS, tipoAmbiente, nomeCertificado, versao, @msgDados, @msgRetWS, @cStat, @msgResultado, cUF, Ano, CNPJ, modelo, Serie, nroNFeInicial, nroNFeFinal, justificativa, @nProtocoloInut, @dProtocoloInut, proxy, usuario, senha, licenca)
&&
&& analisar o retorno do WS, se cStat = 102 ==> Inutilização de número homologado
&&
&&
&& mostra mensagem XML enviado
&&
? msgDados
&&
&& mostra mensagem XML da mensagem de retorno do WS
&&
? msgResultado
? msgRetWS
? procInutNFe
&&
&& libera classe
&&
objNFeUtil = null

c#

 
//
// declaração e inicilização de parâmetros da chamada
//
string msgDados = "";     // mensagem XML enviada ao WS
string msgRetWS = "";     // mensagem XML de resposta do WS
string msgResultado = ""; // literal do resultado da chamada do WS
string nomeCertificado = "CN=M R M KATO ASAKURA EPP:10142785000190, OU=AR SERASA, OU=RFB e-CNPJ A3, OU=Secretaria da Receita Federal do Brasil - RFB, O=ICP-Brasil, L=OURINHOS, S=SP, C=BR";
string siglaWS = "SP";    // sigla do WS: UF, SVRS, SVC-RS, SVC-AN, SCAN, etc.
string versao = "3.00";   // 2.00, 2.01, 3.00 ou 3.10
int tipoAmbiente = 2;     // 1 - produção / 2 - homologação
int cStat = 0;            // código retorno da chamada do WS
 
string CNPJ = "00000000000191";     // CNPJ do emissor
string cUF = "35";                  // código da UF de localização do emissor
string ano = "13";                  // ano da inutilização;
string modelo = "55";               // código do modelo do documento (55-NF-e/65-NFC-e)
string serie = "1";                 // serie do documento fiscal
string nroInicial = "1";            // número inicial da faixa de inutilização
string nroFinal = "1";              // número final da faixa de inutilização
string justificativa = "Quebra de sequencia de numeracao";  // justificativa da inutilizacao
 
string nProtocoloInut = "";         // retorna protocolo de homologação de inutilização
string dProtocoloInut = "";         // retorna data de homologação de inutilização
string procInutNFe = "";            // retorna protocolo de homologação de inutilização de numeração da NF-e gerada de acordo com o leiaute de distribuição de Inutilização de Numeração de NF-e
 
 
//  informar proxy, usuário e senha caso exista proxy na rede
 
string proxy = "";
string usuario = "";
string senha = "";
 
// informar licenca de uso para ambiente de produção
 
string licenca = "";
 
//******************************IMPORTANTE************************************
//*                                                                          *
//*  1. não existe necessidade de fazer o registro da DLL no Windows, mas é  *
//*     necessário fazer add reference da DLL no solution explorer           *
//*                                                                          *
//*  2. a DLL NFe_Util_2G.dll e Reports.dll e a pasta NFe_Util devem existir *
//*     na pasta da aplicação.                                               *
//*                                                                          *
//*  3. consulte o guia de uso da DLL para ter outras informações:           *
//*                                                                          *
//*     https://www.flexdocs.net/guiaNFe/WS.canc.inutilizaNro2G.html       *
//*                                                                          *
//****************************************************************************
 
NFe_Util_2G.Util NFe_Util = new NFe_Util_2G.Util();
 
// chama WS de consulta Status da NF-e
 
procInutNFe = NFe_Util.InutilizaNroNF2G(siglaWS,
                                  tipoAmbiente,
                                  nomeCertificado,
                                  versao,
                                  out msgDados,
                                  out msgRetWS,
                                  out cStat,
                                  out msgResultado,
                                  cUF,
                                  ano,
                                  CNPJ,
                                  modelo,
                                  serie,
                                  nroInicial,
                                  nroFinal,
                                  justificativa,
                                  out nProtocoloInut,
                                  out dProtocoloInut,
                                  proxy,
                                  usuario,
                                  senha,
                                  licenca);
 
// mostra retorno do WS
 
MessageBox.Show(msgResultado + "\r\n\r\n" + msgRetWS);
12.3.2. InutilizaNroNF2G [15-08-17]
12.3. Cancelamento e Inutilização de NF-e [15-08-17]
« Anterior
12.3.1. CancelaNFEvento [15-08-17]
Próximo »
12.4. Consulta NF [15-08-17]