10.5. Eventos do CT-e
10.5.3. Carta de Correção
10.5.2. Cancela CT-e
« Anterior
10.5.3.1. XML Correção
Próximo »

10.5.3. Carta de Correção

Sumário

Carta de Correção eletrônica

Assinatura

string EnviaCCe(string siglaWS, int tipoAmbiente, string nomeCertificado, string versao, out string msgDados, out string msgRetWS, out int cStat, out string msgResultado, string chaveCTe, string XMLCorrecao, int textoAcentuado, int nroCorrecao, string dataCorrecao, out string nroProtocolo, out string dhProtocolo, string proxy, string usuario, string senha, string licenca)

Descrição:

Funcionalidade para Carta de Correção do CT-e

Os principais parâmetros da carta de correção são:

A carta de correção deve ser enviada para a SEFAZ de origem do emissor do CT-e objeto de correção, a identificação do WS de acessado deverá ser informada no parâmetro siglaWS.

Condições para envio da Carta de Correção

  • CT-e autorizado, não é possível corrigir um CT-e cancelado;

Prazo de envio da carta de correção

Enquanto existir o CT-e para consulta simplificada;

Quantidade máxima de carta de correção

Um CT-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.

FAQ da CC-e - Carta de Correção eletrônica:

Como minimizar a ocorrência de problemas

Consulta Cadastro - tente utilizar a consulta cadastro que a SEFAZ oferece para obter os dados cadastrais do tomador; envio/disponibilização do CT-e - envie ou disponbilize o CT-e para o tomador com antecedência para que o tomador possa conferir as informações;

Parâmetros:

nome tipo fluxo descrição
siglaWS string entrada A identificação do WS será informada no parâmetro siglaWS, veja Tabela de siglaWS
A SEFAZ VIRTUAL DE CONTINGÊNCIA NÃO ACEITA A CARTA DE CORREÇÃO
tipoAmbiente inteiro entrada informar o código do ambiente desejado: 1- produção ou 2-homologação
NomeCertificado string entrada informar o certificado digital que será utilizado para assinatura:
1. informar o assunto do certificado digital que deve existir no repositório MY do current user, ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS".
2. informar: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] para uso do certificado digital em arquivo pfx, ex.: "ARQUIVO|c:\certificado.pfx|senha".
3. informar: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado para passar uma string contendo um certificado digital em base64, ex.:"CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha".
(novas opções)
versao string entrada informar a versão da mensagem do WS: 4.00. O valor 3.00 pode ser informado até o fim da vigência da versão 3.00 previsto para 31/01/24).
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
chaveCTe string entrada informar a chave de acesso do CT-e objeto da carta de correção
XMLCorrecao string entrada informar o XML da correção
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 da data de correção no formato UTC (data e hora com fuso horário): "AAAA-MM-DDTHH:MM:SS-HH:00".
Exemplos:
2017-01-13T12:34:00-02:00 (fuso horário de Brasília no horário de verão).
2017-01-13T12:34:00-03:00 (fuso horário de Brasília).

Se nada for informado (""), a DLL utilizará a data e hora e fuso horário do equipamento.
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.
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

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.

Retorno:

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 tomador do CT-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 chaveCTe não informado DLL -
6105 Erro: O tamanho [tamanho da chave da CTe] do parâmetro chaveCTe informado não tem 44 caracteres DLL -
6106 Erro: As posições correspondentes (1,2) ao código da UF [valor] do parâmetro chaveCTe 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 -
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 do CT-e do retEvento: [chaveCTe retEvento] é divergente da chave do CT-e do Evento: [chaveCTe 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 -
108 Serviço Paralisado Momentaneamente (curto prazo) WS B03
109 Serviço Paralisado sem Previsão WS B04
135 Evento registrado e vinculado ao CT-e WS -
205 Rejeição: CT-e está denegado na base de dados da SEFAZ WS M06
213 Rejeição: CNPJ-Base do Emitente difere do CNPJ-Base do Certificado Digital WS F03
214 Rejeição: Tamanho da mensagem excedeu o limite estabelecido WS B01
215 Rejeição: Falha no schema XML WS D01
216 Rejeição: Chave de Acesso difere da cadastrada WS L19
217 Rejeição: CT-e não consta na base de dados da SEFAZ WS L18
218 Rejeição: CT-e já está cancelado na base de dados da SEFAZ WS M07
236 Rejeição: Chave de Acesso com dígito verificador inválido WS L09
238 Rejeição: Cabeçalho - Versão do arquivo XML superior a Versão vigente WS C06
239 Rejeição: Cabeçalho - Versão do arquivo XML não suportada WS C07
242 Rejeição: Cabeçalho - Falha no Schema XML WS C01
243 Rejeição: XML Mal Formado WS B02
249 Rejeição: UF da Chave de Acesso diverge da UF autorizadora WS M01
252 Rejeição: Ambiente informado diverge do Ambiente de recebimento WS L01
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
402 Rejeição: XML da área de dados com codificação diferente de UTF-8 WS D05
404 Rejeição: Uso de prefixo de namespace não permitido WS D04
409 Rejeição: Campo cUF inexistente no elemento cteCabecMsg 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 cteCabecMsg do SOAP Header WS C05
513 Rejeicao: UF nao atendida pela SVC-[SP/RS] WS C04
516 Rejeição: O tpEmis informado é incompatível com SVC-[SP/RS] WS L07
592 Rejeição: Chave de acesso inválida (Ano < 2009 ou Ano maior que Ano corrente WS L10
593 Rejeição: Chave de acesso inválida (Mês = 0 ou Mês > 12) WS L11
594 Rejeição: Chave de acesso inválida (CNPJ zerado ou digito inválido) WS L12
595 Rejeição: Chave de acesso inválida (modelo diferente de 57) WS L13
596 Rejeição: Chave de acesso inválida (numero CT = 0) WS L14
598 Rejeição: Usar somente o namespace padrão do CT-e WS D02
599 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 D03
600 Rejeicao: Chave de Acesso difere da existente em BD WS L20
627 Rejeição: CNPJ do autor do evento inválido WS L04
628 Rejeição: Erro Atributo ID do evento não corresponde a concatenação dos campos (“ID” + tpEvento + chCTe + nSeqEvento) WS L05
629 Rejeição: O tpEvento informado inválido WS L06
630 Rejeição: Falha no Schema XML específico para o evento WS L08
631 Rejeição: Duplicidade de evento WS L15
632 Rejeição: O autor do evento diverge do emissor do CT-e WS L16
633 Rejeição: O autor do evento não é um órgão autorizado a gerar o evento WS L17
634 Rejeição: A data do evento não pode ser menor que a data de emissão do CT-e WS L21
635 Rejeição: A data do evento não pode ser maior que a data do processamento WS L23
636 Rejeição: O numero sequencial do evento é maior que o permitido WS M02
637 Rejeição: A data do evento não pode ser menor que a data de autorização do CT-e WS L22
663 Rejeição: CT-e autorizado há mais de 30 dias WS M08
664 Rejeição: Evento não permitido para CT-e Substituido/Anulado WS M09
670 Rejeição: Série utilizada não permitida no webservice WS L03
677 Rejeição: Órgão de recepção do evento inválido WS L02
681 Rejeição: Informação não pode ser alterada por carta de correção WS M05
999 Rejeição: Erro não catalogado (mensagem) WS -

Tratamento de Erro:

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

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

Histórico de atualização:

Mensagens XML do envio da carta de correção - versão 3.00:

eventoCTe Envio da Carta de Correção

 
<?xml version="1.0" encoding="UTF-8"?>
<eventoCTe xmlns="http://www.portalfiscal.inf.br/cte" versao="3.00">
  <infEvento Id="ID1101103517011014278500019057001000000001154452952001">
    <cOrgao>35</cOrgao>
    <tpAmb>2</tpAmb>
    <CNPJ>10142785000190</CNPJ>
    <chCTe>35170110142785000190570010000000011544529520</chCTe>
    <dhEvento>2017-01-26T13:30:09-02:00</dhEvento>
    <tpEvento>110110</tpEvento>
    <nSeqEvento>1</nSeqEvento>
    <detEvento versaoEvento="3.00">
      <evCCeCTe>
        <descEvento>Carta de Correcao</descEvento>
        <infCorrecao>
          <grupoAlterado>rem</grupoAlterado>
          <campoAlterado>nro</campoAlterado>
          <valorAlterado>170</valorAlterado>
        </infCorrecao>
        <infCorrecao>
          <grupoAlterado>enderRem</grupoAlterado>
          <campoAlterado>fone</campoAlterado>
          <valorAlterado>14991001000</valorAlterado>
        </infCorrecao>
        <xCondUso>A Carta de Correcao e disciplinada pelo Art. 58-B do CONVENIO/SINIEF 06/89: Fica permitida a utilizacao de carta de correcao, para regularizacao de erro ocorrido na emissao de documentos fiscais relativos a prestacao de servico de transporte, desde que o erro nao esteja relacionado com: I - as variaveis que determinam o valor do imposto tais como: base de calculo, aliquota, diferenca de preco, quantidade, valor da prestacao;II - a correcao de dados cadastrais que implique mudanca do emitente, tomador, remetente ou do destinatario;III - a data de emissao ou de saida.</xCondUso>
      </evCCeCTe>
    </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="#ID1101103517011014278500019057001000000001154452952001">
        <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>P29ScWqZSt+BqKTL3LATbF6kO2c=</DigestValue>
      </Reference>
    </SignedInfo>
    <SignatureValue>rqxcQlPsr2BvTtEIjuoBMM6m(...)2TWBjF7jlf4egOWA==</SignatureValue>
    <KeyInfo>
      <X509Data>
        <X509Certificate>MIIIUDCCBjigAwIBAgIQGclPSrR9b8(...)tUzHbK+qNkBdOAr7Ns4azU=</X509Certificate>
      </X509Data>
    </KeyInfo>
  </Signature>
</eventoCTe>

Mensagens XML de resposta do WS da SEFAZ - versão 3.00:

retEventoCTe Resposta do WS

 
<retEventoCTe versao="3.00" xmlns="http://www.portalfiscal.inf.br/cte">
  <infEvento>
    <tpAmb>2</tpAmb>
    <verAplic>SP-CTe-22-12-2016</verAplic>
    <cOrgao>35</cOrgao>
    <cStat>135</cStat>
    <xMotivo>Evento registrado e vinculado a CT-e</xMotivo>
    <chCTe>35170110142785000190570010000000011544529520</chCTe>
    <tpEvento>110110</tpEvento>
    <xEvento>Carta de Correção</xEvento>
    <nSeqEvento>01</nSeqEvento>
    <dhRegEvento>2017-01-15T10:57:21-02:00</dhRegEvento>
    <nProt>135170004447087</nProt>
  </infEvento>
</retEventoCTe>

Mensagens XML do procEventoCTe - versão 3.00:

procEventoCTe Estrutura procEventoCTe com a carta de correção e respectivo protocolo de registro do evento

<?xml version="1.0" encoding="UTF-8"?>
<procEventoCTe versao="3.00">
<eventoCTe xmlns="http://www.portalfiscal.inf.br/cte" versao="3.00">
  <infEvento Id="ID1101103517011014278500019057001000000001154452952001">
    <cOrgao>35</cOrgao>
    <tpAmb>2</tpAmb>
    <CNPJ>10142785000190</CNPJ>
    <chCTe>35170110142785000190570010000000011544529520</chCTe>
    <dhEvento>2017-01-26T13:30:09-02:00</dhEvento>
    <tpEvento>110110</tpEvento>
    <nSeqEvento>1</nSeqEvento>
    <detEvento versaoEvento="3.00">
      <evCCeCTe>
        <descEvento>Carta de Correcao</descEvento>
        <infCorrecao>
          <grupoAlterado>rem</grupoAlterado>
          <campoAlterado>nro</campoAlterado>
          <valorAlterado>170</valorAlterado>
        </infCorrecao>
        <infCorrecao>
          <grupoAlterado>enderRem</grupoAlterado>
          <campoAlterado>fone</campoAlterado>
          <valorAlterado>14991001000</valorAlterado>
        </infCorrecao>
        <xCondUso>A Carta de Correcao e disciplinada pelo Art. 58-B do CONVENIO/SINIEF 06/89: Fica permitida a utilizacao de carta de correcao, para regularizacao de erro ocorrido na emissao de documentos fiscais relativos a prestacao de servico de transporte, desde que o erro nao esteja relacionado com: I - as variaveis que determinam o valor do imposto tais como: base de calculo, aliquota, diferenca de preco, quantidade, valor da prestacao;II - a correcao de dados cadastrais que implique mudanca do emitente, tomador, remetente ou do destinatario;III - a data de emissao ou de saida.</xCondUso>
      </evCCeCTe>
    </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="#ID1101103517011014278500019057001000000001154452952001">
        <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>P29ScWqZSt+BqKTL3LATbF6kO2c=</DigestValue>
      </Reference>
    </SignedInfo>
    <SignatureValue>rqxcQlPsr2BvTtEIjuoBMM6m(...)2TWBjF7jlf4egOWA==</SignatureValue>
    <KeyInfo>
      <X509Data>
        <X509Certificate>MIIIUDCCBjigAwIBAgIQGclPSrR9b8(...)tUzHbK+qNkBdOAr7Ns4azU=</X509Certificate>
      </X509Data>
    </KeyInfo>
  </Signature>
</eventoCTe>
<retEventoCTe versao="3.00" xmlns="http://www.portalfiscal.inf.br/cte">
  <infEvento>
    <tpAmb>2</tpAmb>
    <verAplic>SP-CTe-22-12-2016</verAplic>
    <cOrgao>35</cOrgao>
    <cStat>135</cStat>
    <xMotivo>Evento registrado e vinculado a CT-e</xMotivo>
    <chCTe>35170110142785000190570010000000011544529520</chCTe>
    <tpEvento>110110</tpEvento>
    <xEvento>Carta de Correção</xEvento> <!--  CONTEÚDO PRESUMIDO -->
    <nSeqEvento>01</nSeqEvento>
    <dhRegEvento>2017-01-15T10:57:21-02:00</dhRegEvento>
    <nProt>135170004447087</nProt>
  </infEvento>
</retEventoCTe>
</procEventoCTe>

Exemplo de uso:

'
'  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/guiaCTe/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 "2.00"
Dim ChaveCTe As String          ' chave do CT-e objeto de carta de correção eletrônica
Dim XMLCorrecao  As String      ' XML da correção
Dim dhCorrecao As String        ' data e hora da correção, a DLL pega a data e hora do sistema se for informado vazio ""
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 = "CN=M R M KATO ASAKURA EIRELI EPP:10142785000190, OU=Autenticado por AR VALOR, OU=RFB e-CNPJ A3, OU=Secretaria da Receita Federal do Brasil - RFB, L=Ourinhos, S=SP, O=ICP-Brasil, C=BR"
'
' 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 = "SP"
 
'
' estamos utilizando os seguintes parâmetro fixo na demonstração para facilitar o processo
'
versao = "3.00"                     ' versão do leiaute da carta de correção
dhCorrecao = ""                     ' data e hora da correção
                                    ' Format$(Now, "yyyy-mm-ddTHH:mm:ss-03:00") ou Format$(Now, "yyyy-mm-ddTHH:mm:ss-02:00")
                                    ' pode ser  informado com "" para a DLL pegar a data e hora do equipamento, mas podem ocorrer rejeição se
                                    ' o horário não estiver sincronizado com o WS

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

 
ChaveCTe = "35170110142785000190570010000000011544529520"
 
XMLCorrecao = "<infCorrecao>" + _
              "<grupoAlterado>rem</grupoAlterado>" + _
              "<campoAlterado>nro</campoAlterado>" + _
              "<valorAlterado>170</valorAlterado>" + _
              "</infCorrecao>" + _
              "<infCorrecao>" + _
              "<grupoAlterado>enderRem</grupoAlterado>" + _
              "<campoAlterado>fone</campoAlterado>" + _
              "<valorAlterado>14991001000</valorAlterado>" + _
              "</infCorrecao>"
 
ambiente = 2
 
Dim cStat As Long   ' status da chamada, veja os valores em https://www.flexdocs.net/guiaCTe/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 objCTeUtil As Object
 
Set objCTeUtil = CreateObject("CTe_Util.Util")
'
'
Screen.MousePointer = vbHourglass    ' ampulheta
'
'
procCCe = objCTeUtil.EnviaCCe(siglaWS, ambiente, certificado, versao, msgDados, msgRetWS, cStat, msgResultado, ChaveCTe, XMLCorrecao, descEventoAcentuado, nCCe, dhCorrecao, nProtocoloCCe, dProtocoloCCe, proxy, usuario, senha, licenca)
'
'
Screen.MousePointer = vbDefault ' normal

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 do CT-e"
 
   '
   ' grave o CCe, pois o XML deve ser mantido pelo emissor, além de ser distribuído para o tomador também.
   '

Else
 
    MsgBox msgResultado & Chr(13) & Chr(13), vbError, "Atenção: o Envio da Carta de Correção eletrônica Falhou"
 
End If
10.5.3. Carta de Correção
10.5. Eventos do CT-e
« Anterior
10.5.2. Cancela CT-e
Próximo »
10.5.3.1. XML Correção