Rückverfolgbarkeit in Odoo für Audits
Kurz gesagt
Für ein Audit zählt die Kette, nicht die Funktion: In Odoo 20.0 zeigen Sie sie an der Los-/Seriennummer über den Rückverfolgbarkeitsbericht und über die Bewegungshistorie unter Lager ‣ Berichtswesen. Der Nachweis trägt nur, wenn Verfolgung und Vorgangsarten vorher eingerichtet sind und Sie die Daten ausleiten können; die Fristen stehen in § 147 AO, § 132 BAO und Art. 958f OR.
Das Wichtigste
- Lager ‣ Berichtswesen ‣ Bewegungshistorie zeigt die Buchungen je Los-/Seriennummer; diese Ansicht sehen nur Administratoren.
- An der Los-/Seriennummer öffnet die Schaltfläche Rückverfolgbarkeit den Weg vom Wareneingang bis zur Lieferung.
- Ausleiten: Listensicht ‣ Aktionen ‣ Exportieren, als CSV oder XLSX.
- Aufbewahrung Deutschland: zehn Jahre für Bücher und Aufzeichnungen, acht Jahre für Buchungsbelege (§ 147 Abs. 3 Satz 1 AO).
- Österreich sieben Jahre (§ 132 Abs. 1 BAO); Schweiz zehn Jahre ab Ablauf des Geschäftsjahres (Art. 958f Abs. 1 OR).
- Der Bericht zur Unveränderlichkeitsprüfung deckt gesicherte Buchungssätze der App Buchhaltung, nicht Lagerbewegungen.
Wenn eine Partie zurückgerufen wird, zählt die Uhr: Welche Kunden haben Ware aus diesem Los erhalten, und mit welcher Lieferung kam sie ins Haus? Prüfer stellen dieselbe Frage später als Nachweis. Odoo hält die Antwort in den Lagerbuchungen bereit, aber nur, wenn beim Buchen Nummern erfasst wurden.
Was ein Audit verlangt
Für diesen Rückverfolgbarkeitsfall fassen wir den Nachweis in vier Fragen zusammen (redaktionelle Prüfliste dieses Artikels, keine gesetzliche Vorgabe): Ist jede Bewegung einer Nummer erfasst? Verweist jede Bewegung auf einen Beleg? Ist der Bestand zum Stichtag belegbar? Und sind die Daten noch da, wenn der Prüfer kommt?
Diese Kette gibt es nur für Produkte, die auf Los- oder Seriennummernverfolgung stehen. Ein Produkt ohne Verfolgung bucht weiter Bewegungen, aber keine Nummer, und taucht in keiner Abfrage nach einer Nummer auf.
In Deutschland knüpft die Außenprüfung an § 147 der Abgabenordnung (AO) an. Sind die Unterlagen mit einem Datenverarbeitungssystem erstellt, kann die Finanzbehörde nach § 147 Abs. 6 AO Einsicht nehmen, eine maschinelle Auswertung nach ihren Vorgaben verlangen oder die Übertragung in einem maschinell auswertbaren Format. Wer Unterlagen elektronisch aufbewahrt, muss nach § 147 Abs. 2 Nr. 2 AO sicherstellen, dass sie während der Aufbewahrungsfrist jederzeit verfügbar sind, unverzüglich lesbar gemacht und maschinell ausgewertet werden können. Die GoBD fassen das Verfahren zusammen (BMF-Schreiben vom 28. November 2019, 2. Änderung vom 14. Juli 2025); Einzelheiten stehen in GoBD und Odoo.
In Österreich lässt § 132 Abs. 2 BAO die Aufbewahrung auf Datenträgern nur zu, wenn die vollständige, geordnete, inhaltsgleiche und urschriftgetreue Wiedergabe bis zum Fristablauf jederzeit gewährleistet ist; liegen die Unterlagen ausschließlich auf Datenträgern vor, entfällt die Urschriftgetreue (§ 132 Abs. 2 Satz 2 BAO). Die Schweiz erlaubt nach Art. 958f Abs. 3 OR Papier, elektronische oder vergleichbare Aufbewahrung, wenn die Übereinstimmung mit den Geschäftsvorfällen gewährleistet ist und die Aufzeichnungen jederzeit wieder lesbar gemacht werden können.
Dazu kommen Branchenpflichten: Die Verordnung (EG) Nr. 178/2002 gilt für alle Produktions-, Verarbeitungs- und Vertriebsstufen von Lebensmitteln und Futtermitteln im EU-Binnenmarkt, also in Deutschland und Österreich (Art. 1 Abs. 3); für die Schweiz folgt daraus keine Inlandspflicht. Art. 18 verlangt die Rückverfolgbarkeit auf allen Stufen (Abs. 1) und die Feststellung des Lieferanten jeder Partie (Abs. 2) sowie der Unternehmen, an die geliefert wurde (Abs. 3), auf Aufforderung der zuständigen Behörde.
Die Nachweiskarte: Anforderung und Auswertung
Die Tabelle ordnet jeder Anforderung die Auswertung zu, mit der Sie sie in Odoo 20.0 zeigen; die rechte Spalte sagt, was der Nachweis enthält.
| Anforderung im Audit | Nachweis in Odoo 20.0 | Was der Nachweis zeigt |
|---|---|---|
| Vollständige Kette je Nummer | Lager ‣ Berichtswesen ‣ Bewegungshistorie, gruppiert nach Los-/Seriennummer | je Buchung Datum, Referenz, Produkt, Los-/Seriennummer, Von, Nach, Menge, Einheit und Status |
| Richtung: vorwärts zu den Kunden, rückwärts zum Wareneingang | Lager ‣ Produkte ‣ Los-/Seriennummern, Nummer öffnen, Schaltfläche Rückverfolgbarkeit | alle Lagerbuchungen dieser Nummer mit Referenzbeleg in einer Liste |
| Bestand am Stichtag und je Lagerplatz | Lager ‣ Berichtswesen ‣ Bestand und Detaillierter Bestand (dafür Lagerorte einschalten) | Menge je Lagerort; der detaillierte Bericht führt Los-/Seriennummer und Lagerort je Zeile |
| Belegbezug: Bestellung, Wareneingang, Lieferauftrag | Referenzspalte der Bewegungshistorie; Beleg über die Schaltflächen am Vorgang öffnen | Vorgangsnummern wie WH/IN/00012 und WH/OUT/00012 und der Weg zum Ursprungsbeleg |
| Verfügbarkeit und Dauer | gespeicherte Filter (Favoriten) und eigene Ablage der Exporte | Deutschland zehn Jahre für Bücher und Aufzeichnungen, acht Jahre für Buchungsbelege (§ 147 Abs. 3 Satz 1 AO); Österreich sieben Jahre (§ 132 Abs. 1 BAO); Schweiz zehn Jahre ab Ablauf des Geschäftsjahres (Art. 958f Abs. 1 OR) |
| Datenzugriff des Prüfers: Übertragung in einem maschinell auswertbaren Format (Deutschland, § 147 Abs. 6 Satz 1 Nr. 3 AO) | Listensicht ‣ Aktionen ‣ Exportieren, als CSV oder XLSX | eine Datei mit den Spalten der Auswertung; was im Exportdialog ausgewählt ist, steht in der Datei |
| Branchenpflicht Lebensmittel im EU-Binnenmarkt (Deutschland und Österreich): eine Stufe zurück, eine Stufe vor (Art. 18 Abs. 2 und 3 VO (EG) Nr. 178/2002) | Los-/Seriennummer am Wareneingang und auf dem Lieferschein (dafür die Option Los- & Seriennummern auf Lieferscheinen anzeigen setzen) | von welchem Lieferanten die Partie kam und an welche Kunden sie ging |
| Qualitätsnachweis je Nummer (App Qualität, laut Editionsvergleich nur Enterprise) | Kontrollen (Quality ‣ Quality Control ‣ Quality Checks) mit dem Feld Los-/Seriennummer | das Prüfergebnis zur geprüften Nummer |
| Unveränderbarkeit gesicherter Buchungssätze (App Buchhaltung) | Buchhaltung ‣ Konfiguration ‣ Einstellungen, Abschnitt Berichtswesen: Bericht über die Unveränderlichkeitsprüfung von Daten | Hash-Kette und Lückenkontrolle der gesicherten Buchungssätze; Lagerbewegungen erfasst der Bericht nicht |
Ein Beispiel: eine Partie vom Eingang bis zum Kunden
Beispielrechnung mit erfundenen Nummern und Mengen. Ein Betrieb erhält am 3. März 2026 1.200 Beutel eines verfolgten Produkts (Los L-2026-041), liefert die Partie über drei Wochen aus und verschrottet einen Rest.
| Bewegung | Beleg | Menge in Beuteln | Bestand des Loses in Beuteln |
|---|---|---|---|
| Wareneingang, 3. März 2026 | WH/IN/00187 | +1.200 | 1.200 |
| Sieben Lieferungen, 5. bis 24. März 2026 | WH/OUT/00211 bis WH/OUT/00217 | −1.020 | 180 |
| Verschrottung, 25. März 2026 | WH/SCR/00012 | −40 | 140 |
| Bestand am 31. März 2026 | – | – | 140 |
Die Probe geht auf: 1.200 minus 1.020 minus 40 ergibt 140. Der Prüfer sieht die sieben Lieferungen einzeln mit ihrer Nummer, dazu Verschrottung und Restbestand. Rückwärts führt der Weg vom Lieferauftrag über Detaillierte Vorgänge und die Rückverfolgbarkeit zum Wareneingang WH/IN/00187.
Korrekturen bleiben sichtbar: Der Community-Zweig 20.0 verweigert das Stornieren einer erledigten Lagerbuchung mit Ausnahme der Buchungen auf einen Inventur-Lagerort und verweist auf eine Rückgabe (Modul stock, Datei models/stock_move.py); eine Korrektur wird damit zu einer neuen Buchung. Für Enterprise, Odoo Online und Odoo.sh belegt der Community-Code diese Regel nicht.
Typische Fehler
- Verfolgung erst nach dem Wareneingang eingeschaltet: Vorhandener Bestand liegt ohne Nummer; die Dokumentation beschreibt als Weg eine Bestandsanpassung, also Menge auf null und Neuerfassung mit Nummer.
- Die Vorgangsart nimmt Ware ohne Nummer an: Solche Buchungen erscheinen in keiner Abfrage nach der Nummer. Wo die Haken sitzen, zeigt Chargen und Seriennummern in Odoo.
- Nur die eigene Nummer statt der Lieferantencharge: Rückwärts fehlt die Verbindung zum Lieferanten; seine Nummer gehört in die Interne Referenz der Nummer.
- Qualitätskontrolle auf Ebene des ganzen Vorgangs: Das Feld Los-/Seriennummer erscheint laut Dokumentation nur bei den Ebenen Produkt und Menge, die Kontrolle lässt sich der Partie dann nicht zuordnen (App Qualität, Enterprise).
- Export erst am Prüfungstag geübt: Die Berichte im Lager sehen Administratorrechte vor, und der Exportdialog entscheidet über die Spalten der Datei. Ohne Export liegt der Nachweis allein in der Datenbank.
So gehen Sie vor
Die Schritte 1 und 2 brauchen Administratorrechte in der App Lager; die Auswertungen sehen laut Dokumentation ebenfalls nur Benutzer mit Administratorzugang.
- Verfolgung prüfen: Haken Los- & Seriennummern in Lager ‣ Konfiguration ‣ Einstellungen; am Produkt das Feld Nachverfolgung auf Mittels Los oder Mittels einzigartiger Seriennummer. Ergebnis: Das Produkt wird nur mit Nummer gebucht.
- Vorgangsarten festlegen: neue Nummern am Eingang erlauben, am Lieferauftrag bestehende wählen. Ergebnis: Kein Beleg wird ohne Nummer validiert, wo Ihre Kette sie braucht.
- Testpartie durchbuchen: Wareneingang, Umlagerung, Lieferung, Verschrottung. Ergebnis: Die Rückverfolgbarkeit zeigt alle vier Buchungen mit Referenz.
- Auswertungen als Favoriten speichern: Bewegungshistorie nach Los-/Seriennummer gruppiert, dazu Bestand je Lagerort; auf Wunsch für weitere Benutzer freigegeben. Ergebnis: Die Ansichten stehen beim nächsten Termin bereit.
- Export üben: Listensicht ‣ Aktionen ‣ Exportieren, Spalten kontrollieren. Ergebnis: Eine Datei mit Nummer, Beleg, Menge und Datum liegt in Ihrer Ablage.
- Fristen und Ablage festhalten: Notieren Sie die Frist an Ihrem Sitz und den Ablageort der Exporte. Ergebnis: Der Nachweis bleibt auffindbar. Die Länderfristen behandeln Aufbewahrung in Deutschland, Aufbewahrung in Österreich und Aufbewahrung in der Schweiz.