Carta de Correção eletrônica
string EnviaCCe2G(string siglaWS, int tipoAmbiente, string nomeCertificado, string versao, out string msgDados, out string msgRetWS, out int cStat, out string msgResultado, string chaveNFe, string textoCorrecao, int textoAcentuado, int nroCorrecao, string dataCorrecao, out string nroProtocolo, out string dhProtocolo, string proxy, string usuario, string senha, string licenca)
Funcionalidade para Carta de Correção de NF-e
Os principais parâmetros da carta de correção são:
- chave de acesso da NF-e objeto da correção;
- data da correção;
- sequencial da correção (1 a 20), a última correção deve substituir a correção anterior;
- texto da correção, texto livre com tamanho limitado a 1000 caracteres;
- indicador de texto acentuado.
NF-e autorizada, não é possível corrigir uma NF-e cancelada;
Prazo de envio da carta de correção
Enquanto existir a NF-e para consulta simplificada;
Quantidade máxima de carta de correção
Uma NF-e pode ter até 20 cartas de correção e a última carta substitui as anteriores, assim o emissor deve consolidar o texto na nova carta de correção.
A carta de correção deve ser enviada para a SEFAZ de origem do emissor da NF-e objeto de correção, a identificação do WS de acessado deverá ser informada no parâmetro siglaWS.
• 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);
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.
- A CC-e é de uso obrigatório?
A partir de 01/07/2012 não será mais permitido o uso da carta de correção em papel para correção de campos específicos de NF-e, conforme disposto no § 7º da Cláusula décima quarta-A do Ajuste SINIEF 07/05:
“Cláusula décima quarta-A Após a concessão da Autorização de Uso da NF-e, de que trata a cláusula sétima, durante o prazo estabelecido no ‘Manual de Integração – Contribuinte’ o emitente poderá sanar erros em campos específicos da NF-e, observado o disposto no §1º- A do art. 7º do Convênio SINIEF s/nº de 1970, por meio de Carta de Correção Eletrônica – CC-e, transmitida à Administração Tributária da unidade federada do emitente.
(…)
§ 7º A partir de 1º de julho de 2012 não poderá ser utilizada carta de correção em papel para sanar erros em campos específicos de NF-e.” - Quando podemos emitir a CC-e?
A CC-e pode ser emitida para “corrigir” alguns erros de preenchimento da Nota Fiscal eletrônica. - O que pode ser corrigido com a CC-e?
O Ajuste SINIEF 01/07 veda a correção das seguintes informações relacionadas com o Fato Gerador do ICMS da NF-e:
I – as variáveis que determinam o valor do imposto tais como: base de cálculo, alíquota, diferença de preço, quantidade, valor da operação ou da prestação;
II – a correção de dados cadastrais que implique mudança do remetente ou do destinatário;
III – a data de emissão ou de saída. - O que devo fazer se precisar alterar a base de cálculo, alíquota, diferença de preço, quantidade, valor da operação ou da prestação?
- para aumentar o valor do ICMS ou da operação – o procedimento correto é a emissão da NF-e de complemento do ICMS ou da NF-e de complemento de Valor;
- para reduzir o valor do ICMS – se o valor do ICMS foi destacado a maior não existe uma forma padrão de saneamento do problema, depende da UF. A única regra padrão é que o destinatário não pode fazer o crédito de ICMS maior que o devido na operação, mesmo que o emitente tenha destacado um valor maior;
- para reduzir o valor da operação – o procedimento mais adequado seria o destinatário recusar o recebimento da mercadoria ou fazer a devolução da mercadoria para anular a operação e receber a NF-e com o valor correto.
- O que devo fazer para corrigir os dados cadastrais que implique mudança do remetente ou do destinatário?
Não existe regra objetiva que define quais são as alterações de dados cadastrais que implicam na mudança do remetente ou do destinatário, assim o emissor e o destinatário terão menos dor de cabeça se não tentarem corrigir qualquer informação relacionado com os dados cadastrais do remetente ou do destinatário, para minizar o problema recomendamos as seguintes ações:- O emissor deve tentar obter os dados cadastrais do remetente ou do destinatário através do Portal da SEFAZ, muitas SEFAZ já oferecem a consulta cadastro que permite obter os dados cadastrais do contribuintes do ICMS.
- O destinatário deve recusar o recebimento de mercadorias acobertadas com NF-e que não tenham os dados do destinatário corretos.
- O que devo fazer se precisar alterar a data de emissão ou a data de saída?
Em algumas situações é possível que a mercadoria fique à disposição para retirada do transportador, mas a retirada ocorra com atraso. O procedimento mais adequado nesta situação é a substituição da NF-e com a emissão de uma nova NF-e com a data de emissão e/ou data de saída correta.
- É possível emitir a CC-e para acompanhar o trânsito de uma mercadoria?
Não existe impedimento para emitir uma CC-e para corrigir uma NF-e de mercadoria qua ainda não deu saída da empresa, contudo o procedimento mais adequado nesta situação é o cancelamento da NF-e incorreta e a emissão de uma NF-e com os dados corretos. - Existe algum modelo ou leiaute para imprimir a CC-e?
Não existe modelo ou leiaute de impressão da CC-e, assim como inexiste o modelo de impresso para a carta de correção em papel. Entendemos que a carta de correção é uma correspondência do emissor emitida para o remetente/destinatário para informar o erro de preenchimento da NF-e e pode ser impressa no padrão que o emissor julgar conveniente. - O que devo informar na CC-e?
- chave de acesso da NF-e objeto da correção;
- data e hora da correção;
- sequencial da correção (1 a 20), a última correção deve substituir a correção anterior;
- texto da correção, texto livre com tamanho limitado a 1000 caracteres;
- Como deve ser informado o texto da correção?
O texto da correção é um texto livre com tamanho limitado a 1000 caracteres e inexiste modelo ou padrão do texto, assim o emissor deve descrever de forma clara e objetiva a correção que deve ser considerada. - Já tenho uma carta de correção registrada e preciso fazer uma nova carta de correção, como devo agir?
A carta de correção com data mais recente substitui as cartas de correções existentes, assim a nova carta de correção deve consolidar todas as correções. - Emiti uma carta de correção com dados incorretos, como devo agir?
A carta de correção com data mais recente substitui as cartas de correções existentes, assim basta emitir uma carta de correção com os dados corretos. - Emiti uma carta de correção para uma NF-e incorreta, como devo agir?
Não existe cancelamento de carta de correção, assim o procedimento mais adequado para esta situação seria a emissão de uma nova carta de correção que não tenha a correção indevida. - O que devo fazer com a carta de correção emitida?
O XML da carta de correção e a resposta de registro da carta de correção deve ser mantida em arquivo pelo emissor, além de ser enviada para o destinatário. - A carta de correção deve ser enviada para o destinatário?
Sim, o XML da carta de correção e a resposta de registro da carta de correção deve ser enviada para o destinatário. - A carta de correção deve ser impressa?
A Carta de Correção eletrônica é um documento eletrônico e não precisa ser impressa. - A NF-e também é um documento eletrônico, mas imprimimos o DANFE, não vale o mesmo raciocínio para a CC-e?
Para a NF-e existe o DANFE que é um documento fiscal em papel previsto na legislação tributária necessário para acompanhar o trânsito da mercadoria acobertada por NF-e e não se confunde com a NF-e que é documento fiscal distinto do DANFE. Se fosse necessário imprimir a CC-e, a legislação teria criado um Documento Auxiliar da Carta de Correção eletrônico como fez com o DANFE. Assim, não existe previsão legal de impressão da Carta de Correção eletrônica, a obrigação do emissor é registrar a Carta de Correção eletrônica na SEFAZ e comunicar o destinatário, somente isto. Também cabe ressaltar que a Carta de Correção não é um documento fiscal formal, pois nem requer a AIDF – Autorização de Impressão de Documento Fiscal para uso da Carta de Correção.
Cláusula nona Fica instituído o Documento Auxiliar da NF-e – DANFE, conforme leiaute estabelecido no ‘Manual de Integração – Contribuinte’, para acompanhar o trânsito das mercadorias acobertado por NF-e ou para facilitar a consulta da NF-e, prevista na cláusula décima quinta.
§ 1º O DANFE somente poderá ser utilizado para transitar com as mercadorias após a concessão da Autorização de Uso da NF-e, de que trata o inciso III da cláusula sétima, ou na hipótese prevista na cláusula décima primeira.
§ 1º-A A concessão da Autorização de Uso será formalizada através do fornecimento do correspondente número de Protocolo, o qual deverá ser impresso no DANFE, conforme definido no ‘Manual de Integração – Contribuinte’, ressalvadas as hipóteses previstas na cláusula décima primeira.
§ 2º No caso de destinatário não credenciado para emitir NF-e, a escrituração da NF-e poderá ser efetuada com base nas informações contidas no DANFE, observado o disposto na cláusula décima.
§ 3º O DANFE utilizado para acompanhar o trânsito de mercadorias acobertado por NF-e será impresso em uma única via.
§ 4º O DANFE deverá ser impresso em papel, exceto papel jornal, no tamanho mínimo A4 (210 x 297 mm) e máximo ofício 2 (230 x 330 mm), podendo ser utilizadas folhas soltas, formulário de segurança, Formulário de Segurança para Impressão de Documento Auxiliar de Documento Fiscal Eletrônico (FS-DA), formulário contínuo ou formulário pré-impresso.”
§ 5º O DANFE deverá conter código de barras, conforme padrão estabelecido no ‘Manual de Integração – Contribuinte’.
§ 6º O DANFE poderá conter outros elementos gráficos, desde que não prejudiquem a leitura do seu conteúdo ou do código de barras por leitor óptico.
§ 7º As alterações de leiaute do DANFE permitidas são as previstas no Manual de Integração – Contribuinte.
§ 8º Os títulos e informações dos campos constantes no DANFE devem ser grafados de modo que seus dizeres e indicações estejam bem legíveis.
§ 9º A aposição de carimbos no DANFE, quando do trânsito da mercadoria, deve ser feita em seu verso.
§ 10. É permitida a indicação de informações complementares de interesse do emitente, impressas no verso do DANFE, hipótese em que sempre será reservado espaço, com a dimensão mínima de 10×15 cm, em qualquer sentido, para atendimento ao disposto no § 9º.
fonte:Ajuste SINIEF 07/05
- O meu cliente exige a Carta de Correção eletrônica impressa em papel, o que posso fazer?
Não existe nenhuma disposição legal que estabelece a necessidade de imprimir a Carta de Correção eletrônica em papel, assim o usuário pode enviar uma comunicação para destinatário informando as alterações registradas pela Carta de Correção eletrônica caso entenda conveniente. Importante observar que não existe nenhum modelo oficial de carta de correção, assim acreditamos que o mais adequado seja comunicar somente o registro da Carta de Correção eletrônica por e-mail para que o destinatário consulte o teor da Carta de Correção eletrônica no Portal da SEFAZ, podendo imprimi-la no portal caso entenda necessário.
“Cláusula décima quarta-A Após a concessão da Autorização de Uso da NF-e, de que trata a cláusula sétima, durante o prazo estabelecido no ‘Manual de Integração – Contribuinte’ o emitente poderá sanar erros em campos específicos da NF-e, observado o disposto no §1º- A do art. 7º do Convênio SINIEF s/nº de 1970, por meio de Carta de Correção Eletrônica – CC-e, transmitida à Administração Tributária da unidade federada do emitente.
§ 1º A Carta de Correção Eletrônica – CC-e deverá atender ao leiaute estabelecido no ‘Manual de Integração – Contribuinte’ e ser assinada pelo emitente com assinatura digital certificada por entidade credenciada pela Infra-estrutura de Chaves Públicas Brasileira – ICP-Brasil, contendo o nº do CNPJ de qualquer dos estabelecimentos do contribuinte, a fim de garantir a autoria do documento digital.
§ 2º A transmissão da CC-e será efetivada via Internet, por meio de protocolo de segurança ou criptografia.
§ 3º A cientificação da recepção da CC-e será feita mediante protocolo disponibilizado ao emitente, via Internet, contendo, conforme o caso, a “chave de acesso”, o número da NF-e, a data e a hora do recebimento da solicitação pela administração tributária da unidade federada do contribuinte e o número do protocolo, podendo ser autenticado mediante assinatura digital gerada com certificação digital da administração tributária ou outro mecanismo de confirmação de recebimento.
§ 4° Havendo mais de uma CC-e para a mesma NF-e, o emitente deverá consolidar na última todas as informações anteriormente retificadas.
§ 5º A administração tributária que recebeu a CC-e deverá transmití-la às administrações tributárias e entidades previstas na cláusula oitava.
§ 6º O protocolo de que trata o § 3º não implica validação das informações contidas na CC-e
§ 7º A partir de 1º de julho de 2012 não poderá ser utilizada carta de correção em papel para sanar erros em campos específicos de NF-e.
fonte:Ajuste SINIEF 07/05“
nome | tipo | fluxo | descrição |
---|---|---|---|
siglaWS | string | entrada | informar a sigla do WS desejado, veja Tabela de siglaWS |
tipoAmbiente | inteiro | entrada | informar o código do ambiente desejado: 1- produção ou 2-homologação |
NomeCertificado | string | entrada | informar o certificado digital que será utilizado para assinatura: 1. informar o assunto do certificado digital que deve existir no repositório MY do current user, ex.: “CN=NFe – Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS”. 2. informar: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] para uso do certificado digital em arquivo pfx, ex.: “ARQUIVO|c:\certificado.pfx|senha”. 3. informar: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado para passar uma string contendo um certificado digital em base64, ex.:”CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64…)QQDExNBQy|senha”. |
versao | string | entrada | informar a versão da mensagem do WS – 4.00. |
msgDados | string | saída | retorna a mensagem XML do evento carta de correção criado pela DLL que foi enviado ao WS. |
msgRetWS | string | saída | retorna a mensagem XML de resposta do WS |
cStat | inteiro | saída | retorna o resultado da chamada do WS. |
msgResultado | string | saída | retorna a literal do resultado da chamada do WS |
chaveNFe | string | entrada | informar a chave de acesso da NF-e objeto da carta de correção |
txtCorrecao | string | entrada | informar o texto da correção, texto livre com tamanho limitado a 1000 caracteres. A legislação tributária não permite a correção de todas as informações da NF-e: A Carta de Correção é disciplinada pelo § 1º-A do art. 7º do Convênio S/N, de 15 de dezembro de 1970 e pode ser utilizada para regularização de erro ocorrido na emissão de documento fiscal, desde que o erro não esteja relacionado com: I – as variáveis que determinam o valor do imposto tais como: base de cálculo, alíquota, diferença de preço, quantidade, valor da operação ou da prestação; II – a correção de dados cadastrais que implique mudança do remetente ou do destinatário; III – a data de emissão ou de saída. |
textoAcentuado | inteiro | entrada | indicador de mensagem com acentuação e caracteres especiais (0-não, 1- sim), este parâmetro é utilizado para informar as tags descEvento e xCondUso com acentuação. |
nroCorrecao | inteiro | entrada | informar o número sequencial da correção, deve ser iniciada com 1 e valor máximo é 20, campo de controle do usuário, o Web Service não permite a duplicidade de numeração e nem controla a ordem crescente. |
dataCorrecao | string | entrada | informar a data e hora do evento da carta de correção no formato “AAAA-MM-DD HH:MM:SS”. Ex. Delphi: FormatDateTime(‘yyyy-mm-dd “” hh:mm:ss’, Now); VB: Format$(Now, “yyyy-mm-dd HH:mm:ss”) Se a data e hora informada for maior que a data do WS vai ocorrer o erro 578, veja o retorno do WS e verifique se o horário do equipamento está sincronizado com o horário do WS. A data e hora é convertida em formato UTC – Universal Time Zone (representação do horário que considera o fuso em relação ao horário UTC), assim como existe a validação de schema XML para a data e hora, se o fuso horário do equipamento estiver com uma configuração que não seja a brasileira ocorrerá falha de schema XML. A DLL irá pegar a data e hora do equipamento se o conteúdo for omitido. [18-11-12] |
nProtocolo | string | saída | retorna o número do protocolo de registro do Evento. |
dhProtocolo | string | saída | retorna a data e hora de registro do Evento, a data passou a ser UTC com a indicação do fuso horário. |
proxy | string | entrada | informar ‘http://proxyserver:port’ quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo ‘http://192.168.15.1:443’ |
usuario | string | entrada | informar o usuário para autenticação no proxy, se necessário |
senha | string | entrada | informar a senha de autenticação no proxy, se necessário |
licenca | string | entrada | informar a chave da licenca de uso ou registro, esta funcionalidade pode ser utilizada sem qualquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento, para maiores detalhes veja as condições de uso |
O resultado da chamada do EnviaCCe é a mensagem XML composta pelo carta de correção e respectivo protocolo de homologação de vinculação de evento, que deverá ser mantido pelo emissor e disponibilizado para o destinatário da NF-e:
O parâmetro cStat retorna um código numérico com os seguintes significados:
código | Mensagem | origem | regra |
---|---|---|---|
5001 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: o certificado cliente: 1.não é ICP-Brasil; 2.fora do prazo de validade; 3.revogado; 4.certificado cliente não confiável para o Web Service acessado, contatar a SEFAZ) | DLL | – |
5002 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: a cadeia de certificação do Web Service acessado ou do certificado cliente inexistente no repositório de certificados do usuário corrente do Windows) | DLL | – |
5003 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: serviço inexistente, verifique se o nome do serviço da url acessada está correto no arquivo ws2.xml) | DLL | – |
5004 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: método não permitido) | DLL | – |
5005 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: a url não encontrada, verifique se o nome do domínio da url acessada está correto no arquivo ws2.xml) | DLL | – |
5006 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Time-Out, o WS não respondeu a solicitação no tempo estabelecido: [{1:0}]) | DLL | – |
5007 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: mensagem maior que a permitida) | DLL | – |
5008 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Servidor com problemas) | DLL | – |
5009 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Serviço não implementado) | DLL | – |
5010 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Serviço temporariamente indisponível, servidor sem recursos para atender a solicitação) | DLL | – |
5011 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Causa provável da falha na conexão: Rede indisponível) | DLL | – |
5012 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Versão do SOAP não suportada | DLL | – |
5013 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Web Service não consumido, não houve nenhum retorno ou resposta) | DLL | – |
5014 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Web Service não consumido, falha desconhecida) | DLL | – |
5015 | Erro: Falha na conexão: Tempo limite de time-out alcançado [TEMPO DE TIME OUT UTILIZADO ms] – [MENSAGEM DE ERRO DO WINDOWS] | DLL | – |
5016 | Erro: Falha na conexão: Falha da Biblioteca Criptografica: [MENSAGEM DE ERRO DO WINDOWS] | DLL | – |
5017 | Erro: Falha ao tratar o XML de retorno do WS: [MENSAGEM DE ERRO DO WINDOWS] | DLL | – |
5101 | Erro: A mensagem de retorno do WS não é um XML válido: [MENSAGEM DE ERRO DO WINDOWS] | DLL | – |
5102 | Erro: Tag cStat inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] | DLL | – |
5103 | Erro: Tag xMotivo inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] | DLL | – |
5104 | Erro: Tag [NOME TAG] inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] | DLL | – |
5105 | Erro: O WS não devolveu nenhum resultado | DLL | – |
5201 | Erro: O código do tipo de ambiente [CODIGO RECEBIDO PELA DLL] informado diferente de 1 – produção e 2 – homologação | DLL | – |
5202 | Erro: A sigla da UF [SIGLA RECEBIDA PELA DLL] informada é inválida | DLL | – |
5203 | Erro: Inexiste url para a UF [SIGLA UF] informada no ambiente [AMBIENTE] desejado, verifique se existe atualização do arquivo [NOME ARQUIVO] disponível. | DLL | – |
5204 | Erro: Arquivo que contem a URL do WS não localizado em [CAMINHO DA APLICACAO] | DLL | – |
5205 | Erro: Ocorreu um erro inesperado no processamento da URL (NOME URL) : [MENSAGEM DE ERRO DO WINDOWS] | DLL | – |
5206 | Erro: Ocorreu um erro de validação do XML (NOME XML) : [MENSAGEM DE ERRO DO WINDOWS] | DLL | – |
5403 | Erro: Falha ao acessar certificado digital [mensagem de ERRO DO WINDOWS] | DLL | – |
5404 | Erro: Nenhum certificado digital selecionado | DLL | |
5405 | Erro: Nenhum certificado válido foi encontrado com o nome [NomeCertificado] informado no repositório [MY do CurrentUser] | DLL | – |
5406 | Erro: Falha no tratamento do parâmetro nome: [nome informado] | DLL | – |
5407 | Erro: Quantidade de parâmetos inválido: [nome informado] | DLL | – |
5408 | Erro: Falha na criação do objeto certificate: [mensagem do ERRO DO WINDOWS] | DLL | – |
6101 | Erro: O parâmetro versao não foi informado | DLL | – |
6102 | Erro: O conteúdo do parâmetro sigla da UF: [conteúdo do parâmetro] é inválido | DLL | – |
6103 | Erro: O conteúdo do parâmetro versao informado é inválido: [conteúdo do parâmetro] | DLL | – |
6104 | Erro: O parâmetro chaveNFe não informado | DLL | – |
6105 | Erro: O tamanho [tamanho da chave da NFe] do parâmetro chaveNFe informado não tem 44 caracteres | DLL | – |
6106 | Erro: As posições correspondentes (1,2) ao código da UF [valor] do parâmetro chaveNFe não é um código de UF válido | DLL | – |
6107 | Erro: A chave de acesso deve ter 44 posições: [tamanho da chave] | DLL | – |
6110 | Erro: O nome do titular do certificado deve ser informado | DLL | – |
6120 | Erro: O parâmetro chave de acesso deve ser informado | DLL | – |
6123 | Erro: O parâmetro tipoAmbiente deve ser informado | DLL | – |
6124 | Erro: O parâmetro tipoAmbiente [conteúdo do parâmetro] deve ser 1 ou 2 | DLL | – |
6141 | Erro: O parâmetro siglaWS deve ser informado | DLL | – |
6143 | Erro: O parâmetro Justificativa deve ter pelo menos 15 caracteres: [conteúdo do parâmetro] | DLL | – |
6144 | Erro: O parâmetro indicador de Texto Acentuado deve ser informado | DLL | – |
6145 | Erro: O parâmetro indicador de Texto Acentuado [conteúdo do parâmetro] deve ser informado com: 0-não acetuado ou 1-acentuado | DLL | – |
6146 | Erro: O parâmetro correcao deve ser informado | DLL | – |
6147 | Erro: O parâmetro correcao deve ter pelo menos 15 caracteres: [conteúdo do parâmetro] | DLL | – |
6148 | Erro: O parâmetro correcao pode ter no máximo 1000 caracteres: [conteúdo do parâmetro] | DLL | – |
6149 | Erro: O parâmetro nroCCe deve ser informado | DLL | – |
6150 | Erro: O parâmetro nroCCe informado: [conteúdo do parâmetro] fora da faixa permitida 1-20 | DLL | – |
6151 | Erro: O parâmetro dataCorrecao é inválida: [conteúdo do parâmetro] | DLL | – |
6152 | Erro: A chave da NF-e do retEvento: [chaveNFe retEvento] é divergente da chave da NF-e do Evento: [chaveNFe Evento] | DLL | – |
7001 | Erro: A licença não foi informada | DLL | – |
7002 | Erro: A licença informada: [licença] tem tamanho:[tamanho da licença] diferente de 128 | DLL | – |
7003 | Erro: A licença informada: [licença] não pertence ao CNPJ:[CNPJ informado] | DLL | – |
135 | Evento registrado e vinculado a NF-e | WS | – |
108 | Serviço Paralisado Momentaneamente (curto prazo) | WS | B02 |
109 | Serviço Paralisado sem Previsão | WS | B03 |
203 | Rejeição: Emissor não habilitado para emissão da NF-e | WS | H04 |
205 | Rejeição: NF-e está denegada na base de dados da SEFAZ | WS | H08 |
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 |
217 | Rejeição: NF-e não consta na base de dados da SEFAZ | WS | H06 |
219 | Rejeição: Circulação da NF-e verificada | WS | H13 |
220 | Rejeição: NF-e autorizada há mais de 24 horas | WS | H10 |
221 | Rejeição: Confirmado o recebimento da NF-e pelo destinatário | WS | H12 |
222 | Rejeição: CNPJ do transmissor do lote difere do CNPJ do transmissor da consulta | WS | H11 |
225 | Rejeição: Falha no schema XML | WS | D01 |
236 | Rejeição: Chave de Acesso com dígito verificador inválido | WS | H03 |
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 | H05 |
242 | Rejeição: Cabeçalho – Falha no Schema XML | WS | C01 |
243 | Rejeição: XML Mal Formado | WS | B02 |
250 | Rejeição: UF da Chave de Acesso diverge da UF autorizadora | WS | G02 |
252 | Rejeição: Ambiente informado diverge do Ambiente de recebimento | WS | G01 |
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 |
420 | Rejeição: Cancelamento para NF-e já cancelada | WS | H09 |
489 | Rejeição: CNPJ informado inválido (DV ou zeros) | WS | G03 |
490 | Rejeição: CPF informado inválido (DV ou zeros) | WS | G04 |
491 | Rejeição: O tpEvento informado inválido | WS | D04 |
492 | Rejeição: O verEvento informado inválido | WS | D05 |
493 | Rejeição: detEvento não atende o Schema XML específico | WS | D06 |
494 | Rejeição: Chave de Acesso inexistente | WS | G06 |
501 | Rejeição: NF-e autorizada há mais de 30 dias (720 horas) | WS | GA02 |
502 | Rejeição: Erro na Chave de Acesso – Campo Id não corresponde à concatenação dos campos correspondentes | WS | H02c |
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 |
572 | Rejeição: Erro Atributo ID do evento não corresponde a concatenação dos campos (“ID” + tpEvento + chNFe + nSeqEvento) | WS | G05 |
573 | Rejeição: Duplicidade de Evento | WS | G07 |
574 | Rejeição: O autor do evento diverge do emissor da NF-e | WS | G08 |
575 | Rejeição: O autor do evento diverge do destinatário da NF-e | WS | G09 |
576 | Rejeição: O autor do evento não é um órgão autorizado a gerar o evento | WS | G10 |
577 | Rejeição: A data do evento não pode ser menor que a data de emissão da NF-e | WS | G11 |
578 | Rejeição: A data do evento não pode ser maior que a data do processamento | WS | G12 |
579 | Rejeição: A data do evento não pode ser menor que a data de autorização para NF-e não emitida em contingência | WS | G13 |
580 | Rejeição: O evento exige uma NF-e autorizada | WS | GA01 |
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 |
594 | Rejeição: O número de seqüencia do evento informado é maior que o permitido | WS | G03 |
999 | Rejeição: Erro não catalogado (mensagem) | WS | – |
Caso ocorra algum erro na chamada do WS (5001-6141) 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
- 6101 – 6141 – falha no tratamento dos parâmetros da chamada da DLL
- 7001 – 7003 – falha na validação da licença
Envio da carta de correção
<?xml version="1.0" encoding="UTF-8"?>
<envEvento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00">
<idLote>00000001319901</idLote>
<evento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00">
<infEvento Id="ID1101103511051014278500019055111000000013199881790001">
<cOrgao>35</cOrgao>
<tpAmb>2</tpAmb>
<CNPJ>10142785000190</CNPJ>
<chNFe>35110510142785000190551110000000131998817900</chNFe>
<dhEvento>2011-06-06T11:48:20-03:00</dhEvento>
<tpEvento>110110</tpEvento>
<nSeqEvento>1</nSeqEvento>
<verEvento>1.00</verEvento>
<detEvento versao="1.00">
<descEvento>Carta de Correção</descEvento>
<xCorrecao>O periodo de referencia de lancamento da NF-e de ativo permanente foi informado indevidamente como sendo "ref.: ABRIL/2008", considerar o periodo como "ref.: MAIO/2011".</xCorrecao>
<xCondUso>A Carta de Correção é disciplinada pelo § 1º-A do art. 7º do Convênio S/N, de 15 de dezembro de 1970 e pode ser utilizada para regularização de erro ocorrido na emissão de documento fiscal, desde que o erro não esteja relacionado com: I - as variáveis que determinam o valor do imposto tais como: base de cálculo, alíquota, diferença de preço, quantidade, valor da operação ou da prestação; II - a correção de dados cadastrais que implique mudança do remetente ou do destinatário; III - a data de emissão ou de saída.</xCondUso>
</detEvento>
</infEvento>
<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="#ID1101103511051014278500019055111000000013199881790001">
<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>xB0+/F6Hae+3Olrc7bzAmSxfxDo=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>dCC3i8H7Z4tReOpk2WeYrFUackIqM(...)jR4pSrr9o7YJ008CjnbFavvg=</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIIFpTCCBI2gAwIBAgIEQeR/UjANBg(...)bLKS91OCr+fY</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</evento>
</envEvento>
Resposta do WS – cStat = 135 – Evento registrado e vinculado a NF-e
<?xml version="1.0" encoding="UTF-8"?>
<retEnvEvento versao="1.00" xmlns="http://www.portalfiscal.inf.br/nfe">
<idLote>00000001319901</idLote>
<tpAmb>2</tpAmb>
<verAplic>SP_EVENTOS_PL_100</verAplic>
<cOrgao>35</cOrgao>
<cStat>128</cStat>
<xMotivo>Lote de Evento Processado</xMotivo>
<retEvento versao="1.00">
<infEvento>
<tpAmb>2</tpAmb>
<verAplic>SP_EVENTOS_PL_100</verAplic>
<cOrgao>35</cOrgao>
<cStat>135</cStat>
<xMotivo>Evento registrado e vinculado a NF-e</xMotivo>
<chNFe>35110510142785000190551110000000131998817900</chNFe>
<tpEvento>110110</tpEvento>
<xEvento>Carta de Correção registrada</xEvento>
<nSeqEvento>1</nSeqEvento>
<CNPJDest>10142785000190</CNPJDest>
<dhRegEvento>2011-06-06T12:09:21-03:00</dhRegEvento>
<nProt>135110004447087</nProt>
</infEvento>
</retEvento>
</retEnvEvento>
procEventoNFe – estrutura de evento de Carta de Correção registrado
<?xml version="1.0" encoding="UTF-8"?>
<procEventoNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00">
<evento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00">
<infEvento Id="ID1101103511051014278500019055111000000013199881790001">
<cOrgao>35</cOrgao>
<tpAmb>2</tpAmb>
<CNPJ>10142785000190</CNPJ>
<chNFe>35110510142785000190551110000000131998817900</chNFe>
<dhEvento>2011-06-06T11:48:20-03:00</dhEvento>
<tpEvento>110110</tpEvento>
<nSeqEvento>1</nSeqEvento>
<verEvento>1.00</verEvento>
<detEvento versao="1.00">
<descEvento>Carta de Correção</descEvento>
<xCorrecao>O periodo de referencia de lancamento da NF-e de ativo permanente foi informado indevidamente como sendo "ref.: ABRIL/2008", considerar o periodo como "ref.: MAIO/2011".</xCorrecao>
<xCondUso>A Carta de Correção é disciplinada pelo § 1º-A do art. 7º do Convênio S/N, de 15 de dezembro de 1970 e pode ser utilizada para regularização de erro ocorrido na emissão de documento fiscal, desde que o erro não esteja relacionado com: I - as variáveis que determinam o valor do imposto tais como: base de cálculo, alíquota, diferença de preço, quantidade, valor da operação ou da prestação; II - a correção de dados cadastrais que implique mudança do remetente ou do destinatário; III - a data de emissão ou de saída.</xCondUso>
</detEvento>
</infEvento>
<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="#ID1101103511051014278500019055111000000013199881790001">
<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>xB0+/F6Hae+3Olrc7bzAmSxfxDo=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>dCC3i8H7Z4tReOpk2WeYrFUackIqM(...)jR4pSrr9o7YJ008CjnbFavvg=</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIIFpTCCBI2gAwIBAgIEQeR/UjANBg(...)bLKS91OCr+fY</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</evento>
<retEvento versao="1.00" xmlns="http://www.portalfiscal.inf.br/nfe">
<infEvento>
<tpAmb>2</tpAmb>
<verAplic>SP_EVENTOS_PL_100</verAplic>
<cOrgao>35</cOrgao>
<cStat>135</cStat>
<xMotivo>Evento registrado e vinculado a NF-e</xMotivo>
<chNFe>35110510142785000190551110000000131998817900</chNFe>
<tpEvento>110110</tpEvento>
<xEvento>Carta de Correção registrada</xEvento>
<nSeqEvento>1</nSeqEvento>
<CNPJDest>10142785000190</CNPJDest>
<dhRegEvento>2011-06-06T12:09:21-03:00</dhRegEvento>
<nProt>135110004447087</nProt>
</infEvento>
</retEvento>
</procEventoNFe>
VB 6.0
'
' Carta de Correção eletrônica
'
' Exemplo de uso da funcionalidade de carta de correção eletrônica
'
' veja detalhes da funcionalidade em: https://www.flexdocs.net/guiaNFe/WS.evento.CCe.html
'
Dim msgDados As String
Dim msgRetWS As String
Dim msgResultado As String
Dim siglaUF As String
Dim siglaWS As String
Dim certificado As String
'
' 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
Dim usuario As String
Dim senha As String
Dim licenca As String
'
Dim ambiente As Integer
'
' define as variáveis que passam informações para a DLL
'
Dim versao As String ' utilizado para escolha da versão do WS, informar "1.00"
Dim ChaveNFe As String ' chave da NF-e objeto de carta de correção eletrônica
Dim txtCorrecao As String ' texto da correção - string com até 1000 caracteres
Dim dhCorrecao As String ' data e hora da correção
Dim nCCe As Long ' número da carta de correção, deve ser um número sequencial iniciado em 1, o valor máximo é 20
Dim descEventoAcentuado As Long ' indicardor de acentuação da descrição do evento e das condições de uso, deve ser informado com 0-não/1-sim
' indicar com 0 para as UF que não aceitam acento como é o caso do MT
' IMPORTANTE: o controle da acentuação do texto da correção é da aplicação do usuário, este indicador serve
' apenas para que a DLL informe os campos descEvento e xCondUso sem acentuaçã.
'
' parâmetros que devolvem informações
'
Dim procCCe As String ' estrturura XML que contém a carta de correção eletrônica e registro do evento da carta de correção eletrônica,
' que deve ser mantido pelo emissor e distribuído ao destinatário.
Dim nProtocoloCCe As String ' número do protocolo de registro do evento da carta de correção eletrônica devolvido pela SEFA
Dim dProtocoloCCe As String ' data e hora de registro do evento da carta de correção eletrônica
'
'
' IMPORTANTE: todas as variáveis utilizadas como parâmetro da DLL devem ser inicializadas
'
'
proxy = ""
usuario = ""
senha = ""
licenca = ""
msgDados = ""
msgRetWS = ""
msgResultado = ""
procCCe = ""
nProtocoloCCe = ""
dProtocoloCCe = ""
certificado = txtCertificado.Text
'
' informar com o assunto da certificado digital
' 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
'
' certificado = "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
'
' certificado = "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
'
siglaWS = cbWS.Text ' se a UF utilizar SEFAZ Virtual, informar SVRS (Ex. RJ, SC, etc.) ou SVAN (Ex. ES, RN, etc.)
txtEntrada.Text = ""
txtRetorno.Text = ""
'
' estamos utilizando os seguintes parâmetro fixo na demonstração para facilitar o processo
'
versao = "1.00" ' versão do leiaute da carta de correção
dhCorrecao = Format$(Now, "yyyy-mm-dd HH:mm:ss") ' data e hora da correção
nCCe = 1 ' número da carta de correção, deve ser um número sequencial iniciado em 1, o valor máximo é 20
descEventoAcentuado = 0 ' indicador de acentuação da descrição do evento e das condições de uso, deve ser informado com 0-não/1-sim
ChaveNFe = InputBox("Informe a Chave de Acesso da NF-e objeto de carta de Correção", "Carta de Correção eletrônica da NF-e")
If ChaveNFe = "" Then '
MsgBox "Necessário informar a chave de acesso da NF-e objeto de carta de Correção", vbCritical, "Atenção:"
Exit Sub
End If
txtCorrecao = InputBox("Informe o texto da correção a ser considerada (o texto deve ter entre 15 a 1000 caracteres.", "Carta de Correção eletrônica da NF-e")
If Len(txtCorrecao) < 15 Then '
MsgBox "Necessário informar o texto da correção com no mínimo 15 caracteres", vbCritical, "Atenção:"
Exit Sub
End If
If Len(txtCorrecao) > 1000 Then '
MsgBox "O texto da correção deve ter até 1000 caracteres", vbCritical, "Atenção:"
Exit Sub
End If
If cbAmb.Text = "Produção" Then
ambiente = 1
Else
ambiente = 2
End If
Dim cStat As Long ' status da chamada, veja os valores em https://www.flexdocs.net/guiaNFe/WS.evento.CCe.html
'
' referenciando a DLL em late binding
' não é necessário fazer o reference da DLL
' o intelisense não funciona
'
Dim objNFeUtil As Object
Set objNFeUtil = CreateObject("NFe_util_2G.util")
'
'
Screen.MousePointer = vbHourglass ' ampulheta
'
'
procCCe = objNFeUtil.EnviaCCe2G(siglaWS, ambiente, certificado, versao, msgDados, msgRetWS, cStat, msgResultado, ChaveNFe, txtCorrecao, descEventoAcentuado, nCCe, dhCorrecao, nProtocoloCCe, dProtocoloCCe, proxy, usuario, senha, licenca)
'
'
Screen.MousePointer = vbDefault ' normal
'
' mostra mensagem XML enviada e a mensagem de retorno do WS
'
txtEntrada.Text = msgDados ' string com a mensagem XML enviado ao WS
txtRetorno.Text = msgRetWS ' string com a mensagem XML da resposta do WS
If cStat = 135 Then
MsgBox msgResultado & Chr(13) & Chr(13) + "Protocolo de registro do evento : " + nProtocoloCCe + Chr(13) & Chr(13) + "Data e hora de registro evento: " + dProtocoloCCe + Chr(13) & Chr(13) + "Grave o proccce : " + procCCe, vbInformation, "Atenção: Carta de Correção eletrônica da NF-e"
'
' grave o CCe, pois o XML deve ser mantido pelo emissor, além de ser distribuído para o destinatário também.
'
Else
MsgBox msgResultado & Chr(13) & Chr(13), vbError, "Atenção: o Envio da Carta de Correção eletrônica Falhou"
End If