- 12.2. Envio de uma NF-e individual
12.2.3. EnviaNFSincrono [15-08-17] - 12.2.2. BuscaNFe2G [15-08-17]
« Anterior - 12.3. Cancelamento e Inutilização de NF-e [15-08-17]
Próximo »
12.2.3. EnviaNFSincrono [15-08-17]
Envia NF síncrono - versão 4.00
Assinatura
string EnviaNFSincrono(string siglaWS, string NFe, string nomeCertificado, string versao, out string msgDados, out string msgRetWS, out int cStat, out string msgResultado, out string nroProtocolo, out string dhProtocolo, out string NFAssinada, string proxy, string usuario, string senha, string licenca)
Descrição:
Envia NF síncrono - versão 4.00, funcionalidade para enviar uma NF-e/NFC-e de forma síncrona, mas é importante ressaltar que nem todas as UF oferecem a possibilidade de emissão da NFC-e.
Apesar do Web Service prever a recepção síncrona de NF-e, inexiste obrigatoriedade das UF oferecem a possibilidade de recepção síncrona de NF-e. Assim, o uso desta funcionalidade em UF que não oferece a recepção síncrono, como é o caso de SP fica prejudicado. O usuário até pode utilizar esta funcionalidade para enviar a nota fiscal sem se preocupar com a geração da estrutura de lote da NF-e, mas terá que fazer a busca do resultado do processamento do lote utilizando a funcionalidade BuscaLoteV3 utilizando o nRec que é devolvido no parâmetro nroProtocolo.
A funcionalidade valida o Schema XML da NFC-e/NF-e, realiza assinatura digital, insere a NF-e/NFC-e no lote e faz o envio da NF-e/NFC-e.
A identificação do WS de envio deverá ser informada no parâmetro siglaWS.
Web Services da NFC-e
Preenchimento da siglaWS - NFC-e
Adotamos a siglaWS em minúsculo quando a UF adotar WS distinto para recepção de NFC-e, como é o caso do AM e MT, assim nestes caso informe am ou mt na siglaWS.
Tabela siglaWS x UF x Ambiente de Autorização
UF IBGE siglaWS AC 12 SVRS AM 13 am MA 21 SVRS MT 29 mt RN 24 SVRS RO 11 SVRS RS 43 RS SE 28 SVRS Envio síncrono de NF-e
A recepção síncrona foi criada para atender a NFC-e, assim nem todas as UF podem aceitar o envio síncrono de NF-e, as UF que permitem a emissão da NFC-e devem aceitar o envio síncrono de NF-e também.
Envio em Lote
O WS de recepção de NFC-e/NF-e exige que a NFC-e/NF-e esteja contida em uma estrutura de lote, mesmo que seja uma única NFC-e/NF-e, assim esta funcionalidade insere a NFC-e/NF-e em lote para realizar o envio, o lote criado pode ser observado em msgDados.
Processo Síncrono
O processo de recepção é síncrono, assim o WS já devolve o resultado do processamento da NF-e/NFC-e.
Escolha do Ambiente
A funcionalidade utiliza o valor informado na tag tpAmb da NFC-e/NF-e, assim o usuário deve tomar o cuidado de informar o tpAmb corretamente para que a NFC-e/NF-e não seja enviada para o ambiente indesejado.
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.
Novidades:
- suporte para versão 4.00 do leiaute da NF-e e NFC-e - NT 2016/002 v1.20
Parâmetros:
nome | tipo | fluxo | descrição |
---|---|---|---|
siglaWS | string | entrada | informar a sigla do WS de envio, veja Tabela de siglaWS |
NFe | string | entrada | informar a NFC-e/NF-e que deseja transmitir. A NFC-e deve estar previamente assinada com a funcionalidade AssinarNFCE400, pois esta funcionalidade não consegue acrescentar a url de consulta (QR Code). |
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". |
versao | string | entrada | informar a versão da mensagem do WS - 3.00, 3.10 ou 4.00 [15-08-17] |
msgDados | string | saída | retorna a mensagem XML enviada para o 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 |
nroProtocolo | string | saída | retorna o número do protocolo de autorização de uso da NFC-e/NF-e. Caso a SEFAZ não ofereça a recepção síncrona (cStat = 6426 - msgResultado = "6426 - Erro: A SEFAZ não oferece a possibilidade de recepção síncrona, nRec atribuído ao lote=[nRec] ), a DLL devolve o nRec neste parâmetro, cabendo ao usuário fazer buscar o resultado do processamento do lote utilizando a funcionalidade BuscaLoteV3 utilizando o nRec que é devolvido no parâmetro nroProtocolo. |
dhProtocolo | string | saída | retorna a data e hora da autorização de uso da NFC-e/NF-e. A DLL devolve a data de recebimento dhRecbto neste parâmetro em caso de erro "6426 - Erro: A SEFAZ não oferece a possibilidade de recepção síncrona, nRec atribuído ao lote=[nRec]", a DLL devolve o nRec neste parâmetro, cabendo ao usuário fazer buscar o resultado do processamento do lote utilizando a funcionalidade BuscaLoteV3 utilizando o nRec que é devolvido no parâmetro nroProtocolo. |
NFeAssinada | string | saída | retorna a NFC-e/NF-e assinada |
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 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, para maiores detalhes veja as condições de uso |
Retorno:
O resultado da chamada do EnviaNFSincrono é o XML da procNFe da NFC-e/NF-e autorizada ou denegada, em caso de rejeição o retorno será "".
O parâmetro cStat retorna um código numérico com os seguintes significados:
cStat - código devolvido pelo Web Service da SEFAZ
A relação abaixo é meramente exemplificativa e não está atualizada. Como a SEFAZ cria novas validações que resultam em novos códigos de retorno, procure analisar o retorno do msgResultado que devolve a literal da mensagem de erro e não deixe de consultar as NT e o MOC que são as documentações técnicas oficiais da NF-e. A simples busca do conteúdo do msgResultado no google pode ajudar a compreender o motivo do problema e a solução do caso.
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 | - |
5503 | Erro: XML mal formado [MENSAGEM DE ERRO DO WINDOWS] | DLL | - |
5504 | Erro: Arquivo Schemal XML [nome do arquivo XML] não localizado na pasta [nome do pasta]} | DLL | - |
5505 | Erro: XML não atende a especificação do Schema XML | DLL | - |
5408 | Erro: Falha na criação do objeto certificate: [mensagem do ERRO DO WINDOWS] | DLL | - |
6301 | Erro: A NF-e a ser enviada não deve estar assinada, pois a NF-e será assinada pela DLL | DLL | - |
6302 | Erro: XML da NF-e de entrada (NFe) mal formado: [mensagem de ERRO DO WINDOWS] | DLL | - |
6303 | Erro: tag tpAmb inexistente na NF-e de entrada (NFe) [mensagem de erro] | DLL | - |
6304 | Erro: tag infNFe inexistente na NF-e de entrada (NFe) | DLL | - |
6305 | Erro: Atributo Id não localizado na tag infNFe da NF-e, validação da licença de uso prejudicada [CONTEUDO] | DLL | - |
6309 | Erro: O CNPJ informado tem tamanho diferente de 14 - [valor informado] - tamanho = [TAMANHO] | DLL | - |
6310 | Erro: A licença informada tem tamanho diferente de 128 - [CONTEUDO] - tamanho = {TAMANHO], o uso da DLL em ambiente de produção requer a informação da licença de uso. | DLL | - |
6311 | Erro: Funcionalidade: EnviaNFe não licenciada para o CNPJ: [valor informado] e licenca [TAMANHO] | DLL | - |
6312 | Erro: Atributo versão não localizado na tag infNFe da NF-e | DLL | - |
6313 | Erro: Versao inválida, diferente de 1.10 e 2.00 [valor informado] | DLL | - |
6314 | Erro: O conteúdo do atributo Id da tag infNFe é inválida | DLL | - |
6315 | Erro: Versao da NF-e inválida, diferente de 3.00 e 3.10 [valor obtido no XML da NF-e] | DLL | - |
6426 | Erro: A SEFAZ não oferece a possibilidade de recepção síncrona, nRec atribuído ao lote=[0:"valor obtido no XML da NF-e"] | ||
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 | - |
100 | Autorizado o uso da NF-e | WS | - |
150 | Autorizado o uso da NF-e, autorização fora de prazo | WS | - |
108 | Serviço Paralisado Momentaneamente (curto prazo) | WS | B03 |
109 | Serviço Paralisado sem Previsão | WS | B04 |
203 | Rejeição: Emissor não habilitado para emissão da NF-e | WS | G1C02.1 |
204 | Rejeição: Duplicidade de NF-e | WS | G1B08.1 |
205 | Rejeição: NF-e está denegada na base de dados da SEFAZ | WS | G1B08.3 |
206 | Rejeição: NF-e já está inutilizada na Base de dados da SEFAZ | WS | G1B08.4 |
207 | Rejeição: CNPJ do emitente inválido | WS | GC02 |
208 | Rejeição: CNPJ do destinatário inválido | WS | GE02.2 |
209 | Rejeição: IE do emitente inválida | WS | GC17.1 |
210 | Rejeição: IE do destinatário inválida | WS | GE17.1 |
211 | Rejeição: IE do substituto inválida | WS | GC18.1 |
212 | Rejeição: Data de emissão NF-e posterior a data de recebimento | WS | GB09 |
214 | Rejeição: Tamanho da mensagem excedeu o limite estabelecido | WS | B01 |
215 | Rejeição: Falha no schema XML | WS | D01 |
218 | Rejeição: NF-e já esta cancelada na base de dados da SEFAZ | WS | G1B08.2 |
223 | Rejeição: CNPJ do transmissor do lote difere do CNPJ do transmissor da consulta | WS | E05 |
225 | Rejeição: Falha no Schema XML do lote de NFe | WS | D01 |
226 | Rejeição: Código da UF do Emitente diverge da UF autorizadora | WS | GB02 |
228 | Rejeição: Data de Emissão muito atrasada | WS | GB09.1 |
229 | Rejeição: IE do emitente não informada | WS | GC17 |
230 | Rejeição: IE do emitente não cadastrada | WS | G1C17 |
231 | Rejeição: IE do emitente não vinculada ao CNPJ | WS | G1C17.1 |
233 | Rejeição: IE do destinatário não cadastrada | WS | G1E17.1 |
234 | Rejeição: IE do destinatário não vinculada ao CNPJ | WS | G1E17.2 |
235 | Rejeição: Inscrição SUFRAMA inválida | WS | GE18 |
237 | Rejeição: CPF do destinatário inválido | WS | GE03 |
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 |
242 | Rejeição: Cabeçalho - Falha no Schema XML | WS | C01 |
243 | Rejeição: XML Mal Formado | WS | B02 |
245 | Rejeição: CNPJ Emitente não cadastrado | WS | G1C02 |
246 | Rejeição: CNPJ Destinatário não cadastrado | WS | G1E17 |
247 | Rejeição: Sigla da UF do Emitente diverge da UF autorizadora | WS | GC12 |
248 | Rejeição: UF do Recibo diverge da UF autorizadora | WS | E02 |
251 | Rejeição: UF/Município destinatário não pertence a SUFRAMA | WS | GE18.1 |
252 | Rejeição: Ambiente informado diverge do Ambiente de recebimento | WS | GB24 |
252 | Rejeição: Ambiente informado diverge do Ambiente de recebimento | WS | E01 |
253 | Rejeição: Digito Verificador da chave de acesso composta inválida | WS | GB23 |
254 | Rejeição: NF-e complementar não possui NF referenciada | WS | GB25 |
255 | Rejeição: NF-e complementar possui mais de uma NF referenciada | WS | GB25.1 |
266 | Rejeição: Série utilizada fora da faixa permitida no Web Service (0-889) | WS | GB07 |
267 | Rejeição: NF Complementar referencia uma NF-e inexistente | WS | G1B25 |
268 | Rejeição: NF Complementar referencia uma outra NF-e Complementar | WS | G1B25.1 |
269 | Rejeição: CNPJ Emitente da NF Complementar difere do CNPJ da NF Referenciada | WS | GB25.2 |
270 | Rejeição: Código Município do Fato Gerador: dígito inválido | WS | GB12 |
271 | Rejeição: Código Município do Fato Gerador: difere da UF do emitente | WS | GB12.1 |
272 | Rejeição: Código Município do Emitente: dígito inválido | WS | GC10 |
273 | Rejeição: Código Município do Emitente: difere da UF do emitente | WS | GC10.1 |
274 | Rejeição: Código Município do Destinatário: dígito inválido | WS | GE10 |
275 | Rejeição: Código Município do Destinatário: difere da UF do Destinatário | WS | GE10.1 |
276 | Rejeição: Código Município do Local de Retirada: dígito inválido | WS | GF07.1 |
277 | Rejeição: Código Município do Local de Retirada: difere da UF do Local de Retirada | WS | GF07.2 |
278 | Rejeição: Código Município do Local de Entrega: dígito inválido | WS | GG07.1 |
279 | Rejeição: Código Município do Local de Entrega: difere da UF do Local de Entrega | WS | GG07.2 |
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 |
287 | Rejeição: Código Municípío do FG - ISSQN: dígito inválido | WS | GU05 |
288 | Rejeição: Código Município do FG - Transporte: dígito inválido | WS | GX17 |
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 |
298 | Rejeição: Assinatura difere do padrão do Projeto | WS | F01 |
297 | Rejeição: Assinatura difere do calculado | WS | F02 |
299 | Rejeição: XML da área de cabeçalho com codificação diferente de UTF-8 | WS | C01a |
301 | Uso Denegado: Irregularidade fiscal do emitente | WS | G1C17.2 |
302 | Uso Denegado: Irregularidade fiscal do destinatário | WS | G117.3 |
401 | Rejeição: CPF do remetente inválido | WS | GC02a.1 |
402 | Rejeição: XML da área de dados com codificação diferente de UTF-8 | WS | D03 |
403 | Rejeição: O grupo de informações da NF-e avulsa é de uso exclusivo do Fisco | WS | GD01 |
404 | Rejeição: Uso de prefixo de namespace não permitido | WS | D02 |
407 | Rejeição: O CPF só pode ser informado no campo emitente para a NF-e avulsa | WS | GC02a |
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 |
451 | Rejeição: Processo de emissão informado inválido | WS | GB26 |
478 | Rejeição: Local da entrega não informado para faturamento direto de veículos novos | WS | GC18 |
502 | Rejeição: Erro na Chave de Acesso - Campo Id não corresponde à concatenação dos campos correspondentes | WS | GA03 |
503 | Rejeição: Série utilizada fora da faixa permitida no SCAN (900-999) | WS | GB07.1 |
504 | Rejeição: Data de Entrada/Saída posterior ao permitido | WS | GB10 |
505 | Rejeição: Data de Entrada/Saída anterior ao permitido | WS | GB10.1 |
506 | Rejeição: Data de Saída menor que a Data de Emissão | WS | GB10.2 |
507 | Rejeição: O CNPJ do destinatário/remetente não deve ser informado em operação com o exterior | WS | GE02 |
508 | Rejeição: O CNPJ com conteúdo nulo só é válido em operação com exterior. | WS | GE02.1 |
509 | Rejeição: Informado código de município diferente de “9999999” para operação com o exterior | WS | GE10.2 |
510 | Rejeição: Operação com Exterior e Código País destinatário é 1058 (Brasil) ou não informado | WS | GE14 |
511 | Rejeição: Não é de Operação com Exterior e Código País destinatário difere de 1058 (Brasil) | WS | GE14.1 |
512 | Rejeição: CNPJ do Local de Retirada inválido | WS | GF02 |
513 | Rejeição: Código Município do Local de Retirada deve ser 9999999 para UF retirada = “EX”. | WS | GF07 |
514 | Rejeição: CNPJ do Local de Entrega inválido | WS | GG02 |
515 | Rejeição: Código Município do Local de Entrega deve ser 9999999 para UF entrega = “EX”. | WS | GG07 |
518 | Rejeição: CFOP de entrada para NF-e de saída | WS | GI08 |
519 | Rejeição: CFOP de saída para NF-e de entrada | WS | GI08.1 |
520 | Rejeição: CFOP de Operação com Exterior e UF destinatário difere de “EX” | WS | GI08.2 |
521 | Rejeição: CFOP de Operação Estadual e UF do emitente difere da UF do destinatário para destinatário contribuinte do ICMS. | WS | GI08.3 |
522 | Rejeição: CFOP de Operação Estadual e UF emitente difere da UF remetente para remetente contribuinte do ICMS. | WS | GI08.4 |
523 | Rejeição: CFOP não é de Operação Estadual e UF emitente igual à UF destinatário. | WS | GI08.5 |
524 | Rejeição: CFOP de Operação com Exterior e não informado NCM completa | WS | GI08.6 |
525 | Rejeição: CFOP de Importação e não informado dados da DI | WS | GI08.7 |
526 | Rejeição: CFOP de Exportação e não informado Local de Embarque | WS | GI08.8 |
527 | Rejeição: Operação de Exportação com informação de ICMS incompatível | WS | GN12 |
528 | Rejeição: Valor do ICMS difere do produto BC e Alíquota | WS | GN17 |
529 | Rejeição: NCM de informação obrigatória para produto tributado pelo IPI | WS | GO07 |
530 | Rejeição: Operação com Tributação de ISSQN sem informar a Inscrição Municipal | WS | GU01 |
531 | Rejeição: Total da BC ICMS difere do somatório dos itens | WS | GW03 |
532 | Rejeição: Total do ICMS difere do somatório dos itens | WS | GW04 |
533 | Rejeição: Total da BC ICMS-ST difere do somatório dos itens | WS | GW05 |
534 | Rejeição: Total do ICMS-ST difere do somatório dos itens | WS | GW06 |
535 | Rejeição: Total do Frete difere do somatório dos itens | WS | GW08 |
536 | Rejeição: Total do Seguro difere do somatório dos itens | WS | GW09 |
537 | Rejeição: Total do Desconto difere do somatório dos itens | WS | GW10 |
538 | Rejeição: Total do IPI difere do somatório dos itens | WS | GW12 |
539 | Rejeição: Duplicidade de NF-e, com diferença na Chave de Acesso [99999999999999999999999999999999999999999] | WS | G1B08 |
540 | Rejeição: CPF do Local de Retirada inválido | WS | GF02a |
541 | Rejeição: CPF do Local de Entrega inválido | WS | GG02a |
542 | Rejeição: CNPJ do Transportador inválido | WS | GX04 |
545 | Rejeição: Falha no schema XML - versão informada na versaoDados do SOAPHeader diverge da versão da mensagem | WS | D01c |
544 | Rejeição: IE do Transportador inválida | WS | GX07.1 |
547 | Rejeição: Dígito Verificador da Chave de Acesso da NF-e Referenciada inválido | WS | GB13 |
548 | Rejeição: CNPJ da NF referenciada inválido. | WS | GB17 |
549 | Rejeição: CNPJ da NF referenciada de produtor inválido. | WS | GB20d |
550 | Rejeição: CPF da NF referenciada de produtor inválido. | WS | GB20e |
551 | Rejeição: IE da NF referenciada de produtor inválido. | WS | GB20f |
552 | Rejeição: Dígito Verificador da Chave de Acesso do CT-e Referenciado inválido | WS | GB20i |
553 | Rejeição: Tipo autorizador do recibo diverge do Órgão Autorizador. | WS | E02a |
556 | Rejeição: Justificativa de entrada em contingência não deve ser informada para tipo de emissão normal | WS | GB22 |
557 | Rejeição: A Justificativa de entrada em contingência deve ser informada | WS | GB22.1 |
558 | Rejeição: Data de entrada em contingência posterior a data de recebimento | WS | GB28 |
559 | Rejeição: UF do Transportador não informada | WS | GX07 |
560 | Rejeição: CNPJ base do emitente difere do CNPJ base da primeira NF-e do lote recebido | WS | GC02.1 |
564 | Rejeição: Total do Produto/Serviço difere do somatório dos itens | WS | GW07 |
565 | Rejeição: Falha no schema XML - inexiste a tag raiz esperada para o lote | WS | D01a |
567 | Rejeição: Falha no schema XML - versão informada na versaoDados do SOAPHeader diverge da versão da mensagem | WS | D01c |
568 | Rejeição: Falha no schema XML - inexiste atributo versao na tag raiz da mensagem | WS | D01b |
569 | Rejeição: Data de entrada em contingência muito atrasada | WS | GB28a |
570 | Rejeição: tpEmis = 3 só é válido na contingência SCAN | WS | GB22.2 |
571 | Rejeição: O tpEmis informado diferente de 3 para contingência SCAN | WS | GB22.3 |
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 |
590 | Rejeição: Informado CST para emissor do Simples Nacional (CRT=1) | WS | GN12.1 |
591 | Rejeição: Informado CSOSN para emissor que não é do Simples Nacional (CRT diferente de 1) | WS | GN12a |
592 | Rejeição: A NF-e deve ter pelo menos um item de produto sujeito ao ICMS | WS | GU01.1 |
595 | Rejeição: Versão de leiaute da NF-e utilizada não é mais válida | WS | GB09.02 |
596 | Rejeição: Ambiente de homologação indisponível para recepção de NF-e da versão 1.10 | WS | GB09.03 |
597 | Rejeição: CFOP de Importação e não informado dados de IPI | WS | GI08.7a |
598 | Rejeiçã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 FISCAL | WS | GB09.03 |
599 | Rejeição: CFOP de Importação e não informado dados de II | WS | GI08.7b |
601 | Rejeição: Total do II difere do somatório dos itens | WS | GW11 |
602 | Rejeição: Total do PIS difere do somatório dos itens sujeitos ao ICMS | WS | GW13 |
603 | Rejeição: Total do COFINS difere do somatório dos itens sujeitos ao ICMS | WS | GW14 |
604 | Rejeição: Total do vOutro difere do somatório dos itens | WS | GW13 |
605 | Rejeição: Total do vServ difere do somatório do vProd dos itens sujeitos ao ISSQN | WS | GW18 |
606 | Rejeição: Total do vBC do ISS difere somatório dos itens | WS | GW19 |
607 | Rejeição: Total do ISS difere do somatório dos itens | WS | GW20 |
608 | Rejeição: Total do PIS difere do somatório dos itens sujeitos ao ISSQN | WS | GW21 |
609 | Rejeição: Total do COFINS difere do somatório dos itens sujeitos ao ISSQN | WS | GW22 |
610 | Rejeição: Total da NF difere do somatório dos Valores que compõe o valor total da NF | WS | GW16 |
611 | Rejeição: Total da NF superior ao valor limite estabelecido pela SEFAZ[Limite] | WS | GW16a |
611 | Rejeição: cEAN inválido | WS | GI03 |
612 | Rejeição: cEANTrib inválido | WS | GI12 |
621 | Rejeição: CPF Emitente não cadastrado | WS | G1C02a |
623 | Rejeição: CPF Destinatário não cadastrado | WS | G1E17.4 |
624 | Rejeição: IE Destinatário não vinculada ao CPF | WS | - |
625 | Rejeição: Inscrição SUFRAMA deve ser informada na venda com isenção para ZFM | WS | GN28 |
626 | Rejeição: O CFOP de operação isenta para ZFM deve ser 6109 ou 6110 | WS | GN28.1 |
627 | Rejeição: O valor do ICMS desonerado deve ser informado | WS | GN28.2 |
629 | Rejeição: Valor do produto difere do produto Valor Unitário de Comercialização e Quantidade Comercial | WS | GI10a |
630 | Rejeição: Valor do Produto difere do produto Valor Unitário de Tributação e Quantidade Tributável | WS | GI14a |
635 | Rejeição: NF-e com mesmo número e série já transmitida e aguardando processamento | WS | G1B08.5 |
xxx | Rejeição: (novas mensagens de rejeição do WS) | 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 (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)
- 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
- 6301 - 6314 - falha no tratamento dos pârametros da chamada da DLL
- 7001 - 7003 - falha na validação da licença
Histórico de atualização:
- 2013-12-09 - 2Gv2.01 - Versão beta preliminar.
- 2017-08-15 - 2Gv4.00 - atualização para suportar a versão 4.00.
Mensagens XML - versão 3.00:
Exemplo de NFC-e
<?xml version="1.0" encoding="UTF-8"?> <NFe xmlns="http://www.portalfiscal.inf.br/nfe"> <infNFe versao="3.00" Id="NFe13131210142785000190657770000000011810866753"> <ide> <cUF>13</cUF> <cNF>81086675</cNF> <natOp>Venda</natOp> <indPag>1</indPag> <!-- novo modelo --> <mod>65</mod> <serie>777</serie> <nNF>1</nNF> <!-- data/hora/fuso --> <dhEmi>2013-12-09T00:54:40-02:00</dhEmi> <tpNF>1</tpNF> <!-- nova tag --> <idDest>1</idDest> <cMunFG>1302603</cMunFG> <!-- novo valor --> <tpImp>4</tpImp> <tpEmis>1</tpEmis> <cDV>3</cDV> <tpAmb>2</tpAmb> <finNFe>1</finNFe> <!-- nova tag --> <indFinal>1</indFinal> <!-- nova tag --> <indPres>1</indPres> <procEmi>0</procEmi> <verProc>DLL_NFe_2G v3.00</verProc> </ide> <emit> <CNPJ>10142785000190</CNPJ> <xNome>M R M KATO ASAKURA - EIRELI - EPP</xNome> <enderEmit> <xLgr>AVENIDA DOUTOR ALTINO ARANTES</xLgr> <nro>131</nro> <xCpl>14 ANDAR - SALA 145</xCpl> <xBairro>CENTRO</xBairro> <cMun>1302603</cMun> <xMun>Manaus</xMun> <UF>AM</UF> <CEP>69075830</CEP> </enderEmit> <IE>495171423115</IE> <CRT>1</CRT> </emit> <!-- possibilidade de omitir o destinatário --> <det nItem="1"> <prod> <cProd>001152</cProd> <cEAN>7897844200115</cEAN> <xProd>Cola Especial para EPS</xProd> <NCM>35</NCM> <CFOP>5403</CFOP> <uCom>UN</uCom> <qCom>10</qCom> <vUnCom>1</vUnCom> <vProd>10.00</vProd> <cEANTrib>7897844200115</cEANTrib> <uTrib>UN</uTrib> <qTrib>10</qTrib> <vUnTrib>1</vUnTrib> <indTot>1</indTot> </prod> <imposto> <vTotTrib>3.80</vTotTrib> <ICMS> <ICMSSN500> <orig>0</orig> <CSOSN>500</CSOSN> <vBCSTRet>10.00</vBCSTRet> <vICMSSTRet>0.90</vICMSSTRet> </ICMSSN500> </ICMS> </imposto> </det> <det nItem="2"> <prod> <cProd>002342</cProd> <cEAN>7897975018214</cEAN> <xProd>CANETA P/ CD DVD MAXPRINT</xProd> <NCM>35</NCM> <CFOP>5403</CFOP> <uCom>UN</uCom> <qCom>3</qCom> <vUnCom>2.00</vUnCom> <vProd>6.00</vProd> <cEANTrib>7897975018214</cEANTrib> <uTrib>UN</uTrib> <qTrib>3</qTrib> <vUnTrib>2.00</vUnTrib> <indTot>1</indTot> </prod> <imposto> <vTotTrib>2.40</vTotTrib> <ICMS> <ICMSSN500> <orig>0</orig> <CSOSN>500</CSOSN> <vBCSTRet>6.00</vBCSTRet> <vICMSSTRet>0.54</vICMSSTRet> </ICMSSN500> </ICMS> <!-- omissão do grupo PIS/COFINS --> </imposto> </det> <total> <ICMSTot> <vBC>0.00</vBC> <vICMS>0.00</vICMS> <vBCST>0.00</vBCST> <vST>0.00</vST> <vProd>16.00</vProd> <vFrete>0.00</vFrete> <vSeg>0.00</vSeg> <vDesc>0.00</vDesc> <vII>0.00</vII> <vIPI>0.00</vIPI> <vPIS>0.00</vPIS> <vCOFINS>0.00</vCOFINS> <vOutro>0.00</vOutro> <vNF>16.00</vNF> <vTotTrib>6.20</vTotTrib> </ICMSTot> </total> <transp> <modFrete>9</modFrete> </transp> <!-- novo grupo de informação --> <pag> <tPag>01</tPag> <vPag>16.00</vPag> </pag> </infNFe> <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="#NFe13131210142785000190657770000000011810866753"> <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>iXh8nCvaijDrja/P6ml5hyGnnIM=</DigestValue> </Reference> </SignedInfo> <SignatureValue>ffRML+bWGOUyc(...)YAGb4tj/TTZjpiuu6OejmNKA==</SignatureValue> <KeyInfo> <X509Data> <X509Certificate>MIIHHjCCBQagA(...)wM75wko=</X509Certificate> </X509Data> </KeyInfo> </Signature> </NFe>
Resposta do WS para Lote Recebido
A SEFAZ/AM devolve o XML com a tag raiz diferente do projeto:
<retConsReciNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="3.00"> <tpAmb>2</tpAmb> <verAplic>AM3.00</verAplic> <nRec>130000003125460</nRec> <cStat>104</cStat> <xMotivo>Lote processado</xMotivo> <cUF>13</cUF> <dhRecbto>2013-12-08T21:20:48-04:00</dhRecbto> <protNFe versao="3.00"> <infProt> <tpAmb>2</tpAmb> <verAplic>AM3.00</verAplic> <chNFe>13131210142785000190657770000000011810866753</chNFe> <dhRecbto>2013-12-08T21:20:48-04:00</dhRecbto> <cStat>230</cStat> <xMotivo>Rejeicao: IE do emitente nao cadastrada</xMotivo> </infProt> </protNFe> </retConsReciNFe>
Resposta com a tag raiz correta:
<retEnviNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="3.00"> <tpAmb>2</tpAmb> <verAplic>AM3.00</verAplic> <cStat>104</cStat> <xMotivo>Lote processado</xMotivo> <cUF>13</cUF> <dhRecbto>2013-12-08T21:20:48-04:00</dhRecbto> <protNFe versao="3.00"> <infProt> <tpAmb>2</tpAmb> <verAplic>AM3.00</verAplic> <chNFe>13131210142785000190657770000000011810866753</chNFe> <dhRecbto>2013-12-08T21:20:48-04:00</dhRecbto> <cStat>230</cStat> <xMotivo>Rejeicao: IE do emitente nao cadastrada</xMotivo> </infProt> </protNFe> </retEnviNFe>
Resposta do WS para erro de envio
<?xml version="1.0" encoding="UTF-8"?> <retEnviNFe versao="3.00" xmlns="http://www.portalfiscal.inf.br/nfe"> <tpAmb>2</tpAmb> <verAplic>RS20131127142908</verAplic> <cStat>410</cStat> <xMotivo>Rejeicao: UF informada no campo cUF nao e atendida pelo Web Service</xMotivo> <cUF>13</cUF> <dhRecbto>2013-12-09T23:23:55-02:00</dhRecbto> </retEnviNFe>
Exemplos de uso:
Delphi
procedure TForm1.Button2Click(Sender: TObject); var siglaWS, NFe, nomeCertificado,Versao, msgDados, msgRetWS,msgResultado, proxy, usuario, senha, licenca: Widestring; NFeAssinada,ProcNfe,nroProtocolo,dhProtocolo:Widestring; cStat:integer; Util: OleVariant; Fsaida: TextFile; begin Util := CreateOleObject('NFe_Util_2G.util'); // instancia DLL siglaWS:='SVRS'; NFe:=''; nomeCertificado:='CN=FLEXDOCS INFORMATICA LTDA:10142785000190, OU=presencial, OU=20085105000106, OU=RFB e-CNPJ A1, OU=Secretaria da Receita Federal do Brasil - RFB, L=OURINHOS, S=SP, O=ICP-Brasil, C=BR'; Versao:='4.00'; msgDados:=''; msgRetWS:=''; cStat:=0; msgResultado:=''; nroProtocolo:=''; dhProtocolo:=''; NFeAssinada:=''; proxy:=''; usuario:=''; senha:=''; licenca:=''; // exemplo para ler um xml NFe := Util.LeArquivoANSI('c:\nota.xml', cStat, msgResultado); if (cStat = 7330) then begin ProcNfe:= Util.EnviaNFSincrono(siglaWS, NFe, nomeCertificado,Versao, msgDados, msgRetWS,cStat, msgResultado, nroProtocolo, dhProtocolo, NFeAssinada, proxy, usuario, senha, licenca); if (cStat = 100) or (cStat=150) then begin AssignFile(Fsaida, 'c:\procNFe.xml'); Rewrite(Fsaida); Write(Fsaida, ProcNfe); CloseFile(Fsaida); end else begin AssignFile(Fsaida, 'c:\NFeAssinada.xml'); Rewrite(Fsaida); Write(Fsaida, NFeAssinada); CloseFile(Fsaida); MessageDlg( msgResultado, mtInformation, [mbOk], 0); end; end else begin MessageDlg( msgResultado, mtInformation, [mbOk], 0); end; end;
- 12.2.3. EnviaNFSincrono [15-08-17]
12.2. Envio de uma NF-e individual - « Anterior
12.2.2. BuscaNFe2G [15-08-17] - Próximo »
12.3. Cancelamento e Inutilização de NF-e [15-08-17]