> ## Documentation Index
> Fetch the complete documentation index at: https://developers.pontua.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Regras de Ponto

> Configuração de regras CLT — horas extras, banco de horas, intervalo intrajornada/interjornada, adicional noturno, DSR, tolerância de marcação.

**Regras de Ponto** é a unidade de configuração que governa **como** as
batidas viram cálculo de frequência: percentual de hora extra, regras
de banco de horas, tolerância de marcação, DSR (Descanso Semanal
Remunerado), adicional noturno.

Cada colaborador é vinculado a uma Regra de Ponto. A mesma UN pode
ter múltiplas regras (ex.: regra para CLT comum, regra para vendedor
externo, regra para escala 12x36).

## Componentes regulados

<CardGroup cols={2}>
  <Card title="Horas Extras" icon="clock-rotate-left">
    Percentuais escalonados por faixa: típicamente **50% dia útil** e
    **100% domingo/feriado** (CLT Art. 67). Configuráveis por regra.
  </Card>

  <Card title="Banco de Horas" icon="vault">
    Habilita/desabilita acúmulo, tipo (Anual/Semestral/Mensal), regras
    de quitação. Quando habilitado, HE positivo vai pro banco em vez
    de pago direto.
  </Card>

  <Card title="Adicional Noturno" icon="moon">
    Período (urbano 22-5h, rural pecuária 20-4h, lavoura 21-5h), hora
    ficta de 52'30" (CLT Art. 73), coeficiente 1.142857.
  </Card>

  <Card title="Intervalo Intra/Interjornada" icon="utensils">
    Tempo mínimo de almoço (1h para jornada >6h) e descanso entre
    jornadas (11h CLT Art. 66). Violações geram ocorrências.
  </Card>

  <Card title="Tolerância" icon="ruler">
    CLT permite ±5min por marcação (Art. 58 §1º), até 10min/dia.
    Configurável: `RIGIDA`, `FLEXIVEL_INTERVALOS`, `FLEXIBILIDADE_HORARIOS`.
  </Card>

  <Card title="DSR" icon="calendar-week">
    Descanso Semanal Remunerado. Cálculo de quitação proporcional
    quando há horas extras na semana — afeta valor do DSR a pagar.
  </Card>
</CardGroup>

## Endpoints

| Método | Rota                                  | Descrição                           |
| ------ | ------------------------------------- | ----------------------------------- |
| GET    | `/regras-de-ponto`                    | Lista regras                        |
| GET    | `/regras-de-ponto/{id}`               | Detalhe                             |
| POST   | `/regras-de-ponto`                    | Cria nova regra                     |
| GET    | `/regras-de-ponto/shutdowns`          | Lista regras desligadas (auditoria) |
| GET    | `/regras-de-ponto/{id}/colaboradores` | Colaboradores vinculados            |

### Configurações específicas

| Método      | Rota                                                       | Configura                    |
| ----------- | ---------------------------------------------------------- | ---------------------------- |
| GET / PATCH | `/regras-de-ponto/{id}/configuracao/horas-extras`          | Percentuais e tetos de HE    |
| GET / PATCH | `/regras-de-ponto/{id}/configuracao/banco-horas`           | Tipo e regras de banco       |
| GET / PATCH | `/regras-de-ponto/{id}/configuracao/mista`                 | Regra mista (HE + banco)     |
| GET / PATCH | `/regras-de-ponto/{id}/configuracao/mista/horas-negativas` | Tratamento de saldo negativo |
| GET / PATCH | `/regras-de-ponto/{id}/flexibilidade-tolerancia`           | Tipo e valores de tolerância |
| GET / PATCH | `/regras-de-ponto/{id}/adicional-noturno`                  | Período e coeficiente do AN  |

Schema completo em [Referência da API](/api-reference#tag/Regras-de-ponto).

## Fluxos típicos

### Listar regra de um colaborador

```javascript theme={null}
async function regraDePontoDoColaborador(token, colaboradorId) {
  // 1. Buscar colaborador para obter regraDePontoId
  const colab = await fetch(
    `https://api.pontua.com.br/colaborador/${colaboradorId}`,
    { headers: { Authorization: `Bearer ${token}` } },
  ).then((r) => r.json())

  // 2. Buscar a regra
  return fetch(
    `https://api.pontua.com.br/regras-de-ponto/${colab.regraDePontoId}`,
    { headers: { Authorization: `Bearer ${token}` } },
  ).then((r) => r.json())
}
```

### Auditoria de configuração de HE

```javascript theme={null}
async function auditarConfigHE(token) {
  const { resultados } = await fetch(
    'https://api.pontua.com.br/regras-de-ponto?limite=100',
    { headers: { Authorization: `Bearer ${token}` } },
  ).then((r) => r.json())

  for (const regra of resultados) {
    const config = await fetch(
      `https://api.pontua.com.br/regras-de-ponto/${regra.id}/configuracao/horas-extras`,
      { headers: { Authorization: `Bearer ${token}` } },
    ).then((r) => r.json())

    console.log(`Regra "${regra.nome}":`, config)
  }
}
```

## Gotchas conhecidos

<Warning title="Mudar regra impacta cálculos PRESENTE em diante, não retroativo">
  Alterar configuração de horas extras de uma regra ativa muda o cálculo
  de frequências do dia em diante. Frequências passadas mantêm a regra
  vigente naquela data. Para mudança retroativa, use mecanismo de
  Turno Exceção ou abertura de fechamento.
</Warning>

<Warning title="Adicional noturno tem regra setorial">
  Período legal varia por setor:

  * **Urbano** (CLT Art. 73): 22h-5h
  * **Lavoura** (Lei 5.889/73): 21h-5h
  * **Pecuária** (Lei 5.889/73): 20h-4h

  Configurar errado dá multa fiscal. Verifique CNAE da UN antes de
  setar.
</Warning>

<Warning title="Tolerância FLEXIBILIDADE_HORARIOS é mais permissiva">
  * `RIGIDA`: zero tolerância (ineficiente, pouco usada)
  * `FLEXIVEL_INTERVALOS`: tolerância nos intervalos (almoço pode
    estender ±X min)
  * `FLEXIBILIDADE_HORARIOS`: tolerância em entrada/saída total

  A escolha errada pode gerar HE não devida ou desconto indevido.
  Geralmente alinhada com acordo coletivo do sindicato.
</Warning>

<Warning title="Regras conflitantes entre UN matriz e filial">
  Em multi-filial (Holding com várias UNs), cada UN pode ter regras
  diferentes. Sincronizar dados entre filiais sem normalizar a
  configuração de regra causa inconsistência fiscal.
</Warning>

## Veja também

* [Frequência](/referencia/frequencia) — onde a regra é aplicada
* [Banco de Horas](/referencia/banco-horas) — recebe HE quando a regra direciona
* [Turnos e Calendário](/referencia/turnos-e-calendario) — turno + regra definem jornada esperada
* [Relatórios — Horas Extras Analítico](/referencia/relatorios) — auditoria fina do cálculo
