12. Gerar o XML do CT-e
12.1. Identificação do CT-e [27-08-13]
12. Gerar o XML do CT-e
« Anterior
12.2. Tomador de Serviço do CT-e [27-08-13]
Próximo »

12.1. Identificação do CT-e [27-08-13]

Funcionalidade para gerar o XML do grupo do Identificação do CT-e

Assinatura

string identificador(int cUF, int cCT, string CFOP, string natOp, int forPag, int mod, int serie, int nCT, DateTime dhEmi, int tpImp, int tpEmis, int cDV, int tpAmb, int tpCTe, int procEmi, string verProc, string refCTe_Opc, 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, string tomador, DateTime 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.
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 data/hora 19 sim informar a data e hora de emissão do Documento Fiscal.
Utilizar o tipo data/hora do ambiente programação utilizado.
VB: identificador_dhEmi = #10/8/2011 5:22:45 PM# / identificador_dhEmi = Now
Delphi: ide_dhEmi:=now;
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).
refCTe_Opc string 44 sim informar a Chave de acesso do CT-e referenciado.
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.[v2.00 - acréscimo opção 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.[v2.00 - acréscimo opção 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.
tomador string - sim grupo XML de informações do tomador do serviço.
dhCont_Opc data/hora 19 não informar a data e hora de entrada em contingência
Utilizar o tipo data/hora do ambiente programação utilizado.
VB: identificador_dhEmi = #10/8/2011 5:22:45 PM# / identificador_dhEmi = Now
Delphi: ide_dhEmi:=now;
Para omitir a tag informe:
Delphi: 0 (zero)
.NET (c#, VB.NET): DateTime.MinValue
VB 6.0 : #12:00:00 AM#
Outros (xBase, etc) : 1899-12-30
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:

DiagramaIdentificacao

Retorno:

Um string com o grupo XML de identificação

Histórico de atualização:

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>
    <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>

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_forPag As Long
Dim identificador_mod As Long
Dim identificador_serie As Long
Dim identificador_nCT As Long
Dim identificador_dhEmi As Date
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_refCTe_Opc 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_tomador As String
Dim identificador_dhCont_Opc As Date
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_forPag = 0                                        ' Forma de pagamento do serviço (0 - Pago, 1 - A Pagar, 2 - Outros)
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 = #10/8/2011 5:22:45 PM#                    ' 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_refCTe_Opc = "12345678912345678912345678912345678912345678"     ' Chave de acesso do CT-e referenciado
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 www.flexdocs.com.br/gerarCTe.ide.toma.html - tomador
identificador_dhCont_Opc = #10/8/2011 5:22:45 PM#               ' Data e Hora da entrada em contingência
identificador_xJust_Opc = "Web Service indisponível"            ' Justificativa da entrada em contingência

'
identificador = objCTeUtil.identificador(identificador_cUF, identificador_cCT, identificador_CFOP, identificador_natOp, identificador_forPag, identificador_mod, identificador_serie, identificador_nCT, identificador_dhEmi, identificador_tpImp, identificador_tpEmis, identificador_cDV, identificador_tpAmb, identificador_tpCTe, identificador_procEmi, identificador_verProc, identificador_refCTe_Opc, 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_tomador, identificador_dhCont_Opc, identificador_xJust_Opc)
 
MsgBox "Dados de Identificação do CT-e" + identificador, vbInformation, "Resultado"
End Sub
12.1. Identificação do CT-e [27-08-13]
12. Gerar o XML do CT-e
« Anterior
12. Gerar o XML do CT-e
Próximo »
12.2. Tomador de Serviço do CT-e [27-08-13]