Saltar para o conteúdo principal
VeriFactu

A tarefa «Verifactu: Process Submission Queue»: o que faz em cada passagem

A tarefa agendada Verifactu: Process Submission Queue vem ativa ao instalar o módulo e corre a cada minuto. Em cada passagem percorre as empresas com VeriFactu ativado, envia à AEAT num único pedido as entradas da fila de cada uma e aplica a resposta a cada entrada. Se parece que não faz nada, o código aponta para uma espera entre envios, uma fila vazia ou uma empresa sem VeriFactu ativado.

FlexigoTech · Responsável: Víctor Gómez · Atualizado em 5 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 17.0 e 20.0 · nas fontes indicadas no fim
Leitura
4 min

O que é esta tarefa e de quanto em quanto tempo corre

O que é e como vem configurada?

É uma tarefa agendada do módulo de VeriFactu que trabalha sobre a fila de envio à AEAT. Vem ativa ao instalar e corre a cada minuto. Está nas ramas publicadas para Odoo 17.0, 18.0, 19.0 e 20.0; na 17.0 está configurada para se repetir sem fim.

Esquema feito com código, não um ecrã do Odoo: em cima a tarefa agendada que corre a cada minuto e vem ativa ao instalar, por baixo o menu da fila de envio; as legendas estão em inglês
Esquema gerado a partir do código publicado do módulo (Odoo 17.0, 18.0, 19.0 e 20.0). Não é uma captura do Odoo.

Envia à AEAT a cada minuto?

A tarefa executa-se a cada minuto, mas isso não significa um pedido por minuto. Cada resposta da AEAT traz TiempoEsperaEnvio, os segundos até ao envio seguinte. Segundo o código do Odoo 20.0, o módulo guarda essa hora para a empresa e não lhe envia nada antes de ela chegar (com uma exceção que verás mais abaixo).

Onde vejo as entradas que processa?

No menu Verifactu / SIF › AEAT Submission › Submission Queue. Cada troço do menu exige permissões e, se não tiveres uma, não vês esse troço. O troço AEAT Submission exige Accountant, Auditor (read-only) ou SIF Manager. O troço Verifactu / SIF exige um destes: Accountant, Asesoría Operator, Auditor (read-only), Privacy Officer ou SIF Manager. O campo Reference de cada entrada vê-se na sua ficha, na de AEAT Errors, dentro do grupo Queue Entry, e também na lista.

Lista da fila de envio de Verifactu / SIF com um filtro de pendentes aplicado e sem registos
A lista da fila de envio, ainda sem registos: com o filtro de pendentes ativo, não há nada para enviar.

O que faz em cada passagem

Que empresas atende e quando salta uma?

Só percorre as empresas que têm VeriFactu ativado. Para cada uma consulta duas horas guardadas, uma delas a do tempo de espera da última resposta da AEAT. Se ainda não chegou alguma dessas horas, salta a empresa nesta passagem e regista-o no log do servidor. A exceção é a espera da última resposta: se há 1.000 entradas ou mais à espera (pendentes ou em nova tentativa), a empresa não espera por ela.

O que faz com as entradas de uma empresa?

Pede o lote da fila dessa empresa e, se não há nada, termina com ela sem mais. As entradas que não têm nem registo nem anulação associados marca-as como falhadas. As restantes ordena-as por número de registo, porque cada registo nomeia o seu predecessor no encadeamento. Depois prepara cada uma como adição ou como anulação e envia-as juntas num único pedido à AEAT. Segundo a AEAT, um envio leva de 1 a 1.000 registos.

O que acontece com a resposta, ou com a falha?

Se a AEAT responde, o módulo aplica a cada entrada o seu resultado. A resposta traz EstadoEnvio (Correcto, ParcialmenteCorrecto ou Incorrecto) e um estado por registo (Correcto, AceptadoConErrores ou Incorrecto). Se traz tempo de espera, o módulo guarda a hora até à qual essa empresa não volta a enviar. Se o pedido falha com um 429, o módulo trata-o por um caminho diferente do dos restantes erros. Com qualquer outro erro, passa cada entrada pelo tratamento de erro HTTP e, se alguma entrada fica descartada, lança um único alerta para todo o lote em vez de um por fatura. No fim da empresa, pede à sua cadeia um único recálculo para todas as entradas.

Reenvia o que a AEAT já aceitou?

Um registo duplicado volta da AEAT com o código 3000. Se já consta como correto ou aceite com erros, não é preciso reenviá-lo.

Se parece que não faz nada

O que verifico primeiro?

Verifica que a tarefa continua ativa (vem ativa ao instalar), que a empresa tem VeriFactu ativado e que a lista de Submission Queue tem entradas. Vê também se a empresa está numa espera: após uma resposta da AEAT aguarda o tempo que esta indicou, e essa passagem fica registada no log do servidor. Uma passagem com o lote vazio termina sem enviar nada. Se o problema está no certificado, a AEAT redireciona sem certificado para a página de erro 4033 («não se deteta certificado») e, com um certificado que não valida, para a 4011.

Um erro numa empresa bloqueia as outras?

Segundo o código, não. Cada empresa é processada dentro do seu próprio controlo de erros: se falha, o erro fica no log do servidor com o nome da empresa e a tarefa segue para a seguinte.

O que é o resumo de saúde do final?

Quando termina com todas as empresas, e só se algo falhou durante a passagem, a tarefa prepara um resumo de saúde para o FlexigoTech Cloud com fins de monitorização. Não o envia em cada passagem, mas a intervalos mínimos entre relatórios. Leva o número de entradas pendentes ou em nova tentativa e das descartadas, e os erros agrupados por tipo, código e quantas vezes ocorreram.

Ajuda com a tua implementação

Se estás a implementar o Odoo e queres rever como fica esta fila com as tuas empresas, na FlexigoTech implementamos Odoo 17, 18, 19 e 20 e desenvolvemos conectores e integrações à medida.

Continue a ler

O que faz o botão «Run Pre-flight» do VeriFactu EspañaO que faz o botão Run Pre-flight do VeriFactu España em Odoo: quando aparece, o que verifica em cada linha, o que guarda e que erros pode dar.
Verificado no código do módulo (versão 17.0 e 20.0) e nas fontes indicadas

Fontes