9 changed files with 671 additions and 105 deletions
-
2pynfe/data/XSDs/README
-
1pynfe/processamento/assinatura.py
-
75pynfe/processamento/validacao.py
-
15run_tests.py
-
106tests/01-basico.txt
-
34tests/02-modelo-07-validacao.txt
-
223tests/xml/NFe.xml
-
1tests/xml/NFe_assinada.xml
-
223tests/xml/NFe_falhaSchema.xml
@ -1,3 +1,76 @@ |
|||||
|
#-*- coding:utf-8 -*- |
||||
|
|
||||
|
from os import path |
||||
|
|
||||
|
try: |
||||
|
from lxml import etree |
||||
|
except ImportError: |
||||
|
try: |
||||
|
# Python 2.5 - cElementTree |
||||
|
import xml.etree.cElementTree as etree |
||||
|
except ImportError: |
||||
|
try: |
||||
|
# Python 2.5 - ElementTree |
||||
|
import xml.etree.ElementTree as etree |
||||
|
except ImportError: |
||||
|
try: |
||||
|
# Instalacao normal do cElementTree |
||||
|
import cElementTree as etree |
||||
|
except ImportError: |
||||
|
try: |
||||
|
# Instalacao normal do ElementTree |
||||
|
import elementtree.ElementTree as etree |
||||
|
except ImportError: |
||||
|
raise Exception('Falhou ao importar lxml/ElementTree') |
||||
|
|
||||
|
XSD_FOLDER = "pynfe/data/XSDs/" |
||||
|
|
||||
|
XSD_NFE="nfe_v1.10.xsd" |
||||
|
XSD_NFE_PROCESSADA="procNFe_v1.10.xsd" |
||||
|
XSD_PD_CANCELAR_NFE="procCancNFe_v1.07.xsd" |
||||
|
XSD_PD_INUTILIZAR_NFE="procInutNFe_v1.07.xsd" |
||||
|
|
||||
|
def get_xsd(xsd_file): |
||||
|
"""Retorna o caminho absoluto para um arquivo xsd. |
||||
|
Argumentos: |
||||
|
xsd_file - nome do arquivo xsd (utilizar nomes definidos em validacao.py) |
||||
|
""" |
||||
|
return path.abspath(path.join(XSD_FOLDER, xsd_file)) |
||||
|
|
||||
class Validacao(object): |
class Validacao(object): |
||||
pass |
|
||||
|
'''Valida documentos xml a partir do xsd informado.''' |
||||
|
|
||||
|
def __init__(self): |
||||
|
self.clear_cache() |
||||
|
|
||||
|
def clear_cache(self): |
||||
|
self.MEM_CACHE = {} |
||||
|
|
||||
|
def validar_xml(self, xml_path, xsd_file, use_assert=False): |
||||
|
'''Valida um arquivo xml. |
||||
|
Argumentos: |
||||
|
xml_path - caminho para arquivo xml |
||||
|
xsd_file - caminho para o arquivo xsd |
||||
|
use_assert - levantar exceção caso documento não valide? |
||||
|
''' |
||||
|
return self.validar_etree(etree.parse(xml_path), xsd_file, use_assert) |
||||
|
|
||||
|
def validar_etree(self, xml_doc, xsd_file, use_assert=False): |
||||
|
'''Valida um documento lxml diretamente. |
||||
|
Argumentos: |
||||
|
xml_doc - documento etree |
||||
|
xsd_file - caminho para o arquivo xsd |
||||
|
use_assert - levantar exceção caso documento não valide? |
||||
|
''' |
||||
|
xsd_filepath = get_xsd(xsd_file) |
||||
|
|
||||
|
try: |
||||
|
# checa se o schema ja existe no cache |
||||
|
xsd_schema = self.MEM_CACHE[xsd_filepath] |
||||
|
except: |
||||
|
# lê xsd e atualiza cache |
||||
|
xsd_doc = etree.parse(xsd_filepath) |
||||
|
xsd_schema = etree.XMLSchema(xsd_doc) |
||||
|
self.MEM_CACHE[xsd_file] = xsd_schema |
||||
|
return use_assert and xsd_schema.assertValid(xml_doc) \ |
||||
|
or xsd_schema.validate(xml_doc) |
||||
@ -0,0 +1,34 @@ |
|||||
|
Validação |
||||
|
--------- |
||||
|
A validação dos arquivos de nota fiscal são controladas pelo módulo validacao. |
||||
|
|
||||
|
>>> from pynfe.processamento.validacao import * |
||||
|
|
||||
|
A classe Validacao é utilizada para validar os tanto arquivos xml quanto documentos |
||||
|
etree. Não há problemas em utilizar list-comprehension com a mesma pois ela implementa |
||||
|
um cache simples. |
||||
|
|
||||
|
>>> from lxml import etree |
||||
|
>>> validador = Validacao() |
||||
|
>>> |
||||
|
>>> nfe = 'tests/xml/NFe.xml' |
||||
|
>>> nfe_assin = 'tests/xml/NFe_assinada.xml' |
||||
|
>>> nfe_inval = 'tests/xml/NFe_falhaSchema.xml' |
||||
|
>>> |
||||
|
>>> try: validador.validar_xml(nfe, XSD_NFE, True) |
||||
|
... except Exception, e: print unicode(repr(e)) |
||||
|
True |
||||
|
>>> try: validador.validar_xml(nfe_inval, XSD_NFE, False) |
||||
|
... except Exception, e: print unicode(repr(e)) |
||||
|
False |
||||
|
>>> try: validador.validar_xml(nfe_assin, XSD_NFE_PROCESSADA, True) |
||||
|
... except Exception, e: print unicode(repr(e)) |
||||
|
True |
||||
|
|
||||
|
Note que o schema utilizado para validação contra o xml é definido por variáveis |
||||
|
globais presentes no módulo. São elas: |
||||
|
|
||||
|
- XSD_NFE : valida nfe's não certificadas |
||||
|
- XSD_NFE_PROCESSADA : valida nfe's certificadas |
||||
|
- XSD_PD_CANCELAR_NFE : valida um pedido de cancelamento de nfe |
||||
|
- XSD_PD_INUTILIZAR_NFE : valida um pedido de inutilização de nfe |
||||
@ -0,0 +1,223 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<NFe xmlns="http://www.portalfiscal.inf.br/nfe"> |
||||
|
<infNFe Id="NFe35080599999090910270550010000000015180051273" versao="1.10"> |
||||
|
<ide> |
||||
|
<cUF>35</cUF> |
||||
|
<cNF>518005127</cNF> |
||||
|
<natOp>Venda a vista</natOp> |
||||
|
<indPag>0</indPag> |
||||
|
<mod>55</mod> |
||||
|
<serie>1</serie> |
||||
|
<nNF>1</nNF> |
||||
|
<dEmi>2008-05-06</dEmi> |
||||
|
<dSaiEnt>2008-05-06</dSaiEnt> |
||||
|
<tpNF>0</tpNF> |
||||
|
<cMunFG>3550308</cMunFG> |
||||
|
<tpImp>1</tpImp> |
||||
|
<tpEmis>1</tpEmis> |
||||
|
<cDV>3</cDV> |
||||
|
<tpAmb>2</tpAmb> |
||||
|
<finNFe>1</finNFe> |
||||
|
<procEmi>0</procEmi> |
||||
|
<verProc>NF-eletronica.com</verProc> |
||||
|
</ide> |
||||
|
<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> |
||||
|
</emit> |
||||
|
<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> |
||||
|
<IE></IE> |
||||
|
</dest> |
||||
|
<retirada> |
||||
|
<CNPJ>99171171000194</CNPJ> |
||||
|
<xLgr>AV PAULISTA</xLgr> |
||||
|
<nro>12345</nro> |
||||
|
<xCpl>TERREO</xCpl> |
||||
|
<xBairro>CERQUEIRA CESAR</xBairro> |
||||
|
<cMun>3550308</cMun> |
||||
|
<xMun>SAO PAULO</xMun> |
||||
|
<UF>SP</UF> |
||||
|
</retirada> |
||||
|
<entrega> |
||||
|
<CNPJ>99299299000194</CNPJ> |
||||
|
<xLgr>AV FARIA LIMA</xLgr> |
||||
|
<nro>1500</nro> |
||||
|
<xCpl>15 ANDAR</xCpl> |
||||
|
<xBairro>PINHEIROS</xBairro> |
||||
|
<cMun>3550308</cMun> |
||||
|
<xMun>SAO PAULO</xMun> |
||||
|
<UF>SP</UF> |
||||
|
</entrega> |
||||
|
<det nItem="1"> |
||||
|
<prod> |
||||
|
<cProd>00001</cProd> |
||||
|
<cEAN /> |
||||
|
<xProd>Agua Mineral</xProd> |
||||
|
<CFOP>5101</CFOP> |
||||
|
<uCom>dz</uCom> |
||||
|
<qCom>1000000.0000</qCom> |
||||
|
<vUnCom>1</vUnCom> |
||||
|
<vProd>10000000.00</vProd> |
||||
|
<cEANTrib /> |
||||
|
<uTrib>und</uTrib> |
||||
|
<qTrib>12000000.0000</qTrib> |
||||
|
<vUnTrib>1</vUnTrib> |
||||
|
</prod> |
||||
|
<imposto> |
||||
|
<ICMS> |
||||
|
<ICMS00> |
||||
|
<orig>0</orig> |
||||
|
<CST>00</CST> |
||||
|
<modBC>0</modBC> |
||||
|
<vBC>10000000.00</vBC> |
||||
|
<pICMS>18.00</pICMS> |
||||
|
<vICMS>1800000.00</vICMS> |
||||
|
</ICMS00> |
||||
|
</ICMS> |
||||
|
<PIS> |
||||
|
<PISAliq> |
||||
|
<CST>01</CST> |
||||
|
<vBC>10000000.00</vBC> |
||||
|
<pPIS>0.65</pPIS> |
||||
|
<vPIS>65000</vPIS> |
||||
|
</PISAliq> |
||||
|
</PIS> |
||||
|
<COFINS> |
||||
|
<COFINSAliq> |
||||
|
<CST>01</CST> |
||||
|
<vBC>10000000.00</vBC> |
||||
|
<pCOFINS>2.00</pCOFINS> |
||||
|
<vCOFINS>200000.00</vCOFINS> |
||||
|
</COFINSAliq> |
||||
|
</COFINS> |
||||
|
</imposto> |
||||
|
</det> |
||||
|
<det nItem="2"> |
||||
|
<prod> |
||||
|
<cProd>00002</cProd> |
||||
|
<cEAN /> |
||||
|
<xProd>Agua Mineral</xProd> |
||||
|
<CFOP>5101</CFOP> |
||||
|
<uCom>pack</uCom> |
||||
|
<qCom>5000000.0000</qCom> |
||||
|
<vUnCom>2</vUnCom> |
||||
|
<vProd>10000000.00</vProd> |
||||
|
<cEANTrib /> |
||||
|
<uTrib>und</uTrib> |
||||
|
<qTrib>3000000.0000</qTrib> |
||||
|
<vUnTrib>0.3333</vUnTrib> |
||||
|
</prod> |
||||
|
<imposto> |
||||
|
<ICMS> |
||||
|
<ICMS00> |
||||
|
<orig>0</orig> |
||||
|
<CST>00</CST> |
||||
|
<modBC>0</modBC> |
||||
|
<vBC>10000000.00</vBC> |
||||
|
<pICMS>18.00</pICMS> |
||||
|
<vICMS>1800000.00</vICMS> |
||||
|
</ICMS00> |
||||
|
</ICMS> |
||||
|
<PIS> |
||||
|
<PISAliq> |
||||
|
<CST>01</CST> |
||||
|
<vBC>10000000.00</vBC> |
||||
|
<pPIS>0.65</pPIS> |
||||
|
<vPIS>65000</vPIS> |
||||
|
</PISAliq> |
||||
|
</PIS> |
||||
|
<COFINS> |
||||
|
<COFINSAliq> |
||||
|
<CST>01</CST> |
||||
|
<vBC>10000000.00</vBC> |
||||
|
<pCOFINS>2.00</pCOFINS> |
||||
|
<vCOFINS>200000.00</vCOFINS> |
||||
|
</COFINSAliq> |
||||
|
</COFINS> |
||||
|
</imposto> |
||||
|
</det> |
||||
|
<total> |
||||
|
<ICMSTot> |
||||
|
<vBC>20000000.00</vBC> |
||||
|
<vICMS>18.00</vICMS> |
||||
|
<vBCST>0</vBCST> |
||||
|
<vST>0</vST> |
||||
|
<vProd>20000000.00</vProd> |
||||
|
<vFrete>0</vFrete> |
||||
|
<vSeg>0</vSeg> |
||||
|
<vDesc>0</vDesc> |
||||
|
<vII>0</vII> |
||||
|
<vIPI>0</vIPI> |
||||
|
<vPIS>130000.00</vPIS> |
||||
|
<vCOFINS>400000.00</vCOFINS> |
||||
|
<vOutro>0</vOutro> |
||||
|
<vNF>20000000.00</vNF> |
||||
|
</ICMSTot> |
||||
|
</total> |
||||
|
<transp> |
||||
|
<modFrete>0</modFrete> |
||||
|
<transporta> |
||||
|
<CNPJ>99171171000191</CNPJ> |
||||
|
<xNome>Distribuidora de Bebidas Fazenda de SP Ltda.</xNome> |
||||
|
<IE>171999999119</IE> |
||||
|
<xEnder>Rua Central 100 - Fundos - Distrito Industrial</xEnder> |
||||
|
<xMun>SAO PAULO</xMun> |
||||
|
<UF>SP</UF> |
||||
|
</transporta> |
||||
|
<veicTransp> |
||||
|
<placa>BXI1717</placa> |
||||
|
<UF>SP</UF> |
||||
|
<RNTC>123456789</RNTC> |
||||
|
</veicTransp> |
||||
|
<reboque> |
||||
|
<placa>BXI1818</placa> |
||||
|
<UF>SP</UF> |
||||
|
<RNTC>123456789</RNTC> |
||||
|
</reboque> |
||||
|
<vol> |
||||
|
<qVol>10000</qVol> |
||||
|
<esp>CAIXA</esp> |
||||
|
<marca>LINDOYA</marca> |
||||
|
<nVol>500</nVol> |
||||
|
<pesoL>1000000000.000</pesoL> |
||||
|
<pesoB>1200000000.000</pesoB> |
||||
|
<lacres> |
||||
|
<nLacre>XYZ10231486</nLacre> |
||||
|
</lacres> |
||||
|
</vol> |
||||
|
</transp> |
||||
|
<infAdic> |
||||
|
<infAdFisco>Nota Fiscal de exemplo NF-eletronica.com</infAdFisco> |
||||
|
</infAdic> |
||||
|
</infNFe> |
||||
|
</NFe> |
||||
1
tests/xml/NFe_assinada.xml
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,223 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<NFe xmlns="http://www.portalfiscal.inf.br/nfe"> |
||||
|
<infNFe Id="NFe35080599999090910270550010000000015180051273" versao="1.10"> |
||||
|
<ide> |
||||
|
<cUF>35</cUF> |
||||
|
<cNF>518005127</cNF> |
||||
|
<natOp>Venda a vista</natOp> |
||||
|
<indPag>0</indPag> |
||||
|
<mod>55</mod> |
||||
|
<serie>1</serie> |
||||
|
<nNF>1</nNF> |
||||
|
<dEmi>2008-05-06</dEmi> |
||||
|
<dSaiEnt>2008-05-06</dSaiEnt> |
||||
|
<tpNF>0</tpNF> |
||||
|
<cMunFG>3550308</cMunFG> |
||||
|
<tpImp>1</tpImp> |
||||
|
<tpEmis>1</tpEmis> |
||||
|
<cDV>3</cDV> |
||||
|
<tpAmb>2</tpAmb> |
||||
|
<finNFe>1</finNFe> |
||||
|
<procEmi>0</procEmi> |
||||
|
<verProc>NF-eletronica.com 123456</verProc> |
||||
|
</ide> |
||||
|
<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> |
||||
|
</emit> |
||||
|
<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> |
||||
|
<IE></IE> |
||||
|
</dest> |
||||
|
<retirada> |
||||
|
<CNPJ>99171171000194</CNPJ> |
||||
|
<xLgr>AV PAULISTA</xLgr> |
||||
|
<nro>12345</nro> |
||||
|
<xCpl>TERREO</xCpl> |
||||
|
<xBairro>CERQUEIRA CESAR</xBairro> |
||||
|
<cMun>3550308</cMun> |
||||
|
<xMun>SAO PAULO</xMun> |
||||
|
<UF>SP</UF> |
||||
|
</retirada> |
||||
|
<entrega> |
||||
|
<CNPJ>99299299000194</CNPJ> |
||||
|
<xLgr>AV FARIA LIMA</xLgr> |
||||
|
<nro>1500</nro> |
||||
|
<xCpl>15 ANDAR</xCpl> |
||||
|
<xBairro>PINHEIROS</xBairro> |
||||
|
<cMun>3550308</cMun> |
||||
|
<xMun>SAO PAULO</xMun> |
||||
|
<UF>SP</UF> |
||||
|
</entrega> |
||||
|
<det nItem="1"> |
||||
|
<prod> |
||||
|
<cProd>00001</cProd> |
||||
|
<cEAN /> |
||||
|
<xProd>Agua Mineral</xProd> |
||||
|
<CFOP>5101</CFOP> |
||||
|
<uCom>dz</uCom> |
||||
|
<qCom>1000000.00</qCom> |
||||
|
<vUnCom>1</vUnCom> |
||||
|
<vProd>10000000.00</vProd> |
||||
|
<cEANTrib /> |
||||
|
<uTrib>und</uTrib> |
||||
|
<qTrib>12000000.00</qTrib> |
||||
|
<vUnTrib>1</vUnTrib> |
||||
|
</prod> |
||||
|
<imposto> |
||||
|
<ICMS> |
||||
|
<ICMS00> |
||||
|
<orig>0</orig> |
||||
|
<CST>00</CST> |
||||
|
<modBC>0</modBC> |
||||
|
<vBC>10000000.00</vBC> |
||||
|
<pICMS>18.00</pICMS> |
||||
|
<vICMS>1800000.00</vICMS> |
||||
|
</ICMS00> |
||||
|
</ICMS> |
||||
|
<PIS> |
||||
|
<PISAliq> |
||||
|
<CST>01</CST> |
||||
|
<vBC>10000000.00</vBC> |
||||
|
<pPIS>0.65</pPIS> |
||||
|
<vPIS>65000</vPIS> |
||||
|
</PISAliq> |
||||
|
</PIS> |
||||
|
<COFINS> |
||||
|
<COFINSAliq> |
||||
|
<CST>01</CST> |
||||
|
<vBC>10000000.00</vBC> |
||||
|
<pCOFINS>2.00</pCOFINS> |
||||
|
<vCOFINS>200000.00</vCOFINS> |
||||
|
</COFINSAliq> |
||||
|
</COFINS> |
||||
|
</imposto> |
||||
|
</det> |
||||
|
<det nItem="2"> |
||||
|
<prod> |
||||
|
<cProd>00002</cProd> |
||||
|
<cEAN /> |
||||
|
<xProd>Agua Mineral</xProd> |
||||
|
<CFOP>5101</CFOP> |
||||
|
<uCom>pack</uCom> |
||||
|
<qCom>5000000.0000</qCom> |
||||
|
<vUnCom>2</vUnCom> |
||||
|
<vProd>10000000.00</vProd> |
||||
|
<cEANTrib /> |
||||
|
<uTrib>und</uTrib> |
||||
|
<qTrib>3000000.0000</qTrib> |
||||
|
<vUnTrib>0.3333</vUnTrib> |
||||
|
</prod> |
||||
|
<imposto> |
||||
|
<ICMS> |
||||
|
<ICMS00> |
||||
|
<orig>0</orig> |
||||
|
<CST>00</CST> |
||||
|
<modBC>0</modBC> |
||||
|
<vBC>10000000.00</vBC> |
||||
|
<pICMS>18.00</pICMS> |
||||
|
<vICMS>1800000.00</vICMS> |
||||
|
</ICMS00> |
||||
|
</ICMS> |
||||
|
<PIS> |
||||
|
<PISAliq> |
||||
|
<CST>01</CST> |
||||
|
<vBC>10000000.00</vBC> |
||||
|
<pPIS>0.65</pPIS> |
||||
|
<vPIS>65000</vPIS> |
||||
|
</PISAliq> |
||||
|
</PIS> |
||||
|
<COFINS> |
||||
|
<COFINSAliq> |
||||
|
<CST>01</CST> |
||||
|
<vBC>10000000.00</vBC> |
||||
|
<pCOFINS>2.00</pCOFINS> |
||||
|
<vCOFINS>200000.00</vCOFINS> |
||||
|
</COFINSAliq> |
||||
|
</COFINS> |
||||
|
</imposto> |
||||
|
</det> |
||||
|
<total> |
||||
|
<ICMSTot> |
||||
|
<vBC>20000000.00</vBC> |
||||
|
<vICMS>18.00</vICMS> |
||||
|
<vBCST>0</vBCST> |
||||
|
<vST>0</vST> |
||||
|
<vProd>20000000.00</vProd> |
||||
|
<vFrete>0</vFrete> |
||||
|
<vSeg>0</vSeg> |
||||
|
<vDesc>0</vDesc> |
||||
|
<vII>0</vII> |
||||
|
<vIPI>0</vIPI> |
||||
|
<vPIS>130000.00</vPIS> |
||||
|
<vCOFINS>400000.00</vCOFINS> |
||||
|
<vOutro>0</vOutro> |
||||
|
<vNF>20000000.00</vNF> |
||||
|
</ICMSTot> |
||||
|
</total> |
||||
|
<transp> |
||||
|
<modFrete>0</modFrete> |
||||
|
<transporta> |
||||
|
<CNPJ>99171171000191</CNPJ> |
||||
|
<xNome>Distribuidora de Bebidas Fazenda de SP Ltda.</xNome> |
||||
|
<IE>171999999119</IE> |
||||
|
<xEnder>Rua Central 100 - Fundos - Distrito Industrial</xEnder> |
||||
|
<xMun>SAO PAULO</xMun> |
||||
|
<UF>SP</UF> |
||||
|
</transporta> |
||||
|
<veicTransp> |
||||
|
<placa>BXI1717</placa> |
||||
|
<UF>SP</UF> |
||||
|
<RNTC>123456789</RNTC> |
||||
|
</veicTransp> |
||||
|
<reboque> |
||||
|
<placa>BXI1818</placa> |
||||
|
<UF>SP</UF> |
||||
|
<RNTC>123456789</RNTC> |
||||
|
</reboque> |
||||
|
<vol> |
||||
|
<qVol>10000</qVol> |
||||
|
<esp>CAIXA</esp> |
||||
|
<marca>LINDOYA</marca> |
||||
|
<nVol>500</nVol> |
||||
|
<pesoL>1000000000.000</pesoL> |
||||
|
<pesoB>1200000000.000</pesoB> |
||||
|
<lacres> |
||||
|
<nLacre>XYZ10231486</nLacre> |
||||
|
</lacres> |
||||
|
</vol> |
||||
|
</transp> |
||||
|
<infAdic> |
||||
|
<infAdFisco>Nota Fiscal de exemplo NF-eletronica.com</infAdFisco> |
||||
|
</infAdic> |
||||
|
</infNFe> |
||||
|
</NFe> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue