Què és aquesta tasca i cada quan corre
Què és i com ve configurada?
És una tasca programada del mòdul de VeriFactu que treballa sobre la cua d'enviament a l'AEAT. Ve activa en instal·lar i corre cada minut. Està a les branques publicades per a Odoo 17.0, 18.0, 19.0 i 20.0; a la 17.0 porta configurat que es repeteix sense fi.

Envia a l'AEAT cada minut?
La tasca s'executa cada minut, però això no vol dir una petició per minut. Cada resposta de l'AEAT porta TiempoEsperaEnvio, els segons fins al proper enviament. Segons el codi d'Odoo 20.0, el mòdul desa aquesta hora per a l'empresa i no li envia res abans que arribi (amb una excepció que veuràs més avall).
On veig les entrades que processa?
Al menú Verifactu / SIF › Enviament a l'AEAT › Cua d'Enviament (Verifactu / SIF › AEAT Submission › Submission Queue). Cada tram del menú demana permisos i, si no en tens un, no veus aquest tram. El tram Enviament a l'AEAT demana Comptable (Accountant), Auditor (només lectura) (Auditor (read-only)) o Gestor SIF (SIF Manager). El tram Verifactu / SIF demana algun d'aquests: Comptable, Operador d'Assessoria (Asesoría Operator), Auditor (només lectura), Responsable de Privadesa (Privacy Officer) o Gestor SIF. El camp Referència (Reference) de cada entrada es veu a la seva fitxa, la de Errors AEAT (AEAT Errors), dins del grup Entrada de la Cua (Queue Entry), i també a la llista.

Què fa a cada passada
A quines empreses atén i quan se'n salta una?
Només recorre les empreses que tenen VeriFactu activat. Per a cadascuna mira dues hores desades, una d'elles la del temps d'espera de l'última resposta de l'AEAT. Si encara no ha arribat alguna d'aquestes hores, salta l'empresa en aquesta passada i ho anota al log del servidor. L'excepció és l'espera de l'última resposta: si hi ha 1.000 entrades o més esperant (pendents o en reintent), l'empresa no espera per ella.
Què fa amb les entrades d'una empresa?
Demana el lot de la cua d'aquesta empresa i, si no hi ha res, acaba amb ella sense més. Les entrades que no tenen ni registre ni anul·lació enllaçats les marca com a fallides. La resta les ordena per número de registre, perquè cada registre anomena el seu predecessor en l'encadenament. Després prepara cada una com a alta o com a anul·lació i les envia juntes en una sola petició a l'AEAT. Segons l'AEAT, un enviament porta d'1 a 1.000 registres.
Què passa amb la resposta, o amb el fallo?
Si l'AEAT respon, el mòdul aplica a cada entrada el seu resultat. La resposta porta EstadoEnvio (Correcto, ParcialmenteCorrecto o Incorrecto) i un estat per registre (Correcto, AceptadoConErrores o Incorrecto). Si porta temps d'espera, el mòdul desa l'hora fins a la qual aquesta empresa no torna a enviar. Si la petició falla amb un 429, el mòdul la tracta per un camí diferent al de la resta d'errors. Amb qualsevol altre error, passa cada entrada pel tractament d'error HTTP i, si alguna entrada queda descartada, llança una sola alerta per a tot el lot en lloc d'una per factura. Al final de l'empresa, demana a la seva cadena un únic recàlcul per a totes les entrades.
Reenvia el que l'AEAT ja ha acceptat?
Un registre duplicat torna de l'AEAT amb el codi 3000. Si ja consta com a correcte o acceptat amb errors, no cal reenviar-lo.
Si sembla que no fa res
Què comprovo primer?
Comprova que la tasca continua activa (ve activa en instal·lar), que l'empresa té VeriFactu activat i que la llista de Cua d'Enviament té entrades. Mira també si l'empresa està en una espera: després d'una resposta de l'AEAT espera el temps que aquesta va indicar, i aquesta passada queda anotada al log del servidor. Una passada amb el lot buit acaba sense enviar res. Si el problema és al certificat, l'AEAT redirigeix sense certificat a la pàgina d'error 4033 («no es detecta certificat») i amb un certificat que no valida, a la 4011.
Un error en una empresa bloqueja les altres?
Segons el codi, no. Cada empresa es processa dins del seu propi control d'errors: si falla, l'error queda al log del servidor amb el nom de l'empresa i la tasca continua amb la següent.
Què és el resum de salut del final?
Quan acaba amb totes les empreses, i només si alguna cosa ha fallat durant la passada, la tasca prepara un resum de salut per a FlexigoTech Cloud amb finalitats de monitoratge. No l'envia a cada passada, sinó a intervals mínims entre informes. Porta el nombre d'entrades pendents o en reintent i de les descartades, i els errors agrupats per tipus, codi i quantes vegades han sortit.
Ajuda amb la teva implantació
Si estàs implantant Odoo i vols revisar com queda aquesta cua amb les teves empreses, a FlexigoTech implantem Odoo 17, 18, 19 i 20 i desenvolupem connectors i integracions a mida.
Continua llegint
Comprovat al codi del mòdul (versió 17.0 i 20.0) i a les fonts enllaçades
Fonts
- Codi del mòdul: flexigo_spain_verifactu 20.0 (1fdc980f): data/verifactu_crons.xml
- Codi del mòdul: flexigo_spain_verifactu 17.0 (8d43d727): data/verifactu_crons.xml
- Codi del mòdul: flexigo_spain_verifactu 20.0 (1fdc980f): models/verifactu_cola_envio.py
- apps.odoo.com/apps/modules/20.0/flexigo_spain_verifactu
- prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/Sis
- sede.agenciatributaria.gob.es/Sede/errores/erro4033.html
- flexigotech.com/en/services.html
