VelloPonto

Vellow Sistemas

A marcação de ponto
não se corrige. Se acrescenta.

Registro por rosto e GPS, com comprovante na hora. O que entra no banco não sai: não há alteração nem exclusão, nem para o administrador. Um ajuste aprovado cria um registro novo, e o errado continua no espelho — riscado, com o motivo e o nome de quem decidiu.

REP-P Portaria 671/2021: comprovante por marcação, NSR sem buraco e AFD
cada regra que protege prova existe duas vezes: no sistema e no banco
292 verificações automáticas passando a cada mudança

Três coisas que um sistema de ponto não pode errar

O registro é append-only, no banco

Não existe rota, botão ou comando SQL que altere uma batida. O banco recusa UPDATE e DELETE em marcacoes — inclusive para o dono do banco.

Um sistema que permite "corrigir a batida" — mesmo com log, mesmo só para o RH — devolve ao empregador exatamente o poder que a Portaria 671 quis tirar dele.

Cada batida assina a anterior

O número sequencial de registro não tem buraco, e o hash de cada linha carrega o da anterior. Mexer numa linha antiga invalida todas as seguintes — e a conferência roda em SQL, sem passar pelo sistema.

É a diferença entre "confie em nós" e "confira você mesmo". Um perito com acesso ao banco chega ao mesmo resultado que a nossa tela.

Fora do padrão entra ANOTADO, não recusado

GPS ruim, rosto que não confere, aparelho novo: a batida é aceita com a marca e vai para o gestor decidir. A empresa pode inverter isso — e a escolha fica registrada.

Quem foi recusado trabalhou assim mesmo, e ficou sem registro do dia. Registro faltando é pior para o trabalhador do que registro com observação.

A batida, do rosto ao comprovante

Uma tela, um botão grande, e nada que dependa de a pessoa entender o sistema. É a única tela usada com pressa, em pé, com fila atrás.

  1. Identifica. No aplicativo e no navegador, a pessoa já está autenticada; no quiosque da portaria, é o rosto que diz quem é — e um rosto parecido com dois cadastros não é aceito como identificação.
  2. Confere o rosto. Comparação contra o template cadastrado, mais prova de vida. Abaixo do limiar da empresa, a batida entra marcada.
  3. Confere o lugar. Cerca por raio ou por polígono. A margem de erro do GPS conta a favor de quem bate: 30 m fora com ±50 m de precisão é dentro — e a distância bruta fica gravada para o gestor decidir com o número na frente.
  4. Grava com assinatura. Número sequencial e hash encadeado, atribuídos pelo banco. A aplicação não escolhe o hash: manda o que quiser e o banco sobrescreve.
  5. Devolve o comprovante. Código curto de oito caracteres, sem 0/O e sem 1/I/L — ele é ditado por telefone quando alguém contesta.

Offline

A hora que o aparelho declarou e a hora em que o servidor recebeu são campos separados. Colapsá-los apagaria a diferença entre "bateu às 8h e sincronizou às 11h" e "bateu às 11h" — que é exatamente o que se quer saber. E o sistema nunca reescreve a hora informada pelo aparelho: mentir sobre ela é justamente o que se está tentando detectar.

O que o sistema faz

01

Empresa, filiais e escalas

Multi-CNPJ, com fuso por filial. Escala semanal e escala cíclica — é assim que 12x36 se escreve, com ciclo e âncora, porque plantão não cabe em dia da semana. A tela soma o previsto do ciclo para você conferir contra a carga contratual.

02

Colaboradores e biometria

Nome social na tela e no comprovante; nome civil no arquivo fiscal, porque a lei pede esse. O consentimento facial é gravado por extenso junto do template — e revogar apaga o vetor, com a linha permanecendo como prova de que o consentimento foi respeitado.

03

Cercas virtuais

Raio para a loja e a obra; polígono para o galpão comprido e o pátio em L. Cercas próprias para quem trabalha em campo. Precisão máxima por cerca — leitura pior que isso não é aceita como prova de local.

04

Espelho de ponto

O mês inteiro, dia a dia, incluindo os dias sem batida — um espelho que só lista o que foi batido esconde a falta. Tolerância do art. 58 §1º com a Súmula 366, intervalo do art. 71, interjornada do art. 66 e adicional noturno com hora reduzida.

05

Aprovação e ajuste

O gestor aprova os dias da equipe dele — e vê o dia inteiro ao lado do pedido, para a decisão não virar carimbo. O ajuste passa por gestor e RH quando a empresa exige, e só a aprovação final cria batida.

06

Férias pela CLT

Período aquisitivo, faltas reduzindo o direito em degraus (art. 130), fracionamento (art. 134 §1º), a proibição de começar às vésperas do descanso (§3º), aviso de 30 dias (art. 135), dobra (art. 137) e abono de até 1/3 (art. 143). As regras que impedem recusam; as que custam dinheiro alertam.

07

Banco de horas

Saldo é o somatório dos lançamentos — nunca um campo que alguém edita. Lançamento não se altera nem se apaga: estorna-se com sinal contrário. E o sistema avisa o que vai caducar pelo prazo do acordo.

08

Benefícios

Catálogo com valor e coparticipação, adesão por pessoa, e pedidos de inclusão, alteração e cancelamento decididos pelo RH. Módulo opcional: só aparece se a empresa ligar e houver benefício cadastrado.

09

Fechamento

Fechar a competência faz o banco recusar marcação nova naquele mês. Reabrir é do administrador, sempre com motivo — e o motivo fica na trilha.

10

AFD, AEJ e folha

Arquivo por empregador, com NSR em ordem. Resumo da folha com extras, atrasos, faltas, adicional noturno e saldo, e o espelho em CSV no formato que o contador lê — 7h30, não 7,5.

11

API e webhooks

Chaves com escopo, criadas uma vez e guardadas só como hash. Eventos de ponto, ajuste aprovado, férias e fechamento enfileirados para a folha e o ERP.

12

Trilha

Quem registrou, quem aprovou, quem reabriu o mês e quem revogou uma biometria. A tabela recusa alteração e exclusão no banco — e o próprio colaborador abre o histórico dele.

Por que isso vale como prova

Número sequencial sem buraco

O NSR é atribuído pelo banco, dentro da transação, com a última linha travada. Não é a aplicação que escolhe: é a primeira coisa que um auditor confere, e um sistema em que o próprio código decide o número é um sistema em que o número não prova nada.

Cadeia encadeada

hash = sha256(nsr | pessoa | instante | tipo | origem | hash anterior), calculado por uma função do próprio banco. Alterar uma linha antiga quebra todas as seguintes, e a função de conferência devolve exatamente onde.

Competência fechada é fechada

Depois do fechamento, o gatilho do banco recusa qualquer marcação naquele mês — inclusive lançamento do RH. É o que faz o espelho entregue ao contador continuar batendo com o banco no dia seguinte.

A decisão fica junto do efeito

Aprovar um ajuste cria marcação, muda o status e grava quem aprovou na mesma transação. Se o registro de quem aprovou falhasse, sobraria no ponto de alguém uma batida que ninguém pediu — e a cadeia não detectaria isso: ela prova que a linha não mudou depois, não que ela deveria existir.

A apuração, escrita para ser conferida

O motor de jornada é uma peça isolada, sem banco e sem servidor, com 51 casos de teste escritos em português — cada um citando a regra. Alguém do RH consegue abrir o arquivo e conferir se o sistema entendeu a lei.

Art. 58 §1º + Súmula 366

Cinco minutos por marcação, dez no dia. Excedido o limite, conta a totalidade do tempo — quem chega seis minutos atrasado deve seis, não um. É o detalhe que quase todo sistema implementa ao contrário.

Art. 71 — intervalo

O intervalo é o buraco entre os pares batidos, não o que a escala prometeu. Jornada acima de seis horas com intervalo menor que o previsto é apontada, porque o período suprimido é devido — e some do relatório se ninguém apontar.

Art. 73 — noturno

22h às 5h, com hora de 52 minutos e 30 segundos. Sete horas de relógio viram oito horas noturnas, e o turno que atravessa a meia-noite fecha num dia só.

O par é feito por posição

A primeira batida abre, a segunda fecha. Quem apertou "saída" ao chegar tem o dia apurado certo, e o tipo errado vira uma observação — não um dia perdido.

O motor nunca inventa uma batida

Entrou e não saiu? O dia fica sem jornada apurada, com a marca. Completar com o horário previsto seria o sistema assinando, no lugar da pessoa, que ela saiu na hora.

Fuso por filial

Uma rede com loja em São Paulo e loja em Manaus apura dias diferentes. Um fuso único do servidor faz o espelho da segunda mostrar a saída das 21h30 no dia seguinte — o mês inteiro, para todo mundo dela.

Quem vê o quê

Colaborador

Bate o próprio ponto, vê o próprio espelho e pede ajuste, férias e benefício. E mais nada: espelho de ponto alheio diz a que horas a pessoa chega, quando falta e quando está de atestado. É rotina de vida, não dado corporativo.

Gestor

A equipe dele, resolvida pela hierarquia real — e não a filial inteira. Aprova jornada, ajuste e férias de quem reporta a ele. Não lança ponto por ninguém: aprova o pedido que a pessoa fez, e não fabrica o registro por ela.

RH / DP

A empresa inteira: espelho, decisão, fechamento e exportação. Lança ponto por terceiro quando o relógio quebra — e a linha nasce com o nome dele, visível no espelho.

Administrador

Filiais, escalas, cercas, usuários e parâmetros. É o único que reabre uma competência fechada, sempre com motivo. Quem apura não mexe na régua com que apura.

As doze regras duras

Montadas de uma fonte só, em site/js/site.js, para não divergirem do sistema na primeira mudança. Uma promessa de trava que o código não cumpre é pior do que não prometer nada.

    O que já existe e o que não existe ainda

    A lista do que não tem é tão importante quanto a do que tem. Descobrir na hora errada é o que estraga uma implantação.

    Fase 1 — no ar

    • Empresa, filiais multi-CNPJ com fuso próprio, cargos e escalas
    • Colaboradores, hierarquia, biometria com consentimento e aparelhos
    • Cercas por raio e por polígono
    • Registro de ponto por rosto e GPS, com comprovante
    • Marcação append-only, NSR sequencial e cadeia de hash
    • Espelho de ponto, aprovação de jornada e fechamento
    • Ajuste de ponto com aprovação em duas etapas
    • Férias com as regras da CLT e banco de horas
    • Benefícios (módulo opcional)
    • AFD, AEJ, resumo da folha e espelho em CSV
    • Chaves de API com escopo e fila de webhooks
    • Trilha de auditoria imutável

    Fase 2

    • Provedor de reconhecimento facial. O sistema compara, isola por empresa, guarda o consentimento e apaga na revogação — a extração do vetor a partir do rosto é do provedor, e a escolha dele é decisão do cliente.
    • Aplicativo nativo com fila offline robusta
    • Disparo dos webhooks com retentativa e sandbox
    • Detecção avançada de GPS simulado
    • Integração com eSocial

    Fase 3

    • Relógio físico (REP-C) e catraca
    • Pagamento direto a operadoras de benefício
    • Marca branca

    Sobre o AFD

    O arquivo é gerado por empregador, com NSR em ordem e a assinatura de cada marcação. O leiaute posicional foi implementado a partir da descrição pública do Anexo I da Portaria 671/2021 e precisa ser conferido campo a campo contra o texto oficial antes do primeiro uso fiscal de um cliente. Está dito assim no código, na tela de relatórios e aqui — porque um arquivo que se apresenta como fiscal sem ter sido validado seria usado como se estivesse certo.

    Quer ver funcionando?

    O sistema sobe com uma empresa de demonstração: duas filiais em fusos diferentes, catorze pessoas, escala comercial, plantão 12x36 e turno noturno, seis semanas de marcações — com irregularidades de verdade, um dia sem saída, férias em curso e um ajuste já aprovado com a batida que ele gerou.