Naar hoofdinhoud
VeriFactu

VeriFactu fout 2004: de tijd van je register loopt voor op die van de AEAT

Elk factureringsregister bevat het exacte moment waarop het is gegenereerd, met de tijdzone ervan. De AEAT, de Spaanse belastingdienst, vergelijkt dat met de tijd van de eigen systemen en, als die van jou verder in de toekomst ligt dan een marge toestaat, antwoordt ze met 2004. Het is een van de weinige fouten die de AEAT accepteert zonder om een correctie te vragen, maar het zegt wel iets over je server.

FlexigoTech · Verantwoordelijk: Víctor Gómez · Bijgewerkt op 4 november 2026

In het kort

Module
VeriFactu
Versies
Odoo 17, 18, 19 en 20
Gecontroleerd
in de broncode van de module, versie 20.0 · in de bronnen onderaan
Leestijd
3 min

Het veld en wat de AEAT controleert

Het veld heet FechaHoraHusoGenRegistro en bewaart datum, tijd en tijdzone van het moment waarop het systeem het register heeft gegenereerd, in de vorm JJJJ-MM-DDThh:mm:ss plus het verschil met UTC. Het validatiedocument van de AEAT zegt dat dit kleiner of gelijk moet zijn aan de datum van het AEAT-systeem, met een foutmarge. Als dat wordt overschreden, geeft de AEAT een waarschuwing zonder afwijzing terug.

De tekst van 2004 in de lijst van de AEAT luidt "El valor del campo FechaHoraHusoGenRegistro debe ser la fecha actual del sistema de la AEAT, admitiéndose un margen de error de:" en daar houdt hij op: de lijst publiceert niet hoeveel seconden of minuten die marge bedraagt.

Kaart van code 2004 en de codes 1243, 1244 en 1268
De 2004, in blauw omdat de AEAT het register accepteert, en de drie codes van hetzelfde veld die het wél afwijzen, in amber.

De vier codes van dit veld

CodeTekst van de AEATGevolg
2004El valor del campo FechaHoraHusoGenRegistro debe ser la fecha actual del sistema de la AEAT, admitiéndose un margen de error de:Geaccepteerd; de AEAT vraagt niet om te corrigeren.
1243Error técnico al obtener el cálculo de la fecha del huso horario.Wijst het register af wegens een technische storing bij de AEAT.
1244El campo FechaHoraHusoGenRegistro tiene un formato incorrecto.Wijst het register af.
1268La longitud del campo FechaHoraHusoGenRegistro no cumple con las especificaciones.Wijst het register af.

In haar lijst met toegestane fouten markeert de AEAT dit geval als een van de twee die niet hoeven te worden gecorrigeerd. De andere is een lege ClaveRegimen bij de belasting IPSI.

Waar Odoo het tijdstip vandaan haalt

De module neemt het moment waarop ze het factureringsregister heeft gegenereerd, bij het boeken van de factuur, met het verschil met UTC. Dat moment wordt opgeslagen en kan daarna niet meer worden gewijzigd, net als de hash, omdat het deel uitmaakt van wat wordt geketend. De module bouwt het formaat altijd op dezelfde manier op, dus een 1244 of een 1268 zou bij een verzending van onze module niet mogen voorkomen: als je er een ziet, stuur die dan naar ons.

Bij 2004 is de vraag of de klok van de Odoo-server voorliep toen de factuur werd geboekt. De module heeft een cron, Verifactu: Clock Drift Check, die elk 1 uur de tijd van Odoo vergelijkt met die van zijn PostgreSQL-database, en een knop om dat op elk moment te doen. Hij vergelijkt niet met een externe klok: als Odoo en de database op dezelfde machine draaien, of allebei voorlopen, geeft hij geen waarschuwing. De werkelijke tijd wordt gecontroleerd tegen een NTP-server.

Ketenstatus in Odoo met de knoppen Verificar Integridad en Check Clock Drift
Bij Estado de la Cadena staan de twee knoppen: Verificar Integridad en Check Clock Drift, degene die de tijd van Odoo vergelijkt met die van de database. Schermafbeelding van Odoo 20 met demogegevens.

Wat te doen in elk geval

  • Bij een 2004 niets aan de factuur: ze is geregistreerd. Vraag wie de server beheert om zijn tijd te vergelijken met een NTP-server en die te synchroniseren als hij voorloopt. Check Clock Drift helpt hier niet: die vergelijkt alleen Odoo met zijn database.
  • Bij een 1243 wacht je: het is een technische fout aan de kant van de AEAT en de wachtrij probeert zelf opnieuw, met wachttijden van 2 minuten tot 12 uur, tot de zesde poging.
  • Bij een 1244 of een 1268 schrijf je naar comercial@flexigobe.com met het antwoord van de verzending.

In Odoo laat een 2004 het register achter als "Aceptado con errores (subsanar)", hetzelfde label als elke 2xxx-code. Voor deze specifieke code zegt de AEAT dat er geen correctie nodig is: je kunt het zo laten.

Geeft een klok die achterloopt een fout?

De regel van de AEAT controleert alleen of jouw tijd groter is dan die van hen plus de marge. Een register waarvan de tijd achterloopt, gaat niet af op deze controle.

Lees verder

VeriFactu-fout 2000: de AEAT berekent je hash opnieuw en die komt niet overeenDe AEAT berekent de SHA-256-hash opnieuw en komt niet uit op jouw waarde. Factuur blijft geregistreerd; zo los je de 2000 op in Odoo 17, 18, 19 en 20.VeriFactu fout 2007: de AEAT had al uw facturen en krijgt een nieuw "primer registro"VeriFactu fout 2007: de AEAT heeft al facturen van uw NIF met hetzelfde systeem en krijgt een ander eerste record. Waar het vandaan komt in Odoo 17 tot 20.Technische VeriFactu-fouten: wanneer het probleem in de systemen van de AEAT zitTechnische VeriFactu-fouten bij de AEAT (4108, 4110, 4111, 4118, 4128, 3500, 3501, 1129, 1256, 1288): welke Odoo zelf herhaalt en welke jij opnieuw verstuurt.
Gecontroleerd in de broncode van de module (versie 20.0) en in de gelinkte bronnen

Bronnen