rhfolha-de-pagamentocarnavallegislacao

Por que o Carnaval é um pesadelo para o seu software de RH

João Bini
5 min de leitura

Se você já precisou programar a lógica de folha de pagamento ou agendamento de uma empresa com atuação nacional, provavelmente já perdeu o sono com o Carnaval.

A grande mentira que muitos sistemas assumem é simples: "O Carnaval é feriado nacional". Do ponto de vista da engenharia de software e da lei trabalhista brasileira, assumir isso é um erro que pode custar muito caro em passivos trabalhistas.

Neste artigo, vamos mergulhar na complexidade legislativa do Carnaval, explicar por que sua tabela estática no banco de dados não vai funcionar, e como resolver esse desafio via API.

A Realidade Jurídica do Carnaval

Apesar de ser a festa mais famosa do país, a legislação federal não inclui o Carnaval na lista de feriados obrigatórios.

O Governo Federal trata a segunda, a terça e a manhã de quarta-feira de cinzas como Ponto Facultativo. Isso significa que a decisão de trabalhar ou não cabe a cada empresa (no setor privado). Se a empresa decidir abrir, é um dia normal de trabalho. Não há pagamento de hora extra (100%).

A principal dor do RH: Ponto facultativo não gera hora extra. Feriado estadual/municipal, sim. Se o seu sistema calcular errado, o trabalhador pode depois na justiça reclamar que trabalhou num feriado local sem receber o acréscimo legal.

A Exceção (Estados e Municípios)

A Lei Federal nº 662/49 concede autonomia para que estados e municípios criem os seus próprios feriados. E é aqui que a vida do programador vira um pesadelo:

  • 🏛️Nível Estadual: Apenas o Estado do Rio de Janeiro considera a Terça-feira de Carnaval como Feriado Estadual Oficial (Lei nº 5.243/2008).
  • 🏙️Nível Municipal: Centenas de cidades brasileiras (como Araxá-MG, Balneário Camboriú-SC, Lins-SP) decretaram suas próprias leis tornando o dia um Feriado Municipal. Em cidades como Belo Horizonte-MG, é feriado especificamente para os trabalhadores do comércio.

Por que você não deve "Hardcodar" isso?

Imagine a complexidade da query SQL que o seu sistema precisaria fazer para calcular se um motorista prestando serviço está ou não trabalhando em um feriado na Terça de Carnaval:

nao_faca_isso.sql
sql
-- Imagine tentar manter essa query atualizada manualmente
SELECT
f.data,
f.nome,
f.tipo
FROM
feriados f
WHERE
f.data = '2025-03-04' -- Terça de Carnaval 2025
AND (
f.tipo = 'NACIONAL' -- O que sabemos que não é
OR (f.tipo = 'ESTADUAL' AND f.uf = 'RJ') -- Apenas o RJ é feriado estadual
OR (f.tipo = 'MUNICIPAL' AND f.cidade_id IN (
-- Uma lista impossível de manter de cidades que decretaram feriado
SELECT id FROM cidades WHERE decreto_carnaval = TRUE
))
);

Manter essa tabela cidades atualizada para os 5.570 municípios do Brasil exige ler o Diário Oficial de milhares de prefeituras manualmente todos os anos.

A Solução Elegante via API

A forma técnica correta de resolver isso no seu software (seja ERP, folha de pagamento ou app de agendamento) é terceirizar essa complexidade.

Na Feriados API, nós curamos os feriados e pontos facultativos em nível federal, estadual e dos 5.570 municípios diariamente. Em um único request usando o código do IBGE da cidade do seu usuário, a API retorna perfeitamente classificado se naquele local há feriado municipal, se é o decreto estadual do RJ ou se é um mero facultativo federal.

validacao_inteligente.js
javascript
// A forma correta e automatizada usando a Feriados API
async function checarExpedienteCarnaval(data, ibge_cidade) {
// Chamada única e unificada para descobrir o status na cidade do funcionário
const url = `https://feriadosapi.com/api/v1/feriados/cidade/${ibge_cidade}?ano=2025&facultativos=true`;
const response = await fetch(url);
const data_api = await response.json();
const feriadoHoje = data_api.feriados.find(f => f.data === data);
if (!feriadoHoje) {
return { trabalha: true, extra: false, motivo: "Dia Útil Normal" };
}
if (feriadoHoje.tipo === 'FACULTATIVO') {
// Política da empresa define
return { trabalha: false, extra: false, motivo: "Ponto Facultativo" };
}
// Se chegou aqui, é feriado Estadual (RJ) ou Municipal
return { trabalha: false, extra: true, motivo: `Feriado ${feriadoHoje.tipo}: ${feriadoHoje.nome}` };
}

Conclusão

Regras de negócios envolvendo datas comemorativas brasileiras são cruéis com a arquitetura de banco de dados e dão prejuízo financeiro para seus clientes do setor de RH.

Poupe horas de desenvolvimento, esqueça tabelas estáticas de feriados e automatize sua aplicação. Para começar gratuitamente agora, visite a documentação oficial da plataforma.

👉 Descubra se amanhã é feriado no município do seu cliente: Consulte o nosso Calendário Interativo Online

Cansado de lidar com isso manualmente?

Obtenha sua chave da Feriados API e integre feriados nacionais, estaduais e municipais em minutos. Plano gratuito disponível.

Criar conta grátis