DeutschlandAnleitung

Kontenrahmen SKR03 und SKR04 in Odoo einrichten

Rechtsstand: · Aktualisiert:

Gilt für: Odoo 19.0 und 20.0, Community und Enterprise; Odoo Online, Odoo.sh und On-Premise; l10n_de; Kontenzahlen, Zuordnungen und Ladeverhalten aus dem Community-Code

Kurz gesagt

Odoo 19.0 und 20.0 bringen zwei deutsche Kontenplanvorlagen mit: SKR03 (de_skr03) und SKR04 (de_skr04); laut Odoo-Dokumentation installieren neue Odoo-Online-Datenbanken SKR03. Das Paket steht unter Buchhaltung ‣ Konfiguration ‣ Einstellungen im Bereich Steuerliche Lokalisierung und lässt sich nur wechseln, solange keine Buchung erfasst ist; danach nennt die Odoo-Dokumentation ein neues Unternehmen oder eine neue Datenbank. Die Kontenzahlen und Zuordnungen dieses Artikels stammen aus den Kontenvorlagen der Community-Fassung (Zweige 19.0 und 20.0).

Das Wichtigste

  • Odoo 19.0 und 20.0 enthalten die Kontenplanvorlagen de_skr03 (SKR03) und de_skr04 (SKR04); beide sind auf vierstellige Codes eingestellt (code_digits 4). Der Ladevorgang der Community-Fassung füllt kürzere Codes rechts mit Nullen auf und kürzt längere Nummern nicht; im Zweig 20.0 bleiben daher je sechs Konten fünfstellig, etwa 03801 in SKR03 und 05601 in SKR04.
  • Neue Odoo-Online-Datenbanken installieren SKR03; das Paket steht unter Buchhaltung ‣ Konfiguration ‣ Einstellungen.
  • Nach der ersten Buchung ist das Feld Paket schreibgeschützt; die Odoo-Dokumentation nennt dann ein neues Unternehmen oder eine neue Datenbank.
  • Konten liegen unter Buchhaltung ‣ Konfiguration ‣ Kontenplan; Pflichtfelder beim Anlegen sind Code, Kontoname und Typ.
  • Vorgabekonten der Vorlage: Debitoren 1410 (SKR03) oder 1205 (SKR04), Erlöse 8400 oder 4400.
  • Löschen ist nach einer Buchung auf dem Konto nicht möglich; ungenutzte Konten werden als Nicht mehr verwendet gekennzeichnet.

Was Sie vorab brauchen

  • Die Absprache mit Ihrer Steuerberatung: welchen Kontenrahmen sie für Ihr Unternehmen führt und ob sie Ihre Buchungen als DATEV-Datei erhält. Nach der ersten Buchung lässt sich das Paket in Odoo nicht mehr wechseln (Schritt 2).
  • Erweiterte Rechte in der Buchhaltung: Die Einstellungen sind auf die Gruppe mit Konfigurationsrechten beschränkt (im Quellcode account.group_account_manager, Anzeigename Administrator).
  • Die Kontonummern, die Ihre Kanzlei für Sonderkonten erwartet, etwa für Bewirtung, Verrechnungskonten oder erhaltene Anzahlungen.
  • Ein neues Unternehmen oder eine neue Datenbank, falls der Rahmen noch wechseln soll: Das Feld Paket ist nach der ersten Buchung schreibgeschützt.

Die Ordnung schulden Sie unabhängig vom gewählten Rahmen. § 238 Abs. 1 des Handelsgesetzbuchs (HGB) verpflichtet Kaufleute zu einer Buchführung, die einem sachverständigen Dritten in angemessener Zeit einen Überblick über die Geschäftsvorfälle und die Lage des Unternehmens vermittelt; § 239 Abs. 2 HGB verlangt vollständige, richtige, zeitgerechte und geordnete Eintragungen. Von den §§ 238 bis 241 HGB nimmt § 241a HGB Einzelkaufleute aus, die an den Abschlussstichtagen von zwei aufeinander folgenden Geschäftsjahren nicht mehr als jeweils 800.000 Euro Umsatzerlöse und jeweils 80.000 Euro Jahresüberschuss ausweisen; bei einer Neugründung tritt die Befreiung ein, wenn diese Werte am ersten Abschlussstichtag nach der Neugründung nicht überschritten werden. Für die Besteuerung verlangt § 145 Abs. 1 der Abgabenordnung (AO) von der Buchführung denselben Überblick und dieselbe Nachvollziehbarkeit; § 145 Abs. 2 AO verlangt für Aufzeichnungen, dass der Zweck erreicht wird, den sie für die Besteuerung erfüllen sollen. Welcher Kontenrahmen das leistet, stimmen Sie mit der Kanzlei ab; die Anforderungen an das Verfahren stehen im Artikel GoBD und Odoo.

Woran sich SKR03 und SKR04 in Odoo unterscheiden

Odoo liefert für Deutschland zwei Kontenplanvorlagen. Die Gegenüberstellung beruht auf den Kontenvorlagen und Vorlagenparametern im öffentlichen Community-Repository (github.com/odoo/odoo, Zweige 19.0 und 20.0); diese Belege gelten für die Community-Fassung. Angaben zum Standardpaket und zum Paketwechsel stehen in der Odoo-Dokumentation.

Kriterium SKR03 SKR04
Konten in der Vorlage (Zweig 19.0 / Zweig 20.0) 1.274 / 1.304 1.192 / 1.222
Bereich der Erlöskonten 8xxx, zum Beispiel 8400 Erlöse 19 % USt 4xxx, zum Beispiel 4400 Erlöse 19 % USt
Wareneingang 19 % Vorsteuer 3400 5400
Vorgabekonto Debitoren 1410 Forderungen aus Lieferungen und Leistungen ohne Kontokorrent 1205 Forderungen aus Lieferungen und Leistungen (Odoo)
Vorgabekonto Kreditoren 1610 Verbindlichkeiten aus Lieferungen und Leistungen ohne Kontokorrent 3301 Verbindlichkeiten aus Lieferungen und Leistungen
Präfixe der Vorlage für Kassen- und Bankkonten Kasse 100, Bank 120 Kasse 160, Bank 180
Vorgabe in neuen Datenbanken laut Odoo-Dokumentation der Standard für neue Odoo-Online-Datenbanken keine Vorgabe; die Dokumentation nennt SKR03 als Standard

Beide Vorlagen arbeiten gleich: Beide sind auf vierstellige Kontonummern eingestellt (code_digits 4). Der Ladevorgang der Community-Fassung formatiert jeden Code auf diese Breite: Kürzere Codes füllt er rechts mit Nullen auf, bei code_digits 4 wird aus der Nummer 12 die Nummer 1200; eine längere Nummer kürzt er nicht (account/models/chart_template.py, Zweige 19.0 und 20.0). Im Zweig 20.0 behalten deshalb je sechs Konten ihre fünfstelligen Nummern: in SKR03 03801 bis 03804 sowie 04101 und 04102, in SKR04 05601 bis 05604 sowie 06351 und 06352. Alle übrigen Nummern beider Vorlagen sind vierstellig, im Zweig 19.0 alle. Beide Vorlagen setzen außerdem den Prüfpfad (Audit Trail) auf die eingeschränkte Fassung (restrictive_audit_trail). Endgültig gebuchte Buchungen lassen sich in der deutschen Lokalisierung anschließend nicht mehr ändern oder löschen (Odoo-Dokumentation Deutschland). Auch die Wechselregel gilt für beide Pakete.

In einer Umgebung mit mehreren Unternehmen wählt jedes Unternehmen sein Paket selbst, Zweigniederlassungen folgen dem Mutterunternehmen (Odoo-Dokumentation, Fiskallokalisierungen). Stimmen Sie ab, welches Paket die Kanzlei hinterlegt hat, denn die Kontonummern erscheinen in jeder Übergabe.

Die Aussage, dass eine neue Datenbank SKR03 erhält, steht in der Odoo-Dokumentation für Odoo Online; für Odoo.sh und eine eigene Installation (On-Premise) trifft sie keine Aussage. Dort bestimmt das Land, das Sie bei der Anlage der Datenbank oder des zusätzlichen Unternehmens wählen, welche Lokalisierung und damit welcher Kontenrahmen standardmäßig eingerichtet wird (Odoo-Dokumentation, Kontenplan). Prüfen Sie in jedem Fall das Feld Paket (Schritt 1), statt sich auf eine Vorgabe zu verlassen.

Schritt für Schritt: Kontenrahmen einrichten

Die Menüpfade folgen der englischsprachigen Odoo-Dokumentation; die deutschen Bezeichnungen in Klammern stammen aus der deutschen Übersetzung des Moduls. In der Community-Fassung heißt die App Invoicing, in der deutschen Oberfläche Rechnungsstellung; die Dokumentation und die deutschen Menüpfade in diesem Artikel nennen sie Accounting, in der deutschen Übersetzung Buchhaltung.

Schritt 1: Installiertes Paket prüfen

Öffnen Sie Buchhaltung ‣ Konfiguration ‣ Einstellungen (Accounting ‣ Configuration ‣ Settings) und lesen Sie im Bereich Steuerliche Lokalisierung (Fiscal Localization) das Feld Paket (Package) ab. Dort steht die Vorlage der Datenbank: de_skr03 oder de_skr04.

Schritt 2: Paket wählen oder wechseln

Solange keine Buchung erfasst ist, ist das Feld Paket änderbar: Wählen Sie die gewünschte Vorlage aus und speichern Sie. Sobald Buchungen existieren, ist das Feld schreibgeschützt (Odoo-Dokumentation Deutschland und Kontenplan). Im Community-Quellcode der Ansicht steht daneben die Schaltfläche Erneut laden (Reload), die Konten und Steuern der Vorlage neu einspielt und laut ihrem (englischen) Hinweistext “This action is irreversible.” nicht rückgängig zu machen ist (account/views/res_config_settings_views.xml, Zweige 19.0 und 20.0). Für den Wechsel auf den anderen Rahmen legen Sie ein neues Unternehmen oder eine neue Datenbank an und erfassen die Buchungen dort erneut (Odoo-Dokumentation Deutschland und Fiskallokalisierungen).

Schritt 3: Kontenplan prüfen und ergänzen

Öffnen Sie Buchhaltung ‣ Konfiguration ‣ Kontenplan (Chart of Accounts) und vergleichen Sie die Nummern mit der Liste Ihrer Kanzlei; die Liste lässt sich nach Code, Kontoname oder Typ sortieren. Für ein eigenes Konto klicken Sie auf Erstellen (Create) und füllen mindestens Code, Kontoname und Typ aus.

Der Typ bestimmt mehr als die Darstellung: Er legt fest, in welchen Berichten das Konto erscheint, wie das Geschäftsjahr abgeschlossen wird und ob Odoo Eröffnungsbuchungen erzeugt. Ein Erlöskonto mit dem Typ Forderungen führt zu falschen Auswertungen. Drei weitere Felder zählen im Alltag:

  • Standardsteuern: die Steuer, die bei einer Buchung auf dieses Konto vorgeschlagen wird.
  • Abstimmung erlauben (19.0: Allow Reconciliation; 20.0: Payment Reconciliation, deutsch Zahlungsabstimmung): nötig, damit Sie Bank- oder Kassenbewegungen einem Beleg zuordnen können.
  • Kontengruppe: Odoo leitet sie aus dem Code ab; das Beispiel der Odoo-Dokumentation ist ein Konto 131200, das zur Gruppe 131000 gehört. Eine abweichende Gruppe tragen Sie am Konto ein; eigene Gruppen legt nur der Entwicklermodus unter Buchhaltung ‣ Konfiguration ‣ Kontengruppen an.

Löschen Sie keine Konten: Sobald auf einem Konto gebucht wurde, lässt es sich nicht mehr entfernen. Odoo sieht dafür das Kennzeichen Nicht mehr verwendet (Deprecated) vor.

Schritt 4: Vorgabekonten für Verkäufe und Einkäufe hinterlegen

Die Vorlage setzt ein Erlös- und ein Aufwandskonto sowie Debitoren- und Kreditorenkonto; in SKR03 sind das 8400, 3400, 1410 und 1610, in SKR04 4400, 5400, 1205 und 3301. Ertrags- und Aufwandskonto für Produkte und Produktkategorien hinterlegen Sie im Bereich Standardkonten (Default Accounts) selbst. Ausnahmen tragen Sie in der Steuerposition (Fiscal Position) ein: links das Konto, das am Produkt hinterlegt ist, rechts das Ersatzkonto. Prüfen Sie jede Ausnahme an einer Testrechnung.

Schritt 5: Testbuchung kontrollieren

Erfassen Sie eine Kundenrechnung mit einem Produkt und öffnen Sie die erzeugte Buchung. Lesen Sie die Buchungszeilen ab: Erlöskonto, Konto des offenen Postens und Steuerzeile müssen zum Kontenrahmen und zur Erwartung der Kanzlei passen. Ein falsches Konto korrigieren Sie dort, wo es hinterlegt ist: am Produkt, an der Produktkategorie oder in der Steuerposition.

Konto-Zuordnung: dasselbe Geschäft auf anderen Nummern

Die beiden Rahmen führen die Konten in anderen Bereichen; dieselbe Buchung liegt je nach Paket auf einer anderen Nummer. Die Zuordnung zeigt die Vorgaben der Odoo-Vorlagen (template_de_skr03.py und template_de_skr04.py, Zweige 19.0 und 20.0).

Vorgabe in Odoo SKR03 SKR04
Kundenforderung (Vorgabekonto Debitoren) 1410 1205
Lieferantenverbindlichkeit (Vorgabekonto Kreditoren) 1610 3301
Erlöskonto 8400 Erlöse 19 % USt 4400 Erlöse 19 % USt
Aufwandskonto Wareneingang 3400 Wareneingang 19 % Vorsteuer 5400 Wareneingang 19 % Vorsteuer
Erträge aus der Währungsumrechnung 2660 4840
Aufwendungen aus der Währungsumrechnung 2150 6880
Lagerbewertungskonto der Vorlage (account_stock_valuation_id) 7200 Waren (Inventar) 1000 Roh-, Hilfs- und Betriebsstoffe

Auch gewöhnliche Aufwendungen liegen in beiden Vorlagen weit auseinander: Gehälter stehen auf 4120 (SKR03) und 6020 (SKR04), Miete (unbewegliche Wirtschaftsgüter) auf 4210 und 6310, Bürobedarf auf 4930 und 6815. Das Umsatzsteuerkonto zu 19 Prozent ist 1776 in der SKR03-Vorlage und 3806 in der SKR04-Vorlage.

Beispielrechnung: Eine Kundenrechnung über 1.000,00 Euro netto mit 19 Prozent Umsatzsteuer (§ 12 Abs. 1 UStG) ergibt 190,00 Euro Steuer und 1.190,00 Euro brutto. Der Erlös steht in einer SKR03-Datenbank auf 8400, in einer SKR04-Datenbank auf 4400, der offene Posten auf 1410 beziehungsweise 1205; die Beträge sind gleich.

So prüfen Sie das Ergebnis

  • Das Feld Paket zeigt den Rahmen, den Ihre Kanzlei führt.
  • Im Kontenplan stehen die erwarteten Kontonummern; ungenutzte Konten sind als Nicht mehr verwendet gekennzeichnet statt gelöscht.
  • Eine Testrechnung bucht Erlös, Forderung, Aufwand und Steuer auf die erwarteten Konten.
  • Wenn Ihre Kanzlei die Zahlen als DATEV-Datei erhält, vergleichen Sie die Kontonummern in der exportierten Buchungsdatei mit dem Kontenplan. Der Editionsvergleich führt Hauptbuch und Buchhaltungsberichte nur in der Enterprise-Spalte, und das Modul l10n_de_reports für den DATEV-Export liegt nicht im Community-Quellcode; die Reihenfolge der Exporte steht im Artikel DATEV-Export aus Odoo.
  • Die Steuerpositionen für Auslandsfälle ersetzen Konten wie vorgesehen. Was die deutsche Lokalisierung sonst mitbringt, steht im Überblick Odoo für Deutschland.

Wenn etwas nicht klappt

Symptom Ursache Abhilfe
Das Feld Paket lässt sich nicht ändern Es gibt bereits Buchungen; das Feld ist schreibgeschützt Neues Unternehmen oder neue Datenbank anlegen und die Buchungen dort neu erfassen
Die Kontonummern passen nicht zu denen der Kanzlei Anderes Paket als in der Kanzlei hinterlegt Ohne Buchungen das Paket wechseln; sonst einzelne Konten anpassen und die Nummern mit der Kanzlei abstimmen
Ein Konto lässt sich nicht löschen Auf dem Konto wurde bereits gebucht Konto behalten und als Nicht mehr verwendet kennzeichnen
Die Kontengruppe passt nicht zur Auswertung Odoo leitet die Gruppe aus dem Code ab Gruppe am Konto eintragen; eigene Gruppen im Entwicklermodus unter Buchhaltung ‣ Konfiguration ‣ Kontengruppen anlegen
Der Erlös landet auf dem falschen Konto Erlöskonto ist am Produkt oder an der Produktkategorie hinterlegt Konto am Produkt oder an der Kategorie ändern oder in der Steuerposition ein Ersatzkonto eintragen

Wann Sie Hilfe holen sollten

Die Wahl des Kontenrahmens, die Nummern für Sonderkonten und die Frage, ob Ihre Kanzlei mit SKR03 oder SKR04 arbeitet, gehören in die Steuerberatung: Sie kennt den Bestand, in den Ihre Buchungen laufen. Unterstützung brauchen Sie auch, wenn Konten oder Steuern der Vorlage für Ihr Geschäft nicht passen, etwa bei Bewirtung, Anzahlungen oder innergemeinschaftlichen Lieferungen. Bei Fehlern der Vorlage hilft der Odoo-Support oder Ihr Implementierungspartner weiter.

Häufige Fragen

Kann ich SKR03 später auf SKR04 umstellen?

Solange keine Buchung erfasst ist, ja: Das Feld Paket unter Buchhaltung ‣ Konfiguration ‣ Einstellungen ist dann änderbar. Sobald Buchungen erfasst sind, ist das Feld schreibgeschützt; die Odoo-Dokumentation nennt dann ein neues Unternehmen oder eine neue Datenbank, in der Sie alle Buchungen neu erfassen. Die bisherige Datenbank behalten Sie zum Nachschlagen.

Welchen Kontenrahmen verwendet Odoo standardmäßig?

Neue Odoo-Online-Datenbanken installieren SKR03. SKR04 wählen Sie im Feld Paket, solange noch keine Buchung erfasst ist. In einer bestehenden Datenbank lesen Sie den Rahmen unter Buchhaltung ‣ Konfiguration ‣ Einstellungen im Bereich Steuerliche Lokalisierung ab.

Muss ich Konten löschen, die ich nicht nutze?

Nein. Ein Konto, auf dem gebucht wurde, lässt sich nicht mehr löschen. Odoo sieht dafür das Kennzeichen Deprecated vor, in der deutschen Oberfläche Nicht mehr verwendet; das Konto bleibt in alten Buchungen sichtbar und verschwindet aus den Auswahllisten.

Darf ich eigene Kontonummern verwenden?

Ja. Beim Anlegen oder Bearbeiten eines Kontos können Sie den Code ändern; die Kontengruppe leitet Odoo standardmäßig aus dem Code ab, eine abweichende Gruppe tragen Sie am Konto ein. Stimmen Sie neue Nummern mit Ihrer Steuerberatung ab, weil die Buchungen mit diesen Nummern übergeben werden.

Quellen

  1. Germany (Fiscal localization), Abschnitt Chart of accounts, Odoo 19.0 DokumentationOdoo S.A. · abgerufen am
  2. Germany (Fiscal localization), Abschnitt Chart of accounts, Odoo 20.0 DokumentationOdoo S.A. · abgerufen am
  3. Chart of accounts, Odoo 19.0 DokumentationOdoo S.A. · abgerufen am
  4. Chart of accounts, Odoo 20.0 DokumentationOdoo S.A. · abgerufen am
  5. Fiscal positions (tax and account mapping), Odoo 19.0 DokumentationOdoo S.A. · abgerufen am
  6. Fiscal localizations, Abschnitte Configuration und List of countries, Odoo 19.0 DokumentationOdoo S.A. · abgerufen am
  7. Fiscal localizations, Abschnitte Configuration und List of countries, Odoo 20.0 DokumentationOdoo S.A. · abgerufen am
  8. Odoo-Quellcode, addons/l10n_de, models/template_de_skr03.py, models/template_de_skr04.py und models/chart_template.py, Zweig 19.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  9. Odoo-Quellcode, addons/l10n_de, data/template/account.account-de_skr03.csv und account.account-de_skr04.csv, Zweig 19.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  10. Odoo-Quellcode, addons/l10n_de, data/template/account.account-de_skr03.csv und account.account-de_skr04.csv, Zweig 20.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  11. Odoo-Quellcode, addons/l10n_de, models/template_de_skr03.py, models/template_de_skr04.py und models/chart_template.py, Zweig 20.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  12. Odoo-Quellcode, addons/account/views/res_config_settings_views.xml, Feld chart_template mit readonly="has_accounting_entries" und Schaltfläche Reload mit dem Hinweis "This action is irreversible.", Zweig 19.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  13. Odoo-Quellcode, addons/account/views/res_config_settings_views.xml, Feld chart_template mit readonly="has_accounting_entries" und Schaltfläche Reload mit dem Hinweis "This action is irreversible.", Zweig 20.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  14. Odoo-Quellcode, addons/account/models/chart_template.py, Formatierung der Kontencodes auf code_digits und Auffüllen kürzerer Codes rechts mit Nullen, Zweig 19.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  15. Odoo-Quellcode, addons/account/models/chart_template.py, Formatierung der Kontencodes auf code_digits und Auffüllen kürzerer Codes rechts mit Nullen, Zweig 20.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  16. Odoo-Quellcode, addons/account/models/account_account.py, Feld reconcile mit Bezeichnung Allow Reconciliation, Zweig 19.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  17. Odoo-Quellcode, addons/account/models/account_account.py, Feld reconcile mit Bezeichnung Payment Reconciliation, Zweig 20.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  18. Odoo-Quellcode, addons/account/i18n/de.po, deutsche Bezeichnungen der Buchhaltungsoberfläche, Zweig 19.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  19. Odoo-Quellcode, addons/account/i18n/de.po, deutsche Bezeichnungen der Buchhaltungsoberfläche, Zweig 20.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  20. Odoo-Quellcode, addons/account/__manifest__.py, Modulname Invoicing, Zweig 19.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  21. Odoo editions comparison (Invoicing, Comprehensive Accounting)Odoo S.A. · abgerufen am
  22. Odoo Preis- und Hostingseite (Odoo Online, Odoo.sh, On-Premise)Odoo S.A. · abgerufen am
  23. § 238 Handelsgesetzbuch (HGB), BuchführungspflichtBundesministerium der Justiz, Gesetze im Internet · abgerufen am
  24. § 239 Handelsgesetzbuch (HGB), Führung der HandelsbücherBundesministerium der Justiz, Gesetze im Internet · abgerufen am
  25. § 241a Handelsgesetzbuch (HGB), Befreiung von der Pflicht zur Buchführung und Erstellung eines InventarsBundesministerium der Justiz, Gesetze im Internet · abgerufen am
  26. § 145 Abgabenordnung (AO), Allgemeine Anforderungen an die Buchführung und AufzeichnungenBundesministerium der Justiz, Gesetze im Internet · abgerufen am
  27. § 12 Umsatzsteuergesetz (UStG), SteuersätzeBundesministerium der Justiz, Gesetze im Internet · abgerufen am