Sobre este projeto
it-programming / web-development
Aberto
Um cliente com três CNPJs, cada um com sua própria conta no Bling, necessita de um conector personalizado para gerenciar o estoque compartilhado e as dívidas entre as empresas. Atualmente, o estoque físico é unificado em um galpão, mas o Bling não oferece controle de propriedade da mercadoria, resultando em saldos incorretos entre as entidades.
O objetivo é desenvolver um sistema que leia notas e pedidos de cada conta Bling, controle a propriedade do estoque, calcule os valores devidos entre as empresas e gere um consolidado mensal automático.
Regras de Negócio Definidas:
- O custo médio será calculado por empresa proprietária e por produto.
- A dívida entre empresas será calculada como: quantidade vendida × custo médio da empresa proprietária × 1,02.
- Os SKUs são padronizados nas três contas Bling, com o estoque sendo controlado no nível do produto filho.
- As vendas, incluindo as realizadas via Mercado Livre, são emitidas diretamente pelo Bling.
- O sistema informará apenas os valores de acerto; a conciliação financeira será feita externamente.
- Um consolidado mensal será gerado automaticamente no primeiro dia de cada mês, referente ao mês anterior completo.
Entregas Esperadas:
- Conexão OAuth 2.0 com as três contas Bling, utilizando a API v3. O código do callback já está disponível.
- Funcionalidade de leitura e sincronização periódica de produtos, depósitos, NF-e de entrada e saída, e pedidos.
- Implementação da lógica de razão de propriedade, cálculo de custo médio e cálculo de dívida, com testes automatizados para garantir a precisão.
- Relatório de conciliação física, comparando o saldo lógico do sistema com o estoque registrado no Bling, e identificação de divergências.
- Geração automática de um consolidado mensal em formato Excel e PDF, com envio por e-mail.
- Hospedagem da solução em serviço próprio do desenvolvedor.
- Documentação completa em português e treinamento de 2 horas para a equipe do cliente.
Fora do Escopo:
- Consultoria tributária.
- Emissão de notas fiscais.
- Processamento de pagamentos.
Requisitos Técnicos:
- Linguagem de programação: Python 3.10 ou superior.
- Framework web: Flask.
- Biblioteca para requisições HTTP: requests.
- Banco de dados: SQLite (com opção para PostgreSQL).
- Armazenamento de tokens criptografados.
- Controle de versão de código: Git.
Critérios de Aceite:
- O sistema deve operar por 7 dias consecutivos sem a necessidade de intervenção manual para sincronização.
- Um mês completo de dados reais deve ser conferido manualmente e apresentar diferença zero ou justificativa clara para qualquer divergência.
- O consolidado mensal deve ser gerado automaticamente no primeiro dia do mês, conforme especificado.
Confidencialidade:
As credenciais de acesso serão fornecidas por um canal seguro após a contratação. Sigilo e conformidade com a LGPD são mandatórios para este projeto.
Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Bug ou alteração pequena
Prazo de Entrega: Não estabelecido
Habilidades necessárias