12. Gerar XML do CT-e - modelo 57
12.1. Identificação do CT-e
12. Gerar XML do CT-e - modelo 57
« Anterior
12.2. Tomador de Serviço do CT-e
Próximo »

12.1. Identificação do CT-e

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:

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