16. Gerar XML da NF-e [23-12-13]
16.4. Destinatário da NF-e 3.10 [23-12-13]
16.3. Emitente da NF-e 2G
« Anterior
16.5. Local de Retirada
Próximo »

16.4. Destinatário da NF-e 3.10 [23-12-13]

Funcionalidade para gerar o XML do grupo do Destinatário da NF-e / NFC-e da versão 3.10

Assinatura

string destinatario310(string CNPJ, string CPF, string idEstrangeiro, string xNome, string xLgr, string nro, string xCpl, string xBairro, string cMun, string xMun, string UF, string CEP, string cPais, string xPais, string fone, string indIEDest, string IE, string IESUF, string IM, string eMail)

Descrição:

Funcionalidade para gerar o XML do grupo do Destintário da NF-e / NFC-e da versão 3.10 do leiaute da NF-e.

Dica

A versão 3.x do leiaute da NFC-e/NF-e trouxe alterações significativas na geração do grupo de informações do destinatário.

No caso da NFC-e, a identificação do destinatário tem algumas particularidades:

  • Identificação opcional, até o limite máximo de valor total da operação definido pela UF. Acima do limite de valor, mesmo para o caso de estrangeiro, é necessária a identificação do destinatário;
  • Em qualquer caso, se for decidido pela identificação do destinatário, também é opcional a identificação completa do endereço, ou somente a identificação de CPF, CNPJ, ou dados do estrangeiro;
  • No caso de emissão de NFC-e para entrega em domicílio (campo indPres=4), independentemente do valor da operação, é obrigatória a identificação do destinatário e do endereço de entrega.

Para a NF-e, se mantém obrigatória a identificação completa do destinatário, controlada por regras de validação efetuadas pela SEFAZ.
Incluído campo para a identificação da IE do destinatário (tag:indIEDest), que irá documentar a informação do destinatário Contribuinte do ICMS (obrigatória a informação da IE do destinatário), Contribuinte Isento de Inscrição (não deve informar a IE) e Não Contribuinte. Neste último caso, a IE do destinatário pode ser informada ou não, já que algumas UF concedem inscrição estadual para não contribuintes.

Parâmetros:

nome tipo tam. obrig. descrição
CNPJ string 14 sim informar o CNPJ do destinatário, sem formatação ou máscara
CPF string 11 sim CPF do destinatário, sem formatação ou máscara
idEstrangeiro string 0,5-20 sim No caso de operação com o exterior, ou para comprador estrangeiro informar a tag "idEstrangeiro", com o número do passaporte ou outro documento legal para identificar pessoa estrangeira.
Nota: Campo aceita valor Nulo.
(campo novo) [23-12-13]
xNome string 2-60 não informar a razão social do destinatário, pode ser omitida no caso de NFC-e. [23-12-13]
xLgr string 2-60 sim informar o logradouro do destinatário, o grupo de informações do endereço do destinatário pode ser omitido no caso de NFC-e. [23-12-13]
nro string 1-60 sim informar o número do endereço do destinatário, 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 destinatário, pode ser omitido
xBairro string 2-60 sim informar o bairro do endereço do destinatário
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 não informar o CEP, sem formatação ou máscara, pode ser omitido
cPais string 4 não informar o código do pais na codificação do BCB, 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
indIEDest string 1 sim Indicador da IE do Destinatário, informar:
1 - Contribuinte ICMS (informar a tag IE do destinatário);
2 - Contribuinte isento de Inscrição no cadastro de Contribuintes do ICMS - não informar a tag IE;
9 - Não Contribuinte, que pode ou não possuir Inscrição Estadual no Cadastro de Contribuintes do ICMS - não informar a tag IE.
Nota 1: No caso de NFC-e informar indIEDest=9 e não informar a tag IE do destinatário;
Nota 2: No caso de operação com o Exterior informar indIEDest=9 e não informar a tag IE do destinatário;
Nota 3: No caso de Contribuinte Isento de Inscrição (indIEDest=2), não informar a tag IE do destinatário.
(campo novo) [23-12-13]
IE string 2-14 não informar a IE do destinatário (somente quando informar a tag indIEDest=1), sem formatação ou máscara
A tag não aceita mais a literal "ISENTO", assim só informe a Inscrição Estadual, isto é só informe está tag quando informar a tag indIEDest=1.
Nota: Não informar esta tag no caso da NFC-e. [23-12-13]
ISUF string 8-9 não informar a Inscrição SUFRAMA do destinatário, sem formatação ou máscara, se existir.
IM string 1-15 não Inscrição Municipal do Tomador do Serviço, campo opcional, pode ser informado na NF-e conjugada, com itens de produtos sujeitos ao ICMS e itens de serviços sujeitos ao ISSQN
(campo novo) [23-12-13]
eMail string 1-60 não informar o e-mail do destinatário, pode ser omitido

Diagrama:

DiagramaDestinatario

Dica

A tag CNPJ não aceita mais valor nulo, em caso de destinatário que seja pessoa estrangeira informar a tag idEstrangeiro com o número do passaporte ou outro documento legal para identificar pessoa estrangeira.
Nota: Campo aceita valor Nulo.

O grupo de identificação do destinatário pode ser omitido na NFC-e, também é possível informar o CPF/idEstrangeiro ou o CPF/idEstrangeiro e o nome.

O grupo de informações do endereço do destinatário podem ser omitidos no caso de NFC-e.

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 3.10 do leiaute.

Retorno:

Um string com o grupo XML do destinatário

XML:

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

TAG indIEDest = 1 - destinatário contribuinte do ICMS

<dest>
      <CNPJ>00000000000191</CNPJ>
      <xNome>DISTRIBUIDORA DE AGUAS MINERAIS</xNome>
      <enderDest>
        <xLgr>AV DAS FONTES</xLgr>
        <nro>1777</nro>
        <xCpl>10 ANDAR</xCpl>
        <xBairro>PARQUE FONTES</xBairro>
        <cMun>5030801</cMun>
        <xMun>Sao Paulo</xMun>
        <UF>SP</UF>
        <CEP>13950000</CEP>
        <cPais>1058</cPais>
        <xPais>BRASIL</xPais>
        <fone>1932011234</fone>
      </enderDest>
      <indIEDest>1</indIEDest>
      <IE>123456789</IE>
      <email>contato@nf-eletronica.com</email>
</dest>

TAG indIEDest = 2 - destinatário contribuinte do ICMS, mas ISENTO de inscrição no cadastro de contribuintes do ICMS

<dest>
      <CPF>11122233344</CPF>
      <xNome>Fulano de Tal - transportador autonomo</xNome>
      <enderDest>
        <xLgr>AV DAS FONTES</xLgr>
        <nro>1777</nro>
        <xCpl>10 ANDAR</xCpl>
        <xBairro>PARQUE FONTES</xBairro>
        <cMun>5030801</cMun>
        <xMun>Sao Paulo</xMun>
        <UF>SP</UF>
        <CEP>13950000</CEP>
        <cPais>1058</cPais>
        <xPais>BRASIL</xPais>
        <fone>1932011234</fone>
      </enderDest>
      <indIEDest>9</indIEDest>
      <email>caminhoneiro@transporte.com</email>
</dest>

TAG indIEDest = 9 - destinatário não contribuinte do ICMS

<dest>
      <CNPJ>00000000000191</CNPJ>
      <xNome>Banco do Brasil S/A</xNome>
      <enderDest>
        <xLgr>AV DAS FONTES</xLgr>
        <nro>1777</nro>
        <xCpl>10 ANDAR</xCpl>
        <xBairro>PARQUE FONTES</xBairro>
        <cMun>5030801</cMun>
        <xMun>Sao Paulo</xMun>
        <UF>SP</UF>
        <CEP>13950000</CEP>
        <cPais>1058</cPais>
        <xPais>BRASIL</xPais>
        <fone>1932011234</fone>
      </enderDest>
      <indIEDest>9</indIEDest>
      <email>contato@nf-eletronica.com</email>
</dest>

Exemplo de XML da versão 3.10 do leiaute da NFC-e

<dest>
      <CPF>11122233344</CPF>
      <indIEDest>9</indIEDest>
</dest>
<dest>
      <CPF>11122233344</CPF>
      <xNome>Fulano de Tal</xNome>
      <indIEDest>9</indIEDest>
</dest>
<dest>
      <idEstrangeiro>1234567890</idEstrangeiro>
      <xNome>Fulano de Tal</xNome>
      <indIEDest>9</indIEDest>
</dest>

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")
'
'========grupo de identificação do destinatario =======
'
'        <>&" 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.
'
dest_CNPJ = "00000000000191"                 ' CNPJ do destinatario sem máscara de formatação
dest_CPF = ""                                ' CPF do destinatario sem máscara de formatação
dest_idEstrangeiro = ""                      ' Número do passaporte ou outro documento legal para indentificar pessoa estrangeira
dest_xNome = "Banco do Brasil S/A"           ' Razão social do destinatario, evitar caracteres acentuados e &
dest_xLgr = "Rua Libero Badaro"              ' logradouro
dest_nro = "280"                             ' número, informar S/N quando inexistente para evitar erro de Schema XML
dest_xCpl = "10 andar"                       ' complemento do endereço, o conteúdo pode ser omitido
dest_xBairro = "CENTRO"                      ' bairro
dest_cMun = "3550308"                        ' código do município (vide página 141 do manual), deve ser compatível com a UF
dest_xMun = "SAO PAULO"                      ' nome do município
dest_UF = "SP"                               ' sigla da UF
dest_CEP = "01315000"                        ' CEP - sem máscara
dest_cPais = "1058"                          ' código do pais - deve fixo em 1058 - Brasil
dest_xPais = "Brasil"                        ' nome do pais (Brasil ou BRASIL)
dest_fone = "1133221234"                     ' número do telefone sem máscara
dest_indIEDest = "9"                         ' Indicador da IE do Destinatário
dest_IE = "123456789011"                     ' Inscrição Estadual do destinatario sem máscara
dest_IESUF = ""                              ' Inscrição SUFRAMA
dest_IM = "99988811100"                      ' Inscrição Municipal do Tomador do Serviço
dest_eMail = "contato@bb.com.br"             ' e-mail do destinatário
'
'   gera grupo do destinatário
'
dest = objNFeUtil.destinatario310(dest_CNPJ, dest_CPF, dest_idEstrangeiro, dest_xNome, dest_xLgr, dest_nro, dest_xCpl, dest_xBairro, dest_cMun, dest_xMun, dest_UF, dest_CEP, dest_cPais, dest_xPais, dest_fone, dest_indIEDest, dest_IE, dest_IESUF, dest_IM, dest_eMail)
 
MsgBox dest, vbInformation, "Informação"

Visual Basic 6.0

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

Dim objNFeUtil As Object
 
Set objNFeUtil = CreateObject("NFe_Util_2G.Util")
'
'========grupo de identificação do destinatario =======
'
'        <>&" 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.
'
dest_CNPJ = ""                               ' CNPJ do destinatario sem máscara de formatação
dest_CPF = "11122233344"                     ' CPF do destinatario sem máscara de formatação
dest_idEstrangeiro = ""                      ' Número do passaporte ou outro documento legal para indentificar pessoa estrangeira
dest_xNome = "Fulano de Tal"                 ' Razão social do destinatario, evitar caracteres acentuados e &
dest_xLgr = ""                               ' logradouro
dest_nro = ""                                ' número, informar S/N quando inexistente para evitar erro de Schema XML
dest_xCpl = ""                               ' complemento do endereço, o conteúdo pode ser omitido
dest_xBairro = ""                            ' bairro
dest_cMun = ""                               ' código do município (vide página 141 do manual), deve ser compatível com a UF
dest_xMun = ""                               ' nome do município
dest_UF = ""                                 ' sigla da UF
dest_CEP = ""                                ' CEP - sem máscara
dest_cPais = ""                              ' código do pais - deve fixo em 1058 - Brasil
dest_xPais = ""                              ' nome do pais (Brasil ou BRASIL)
dest_fone = ""                               ' número do telefone sem máscara
dest_indIEDest = ""                          '  indicador a IE do destinatário
dest_IE = ""                                 ' Inscrição Estadual do destinatario sem máscara
dest_IESUF = ""                              ' Inscrição SUFRAMA
dest_IM = ""                                 ' Inscrição Municipal
dest_eMail = ""                              ' e-mail do destinatário
'
'   gera grupo do destinatário
'
dest = objNFeUtil.destinatario310(dest_CNPJ, dest_CPF, dest_idEstrangeiro, dest_xNome, dest_xLgr, dest_nro, dest_xCpl, dest_xBairro, dest_cMun, dest_xMun, dest_UF, dest_CEP, dest_cPais, dest_xPais, dest_fone, dest_indIEDest, dest_IE, dest_IESUF, dest_IM, dest_eMail)
 
MsgBox dest, vbInformation, "Informação"

Delphi

 
procedure TForm1.Button5Click(Sender: TObject);
 
// acrescentar comObj no use da unit.
 
var
 
Util: Olevariant;
 
//======  Dados do Destinatário==========
dest: widestring;
dest_CNPJ: widestring;
dest_CPF: widestring;
dest_xNome: widestring;
dest_xLgr: widestring;
dest_nro: widestring;
dest_xCpl: widestring;
dest_xBairro: widestring;
dest_cMun: widestring;
dest_xMun: widestring;
dest_UF: widestring;
dest_CEP: widestring;
dest_cPais: widestring;
dest_xPais: widestring;
dest_fone: widestring;
dest_IE: widestring;
dest_IESUF: widestring;
dest_eMail:widestring;
 
//========================== campos novos
 
dest_idEstrangeiro: widestring;
dest_indIEDest: widestring;
dest_IM: widestring;
 
 
begin
 
//
//========grupo de identificação do destinatario (grupo E do Manual de Integração =====================
//
//        <>&'; 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.
//
dest_CNPJ := '00000000000191';                 // CNPJ do destinatario sem máscara de formatação
dest_CPF := '';                                // CPF do destinatario sem máscara de formatação
dest_idEstrangeiro := '';                      // Número do passaporte ou outro documento legal para indentificar pessoa estrangeira
dest_xNome := 'Banco do Brasil S/A';           // Razão social do destinatario, evitar caracteres acentuados e &
dest_xLgr := 'Rua Libero Badaro';              // logradouro
dest_nro := '280';                             // número, informar S/N quando inexistente para evitar erro de Schema XML
dest_xCpl := '10 andar';                       // complemento do endereço, o conteúdo pode ser omitido
dest_xBairro := 'CENTRO';                      // bairro
dest_cMun := '3550308';                        // código do município (vide página 141 do manual), deve ser compatível com a UF
dest_xMun := 'SAO PAULO';                      // nome do município
dest_UF := 'SP';                               // sigla da UF
dest_CEP := '01315000';                        // CEP - sem máscara
dest_cPais := '1058';                          // código do pais - deve fixo em 1058 - Brasil
dest_xPais := 'Brasil';                        // nome do pais (Brasil ou BRASIL)
dest_fone := '1133221234';                     // número do telefone sem máscara
dest_indIEDest := '1';                         // indicador a IE do destinatário
dest_IE := '123456789011';                     // Inscrição Estadual do destinatario sem máscara
dest_IESUF := '';                              // Inscrição SUFRAMA
dest_IM :='';                                  // Inscrição Municipal do tomador
dest_eMail := 'contato@bb.com.br';             // e-mail do destinatário
//
//   gera grupo do destinatário
//
 
Util := CreateOleObject('NFe_util_2G.util');
 
dest := Util.destinatario310(dest_CNPJ, dest_CPF, dest_idEstrangeiro, dest_xNome, dest_xLgr, dest_nro, dest_xCpl, dest_xBairro, dest_cMun, dest_xMun, dest_UF, dest_CEP, dest_cPais, dest_xPais, dest_fone, dest_indIEDest, dest_IE, dest_IESUF, dest_IM, dest_eMail);
 
MessageDlg( dest, mtInformation, [mbOk], 0);
 
end;
16.4. Destinatário da NF-e 3.10 [23-12-13]
16. Gerar XML da NF-e [23-12-13]
« Anterior
16.3. Emitente da NF-e 2G
Próximo »
16.5. Local de Retirada