- 13. Gerar XML do CT-e Simplificado
13.14. Consolida CT-e RT - 13.13. QRCode
« Anterior - 14. Gerar XML do CT-e OS
Próximo »
13.14. Consolida CT-e RT
Funcionalidade para consolidar a CT-e Simplificado.
Assinatura
string CTeSimpRT(string versao, string Id, string ide, string compl_Opc, string emit, string toma,string infCarga, string det, string infModal, string cobr_Opc, string infSub_Opc, string imp, double vTPrest, double vTRec, string autXML_Opc, string infRespTec_Opc, string infCTeSupl, double vTotDFe_Opc)
Descrição:
Funcionalidade para consolidar o CT-e Simplificado, é a última etapa da geração do CT-e e todos os fragmentos do CT-e devem ter sido criados.
Importante
Atualização necessária para atender os novos leiautes do CT-e, CT-e Simplificado e CT-e OS da NT 2025/001 - Reforma Tributária do Consumo
Vigência:
- ambiente de homologação: até 28/07/2025
- ambiente de produção: 06/10/2025
Versão da DLL requerida:
Parâmetros:
nome | tipo | tam. | obrig. | descrição |
---|---|---|---|---|
versao | string | 1-4 | sim | informar o "4.00" |
Id | string | 44 | sim | informar a chave de acesso do CT-e, recomendamos o uso da funcionalidade criaChaveCTeNovo |
ide | string | - | sim | informar o grupo ide, com as informações de Identificação do CT-e |
compl_Opc | string | - | sim | informar o grupo compl, com as informações complementares do CT-e |
emit | string | - | sim | informar o grupo emit, com as informações do Emitente do CT-e |
toma | string | - | sim | informar o grupo toma com as informações do tomador do serviço. |
infCarga | string | - | sim | informar o grupo infCarga, com as informações da carga. |
det | string | - | sim | informar o grupo det, com as informações do detalhamento das Entregas / prestação. |
infModal | string | - | sim | informar o grupo infModal, com as informações do específicas do modal. |
cobr_Opc | string | - | não | informar o grupo de informação da cobrança do CT-e. |
infSub_Opc | string | - | não | informar o grupo de informação do CT-e de Substituição |
imp | string | - | sim | informar o grupo imp, com as informações do ICMS |
vTPrest | double | - | sim | informar o valor total da prestação do CT-e Simplificado. |
vTRec | double | - | sim | informar o valor total a receber do CT-e Simplificado. |
autXML_Opc | string | - | não | informar o grupo autXML, com as informações dos autorizados a fazer o download do CT-e |
infRespTec_Opc | string | - | não | informar o grupo infRespTec, com as informações do responsável técnico pelo desenvolvimento do sistema de emissão do DF-e |
infCTeSupl | string | - | sim | informar o grupo infCTeSupl, com o QR-Code de consulta do CT-e. |
vTotDFe_Opc | double | 13,2 | não | informar o Valor total do documento fiscal (vTPrest + total do IBS + total da CBS) CAMPO NOVO. |
Diagrama:
Dica
Os campos com contorno tracejado podem ser omitidos se a operação não exigir a informação.
Retorno:
Um string com o grupo XML do CT-e
Histórico de atualização:
- 2025-06-30 - versão 2Gv5.00
- set/2024 - versão inicial.
XML:
Exemplo da estrutura básica do XML do CT-e simplificado
<?xml version="1.0" encoding="UTF-8"?> <CTeSimp xmlns="http://www.portalfiscal.inf.br/cte"> <infCte versao="4.00" Id="CTe12345678912345678912345678912345678912345678"> <ide>...</ide> <compl>...</compl> <emit>...</emit> <toma>...</toma> <infCarga>...</infCarga> <det>...</det> <infModal>...</infModal> <cobr>...</cobr> <infCteSub>...</infCteSub> <imp>...</imp> <total> <vTPrest>100.00</vTPrest> <vTRec>0.00</vTRec> <vTotDFe>101.00</vTotDFe> </total> <autXML>...</autXML> <infRespTec>...</infRespTec> </infCte> <infCTeSupl>...</infCTeSupl> </CTeSimp>
Exemplos de uso:
Visual Basic 6.0
' '====== Dados do Conhecimento de Transporte Eletrônico========== ' Dim CTe As String Dim CTe_versao As String Dim CTe_Id As String Dim CTe_ide As String Dim CTe_compl_Opc As String Dim CTe_emit As String Dim CTe_toma As String Dim CTe_infCarga As String Dim CTe_det As String Dim CTe_infModal As String Dim CTe_cobr_Opc As String Dim CTe_infSub_Opc As String Dim CTe_imp As String Dim CTe_vTPrest As Double Dim CTe_vTRec As Double Dim CTe_vTotDFe_Opc As Double Dim CTe_autXML_Opc As String Dim CTe_infRespTec_Opc As String Dim CTe_infCTeSupl As String ' ' '====== instancia DLL================== ' ' ' 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") ' ' criação dos grupos ' '===================grupo de Dados do Conhecimento de Tranporte Eletrônico======================= ' ' CTe_versao = "4.00" ' Versão do leiaute (Ex: "4.00") CTe_Id = "12345678912345678912345678912345678912345678" ' Identificador da Tag a ser assinada CTe_ide = "<ide>...</ide>" ' Identificação do CT-e CTe_compl_Opc = "<compl>...</compl>" ' Dados complementares do CT-e para fins operacionais ou comerciais CTe_emit = "<emit>...</emit>" ' Identificação do Emitente do CT-e CTe_toma = "<toma>...</toma>" ' Informações do Remetente das mercadorias transportadas pelo CT-e CTe_infCarga = "<infCarga>...</infCarga>" ' Informações da Carga CTe_det = "<det>...</det>" ' Informações do detalhe da entrega/serviço CTe_infModal = "<infModal>...</infModal>" ' Informações do Modal CTe_cobr_Opc = "<cobr>...</cobr>" ' Informações da cobrança CTe_infSub = "<infCteSub>...</infCteSub>" ' Grupo de Informações do CT-e Substituto CTe_imp = "<imp>...</imp>" ' Informações relativas ao imposto CTe_vTPrest = 100 ' Valor Total da prestação CTe_vTRec = 0 ' Valor Total a receber CTe_vTotDFe_Opc = 101 ' Valor Total do documento fiscal (vTPrest + total do IBS + total da CBS) CTe_autXML_Opc = "<autXML>...</autXML>" ' Autorizados a fazer o download do CT-e CTe_infRespTec_Opc = "<infRespTec>...</infRespTec>" ' Informações responsável técnico do sistema emissor CTe_infCTeSupl = "<infCTeSupl>...</infCTeSupl>" ' QRCode ' CTe = objCTeUtil.CTeSimpRT(CTe_versao, _ CTe_Id, _ CTe_ide, _ CTe_compl_Opc, _ CTe_emit, _ CTe_toma, _ CTe_infCarga, _ CTe_det, _ CTe_infModal, _ CTe_cobr_Opc, _ CTe_infSub, _ CTe_imp, _ CTe_vTPrest, _ CTe_vTRec, _ CTe_autXML_Opc, _ CTe_infRespTec_Opc, _ CTe_infCTeSupl, _ CTe_vTotDFe_Opc) MsgBox "Dados do CTE - Conhecimento de Tranporte Eletrônico" + CTe, vbInformation, "Resultado"
Exemplos de uso: Delphi
procedure TForm1.Button11Click(Sender: TObject); var Util: OleVariant; // declarar a interface da DLL // //====== Dados do Conhecimento de Transporte Eletrônico========== // CTe : widestring; CTe_versao : widestring; CTe_Id : widestring; CTe_ide : widestring; CTe_compl_Opc : widestring; CTe_emit : widestring; CTe_toma : widestring; CTe_infCarga : widestring; CTe_det : widestring; CTe_infModal : widestring; CTe_cobr_Opc : widestring; CTe_infSub_Opc : widestring; CTe_imp : widestring; CTe_vTPrest : currency; CTe_vTRec : currency; CTe_vTotDFe_Opc : currency; CTe_autXML_Opc : widestring; CTe_infRespTec_Opc : widestring; CTe_infCTeSupl : widestring; begin // // //====== instancia DLL================== // // // referenciando a DLL em late binding // não é necessário fazer o reference da DLL // o intelisense não funciona // Util := CreateOleObject('CTe_Util.util'); // instância a DLL // // criação dos grupos // //===================grupo de Dados do Conhecimento de Tranporte Eletrônico======================= // // CTe_versao := '4.00'; // Versão do leiaute (Ex: '4.00') CTe_Id := '12345678912345678912345678912345678912345678'; // Identificador da Tag a ser assinada CTe_ide := '<ide>...</ide>'; // Identificação do CT-e CTe_compl_Opc := '<compl>...</compl>'; // Dados complementares do CT-e para fins operacionais ou comerciais CTe_emit := '<emit>...</emit>'; // Identificação do Emitente do CT-e CTe_toma := '<toma>...</toma>'; // Informações do Remetente das mercadorias transportadas pelo CT-e CTe_infCarga := '<infCarga>...</infCarga>'; // Informações da Carga CTe_det := '<det>...</det>'; // Informações do detalhe da entrega/serviço CTe_infModal := '<infModal>...</infModal>'; // Informações do Modal CTe_cobr_Opc := '<cobr>...</cobr>'; // Informações da cobrança CTe_infSub_Opc := '<infCteSub>...</infCteSub>'; // Grupo de Informações do CT-e Substituto CTe_imp := '<imp>...</imp>'; // Informações relativas ao imposto CTe_vTPrest := 100; // Valor Total da prestação CTe_vTRec := 0; // Valor Total a receber CTe_vTotDFe_Opc := 101; // Valor Total do documento fiscal (vTPrest + total do IBS + total da CBS) CTe_autXML_Opc := '<autXML>...</autXML>'; // Autorizados a fazer o download do CT-e CTe_infRespTec_Opc := '<infRespTec>...</infRespTec>'; // Informações responsável técnico do sistema emissor CTe_infCTeSupl := '<infCTeSupl>...</infCTeSupl>'; // QRCode // CTe := Util.CTeSimpRT(CTe_versao, CTe_Id, CTe_ide, CTe_compl_Opc, CTe_emit, CTe_toma, CTe_infCarga, CTe_det, CTe_infModal, CTe_cobr_Opc, CTe_infSub_Opc, CTe_imp, CTe_vTPrest, CTe_vTRec, CTe_autXML_Opc, CTe_infRespTec_Opc, CTe_infCTeSupl, CTe_vTotDFe_Opc); MessageDlg( 'CT-e Simplificado: ' + chr(13) + CTe, mtInformation, [mbOk], 0); end;
- 13.14. Consolida CT-e RT
13. Gerar XML do CT-e Simplificado - « Anterior
13.13. QRCode - Próximo »
14. Gerar XML do CT-e OS