6 changed files with 174 additions and 86 deletions
-
32nfse-example.py
-
1pytrustnfe/nfse/natal/__init__.py
-
13tests/XMLs/natal_sent_xml.xml
-
80tests/test_nfse_natal.py
-
18tests/test_nfse_paulistana.py
@ -0,0 +1,13 @@ |
|||||
|
<EnviarLoteRpsEnvio xmlns="http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd"><LoteRps Id="1"><NumeroLote>1</NumeroLote><Cnpj>23809070000190</Cnpj><InscricaoMunicipal>2143992</InscricaoMunicipal><QuantidadeRps>1</QuantidadeRps><ListaRps><Rps><InfRps Id="1"><IdentificacaoRps><Numero>1</Numero><Serie>UNICA</Serie><Tipo>1</Tipo></IdentificacaoRps><DataEmissao>2020-01-279</DataEmissao><NaturezaOperacao>1</NaturezaOperacao><RegimeEspecialTributacao>1</RegimeEspecialTributacao><OptanteSimplesNacional>1</OptanteSimplesNacional><IncentivadorCultural>2</IncentivadorCultural><Servico><Valores><ValorServicos>1.00</ValorServicos><IssRetido>2</IssRetido><BaseCalculo>0.00</BaseCalculo></Valores><ItemListaServico>01.07</ItemListaServico><CodigoCnae>6209100</CodigoCnae><Discriminacao>Sistema NFSe</Discriminacao><CodigoMunicipio>2408102</CodigoMunicipio></Servico><PrestadorServico><IdentificacaoPrestador><Cnpj>23809070000190</Cnpj><InscricaoMunicipal>2143992</InscricaoMunicipal></IdentificacaoPrestador><NomeFantasia>SERVICOS DE TI</NomeFantasia><Endereco><Endereco>AV AMINTAS</Endereco><Numero>3755</Numero><Complemento>SALA 32</Complemento><Bairro>Lagoa Nova</Bairro><Uf>RN</Uf><Cep>59075810</Cep></Endereco><Contato><Telefone>4132095554</Telefone><Email>SUPORTE@EMAIL.COM.BR</Email></Contato></PrestadorServico><TomadorServico><RazaoSocial>LEONIR</RazaoSocial><Endereco><Numero>128</Numero><Bairro>Lagoa Nova</Bairro><Uf>BH</Uf><Cep>1231231313</Cep></Endereco><Contato><Telefone>leonir@yahoo.com.br</Telefone></Contato><OrgaoGerador><CodigoMunicipio>3159506</CodigoMunicipio></OrgaoGerador></TomadorServico></InfRps></Rps></ListaRps></LoteRps><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=""><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>z7+372qFhKwwj41AkJ3chbHEYGM=</DigestValue></Reference></SignedInfo><SignatureValue>JgW5SbS50rDeJav88IiMdONT6wrKD1pom9otB3QfVllSzfe23olZBsAR6D1/XezBaqCd123yKTbN0o+WPGDaz6Qj+RiCC8Ezthv9Re3RZw5vFCaGGzjj5Rm+KwHoY5kfoK+EhZQKqMdLRzYesdI0f5B9RawM0R8c1XCIYNS6j/0=</SignatureValue><KeyInfo><X509Data><X509Certificate>MIICMTCCAZqgAwIBAgIQfYOsIEVuAJ1FwwcTrY0t1DANBgkqhkiG9w0BAQUFADBX |
||||
|
MVUwUwYDVQQDHkwAewA1ADkARgAxAEUANAA2ADEALQBEAEQARQA1AC0ANABEADIA |
||||
|
RgAtAEEAMAAxAEEALQA4ADMAMwAyADIAQQA5AEUAQgA4ADMAOAB9MB4XDTE1MDYx |
||||
|
NTA1NDc1N1oXDTE2MDYxNDExNDc1N1owVzFVMFMGA1UEAx5MAHsANQA5AEYAMQBF |
||||
|
ADQANgAxAC0ARABEAEUANQAtADQARAAyAEYALQBBADAAMQBBAC0AOAAzADMAMgAy |
||||
|
AEEAOQBFAEIAOAAzADgAfTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAk41G |
||||
|
nqXXLaiOC/y0/cA4tbS+NZCqI+x4EsztgDFvPPlHstiVYcLRkni4i93gK9zoC6g0 |
||||
|
mh66HMVzAfE8vRNwW5b7m6nWS1SiHBon7/Mqsw4MIq3SC+J/fTbKpqwyfAuH2YZl |
||||
|
AiQuQc85fyllAMLh2WrA7JgOLR/5tF3kLtpbHdECAwEAATANBgkqhkiG9w0BAQUF |
||||
|
AAOBgQArdh+RyT6VxKGsXk1zhHsgwXfToe6GpTF4W8PHI1+T0WIsNForDhvst6nm |
||||
|
QtgAhuZM9rxpOJuNKc+pM29EixpAiZZiRMCSWEItNyEVdUIi+YnKBcAHd88TwO86 |
||||
|
d126MWQ2O8cu5W1VoDp7hYBYKOnLbYi11/StO+0rzK+oPYAvIw== |
||||
|
</X509Certificate></X509Data></KeyInfo></Signature></EnviarLoteRpsEnvio> |
||||
@ -0,0 +1,80 @@ |
|||||
|
# coding=utf-8 |
||||
|
|
||||
|
import mock |
||||
|
import os.path |
||||
|
import unittest |
||||
|
from pytrustnfe.certificado import Certificado |
||||
|
from pytrustnfe.nfse.natal import recepcionar_lote_rps |
||||
|
|
||||
|
|
||||
|
class test_nfse_natal(unittest.TestCase): |
||||
|
|
||||
|
caminho = os.path.dirname(__file__) |
||||
|
|
||||
|
def _get_nfse(self): |
||||
|
rps_list = [ |
||||
|
{ |
||||
|
"numero": "1", |
||||
|
"serie": "UNICA", |
||||
|
"tipo_rps": "1", |
||||
|
"data_emissao": "2020-01-279", |
||||
|
"natureza_operacao": "1", |
||||
|
"regime_tributacao": "1", |
||||
|
"optante_simples": "1", |
||||
|
"incentivador_cultural": "2", |
||||
|
"servico": { |
||||
|
"valor_servico": "1.00", |
||||
|
"iss_retido": "2", |
||||
|
"base_calculo": "0.00", |
||||
|
"codigo_servico": "01.07", |
||||
|
"cnae_servico": "6209100", |
||||
|
"descricao": "Sistema NFSe", |
||||
|
"codigo_municipio": "2408102", |
||||
|
}, |
||||
|
"prestador": { |
||||
|
"cnpj": "23809070000190", |
||||
|
"inscricao_municipal": "2143992", |
||||
|
"razao_social": "SERVICOS DE TI", |
||||
|
"fantasia": "SERVICOS DE TI", |
||||
|
"endereco": "AV AMINTAS", |
||||
|
"numero": "3755", |
||||
|
"complemento": "SALA 32", |
||||
|
"bairro": "Lagoa Nova", |
||||
|
"codigo_municipio": "2408102", |
||||
|
"uf": "RN", |
||||
|
"cep": "59075810", |
||||
|
"telefone": "4132095554", |
||||
|
"email": "SUPORTE@EMAIL.COM.BR", |
||||
|
}, |
||||
|
"tomador": { |
||||
|
"cpf_cnpj": "01812418000166", |
||||
|
"razao_social": "LEONIR", |
||||
|
"endereco": "RUA GROBEIRO", |
||||
|
"numero": "128", |
||||
|
"bairro": "Lagoa Nova", |
||||
|
"cidade": "3159506", |
||||
|
"uf": "BH", |
||||
|
"cep": "1231231313", |
||||
|
"email": "leonir@yahoo.com.br", |
||||
|
"orgao_gerador": {"codigo_municipio": "3159506"}, |
||||
|
}, |
||||
|
} |
||||
|
] |
||||
|
nfse = { |
||||
|
"numero_lote": "1", |
||||
|
"cnpj_prestador": "23809070000190", |
||||
|
"inscricao_municipal": "2143992", |
||||
|
"lista_rps": rps_list, |
||||
|
} |
||||
|
return nfse |
||||
|
|
||||
|
def test_recepcionar_lote_rps(self): |
||||
|
pfx_source = open(os.path.join(self.caminho, "teste.pfx"), "rb").read() |
||||
|
pfx = Certificado(pfx_source, "123456") |
||||
|
|
||||
|
nfse = self._get_nfse() |
||||
|
path = os.path.join(os.path.dirname(__file__), "XMLs") |
||||
|
sent_xml = open(os.path.join(path, "natal_sent_xml.xml"), "r").read() |
||||
|
|
||||
|
retorno = recepcionar_lote_rps(pfx, nfse=nfse) |
||||
|
self.assertEqual(retorno["sent_xml"], sent_xml) |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue