4. Gerar o XML da DC-e
4.1. Identificação da DC-e
4. Gerar o XML da DC-e
« Anterior
4.1.1. Cria a chave de Acesso da DC-e
Próximo »

4.1. Identificação da DC-e

Sumário

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

Assinatura

string ide(int cUF, int cDC, int mod, int serie, int nDC, string dhEmi, int tpEmis, int tpEmit, int nSiteAutoriz, int cDV,int tpAmb, string verProc)

Descrição:

Funcionalidade para gerar o XML do grupo do Identificação da DC-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.).
cDC inteiro - sim informar o código numérico que compõe a Chave de Acesso. Número aleatório gerado pelo emitente para cada DC-e para evitar acessos indevidos ao documento.
mod inteiro 2 sim informar o código do Modelo do Documento Fiscal, código 99 para a DC-e.
serie inteiro 1-3 sim informar a série do Documento Fiscal, informar 0 (zero) para série única.
nDC inteiro 1-9 sim informar o Número da DC-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: 2025-05-01T07:56:55-02:00
tpEmis inteiro 1 sim Forma de emissão da DC-e:
1 - Normal;
9 - Contingência off-line da DC-e.
tpEmit inteiro 1 sim informar tipo do emitente:
0=Fisco
1=Marketplace
2=Emissor próprio
3=Transportadora
4=ECT
nSiteAutoriz inteiro 1 não informar o Site do Autorizador que recepcionou a DCe.
Se o autorizador da DC-e possuir apenas um site deverá ser informado com Zero (0), em caso de autorizador trabalhar com múltiplos sites indicar o número do site para qual foi endereçada a DCe (1 a 9).
Observação: O ambiente autorizador que trabalhar com mais de um Site deverá divulgar para cada endereço de site qual número correspondente de nSiteAutoriz o contribuinte pode usar.
cDV inteiro 1 sim informar o Dígito Verificador da chave de acesso da DC-e.
tpAmb inteiro 1 sim informar tipo de ambiente:
1 - Produção;
2 - Homologação.
verProc string 1-20 sim informar a versão do processo de emissão da DC-e utilizado (aplicativo emissor de DC-e).


Diagrama:

DiagramaIdentificacao

Retorno:

Um string com o grupo XML de identificação

XML:

Exemplo de XML do grupo de Identificação da DC-e


 
<ide>
  <cUF>35</cUF>
  <cDC>094864</cDC>
  <mod>99</mod>
  <serie>0</serie>
  <nDC>1</nDC>
  <dhEmi>2025-05-13T23:04:11-03:00</dhEmi>
  <tpEmis>1</tpEmis>
  <tpEmit>3</tpEmit>
  <nSiteAutoriz>0</nSiteAutoriz>
  <cDV>0</cDV>
  <tpAmb>2</tpAmb>
  <verProc>DCe_Util_v100</verProc>
</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

' inicializar variáveis
'...............................................
'
' criação dos grupos
'
'
'========grupo de identificação da DCe==================
'
' declara e instancia DLL

Dim objDCeUtil As Object
 
Set objDCeUtil = CreateObject("DCe_Util.Util")
 
' declarar parâmetros

Dim ide As String
Dim ide_cUF As Long
Dim ide_cDC As Long
Dim ide_mod As Long
Dim ide_serie As Long
Dim ide_nDC As Long
Dim ide_dhEmi As String
Dim ide_tpEmis As Long
Dim ide_tpEmit As Long
Dim ide_nSiteAutoriz As Long
Dim ide_cDV As Long
Dim ide_tpAmb As Long
Dim ide_verProc As String
 
' inicializar parâmetros

ide = ""
ide_cUF = 35            ' informar o código IBGE da UF do emitente
ide_cDC = 0             ' informar o código numérico que compõe a chave de acesso
ide_mod = 99            ' informar o modelo do documento - DC-e = 99
ide_serie = 0           ' informar a série da DC-e, informar 0 quando for série única
ide_nDC = 1             ' infomar o número da DC-e
ide_dhEmi = Format$(Now, "yyyy-mm-ddThh:mm:ss-03:00")   ' informar a data de emissão
ide_tpEmis = 1          ' informar a forma de emissão da DC-e: 1 - Normal / 9 - Contingência off-line da DC-e
ide_tpEmit = 3          ' informar o tipo Emitente: 0=Fisco;1=Marketplace;2=Emissor próprio;3=Transportadora
ide_nSiteAutoriz = 0    ' informar o Site Autorizador que recepcionou a DC-e
ide_cDV = 0             ' informar o DV da chave de acesso da DC-e
ide_tpAmb = 2           ' informar o tpAmb: 1-produção/2-homologação
ide_verProc = "DCe_Util_v100"   ' versão do processo de emissão utilizado

' cria chave de acesso da DC-e

Dim resultado As Long
Dim CNPJ As String
Dim cUF, ano, mes, modelo, serie, numero, tpEmis, tpEmit, nSiteAutoriz, codigoseguranca As String
Dim msgResultado As String
Dim cDFe As String
Dim cDV As String
CNPJ = "00000000000191"
cUF = Trim(Str(ide_cUF))
ano = Format(Now, "YY")
mes = Format(Now, "mm")
modelo = Trim(Str(ide_mod))
serie = Trim(Str(ide_serie))
numero = Trim(Str(ide_nDC))
tpEmis = Trim(Str(ide_tpEmis))
tpEmit = Trim(Str(ide_tpEmit))
nSiteAutoriz = Trim(Str(ide_nSiteAutoriz))
msgResultado = ""
codigoseguranca = "segredo" ' informar uma expressão para garantir o sigilo da forma de cálculo do cDFe
cDFe = ""
cDV = ""
chave = ""
 
resultado = objDCeUtil.CriaChaveDCe(cUF, ano, mes, CNPJ, modelo, serie, numero, tpEmis, tpEmit, nSiteAutoriz, codigoseguranca, msgResultado, cDFe, cDV, chave)
 
If resultado <> 5601 Then
 
   MsgBox "Ocorreu um erro ao gerar a chave de acesso " + msgResultado, vbInformation, "Resultado"
 
Else
   ide_cDV = Val(cDV)          ' utilizar o que foi gerado no criachaveDFe
   ide_cDC = Val(cDFe)         ' utilizar o que foi gerado no criachaveDFe

 
 
   ide = objDCeUtil.ide(ide_cUF, _
                        ide_cDC, _
                        ide_mod, _
                        ide_serie, _
                        ide_nDC, _
                        ide_dhEmi, _
                        ide_tpEmis, _
                        ide_tpEmit, _
                        ide_nSiteAutoriz, _
                        ide_cDV, _
                        ide_tpAmb, _
                        ide_verProc)
 
MsgBox ide, vbInformation, "Informação"
 
End If
4.1. Identificação da DC-e
4. Gerar o XML da DC-e
« Anterior
4. Gerar o XML da DC-e
Próximo »
4.1.1. Cria a chave de Acesso da DC-e