- 12. Gerar o XML do CT-e
12.14. Consolida CT-e - versão 1.04a - 12.13. CT-e de Anulação de Valores
« Anterior - 13. Tabela de Mensagens da DLL
Próximo »
12.14. Consolida CT-e - versão 1.04a
Funcionalidade para consolidar a CT-e.
Assinatura
string CTe(string versao, string Id, string ide, string compl_Opc, string emit, string rem_Opc,string exped_Opc, string receb_Opc, string dest, string vPrest, string imp, string infCTe)
Descrição:
Funcionalidade para consolidar o CT-e, compatível com a versão 1.04, é a última etapa da geração do CT-e e todos os fragmentos do CT-e devem ter sido criados.
Parâmetros:
| nome | tipo | tam. | obrig. | descrição |
|---|---|---|---|---|
| versao | string | 1-4 | sim | informar o "1.04" |
| 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 |
| emit | string | - | sim | informar o grupo emit, com as informações do Emitente do CT-e |
| rem_Opc | string | - | não | informar o grupo rem com as informações do remetente da carga |
| exp_Opc | string | - | não | informar o grupo exp com as informações do expedidor da carga |
| receb_Opc | string | - | não | informar o grupo receb com as informações do recebedor da carga |
| dest_Opc | string | - | não | informar o grupo dest com as informações do destinatário da carga |
| vPres | string | - | sim | informar o grupo vPrest, com as informações do valor da prestação de serviço de transporte |
| imp | string | - | sim | informar o grupo imp, com as informações do ICMS |
| infCTe | string | - | sim | informar o grupo de informação correspondente ao CT-e que está sendo emitido: CT-e Normal ou de Substituição - informações do CT-e Normal ou de Substituição CT-e Complementar - informações do CT-e Complementar CT-e de Anulação - Informações do CT-e de Anulação |
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
XML:
Exemplo de XML de CT-e com grupos obrigatórios
<?xml version="1.0" encoding="UTF-8"?> <CTe xmlns="http://www.portalfiscal.inf.br/cte"> <infCte versao="1.04" Id="CTe12345678912345678912345678912345678912345678"> <ide> <cUF>35</cUF> <cCT>00000075</cCT> <CFOP>1234</CFOP> <natOp>VENDA</natOp> <forPag>0</forPag> <mod>57</mod> <serie>0</serie> <nCT>1</nCT> <dhEmi>2011-10-08T17:22:45</dhEmi> <tpImp>1</tpImp> <tpEmis>1</tpEmis> <cDV>2</cDV> <tpAmb>2</tpAmb> <tpCTe>0</tpCTe> <procEmi>0</procEmi> <verProc>1.2a</verProc> <refCTE>12345678912345678912345678912345678912345678</refCTE> <cMunEnv>1234567</cMunEnv> <xMunEnv>São Paulo</xMunEnv> <UFEnv>SP</UFEnv> <modal>01</modal> <tpServ>0</tpServ> <cMunIni>1234567</cMunIni> <xMunIni>São Paulo</xMunIni> <UFIni>SP</UFIni> <cMunFim>1234567</cMunFim> <xMunFim>São Paulo</xMunFim> <UFFim>SP</UFFim> <retira>0</retira> <xDetRetira>Detalhes...</xDetRetira> <toma4> <toma>4</toma> <CNPJ>99999999000191</CNPJ> <IE>123456789011</IE> <xNome>DIAS e DIAS TENTANDO S/A</xNome> <xFant>DDT</xFant> <fone>1133221234</fone> <enderToma> <xLgr>AV PRINCIPAL</xLgr> <nro>S/N</nro> <xCpl>10 andar</xCpl> <xBairro>CENTRO</xBairro> <cMun>3550308</cMun> <xMun>SAO PAULO</xMun> <CEP>01300000</CEP> <UF>SP</UF> <cPais>1058</cPais> <xPais>Brasil</xPais> </enderToma> <email>fulano@dominio.com.br</email> </toma4> <dhCont>2011-10-08T17:22:45</dhCont> <xJust>Web Service indisponível</xJust> </ide> <emit> <CNPJ>99999999000191</CNPJ> <IE>123456789011</IE> <xNome>DIAS e DIAS TENTANDO S/A</xNome> <xFant>DDT</xFant> <enderEmit> <xLgr>AV PRINCIPAL</xLgr> <nro>S/N</nro> <xCpl>10 andar</xCpl> <xBairro>CENTRO</xBairro> <cMun>3550308</cMun> <xMun>SAO PAULO</xMun> <CEP>01300000</CEP> <UF>SP</UF> <fone>1133221234</fone> </enderEmit> </emit> <vPrest> <vTPrest>185.26</vTPrest> <vRec>164.12</vRec> <Comp> <xNome>FRETE PESO</xNome> <vComp>564.12</vComp> </Comp> </vPrest> <imp> <ICMS> <ICMS45> <CST>41</CST> </ICMS45> </ICMS> <infAdFisco>Informações</infAdFisco> </imp> <infCteAnu> <chCte>12345678912345678912345678912345678912345678</chCte> <dEmi>2011-05-08</dEmi> </infCteAnu> </infCte> </CTe>
Exemplo de XML de CT-e com grupos não obrigatórios
<?xml version="1.0" encoding="UTF-8"?> <CTe xmlns="http://www.portalfiscal.inf.br/cte"> <infCte versao="1.04" Id="CTe12345678912345678912345678912345678912345678"> <ide> <cUF>35</cUF> <cCT>00000075</cCT> <CFOP>1234</CFOP> <natOp>VENDA</natOp> <forPag>0</forPag> <mod>57</mod> <serie>0</serie> <nCT>1</nCT> <dhEmi>2011-10-08T17:22:45</dhEmi> <tpImp>1</tpImp> <tpEmis>1</tpEmis> <cDV>2</cDV> <tpAmb>2</tpAmb> <tpCTe>0</tpCTe> <procEmi>0</procEmi> <verProc>1.2a</verProc> <refCTE>12345678912345678912345678912345678912345678</refCTE> <cMunEnv>1234567</cMunEnv> <xMunEnv>São Paulo</xMunEnv> <UFEnv>SP</UFEnv> <modal>01</modal> <tpServ>0</tpServ> <cMunIni>1234567</cMunIni> <xMunIni>São Paulo</xMunIni> <UFIni>SP</UFIni> <cMunFim>1234567</cMunFim> <xMunFim>São Paulo</xMunFim> <UFFim>SP</UFFim> <retira>0</retira> <xDetRetira>Detalhes...</xDetRetira> <toma4> <toma>4</toma> <CNPJ>99999999000191</CNPJ> <IE>123456789011</IE> <xNome>DIAS e DIAS TENTANDO S/A</xNome> <xFant>DDT</xFant> <fone>1133221234</fone> <enderToma> <xLgr>AV PRINCIPAL</xLgr> <nro>S/N</nro> <xCpl>10 andar</xCpl> <xBairro>CENTRO</xBairro> <cMun>3550308</cMun> <xMun>SAO PAULO</xMun> <CEP>01300000</CEP> <UF>SP</UF> <cPais>1058</cPais> <xPais>Brasil</xPais> </enderToma> <email>fulano@dominio.com.br</email> </toma4> <dhCont>2011-10-08T17:22:45</dhCont> <xJust>Web Service indisponível</xJust> </ide> <compl> <xCaracAd>REENTREGA</xCaracAd> <xCaracSer>ENTREGA</xCaracSer> <xEmi>João Paulo Arantes</xEmi> <fluxo> <xOrig>BR SSZ</xOrig> <pass> <xPass>BR SSZ</xPass> </pass> <pass> <xPass>BR SSO</xPass> </pass> <pass> <xPass>BR SSP</xPass> </pass> <xDest>BR ITJ</xDest> <xRota>01</xRota> </fluxo> <Entrega> <comData> <tpPer>2</tpPer> <dProg>2011-02-08</dProg> </comData> <comHora> <tpHor>1</tpHor> <hProg>08:00:00</hProg> </comHora> </Entrega> <origCalc>Santos</origCalc> <destCalc>São Paulo</destCalc> <xObs>Observações...</xObs> <ObsCont xCampo="ContatoEntrega"> <xTexto>Conteúdo do campo</xTexto> </ObsCont> <ObsFisco xCampo="10"> <xTexto>Conteúdo do campo</xTexto> </ObsFisco> </compl> <emit> <CNPJ>99999999000191</CNPJ> <IE>123456789011</IE> <xNome>DIAS e DIAS TENTANDO S/A</xNome> <xFant>DDT</xFant> <enderEmit> <xLgr>AV PRINCIPAL</xLgr> <nro>S/N</nro> <xCpl>10 andar</xCpl> <xBairro>CENTRO</xBairro> <cMun>3550308</cMun> <xMun>SAO PAULO</xMun> <CEP>01300000</CEP> <UF>SP</UF> <fone>1133221234</fone> </enderEmit> </emit> <rem> <CNPJ>99999999000191</CNPJ> <IE>123456789011</IE> <xNome>DIAS e DIAS TENTANDO S/A</xNome> <xFant>DDT</xFant> <fone>1133221234</fone> <enderReme> <xLgr>AV PRINCIPAL</xLgr> <nro>S/N</nro> <xCpl>10 andar</xCpl> <xBairro>CENTRO</xBairro> <cMun>3550308</cMun> <xMun>SAO PAULO</xMun> <CEP>01300000</CEP> <UF>SP</UF> <cPais>1058</cPais> <xPais>Brasil</xPais> </enderReme> <email>fulano@dominio.com.br</email> <infNF> <nRoma>1123456789</nRoma> <nPed>125456</nPed> <mod>01</mod> <serie>001</serie> <nDoc>123456789</nDoc> <dEmi>2011-05-08</dEmi> <vBC>28.63</vBC> <vICMS>48.32</vICMS> <vBCST>35.22</vBCST> <vST>36.28</vST> <vProd>63.30</vProd> <vNF>67.06</vNF> <nCFOP>1234</nCFOP> <nPeso>12.352</nPeso> <PIN>32485</PIN> <locRet> <CNPJ>99999999000191</CNPJ> <xNome>DIAS e DIAS TENTANDO S/A</xNome> <xLgr>AV PRINCIPAL</xLgr> <nro>S/N</nro> <xCpl>10 andar</xCpl> <xBairro>CENTRO</xBairro> <cMun>3550308</cMun> <xMun>SAO PAULO</xMun> <UF>SP</UF> </locRet> </infNF> </rem> <exped> <CNPJ>99999999000191</CNPJ> <IE>123456789011</IE> <xNome>DIAS e DIAS TENTANDO S/A</xNome> <fone>1133221234</fone> <enderExped> <xLgr>AV PRINCIPAL</xLgr> <nro>S/N</nro> <xCpl>10 andar</xCpl> <xBairro>CENTRO</xBairro> <cMun>3550308</cMun> <xMun>SAO PAULO</xMun> <CEP>01300000</CEP> <UF>SP</UF> <cPais>1058</cPais> <xPais>Brasil</xPais> </enderExped> <email>fulano@dominio.com.br</email> </exped> <receb> <CNPJ>99999999000191</CNPJ> <IE>123456789011</IE> <xNome>DIAS e DIAS TENTANDO S/A</xNome> <fone>1133221234</fone> <enderReceb> <xLgr>AV PRINCIPAL</xLgr> <nro>S/N</nro> <xCpl>10 andar</xCpl> <xBairro>CENTRO</xBairro> <cMun>3550308</cMun> <xMun>SAO PAULO</xMun> <CEP>01300000</CEP> <UF>SP</UF> <cPais>1058</cPais> <xPais>Brasil</xPais> </enderReceb> <email>fulano@dominio.com.br</email> </receb> <dest> <CNPJ>99999999000191</CNPJ> <IE>123456789011</IE> <xNome>DIAS e DIAS TENTANDO S/A</xNome> <fone>1133221234</fone> <ISUF>78235189</ISUF> <enderDest> <xLgr>AV PRINCIPAL</xLgr> <nro>S/N</nro> <xCpl>10 andar</xCpl> <xBairro>CENTRO</xBairro> <cMun>3550308</cMun> <xMun>SAO PAULO</xMun> <CEP>01300000</CEP> <UF>SP</UF> <cPais>1058</cPais> <xPais>Brasil</xPais> </enderDest> <email>fulano@dominio.com.br</email> <locEnt> <CNPJ>99999999000191</CNPJ> <xNome>DIAS e DIAS TENTANDO S/A</xNome> <xLgr>AV PRINCIPAL</xLgr> <nro>S/N</nro> <xCpl>10 andar</xCpl> <xBairro>CENTRO</xBairro> <cMun>3550308</cMun> <xMun>SAO PAULO</xMun> <UF>SP</UF> </locEnt> </dest> <vPrest> <vTPrest>185.26</vTPrest> <vRec>164.12</vRec> <Comp> <xNome>FRETE PESO</xNome> <vComp>564.12</vComp> </Comp> </vPrest> <imp> <ICMS> <ICMS45> <CST>41</CST> </ICMS45> </ICMS> <infAdFisco>Informações</infAdFisco> </imp> <infCTeNorm> <infCarga> <vCarga>18325.32</vCarga> <proPred>ovos</proPred> <xOutCat>GRANEL</xOutCat> <infQ> <cUnid>01</cUnid> <tpMed>PESO BRUTO</tpMed> <qCarga>136.0000</qCarga> </infQ> </infCarga> <contQt> <nCont>3452</nCont> <lacContQt> <nLacre>3452</nLacre> </lacContQt> <dPrev>2011-05-08</dPrev> </contQt> <docAnt> <emiDocAnt> <CNPJ>99999999000191</CNPJ> <IE>123456789011</IE> <UF>SP</UF> <xNome>DIAS e DIAS TENTANDO S/A</xNome> <idDocAnt> <idDocAntPap> <tpDoc>02</tpDoc> <serie>123</serie> <nDoc>114212</nDoc> <dEmi>2011-05-08</dEmi> </idDocAntPap> </idDocAnt> <idDocAnt> <idDocAntEle> <chave>34521234567897894561234567879456123012345678</chave> </idDocAntEle> </idDocAnt> </emiDocAnt> </docAnt> <seg> <respSeg>0</respSeg> <xSeg>Seguros S.A</xSeg> <nApol>456854SKL</nApol> <nAver>11421212345678945612</nAver> <vCarga>35214.23</vCarga> </seg> <infModal versaoModal="1.04"> <rodo> <RNTRC>12354562</RNTRC> <dPrev>2011-12-28</dPrev> <lota>1</lota> <CIOT>125545357812</CIOT> <occ> <serie>123</serie> <nOcc>128</nOcc> <dEmi>2011-07-14</dEmi> <emiOcc> <CNPJ>99999999000191</CNPJ> <cInt>145875</cInt> <IE>123456789011</IE> <UF>SP</UF> <fone>1133221234</fone> </emiOcc> </occ> <valePed> <CNPJForn>99999999000191</CNPJForn> <nCompra>145875</nCompra> <CNPJPg>12345678912345</CNPJPg> </valePed> <veic> <cInt>7485632</cInt> <RENAVAM>123456789</RENAVAM> <placa>WGK2511</placa> <tara>7600</tara> <capKG>1500</capKG> <capM3>15</capM3> <tpProp>P</tpProp> <tpVeic>1</tpVeic> <tpRod>01</tpRod> <tpCar>01</tpCar> <UF>SP</UF> <prop> <CNPJ>99999999000191</CNPJ> <RNTRC>10583654</RNTRC> <xNome>DIAS e DIAS TENTANDO S/A</xNome> <IE>123456789011</IE> <UF>SP</UF> <tpProp>1</tpProp> </prop> </veic> <lacRodo> <nLacre>12345678965412321</nLacre> </lacRodo> <lacRodo> <nLacre>12345678965412321</nLacre> </lacRodo> <moto> <xNome>José Alves Ferreira</xNome> <CPF>11111111111</CPF> </moto> </rodo> </infModal> <peri> <nONU>35</nONU> <xNomeAE>ETANOL</xNomeAE> <xClaRisco>TESTE</xClaRisco> <grEmb>TANQUE</grEmb> <qTotProd>120.5</qTotProd> <qVolTipo>120,5LT</qVolTipo> </peri> <veicNovos> <chassi>12345678912345678</chassi> <cCor>PTR</cCor> <xCor>Prata</xCor> <cMod>357677</cMod> <vUnit>31000.63</vUnit> <vFrete>800.48</vFrete> </veicNovos> <veicNovos> <chassi>12345678912345678</chassi> <cCor>PTR</cCor> <xCor>Prata</xCor> <cMod>357677</cMod> <vUnit>31000.63</vUnit> <vFrete>800.48</vFrete> </veicNovos> <cobr> <fat> <nFat>456123</nFat> <vOrig>3500.45</vOrig> <vDesc>100.45</vDesc> <vLiq>3400.00</vLiq> </fat> <dup> <nDup>456123</nDup> <dVenc>2011-10-10</dVenc> <vDup>1700.00</vDup> </dup> <dup> <nDup>456123</nDup> <dVenc>2011-11-10</dVenc> <vDup>1700.00</vDup> </dup> </cobr> <infCteSub> <chCte>12345678912345678912345678912345678912345678</chCte> <tomaICMS> <refNF> <CNPJ>12345678912345</CNPJ> <mod>55</mod> <serie>48</serie> <nro>777777</nro> <valor>7896.32</valor> <dEmi>2011-10-31</dEmi> </refNF> </tomaICMS> </infCteSub> </infCTeNorm> </infCte> </CTe>
Exemplos de uso:
Visual Basic 6.0
' '====== Dados do Conhecimento de Tranporte 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_rem_Opc As String Dim CTe_exped_Opc As String Dim CTe_receb_Opc As String Dim CTe_dest_Opc As String Dim CTe_vPrest As String Dim CTe_imp As String Dim CTe_infCTe 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 = "1.04" ' Versão do leiaute (Ex: "1.04") CTe_Id = "12345678912345678912345678912345678912345678" ' Identificador da Tag a ser assinada CTe_ide = "Identificação do CT-e" ' Identificação do CT-e CTe_compl_Opc = "Dados Complementares" ' Dados complementares do CT-e para fins operacionais ou comerciais CTe_emit = "Identificação do Emitente" ' Identificação do Emitente do CT-e CTe_rem_Opc = "Informações do Remetente" ' Informações do Remetente das mercadorias transportadas pelo CT-e CTe_exped_Opc = "Informações do Expedidor da Carga" ' Informações do Expedidor da Carga CTe_receb_Opc = "Informações do Recebedor da Carga" ' Informações do Recebedor da Carga CTe_dest_Opc = "Informações do Destinatário" ' Informações do Destinatário do CT-e CTe_vPrest = "Valores da Prestação de Serviço" ' Valores da Prestação de Serviço CTe_imp = "Informações relativas ao imposto" ' Informações relativas ao imposto CTe_infCTe = "Grupo de Informações do CT-e" ' Grupo de Informações do CT-e Normal ou Substituto ' CTe = objCTeUtil.CTe(CTe_versao, CTe_Id, CTe_ide, CTe_compl_Opc, CTe_emit, CTe_rem_Opc, CTe_exped_Opc, CTe_receb_Opc, CTe_dest_Opc, CTe_vPrest, CTe_imp, CTe_infCTe) MsgBox "G Dados do CTE - Conhecimento de Tranporte Eletrônico" + CTe, vbInformation, "Resultado"
- 12.14. Consolida CT-e - versão 1.04a
12. Gerar o XML do CT-e - « Anterior
12.13. CT-e de Anulação de Valores - Próximo »
13. Tabela de Mensagens da DLL