Skip to content

Repository files navigation

Automação de Vendas e Estoque com Excel e Python

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.

Funcionalidades

  • Leitura das abas Produtos e Vendas;
  • 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.

Estrutura

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/

Requisitos

  • Python 3.10 ou superior;
  • Microsoft Excel, LibreOffice ou outro programa compatível com .xlsx para editar e visualizar as planilhas.

Instalação no Windows

python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt

Instalação no Linux

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Execução

Edite o arquivo localizado em:

dados/planilha_base_loja_tecnologia.xlsx

Depois execute:

python main.py

Para processar outra planilha com a mesma estrutura:

python main.py --arquivo caminho/para/planilha.xlsx

Para executar sem criar backup:

python main.py --sem-backup

Saída

O 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.

Testes

Instale as dependências de desenvolvimento:

pip install -r requirements-dev.txt

Execute:

pytest

Regras adotadas

  • Somente vendas com status Confirmada reduzem o estoque e entram no faturamento;
  • Vendas Pendente e Cancelada continuam 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.

Melhorias futuras

  • 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.

Tecnologias

  • Python;
  • Pandas;
  • OpenPyXL;
  • Pytest;
  • Excel.

About

Sistema de automação desenvolvido em Python para controle de vendas, estoque, despesas e relatórios financeiros utilizando planilhas Excel.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages