Zum Hauptinhalt springen
VeriFactu

VeriFactu-Fehler 3001 und 3002: Stornierung einer Rechnung, die die AEAT nicht hat oder bereits storniert hat

Wird in Odoo eine Rechnung storniert, die bereits ihren VERI*FACTU-Datensatz hat, entsteht ein Stornierungsdatensatz, der ebenfalls an die AEAT, die spanische Steuerbehörde, übermittelt wird. Die AEAT sucht die Rechnung, die Sie stornieren möchten, und antwortet mit einem Code, wenn sie sie nicht findet oder wenn sie bereits storniert war. Außerdem hat der Stornierungsdatensatz einen eigenen Block, Generador, mit rund zehn weiteren Codes.

FlexigoTech · Verantwortlich: Víctor Gómez · Aktualisiert am 4. November 2026

Das Wichtigste

Versionen
Odoo 17, 18, 19 und 20
Geprüft
im Quellcode des Moduls, Version 20.0 · in den Quellen am Ende
Lesezeit
3 Min.

Die beiden Statuscodes

CodeText der AEATBedeutung
3001El registro de facturación ya ha sido dado de baja.Diese Rechnung war bei der AEAT bereits storniert.
3002No existe el registro de facturación.Die AEAT hat keine Rechnung mit dieser Kennung.

Beide stehen in dem Abschnitt der Liste, der den Datensatz ablehnt: Die Stornierung wird nicht angenommen, der Rest der Übermittlung schon.

Übersicht der VeriFactu-Stornierungscodes
Der 3001, der 3002 und die Codes des Generador-Blocks, alle aus der Gruppe, die den Datensatz ablehnt.

Was Odoo beim Stornieren einer Rechnung tut

Wenn Sie eine Rechnung stornieren, die einen Registrierungsdatensatz hat, erstellt das Modul einen Stornierungsdatensatz und verkettet ihn wie jeden anderen. Dieser Datensatz enthält die Kennung der stornierten Rechnung mit Ihrer Steuernummer, ihrer Nummer und ihrem Ausstellungsdatum, dazu die Verkettung, die Softwaredaten, den Zeitstempel und den Hash. Die Warteschlange sendet ihn wie jeden anderen Datensatz.

Beachten Sie eine Bedingung: Das Modul erstellt die Stornierung, sobald die Rechnung einen Registrierungsdatensatz hat, unabhängig von dessen Status. Daher kommt der häufigste 3002.

Wann welcher Code erscheint

3002 nach einer Ablehnung. Wurde die Registrierung einer Rechnung abgelehnt und landete sie in der Dead Letter Queue, hat die AEAT sie nie erfasst. Storniert man diese Rechnung danach in Odoo, sucht die Stornierung einen Datensatz, der nicht existiert, und die Antwort lautet 3002.

3001 bei doppelter Stornierung. Ist eine Rechnung bei der AEAT bereits als storniert vermerkt und kommt eine weitere Stornierung mit derselben Kennung an, lautet die Antwort 3001. Das kann passieren, wenn die Rechnung vor der Stornierung in Odoo auf anderem Weg storniert wurde.

In beiden Fällen wird die abgelehnte Stornierung mit denselben Daten erneut versucht, mit Wartezeiten von 2 Minuten bis 12 Stunden, und landet beim sechsten Versuch in der Dead Letter Queue.

Warteschlange der AEAT-Übermittlung nach Status gruppiert
Die Warteschlange nach Status gruppiert: Stornierungsdatensätze durchlaufen dieselben Zustände wie die Registrierungen. Screenshot aus Odoo 20 mit Demodaten; die Antworten der AEAT sind simuliert.

Der Generador-Block

Laut dem Validierungsdokument der AEAT kann eine Stornierung mit dem Feld GeneradoPor und dem Block Generador angeben, wer sie erzeugt hat; beides gehört immer zusammen. Wird der Erzeuger über eine spanische Steuernummer identifiziert, muss sie vorhanden und von der verpflichteten Partei verschieden sein. Daher stammen 1224, 1225, 1227, 1228, 1229, 1230, 1231, 1258, 1259 und 1273, zusammen mit 1214, das verlangt, dass das Feld NumeroOTAlta eine positive vierstellige Zahl ist.

Der Stornierungsdatensatz des Moduls enthält weder GeneradoPor noch Generador, daher kann keiner dieser Codes aus einer Übermittlung des Moduls stammen.

Was zu tun ist

  • Bevor Sie eine Rechnung stornieren, deren Registrierung in der Dead Letter Queue liegt, schreiben Sie uns: Stornieren behebt das nicht und hinterlässt eine Stornierung ohne Bezug.
  • Bei einem 3001 prüfen Sie, ob die Rechnung zuvor auf anderem Weg storniert wurde.
  • Schicken Sie uns in jedem Fall die Rechnungsnummer an comercial@flexigobe.com, dann prüfen wir sie gemeinsam mit Ihnen.

Die Codes dieser Seite mit dem Text der AEAT

Jeder Code mit seinem wörtlichen Text, auf Spanisch, wie ihn die Fehlerliste der AEAT angibt:

CodeText der AEAT (Spanisch)
3001El registro de facturación ya ha sido dado de baja.
3002No existe el registro de facturación.
1214El campo NumeroOTAlta debe ser númerico positivo de 4 posiciones.
1224Si se informa el campo GeneradoPor deberá existir la agrupación Generador y viceversa.
1225El valor del campo GeneradoPor es incorrecto.
1227Si el campo GeneradoPor es igual a E debe estar relleno el campo NIF del bloque Generador.
1228En el bloque Generador si se cumplimenta NIF, no deberá existir la agrupación IDOtro y viceversa, pero es obligatorio que se cumplimente uno de los dos.
1229Si el valor de GeneradoPor es igual a T el valor del campo IDType del bloque Generador no debe ser No Censado (07).
1230Si el valor de GeneradoPor es igual a D y el CodigoPais tiene valor ES (España), el valor del campo IDType del bloque Generador debe ser Pasaporte (03) o No Censado (07).
1231El valor del campo IDType del bloque Generador es incorrecto.
1258El valor de campo NIF del bloque Generador es incorrecto.
1259En el bloque Generador si se identifica mediante NIF, el NIF debe estar identificado y ser distinto del NIF ObligadoEmision.
1273Error en el bloque de Generador.

Weiterlesen

VeriFactu-Fehler 3000: Die AEAT hat diese Rechnung bereits erfasstDer Fehler 3000 meldet, dass die AEAT diese Rechnung bereits hat. Wann er auftritt, welcher Status zurückkommt und warum Odoo nicht erneut sendet.VeriFactu-Fehler bei berichtigten Rechnungen: TipoRectificativa, berichtigte und ersetzte RechnungenVeriFactu-Fehler bei Berichtigungs- und Ersatzrechnungen (1107, 1114 bis 1119): wann TipoRectificativa und ImporteRectificacion gelten und wie Odoo Gutschriften sendet.VeriFactu-Datensatz korrigieren: Ablauf und die Fehler zu Subsanacion und RechazoPrevioWie ein abgelehnter oder mit Fehlern angenommener VeriFactu-Datensatz korrigiert wird: Subsanacion, RechazoPrevio, Codes 1153 bis 1276, 3003 und 3004 sowie Odoo.
Geprüft im Quellcode des Moduls (Version 20.0) und in den verlinkten Quellen

Quellen