Skip to main content

CorrePy (Corretagem Python) é uma lib responsável por parsear notas de corretagem no padrão B3 (Sinacor) e retornar os dados no formato JSON.

Project description

thiagosalvatore PyPI version

CorrePy

CorrePy (Corretagem Python) é uma lib responsável por parsear notas de corretagem no padrão B3 (Sinacor) e retornar os dados em um formato estruturado para que você possa utilizar em suas aplicações.

Instalação

Este projeto suporta qualquer versão do python >= 3.8

pip install correpy

Como usar

Depois de instalada, sua utilização é extremamente simples. Primeiramente vamos precisar abrir o PDF com a nota de corretagem. Se você estiver utilizando essa lib em uma API, você precisará transformar seu arquivo PDF em BytesIO.

import io

with open('path to your pdf file', 'rb') as f:
    content = io.BytesIO(f.read())
    content.seek(0)

O conteúdo da sua nota de corretagem estará na variável content e é ela quem iremos usar para inicializar a nossa lib. Se a sua nota de corretagem possuir senha, você precisará informar também, caso contrário o parser nâo irá funcionar.

import io

from correpy.parsers.brokerage_notes.parser_factory import ParserFactory

with open('path to your pdf file', 'rb') as f:
    content = io.BytesIO(f.read())
    content.seek(0)
    
    brokerage_notes = ParserFactory(brokerage_note=content, password="password").parse_brokerage_note()

Resultado

Depois de efetuar o parser da sua nota de corretagem, correpy irá retornar uma lista no formato abaixo. Os valores de cada campo serão explicados em seguida.

[
    BrokerageNote(
        reference_date=date(2022, 5, 2),
        settlement_fee=Decimal("7.92"),
        registration_fee=Decimal("0"),
        term_fee=Decimal("0"),
        ana_fee=Decimal("0"),
        emoluments=Decimal("1.58"),
        operational_fee=Decimal("0"),
        execution=Decimal("0"),
        custody_fee=Decimal("0"),
        taxes=Decimal("0"),
        others=Decimal("0"),
        transactions=[
            Transaction(
                transaction_type=TransactionType.SELL,
                amount=54,
                unit_price=Decimal('24.99'),
                security=Security(
                    name='BBSEGURIDADE ON NM'
                )
            ),
            Transaction(
                transaction_type=TransactionType.BUY,
                amount=200,
                unit_price=Decimal('17.29'),
                security=Security(
                    name='MOVIDA ON NM'
                )
            )
        ]
    )
]

Descrição das entidades

Abaixo você pode encontrar a descrição de cada um dos campos retornados.

Brokerage Note

BrokerageNote
reference_id Número da nota
reference_date Data do pregão
settlement_fee Taxa de liquidação
registration_fee Taxa de registro
term_fee Taxa de termo/opções
ana_fee Taxa A.N.A
emoluments Emolumentos
operational_fee Taxa Operacional
execution Execução
custody_fee Taxa de custódia
source_withheld_taxes IRRF
taxes Impostos
others Outros
transactions Lista de transações

Transaction

Transaction
transaction_type Enum com o tipo de transação (BUY - compra, SELL - venda)
amount Quantidade
unit_price Valor unitário
security Objeto Security representando um título
source_witheld_taxes IRRF retido na fonte (0.005% sobre o valor total de venda)

Security

Security
name Especificação do título

Como contribuir

Estamos utilizando poetry para gerenciar o projeto e suas dependencias.

Este projeto ainda está em evolução e qualquer PR é bem vindo. Algumas ferramentas estão sendo utilizadas para melhorar a qualidade do código:

  1. MyPy para checagem estática de tipos
  2. PyLint
  3. Black
  4. isort

Para verificar se o seu código continua de acordo com os critérios definidos, basta rodar ./pipeline/lint.sh.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

correpy-0.6.0.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

correpy-0.6.0-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file correpy-0.6.0.tar.gz.

File metadata

  • Download URL: correpy-0.6.0.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.2 Linux/5.15.0-1057-aws

File hashes

Hashes for correpy-0.6.0.tar.gz
Algorithm Hash digest
SHA256 2e620f2a12078a16106fcabae5c33389c1bde18651888f581e2d718f1f6a116b
MD5 6a50fdfac40c55bf46122b580dee3d30
BLAKE2b-256 6dd9424afb7f1e74520e904221df3faf7616c49910636692a2e3de89a482264b

See more details on using hashes here.

File details

Details for the file correpy-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: correpy-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 24.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.2 Linux/5.15.0-1057-aws

File hashes

Hashes for correpy-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 066b01eb5a41ecd433cfd1af346ada29294b5bafa736592fbe3c2567fc0b2e0f
MD5 9f999656cf53524d857b5fec4bfd5013
BLAKE2b-256 c7905cb541276789134c3e6b82057f4ad2e75abc3796fd4eff981e68f553481b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page