Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
Orçamentos, WhatsApp, financeiro e gestão do resultado da oficina em um só lugar.
Translation pending
BusinessGitHub @ryanhenriqueac-cellOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Sistema de gestão para oficinas, feito com HTML, CSS e JavaScript e sincronizado com Firebase.
| Recurso | Essencial | Pro |
|---|---|---|
| Clientes, veículos, orçamentos e inspeções | Sim | Sim |
| Seleção padronizada de marca, modelo, motor e ano | Sim | Sim |
| Peças, mão de obra, terceirizados e cortesias | Sim | Sim |
| PDFs, WhatsApp, aprovação e financeiro básico | Sim | Sim |
| Operação e ordens de serviço da equipe | Não | Sim |
| Catálogo técnico de mão de obra por veículo | Não | Sim |
| DRE gerencial, metas, rankings e comparações | Não | Sim |
| Lançamentos financeiros recorrentes | Não | Sim |
| Até quatro colaboradores com permissões | Não | Sim |
Na condição de lançamento, o Essencial custa R$ 59,90 por mês durante 12 meses ou R$ 599 no primeiro período anual; depois, R$ 79,90 por mês ou R$ 799 por ano. O Pro custa R$ 99,90 por mês durante 12 meses ou R$ 999 no primeiro período anual; depois, R$ 119,90 por mês ou R$ 1.199 por ano. O painel administrativo sugere esses valores ao trocar plano ou ciclo, mas permite registrar uma condição comercial específica sem sobrescrever automaticamente contratos existentes.
Na tela Orçamentos, a lista de inspeção é opcional. O botão Salvar inspeção grava o checklist no Firestore, vinculado ao cliente, veículo e orçamento, mesmo que o orçamento ainda esteja em elaboração. Voltar salva as alterações pendentes antes de retornar; imprimir também confirma o salvamento antes de gerar o documento. Uma falha de conexão mantém o rascunho nesta aba e informa que a gravação não foi confirmada.
O formulário de orçamento mantém cliente, veículo, quilometragem, itens, custos, cortesias, responsável e valor final ao navegar para a inspeção e voltar. Esse rascunho é local à aba e separado por usuário e workspace; salvar ou limpar o orçamento encerra o rascunho. No cadastro de Clientes, Ver histórico reúne orçamentos e inspeções, com filtros por veículo e situação. Inspeções antigas salvas nas ordens de serviço continuam acessíveis por esse histórico.
Para publicar esta atualização, publique primeiro as novas regras de firestore.rules e depois os arquivos do site. As inspeções ficam em workspaces/{workspaceId}/inspecoes. O acesso de equipe exige as permissões de inspeção, clientes e orçamentos; mecânicos continuam acessando somente a inspeção da ordem atribuída. Não é necessário migrar orçamentos antigos ou anexar uma inspeção a todos eles. PDFs antigos que existam somente no computador não são importados automaticamente.
Validação: scripts/test-permissions.ps1 e scripts/test-inspections.cjs (este último usa jsdom@22, instalado fora do projeto; informe o caminho por RR_JSDOM_PATH se não estiver no caminho padrão de módulos).
Cada empresa possui um workspace próprio no Firestore. A partir da versão 3, clientes, veículos, serviços, orçamentos, ordens de serviço e lançamentos financeiros são armazenados em documentos separados dentro de subcoleções. Isso evita o limite de 1 MiB do documento antigo, reduz conflitos entre computador e celular e permite aplicar acesso granular no servidor.
No Plano Pro, o responsável pode vincular até quatro contas de colaboradores. Cada pessoa entra com o próprio e-mail, compartilha o workspace da oficina e recebe apenas as coleções e ações autorizadas. Os vínculos ficam em team_access e as regras do Firestore validam plano, status e permissão em cada operação.
Os perfis sugeridos aplicam o princípio do menor privilégio e podem ser personalizados:
| Perfil | Acesso padrão |
|---|---|
| Atendente | Clientes, veículos, orçamentos e inspeções; sem custos, aprovação ou financeiro |
| Mecânico | Somente ordens atribuídas e inspeções técnicas; sem dados pessoais, preços, custos ou faturamento |
| Financeiro | Caixa, custos, DRE e exportações; sem cadastros pessoais dos clientes |
| Gerente | Operação, clientes, orçamentos, aprovações e análises; sem alterar o caixa, metas do DRE, equipe ou cadastro da oficina |
As permissões são separadas entre visualizar, gerenciar, excluir, aprovar, distribuir e exportar. A interface apenas oculta o que não deve aparecer; a proteção real também é repetida nas regras do Firestore. Dados pessoais usam clientes, a consulta básica usa clientes_resumo, custos internos usam orcamento_custos e a oficina executa serviços pela coleção sanitizada ordens_servico.
O proprietário continua sendo o único responsável por convites, bloqueios e alterações da equipe. Contas de colaboradores exigem e-mail verificado. Remoção do vínculo, bloqueio da oficina ou saída do Plano Pro encerra a sessão e limpa o cache operacional do navegador.
Na migração de segurança, links públicos antigos com identificadores curtos são invalidados. O próximo envio do orçamento cria automaticamente um link novo com identificador criptograficamente aleatório.
No primeiro acesso do proprietário após a atualização, o sistema:
Na conversão, perfis antigos padronizados recebem os novos conjuntos conservadores. Isso evita manter liberações amplas que tinham outro significado na versão anterior. O proprietário pode revisar e personalizar cada colaborador na página Equipe após a migração.
Se as novas regras ainda não estiverem publicadas, o sistema mantém temporariamente o formato anterior, sem apagar os dados.
firebase-config.js.firestore.rules, cole no editor e clique em Publicar.As regras garantem que cada usuário acesse apenas o workspace da própria empresa e, no caso dos colaboradores do Plano Pro, somente os módulos liberados. O administrador definido nas regras pode consultar e gerenciar todos os workspaces.
A seleção normalizada com 999 configurações de veículos está disponível nos planos Essencial e Pro. O Plano Pro acrescenta a lista com 664 operações de oficina e os tempos publicados por veículo. A base de referência não atribui tempos automaticamente: cada combinação veículo, intervalo de anos e operação precisa ser revisada no painel administrativo e publicada individualmente. Rascunhos e itens desativados nunca aparecem para as oficinas.
Na tela Clientes, qualquer plano pode selecionar ou vincular o veículo à configuração exata, mantendo a alternativa de digitação manual. No orçamento Pro, o botão da lista pronta exibe somente tempos publicados e compatíveis com o veículo e o ano selecionados. Ao adicionar uma sugestão, descrição, horas e valor/hora continuam editáveis; o orçamento registra quando o tempo sugerido foi modificado.
O arquivo data/vehicle-configs.json é carregado ao preparar a seleção de veículos. O arquivo data/labor-operations.json é carregado separadamente somente para os fluxos de mão de obra autorizados e para o painel administrativo. Os tempos aprovados ficam na coleção global labor_time_catalog, protegida pelas regras do Firestore.
No painel administrativo, os tempos cadastrados são exibidos em páginas de cinco registros, com opções de dez ou vinte. A busca e o filtro de situação abrangem todo o catálogo. Fontes e condições ficam em um bloco expansível por registro; o formulário de cadastro começa recolhido e abre ao editar. Isso mantém o painel compacto conforme o catálogo cresce. A prévia local node scripts/preview-admin-catalog.cjs usa os mesmos handlers com dados locais e banco em memória, sem conexão com Firebase.
Nesta atualização, publique firestore.rules antes de liberar os novos arquivos do site. Depois, entre uma vez com a conta proprietária de cada oficina para concluir automaticamente a migração. Se o site for atualizado primeiro, o proprietário continua salvando no esquema 2 de forma compatível, mas os colaboradores permanecem bloqueados até que as regras sejam publicadas e a migração seja concluída.
O painel administrativo mantém, em cada oficina, o início da assinatura, o último pagamento, o próximo vencimento, o valor esperado, a forma de pagamento, observações e o histórico de recebimentos. A situação é calculada pelas datas (teste grátis, em dia, próximo do vencimento, vence hoje ou em atraso), com opções manuais para teste grátis por 30 dias, cortesia e cancelamento. Testes, cortesias e cancelamentos possuem contadores e filtros próprios e não compõem o valor pendente enquanto não estiverem vencidos.
Ao registrar um recebimento, o vencimento pode avançar automaticamente em um mês ou um ano conforme o ciclo contratado. O painel também oferece resumo, filtros e uma mensagem de cobrança pronta para revisão no WhatsApp. A situação financeira não bloqueia a conta automaticamente: o estado da cobrança e a liberação de acesso são controles independentes. Os campos billing e billingUpdatedAt são reservados ao administrador pelas regras do Firestore.
Os recebimentos podem ser corrigidos ou excluídos pelo histórico. O painel soma esses registros no total recebido geral e no total da assinatura de cada oficina, sem misturá-los ao Financeiro ou ao DRE operacional da oficina cliente.
O administrador é direcionado para admin.html, uma central dedicada com indicadores de oficinas, planos, colaboradores, clientes gerenciados e orçamentos. A visão financeira combina os pagamentos de assinatura registrados com os gastos administrativos salvos em admin_platform/finance, apresentando resultado mensal, receita mensal estimada, projeção anual, recebimentos previstos para 30 dias e evolução dos últimos seis meses. Esses dados administrativos só podem ser lidos e alterados pelo e-mail administrador definido nas regras.
Cada oficina é apresentada na ordem Acesso, Assinatura, Cobrança e Equipe. Testes encerrados ficam em uma fila de decisão e não são tratados como dívida. A receita recorrente estimada inclui somente assinaturas pagantes com situação em dia, próxima do vencimento, vencendo hoje ou atrasada. O painel também calcula ticket mensal médio, conversão de testes com histórico conhecido, recebimentos por plano, permite filtrar o financeiro por mês e exportar recebimentos, gastos e resumo em Excel.
As versões vigentes ficam em LEGAL_TERMS_VERSION, LEGAL_PRIVACY_VERSION e CONTRACT_VERSION, dentro de firebase-sync.js. Quando os textos forem alterados de forma relevante, aumente a versão correspondente para solicitar um novo aceite autenticado ao proprietário. A documentação interna de conformidade fica em docs/compliance.