PropagaBI
Plataforma de BI desktop para transporte e logística — DRE, regime de caixa e importação 100% automática, com IA integrada para consultas em linguagem natural.

// visão geral
O PropagaBI nasceu de um problema concreto: empresas de transporte e logística com múltiplas filiais não conseguem enxergar sua saúde financeira sem cruzar manualmente ERP, planilhas de contas a pagar/receber e controle de custo por veículo. Construí a plataforma como aplicativo desktop nativo, em Python e Flet, para concentrar num único painel os indicadores que normalmente exigem esse trabalho manual — e, mais importante, para que o dado chegasse lá sozinho. É um sistema multiempresa de verdade: cada Licenciada opera isolada, com suas próprias empresas, filiais e usuários, dados sem qualquer vazamento entre clientes.
// arquitetura e fluxo
ERP/SaaS do cliente → Dropbox API / pasta local → Importação e vínculo automático → MySQL (dados agregados) → Dashboard (DRE + Regime de Caixa) → Chat com IAAo logar, o sistema resolve sozinho a origem dos dados por usuário — e, na ausência, pela Licenciada — seguindo prioridade fixa: primeiro busca arquivos na API do Dropbox, depois cai para a pasta local sincronizada como fallback. Empresa nova é criada automaticamente a partir do CNPJ e do campo 'lic' do próprio arquivo importado, e o arquivo consumido é removido da origem depois de processado — sem lixo acumulado, sem duplicidade. Toda a análise financeira roda sobre três dimensões que já vêm nesses arquivos: Centro de Custo (normalmente a placa do veículo), Conta de Projeto e Conta Financeira — um plano de contas hierárquico que estrutura a DRE em árvore.
// decisões técnicas
A decisão mais estrutural foi alimentar dois regimes contábeis diferentes — competência (DRE) e caixa — a partir da mesma tabela de títulos, em vez de manter duas fontes de dado separadas. A DRE soma pelo valor total do título na data de vencimento/emissão, comparando previsto x realizado; o Regime de Caixa soma só o que foi efetivamente pago ou recebido, na data real. Uma única fonte, duas regras de agregação — isso evita a divergência clássica entre 'o que devia entrar' e 'o que realmente entrou' que cada área da empresa calcula do seu jeito. Optei por Flet em vez de um frontend web separado pelo mesmo motivo do projeto de BI anterior: aplicativo desktop nativo, sem depender de navegador nem de conexão constante com servidor web, rodando com Python do início ao fim. No banco, usei índices compostos e uma tabela agregada mensal — calculada no momento da importação, não no clique do usuário — para manter o dashboard rápido mesmo com grande volume histórico.
// desafios e soluções
Multi-tenant de verdade traz um risco que não pode falhar: vazamento de dado entre Licenciadas. Resolvi com isolamento de dados desde o modelo — toda consulta carrega o contexto da Licenciada, e o controle de licenciamento funciona por token com hash SHA-256, nunca armazenado em texto puro, com status (ativo/trial/suspenso) e bloqueio automático em caso de vencimento. Outro desafio foi a hierarquia de chave de IA: a integração com Claude para o chat precisava respeitar qual usuário, qual Licenciada e qual módulo contratado tinha direito a perguntar o quê — resolvido com uma chave de IA hierárquica (usuário → licenciada → global) e liberação por nível de usuário. E na importação automática, tratar hash de senha legado migrando sozinho para bcrypt, sem obrigar reset de senha em massa, foi outro ponto de cuidado silencioso mas importante para não quebrar a experiência de quem já usava o sistema.
// impacto gerado
O cliente deixou de digitar qualquer dado — a importação é 100% automática, o usuário só precisa logar. O resultado passou a ser segmentado por ativo operacional (placa do veículo), não só por empresa, o que muda a granularidade da decisão: dá para saber se um veículo específico está dando prejuízo, não só a empresa como um todo. E o chat com IA tirou da mão do gestor a necessidade de saber SQL ou de pedir relatório para alguém de TI — ele pergunta em português sobre os próprios números e recebe resposta contextualizada na hora.
// diferenciais técnicos
- Zero digitação manual — importação 100% automática via Dropbox API e pasta local, o usuário só loga
- Visão por ativo operacional (placa/veículo), não só por empresa
- Dois regimes contábeis lado a lado — competência (DRE) e caixa — sobre a mesma base de dados
- Multiempresa nativo, com isolamento real de dados entre Licenciadas e licenciamento por token
- IA contextual (Claude) para perguntas em linguagem natural sobre os dados do próprio dashboard
- Aplicativo desktop nativo, sem dependência de navegador