- 14. Gerar XML do CT-e OS - modelo 67
14.1. Identificação do CT-e OS - 14. Gerar XML do CT-e OS - modelo 67
« Anterior - 14.1.1. Informações do Percurso
Próximo »
14.1. Identificação do CT-e OS
Sumário
Funcionalidade para gerar o XML do grupo do Identificação do CT-e OS
Assinatura
string ideCTeOS(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 cMunEnv, string xMunEnv, string UFEnv, string modal, int tpServ, int indIEToma, string cMunIniOpc, string xMunIniOpc, string UFIniOpc, string cMunFimOpc, string xMunFimOpc, string UFFimOpc, string infPercursoOpc, string dhContOpc, string xJustOpc)
Descrição:
Funcionalidade para gerar o XML do grupo do Identificação do leiaute do CT-e OS, modelo 67.
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. |
mod | inteiro | 2 | sim | informar o código do Modelo do Documento Fiscal, código 67 para a CT-e OS. |
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 |
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; 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; 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). |
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 |
tpServ | inteiro | 1 | sim | informar o tipo de serviço: 6 - Transporte de pessoas; 7 - Transporte de Valores; 8 - Excesso de Bagagem. |
indIEToma | inteiro | 1 | sim | informar o Indicador de IE do tomador: 1 - Contribuinte do ICMS; 2 - Contribuinte isento de inscrição; 3 - Não contribuinte. |
cMunIniOpc | 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 |
xMunIniOpc | 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. |
UFIniOpc | string | 2 | sim | informar a sigla da UF de início da prestação. Informar 'EX' para operações com o exterior. |
cMunFimOpc | 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. |
xMunFimOpc | 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. |
UFFimOpc | string | 2 | sim | informar a sigla da UF de término da prestação. Informar 'EX' para operações com o exterior. |
infPercurso | string | - | sim | grupo XML de informações do percurso. |
dhContOpc | 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 |
xJustOpc | 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 - versão inicial.
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>67</mod> <serie>0</serie> <nCT>1</nCT> <dhEmi>2017-01-01T07:56:55-02:00</dhEmi> <tpImp>1</tpImp> <tpEmis>1</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> <indIEToma>0</indIEToma> <cMunIni>1234567</cMunIni> <xMunIni>São Paulo</xMunIni> <UFIni>SP</UFIni> <cMunFim>1234567</cMunFim> <xMunFim>São Paulo</xMunFim> <UFFim>SP</UFFim> </ide>
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>67</mod> <serie>0</serie> <nCT>1</nCT> <dhEmi>2017-01-01T07:56:55-02:00</dhEmi> <tpImp>1</tpImp> <tpEmis>1</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> <indIEToma>0</indIEToma> <cMunIni>1234567</cMunIni> <xMunIni>São Paulo</xMunIni> <UFIni>SP</UFIni> <cMunFim>1234567</cMunFim> <xMunFim>Cuiabá</xMunFim> <UFFim>MT</UFFim> <infPercurso> <UFPer>MG</UFPer> </infPercurso> <infPercurso> <UFPer>GO</UFPer> </infPercurso> </ide>
Exemplo de XML do grupo de Identificação do CT-e com informação de contingência
<ide> <cUF>35</cUF> <cCT>00000075</cCT> <CFOP>1234</CFOP> <natOp>VENDA</natOp> <mod>67</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> <indIEToma>0</indIEToma> <cMunIni>1234567</cMunIni> <xMunIni>São Paulo</xMunIni> <UFIni>SP</UFIni> <cMunFim>1234567</cMunFim> <xMunFim>São Paulo</xMunFim> <UFFim>SP</UFFim> <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 ide_cUF As Long Dim ide_cCT As Long Dim ide_CFOP As String Dim ide_natOp As String Dim ide_mod As Long Dim ide_serie As Long Dim ide_nCT As Long Dim ide_dhEmi As String Dim ide_tpImp As Long Dim ide_tpEmis As Long Dim ide_cDV As Long Dim ide_tpAmb As Long Dim ide_tpCTe As Long Dim ide_procEmi As Long Dim ide_verProc As String Dim ide_cMunEnv As String Dim ide_xMunEnv As String Dim ide_UFEnv As String Dim ide_modal As String Dim ide_tpServ As Long Dim ide_indIEToma As Long Dim ide_cMunIniOpc As String Dim ide_xMunIniOpc As String Dim ide_UFIniOpc As String Dim ide_cMunFimOpc As String Dim ide_xMunFimOpc As String Dim ide_UFFimOpc As String Dim ide_infPercursoOpc As String Dim ide_dhContOpc As String Dim ide_xJustOpc 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 = "" ide_cUF = 35 ' Código da UF do emitente do CT-e ide_cCT = 75 ' Código numérico que compões a Chave de Acesso ide_CFOP = "1234" ' Código Fiscal de Operações e Prestações ide_natOp = "VENDA" ' Natureza da Operação ide_mod = 67 ' Modelo do documento fiscal ide_serie = 0 ' Série do CT-e ide_nCT = 1 ' Número do CT-e ide_dhEmi = "2017-01-01T07:56:55-02:00" ' Data e Hora da emissão do CT-e ide_tpImp = 1 ' Formato de impressão do DACTE ( Preencher com: 1 - Retrato; 2 - Paisagem) ide_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) ide_cDV = 2 ' Dígito Verificador da Chave de Acesso do CT-e ide_tpAmb = 2 ' Tipo de Ambiente ( Preencher com: 1 - Produção; 2 - Homologação) ide_tpCTe = 0 ' Tipo do CT-e ide_procEmi = 0 ' Identificador do processo de emissão do CT-e ide_verProc = "1.2a" ' Versão do processo de emissão ide_cMunEnv = "1234567" ' Código do Município de envio do CT-e (de onde o documento foi transmitido) ide_xMunEnv = "São Paulo" ' Nome do Município de envio do CT-e (de onde o documento foi transmitido) ide_UFEnv = "SP" ' Sigla da UF de envio do CT-e (de onde o documento foi transmitido) ide_modal = "01" ' Modal (Preencher com: 01 - Rodoviário; 02 - Aéreo; 03 - Aquaviário; 04 - Ferroviário; 05 - Dutoviário) ide_tpServ = 0 ' Tipo de Serviço (Preencher com: 0- Normal; 1 - Subcontratação; 2 - Redespacho; 3 - Redespacho Intermediário) ide_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. ide_cMunIniOpc = "1234567" ' Código do Município de início da prestação ide_xMunIniOpc = "São Paulo" ' Nome do Município do início da prestação ide_UFIniOpc = "SP" ' UF do início da prestação ide_cMunFimOpc = "1234567" ' Código do Município de término da prestação ide_xMunFimOpc = "São Paulo" ' Nome do Município do término da prestação ide_UFFimOpc = "SP" ' UF do término da prestação ide_infPercursoOpc = "" ' Indicador se o Recebedor retira no Aeroporto, Filial, Porto ou Estação de Destino? ide_dhContOpc = "2017-01-01T07:56:55-02:00" ' Data e Hora da entrada em contingência ide_xJustOpc = "Web Service indisponível" ' Justificativa da entrada em contingência ' identificador = objCTeUtil.ideCTeOS(ide_cUF, ide_cCT, ide_CFOP, ide_natOp, ide_mod, ide_serie, _ ide_nCT, ide_dhEmi, ide_tpImp, ide_tpEmis, ide_cDV, ide_tpAmb, _ ide_tpCTe, ide_procEmi, ide_verProc, ide_cMunEnv, ide_xMunEnv, _ ide_UFEnv, ide_modal, ide_tpServ, ide_IEToma, ide_cMunIniOpc, _ ide_xMunIniOpc, ide_UFIniOpc, ide_cMunFimOpc, ide_xMunFimOpc, _ ide_UFFimOpc, ide_infPercursoOpc, ide_dhContOpc, ide_xJustOpc) MsgBox "Dados de Identificação do CT-e:" + Chr(13) + identificador, vbInformation, "Resultado"
- 14.1. Identificação do CT-e OS
14. Gerar XML do CT-e OS - modelo 67 - « Anterior
14. Gerar XML do CT-e OS - modelo 67 - Próximo »
14.1.1. Informações do Percurso