Menu ▾ ▴

Tree [b0d52d] master /
 History

HTTPS access


File Date Author Commit
 __pycache__ 4 days ago Leonardo de Araújo Lima Leonardo de Araújo Lima [5bc91c] start
 db 4 days ago Leonardo de Araújo Lima Leonardo de Araújo Lima [5bc91c] start
 ui 4 days ago Leonardo de Araújo Lima Leonardo de Araújo Lima [5bc91c] start
 LICENSE 4 days ago Leonardo de Araújo Lima Leonardo de Araújo Lima [4d150b] working
 MANIFEST 4 days ago Leonardo de Araújo Lima Leonardo de Araújo Lima [4d150b] working
 README.md 4 days ago Leonardo de Araújo Lima Leonardo de Araújo Lima [b0d52d] added readme
 database.py 4 days ago Leonardo de Araújo Lima Leonardo de Araújo Lima [5bc91c] start
 main.py 4 days ago Leonardo de Araújo Lima Leonardo de Araújo Lima [5bc91c] start
 test_db.py 4 days ago Leonardo de Araújo Lima Leonardo de Araújo Lima [5bc91c] start

Read Me

Controle de Estoque e Vendas

Aplicativo de desktop, simples e offline, para controlar o estoque e registrar as vendas de um pequeno comércio. Feito em Python, com interface em Tkinter e banco de dados SQLite local. Não precisa de internet, de servidor nem de bibliotecas externas.

Funcionalidades

Produtos

  • Cadastro, edição e exclusão de produtos (nome, código, categoria, preço de custo, preço de venda, quantidade e estoque mínimo)
  • Busca por nome ou código
  • Código único por produto

Vendas

  • Carrinho de compras: adicionar produtos, alterar quantidade e remover itens
  • Validação de estoque antes de finalizar a venda
  • Baixa automática no estoque e registro da movimentação de saída
  • Comprovante com o resumo da venda

Relatórios (todos com filtro por período; a maioria exporta para CSV)

  • Vendas por período
  • Produtos mais vendidos
  • Lucro: receita, custo, lucro e margem, com detalhamento por venda
  • Produtos com estoque baixo

Requisitos

  • Python 3 com Tkinter (desenvolvido e testado com Python 3.13 e 3.14)
  • Nenhuma dependência externa

Tkinter já vem com o Python no Windows e no macOS. No Linux, pode ser preciso instalar o pacote separadamente:

# Debian / Ubuntu
sudo apt install python3-tk

# Fedora
sudo dnf install python3-tkinter

# Arch
sudo pacman -S tk

Como executar

git clone https://git.code.sf.net/p/litle-b/code litle-b-code
cd litle-b-code
python3 main.py

Na primeira execução, o banco de dados e as tabelas são criados automaticamente em db/estoque.db.

Estrutura do projeto

litle-b-code/
├── main.py                 # Ponto de entrada: cria as tabelas e abre a janela
├── database.py             # Acesso ao SQLite: tabelas, produtos, vendas e relatórios
├── test_db.py              # Script de teste manual da camada de banco
├── db/
│   └── estoque.db          # Banco de dados SQLite (criado automaticamente)
└── ui/
    ├── janela_principal.py # Janela principal, menu lateral e tela "Sobre"
    ├── tela_produtos.py    # Cadastro e consulta de produtos
    ├── tela_vendas.py      # Registro de vendas (carrinho)
    └── tela_relatorios.py  # Relatórios e exportação CSV

Banco de dados

O SQLite armazena os dados em quatro tabelas:

Tabela Conteúdo
produtos Cadastro de produtos e quantidade atual em estoque
movimentacoes Histórico de entradas e saídas de estoque
vendas Cabeçalho das vendas (data, total, observação)
itens_venda Itens de cada venda, com preço unitário e subtotal

Para fazer backup, basta copiar o arquivo db/estoque.db.

Limitações conhecidas

  • Produtos que já aparecem em alguma venda não podem ser excluídos.
  • O lucro é calculado com o preço de custo atual do produto, não o da data da venda.
  • Valores monetários são armazenados como número de ponto flutuante.

Licença

Este programa é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU (GPL), versão 3 ou, a seu critério, qualquer versão posterior.

Este programa é distribuído sem qualquer garantia. Veja o arquivo LICENSE para o texto completo.

Autor

Seu Nome