def _serialize_rps(self, dados): return tpRPS( InscricaoMunicipalTomador=self.convert_type_nfselib( tpRPS, "InscricaoMunicipalTomador", dados["inscricao_municipal"]), CPFCNPJTomador=tpCPFCNPJ( Cnpj=self.convert_type_nfselib(tpCPFCNPJ, "Cnpj", dados["cnpj"]), Cpf=self.convert_type_nfselib(tpCPFCNPJ, "Cpf", dados["cpf"]), ), RazaoSocialTomador=self.convert_type_nfselib( tpRPS, "RazaoSocialTomador", dados["razao_social"]), EnderecoTomador=tpEndereco( Logradouro=self.convert_type_nfselib(tpEndereco, "Logradouro", dados["endereco"]), NumeroEndereco=self.convert_type_nfselib( tpEndereco, "NumeroEndereco", dados["numero"]), ComplementoEndereco=self.convert_type_nfselib( tpEndereco, "ComplementoEndereco", dados["complemento"]), Bairro=self.convert_type_nfselib(tpEndereco, "Bairro", dados["bairro"]), Cidade=self.convert_type_nfselib(tpEndereco, "Cidade", dados["codigo_municipio"]), UF=self.convert_type_nfselib(tpEndereco, "UF", dados["uf"]), CEP=self.convert_type_nfselib(tpEndereco, "CEP", dados["cep"]), ) or None, )
def _serialize_rps(self, dados): return tpRPS( InscricaoMunicipalTomador=self.convert_type_nfselib( tpRPS, 'InscricaoMunicipalTomador', dados['inscricao_municipal']), CPFCNPJTomador=tpCPFCNPJ( Cnpj=self.convert_type_nfselib( tpCPFCNPJ, 'Cnpj', dados['cnpj']), Cpf=self.convert_type_nfselib( tpCPFCNPJ, 'Cpf', dados['cpf']), ), RazaoSocialTomador=self.convert_type_nfselib( tpRPS, 'RazaoSocialTomador', dados['razao_social']), EnderecoTomador=tpEndereco( Logradouro=self.convert_type_nfselib( tpEndereco, 'Logradouro', dados['endereco']), NumeroEndereco=self.convert_type_nfselib( tpEndereco, 'NumeroEndereco', dados['numero']), ComplementoEndereco=self.convert_type_nfselib( tpEndereco, 'ComplementoEndereco', dados['complemento']), Bairro=self.convert_type_nfselib( tpEndereco, 'Bairro', dados['bairro']), Cidade=self.convert_type_nfselib( tpEndereco, 'Cidade', dados['codigo_municipio']), UF=self.convert_type_nfselib( tpEndereco, 'UF', dados['uf']), CEP=self.convert_type_nfselib(tpEndereco, 'CEP', dados['cep']), ) or None, )
def _serialize_cabecalho(self, dados_lote_rps): return CabecalhoType( Versao=self.convert_type_nfselib(CabecalhoType, 'Versao', 1), CPFCNPJRemetente=tpCPFCNPJ( CNPJ=self.convert_type_nfselib( CabecalhoType, 'tpCPFCNPJ', dados_lote_rps['cnpj'])), transacao=False, # TODO: Verficar origem do dado dtInicio=self.convert_type_nfselib( CabecalhoType, 'dtInicio', dados_lote_rps['date_in_out'].split('T', 1)[0]), dtFim=self.convert_type_nfselib( CabecalhoType, 'dtFim', dados_lote_rps['date_in_out'].split('T', 1)[0]), QtdRPS=self.convert_type_nfselib(CabecalhoType, 'QtdRPS', '1'), ValorTotalServicos=self.convert_type_nfselib( CabecalhoType, 'ValorTotalServicos', dados_lote_rps['total_recebido']), ValorTotalDeducoes=self.convert_type_nfselib( CabecalhoType, 'ValorTotalDeducoes', dados_lote_rps['carga_tributaria']), )
def _serialize_cabecalho(self, dados_lote_rps): return CabecalhoType( Versao=self.convert_type_nfselib(CabecalhoType, "Versao", 1), CPFCNPJRemetente=tpCPFCNPJ(CNPJ=self.convert_type_nfselib( CabecalhoType, "tpCPFCNPJ", dados_lote_rps["cnpj"])), transacao=False, # TODO: Verficar origem do dado dtInicio=self.convert_type_nfselib( CabecalhoType, "dtInicio", dados_lote_rps["date_in_out"].split("T", 1)[0], ), dtFim=self.convert_type_nfselib( CabecalhoType, "dtFim", dados_lote_rps["date_in_out"].split("T", 1)[0]), QtdRPS=self.convert_type_nfselib(CabecalhoType, "QtdRPS", "1"), ValorTotalServicos=self.convert_type_nfselib( CabecalhoType, "ValorTotalServicos", dados_lote_rps["total_recebido"]), ValorTotalDeducoes=self.convert_type_nfselib( CabecalhoType, "ValorTotalDeducoes", dados_lote_rps["carga_tributaria"]), )
def _serialize_lote_rps(self, dados_lote_rps, dados_servico): dados_tomador = self._prepare_dados_tomador() return tpRPS( Assinatura=self.assinatura_rps(dados_lote_rps, dados_servico, dados_tomador), ChaveRPS=tpChaveRPS( InscricaoPrestador=self.convert_type_nfselib( tpChaveRPS, "InscricaoPrestador", dados_lote_rps["inscricao_municipal"].zfill(8), ), SerieRPS=self.convert_type_nfselib(tpChaveRPS, "SerieRPS", dados_lote_rps["serie"]), NumeroRPS=self.convert_type_nfselib(tpChaveRPS, "NumeroRPS", dados_lote_rps["numero"]), ), TipoRPS=self._map_type_rps(dados_lote_rps["tipo"]), DataEmissao=self.convert_type_nfselib( tpRPS, "DataEmissao", dados_lote_rps["data_emissao"].split("T", 1)[0]), StatusRPS=self.convert_type_nfselib(tpRPS, "StatusRPS", "N"), TributacaoRPS=self.convert_type_nfselib( tpRPS, "TributacaoRPS", self._map_taxation_rps(dados_lote_rps["natureza_operacao"]), ), ValorServicos=self.convert_type_nfselib( tpRPS, "ValorServicos", dados_servico["valor_servicos"]), ValorDeducoes=self.convert_type_nfselib( tpRPS, "ValorDeducoes", dados_servico["valor_deducoes"]), ValorPIS=self.convert_type_nfselib(tpRPS, "ValorPIS", dados_servico["valor_pis"]), ValorCOFINS=self.convert_type_nfselib( tpRPS, "ValorCOFINS", dados_servico["valor_cofins"]), ValorINSS=self.convert_type_nfselib(tpRPS, "ValorINSS", dados_servico["valor_inss"]), ValorIR=self.convert_type_nfselib(tpRPS, "ValorIR", dados_servico["valor_ir"]), ValorCSLL=self.convert_type_nfselib(tpRPS, "ValorCSLL", dados_servico["valor_csll"]), CodigoServico=self.convert_type_nfselib( tpRPS, "CodigoServico", dados_servico["codigo_tributacao_municipio"]), AliquotaServicos=self.convert_type_nfselib( tpRPS, "AliquotaServicos", dados_servico["aliquota"]), ISSRetido="true" if dados_servico["iss_retido"] == "1" else "false", # FIXME: Hardcoded CPFCNPJTomador=self.convert_type_nfselib( tpRPS, "CPFCNPJTomador", tpCPFCNPJ(CNPJ=dados_tomador["cnpj"], CPF=dados_tomador["cpf"]), ), InscricaoMunicipalTomador=self.convert_type_nfselib( tpRPS, "InscricaoMunicipalTomador", dados_tomador["inscricao_municipal"]), InscricaoEstadualTomador=self.convert_type_nfselib( tpRPS, "InscricaoEstadualTomador", dados_tomador["inscricao_estadual"]), RazaoSocialTomador=self.convert_type_nfselib( tpRPS, "RazaoSocialTomador", dados_tomador["razao_social"]), EnderecoTomador=tpEndereco( Logradouro=self.convert_type_nfselib( tpEndereco, "Logradouro", dados_tomador["endereco"]), NumeroEndereco=self.convert_type_nfselib( tpEndereco, "NumeroEndereco", dados_tomador["numero"]), ComplementoEndereco=self.convert_type_nfselib( tpEndereco, "ComplementoEndereco", dados_tomador["complemento"]), Bairro=self.convert_type_nfselib(tpEndereco, "Bairro", dados_tomador["bairro"]), Cidade=self.convert_type_nfselib( tpEndereco, "Cidade", dados_tomador["codigo_municipio"]), UF=self.convert_type_nfselib(tpEndereco, "UF", dados_tomador["uf"]), CEP=self.convert_type_nfselib(tpEndereco, "CEP", dados_tomador["cep"]), ), EmailTomador=self.convert_type_nfselib(tpRPS, "EmailTomador", dados_tomador["email"]), Discriminacao=self.convert_type_nfselib( tpRPS, "Discriminacao", unidecode(dados_servico["discriminacao"] + ("|%s|" % self.fiscal_additional_data.replace("\n", "|") if self.fiscal_additional_data else "")), ), ValorCargaTributaria=self.convert_type_nfselib( tpRPS, "ValorCargaTributaria", dados_lote_rps["carga_tributaria"]), FonteCargaTributaria=self.convert_type_nfselib( tpRPS, "FonteCargaTributaria", dados_lote_rps["total_recebido"]), MunicipioPrestacao=self.convert_type_nfselib( CabecalhoType, "Versao", self._map_provision_municipality( dados_lote_rps["natureza_operacao"], dados_servico["codigo_municipio"], ), ), )
def _serialize_lote_rps(self, dados_lote_rps, dados_servico): dados_tomador = self._prepare_dados_tomador() return tpRPS( Assinatura=self.assinatura_rps(dados_lote_rps, dados_servico, dados_tomador), ChaveRPS=tpChaveRPS( InscricaoPrestador=self.convert_type_nfselib( tpChaveRPS, 'InscricaoPrestador', dados_lote_rps['inscricao_municipal'].zfill(8)), SerieRPS=self.convert_type_nfselib( tpChaveRPS, 'SerieRPS', dados_lote_rps['serie']), NumeroRPS=self.convert_type_nfselib( tpChaveRPS, 'NumeroRPS', dados_lote_rps['numero']), ), TipoRPS=self._map_type_rps(dados_lote_rps['tipo']), DataEmissao=self.convert_type_nfselib( tpRPS, 'DataEmissao', dados_lote_rps['data_emissao'].split('T', 1)[0]), StatusRPS=self.convert_type_nfselib(tpRPS, 'StatusRPS', 'N'), TributacaoRPS=self.convert_type_nfselib( tpRPS, 'TributacaoRPS', self._map_taxation_rps(dados_lote_rps['natureza_operacao'])), ValorServicos=self.convert_type_nfselib( tpRPS, 'ValorServicos', dados_servico['valor_servicos']), ValorDeducoes=self.convert_type_nfselib( tpRPS, 'ValorDeducoes', dados_servico['valor_deducoes']), ValorPIS=self.convert_type_nfselib( tpRPS, 'ValorPIS', dados_servico['valor_pis']), ValorCOFINS=self.convert_type_nfselib( tpRPS, 'ValorCOFINS', dados_servico['valor_cofins']), ValorINSS=self.convert_type_nfselib( tpRPS, 'ValorINSS', dados_servico['valor_inss']), ValorIR=self.convert_type_nfselib( tpRPS, 'ValorIR', dados_servico['valor_ir']), ValorCSLL=self.convert_type_nfselib( tpRPS, 'ValorCSLL', dados_servico['valor_csll']), CodigoServico=self.convert_type_nfselib( tpRPS, 'CodigoServico', dados_servico['codigo_tributacao_municipio']), AliquotaServicos=self.convert_type_nfselib( tpRPS, 'AliquotaServicos', dados_servico['aliquota']), ISSRetido='true' if dados_servico['iss_retido'] == '1' else 'false', # FIXME: Hardcoded CPFCNPJTomador=self.convert_type_nfselib( tpRPS, 'CPFCNPJTomador', tpCPFCNPJ( CNPJ=dados_tomador['cnpj'], CPF=dados_tomador['cpf'])), InscricaoMunicipalTomador=self.convert_type_nfselib( tpRPS, 'InscricaoMunicipalTomador', dados_tomador['inscricao_municipal']), InscricaoEstadualTomador=self.convert_type_nfselib( tpRPS, 'InscricaoEstadualTomador', dados_tomador['inscricao_estadual']), RazaoSocialTomador=self.convert_type_nfselib( tpRPS, 'RazaoSocialTomador', dados_tomador['razao_social']), EnderecoTomador=tpEndereco( Logradouro=self.convert_type_nfselib( tpEndereco, 'Logradouro', dados_tomador['endereco']), NumeroEndereco=self.convert_type_nfselib( tpEndereco, 'NumeroEndereco', dados_tomador['numero']), ComplementoEndereco=self.convert_type_nfselib( tpEndereco, 'ComplementoEndereco', dados_tomador['complemento']), Bairro=self.convert_type_nfselib( tpEndereco, 'Bairro', dados_tomador['bairro']), Cidade=self.convert_type_nfselib( tpEndereco, 'Cidade', dados_tomador['codigo_municipio']), UF=self.convert_type_nfselib( tpEndereco, 'UF', dados_tomador['uf']), CEP=self.convert_type_nfselib( tpEndereco, 'CEP', dados_tomador['cep']), ), EmailTomador=self.convert_type_nfselib( tpRPS, 'EmailTomador', dados_tomador['email']), Discriminacao=self.convert_type_nfselib( tpRPS, 'Discriminacao', unidecode( dados_servico['discriminacao'] + ( '|%s|' % self.fiscal_additional_data.replace( '\n', '|' ) if self.fiscal_additional_data else '')) ), ValorCargaTributaria=self.convert_type_nfselib( tpRPS, 'ValorCargaTributaria', dados_lote_rps['carga_tributaria']), FonteCargaTributaria=self.convert_type_nfselib( tpRPS, 'FonteCargaTributaria', dados_lote_rps['total_recebido']), MunicipioPrestacao=self.convert_type_nfselib( CabecalhoType, 'Versao', self._map_provision_municipality( dados_lote_rps['natureza_operacao'], dados_servico['codigo_municipio'] ) ), )