Jump to content

Estrutura do XML da NF-e


Postagens Recomendadas

Olá pessoal, tudo bem?

Neste tópico vamos mostrar a estrutura básica do XML da Nota Fiscal Eletrônica - NF-e.

 

Segundo o manual do contribuinte o conceito de NF-e é:

"A Nota Fiscal Eletrônica (NF-e) é um documento de existência exclusivamente digital, emitido
e armazenado eletronicamente, com o intuito de documentar uma operação de circulação de
mercadorias ou prestação de serviços, no campo de incidência do ICMS, cuja validade jurídica
é garantida por duas condições necessárias: a assinatura digital do emitente e a Autorização
de Uso fornecida pela administração tributária do domicílio do contribuinte."

 

O padrão de documento digital adotado pela SEFAZ foi o XML (eXtensible Markup Language) que foi projetado para armazenar e transportar dados e para ser legível por humanos e por máquinas.

 

Um XML é formado por TAGS que são elementos de marcação que possuem nomes específicos e onde os valores de cada elemento ficam armazenados entre as TAGS, abaixo um exemplo da TAG "preco" cujo valor é "29.99".

<preco>29.99</preco>

 

Para saber mais sobre as TAGS e outros elementos representes em um arquivo XML recomendo o tutorial da W3Schools.

 

Abaixo vamos mostrar cada parte que compõe um XML de NF-e, e ao final o exemplo do XML completo.

 

Todo XML de NF-e é composto por duas TAGS principais:

<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
  <infNFe Id="NFe41220661409790000158551220000095681046404143" versao="4.00">
    // Aqui dentro as demais Tags com as informações gerais da NFe
  </infNFe>
</NFe>  

 A TAG <NFe> é a tag principal e a TAG <infNFe> possui o ID da NF-e e todas as demais TAGS com toda a informação da NF-e.

 

Informações de identificação da NF-e:

Possui os dados básicos de identificação da nota fiscal eletrônica, série, número, data de emissão, tipo da nota fiscal, natureza da operação entre outros campos necessários para seu processamento.

<ide>
	<cUF>41</cUF>
	<cNF>04640414</cNF>
	<natOp>VENDA DE MERCADORIA ADQ. DE TERCEIRO - PF E PJ NAO CONTRIBUI</natOp>
	<mod>55</mod>
	<serie>122</serie>
	<nNF>9568</nNF>
	<dhEmi>2022-06-11T10:29:51-03:00</dhEmi>
	<dhSaiEnt>2022-06-11T10:29:51-03:00</dhSaiEnt>
	<tpNF>1</tpNF>
	<idDest>2</idDest>
	<cMunFG>4115200</cMunFG>
	<tpImp>1</tpImp>
	<tpEmis>1</tpEmis>
	<cDV>3</cDV>
	<tpAmb>2</tpAmb>
	<finNFe>1</finNFe>
	<indFinal>1</indFinal>
	<indPres>2</indPres>
	<indIntermed>1</indIntermed>
	<procEmi>0</procEmi>
	<verProc>TestesTecno</verProc>
</ide>

 

Dados do Emitente:

Possui os dados de identificação relativos a empresa emitente da NF-e.

<emit>
	<CNPJ>61409790000158</CNPJ>
	<xNome>TECNOSPEED TECNOLOGIA</xNome>
	<xFant>TECNOSPEED TECNOLOGIA</xFant>
	<enderEmit>
		<xLgr>RUA DO POVO</xLgr>
		<nro>711</nro>
		<xBairro>parque petrobras</xBairro>
		<cMun>4115200</cMun>
		<xMun>MARINGA</xMun>
		<UF>PR</UF>
		<CEP>87020015</CEP>
		<cPais>1058</cPais>
		<xPais>BRASIL</xPais>
		<fone>4432222222</fone>
	</enderEmit>
	<IE>5144917698</IE>
	<CRT>3</CRT>
</emit>

 

Dados do Destinatário:

Possui os dados de identificação relativos ao destinatário da NF-e, ou seja, para quem está sendo emitida a nota.

<dest>
	<CPF>65667239434</CPF>
	<xNome>NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome>
	<enderDest>
		<xLgr>TRAV VICENTE SILVEIRA</xLgr>
		<nro>N 40</nro>
		<xBairro>CENTRO</xBairro>
		<cMun>4308607</cMun>
		<xMun>GARIBALDI</xMun>
		<UF>RS</UF>
		<CEP>95720000</CEP>
		<cPais>1058</cPais>
		<xPais>BRASIL</xPais>
		<fone>5432222222</fone>
	</enderDest>
	<indIEDest>9</indIEDest>
</dest>

 

Produtos e Impostos:

Possui os dados detalhados dos produtos e impostos que estão na NF-e. Esse grupo possui 3 TAGS principais que descrevem:

  1. o número de itens:  TAG <det nItem="1"> (máximo de 990 segundo manual do contribuinte) 
  2. produtos: TAG <prod>
  3. impostos: TAG <imposto> (que fica dentro da TAG <prod>)

 

<det nItem="1">
	<prod>
		<cProd>874748</cProd>
		<cEAN>SEM GTIN</cEAN>
		<cBarra>999999999999999999999999999999</cBarra>
		<xProd>Ravera</xProd>
		<NCM>21069030</NCM>
		<CFOP>6108</CFOP>
		<uCom>UN</uCom>
		<qCom>1</qCom>
		<vUnCom>98.50</vUnCom>
		<vProd>98.50</vProd>
		<cEANTrib>SEM GTIN</cEANTrib>
		<uTrib>UN</uTrib>
		<qTrib>1</qTrib>
		<vUnTrib>98.5000</vUnTrib>
		<indTot>1</indTot>
		<veicProd>
			<tpOp>0</tpOp>
			<chassi>12345678912345678</chassi>
			<cCor>251</cCor>
			<xCor>Prata</xCor>
			<pot>120</pot>
			<cilin>500</cilin>
			<pesoL>2.0000</pesoL>
			<pesoB>3.0000</pesoB>
			<nSerie>321</nSerie>
			<tpComb>16</tpComb>
			<nMotor>654321</nMotor>
			<CMT>8.0000</CMT>
			<dist>3</dist>
			<anoMod>2015</anoMod>
			<anoFab>2015</anoFab>
			<tpPint>A</tpPint>
			<tpVeic>1</tpVeic>
			<espVeic>1</espVeic>
			<VIN>N</VIN>
			<condVeic>1</condVeic>
			<cMod>061210</cMod>
			<cCorDENATRAN>10</cCorDENATRAN>
			<lota>5</lota>
			<tpRest>0</tpRest>
		</veicProd>
	</prod>
	<imposto>
		<ICMS>
			<ICMS51>
				<orig>0</orig>
				<CST>51</CST>
				<modBC>0</modBC>
				<vBC>98.50</vBC>
				<pICMS>7.00</pICMS>
				<vICMS>6.90</vICMS>
				<pFCPDif>0.00</pFCPDif>
				<vFCPDif>0.00</vFCPDif>
				<vFCPEfet>0.00</vFCPEfet>
			</ICMS51>
		</ICMS>
		<ISSQN>
			<vBC>0.01</vBC>
			<vAliq>12</vAliq>
			<vISSQN>0.01</vISSQN>
			<cMunFG>4115200</cMunFG>
			<cListServ>01.01</cListServ>
			<indISS>1</indISS>
			<indIncentivo>1</indIncentivo>
		</ISSQN>
		<PIS>
			<PISAliq>
				<CST>01</CST>
				<vBC>98.50</vBC>
				<pPIS>0.65</pPIS>
				<vPIS>6.90</vPIS>
			</PISAliq>
		</PIS>
		<COFINS>
			<COFINSAliq>
				<CST>01</CST>
				<vBC>98.50</vBC>
				<pCOFINS>3.00</pCOFINS>
				<vCOFINS>2.96</vCOFINS>
			</COFINSAliq>
		</COFINS>
		<ICMSUFDest>
			<vBCUFDest>98.50</vBCUFDest>
			<vBCFCPUFDest>98.50</vBCFCPUFDest>
			<pFCPUFDest>0.00</pFCPUFDest>
			<pICMSUFDest>17.00</pICMSUFDest>
			<pICMSInter>12.00</pICMSInter>
			<pICMSInterPart>100.00</pICMSInterPart>
			<vFCPUFDest>0.00</vFCPUFDest>
			<vICMSUFDest>9.85</vICMSUFDest>
			<vICMSUFRemet>0.00</vICMSUFRemet>
		</ICMSUFDest>
	</imposto>
</det>

 

Valores Totais:

Possui os dados totalizados relativos aos valores de todos os produtos e impostos da NF-e.

<total>
	<ICMSTot>
		<vBC>98.50</vBC>
		<vICMS>6.90</vICMS>
		<vICMSDeson>0.00</vICMSDeson>
		<vFCPUFDest>0.00</vFCPUFDest>
		<vICMSUFDest>9.85</vICMSUFDest>
		<vICMSUFRemet>0.00</vICMSUFRemet>
		<vFCP>0.00</vFCP>
		<vBCST>0.00</vBCST>
		<vST>0.00</vST>
		<vFCPST>0.00</vFCPST>
		<vFCPSTRet>0.00</vFCPSTRet>
		<vProd>98.50</vProd>
		<vFrete>0.00</vFrete>
		<vSeg>0.00</vSeg>
		<vDesc>0.00</vDesc>
		<vII>0.00</vII>
		<vIPI>0.00</vIPI>
		<vIPIDevol>0.00</vIPIDevol>
		<vPIS>6.90</vPIS>
		<vCOFINS>2.96</vCOFINS>
		<vOutro>0.00</vOutro>
		<vNF>98.50</vNF>
	</ICMSTot>
</total>

 

Informações do Transporte:

Possui os dados relativos ao transporte da NF-e.

<transp>
	<modFrete>9</modFrete>
	<transporta>
		<CNPJ>61409790000158</CNPJ>
	</transporta>
	<retTransp>
		<vServ>1.00</vServ>
		<vBCRet>1.00</vBCRet>
		<pICMSRet>1.00</pICMSRet>
		<vICMSRet>1.00</vICMSRet>
		<CFOP>5101</CFOP>
		<cMunFG>4115200</cMunFG>
	</retTransp>
	<veicTransp>
		<placa>XXXX999</placa>
		<UF>PR</UF>
	</veicTransp>
	<reboque>
		<placa>XXXX999</placa>
		<UF>PR</UF>
	</reboque>
</transp>

 

Formas de pagamento:

Possui os dados das formas de pagamento da NF-e.

<pag>
	<detPag>
		<indPag>0</indPag>
		<tPag>17</tPag>
		<vPag>98.50</vPag>
	</detPag>
</pag>

 

Informações Adicionais:

Possui um grupo onde é possível descrever informações adicionais e mensagens necessárias a emissão da NF-e.

<infAdic>
	<infCpl>IPI.ISENTO DO IPI CF.ART.81,INCISO III,DECR.N.7.212 DE 16/06/10-RIPI.COD.INSC.SUFRAMA:899999999.ICMS. </infCpl>
</infAdic>

 

Informações do Responsável Técnico:

Possui os dados do responsável técnico do sistema emissor da NF-e. 

<infRespTec>
	<CNPJ>61409790000158</CNPJ>
	<xContato>Nome do Contato</xContato>
	<email>email@empresaficticia.com.br</email>
	<fone>41999999999</fone>
	<idCSRT>01</idCSRT>
	<hashCSRT>QoasQ2FrsJ29onWrcNJ44pxDdmU=</hashCSRT>
</infRespTec>

 

Assinatura Digital:

Ao final do XML da NF-e temos a TAG <Signature> que possui a assinatura do XML da NF-e segundo o padrão XML Digital Signature definido no manual do contribuinte.

Abaixo a definição da assinatura segundo o manual do contribuinte:

"A assinatura do Contribuinte na NF-e será feita na TAG <infNFe> identificada pelo atributo Id,
cujo conteúdo deverá ser um identificador único (chave de acesso) precedido do literal ‘NFe’
para cada NF-e conforme leiaute descrito no Anexo I. O identificador único precedido do literal
‘#NFe’ deverá ser informado no atributo URI da TAG <Reference>. Para as demais
mensagens a serem assinadas, o processo é o mesmo mantendo sempre um identificador
único para o atributo Id na TAG a ser assinada."

Segue abaixo um exemplo da TAG a ser assinada:

<NFe xmlns="http://www.portalfiscal.inf.br/nfe" >
<infNFe Id="NFe41220661409790000158551220000095681046404143" versao="1.01">
...
</infNFe>

 

Abaixo a TAG de assinatura completa:

<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
	<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
	<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
	<Reference URI="#NFe41220661409790000158551220000095681046404143">
		<Transforms>
			<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
			<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
		</Transforms>
		<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
		<DigestValue>XvTTNC3JNA+u2lf6dRh4EBFqClI=</DigestValue>
	</Reference>
</SignedInfo>
		<SignatureValue>KgBqaV1DaUl/h/4aTuuv/fgBXrL+ZE8S+qXir5s576/tpXfzVWswDIts/VqO/Xm6+RuQNwqFXd0SltHcreA52rU3h92LdauCpsS8oqKAjNL3W8i59/NjMO2IRWRXDg6HD8ZyGNa5CkSkUSNE9jZXUvJ0pBBZ2hK2XZRVbODgeIEBS3Tufs/lQnXe6cIKjmarD9chZFdPkpFCM7AagZFPXbJ3Eo4kaJaUFZLFn+RCsc2SqeYDFCtvakx+xw15rry+M1+nJQQ7Bqk1NCKDULBhMZg1Og2O0jIaNDTK6o9tjcUcVkj6D7qO8rABD5IurRZJ7DozM2++qj2MCKxlXSfX9g==</SignatureValue>
		<KeyInfo>
			<X509Data>
				<X509Certificate>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</X509Certificate>
			</X509Data>
		</KeyInfo>
</Signature>

 

Em anexo segue o exemplo da NF-e utilizada nesse post.

 

Chegamos ao final! Obrigado pessoal!

 

exemploEstruturaNFe.xml

  • Curtir 2
Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...