"><infNFe versao="4.00" Id="NFe26240253779156000189650010000001111654464332"><ide><cUF>26</cUF><cNF>65446433</cNF><natOp>VENDA</natOp><mod>65</mod><serie>1</serie><nNF>111</nNF><dhEmi>2024-02-12T00:03:52-03:00</dhEmi><tpNF>1</tpNF><idDest>1</idDest><cMunFG>2611606</cMunFG><tpImp>4</tpImp><tpEmis>1</tpEmis><cDV>2</cDV><tpAmb>2</tpAmb><finNFe>1</finNFe><indFinal>1</indFinal><indPres>1</indPres><procEmi>0</procEmi><verProc>PyNFe 0.4</verProc></ide><emit><CNPJ>53779156000189</CNPJ><xNome>LEO FRIOS COMERCIO VAREJISTA DE FRIOS LTDA</xNome><xFant>LEO FRIOS</xFant><enderEmit><xLgr>RODOVIA BR CENTO E UM</xLgr><nro>550</nro><xBairro>Curado</xBairro><cMun>2611606</cMun><xMun>Recife</xMun><UF>PE</UF><CEP>50790640</CEP><cPais>1058</cPais><xPais>Brasil</xPais></enderEmit><IE>115342656</IE><IM>00000</IM><CNAE>4721103</CNAE><CRT>3</CRT></emit><dest><CPF>12345678900</CPF><xNome>NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome><enderDest><xLgr>Rua dos Bobos</xLgr><nro>Zero</nro><xCpl>Ao lado de lugar nenhum</xCpl><xBairro>Aquele Mesmo</xBairro><cMun>5300108</cMun><xMun>Brasilia</xMun><UF>DF</UF><CEP>12345123</CEP><cPais>1058</cPais><xPais>Brasil</xPais><fone>11912341234</fone></enderDest><indIEDest>9</indIEDest><email>
</email></dest><det nItem="1"><prod><cProd>000328</cProd><cEAN>SEM GTIN</cEAN><xProd>NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xProd><NCM>99999999</NCM><CFOP>5102</CFOP><uCom>UN</uCom><qCom>12</qCom><vUnCom>9.7500000000</vUnCom><vProd>117.00</vProd><cEANTrib>SEM GTIN</cEANTrib><uTrib>UN</uTrib><qTrib>12</qTrib><vUnTrib>9.7500000000</vUnTrib><indTot>1</indTot></prod><imposto><vTotTrib>21.06</vTotTrib><ICMS><ICMSSN102><orig>0</orig><CSOSN>400</CSOSN></ICMSSN102></ICMS></imposto></det><total><ICMSTot><vBC>0.00</vBC><vICMS>0.00</vICMS><vICMSDeson>0.00</vICMSDeson><vFCP>0.00</vFCP><vBCST>0.00</vBCST><vST>0.00</vST><vFCPST>0.00</vFCPST><vFCPSTRet>0.00</vFCPSTRet><vProd>117.00</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>0.00</vPIS><vCOFINS>0.00</vCOFINS><vOutro>0.00</vOutro><vNF>117.00</vNF><vTotTrib>21.06</vTotTrib></ICMSTot></total><transp><modFrete>9</modFrete></transp><pag><detPag><tPag>01</tPag><vPag>117.00</vPag></detPag></pag><infAdic><infAdFisco>Mensagem complementar</infAdFisco></infAdic><infRespTec><CNPJ>99999999000199</CNPJ><xContato>TadaSoftware</xContato><email>
"/><Reference URI="#NFe26240253779156000189650010000001111654464332"><Transforms><Transform Algorithm="
"/><DigestValue>CX9anvYrzNhsj4mxxyqvfGZMtLU=</DigestValue></Reference></SignedInfo><SignatureValue>jO1Si8Ev6YSECRc1vWjsvbcC6q3qHdlAhXPvBVznCn754LK1x2zHPGBKQxwcxTSnd62GoyyqBSISm2K5WaMFEIrlJQOzad/6chdIOAPsXF8fjcJi3NUuXjq/gUMT9ViCJfME8q49GYR2y6p0SFmCOv+sWFfFf1GAg/NoRrn21n80l3deaGS5VCBaxJuhhqNquxe8Up2qfq766epNIQjrGaeRdtDPi7yrLXLxdXT9TwXpL6yH1flogkp00uK+yODBk1XxwnRlt3bjF8aald3emtFjROsa/Oavb/PnFsRPmm2wKm0vnmgYCHYjFlmViiym3Q326lirtk1R9UFHwdhIrA==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></NFe>
emitente = Emitente(
razao_social='LEO FRIOS COMERCIO VAREJISTA DE FRIOS LTDA',
nome_fantasia='LEO FRIOS',
cnpj='53779156000189', # cnpj apenas números
codigo_de_regime_tributario='3', # 1 para simples nacional ou 3 para normal
inscricao_estadual='115342656', # numero de IE da empresa
inscricao_municipal='00000',
cnae_fiscal='4721103', # cnae apenas números
endereco_logradouro='RODOVIA BR CENTO E UM',
endereco_numero='550',
endereco_bairro='Curado',
endereco_municipio='Recife',
endereco_uf='PE',
endereco_cep='50790640',
endereco_pais=CODIGO_BRASIL
)
# cliente
cliente = Cliente(
razao_social='NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL',
tipo_documento='CPF', # CPF ou CNPJ
numero_documento='12345678900',
# numero do cpf ou cnpj indicador_ie=9, # 9=Não contribuinte
endereco_logradouro='Rua dos Bobos',
endereco_numero='Zero',
endereco_complemento='Ao lado de lugar nenhum',
endereco_bairro='Aquele Mesmo',
endereco_municipio='Brasilia',
endereco_uf='DF',
endereco_cep='12345123',
endereco_pais=CODIGO_BRASIL,
endereco_telefone='11912341234',
)
# Nota Fiscal
nota_fiscal = NotaFiscal(
emitente=emitente,
cliente=cliente,
uf=uf.upper(),
natureza_operacao='VENDA', # venda, compra, transferência, devolução, etc
# 0=Pagamento à vista; 1=Pagamento a prazo; 2=Outros.
forma_pagamento=0,
tipo_pagamento=1,
modelo=65, # 55=NF-e; 65=NFC-e
serie='1',
numero_nf='111', # Número do Documento Fiscal.
data_emissao=datetime.datetime.now(),
data_saida_entrada=datetime.datetime.now(),
tipo_documento=1, # 0=entrada; 1=saida
municipio='2611606', # Código IBGE do Município
# 0=Sem geração de DANFE;1=DANFE normal, Retrato;2=DANFE normal Paisagem;3=DANFE Simplificado;4=DANFE NFC-e;
tipo_impressao_danfe=4,
forma_emissao='1', # 1=Emissão normal (não em contingência);
cliente_final=1, # 0=Normal;1=Consumidor final;
indicador_destino=1,
indicador_presencial=1,
# 1=NF-e normal;2=NF-e complementar;3=NF-e de ajuste;4=Devolução de mercadoria.
finalidade_emissao='1',
processo_emissao='0', # 0=Emissão de NF-e com aplicativo do contribuinte;
transporte_modalidade_frete=9, # 9=Sem Ocorrência de Transporte.
informacoes_adicionais_interesse_fisco='Mensagem complementar',
totais_tributos_aproximado=Decimal('21.06'),
)
# Produto
nota_fiscal.adicionar_produto_servico(
codigo='000328', # id do produto
descricao='NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL',
ncm='99999999',
cfop='5102',
unidade_comercial='UN',
ean='SEM GTIN',
ean_tributavel='SEM GTIN',
quantidade_comercial=Decimal('12'), # 12 unidades
valor_unitario_comercial=Decimal('9.75'), # preço unitário
valor_total_bruto=Decimal('117.00'), # preço total
unidade_tributavel='UN',
quantidade_tributavel=Decimal('12'),
valor_unitario_tributavel=Decimal('9.75'),
ind_total=1,
icms_modalidade='102',
icms_origem=0,
icms_csosn='400',
pis_modalidade='07',
cofins_modalidade='07',
valor_tributos_aprox=Decimal('21.06')
)
# responsável técnico
nota_fiscal.adicionar_responsavel_tecnico(
cnpj='99999999000199',
contato='TadaSoftware',
fone='11912341234'
)
# serialização
serializador = SerializacaoXML(_fonte_dados, homologacao=homologacao)
nfce = serializador.exportar()
# assinatura
a1 = AssinaturaA1(certificado, senha)
# print('Assinatura: ', a1)
xml = a1.assinar(nfce)
# token de homologacao
token = '000001'
# csc de homologação
csc = '279F76E405504C5DBE63891A52C3475D'
# gera e adiciona o qrcode no xml NT2015/003
xml_com_qrcode = SerializacaoQrcode().gerar_qrcode(token, csc, xml, return_qr=True)
# print("xml com qrcode: {} ".format(xml_com_qrcode))
# envio
con = ComunicacaoSefaz(uf, certificado, senha, homologacao)
envio = con.autorizacao(modelo='nfce', nota_fiscal=xml_com_qrcode[0])
print(":::", xml_com_qrcode[1])
print(":::", xml_com_qrcode[0])
# em caso de sucesso o retorno será o xml autorizado
# Ps: no modo sincrono, o retorno será o xml completo (<nfeProc> = <NFe> + <protNFe>)
# no modo async é preciso montar o nfeProc, juntando o retorno com a NFe
from lxml import etree
if envio[0] == 0:
print('Sucesso!')
print(etree.tostring(envio[1], encoding="unicode").replace(
'\n', '').replace('ns0:', ''))
# em caso de erro o retorno será o xml de resposta da SEFAZ + NF-e enviada
else:
print('Erro:')
print(envio[1].text) # resposta
print('Nota:')
print(etree.tostring(envio[2], encoding="unicode")) # nfe