- 12.3. Cancelamento e Inutilização de NF-e
12.3.2. InutilizaNroNF2G - 12.3.1. CancelaNF2G
« Anterior - 12.4. Consulta NF
Próximo »
12.3.2. InutilizaNroNF2G
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:
- ano, ano de inutilização;
- CNPJ do emissor;
- modelo, informar 55;
- série, informar a série sem os zeros significativos, o zero (0) representa série única;
- código da UF do emissor, é muito comum os casos de falha de schema XML causados pela informação da sigla da UF neste parâmetro;
- número inicial e final da faixa, sem os zeros significativos; informar o mesma valor para inutilizar um único número;
- justificativa de inutilização com pelo menos 15 caracteres.
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 (ES, MA, PA, PI e RN) ou a sigla SVRS (AC, AL, AP, DF, PB, RJ, 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 2.000 números por pedido, 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.
Prazo para inutilização
Até o 10º dia do mês subsequente da quebra da numeração.
Novidades:
- multiversão - possibilidade de consumir WS da versão 1.07 do leiaute (versões 2.04 e 3.00 do Manual de Integração) que utiliza área de cabeçalho e os WS da versão 2.00 (Manual de Integração versão 4.0x) que utilizam o SOAPHeader. A escolha do WS é realizada pelo parâmetro versao;
- suporte SCAN, SVAN e SVRS - possibilidade de indicar o WS desejado, não sendo mais necessário a alteração manual da url no arquivo ws.xml;
- padronização dos códigos de erro - os códigos de erro foram renumerados e as mensagens padronizadas;
- geração do procInutNFe - estrutura de armazenamento do pedido de inutilização de numeração de NF-e;
- retorno do cStat e xMotivo - o cStat da resultado da chamada e o xMotivo estão sendo devolvidos nos parâmetros resultado e msgResultado, vide códigos de retornos;
- retorno do número e data do Protocolo (nProtocolo e dProtocolo) como parâmetros para facilitar a vida do desenvolvedor;
- gravação do log - gravação do log da chamada da DLL quando o resultado da chamada for diferente de 102, 108 e 109. Se o resultado for maior que 999, indica que o WS nem chegou a ser consumido, se o resultado estiver compreendido na faixa: 214 e 999 , o WS foi consumido, mas a solicitação foi rejeitada pelo WS.
Preenchimento da siglaWS
- a sigla SVAN, caso a UF seja usuária da SEFAZ Virtual do Ambiente Nacional (ES, MA, PA, PI e RN);
- a sigla SVRS, caso a UF seja usuária da SEFAZ Virtual do Rio Grande do Sul (AC, AL, AP, DF, PB, RJ, RO, RR, SC, SE e TO);
- a sigla da UF, caso a UF tenha aplicação própria (AM, BA, CE, GO, MS, MT, MG, PE, PR, RS e SP);
- a sigla SCAN, na emissão em contingência SCAN - Sistema de Contingência do Ambiente Nacional.
Preenchimento do nomeCertificado
informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL, 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 desejada, informar SVAN - SEFAZ Virtual do Ambiente Nacional (ES, MA, PA, PI e RN) 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. |
| 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 - 1.07 (manual de integração versão 2.04 ou 3.00) ou 2.00 (manual de integração versão 4.0x) (parâmetro novo) |
| 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. (nome do parâmetro alterado - ex-resultado) |
| 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, 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. |
| 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 (parâmetro novo) |
| dProtocoloInut | string | saída | retorna a data e hora da homologação da inutilização da numeração da NF-e pela SEFAZ. (parâmetro novo) |
| 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 ou registro, para maiores detalhes veja as condições de uso |
Atenção para as seguintes alterações nos parâmetros:
Parâmetros novos:
- versao;
- nProtocoloInut;
- dProtocoloInut;
- procInutNFe (retorno da função);
Parâmetros que mudaram de nome ou de lugar:
- resultado (mudou de nome para cStat);
Parâmetros eliminados:
- msgCabec;
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 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 TAGA] 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 WS.XML com a URL do WS não localizado em {CAMINHO DA APLICACAO}\NFe_Util\URL\NOME ARQUIVO | 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 |
| 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 |
| 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:
- Timestamp - data e hora da ocorrência do erro
- WS - nome do WS acessado
- URL - URL do WS acessado
- ambiente - código do ambiente
- certificado - nome do titular (assunto) do certificado digital utilizado
- erro - código e descrição do erro
- msgDados - mensagem enviada ao WS
- msgRetWS - conteúdo do retorno do WS
Os erros com código > 5000 são erros tratados pela DLL e ocorrem nas seguintes situações:
- 5001 - 5017 - falha na tentativa de consumir o WS (problema de conexão/rede)
- 5101 - 5105 - falha no tratamento do XML de resposta do WS (problema na resposta do WS)
- 5201 - 5206 - falha na recuperação da URL do WS desejado (problema no arquivo de configuração da URL)
- 5403 - 5408 - falha no acesso ao certificado digital
- 6101 - 6141 - falha no tratamento dos pârametros da chamada da DLL
- 7001 - 7003 - falha na validação da licença
Histórico de atualização:
- 2010-02-02 - 2Gv0.0 - Versão beta preliminar.
- 2010-03-20 - 2Gv0.2 - Correção para retorno do procInutNFe, nProtocoloInut e dhProcotocoloInut.
- 2011-06-18 - 2Gv0.7 - Acréscimo de novas opções para uso de certificado digital
Mensagens XML - versão 1.10:
*** em elaboração ***
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 (ES, MA, PA, PI e RN) 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 Integer ' 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 ' ' ' 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 siglaUF = "RJ" ' sigla da UF 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 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 NFe_Util_2G.Util ' ' instancia a DLL ' Set objNFeUtil = New 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 = 101 ==> cancelamento realizado com sucesso ' ' ' mostra mensagem XML enviada ' 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" ' ' libera classe ' Set objNFeUtil = Nothing
- 12.3.2. InutilizaNroNF2G
12.3. Cancelamento e Inutilização de NF-e - « Anterior
12.3.1. CancelaNF2G - Próximo »
12.4. Consulta NF