Saltar para o conteúdo principal
VeriFactu

Erro 2004 do VeriFactu: a hora do seu registo está adiantada em relação à da AEAT

Cada registo de faturação leva o momento exato em que foi gerado, com o seu fuso horário. A AEAT compara-o com a hora dos seus próprios sistemas e, se o seu vier do futuro para lá de uma margem, responde com o 2004. É um dos poucos erros que a AEAT aceita sem pedir que o corrija, mas diz algo sobre o seu servidor.

FlexigoTech · Responsável: Víctor Gómez · Atualizado em 4 de novembro de 2026

O essencial

Módulo
VeriFactu
Versões
Odoo 17, 18, 19 e 20
Verificado
no código do módulo, versão 20.0 · nas fontes indicadas no fim
Leitura
3 min

O campo e o que a AEAT verifica

O campo chama-se FechaHoraHusoGenRegistro e guarda a data, a hora e o fuso horário do momento em que o sistema gerou o registo, na forma AAAA-MM-DDThh:mm:ss mais o desfasamento horário. O documento de validações da AEAT diz que tem de ser menor ou igual à data do sistema da AEAT, admitindo uma margem de erro. Se a ultrapassar, a AEAT devolve um aviso sem rejeição.

O texto do 2004 na lista da AEAT é «El valor del campo FechaHoraHusoGenRegistro debe ser la fecha actual del sistema de la AEAT, admitiéndose un margen de error de:» e termina aí: a lista não publica quantos segundos ou minutos tem essa margem.

Cartão do 2004 e dos códigos 1243, 1244 e 1268
O 2004, a azul porque a AEAT aceita o registo, e os três códigos do mesmo campo que o rejeitam, a âmbar.

Os quatro códigos deste campo

CódigoTexto da AEATEfeito
2004El valor del campo FechaHoraHusoGenRegistro debe ser la fecha actual del sistema de la AEAT, admitiéndose un margen de error de:Aceite; a AEAT não pede correção.
1243Error técnico al obtener el cálculo de la fecha del huso horario.Rejeita o registo por uma falha técnica da AEAT.
1244El campo FechaHoraHusoGenRegistro tiene un formato incorrecto.Rejeita o registo.
1268La longitud del campo FechaHoraHusoGenRegistro no cumple con las especificaciones.Rejeita o registo.

Na sua lista de erros admissíveis, a AEAT marca este caso como um dos dois que não precisam de correção. O outro é a ClaveRegimen vazia com o imposto IPSI.

De onde o Odoo tira a hora

O módulo toma o momento em que gerou o registo de faturação, ao publicar a fatura, com o seu desfasamento horário. Esse momento fica guardado e não pode ser alterado depois, tal como a impressão digital, porque faz parte do que fica encadeado. O formato é sempre montado da mesma forma pelo próprio módulo, por isso um 1244 ou um 1268 com um envio do nosso módulo não deveria aparecer: se aparecer, envie-nos.

Para o 2004, a pergunta é se o relógio do servidor do Odoo estava adiantado quando a fatura foi publicada. O módulo tem uma ação agendada, Verifactu: Clock Drift Check, que a cada 1 hora compara a hora do Odoo com a da sua base de dados PostgreSQL, e um botão para o fazer quando quiser. Não a compara com nenhuma hora externa: se o Odoo e a base de dados estiverem na mesma máquina, ou ambos adiantados, não avisa. A hora real é verificada contra um servidor NTP.

Estado da cadeia no Odoo com os botões Verificar Integridade e Check Clock Drift
Em Estado da Cadeia estão os dois botões: Verificar Integridade e Check Clock Drift, o que compara a hora do Odoo com a da base de dados. Captura do Odoo 20 com dados de demonstração.

O que fazer em cada caso

  • Com um 2004, nada sobre a fatura: está registada. Peça a quem administra o servidor que compare a sua hora com um servidor NTP e a sincronize se estiver adiantada. O Check Clock Drift não serve para isto: só compara o Odoo com a sua base de dados.
  • Com um 1243, aguarde: é um erro técnico do lado da AEAT e a fila já volta a tentar sozinha, com esperas de 2 minutos a 12 horas, até à sexta tentativa.
  • Com um 1244 ou um 1268, escreva-nos para comercial@flexigobe.com com a resposta do envio.

No Odoo, um 2004 deixa o registo como «Aceptado con errores (subsanar)», a mesma etiqueta de todos os códigos 2xxx. Para este código em concreto, a AEAT diz que não é preciso corrigir: pode deixá-lo como está.

Um relógio atrasado dá erro?

A regra da AEAT só verifica se a sua hora é maior do que a dela mais a margem. Um registo com a hora atrasada não dispara este controlo.

Continue a ler

Erro 2000 do VeriFactu: a AEAT recalcula a sua impressão digital e não coincideO erro 2000 do VeriFactu: a AEAT recalcula a impressão digital SHA-256 e não obtém a sua. Porque é que a fatura fica registada e o que fazer no Odoo 17, 18, 19 e 20.Erro 2007 do VeriFactu: a AEAT já tinha faturas suas e recebe outro «primeiro registo»O erro 2007 do VeriFactu: a AEAT já tem faturas do seu NIF feitas com o mesmo sistema e recebe outro primeiro registo. De onde vem no Odoo 17 a 20 e o que fazer.Erros técnicos do VeriFactu: quando o problema está nos sistemas da AEATErros técnicos do VeriFactu do lado da AEAT (4108, 4110, 4111, 4118, 4128, 3500, 3501, 1129, 1256, 1288): quais o Odoo volta a tentar e quais reenvia o utilizador.
Verificado no código do módulo (versão 20.0) e nas fontes indicadas

Fontes