TL;DR — Resumo Rápido
Erro ao calcular horas extras no Aspel NOI: taxas dupla e tripla incorretas, códigos CFDI P019/P020 errados e retenção ISR incorreta. Solução completa.
O Aspel NOI exibe a mensagem “Error al calcular percepciones” ao tentar registrar tempo extraordinário, ou o recibo de folha CFDI é carimbado com os códigos P019 e P020 zerados ou com valores incorretos. O cálculo de horas extras no México tem regras específicas que o sistema deve respeitar para cumprir a Ley Federal del Trabajo (LFT) e os requisitos do SAT para o CFDI de folha versão 1.2. Este artigo explica por que o cálculo de horas extras falha no NOI e como corrigi-lo antes que afete seu processo de carimbo.
As horas extras no México são reguladas pelos Artigos 67 e 68 da LFT: as primeiras 9 horas semanais de tempo extraordinário são pagas em dobro, e as que excedem esse limite são pagas em triplo. Além disso, para fins de ISR, existe uma isenção parcial definida na LISR. Quando o NOI não está corretamente configurado para aplicar essas regras, o resultado é um cálculo incorreto que pode gerar um CFDI inválido ou uma retenção de imposto incorreta.
O Erro
Ao tentar calcular ou carimbar a folha com horas extras, o Aspel NOI pode mostrar as seguintes mensagens:
- “Error al calcular percepciones” — aparece ao calcular a folha quando a fórmula de horas extras está mal configurada
- “Código de percepción no válido para CFDI de nómina” — o código SAT atribuído à percepção não corresponde aos catálogos vigentes do SAT
- “El importe exento supera el límite permitido” — a isenção de ISR está calculada incorretamente, superando o teto de 5 UMA semanal
- “Error de validación: la clave de percepción 019 no puede tener importe en cero” — o CFDI é gerado com horas extras mas sem valor na percepção correspondente
- “Desbordamiento aritmético en cálculo de percepciones” — resultado fora de intervalo, geralmente por uma fórmula incorreta que multiplica o salário mais do que o esperado
Os cenários mais comuns onde este erro aparece:
- Primeira configuração de horas extras em uma empresa que raramente as utiliza e as percepções P019/P020 nunca foram configuradas
- Mudança de período de folha de semanal para quinzenal ou mensal, onde a regra de “9 horas semanais” deve ser recalculada proporcionalmente
- Funcionários com turno diferencial cujo salário base é diferente do salário ordinário para fins do cálculo de horas extras
- Atualização da UMA sem atualizar o teto de isenção de ISR nas percepções de horas extras
- Conflito de fórmulas quando a percepção foi copiada da prima dominical ou de outro conceito e foi modificada parcialmente
Causa do Problema
Percepções P019 e P020 não configuradas ou configuradas incorretamente
O catálogo de percepções do NOI deve ter duas entradas separadas para horas extras: uma para as primeiras 9 horas semanais (dobro, código SAT 019) e outra para as horas que excedem esse limite (triplo, código SAT 020). Muitas instalações do NOI têm apenas uma percepção genérica de “horas extra” sem distinguir entre dobro e triplo, o que gera um erro quando o CFDI tenta validar os códigos contra o catálogo do SAT.
Fórmula de cálculo incorreta
A fórmula para horas extras duplas deve calcular: (salário diário ÷ horas da jornada) × horas extras × 2. Para horas extras triplas: (salário diário ÷ horas da jornada) × horas extras × 3. Se a fórmula não está corretamente parametrizada no NOI, o resultado pode ser o dobro do esperado ou produzir um erro de estouro.
Isenção de ISR mal configurada
A LISR estabelece que as primeiras 9 horas extras semanais são isentas de ISR até o equivalente a 5 vezes o valor da UMA semanal. Se o teto de isenção no NOI não estiver atualizado com o valor da UMA do exercício em curso, o sistema pode calcular uma isenção maior que o permitido ou menor que o correto.
Conflito entre períodos de folha
A regra das 9 horas semanais se aplica independentemente do período de pagamento. Se a empresa paga quinzenalmente, o limite equivalente seria 18 horas extras duplas por quinzena (9 × 2 semanas). O NOI nem sempre realiza essa conversão automaticamente.
Código CFDI desatualizado
O SAT atualiza periodicamente seu catálogo de chaves de percepção para o CFDI de folha. Se o NOI tem um código antigo configurado na percepção de horas extras, o PAC rejeitará o carimbo por código não reconhecido.
Solução Passo a Passo
1. Fazer backup do banco de dados do NOI
Antes de modificar o catálogo de percepções:
- Abra o Aspel NOI
- Vá a Utilerías > Respaldo
- Selecione Respaldo completo e salve fora da pasta de instalação
- Aguarde a conclusão e verifique se o arquivo de backup foi criado
2. Verificar e criar as percepções de horas extras
- Vá a Configuración > Catálogo de percepciones
- Busque percepções com código SAT 019 e 020
- Se não existirem, crie duas novas percepções:
- Horas Extras Duplas (P019): Tipo = Percepción, Subtipo = Horas Extra, Código SAT = 019
- Horas Extras Triplas (P020): Tipo = Percepción, Subtipo = Horas Extra, Código SAT = 020
- Configure a fórmula de cada uma (veja passo 3)
- Ative ambas as percepções e salve as alterações
3. Configurar a fórmula de cálculo correta
Para Horas Extras Duplas (P019):
- Fórmula sugerida:
(SDIARIO / HORAS_JORNADA) * HORAS_EXTRA_DOBLE * 2
Para Horas Extras Triplas (P020):
- Fórmula sugerida:
(SDIARIO / HORAS_JORNADA) * HORAS_EXTRA_TRIPLE * 3
Nota importante: No NOI, as variáveis exatas dependem da versão instalada. Consulte o manual de fórmulas do NOI ou entre em contato com o suporte da Aspel para confirmar os nomes de variáveis corretos na sua versão.
4. Configurar a isenção de ISR
- Na percepção P019 (Horas Extras Duplas), configure:
- Isenção: Sim, até o teto de 5 UMA semanal
- O valor da UMA 2026 é $108,57 diários → UMA semanal = $760,00 (7 dias) → Teto isento = $760,00 × 5 = $3.800,00 semanais
- Na percepção P020 (Horas Extras Triplas), configure:
- Isenção: Não (0% isento — tributável 100%)
5. Capturar as horas extras corretamente na folha
- Abra o recibo de folha do funcionário
- Nas percepções, adicione P019 e insira as horas que não superam 9 por semana
- Se o funcionário trabalhou mais de 9 horas extras na semana, adicione P020 com as horas excedentes
- Verifique se o sistema calcula o valor correto antes de fechar o recibo
- Gere o CFDI de teste e verifique se ambos os códigos aparecem com seus respectivos valores isentos e tributáveis
6. Carimbar e validar o CFDI
- Após verificar os valores, prossiga com o carimbo
- Se o PAC rejeitar o CFDI, baixe o XML gerado antes da rejeição
- Revise os nós
<Percepcion>com chave019e020e verifique seImporteExentoeImporteGravadosomam corretamente aoTotalImporte - Corrija a configuração da percepção no NOI e recarimbe
Solução Alternativa
Se precisar carimbar com urgência e não puder corrigir a configuração de percepções imediatamente:
Inserção manual de valores
- Calcule manualmente os valores de horas extras duplas e triplas:
- Horas extras duplas: (Salário diário ÷ horas da jornada) × horas extras duplas × 2
- Horas extras triplas: (Salário diário ÷ horas da jornada) × horas extras triplas × 3
- No NOI, edite diretamente o valor da percepção (se a sua versão permitir em modo manual)
- Verifique se o valor isento não supera o teto de 5 UMA semanal
Aviso: Esta solução alternativa é temporária. Você deve corrigir a configuração do catálogo de percepções antes do próximo período para evitar que o erro se repita.
Prevenção
Para evitar erros no cálculo de horas extras no Aspel NOI:
- Configure P019 e P020 desde a instalação inicial do NOI, mesmo que a empresa não use horas extras regularmente
- Atualize o valor da UMA todo janeiro no início do exercício fiscal, ajustando o teto de isenção de ISR em P019
- Documente o limite semanal por período de folha: 9 horas/semana = 18 horas/quinzena = 36 horas/mês
- Verifique as fórmulas sempre que atualizar o Aspel NOI para uma nova versão
- Realize um cálculo de teste com um funcionário piloto antes de aplicar horas extras a toda a folha
- Mantenha o catálogo SAT atualizado: baixe periodicamente o catálogo de chaves de percepção do SAT
- Capacite a equipe de folha na distinção entre horas extras duplas e triplas
Problemas Relacionados
Erro ao carimbar: “O valor da percepção 019 não pode ser maior que o salário”
Este erro do PAC aparece quando a isenção calculada supera o valor total da percepção. Revise a fórmula de isenção na percepção P019 — o valor isento nunca pode exceder o valor total da percepção nem o teto de 5 UMA semanal.
Horas extras que não aparecem no cálculo do IMSS
As horas extras fazem parte do salário variável para fins do IMSS. Se as percepções P019 e P020 não estiverem marcadas como “integráveis ao SBC” no NOI, as horas extras não serão incluídas no Salário Base de Contribuição.
ISR retido incorreto por horas extras
Se o ISR calculado não coincide com a retenção esperada, verifique se: (a) o valor isento de P019 está correto e não supera o teto de 5 UMA semanal, e (b) a tarifa mensal de ISR aplicada ao acumulado do período está correta para o nível salarial do funcionário.
Resumo
- O erro ao calcular horas extras no Aspel NOI quase sempre se deve a percepções P019/P020 não configuradas, fórmulas incorretas ou isenção de ISR desatualizada
- As primeiras 9 horas extras semanais são pagas em dobro (P019); as adicionais em triplo (P020)
- A isenção de ISR para horas extras duplas aplica até 5 UMA semanal — atualize este teto todo janeiro
- Capture as horas extras em duas percepções separadas (P019 e P020) — o NOI não separa automaticamente o bloco duplo do triplo
- Verifique se os códigos 019 e 020 estão no catálogo SAT vigente e que o CFDI inclui
ImporteExentoeImporteGravadocorretamente calculados - As horas extras integram o SBC do IMSS — certifique-se de que as percepções estejam marcadas como integráveis
- Sempre faça backup antes de modificar o catálogo de percepções do NOI