ibptws 0.4

Creator: railscoder56

Last updated:

Add to Cart

Description:

ibptws 0.4

IBPT Web Services






Implementa uma camada fina para acesso aos web services do IBPT, para
auxiliar no cumprimento à Lei 12.741/2012, popularmente conhecida como “De
Olho no Imposto”. O Instituto Brasileiro de Planejamento e Tributação, IBPT,
calcula e fornece os valores aproximados dos tributos para produtos e serviços
com base no código NCM (Nomenclatura Comum do Mercosul, para produtos) e no
código NBS (Nomenclatura Brasileira de Serviços).
Para que o acesso aos web services seja possível, é preciso cadastrar-se no
IBPT para obter seu token de acesso.

Configuração e Consultas Básicas
Exemplo básico de configuração e consulta de produto:
>>> from ibptws import conf
>>> from ibptws import get_produto

>>> conf.token = 'ZyW9z...' # cadastre-se no IBPT para obter seu token
>>> conf.cnpj = '08427847000169'
>>> conf.estado = 'SP'

>>> get_produto('02091021')
Produto(codigo=u'2091021', uf=u'SP', ex=0, descricao=u'Gordura de porco,fresca,refrigerada ou congelada', nacional=4.2, estadual=12.0, importado=6.39)
Similarmente, para consultar um serviço faça:
>>> from ibptws import get_servico
>>> get_servico('0101')
Servico(codigo=u'101', uf=u'SP', descricao=u'An\xe1lise e desenvolvimento de sistemas.', tipo=u'NBS', nacional=13.45, estadual=0.0, municipal=3.9, importado=15.45)


Calculadora DeOlhoNoImposto
A calculadora De Olho no Imposto auxilia na computação dos valores
aproximados dos tributos, tornando trivial a consulta por n produtos e/ou
servicos e a obtenção dos cálculos parciais e totais dos tributos.
>>> from decimal import Decimal
>>> from ibptws.calculadoras import DeOlhoNoImposto

>>> calc = DeOlhoNoImposto()
>>> calc.produto('02091021', 0, Decimal('5.75'))
>>> calc.servico('0101', Decimal('73.47'))

>>> calc.carga_federal_nacional()
Decimal('10.123215')

>>> calc.carga_federal_importado()
Decimal('11.718540')

>>> calc.carga_estadual()
Decimal('0.6900')

>>> calc.carga_municipal()
Decimal('2.86533')

>>> calc.total_tributos()
Decimal('25.397085')

>>> calc.total()
Decimal('79.22')

>>> calc.percentual_sobre_total()
Decimal('0.3205893082554910376167634436')


Provisionamento de Dados
A calculadora De Olho no Imposto recorre a um proxy para realizar as
consultas de produtos e serviços, possibilitando que seja implementada uma
camada para provisionamento (cache) das consultas realizadas. Este projeto
traz uma implementação de provisionamento baseada em Redis:
from ibptws.calculadoras import DeOlhoNoImposto
from ibptws.provisoes import ProvisaoViaRedis

calc = DeOlhoNoImposto(provisao=ProvisaoViaRedis(
host='192.168.0.111', port=6379, db=0))
Neste exemplo, as consultas a produtos e serviços serão realizadas através
do proxy e, uma vez acessado o web services do IBPT, os dados ficarão
provisionados até que expire (o padrão é expirar em 24h, mas você poderá usar
os seus próprios critérios).


Testes
Os testes são baseados em pytest e não há acesso real aos serviços do IBPT,
portanto não há necessidade de configurar o token de acesso para executar os
testes unitários:
$ python setup.py test



Isenção de Responsabilidade
Os autores deste projeto não tem qualquer relação com o Instituto Brasileiro de
Planejamento e Tributação (IBPT), e este, por sua vez, não avaliza o uso desta
biblioteca de código. Utilize por sua conta e risco.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.