- 12. Gerar XML do CT-e - modelo 57
12.1. Identificação do CT-e [v3.00] - 12. Gerar XML do CT-e - modelo 57
« Anterior - 12.2. Tomador de Serviço do CT-e [v3.00]
Próximo »
12.1. Identificação do CT-e [v3.00]
Funcionalidade para gerar o XML do grupo do Identificação do CT-e
Assinatura
string identificador300(int cUF, int cCT, string CFOP, string natOp, int mod, int serie, int nCT, string dhEmi, int tpImp, int tpEmis, int cDV, int tpAmb, int tpCTe, int procEmi, string verProc, string indGlobalizado, string cMunEnv, string xMunEnv, string UFEnv, string modal, int tpServ, string cMunIni, string xMunIni, string UFIni, string cMunFim, string xMunFim, string UFFim, int retira, string xDetRetira, int indIEToma, string tomador, string dhCont_Opc, string xJust_Opc)
Descrição:
Funcionalidade para gerar o XML do grupo do Identificação do leiaute do CT-e.
Parâmetros:
nome | tipo | tam. | obrig. | descrição |
---|---|---|---|---|
cUF | inteiro | - | sim | informar o código da UF do emitente do Documento Fiscal, utilizar a codificação do IBGE (Ex. SP->35, RS->43, etc.). |
cCT | inteiro | - | sim | informar o código numérico que compõe a Chave de Acesso. Número aleatório gerado pelo emitente para cada CT-e para evitar acessos indevidos ao documento. |
CFOP | string | 4 | sim | informar o Código Fiscal de Operações e Prestações. |
natOp | string | 1-60 | sim | informar a Natureza de Operação. |
forPag | inteiro | 1 | sim | informar a forma de pagamento do serviço: 0 - Pago; 1 - A pagar; 2 - Outros. [ELIMINADO versão 3.00] |
mod | inteiro | 2 | sim | informar o código do Modelo do Documento Fiscal, código 57 para a CT-e. |
serie | inteiro | 1-3 | sim | informar a série do Documento Fiscal, informar 0 (zero) para série única. |
nCT | inteiro | 1-9 | sim | informar o Número do CT-e. |
dhEmi | string | 25 | sim | informar a data e hora de emissão do Documento Fiscal no formato AAAA-MM-DDTHH:MM:SS-zz:zz com o fuso horário (formato UTC), exemplo: 2017-01-01T07:56:55-02:00 tipo do parâmetro alterado pra STRING. [ALTERAÇÃO versão 3.00] |
tpImp | inteiro | 1 | sim | informar o formato de impressão do DACTE: 1 - Retrato; 2 - Paisagem. |
tpEmis | inteiro | 1 | sim | Forma de emissão do CT-e: 1 - Normal; 4 - EPEC; 5 - Contingência FSDA; 7 - Autorização pela SVC-RS; 8 - Autorização pela SVC-SP. |
cDV | inteiro | 1 | sim | informar o Dígito Verificador da chave de acesso do CT-e. |
tpAmb | inteiro | 1 | sim | informar tipo de ambiente: 1 - Produção; 2 - Homologação. |
tpCTe | inteiro | 1 | sim | informar tipo de Ct-e: 0 - CT-e Normal; 1 - CT-e de Complemento de Valores; 2 - CT-e de Anulação de Valores; 3 - CT-e Substituto. |
procEmi | inteiro | 1 | sim | informar o código de identificação do processo de emissão do CT-e: 0 - emissão de CT-e com aplicativo do contribuinte; 1 - emissão de CT-e avulsa pelo Fisco; 2 - emissão de CT-e avulsa, pelo contribuinte com seu certificado digital, através do site do Fisco; 3 - emissão CT-e pelo contribuinte com aplicativo fornecido pelo Fisco. |
verProc | string | 1-20 | sim | informar a versão do processo de emissão do CT-e utilizado (aplicativo emissor de CT-e). |
indGlobalizado | string | 1 | não | Informar valor 1 quando for globalizado e não informar a tag nas demais situações. [ACRESCENTADO na versão 3.00] |
refCTe_Opc | string | 44 | sim | informar a Chave de acesso do CT-e referenciado. [ELIMINADO versão 3.00] |
cMunEnv | string | 7 | sim | informar o Código do Município de envio do CT-e (de onde o documento foi transmitido). Utilizar tabela do IBGE. Informar 9999999 para operações com o exterior. |
xMunEnv | string | 1-60 | sim | informar o Nome do Município de envio do CT-e (de onde o documento foi transmitido). Informar PAIS/Município para as operações com o exterior. |
UFEnv | string | 2 | sim | informar a sigla da UF de envio do CT-e (de onde o documento foi transmitido). Informar 'EX' para operações com o exterior. |
modal | string | 2 | sim | informar o Modal: 01 - Rodoviário - Obs.: A DLL só oferece suporte para criação do XML do CT-e do modal rodoviário.; 02 - Aéreo; 03 - Aquaviário; 04 - Ferroviário; 05 - Dutoviário; 06 - Multimodal. |
tpServ | inteiro | 1 | sim | informar o tipo de serviço: 0 - Normal; 1 - Subcontratação; 2 - Redespacho; 3 - Redespacho Intermediário; 4 - Serviço Vinculado a Multimodal. |
cMunIni | string | 7 | sim | informar o código do Município de início da prestação. Utilizar tabela do IBGE. Informar 9999999 para operações com o exterior |
xMunIni | string | 1-60 | sim | informar o Nome do Município de início da prestação. Informar 'EXTERIOR' para as operações com o exterior. |
UFIni | string | 2 | sim | informar a sigla da UF de início da prestação. Informar 'EX' para operações com o exterior. |
cMunFim | string | 7 | sim | informar o código do Município de término da prestação. Utilizar tabela do IBGE. Informar 9999999 para operações com o exterior. |
xMunFim | string | 1-60 | sim | informar o nome do Município de término da prestação. Informar 'EXTERIOR' para as operações com o exterior. |
UFFim | string | 2 | sim | informar a sigla da UF de término da prestação. Informar 'EX' para operações com o exterior. |
retira | inteiro | 1 | sim | indicador se o Recebedor retira no Aeroporto, Filial, Porto ou Estação de Destino? Preencher com: 0 - sim; 1 - não. |
xDetRetira | string | 1-160 | sim | informações detalhadas do retira. |
indIEToma | inteiro | 1 | sim | Aplica-se ao tomador que for indicado no toma3 ou toma Indicador do papel do tomador naprestação do serviço: 1 – Contribuinte ICMS; 2 – Contribuinte isento de inscrição; 9 – Não Contribuinte. [ACRESCENTADO na versão 3.00] |
tomador | string | - | sim | grupo XML de informações do tomador do serviço. |
dhCont_Opc | string | 25 | não | informar a data e hora de entrada em contingência no formato AAAA-MM-DDTHH:MM:SS-zz:zz com o fuso horário (formato UTC), exemplo: 2017-01-01T07:56:55-02:00 tipo do parâmetro alterado pra STRING. [ALTERAÇÃO versão 3.00] |
xJust_Opc | string | 15-256 | não | informar a justificativa de entrada em contingência, deve ser informado somente para tpEmis=5 - Contingência FSDA;. Importante: dhCont e xJust devem ser ambos informados ou omitidos. |
Diagrama:
Retorno:
Um string com o grupo XML de identificação
Histórico de atualização:
- dez/2016 - Atualização para versão 3.00 [v3.00].
XML:
Exemplo de XML do grupo de Identificação do CT-e
<ide> <cUF>35</cUF> <cCT>00000075</cCT> <CFOP>1234</CFOP> <natOp>VENDA</natOp> <mod>57</mod> <serie>0</serie> <nCT>1</nCT> <dhEmi>2017-01-01T07:56:55-02:00</dhEmi> <tpImp>1</tpImp> <tpEmis>5</tpEmis> <cDV>2</cDV> <tpAmb>2</tpAmb> <tpCTe>0</tpCTe> <procEmi>0</procEmi> <verProc>1.2a</verProc> <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> <indIEToma>1</indIEToma> <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>2017-01-01T07:56:55-02:00</dhCont> <xJust>Web Service indisponível</xJust> </ide>
Importante
O trecho do XML foi formatado para uma melhor visualização, a mensagem original não tem formatação.
Vale observar que a formatação pode corromper a assinatura digital, além de ocupar espaço e sendo desnecessária, pois os browser exibem formatado.
Exemplos de uso:
Visual Basic 6.0
' '======Identificação do documento======= ' Dim identificador As String Dim identificador_cUF As Long Dim identificador_cCT As Long Dim identificador_CFOP As String Dim identificador_natOp As String Dim identificador_indGlobalizado As String Dim identificador_mod As Long Dim identificador_serie As Long Dim identificador_nCT As Long Dim identificador_dhEmi As String Dim identificador_tpImp As Long Dim identificador_tpEmis As Long Dim identificador_cDV As Long Dim identificador_tpAmb As Long Dim identificador_tpCTe As Long Dim identificador_procEmi As Long Dim identificador_verProc As String Dim identificador_cMunEnv As String Dim identificador_xMunEnv As String Dim identificador_UFEnv As String Dim identificador_modal As String Dim identificador_tpServ As Long Dim identificador_cMunIni As String Dim identificador_xMunIni As String Dim identificador_UFIni As String Dim identificador_cMunFim As String Dim identificador_xMunFim As String Dim identificador_UFFim As String Dim identificador_retira As Long Dim identificador_xDetRetira As String Dim identificador_indIEToma As Long Dim identificador_tomador As String Dim identificador_dhCont_Opc As String Dim identificador_xJust_Opc 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") '............................................... ' ' '===================grupo de Identificação do CT-e======================= ' ' identificador_cUF = 35 ' Código da UF do emitente do CT-e identificador_cCT = 75 ' Código numérico que compões a Chave de Acesso identificador_CFOP = "1234" ' Código Fiscal de Operações e Prestações identificador_natOp = "VENDA" ' Natureza da Operação identificador_mod = 57 ' Modelo do documento fiscal identificador_serie = 0 ' Série do CT-e identificador_nCT = 1 ' Número do CT-e identificador_dhEmi = "2017-01-01T07:56:55-02:00" ' Data e Hora da emissão do CT-e identificador_tpImp = 1 ' Formato de impressão do DACTE ( Preencher com: 1 - Retrato; 2 - Paisagem) identificador_tpEmis = 1 ' Forma de emissão do CT-e ( Prencher com: 1 - Normal; 5 - Contigência FSDA; 7 - Autorização pela SVC-RS; 8 - Autorização pela SVC-SP) identificador_cDV = 2 ' Dígito Verificador da Chave de Acesso do CT-e identificador_tpAmb = 2 ' Tipo de Ambiente ( Preencher com: 1 - Produção; 2 - Homologação) identificador_tpCTe = 0 ' Tipo do CT-e identificador_procEmi = 0 ' Identificador do processo de emissão do CT-e identificador_verProc = "1.2a" ' Versão do processo de emissão identificador_indGlobalizado = "0" ' Informar valor 1 quando for globalizado e não informar a tag nas demais situações. identificador_cMunEnv = "1234567" ' Código do Município de envio do CT-e (de onde o documento foi transmitido) identificador_xMunEnv = "São Paulo" ' Nome do Município de envio do CT-e (de onde o documento foi transmitido) identificador_UFEnv = "SP" ' Sigla da UF de envio do CT-e (de onde o documento foi transmitido) identificador_modal = "01" ' Modal (Preencher com: 01 - Rodoviário; 02 - Aéreo; 03 - Aquaviário; 04 - Ferroviário; 05 - Dutoviário) identificador_tpServ = 0 ' Tipo de Serviço (Preencher com: 0- Normal; 1 - Subcontratação; 2 - Redespacho; 3 - Redespacho Intermediário) identificador_cMunIni = "1234567" ' Código do Município de início da prestação identificador_xMunIni = "São Paulo" ' Nome do Município do início da prestação identificador_UFIni = "SP" ' UF do início da prestação identificador_cMunFim = "1234567" ' Código do Município de término da prestação identificador_xMunFim = "São Paulo" ' Nome do Município do término da prestação identificador_UFFim = "SP" ' UF do término da prestação identificador_retira = 0 ' Indicador se o Recebedor retira no Aeroporto, Filial, Porto ou Estação de Destino? identificador_xDetRetira = "Detalhes..." ' Detalhes do retira identificador_tomador = "..." ' Tomador de Serviço, informar com o XML gerado em https://www.flexdocs.net/guiaCTe/gerarCTe.toma.html - tomador identificador_indIEToma = 1 ' Indicador do papel do tomador naprestação do serviço: 1 – Contribuinte ICMS; 2 – Contribuinte isento de inscrição; 9 – Não Contribuinte. identificador_dhCont_Opc = "2017-01-01T07:56:55-02:00" ' Data e Hora da entrada em contingência identificador_xJust_Opc = "Web Service indisponível" ' Justificativa da entrada em contingência ' identificador = objCTeUtil.identificador300(identificador_cUF, identificador_cCT, identificador_CFOP, identificador_natOp, identificador_mod, identificador_serie, identificador_nCT, identificador_dhEmi, identificador_tpImp, identificador_tpEmis, identificador_cDV, identificador_tpAmb, identificador_tpCTe, identificador_procEmi, identificador_verProc, identificador_indGlobalizado, identificador_cMunEnv, identificador_xMunEnv, identificador_UFEnv, identificador_modal, identificador_tpServ, identificador_cMunIni, identificador_xMunIni, identificador_UFIni, identificador_cMunFim, identificador_xMunFim, identificador_UFFim, identificador_retira, identificador_xDetRetira, identificador_indIEToma, identificador_tomador, identificador_dhCont_Opc, identificador_xJust_Opc) MsgBox "Dados de Identificação do CT-e:" + Chr(13) + identificador, vbInformation, "Resultado"
- 12.1. Identificação do CT-e [v3.00]
12. Gerar XML do CT-e - modelo 57 - « Anterior
12. Gerar XML do CT-e - modelo 57 - Próximo »
12.2. Tomador de Serviço do CT-e [v3.00]