Wat de AEAT antwoordt
Elke verzending bevat tussen 1 en 1.000 records. Het antwoord bevat een status voor de hele verzending (Correcto, ParcialmenteCorrecto of Incorrecto), een status per record (Correcto, AceptadoConErrores of Incorrecto) en de wachttijd tot de volgende verzending.
De AEAT publiceert haar officiële foutencatalogus, met 247 codes, in drie families:
| Familie | Wat het betekent | Wat je doet |
|---|---|---|
| 4xxx: hele verzending afgewezen | Niets uit die verzending is geregistreerd. | Los de oorzaak op en verstuur de hele verzending opnieuw. |
| Record afgewezen | Dat record wordt niet geaccepteerd; de rest van de verzending wel. | Corrigeer dat record en verstuur alleen dat record opnieuw. |
| 2xxx: geaccepteerd met fouten | Het record is geregistreerd, maar er moet iets worden gecorrigeerd. | Verstuur het niet opnieuw als nieuw: corrigeer wat de code aangeeft. |
Twee concrete gevallen herken je het best meteen. Code 3000 meldt een dubbel record: staat het al als correct of als geaccepteerd met fouten, dan hoef je het niet opnieuw te versturen. En de vingerafdruk, een SHA-256 die aan het vorige record is gekoppeld, wordt door de AEAT opnieuw berekend: klopt hij niet, dan wordt het record geaccepteerd met een fout die moet worden gecorrigeerd.

Voordat je bij de AEAT aankomt: het certificaat
De AEAT herkent de uitgever aan het certificaat dat bij het verbinden wordt getoond. Zonder certificaat stuurt haar dienst door naar foutpagina 4033, "geen certificaat gedetecteerd". Met een certificaat dat niet valideert, naar 4011. In Odoo worden deze gevallen eerder tegengehouden:
No active certificate for company …: het bedrijf heeft geen actief certificaat. Upload het onder Configuration › Certificates.The certificate … of company … has expired.: het is verlopen. Er is een dagelijkse vervalwaarschuwing, zodat het zover niet komt.
Wat je systeem vóór verzending blokkeert
| Melding | Wat er ontbreekt | Oplossing |
|---|---|---|
Company … has no NIF for Veri*Factu. | Het bedrijf heeft geen NIF. | Vul het in bij de bedrijfsgegevens. |
Invalid NIF length: "…" (must be 9 chars) | Het NIF van de klant heeft geen 9 tekens. | Controleer het NIF bij het contact. |
Invalid NIF digits: "…" | Het NIF bevat ongeldige tekens. | Corrigeer het bij het contact. |
Cannot post invoice: invalid counterparty identifier. | De identificatie van de klant is niet geldig. | Corrigeer de identificatie voordat je boekt. |
Record … has no tax breakdown (Desglose) to declare. | De factuur heeft geen uitsplitsing van de belasting. | Controleer de belastingen op de regels. |
Record … is chained to a previous record that does not exist. | De recordketen is gebroken. | Raak hem niet met de hand aan: controleer de status van de keten en schrijf ons. |
The AEAT accepts at most 1000 records per request. | Een verzending met meer records dan toegestaan. | De wachtrij splitst ze; zie je dit, laat het ons dan weten. |

Waar je kijkt in Odoo
De verzendwachtrij wordt elke minuut verwerkt en staat onder AEAT Submission › Submission Queue. Fouten die de AEAT teruggeeft, hebben een eigen lijst onder AEAT Errors, en de volledige codecatalogus staat onder AEAT Error Catalogue. Met die drie schermen los je de meeste gevallen op zonder het technische document van de AEAT te openen, al staat het hieronder gelinkt voor het geval je het nodig hebt.

De module is gepubliceerd voor Odoo 17, 18, 19 en 20. Staat een code niet in de catalogus, stuur ons dan de exacte tekst van het antwoord: we zoeken hem op in het officiële document met validaties.
Lees verder
Gecontroleerd in de broncode van de module (versie 20.0) en in de gelinkte bronnen
Bronnen
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Validacione
- prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/Sis
- sede.agenciatributaria.gob.es/Sede/errores/erro4033.html
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Veri-Factu_
- Broncode van de module: flexigo_spain_verifactu 20.0 (4dc42be4): models/account_move.py
- Broncode van de module: flexigo_spain_verifactu 20.0 (4dc42be4): models/verifactu_aeat_client.py
- Broncode van de module: flexigo_spain_verifactu 20.0 (4dc42be4): models/verifactu_nif_validator.py
- Broncode van de module: flexigo_spain_verifactu 20.0 (4dc42be4): data/verifactu_crons.xml
- Broncode van de module: flexigo_spain_verifactu 20.0 (4dc42be4): views/menu_views.xml
- apps.odoo.com/apps/modules/20.0/flexigo_spain_verifactu
