Este projeto começou como parte de um desafio técnico e foi desenvolvido com o objetivo de calcular comissões de vendas, validar pagamentos e extrair informações de clientes a partir de arquivos Excel e textos estruturados. Agora, está sendo continuado como um projeto pessoal, com o intuito de aprimorar suas funcionalidades e flexibilidade.
- Cálculo de Comissões: Calcula a comissão inicial e final para vendedores com base nos dados de vendas. O cálculo considera descontos para vendas online e comissões adicionais para gerentes.
- Validação de Pagamentos: Compara os valores de comissão pagos aos vendedores com os valores calculados para identificar discrepâncias.
- Extração de Informações de Clientes: Extrai o nome e a quantidade de cotas de clientes a partir de textos estruturados.
Certifique-se de ter o Python instalado. As bibliotecas necessárias estão listadas no arquivo requirements.txt
.
Recomendo o uso de ambientes virtuais para gerenciar as dependências do projeto. Para criar e ativar um ambiente virtual, siga os passos abaixo:
- Crie um ambiente virtual:
python -m venv venv
- Ative o ambiente virtual:
- Windows:
venv\Scripts\activate
- Linux:
source venv/bin/activate
- Instale as dependências:
pip install -r requirements.txt
-
Cálculo de Comissões
python main.py calculate-commission <arquivo_excel> [--sheet <nome_da_aba>]
<arquivo_excel>
: Arquivo Excel contendo os dados de vendas.--sheet <nome_da_aba>
: (Opcional) Nome da aba contendo os dados de vendas. O padrão é "Vendas".
-
Validação de Pagamentos
python main.py validate-payments <arquivo_excel> [--sales-sheet <nome_da_aba_vendas>] [--payments-sheet <nome_da_aba_pagamentos>]
<arquivo_excel>
: Arquivo Excel contendo os dados de vendas e pagamentos.--sales-sheet <nome_da_aba_vendas>
: (Opcional) Nome da aba contendo os dados de vendas. O padrão é "Vendas".--payments-sheet <nome_da_aba_pagamentos>
: (Opcional) Nome da aba contendo os dados de pagamentos. O padrão é "Pagamentos".
-
Extração de Informações de Clientes
python main.py extract-client-info <arquivo_texto>
<arquivo_texto>
: Arquivo de texto contendo as informações dos clientes.
Os exemplos abaixo utilizam os arquivos de amostra fornecidos na pasta sample/
.
-
Cálculo de Comissões:
python main.py calculate-commission .\sample\Vendas.xlsx
-
Validação de Pagamentos:
python main.py validate-payments .\sample\Vendas.xlsx
-
Extração de Informações de Clientes:
python main.py extract-client-info .\sample\Partnership.txt
Os resultados serão salvos em novos arquivos Excel na pasta results/
, com nomes de acordo com a operação executada.
Inicialmente, o projeto utilizava a biblioteca sys
para receber os argumentos da linha de comando, mas os nomes das abas eram codificados diretamente no código, com base nos arquivos de amostra fornecidos. Para tornar o projeto mais flexível, foi feita a migração para a biblioteca click
. Com click
, é possível passar os nomes das abas como parâmetros opcionais na linha de comando, permitindo que o usuário especifique diferentes nomes de abas conforme necessário. Se os nomes das abas não forem fornecidos, os valores padrão serão utilizados.