Browse Source

WIP - Implementação nota imperial - Petropolis

pull/68/head
Danimar Ribeiro 8 years ago
parent
commit
a1d559c650
  1. 75
      pytrustnfe/nfse/imperial/__init__.py
  2. 17
      pytrustnfe/nfse/imperial/templates/CANCELANOTAELETRONICA.xml
  3. 9
      pytrustnfe/nfse/imperial/templates/CONSULTANOTASPROTOCOLO.xml
  4. 9
      pytrustnfe/nfse/imperial/templates/CONSULTAPROTOCOLO.xml
  5. 78
      pytrustnfe/nfse/imperial/templates/PROCESSARPS.xml
  6. 5
      pytrustnfe/nfse/imperial/templates/SoapRequest.xml

75
pytrustnfe/nfse/imperial/__init__.py

@ -0,0 +1,75 @@
# -*- coding: utf-8 -*-
# © 2016 Danimar Ribeiro, Trustcode
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import os
from pytrustnfe import HttpClient
from pytrustnfe.xml import render_xml, sanitize_response
def _render(certificado, method, **kwargs):
path = os.path.join(os.path.dirname(__file__), 'templates')
xml_send = render_xml(path, '%s.xml' % method, True, **kwargs)
return xml_send
def _send(certificado, method, **kwargs):
base_url = ''
if kwargs['ambiente'] == 'producao':
base_url = 'https://producao.ginfes.com.br/ServiceGinfesImpl?wsdl'
else:
base_url = 'https://nfehomologacao.etransparencia.com.br/rj.petropolis/webservice/aws_nfe.aspx' # noqa
xml_send = kwargs["xml"]
path = os.path.join(os.path.dirname(__file__), 'templates')
soap = render_xml(path, 'SoapRequest.xml', False, soap_body=xml_send)
client = HttpClient(base_url)
response = client.post_soap(soap, 'NFeaction/AWS_NFE.%s' % method)
response, obj = sanitize_response(response)
return {
'sent_xml': xml_send,
'received_xml': response,
'object': obj
}
def xml_processa_rps(certificado, **kwargs):
return _render(certificado, 'PROCESSARPS', **kwargs)
def processa_rps(certificado, **kwargs):
if "xml" not in kwargs:
kwargs['xml'] = xml_processa_rps(certificado, **kwargs)
return _send(certificado, 'PROCESSARPS', **kwargs)
def xml_consulta_protocolo(certificado, **kwargs):
return _render(certificado, 'CONSULTAPROTOCOLO', **kwargs)
def consulta_protocolo(certificado, **kwargs):
if "xml" not in kwargs:
kwargs['xml'] = xml_consulta_protocolo(certificado, **kwargs)
return _send(certificado, 'CONSULTAPROTOCOLO', **kwargs)
def xml_consulta_notas_protocolo(certificado, **kwargs):
return _render(certificado, 'CONSULTANOTASPROTOCOLO', **kwargs)
def consulta_notas_protocolo(certificado, **kwargs):
if "xml" not in kwargs:
kwargs['xml'] = xml_consulta_notas_protocolo(certificado, **kwargs)
return _send(certificado, 'CONSULTANOTASPROTOCOLO', **kwargs)
def xml_cancelar_nfse(certificado, **kwargs):
return _render(certificado, 'CANCELANOTAELETRONICA', **kwargs)
def cancelar_nfse(certificado, **kwargs):
if "xml" not in kwargs:
kwargs['xml'] = xml_cancelar_nfse(certificado, **kwargs)
return _send(certificado, 'CANCELANOTAELETRONICA', **kwargs)

17
pytrustnfe/nfse/imperial/templates/CANCELANOTAELETRONICA.xml

@ -0,0 +1,17 @@
<ws_nfe.CANCELANOTAELETRONICA xmlns="NFe">
<Sdt_cancelanfe>
<Login>
<CodigoUsuario>[string]</CodigoUsuario>
<CodigoContribuinte>[string]</CodigoContribuinte>
</Login>
<Nota>
<SerieNota>[string]</SerieNota>
<NumeroNota>[int]</NumeroNota>
<SerieRPS>[string]</SerieRPS>
<NumeroRps>[int]</NumeroRps>
<ValorNota>[double]</ValorNota>
<MotivoCancelamento>[string]</MotivoCancelamento>
<PodeCancelarGuia>[string]</PodeCancelarGuia>
</Nota>
</Sdt_cancelanfe>
</ws_nfe.CANCELANOTAELETRONICA>

9
pytrustnfe/nfse/imperial/templates/CONSULTANOTASPROTOCOLO.xml

@ -0,0 +1,9 @@
<ws_nfe.CONSULTANOTASPROTOCOLO xmlns="NFe">
<Sdt_consultanotasprotocoloin>
<Protocolo>[string]</Protocolo>
<Login>
<CodigoUsuario>[string]</CodigoUsuario>
<CodigoContribuinte>[string]</CodigoContribuinte>
</Login>
</Sdt_consultanotasprotocoloin>
</ws_nfe.CONSULTANOTASPROTOCOLO>

9
pytrustnfe/nfse/imperial/templates/CONSULTAPROTOCOLO.xml

@ -0,0 +1,9 @@
<ws_nfe.CONSULTAPROTOCOLO xmlns="NFe">
<Sdt_consultaprotocoloin>
<Protocolo>[string]</Protocolo>
<Login>
<CodigoUsuario>[string]</CodigoUsuario>
<CodigoContribuinte>[string]</CodigoContribuinte>
</Login>
</Sdt_consultaprotocoloin>
</ws_nfe.CONSULTAPROTOCOLO>

78
pytrustnfe/nfse/imperial/templates/PROCESSARPS.xml

@ -0,0 +1,78 @@
<ws_nfe.PROCESSARPS xmlns="NFe">
<Sdt_processarpsin>
<Login>
<CodigoUsuario>[string]</CodigoUsuario>
<CodigoContribuinte>[string]</CodigoContribuinte>
</Login>
<SDTRPS>
<Ano>[string]</Ano>
<Mes>[string]</Mes>
<CPFCNPJ>[string]</CPFCNPJ>
<DTIni>[string]</DTIni>
<DTFin>[string]</DTFin>
<TipoTrib>[string]</TipoTrib>
<DtAdeSN>[string]</DtAdeSN>
<AlqIssSN_IP>[string]</AlqIssSN_IP>
<Versao>[string]</Versao>
<Reg20>
<!-- Optional -->
<Reg20Item>
<TipoNFS>[string]</TipoNFS>
<NumRps>[string]</NumRps>
<SerRps>[string]</SerRps>
<DtEmi>[string]</DtEmi>
<RetFonte>[string]</RetFonte>
<CodSrv>[string]</CodSrv>
<DiscrSrv>[string]</DiscrSrv>
<VlNFS>[string]</VlNFS>
<VlDed>[string]</VlDed>
<DiscrDed>[string]</DiscrDed>
<VlBasCalc>[string]</VlBasCalc>
<AlqIss>[string]</AlqIss>
<VlIss>[string]</VlIss>
<VlIssRet>[string]</VlIssRet>
<CpfCnpTom>[string]</CpfCnpTom>
<RazSocTom>[string]</RazSocTom>
<TipoLogtom>[string]</TipoLogtom>
<LogTom>[string]</LogTom>
<NumEndTom>[string]</NumEndTom>
<ComplEndTom>[string]</ComplEndTom>
<BairroTom>[string]</BairroTom>
<MunTom>[string]</MunTom>
<SiglaUFTom>[string]</SiglaUFTom>
<CepTom>[string]</CepTom>
<Telefone>[string]</Telefone>
<InscricaoMunicipal>[string]</InscricaoMunicipal>
<TipoLogLocPre>[string]</TipoLogLocPre>
<LogLocPre>[string]</LogLocPre>
<NumEndLocPre>[string]</NumEndLocPre>
<ComplEndLocPre>[string]</ComplEndLocPre>
<BairroLocPre>[string]</BairroLocPre>
<MunLocPre>[string]</MunLocPre>
<SiglaUFLocpre>[string]</SiglaUFLocpre>
<CepLocPre>[string]</CepLocPre>
<Email1>[string]</Email1>
<Email2>[string]</Email2>
<Email3>[string]</Email3>
<Reg30>
<!-- Optional -->
<Reg30Item>
<TributoSigla>[string]</TributoSigla>
<TributoAliquota>[string]</TributoAliquota>
<TributoValor>[string]</TributoValor>
</Reg30Item>
</Reg30>
</Reg20Item>
</Reg20>
<Reg90>
<QtdRegNormal>[string]</QtdRegNormal>
<ValorNFS>[string]</ValorNFS>
<ValorISS>[string]</ValorISS>
<ValorDed>[string]</ValorDed>
<ValorIssRetTom>[string]</ValorIssRetTom>
<QtdReg30>[string]</QtdReg30>
<ValorTributos>[string]</ValorTributos>
</Reg90>
</SDTRPS>
</Sdt_processarpsin>
</ws_nfe.PROCESSARPS>

5
pytrustnfe/nfse/imperial/templates/SoapRequest.xml

@ -0,0 +1,5 @@
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
{{ soap_body }}
</Body>
</Envelope>
Loading…
Cancel
Save