Saltar para o conteúdo principal
VeriFactu

Corrigir no VeriFactu: como se corrige um registo e os erros de Subsanacion e RechazoPrevio

No VERI*FACTU um registo não se edita nem se apaga: se estava errado, envia-se outro com o mesmo identificador de fatura que o corrige. A AEAT chama a isso subsanar e indica-o com dois campos, Subsanacion e RechazoPrevio. Esta página explica quando é preciso, como se combinam os dois campos e os sete códigos que aparecem quando não encaixam.

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

Quando é preciso subsanar

O documento de validações da AEAT prevê a subsanação em três situações:

  • O registo foi aceite com erros admissíveis, os códigos 2xxx. Há duas exceções que não se subsanam: a ClaveRegimen vazia com IPSI e a data e hora de geração posteriores às da AEAT.
  • O registo foi rejeitado. Na remessa voluntária, os rejeitados têm de ser reenviados numa nova apresentação, corrigindo o erro.
  • Detetas depois um dado incorreto num registo que foi aceite sem erros.

Não cabe subsanar quando a causa exige emitir uma fatura retificativa. A subsanação corrige um registo; não substitui uma retificativa.

Cartão dos códigos de subsanação do VeriFactu
Os sete códigos desta página: a âmbar os de Subsanacion e RechazoPrevio e, junto deles, o 3003 e o 3004.

As quatro formas de dar entrada a um registo

O anexo de operativas admissíveis da AEAT combina os dois campos assim:

OperaçãoSubsanacionRechazoPrevioQuando
Entrada inicialN ou vazioN ou vazioA fatura ainda não existe na AEAT.
Entrada por rejeiçãoSXCorrige uma entrada inicial que foi rejeitada e que, por isso, a AEAT não tem.
Entrada de subsanaçãoSN ou vazioCorrige um registo que a AEAT já tem.
Entrada por rejeição de subsanaçãoSSRepete uma subsanação que foi rejeitada.

Os códigos desta família

CódigoO que falha
1153RechazoPrevio X sem Subsanacion S.
1161RechazoPrevio S sem Subsanacion S.
1171Subsanacion ou RechazoPrevio com um valor fora da lista.
1275Valor incorreto em RechazoPrevio.
1276Valor incorreto em SinRegistroPrevio.
3003El presentador no tiene los permisos necesarios para actualizar este registro de facturación.
3004No es posible modificar la factura ya que ha sido dada de alta vía formulario.

O 3003 aparece quando quem apresenta a subsanação não pode atualizar esse registo, e o 3004 quando a fatura original foi dada de entrada pelo formulário da AEAT e não a partir de um sistema de faturação.

O que faz hoje o nosso módulo

O registo de entrada que o módulo publicado constrói não leva Subsanacion nem RechazoPrevio: todas as suas entradas são iniciais. Por isso estes códigos não saem de um envio seu, e também por isso:

Um registo rejeitado (1xxx)
A fila volta a tentá-lo com os mesmos dados, porque o registo não muda depois de publicado, e à sexta tentativa deixa-o em Dead Letter. Nenhuma tentativa o converte numa entrada por rejeição.
Um registo aceite com erros (2xxx)
Fica como «Aceptado con errores (subsanar)». O módulo não envia a subsanação.

Isto é o que convém saber antes de mais nada: na Odoo, com o módulo publicado, corrigir um registo do VERI*FACTU não é automático.

Registos de faturação na Odoo com estados aceite e aceite com erros
Na lista de registos, os aceites com erros ficam marcados para subsanar. Captura da Odoo 20 com dados de demonstração; as respostas da AEAT são simuladas.

O que fazer entretanto

  1. Não anule a fatura para tentar corrigi-la: anular cria um registo de anulação, que se encadeia e se envia, mas não corrige o registo anterior.
  2. Corrija na Odoo o dado de origem, seja o contacto, o imposto ou o diário, para que as faturas seguintes saiam bem.
  3. Escreva-nos para comercial@flexigobe.com com os registos afetados e a sua resposta. Preparamos consigo a subsanação que corresponda a cada um.

Os códigos desta página, com o texto da AEAT

Cada código com o seu texto literal, tal como o dá a lista de erros da AEAT:

CódigoTexto da AEAT
1153Valor del campo RechazoPrevio no válido, solo podrá incluirse el campo RechazoPrevio con valor X si se ha informado el campo Subsanacion y tiene el valor S.
1161El valor del campo RechazoPrevio no es válido, no podrá incluirse el campo RechazoPrevio con valor S si no se ha informado del campo Subsanacion o tiene el valor N.
1171El valor del campo Subsanacion o RechazoPrevio no se encuentra en los valores permitidos.
1275Valor incorrecto campo RechazoPrevio
1276Valor incorrecto campo SinRegistroPrevio
3003El presentador no tiene los permisos necesarios para actualizar este registro de facturación.
3004No es posible modificar la factura ya que ha sido dada de alta vía formulario.

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 2001 do VeriFactu: o NIF do seu cliente não consta do censo da AEATO erro 2001 do VeriFactu: o NIF do destinatário não consta do censo da AEAT. Porque é que a fatura entra na mesma, o que a AEAT pede e o que fazer no Odoo 17 a 20.Erros 3001 e 3002 do VeriFactu: anular uma fatura que a AEAT não tem ou que já anulouOs erros do VeriFactu ao anular: 3001 (já dada de baixa), 3002 (não existe) e os do bloco Generador. O que faz o Odoo 17, 18, 19 e 20 ao cancelar uma fatura enviada.
Verificado no código do módulo (versão 20.0) e nas fontes indicadas

Fontes