8 changed files with 174 additions and 0 deletions
-
6README.md
-
4cidades/ariss.md
-
18cidades/simpliss.md
-
42pytrustnfe/nfse/ariss/__init__.py
-
32pytrustnfe/nfse/ariss/templates/EnviarNota.xml
-
14pytrustnfe/nfse/ariss/templates/EnviarNotaRetornaurlNota.xml
-
32pytrustnfe/nfse/ariss/templates/Nota.xml
-
26pytrustnfe/test/test_ariss.py
@ -0,0 +1,4 @@ |
|||
* Prefeitura de Rio das Pedras/SP |
|||
* Prefeitura de Piracaia/SP |
|||
* Prefeitura de Ipeúna/SP |
|||
* Prefeitura de Santa Maria da Serra/SP |
|||
@ -0,0 +1,18 @@ |
|||
* Araras / SP |
|||
* Balneario Camboriu / SC |
|||
* Bambuí / MG |
|||
* Bandeirantes / PR |
|||
* Carapicuíba / SP |
|||
* Casa Branca / SP |
|||
* Cerquilho / SP |
|||
* Dois Corregos / SP |
|||
* Jales / SP |
|||
* Lagoa Da Prata / MG |
|||
* Osvaldo Cruz / SP |
|||
* Patrocinio / MG |
|||
* Piracicaba / SP |
|||
* Presidente Prudente / SP |
|||
* São João da Boa Vista / SP |
|||
* São José do Rio Pardo / SP |
|||
* Tupa / SP |
|||
* Vargem Grande do Sul / SP |
|||
@ -0,0 +1,42 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# © 2016 Danimar Ribeiro, Trustcode |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
|
|||
import os |
|||
import suds |
|||
import unicodedata |
|||
from pytrustnfe.xml import render_xml |
|||
from pytrustnfe.client import get_client |
|||
|
|||
|
|||
def _send(method, **kwargs): |
|||
path = os.path.join(os.path.dirname(__file__), 'templates') |
|||
xml_send = render_xml(path, '%s.xml' % method, False, **kwargs) |
|||
|
|||
if kwargs['ambiente'] == 'producao': |
|||
base_url = 'http://www.susesu.com.br/wsnfd/serviconfd.asmx?WSDL' |
|||
else: |
|||
base_url = 'http://pira.comunix.net:5002/gestaopublica/wsnfd/ServicoNfd.asmx?WSDL' # noqa |
|||
|
|||
client = get_client(base_url) |
|||
try: |
|||
result = getattr(client.service, method)(__inject={'msg': xml_send}) |
|||
except Exception as e: |
|||
return { |
|||
'sent_xml': xml_send, |
|||
'received_xml': e.fault.faultstring, |
|||
} |
|||
result = unicode(result) |
|||
result = unicodedata.normalize('NFKD', result).encode('ascii', 'ignore') |
|||
return { |
|||
'sent_xml': xml_send, |
|||
'received_xml': result, |
|||
} |
|||
|
|||
|
|||
def enviar_nota(**kwargs): |
|||
return _send('EnviarNota', **kwargs) |
|||
|
|||
|
|||
def enviar_nota_retorna_url(**kwargs): |
|||
return _send('EnviarNotaRetornaurlNota', **kwargs) |
|||
@ -0,0 +1,32 @@ |
|||
<NOTA> |
|||
<NUMERO_NOTA>6053</NUMERO_NOTA> |
|||
<DATA_EMISSAO>21/05/2016</DATA_EMISSAO> |
|||
<CODIGO_GERAL_ATIVIDADE>09.00</CODIGO_GERAL_ATIVIDADE> |
|||
<CODIGO_ATIVIDADE/> |
|||
<OUTRAS_INFORMACOES>NOTA FISCAL DE PRESTAÇÃO DE SERVIÇOS</OUTRAS_INFORMACOES> |
|||
<DESCRICAO_SERVICOS>DESCRIÇÃO DO SERVIÇO</DESCRICAO_SERVICOS> |
|||
<VALOR_TOTAL_NOTA>440,00</VALOR_TOTAL_NOTA> |
|||
<STATUS_ISS_NOTA>1</STATUS_ISS_NOTA> |
|||
<IRRF>0,00</IRRF> |
|||
<INSS>0,00</INSS> |
|||
<PIS>0,00</PIS> |
|||
<COFINS>0,00</COFINS> |
|||
<CONTRIBUICAO_SOCIAL>0,00</CONTRIBUICAO_SOCIAL> |
|||
<VALOR_LIQUIDO>440,00</VALOR_LIQUIDO> |
|||
<VALOR_DEDUCAO_MATERIAIS>0,00</VALOR_DEDUCAO_MATERIAIS> |
|||
<COD_MUNICIPIO_EXECUCAO_SERVICO>3550407</COD_MUNICIPIO_EXECUCAO_SERVICO> |
|||
<LOCAL_EXECUCAO_SERVICO>LOCAL EXECUÇÃO</LOCAL_EXECUCAO_SERVICO> |
|||
<TOMADOR_ESTRANGEIRO>N</TOMADOR_ESTRANGEIRO> |
|||
<TOMADOR_DOCUMENTO>00000000000</TOMADOR_DOCUMENTO> |
|||
<TOMADOR_RAZAO>TOMADOR RAZAO/NOME</TOMADOR_RAZAO> |
|||
<TOMADOR_LOGRADOURO>LOGRADOURO</TOMADOR_LOGRADOURO> |
|||
<TOMADOR_BAIRRO>BAIRRO</TOMADOR_BAIRRO> |
|||
<TOMADOR_CEP>13400000</TOMADOR_CEP> |
|||
<TOMADOR_INSCRICAO_ESTADUAL>ISENTO</TOMADOR_INSCRICAO_ESTADUAL> |
|||
<TOMADOR_INSCRICAO_MUNICIPAL>ISENTO</TOMADOR_INSCRICAO_MUNICIPAL> |
|||
<TOMADOR_EMAIL>email@email.com</TOMADOR_EMAIL> |
|||
<TOMADOR_TELEFONE>1912345678</TOMADOR_TELEFONE> |
|||
<TOMADOR_MUNICIPIO>3506003</TOMADOR_MUNICIPIO> |
|||
<ALIQUOTA>3,00</ALIQUOTA> |
|||
<PORCENTAGEM_REGIME_ESPECIAL>0</PORCENTAGEM_REGIME_ESPECIAL> |
|||
</NOTA> |
|||
@ -0,0 +1,14 @@ |
|||
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> |
|||
<soap:Body> |
|||
<EnviarNotaRetornaurlNota xmlns="http://susesu.com.br/"> |
|||
<codPrefeitura>{{ codigo_prefeitura }}</codPrefeitura> |
|||
<notaFiscal> |
|||
<![CDATA[ |
|||
{% include 'Nota.xml' %} |
|||
]]> |
|||
</notaFiscal> |
|||
<cnpjPrestador>{{ cnpj_prestador }}</cnpjPrestador> |
|||
<senhaNFD>{{ senha_nfd }}</senhaNFD> |
|||
</EnviarNotaRetornaurlNota> |
|||
</soap:Body> |
|||
</soap:Envelope> |
|||
@ -0,0 +1,32 @@ |
|||
<NOTA> |
|||
<NUMERO_NOTA>200</NUMERO_NOTA> |
|||
<DATA_EMISSAO>21/05/2016</DATA_EMISSAO> |
|||
<CODIGO_GERAL_ATIVIDADE>09.00</CODIGO_GERAL_ATIVIDADE> |
|||
<CODIGO_ATIVIDADE/> |
|||
<OUTRAS_INFORMACOES>NOTA FISCAL DE PRESTAÇÃO DE SERVIÇOS</OUTRAS_INFORMACOES> |
|||
<DESCRICAO_SERVICOS>DESCRIÇÃO DO SERVIÇO</DESCRICAO_SERVICOS> |
|||
<VALOR_TOTAL_NOTA>440,00</VALOR_TOTAL_NOTA> |
|||
<STATUS_ISS_NOTA>1</STATUS_ISS_NOTA> |
|||
<IRRF>0,00</IRRF> |
|||
<INSS>0,00</INSS> |
|||
<PIS>0,00</PIS> |
|||
<COFINS>0,00</COFINS> |
|||
<CONTRIBUICAO_SOCIAL>0,00</CONTRIBUICAO_SOCIAL> |
|||
<VALOR_LIQUIDO>440,00</VALOR_LIQUIDO> |
|||
<VALOR_DEDUCAO_MATERIAIS>0,00</VALOR_DEDUCAO_MATERIAIS> |
|||
<COD_MUNICIPIO_EXECUCAO_SERVICO>3550407</COD_MUNICIPIO_EXECUCAO_SERVICO> |
|||
<LOCAL_EXECUCAO_SERVICO>LOCAL EXECUÇÃO</LOCAL_EXECUCAO_SERVICO> |
|||
<TOMADOR_ESTRANGEIRO>N</TOMADOR_ESTRANGEIRO> |
|||
<TOMADOR_DOCUMENTO>00000000000</TOMADOR_DOCUMENTO> |
|||
<TOMADOR_RAZAO>TOMADOR RAZAO/NOME</TOMADOR_RAZAO> |
|||
<TOMADOR_LOGRADOURO>LOGRADOURO</TOMADOR_LOGRADOURO> |
|||
<TOMADOR_BAIRRO>BAIRRO</TOMADOR_BAIRRO> |
|||
<TOMADOR_CEP>13400000</TOMADOR_CEP> |
|||
<TOMADOR_INSCRICAO_ESTADUAL>ISENTO</TOMADOR_INSCRICAO_ESTADUAL> |
|||
<TOMADOR_INSCRICAO_MUNICIPAL>ISENTO</TOMADOR_INSCRICAO_MUNICIPAL> |
|||
<TOMADOR_EMAIL>email@email.com</TOMADOR_EMAIL> |
|||
<TOMADOR_TELEFONE>1912345678</TOMADOR_TELEFONE> |
|||
<TOMADOR_MUNICIPIO>3506003</TOMADOR_MUNICIPIO> |
|||
<ALIQUOTA>3,00</ALIQUOTA> |
|||
<PORCENTAGEM_REGIME_ESPECIAL>0</PORCENTAGEM_REGIME_ESPECIAL> |
|||
</NOTA> |
|||
@ -0,0 +1,26 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# © 2016 Danimar Ribeiro, Trustcode |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
import os.path |
|||
import unittest |
|||
from pytrustnfe.nfse.ariss import enviar_nota |
|||
from pytrustnfe.nfse.ariss import enviar_nota_retorna_url |
|||
|
|||
|
|||
class test_nfse_arisss(unittest.TestCase): |
|||
|
|||
caminho = os.path.dirname(__file__) |
|||
|
|||
def test_enviar_nota_url_nota(self): |
|||
nota = { |
|||
|
|||
} |
|||
dados = { |
|||
'cnpj_prestador': '21118045000135', |
|||
'codigo_prefeitura': 3150, |
|||
'senha_nfd': 'fiscalb', |
|||
'nota': nota |
|||
} |
|||
response = enviar_nota_retorna_url(ambiente='homologacao', **dados) |
|||
self.assertEqual(response['received_xml'], |
|||
'0-Numero da nota fiscal invalido.') |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue