Giter Club home page Giter Club logo

pynfse's Introduction

PyNFSe

Code Climate Build Status Coverage Status

A biblioteca PyNFSe funciona como um facilitador para os desenvolvedores que precisam gerir a emissão de Nota Fiscal de Serviços por meio eletrônico. As funcionalidades desta biblioteca são:

  • Criação dos XMLs de RPS (Recibo Provisório de Serviço)
  • Criação dos XML dos Lotes RPS.
  • Envio dos lotes de RPSs, realizando a comunicação com o webservice da respectiva prefeitura
  • Consulta e Cancelamento de NFS-es emitidas

Além disso a PyNFSe possui uma CLI para operação via linha de comando.

Cidades Atendidas

  • Curitiba

Instalação

Via PyPI

pip install PyNFSe

ou

git clone https://github.com/marcelobelli/PyNFSe.git
cd PyNFSe
pip install -r requirements.txt

Problemas

  • Descobrir o problema de conexão quando atualiza o requests para versões superiores a 2.11.1 e o cryptography está instalado

Roadmap

  • Tornar disponível no PyPI
  • Adicionar novas cidades
  • Documentação

pynfse's People

Contributors

marcelobelli avatar ficorrea avatar orlandosaraivajr avatar

Stargazers

Eduarda Antunes Kloss avatar Miguel Xavier avatar Lumardyelson Durans avatar Tiago Paiva avatar João Pedro Netto avatar ZhangQingyuan avatar Wanderson Reis avatar Pedro Andriow avatar Ranis Pereira da Silva Junior avatar Guilherme de S. Vieira Beira avatar Braga avatar Gustavo Siqueira avatar Frederico Flores avatar Daniel Checchia avatar Felipe Augusto Gonçalves Basilio avatar OvoKore avatar Mayron Ceccon avatar Pietro Nardelli Mezzadri avatar Ken Esparta Ccorahua avatar Edson C. avatar Moacir Moda avatar Matheus Cansian avatar Eduardo Bratz avatar Caio Carvalho avatar Nonato Sales avatar  avatar Álvaro Justen avatar Clayton A. Alves avatar Rafael Acioly avatar Osvaldo Santana Neto avatar Felipe Frizzo avatar Henrique Bastos avatar TrOliveira avatar

Watchers

James Cloos avatar Leonardo Gregianin avatar  avatar Pedro Andriow avatar TrOliveira avatar

pynfse's Issues

Adicionar uma camada REST

A biblioteca é muito boa, porém ela não conversa com outras linguagens que não sejam python.

Pensando nisso é fácil de resolver com uma camada REST, que tenha em um arquivo de configuração os dados da empresa emissora da nota e receba via POST os dados de uma nota fiscal ou RPS, gere e envie a nota, e retorne o status da operação.

Então os usuários poderiam subir essa aplicação em um container/microserviço e utilizar o mesmo com qualquer tipo de outra linguagem além do python.

Parâmetro da função recepcionar_lote_rps não aceita string de xml

Gostaria de saber qual formato colocar na função para recepcionar lote rps.

Estou usando uma instância do facade. Ao usar a função de validação do xml (validar_xml(xml)), ele valida sem problemas, mas ao colocar na função recepcionar_lote_rps(), ele não consegue identificar os nodes do XML. Notei que ele requer um objeto, gostaria de saber se já existe alguma função implementada que transforma o xml (string) em algum objeto que seja aceito pela função ou se devo implementar esta função.

xml = '''<EnviarLoteRpsEnvio xmlns="http://isscuritiba.curitiba.pr.gov.br/iss/nfse.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://isscuritiba.curitiba.pr.gov.br/iss/nfse.xsd">... ...</EnviarLoteRpsEnvio>'''

facade = Facade(cert.pfx', '*******', True)

print(facade.recepcionar_lote_rps(xml))

Erro:
AttributeError: 'str' object has no attribute 'numero_lote'

Pelo que eu entendi tenho que criar um objeto com os campos requeridos.
Também tentei utilizar a classe dos modelos para criar um objeto como do lote mas não funcionou.

Refatorar CLI

Hoje o cli gera dicionários para serem consumidos pelo módulo de Curitiba. O ideal seria passar objetos diretamente, melhorando o fluxo entre cli e módulo. Essa issue está extremamente conectada com a #5

tsValor cannot be created from: 0.13

Boa tarde!

Sistema funciona normalmente quando não tenho valores de iss ou cofins no cliente, porém quando tenho ao enviar uma nota de teste com um valor baixo de 1 real está me retornando esse erro no método que faz a serialização dos dados do serviço. Tem como eu contornar esse erro?

Obrigado!!

Refatorar módulo Curitiba

Hoje a comunicação entre funções é feita utilizando dicionários, mas na serialização utiliza-se classes. Seria mais limpo se toda a comunicação fosse usando classes. Essa issue está extremamente conectada com a #6

Erro 403 ambiente de produção

O ambiente piloto funcionou 100%, porém o ambiente de produção esta dando erro 403 de permissão negada, já fiz todos os procedimentos solicitados no manual da prefeitura de Curitiba.

A única coisa que estou na dúvida é a respeito da cadeia de certificação - servidor produção.

Tenho que passar a cadeia na conexão? Se sim, como faço isso?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.