El camp i el que comprova l'AEAT
El camp es diu FechaHoraHusoGenRegistro i desa la data, l'hora i el fus del moment en què el sistema va generar el registre, amb la forma AAAA-MM-DDThh:mm:ss més el desfasament horari. El document de validacions de l'AEAT diu que ha de ser menor o igual que la data del sistema de l'AEAT, admetent un marge d'error. Si el supera, retorna un avís sense rebuig.
El text del 2004 a la llista de l'AEAT és «El valor del campo FechaHoraHusoGenRegistro debe ser la fecha actual del sistema de la AEAT, admitiéndose un margen de error de:» i s'acaba aquí: la llista no publica quants segons o minuts és aquest marge.

Els quatre codis d'aquest camp
| Codi | Text de l'AEAT | Efecte |
|---|---|---|
| 2004 | El valor del campo FechaHoraHusoGenRegistro debe ser la fecha actual del sistema de la AEAT, admitiéndose un margen de error de: | Acceptat; l'AEAT no demana esmenar. |
| 1243 | Error técnico al obtener el cálculo de la fecha del huso horario. | Rebutja el registre per una fallada tècnica de l'AEAT. |
| 1244 | El campo FechaHoraHusoGenRegistro tiene un formato incorrecto. | Rebutja el registre. |
| 1268 | La longitud del campo FechaHoraHusoGenRegistro no cumple con las especificaciones. | Rebutja el registre. |
A la seva llista d'errors admissibles, l'AEAT marca aquest cas com un dels dos que no cal esmenar. L'altre és la ClaveRegimen buida amb l'impost IPSI.
D'on surt l'hora a Odoo
El mòdul pren el moment en què va generar el registre de facturació, en publicar la factura, amb el seu desfasament horari. Aquest moment queda desat i no es pot modificar després, igual que l'empremta, perquè forma part del que s'encadena. El format el munta el mateix mòdul sempre igual, així que un 1244 o un 1268 amb un enviament del nostre mòdul no hauria d'aparèixer: si el veus, envia'ns-el.
Per al 2004, la pregunta és si el rellotge del servidor d'Odoo anava avançat quan es va publicar la factura. El mòdul porta un cron, Verifactu: Clock Drift Check, que cada 1 hora compara l'hora d'Odoo amb la de la seva base de dades PostgreSQL, i un botó per fer-ho quan vulguis. No la compara amb cap hora externa: si Odoo i la base de dades són a la mateixa màquina, o van avançats tots dos, no avisa. L'hora real es comprova contra un servidor NTP.

Què fer en cada cas
- Amb un 2004, res sobre la factura: està registrada. Demana a qui administri el servidor que compari la seva hora amb un servidor NTP i la sincronitzi si va avançada. Check Clock Drift no serveix per a això: només compara Odoo amb la seva base de dades.
- Amb un 1243, espera: és un error tècnic de la banda de l'AEAT i la cua ja ho torna a provar sola, amb esperes de 2 minuts a 12 hores, fins al sisè intent.
- Amb un 1244 o un 1268, escriu-nos a comercial@flexigobe.com amb la resposta de l'enviament.
A Odoo, un 2004 deixa el registre com a «Aceptado con errores (subsanar)», la mateixa etiqueta de tots els codis 2xxx. Per a aquest codi en concret, l'AEAT diu que no cal esmenar: el pots deixar així.
Un rellotge endarrerit dona error?
La regla de l'AEAT només mira si la teva hora és més gran que la seva més el marge. Un registre amb l'hora per darrere no salta per aquest control.
Continua llegint
Comprovat al codi del mòdul (versió 20.0) i a les fonts enllaçades
Fonts
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Validacione
- Codi del mòdul: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_aeat_client.py
- Codi del mòdul: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_cola_envio.py
- Codi del mòdul: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_registro.py
- prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/err
- Codi del mòdul: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_cadena.py
