14. Gerar XML da NF-e
14.3. Emitente da NF-e 2G
14.2.6. Cupom Fiscal referenciado
« Anterior
14.4. Destinatário da NF-e 3.10
Próximo »

14.3. Emitente da NF-e 2G

Funcionalidade para gerar o XML do grupo do Emitente da NF-e da versão 2.00/3.00/3.10 do Leiaute

Assinatura

string emitente2G(string CNPJ, string CPF, string xNome, string xFant, string xLgr, string nro, string xCpl, string xBairro, string cMun, string xMun, string UF, string CEP, string cPais, string xPais, string fone, string IE, string IEST, string IM, string CNAE, string CRT)

Descrição:

Funcionalidade para gerar o XML do grupo do Emitente da NF-e da versão 2.00/3.00/3.10 do leiaute da NF-e.

Parâmetros:

nome tipo tam. obrig. descrição
CNPJ string 14 sim informar o CNPJ do emitente, sem formatação ou máscara
CPF string 11 sim informar o CPF do emitente, sem formatação ou máscara, utilizado apenas quando o fisco emite a nota fiscal
xNome string 2-60 sim informar a razão social do emitente
xFant string 1-60 não informar o nome fantasia do emitente, pode ser omitido
xLgr string 2-60 sim informar o logradouro do emitente
nro string 1-60 sim informar o número do endereço do emitente, campo obrigatório. Informar S/N ou . (ponto) ou - (traço) para evitar falha de schema XML quando não houver número.
xCpl string 1-60 não informar o complemento do endereço do emitente, pode ser omitido
xBairro string 2-60 sim informar o bairro do endereço do emitente
cMun string 7 sim informar o código do município na codificação do IBGE com 7 dígitos
xMun string 2-60 sim informar o nome do município
UF string 2 sim informar a sigla da UF
CEP string 8 sim informar o CEP, passou a ser de informação obrigatória a partir da NT 2011/004.
cPais string 4 não informar o código do pais na codificação do BACEN, se informado deve ser 1058
xPais string 6 não informar o nome do país, se informado deve ser Brasil ou BRASIL
fone string 6-14 não informar o telefone com DDD + número, sem formatação (campo com tamanho aumentado)
IE string 2-14 sim informar a IE do emitente, sem formatação ou máscara
IEST string 2-14 não informar a IE ST, sem formatação ou máscara, quando praticar alguma operação como substituto tributário
IM string 1-15 não informar a Inscrição Municipal, sem formatação ou máscara, quando emitir NF conjugada (prestação de serviço com fornecimento de peças)
CNAE string 7 não informar o CNAE Fiscal, este campo deve ser informado em conjunto com o campo IM e vice-versa, a informação de um e omissão do outro resulta em falha de Schema XML
CRT string 1 sim informar o Código de Regime Tributário - CRT, valores válidos: 1 - Simples Nacional; 2 - Simples Nacional - excesso de sublimite de receita bruta; 3 - Regime Normal (campo novo).

Diagrama:

DiagramaEmitente

Dica

Os campos com contorno tracejado podem ser omitidos se a operação não exigir a informação.

Os campos em verde são tags novas ou tags que sofreram alteração na definição na versão 2.00 do leiaute.

Retorno:

Um string com o grupo XML do emitente

XML:

Exemplo de XML da versão 2.00 do leiaute da NF-e

<emit>
      <CNPJ>99999090910270</CNPJ>
      <xNome>NF-e Associacao NF-e</xNome>
      <xFant>NF-e</xFant>
      <enderEmit>
        <xLgr>Rua Central</xLgr>
        <nro>100</nro>
        <xCpl>Fundos</xCpl>
        <xBairro>Distrito Industrial</xBairro>
        <cMun>3502200</cMun>
        <xMun>Angatuba</xMun>
        <UF>SP</UF>
        <CEP>17100171</CEP>
        <cPais>1058</cPais>
        <xPais>Brasil</xPais>
        <fone>1733021717</fone>
      </enderEmit>
      <IE>123456789012</IE>
      <CRT>3</CRT>
      <!-- acrescimo da identificacao do regime tributario do emissor, para maiores detalhes veja item 9.8 da NT 2009/006 -->
</emit>

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 ser desnecessária, pois os browser exibem formatado.

Exemplos de uso:

Visual Basic 6.0

 
' inicializar variáveis
'...............................................

Dim objNFeUtil As Object
 
Set objNFeUtil = CreateObject("NFe_Util_2G.Util")
'
'         criação dos grupos
'
'=====grupo de identificação do emitente (grupo B do Manual de integração 4.01-NT2009/006 - página 113)=======
'
'        <>&" são caracteres reservados do XML e devem ser evitados ou substituídos
'        por &lt; &gy; &amp; &quot;
'
'        Vale ressaltar que as aplicações das UF devem mostrar DIAS &amp; DIAS TENTANDO S/A,
'        pois não entedem &amp; como &, assim talvez seja melhor substituir o & por e.
'
emi_CNPJ = "99999999000191"                 ' CNPJ do emitente sem máscara de formatação
emi_CPF = ""                                ' CPF do emitente, uso exclusivo do Fisco
emi_xNome = "DIAS e DIAS TENTANDO S/A"      ' Razão social do emitente, evitar caracteres acentuados e &
emi_xFant = "DDT"                           ' Nome fantasia
emi_xLgr = "AV PRINCIPAL"                   ' logradouro
emi_nro = "S/N"                             ' número, informar S/N quando inexistente para evitar erro de Schema XML
emi_xCpl = "10 andar"                       ' complemento do endereço, o conteúdo pode ser omitido
emi_xBairro = "CENTRO"                      ' bairro
emi_cMun = "3550308"                        ' código do município - codificação IBGE, deve ser 
                                            ' compatível com a UF
emi_xMun = "SAO PAULO"                      ' nome do município
emi_UF = "SP"                               ' sigla da UF
emi_CEP = "01300000"                        ' CEP - sem máscara
emi_cPais = "1058"                          ' código do país - deve fixo em 1058 - Brasil
emi_xPais = "Brasil"                        ' nome do país (Brasil ou BRASIL)
emi_fone = "1133221234"                     ' número do telefone sem máscara
emi_IE = "123456789011"                     ' Inscrição Estadual do emitente sem máscara
emi_IEST = ""                               ' Inscrição Estadual do ST
emi_IM = ""                                 ' Inscrição Municipal
emi_CNAE = ""                               ' Código do CNAE
emi_CRT = "1"                               ' Código do CRT: 1-Simples Nacional;
                                            '                2-Simples Nacional - excesso de sublimite de receita bruta;
                                            '                3 - Regime Normal.
'
'       gera grupo emi
'
emi = objNFeUtil.emitente2G(emi_CNPJ, emi_CPF,  emi_xNome, emi_xFant, emi_xLgr, emi_nro, emi_xCpl, emi_xBairro, emi_cMun, emi_xMun, emi_UF, emi_CEP, emi_cPais, emi_xPais, emi_fone, emi_IE, emi_IEST, emi_IM, emi_CNAE, emi_CRT)

Delphi

 
 
procedure TForm1.Button4Click(Sender: TObject);
//
//  Exemplo de montagem do grupo emitente
//
var
 
 
Util: Olevariant;     // exemplo em latebindig
 
 
 
emi: widestring;
emi_CNPJ: widestring;
emi_CPF: widestring;
emi_xNome: widestring;
emi_xFant: widestring;
emi_xLgr: widestring;
emi_nro: widestring;
emi_xCpl: widestring;
emi_xBairro: widestring;
emi_cMun: widestring;
emi_xMun: widestring;
emi_UF: widestring;
emi_CEP: widestring;
emi_cPais: widestring;
emi_xPais: widestring;
emi_fone: widestring;
emi_IE: widestring;
emi_IEST: widestring;
emi_IM: widestring;
emi_CNAE: widestring;
 
//
//  campos novos
//
 
emi_CRT: widestring;
 
 
begin
 
//
//         criação dos grupos
//
//=====grupo de identificação do emitente (grupo B do Manual de integração 4.01-NT2009/006 - página 113)=======
//
//        <>&" são caracteres reservados do XML e devem ser evitados ou substituídos
//        por &lt; &gy; &amp; &quot;
//
//       Vale ressaltar que as aplicações das UF devem mostrar DIAS &amp; DIAS TENTANDO S/A,
//        pois não entedem &amp; como &, assim talvez seja melhor substituir o & por e.
//
emi_CNPJ := '99999999000191';                 // CNPJ do emitente sem máscara de formatação
emi_CPF := '';                                // CPF do emitente, uso exclusivo do Fisco
emi_xNome := 'DIAS e DIAS TENTANDO S/A';      // Razão social do emitente, evitar caracteres acentuados e &
emi_xFant := 'DDT';                           // Nome fantasia
emi_xLgr := 'AV PRINCIPAL';                   // logradouro
emi_nro := 'S/N';                             // número, informar S/N quando inexistente para evitar erro de Schema XML
emi_xCpl := '10 andar';                       // complemento do endereço, o conteúdo pode ser omitido
emi_xBairro := 'CENTRO';                      // bairro
emi_cMun := '3550308';                        // código do município - codificação IBGE, deve ser
                                            // compatível com a UF
emi_xMun := 'SAO PAULO';                      // nome do município
emi_UF := 'SP';                               // sigla da UF
emi_CEP := '01300000';                        // CEP - sem máscara
emi_cPais := '1058';                          // código do país - deve fixo em 1058 - Brasil
emi_xPais := 'Brasil';                        // nome do país (Brasil ou BRASIL)
emi_fone := '1133221234';                     // número do telefone sem máscara
emi_IE := '123456789011';                     // Inscrição Estadual do emitente sem máscara
emi_IEST := '';                               // Inscrição Estadual do ST
emi_IM := '';                                 // Inscrição Municipal
emi_CNAE := '';                               // Código do CNAE
emi_CRT := '1';                               // Código do CRT: 1-Simples Nacional;
                                            //                2-Simples Nacional - excesso de sublimite de receita bruta;
                                            //                3 - Regime Normal.
//
//       gera grupo emi
//
 
 
Util := CreateOleObject('NFe_util_2G.util');
 
emi := Util.emitente2G(emi_CNPJ, emi_CPF,  emi_xNome, emi_xFant, emi_xLgr, emi_nro, emi_xCpl, emi_xBairro, emi_cMun, emi_xMun, emi_UF, emi_CEP, emi_cPais, emi_xPais, emi_fone, emi_IE, emi_IEST, emi_IM, emi_CNAE, emi_CRT);
 
end;
14.3. Emitente da NF-e 2G
14. Gerar XML da NF-e
« Anterior
14.2.6. Cupom Fiscal referenciado
Próximo »
14.4. Destinatário da NF-e 3.10