BuscaNFe2G

Olá, como podemos lhe ajudar?
< Todos tópicos
Print

Envio assíncrono de NF-e

string BuscaNFe2G(string siglaWSint tipoAmbienteref string NFeAssinadastring nroRecibostring nomeCertificadostring versaoout string msgDadosout string msgRetWSout int cStatout string msgResultadoout string nroProtocoloout string dhProtocoloout string cMsgout string xMsgstring proxystring usuariostring senhastring licenca)

Busca o resultado do processamento da NF-e enviada através do EnviaNFe2G.

Esta funcionalidade é complementar à funcionalidade EnviaNFe2G e serve apenas para buscar o resultado do processamento da NF-e enviada através do EnviaNFe2G.

CONSUMO INDEVIDO

A rejeição 656 – Consumo Indevido ocorre quando não respeitamos as recomendações da SEFAZ na consumo dos Web Service, para evitar a rejeição basta seguir a orientação da SEFAZ para evitar o Consumo Indevido do Ambiente de Autorização:.

04.1 Consulta Status_Serviço: Intervalo entre consultas (Delay)

Várias empresas implementaram suas aplicações em “loop” no Web Service de Consulta Status, consumindo de forma indevida o canal de comunicação da SEFAZ e o canal de comunicação da própria empresa. Na amostragem realizada, notamos que 45,9% das requisições das empresas são para este Web Service.

O Manual de Integração com o Contribuinte define que esta consulta pode ser feita com um intervalo entre consultas (delay) de no mínimo 3 minutos, mas encontramos algumas empresas com mais de 1 consulta por segundo. Verificamos que este comportamento ocorre mesmo nas faixas de horário que a empresa não tem nenhum movimento.

Sobre as melhores práticas

A definição do intervalo entre consultas (delay) do Manual de Integração com o Contribuinte deverá ser observada.

Algumas empresas utilizam esta consulta de uma forma mais racional, efetuando a Consulta Status unicamente após terem recebido um erro de comunicação. Este é o caso de alguns grandes emissores de NF-e, que passam a efetuar a Consulta Status somente quando detectam algum problema de comunicação e usam o resultado desta consulta para a tomada de decisão quanto a entrada ou a saída de contingência.

04.2 Consulta Status_Serviço: Antecede ao envio do Lote de NF-e

Algumas empresas adotaram a prática de primeiro efetuar uma Consulta Status_Serviço antes de enviar o Lote de NF-e. Mesmo que a consulta Status_Serviço retorne que o ambiente de Autorização está normal, a aplicação da empresa deve verificar se o envio do Lote de NF-e foi feito com sucesso, portanto, não vemos vantagem na adoção desta técnica de efetuar a consulta Status_Serviço antes de enviar o Lote de NF-e.

Cabem as mesmas recomendações da proposição anterior, eliminado o comando da Consulta Status_Serviço nesta situação.

PREENCHIMENTO DA siglaWS PARA ESCOLHA DO WEBSERVICE

SVAN, caso a UF seja usuária da SEFAZ Virtual do Ambiente Nacional (MA);

SVRS, caso a UF seja usuária da SEFAZ Virtual do Rio Grande do Sul (AC, AL, AP, DF, ES, PA, PB, PI, RJ, RN, RO, RR, SC, SE e TO);

sigla da UF, caso a UF tenha aplicação própria (AM, BA, CE, GO, MS, MT, MG, PE, PR, RS e SP);

PRENCHIMENTO 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 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.

nometipofluxodescrição
siglaWSstringentradainformar a sigla do WS desejado, veja Tabela de siglaWS
tipoAmbienteinteiroentradainformar o código do ambiente desejado: 1- produção ou 2-homologação
NFeAssinadastringentradainformar o XML da NFeAssinada que será utilizada para montar o procNFe em caso de autorização de uso
nroRecibostringentrada/saídainformar o número do recibo do lote objeto da busca, em caso de autorização de uso o parâmetro retorna o número do protocolo e data de autorização no formato: nnnnnnnnnnnnnnn dd/mm/aaaa hh:mm:ss, que pode ser utilizado para mostrar no DANFE
NomeCertificadostringentradainformar 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”.
versaostringentradainformar a versão da mensagem do WS – 4.00
msgDadosstringsaídaretorna a mensagem XML enviada para o WS
msgRetWSstringsaídaretorna a mensagem XML de resposta do WS
cStatinteirosaídaretorna o resultado da chamada da funcionalidade, se o WS acessado com sucesso será devolvido o cStat da resposta do WS.
msgResultadostringsaídaretorna a literal do resultado da chamada do WS
nroProtocolostringsaídaretorna o número do protocolo de autorização de uso da NF-e
dhProtocolostringsaídaretorna a data e hora de autorização de uso da NF-e (aaaa-mm-ddThh:mm:ss)
cMsgstringsaídaretorna o código da mensagem da SEFAZ, este campo foi criado para que a SEFAZ possa se comunicar com o emissor.
xMsgstringsaídaretorna a descrição da mensagem da SEFAZ, este campo foi criado para que a SEFAZ possa se comunicar com o emissor.
proxystringentradainformar ‘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’
usuariostringentradainformar o usuário para autenticação no proxy se necessário
senhastringentradainformar a senha de autenticação no proxy se necessário
licencastringentradainformar a chave da licença de uso, 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

O resultado da chamada do BuscaNFe é uma mensagem XML com o procNFe caso a NF-e tenha sido autorizada ou denegada (parâmetro cStat=100 ou 301 ou 302), nos demais casos o retorno será vazio (“”), sendo necessário o exame do parâmetro cStat, que tem os seguintes significados:

O procNFe

procNFe é uma estrutura XML de distribuição da NF-e composta pelo XML da NF-e e pelo protocolo de autorização de uso, sendo a forma padrão de armazenamento e distribuição do projeto. Muitos desenvolvedores são pegos de surpresa quando o usuário, o contador ou o destinatário solicita o procNFe. Assim, não deixe de gravar o procNFe que a funcionalidade retorna. Também é importante que a string da procNFe seja convertida em UTF-8 antes da gravação para evitar problemas de leitura no browser ou no aplicativo visualizador da Receita Federal do Brasil, para maiores detalhes veja o post: Distribuição da NF-e para o Destinatário

códigoMensagemorigemregra
5001Erro: Falha na conexão: [mensagem 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
5002Erro: Falha na conexão: [mensagem 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
5003Erro: Falha na conexão: [mensagem 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
5004Erro: Falha na conexão: [mensagem do windows] (Causa provável: método não permitido)DLL
5005Erro: Falha na conexão: [mensagem 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
5006Erro: Falha na conexão: [mensagem do windows] (Causa provável: Time-Out, o WS não respondeu a solicitação no tempo estabelecido: [tempo])DLL
5007Erro: Falha na conexão: [mensagem do windows] (Causa provável: mensagem maior que a permitida)DLL
5008Erro: Falha na conexão: [mensagem do windows] (Causa provável: Servidor com problemas)DLL
5009Erro: Falha na conexão: [mensagem do windows] (Causa provável: Serviço não implementado)DLL
5010Erro: Falha na conexão: [mensagem do windows] (Causa provável: Serviço temporariamente indisponível, servidor sem recursos para atender a solicitação)DLL
5011Erro: Falha na conexão: [mensagem do windows] (Causa provável: Causa provável da falha na conexão: Rede indisponível)DLL
5012Erro: Falha na conexão: [mensagem do windows] (Causa provável: Versão do SOAP não suportadaDLL
5013Erro: Falha na conexão: [mensagem do windows] (Causa provável: Web Service não consumido, não houve nenhum retorno ou resposta)DLL
5014Erro: Falha na conexão: [mensagem do windows] (Causa provável: Web Service não consumido, falha desconhecida)DLL
5015Erro: Falha na conexão: Tempo limite de time-out alcançado [tempo ms] – [mensagem do windows]DLL
5016Erro: Falha na conexão: Falha da Biblioteca Criptografica: [mensagem do windows]DLL
5017Erro: Falha ao tratar o XML de retorno do WS: [mensagem de erro]DLL
5101Erro: A mensagem de retorno do WS não é um XML válido: [mensagem de erro]DLL
5102Erro: Tag cStat inexistente na mensagem de retorno [mensagem de erro]DLL
5103Erro: Tag xMotivo inexistente na mensagem de retorno [mensagem de erro]DLL
5104Erro: Tag [nome tag] inexistente na mensagem de retorno [mensagem de erro]DLL
5105Erro: O WS não devolveu nenhum resultadoDLL
5201Erro: O código do tipo de ambiente [valor informado para DLL] informado diferente de 1 – produção e 2 – homologaçãoDLL
5202Erro: A sigla da UF [valor informado para DLL] informada é inválidaDLL
5203Erro: Inexiste url para a UF [valor informado para DLL] informada no ambiente [valor informado para DLL] desejado, verifique se existe atualização do arquivo [nome arquivo] disponível.DLL
5204Erro: Arquivo que contem a URL do WS não localizado em [CAMINHO DA APLICACAO]DLL
5205Erro: Ocorreu um erro inesperado no processamento da URL [url] : [mensagem de erro]DLL
5206Erro: Ocorreu um erro de validação do XML [XML] : [mensagem de erro]DLL
5403Erro: Falha ao acessar certificado digital [mensagem de ERRO DO WINDOWS]DLL
5404Erro: Nenhum certificado digital selecionadoDLL
5405Erro: Nenhum certificado válido foi encontrado com o nome [NomeCertificado] informado no repositório [MY do CurrentUser]DLL
5406Erro: Falha no tratamento do parâmetro nome: [nome informado]DLL
5407Erro: Quantidade de parâmetos inválido: [nome informado]DLL
5408Erro: Falha na criação do objeto certificate: [mensagem do ERRO DO WINDOWS]DLL
5503Erro: XML mal formado [MENSAGEM DE ERRO DO WINDOWS]DLL
5504Erro: Arquivo Schemal XML [nome do arquivo XML] não localizado na pasta [nome do pasta]}DLL
5505Erro: XML não atende a especificação do Schema XMLDLL
6401Erro: XML do parâmetro NFeAssinada informada mal formado [mensagem de erro]DLL
6402Erro: O parâmetro tipo de ambiente deve ser informadoDLL
6403Erro: O tipo Ambiente informado [valor informado para DLL] diverge do tpAmb do parâmetro NFeAssinada [valor informado no XML]DLL
6404Erro: tag tpAmb inexistente no parâmetro NFeAssinada [mensagem de erro]DLL
6405Erro: UF informada [UF informada para DLL] diverge do cUF do emitente do parâmetro NFeAssinada [cUF informado no XML]DLL
6406Erro: tag cUF do emitente inexistente do parâmetro NFeAssinada [mensagem de erro]DLL
6407Erro: tag CNPJ do emitente não localizada parâmetro NFeAssinada [mensagem de erroDLL
6408Erro: O CNPJ informado tem tamanho diferente de 14 – [CNPJ] – tamanho = [tamanho]DLL
6409Erro: A licença informada tem tamanho diferente de 128 – [licenca] – tamanho = [tamanho]DLL
6410Erro: Funcionalidade: EnviaNFe não licenciada para o CNPJ: [CNPJ] e licenca [licenca]DLL
6411Erro: A versao: [versao] informada é inválidaDLL
6412Erro: Falha na leitura do XML da resposta do WS [mensagem de erro]DLL
6413Erro: da NF-e informada [Digest Value] diverge do do protocolo [digVal], não é possível montar o procNFe, pois a NF-e informada tem conteúdo diferente da NF-e que foi autorizada!DLL
6414Erro: tag cStat não localizada na mensagem de retorno [mensagem de erro], a NF-e tem conteúdo diferente da NF-e que foi autorizada!
6415Erro: tag xMotivo não localizada na mensagem de retorno [mensagem de erro]DLL
6416Erro: Busca do lote = [cStat da busca], mas não existe protocolo para o a NF-e com chave de acesso =[chave de acesso esperada]DLL
6417Erro: tag infNFe inexistente no parâmetro NFeAssinada [mensagem de erro]DLL
6418Erro: Atributo Id não localizado na tag infNFe do parâmetro NFeAssinada [mensagem de erro]DLL
6419Erro: O parâmetro número do recibo de entrega do lote deve ser informadoDLL
6420Erro: O parâmetro número do recibo [valor informado para a DLL] deve ter 15 caracteresDLL
6421Erro: As posições correspondentes (1,2) ao código da UF [conteudo] do parâmetro número do recibo não é um código de UF válidoDLL
6422Erro: A posição correspondente (3) ao tipo do autorizador [conteudo] do parâmetro número do recibo não é um código de tipo autorizador válidoDLL
6423Erro: Falha no acesso ao protNFe do XML da resposta do WS [mensagem de erro]DLL
100Autorizado o uso da NF-eWS
105Lote em processamentoWSE04
106Lote não localizadoWSE03
108Serviço Paralisado Momentaneamente (curto prazo)WSB03
109Serviço Paralisado sem PrevisãoWSB04
203Rejeição: Emissor não habilitado para emissão da NF-eWSG1C02.1
204Rejeição: Duplicidade de NF-eWSG1B08.1
205Rejeição: NF-e está denegada na base de dados da SEFAZWSG1B08.3
206Rejeição: NF-e já está inutilizada na Base de dados da SEFAZWSG1B08.4
207Rejeição: CNPJ do emitente inválidoWSGC02
208Rejeição: CNPJ do destinatário inválidoWSGE02.2
209Rejeição: IE do emitente inválidaWSGC17.1
210Rejeição: IE do destinatário inválidaWSGE17.1
211Rejeição: IE do substituto inválidaWSGC18.1
212Rejeição: Data de emissão NF-e posterior a data de recebimentoWSGB09
214Rejeição: Tamanho da mensagem excedeu o limite estabelecidoWSB01
215Rejeição: Falha no schema XMLWSD01
218Rejeição: NF-e já esta cancelada na base de dados da SEFAZWSG1B08.2
223Rejeição: CNPJ do transmissor do lote difere do CNPJ do transmissor da consultaWSE05
225Rejeição: Falha no Schema XML do lote de NFeWSD01
226Rejeição: Código da UF do Emitente diverge da UF autorizadoraWSGB02
228Rejeição: Data de Emissão muito atrasadaWSGB09.1
229Rejeição: IE do emitente não informadaWSGC17
230Rejeição: IE do emitente não cadastradaWSG1C17
231Rejeição: IE do emitente não vinculada ao CNPJWSG1C17.1
233Rejeição: IE do destinatário não cadastradaG1E17.1
234Rejeição: IE do destinatário não vinculada ao CNPJWSG1E17.2
235Rejeição: Inscrição SUFRAMA inválidaWSGE18
237Rejeição: CPF do destinatário inválidoWSGE03
238Rejeição: Cabeçalho – Versão do arquivo XML superior a Versão vigenteWSC05
239Rejeição: Cabeçalho – Versão do arquivo XML não suportadaWSC06
242Rejeição: Cabeçalho – Falha no Schema XMLWSC01
243Rejeição: XML Mal FormadoWSB02
245Rejeição: CNPJ Emitente não cadastradoWSG1C02
246Rejeição: CNPJ Destinatário não cadastradoWSG1E17
247Rejeição: Sigla da UF do Emitente diverge da UF autorizadoraWSGC12
248Rejeição: UF do Recibo diverge da UF autorizadoraWSE02
251Rejeição: UF/Município destinatário não pertence a SUFRAMAWSGE18.1
252Rejeição: Ambiente informado diverge do Ambiente de recebimentoWSGB24
252Rejeição: Ambiente informado diverge do Ambiente de recebimentoWSE01
253Rejeição: Digito Verificador da chave de acesso composta inválidaWSGB23
254Rejeição: NF-e complementar não possui NF referenciadaWSGB25
255Rejeição: NF-e complementar possui mais de uma NF referenciadaWSGB25.1
266Rejeição: Série utilizada fora da faixa permitida no Web Service (0-889)WSGB07
267Rejeição: NF Complementar referencia uma NF-e inexistenteWSG1B25
268Rejeição: NF Complementar referencia uma outra NF-e ComplementarWSG1B25.1
269Rejeição: CNPJ Emitente da NF Complementar difere do CNPJ da NF ReferenciadaWSGB25.2
270Rejeição: Código Município do Fato Gerador: dígito inválidoWSGB12
271Rejeição: Código Município do Fato Gerador: difere da UF do emitenteWSGB12.1
272Rejeição: Código Município do Emitente: dígito inválidoWSGC10
273Rejeição: Código Município do Emitente: difere da UF do emitenteWSGC10.1
274Rejeição: Código Município do Destinatário: dígito inválidoWSGE10
275Rejeição: Código Município do Destinatário: difere da UF do DestinatárioWSGE10.1
276Rejeição: Código Município do Local de Retirada: dígito inválidoWSGF07.1
277Rejeição: Código Município do Local de Retirada: difere da UF do Local de RetiradaWSGF07.2
278Rejeição: Código Município do Local de Entrega: dígito inválidoWSGG07.1
279Rejeição: Código Município do Local de Entrega: difere da UF do Local de EntregaWSGG07.2
280Rejeição: Certificado Transmissor inválidoWSA01
281Rejeição: Certificado Transmissor Data ValidadeWSA02
282Rejeição: Certificado Transmissor sem CNPJWSA07
283Rejeição: Certificado Transmissor – erro Cadeia de CertificaçãoWSA03
284Rejeição: Certificado Transmissor revogadoWSA05
285Rejeição: Certificado Transmissor difere ICP-BrasilWSA06
286Rejeição: Certificado Transmissor erro no acesso a LCRWSA04
287Rejeição: Código Municípío do FG – ISSQN: dígito inválidoWSGU05
288Rejeição: Código Município do FG – Transporte: dígito inválidoWSGX17
301Uso Denegado: Irregularidade fiscal do emitenteWSG1C17.2
302Uso Denegado: Irregularidade fiscal do destinatárioWSG117.3
401Rejeição: CPF do remetente inválidoWSGC02a.1
402Rejeição: XML da área de dados com codificação diferente de UTF-8WSD03
403Rejeição: O grupo de informações da NF-e avulsa é de uso exclusivo do FiscoWSGD01
404Rejeição: Uso de prefixo de namespace não permitidoWSD02
407Rejeição: O CPF só pode ser informado no campo emitente para a NF-e avulsaWSGC02a
409Rejeição: Campo cUF inexistente no elemento nfeCabecMsg do SOAP HeaderWSC02
410Rejeição: UF informada no campo cUF não é atendida pelo Web ServiceWSC03
411Rejeição: Campo versaoDados inexistente no elemento nfeCabecMsg do SOAP HeaderWSC04
451Rejeição: Processo de emissão informado inválidoWSGB26
478Rejeição: Local da entrega não informado para faturamento direto de veículos novosWSGC18
502Rejeição: Erro na Chave de Acesso – Campo Id não corresponde à concatenação dos campos correspondentesWSGA03
503Rejeição: Série utilizada fora da faixa permitida no SCAN (900-999)WSGB07.1
504Rejeição: Data de Entrada/Saída posterior ao permitidoWSGB10
505Rejeição: Data de Entrada/Saída anterior ao permitidoWSGB10.1
506Rejeição: Data de Saída menor que a Data de EmissãoWSGB10.2
507Rejeição: O CNPJ do destinatário/remetente não deve ser informado em operação com o exteriorWSGE02
508Rejeição: O CNPJ com conteúdo nulo só é válido em operação com exterior.WSGE02.1
509Rejeição: Informado código de município diferente de “9999999” para operação com o exteriorWSGE10.2
510Rejeição: Operação com Exterior e Código País destinatário é 1058 (Brasil) ou não informadoWSGE14
511Rejeição: Não é de Operação com Exterior e Código País destinatário difere de 1058 (Brasil)WSGE14.1
512Rejeição: CNPJ do Local de Retirada inválidoWSGF02
513Rejeição: Código Município do Local de Retirada deve ser 9999999 para UF retirada = “EX”.WSGF07
514Rejeição: CNPJ do Local de Entrega inválidoWSGG02
515Rejeição: Código Município do Local de Entrega deve ser 9999999 para UF entrega = “EX”.WSGG07
518Rejeição: CFOP de entrada para NF-e de saídaWSGI08
519Rejeição: CFOP de saída para NF-e de entradaWSGI08.1
520Rejeição: CFOP de Operação com Exterior e UF destinatário difere de “EX”WSGI08.2
521Rejeição: CFOP de Operação Estadual e UF do emitente difere da UF do destinatário para destinatário contribuinte do ICMS.WSGI08.3
522Rejeição: CFOP de Operação Estadual e UF emitente difere da UF remetente para remetente contribuinte do ICMS.WSGI08.4
523Rejeição: CFOP não é de Operação Estadual e UF emitente igual à UF destinatário.WSGI08.5
524Rejeição: CFOP de Operação com Exterior e não informado NCM completaWSGI08.6
525Rejeição: CFOP de Importação e não informado dados da DIWSGI08.7
526Rejeição: CFOP de Exportação e não informado Local de EmbarqueWSGI08.8
527Rejeição: Operação de Exportação com informação de ICMS incompatívelWSGN12
528Rejeição: Valor do ICMS difere do produto BC e AlíquotaWSGN17
529Rejeição: NCM de informação obrigatória para produto tributado pelo IPIWSGO07
530Rejeição: Operação com Tributação de ISSQN sem informar a Inscrição MunicipalWSGU01
531Rejeição: Total da BC ICMS difere do somatório dos itensWSGW03
532Rejeição: Total do ICMS difere do somatório dos itensWSGW04
533Rejeição: Total da BC ICMS-ST difere do somatório dos itensWSGW05
534Rejeição: Total do ICMS-ST difere do somatório dos itensWSGW06
535Rejeição: Total do Frete difere do somatório dos itensWSGW08
536Rejeição: Total do Seguro difere do somatório dos itensWSGW09
537Rejeição: Total do Desconto difere do somatório dos itensWSGW10
538Rejeição: Total do IPI difere do somatório dos itensWSGW12
539Rejeição: Duplicidade de NF-e, com diferença na Chave de Acesso [99999999999999999999999999999999999999999]WSG1B08
540Rejeição: CPF do Local de Retirada inválidoWSGF02a
541Rejeição: CPF do Local de Entrega inválidoWSGG02a
542Rejeição: CNPJ do Transportador inválidoWSGX04
545Rejeição: Falha no schema XML – versão informada na versaoDados do SOAPHeader diverge da versão da mensagemWSD01c
544Rejeição: IE do Transportador inválidaWSGX07.1
547Rejeição: Dígito Verificador da Chave de Acesso da NF-e Referenciada inválidoWSGB13
548Rejeição: CNPJ da NF referenciada inválido.WSGB17
549Rejeição: CNPJ da NF referenciada de produtor inválido.WSGB20d
550Rejeição: CPF da NF referenciada de produtor inválido.WSGB20e
551Rejeição: IE da NF referenciada de produtor inválido.WSGB20f
552Rejeição: Dígito Verificador da Chave de Acesso do CT-e Referenciado inválidoWSGB20i
553Rejeição: Tipo autorizador do recibo diverge do Órgão Autorizador.WSE02a
556Rejeição: Justificativa de entrada em contingência não deve ser informada para tipo de emissão normalWSGB22
557Rejeição: A Justificativa de entrada em contingência deve ser informadaWSGB22.1
558Rejeição: Data de entrada em contingência posterior a data de recebimentoWSGB28
559Rejeição: UF do Transportador não informadaWSGX07
560Rejeição: CNPJ base do emitente difere do CNPJ base da primeira NF-e do lote recebidoWSGC02.1
564Rejeição: Total do Produto/Serviço difere do somatório dos itensWSGW07
565Rejeição: Falha no schema XML – inexiste a tag raiz esperada para o loteWSD01a
567Rejeição: Falha no schema XML – versão informada na versaoDados do SOAPHeader diverge da versão da mensagemWSD01c
568Rejeição: Falha no schema XML – inexiste atributo versao na tag raiz da mensagemWSD01b
569Rejeição: Data de entrada em contingência muito atrasadaWSGB28a
570Rejeição: tpEmis = 3 só é válido na contingência SCANWSGB22.2
571Rejeição: O tpEmis informado diferente de 3 para contingência SCANWSGB22.3
587Rejeição: Usar somente o namespace padrão da NF-eWSD01d
588Rejeição: Não é permitida a presença de caracteres de edição no início/fim da mensagem ou entre as tags da mensagemWSD01e
590Rejeição: Informado CST para emissor do Simples Nacional (CRT=1)WSGN12.1
591Rejeição: Informado CSOSN para emissor que não é do Simples Nacional (CRT diferente de 1)WSGN12a
592Rejeição: A NF-e deve ter pelo menos um item de produto sujeito ao ICMSWSGU01.1
595Rejeição: Versão de leiaute da NF-e utilizada não é mais válidaWSGB09.02
596Rejeição: Ambiente de homologação indisponível para recepção de NF-e da versão 1.10WSGB09.03
597Rejeição: CFOP de Importação e não informado dados de IPIWSGI08.7a
598Rejeição: NF-e emitida em ambiente de homologação com Razão Social do destinatário diferente de NF-e EMITIDA EM AMBIENTE DE HOMOLOGAÇÃO – SEM VALOR FISCALWSGB09.03
599Rejeição: CFOP de Importação e não informado dados de IIWSGI08.7b
601Rejeição: Total do II difere do somatório dos itensWSGW11
602Rejeição: Total do PIS difere do somatório dos itens sujeitos ao ICMSWSGW13
603Rejeição: Total do COFINS difere do somatório dos itens sujeitos ao ICMSWSGW14
604Rejeição: Total do vOutro difere do somatório dos itensWSGW13
605Rejeição: Total do vServ difere do somatório do vProd dos itens sujeitos ao ISSQNWSGW18
606Rejeição: Total do vBC do ISS difere somatório dos itensWSGW19
607Rejeição: Total do ISS difere do somatório dos itensWSGW20
608Rejeição: Total do PIS difere do somatório dos itens sujeitos ao ISSQNWSGW21
609Rejeição: Total do COFINS difere do somatório dos itens sujeitos ao ISSQNWSGW22
610Rejeição: Total da NF difere do somatório dos Valores que compõe o valor total da NFWSGW16
611Rejeição: Total da NF superior ao valor limite estabelecido pela SEFAZ[Limite]WSGW16a
611Rejeição: cEAN inválidoWSGI03
612Rejeição: cEANTrib inválidoWSGI12
621Rejeição: CPF Emitente não cadastradoWSG1C02a
623Rejeição: CPF Destinatário não cadastradoWSG1E17.4
624Rejeição: IE Destinatário não vinculada ao CPFWS
625Rejeição: Inscrição SUFRAMA deve ser informada na venda com isenção para ZFMWSGN28
626Rejeição: O CFOP de operação isenta para ZFM deve ser 6109 ou 6110WSGN28.1
627Rejeição: O valor do ICMS desonerado deve ser informadoWSGN28.2
629Rejeição: Valor do produto difere do produto Valor Unitário de Comercialização e Quantidade ComercialWSGI10a
630Rejeição: Valor do Produto difere do produto Valor Unitário de Tributação e Quantidade TributávelWSGI14a
635Rejeição: NF-e com mesmo número e série já transmitida e aguardando processamentoWSG1B08.5
999Rejeição: Erro não catalogado (mensagem)WS
Rejeição: Falha no Schema XML – Diferença entre os códigos 215 e 225

215 – Rejeição: Falha no schema XML

O WS devolve o código 215 quando a mensagem de Consulta Processamento do Lote de NF-e (consReciNFe) está incorreta.

225 – Falha no Schema XML do lote de NFe

O WS devolve o código 225 quando o Lote enviado (enviNFe) está incorreto.

Assim, quando o código de erro for 225, o usuário deve analisar o lote de NF-e que foi enviado para sanear o problema.

Caso ocorra algum erro na chamada do WS (5001-7003) ou a requisição não seja atendida pelo WS (214-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)
  • 5403 – 5408 – falha no acesso ao certificado digital
  • 5201 – 5206 – falha na recuperação da URL do WS desejado (problema no arquivo de configuração da URL)
  • 6301 – 6314 – falha no tratamento dos parâmetros da chamada da DLL
  • 7001 – 7003 – falha na validação da licença

Visual Basic 6.0

' declaração das variáveis que serão utilizadas na passagem de parâmetros da DLL
 '
 Dim siglaWS As String          ' informar a sigla do WS que deseja consultar, informar SVAN - SEFAZ Virtual do Ambiente Nacional (MA, PA e PI) ou SVRS - SEFAZ Virtual do Rio Grande do Sul (AC, AL, AP, DF, ES, PB, RJ, RN, 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 msgDados As String     ' retorna a mensagem XML enviada para o WS
 Dim msgRetWS As String     ' retorna a mensagem XML de resposta do WS
 Dim cStat As Long      ' retorna o resultado da chamada da funcionalidade, se o WS acessado com sucesso será devolvido o cStat da resposta do WS
 Dim msgResultado As String ' retorna a literal do resultado da chamada do WS
 Dim nroRecibo As String        ' informar o número do recibo do lote objeto da busca, em caso de autorização de uso o parâmetro retorna o número do protocolo e data de autorização no formato: nnnnnnnnnnnnnnn dd/mm/aaaa hh:mm:ss, que pode ser utilizado para mostrar no DANFE
 Dim nfeAssinada As String  ' informar o XML da NFeAssinada que será utilizada para montar o procNFe em caso de autorização de uso
 Dim procNFe As String      ' retorna o procNFe em caso de autorização de uso
 Dim nroProtocolo As String ' retorna o número do protocolo de autorização de uso da NF-e
 Dim dhProtocolo As String  ' retorna a data e hora de autorização de uso da NF-e (aaaa-mm-ddThh:mm:ss)
 Dim cMsg As String             ' retorna o código da mensagem da SEFAZ, este campo foi criado para que a SEFAZ possa se comunicar com o emissor
 Dim xMsg As String             ' retorna a descrição da mensagem da SEFAZ, este campo foi criado para que a SEFAZ possa se comunicar com o emissor
 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
 '
 ' 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
 '
 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.10 (manual de integração versão 2.04 ou 3.00) ou 2.00 (manual de integração versão 4.0x)
 '
 ' Importante: todas as variáveis utilizadas como parâmetro da DLL devem ser inicializadas
 '
 '
 proxy = "" ' 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 = "" ' informar o usuário para autenticação no proxy se necessário
 senha = "" ' informar a senha de autenticação no proxy se necessário
 msgDados = "" ' retorna a mensagem XML enviada para o WS
 msgRetWS = "" ' retorna a mensagem XML de resposta do WS
 msgResultado = "" ' retorna a literal do resultado da chamada do WS
 nroProtocolo = "" ' retorna o número do protocolo de autorização de uso da NF-e
 dhProtocolo = "" ' retorna a data e hora de autorização de uso da NF-e (aaaa-mm-ddThh:mm:ss)
 cMsg = "" ' retorna o código da mensagem da SEFAZ, este campo foi criado para que a SEFAZ possa se comunicar com o emissor
 xMsg = "" ' retorna a descrição da mensagem da SEFAZ, este campo foi criado para que a SEFAZ possa se comunicar com o emissor
 cStat = 0 ' retorna o resultado da chamada da funcionalidade, se o WS acessado com sucesso será devolvido o cStat da resposta do WS
 '
 ' 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 = "SP"                         ' informar a sigla do WS que deseja consultar, informar SVAN - SEFAZ Virtual do Ambiente Nacional (MA, PA e PI) ou SVRS - SEFAZ Virtual do Rio Grande do Sul (AC, AL, AP, DF, ES, PB, RJ, RN, 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
 nroRecibo = "351000000000123"      ' informar o número do recibo do lote objeto da busca, em caso de autorização de uso o parâmetro retorna o número do protocolo e data de autorização no formato: nnnnnnnnnnnnnnn dd/mm/aaaa hh:mm:ss, que pode ser utilizado para mostrar no DANFE
 tipoAmbiente = 2                   ' informar o código do ambiente desejado: 1- produção ou 2-homologação
 versao = "2.00"                ' informar a versão da mensagem do WS - 1.10 (manual de integração versão 2.04 ou 3.00) ou 2.00 (manual de integração versão 4.0x)
 nfeAssinada = "?"                      ' informar o XML da NFeAssinada que será utilizada para montar o procNFe em caso de autorização de uso
   nomeArquivo = "NFeAssinada.xml"
 ' importante: verificar a existência do arquivo solicitado na pasta do VB e indicar o caminho correto para ele
 '
 '  Carrega o conteúdo do nome do arquivo em nfe
 '
 Open nomeArquivo For Input As #1
 nfeAssinada = Input$(LOF(1), 1)
 Close #1
 '
 '
 Dim objNFeUtil As NFe_Util_2G.Util
 '
 ' instancia a DLL
 '
 Set objNFeUtil = New NFe_Util_2G.Util
 '
 '
 Screen.MousePointer = vbHourglass    ' ampulheta
 '
 nfeProc = objNFeUtil.BuscaNFe2G(siglaWS, tipoAmbiente, nfeAssinada, nroRecibo, nomeCertificado, versao, msgDados, msgRetWS, cStat, msgResultado, nroProtocolo, dhProtocolo, cMsg, xMsg, proxy, usuario, senha, licenca)
 '
 '
 Screen.MousePointer = vbDefault ' normal
 '
 ' mostra mensagem XML enviada e a mensagem de retorno do WS
 '
 MsgBox msgDados + Chr(13) + Chr(13) + msgResultado + Chr(13) + Chr(13) + msgRetWS, vbInformation, "Resultado da Busca Resultado do Processamento do Lote"
 '
 '  implementar o tratamento do mensagem do resultado do processamento do lote
 '
 '  se cStat = 100, significa que a NF-e foi autorizada, bastando gravar o procNFe (fazer a conversão da string para UTF8 para evitar problemas de leitura no browser, vide http://nf-eletronica.com/blog/?p=147)
 '  se cStat = 301 ou 302, significa que a NF-e foi denegada, necessário gravar o procNFe, esta nota não pode ser cancelada e nem utilizada
 '  se cStat = 105, significa que o lote ainda não processado, a aplicação deve fazer nova consulta - NÃO É NECESSÁRIO REENVIAR A NF-e, apenas consulte o recibo novamente.
 '  se cStat = 106, significa que o lote não foi localizado
 '  se cStat > 5000, significa que houve algum erro na chamada da funcionalidade e o WS não foi consumido.

Base (Visual FoxPro)

&& exemplo de busca resultado do processamento de uma NF-e
&& requisitos:
&&  1. a NF-e deve já deve ter sido transmitida pelo mesmo transmissor (certificado)
&&  2. ter um número de recibo
&&  3. ter a NF-e assinada
&&   
&& veja: https://www.flexdocs.net/guiaNFe/WS.NFe.buscaNFe2G.html
&& -----------------------------------------------------------------------------
&&
&& declaração das variáveis
&&
 
LOCAL siglaWS as String
LOCAL tipoAmbiente as Integer
LOCAL NFeAssinada as String
LOCAL nroRecibo as String
LOCAL nomeCertificado as String
LOCAL versao as String
LOCAL msgDados as String
LOCAL msgRetWS as String
LOCAL cStat as Integer
LOCAL msgResultado as String
LOCAL nroProtocolo as String
LOCAL dhProtocolo as String
LOCAL cMsg as String
LOCAL xMsg as String
LOCAL proxy as String
LOCAL usuario as String
LOCAL senha as String
LOCAL licenca as String
LOCAL procNFe as String
&&
&& inicialização das variáveis
&&
siglaWS = "SP"              && sigla do WS para onde sera enviada a NF-e
tipoAmbiente = 2            && código do ambiente = 1- produção / 2 - homologação
&&
&& carregue a string NFeAssinada com o conteúdo do XML da NF-e que deseja consultar o resultado do processamento
&&
NFeAssinada = FILETOSTR("c:\nfeassinada.xml")
&&
&& informar o conteúdo do campo assundo do certificado digital, utilize o pegaDadosCertificados para recuperar a informacao
&& e armazene na configuracao da sua aplicacao
&&                            
nomeCertificado = "CN=M R M KATO ASAKURA - EPP:69621187915, OU=AC CAIXA PJ, OU=Caixa Economica Federal, O=ICP-Brasil, C=br"
versao  = "2.00"            && informar a versão do WS, atualmente é a 2.00
msgDados = ""               && parâmetro que devolve o XML que foi transmitido, necessário para solicitar suporte
msgRetWS = ""               && parâmetro que devolve a resposta do WS consumido, necessário para solicitar suporte
cStat = 0                   && parãmetro que devolve o resultado da chamada do WS
msgResultado = ""           && parãmetro que devolve a literal da mensagem do resultado da chamada do WS
&&
&&  informar o número do recibo obtido no enviaNFe2G
&&
nroRecibo = "351000054024470"
nroProtocolo = ""             && parâmetro que devolve o numero do protocoloco de autorização da 
                            && data e hora de autorizacao da NFe
dhProtocolo =""             && parâmetro que devolve a data e hora de autorizacao da NFe
cMsg = ""
xMsg = ""
&&
&&  os dados do proxy só devem ser informados quando existir um proxy no ambiente de rede
&&
proxy = ""
usuario = ""
licenca = ""
 
&&
&& instanciar o DLL
&&
obj = CREATEOBJECTEX("NFe_util_2G.util","","")
&&
&&  IMPORTANTE, a DLL envia a NF-e para o ambiente declarado na nota fiscal!, assim verifique se o tpAmb
&&              está com 2 para não enviar a NF-e para o ambiente de produção (tpAmb=1)
&&
procNFe = obj.BuscaNFe2G(siglaWS, tipoAmbiente, NFeAssinada, nroRecibo, nomeCertificado, versao, @msgDados, @msgRetWS, @cStat, @msgResultado, @nroProtocolo, @dhProtocolo, @cMsg, @xMsg, proxy, usuario, senha, licenca)
&&
? "Resultado do envio"
? "-----------------------------------"
? msgResultado
?
IF cStat = 100 then
   ? "NF-e autorizada!"
   ? 
   ? "Número do Protocolo de Autorizacao de uso : " + nroProtocolo
   ? "Data do Protocolo de Autorizacao de uso : " + dhProtocolo
   ?
   &&
   && grava o procNFe da nota fiscal
   &&
   STRTOFILE(procNFe, "c:\procNFe.xml")
ELSE
   IF cStat = 105 then
         ? "LOTE EM PROCESSAMENTO"
         ? "Persista na Busca, não faça o reenvio da NF-e para não da duplicidade"
   ELSE
      ? "O envio da NF-e falhou, analise a mensagem de erro, caso necessite suporte anexe o conteúdo do log"
      ?
      ? "log de Erro da usca de NFe:" + CHR(13)+ "msgDados =[" + msgDados + "]" + chr(13) + "msgRetWS =[" + msgRetWS + "]" + CHR(13) + "msgResultado = [" + msgResultado + "]"
      ?
      STRTOFILE("log de Erro da Busca de NFe:"+CHR(13)+ "msgDados =["+msgDados+"]" + chr(13) + "msgRetWS =["+msgRetWS+"]" + CHR(13) + "msgResultado = ["+msgResultado+"]", "c:\log.txt")
   ENDIF
ENDIF

Was this article helpful?
0 out of 5 stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
How can we improve this article?
How Can We Improve This Article?
Sumário