Projeto de portfólio que automatiza a leitura de uma planilha Excel, valida os dados de produtos e vendas, recalcula o estoque, gera indicadores comerciais, cria um backup e produz um relatório gerencial formatado.
- Leitura das abas
ProdutoseVendas; - Verificação da estrutura e das colunas obrigatórias;
- Identificação de IDs duplicados, dados vazios e valores inválidos;
- Validação de vendas com produtos inexistentes ou estoque insuficiente;
- Cálculo do estoque atual usando apenas vendas confirmadas;
- Cálculo de faturamento, custo, lucro bruto estimado e ticket médio;
- Identificação de produtos com estoque baixo;
- Criação automática de backup da planilha original;
- Geração de um novo relatório Excel com dashboard, gráfico e abas detalhadas;
- Testes automatizados com
pytest.
automacao-loja-tecnologia/
├── main.py
├── requirements.txt
├── requirements-dev.txt
├── README.md
├── dados/
│ └── planilha_base_loja_tecnologia.xlsx
├── src/
│ ├── __init__.py
│ ├── config.py
│ ├── leitor_excel.py
│ ├── validacoes.py
│ ├── estoque.py
│ └── relatorios.py
├── backups/
├── relatorios/
└── tests/
- Python 3.10 ou superior;
- Microsoft Excel, LibreOffice ou outro programa compatível com
.xlsxpara editar e visualizar as planilhas.
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txtpython3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtEdite o arquivo localizado em:
dados/planilha_base_loja_tecnologia.xlsx
Depois execute:
python main.pyPara processar outra planilha com a mesma estrutura:
python main.py --arquivo caminho/para/planilha.xlsxPara executar sem criar backup:
python main.py --sem-backupO programa mostra no terminal um resumo semelhante a:
Processamento concluído.
Produtos cadastrados: 5
Vendas confirmadas: 3
Itens vendidos: 6
Faturamento confirmado: R$ 1.009,40
Lucro bruto estimado: R$ 440,40
Produtos com estoque baixo: 0
Validações: 0 erro(s) e 0 aviso(s)
Os arquivos são salvos em:
backups/: cópias da planilha original;relatorios/: relatórios gerenciais gerados pelo programa.
O relatório possui as abas:
- Resumo: indicadores e faturamento por mês;
- Estoque: posição atual, valor armazenado e situação de cada produto;
- Vendas Processadas: preços, custos, totais e lucro recalculados;
- Validações: erros e avisos encontrados na entrada.
Instale as dependências de desenvolvimento:
pip install -r requirements-dev.txtExecute:
pytest- Somente vendas com status
Confirmadareduzem o estoque e entram no faturamento; - Vendas
PendenteeCanceladacontinuam no relatório, mas não alteram os indicadores; - O preço usado nos cálculos é o preço de venda atual cadastrado na aba
Produtos; - Uma venda confirmada não pode ultrapassar o estoque disponível naquele momento.
- Interface gráfica com Tkinter ou CustomTkinter;
- Envio automático do relatório por e-mail;
- Importação de vendas por CSV;
- Banco de dados SQLite;
- Relatórios filtrados por período;
- Empacotamento como executável para Windows;
- Dashboard web com Streamlit.
- Python;
- Pandas;
- OpenPyXL;
- Pytest;
- Excel.