DE · AT · CHGlossar

App und Modul in Odoo: Definition und Unterschied

Aktualisiert:

Gilt für: Odoo 20.0; Community und Enterprise; Odoo Online, Odoo.sh und On-Premise; deutsche Oberfläche

Kurz gesagt

Der Unterschied steht im Manifest: application: True macht ein Modul zur App, ohne dieses Kennzeichen bleibt es ein technisches Modul, das eine bestehende Anwendung ergänzt. Im Apps-Dashboard zeigt der Standardfilter Apps nur Apps, technische Module erscheinen über den Filter Extra. Maßgeblich ist die Dokumentation 20.0, die beide Rollen nicht nach Edition trennt.

Das Wichtigste

  • Im Manifest entscheidet application: True über die Rolle als App; ohne das Kennzeichen bleibt das Paket ein technisches Modul.
  • Das Apps-Dashboard zeigt standardmäßig nur Apps; technische Module erscheinen nach Auswahl des Filters Extra.
  • Abhängigkeiten installiert Odoo mit; beim Deinstallieren entfernt es abhängige Apps und deren Datensätze (Dokumentation 20.0).
  • Die geöffnete Dokumentationsseite 20.0 trennt die beiden Rollen nicht nach Edition; welche Apps eine Edition enthält, ist eine andere Frage.
  • Eigene und Apps-Store-Module nimmt Odoo Online laut Dokumentation 20.0 nicht auf; die Apps-FAQ lässt reine Datenmodule zu.

Modul ist in Odoo ein installierbares Softwarepaket aus Python-Code, Daten und Ansichten, zu dem eine Manifest-Datei (__manifest__.py) die Metadaten liefert; eine App ist ein solches Modul, das sein Manifest mit application: True als eigenständige Anwendung ausweist.

Woher der Unterschied kommt

Was im Apps-Dashboard als Kachel erscheint, ist technisch ein Modul — auch wenn Odoo es als App führt. Ob Odoo es als eigenständige Anwendung führt oder als Zusatz zu einer bestehenden, entscheidet ein Feld in der Manifest-Datei: application. Die Vorgabe ist False; ein ausdrückliches True macht daraus eine App. Installiert, aktualisiert und entfernt wird beides über dasselbe Dashboard (Dokumentation 20.0).

Frage App Technisches Modul
Kennzeichen im Manifest application: True kein Kennzeichen, Vorgabe False
Zweck eigenständige Anwendung ergänzt eine bestehende Anwendung
Sichtbar im Apps-Dashboard Standardfilter Apps erst mit dem Filter Extra
Beispiel Verkauf (Sales) sale, sales_team, digest

Beispiel: ein kleiner Abhängigkeitsbaum

Die App Verkauf (Sales) trägt im Quellcode den Namen sale_management und hängt von den Modulen sale und digest ab; sale selbst führt kein application-Kennzeichen. Die Restaurant-App setzt die Kassensystem-App (Point of Sale) voraus, weil sie deren Funktionen erweitert.

Verkauf (sale_management)       App     application: True
├── sale                        Modul   hängt von sales_team, account_payment, utm ab
└── digest                      Modul
Kassensystem (point_of_sale)    App     application: True
└── Restaurant (pos_restaurant) App     hängt von point_of_sale ab

Wird das Kassensystem entfernt, verschwindet die abhängige Restaurant-App mit; dabei löscht Odoo die zugehörigen Datensätze. Ein Modul ohne eigenes Kennzeichen, aber mit Funktion für zwei Apps, ist sale_crm: Es hängt von sale und crm ab und trägt auto_install, sodass Odoo es automatisch installiert, sobald beide Apps vorhanden sind.

Grundlage und Grenzen

Maßgeblich sind das Manifest und die Dokumentation 20.0; für Deutschland, Österreich und die Schweiz nennt die geöffnete Seite keine Abweichung, und sie trennt die beiden Rollen nicht nach Edition — welche Apps eine Edition enthält, ist eine andere Frage (siehe Community oder Enterprise). Eigene Module und Module aus dem Apps Store spielen Sie auf Odoo.sh oder einem selbst betriebenen Server ein; Odoo Online nennt die Dokumentation 20.0 dafür nicht kompatibel, die Apps-FAQ lässt dort reine Datenmodule ohne Python-Dateien zu. Vor Änderungen an einer Produktivdatenbank rät die Dokumentation zu einer Kopie zum Testen, weil Abhängigkeiten weitere Module mitbringen und das Entfernen Datensätze löscht.

Nicht zu verwechseln mit

  • Fremdmodul aus dem Apps Store: die Herkunft entscheidet nicht über App oder Modul, sondern das Kennzeichen im Manifest (Prüfkriterien für Fremdmodule).
  • Edition (Community oder Enterprise): der Lizenzumfang, keine Aussage über die Rolle als App oder Modul (Odoo Community).
  • Abhängigkeit (depends): die Beziehung zwischen zwei Modulen, kein eigenes Paket; ein Modul kann mehrere Abhängigkeiten haben.

Wie Sie Pakete installieren, aktualisieren und entfernen, steht in Apps und Module installieren; eigenen Code auf den Server bringen Eigene Module einspielen.

Häufige Fragen

Wie finde ich ein technisches Modul im Apps-Dashboard?

Setzen Sie in der App Apps den Filter Extra; der Standardfilter Apps blendet technische Module aus. Erscheint das gesuchte Paket gar nicht, aktualisieren Sie die App-Liste über Apps ‣ App-Liste aktualisieren — dafür nennt die Dokumentation 20.0 den Entwicklermodus als Voraussetzung. Die deutsche Dokumentationsseite führt die Filter als Apps und Extra.

Verliere ich Daten, wenn ich eine App deinstalliere?

Ja. Laut Dokumentation 20.0 löscht die Deinstallation die Datensätze der App in der Datenbank; außerdem wird eine abhängige App mitentfernt, wenn Sie ihre Voraussetzung entfernen — im Beispiel der Dokumentation verschwindet die Restaurant-App mit dem Kassensystem. Testen Sie den Schritt zuerst in einer duplizierten Datenbank.

Zählt ein technisches Modul im Abonnement als App?

Diese Frage beantwortet das Manifest nicht; das Kennzeichen application: True steuert nur die Rolle in Odoo. Die Dokumentation 20.0 weist darauf hin, dass Hinzufügen und Entfernen von Apps andere Apps und die Abonnementkosten beeinflussen können. Welche Pakete Ihr Tarif zählt, klären Sie mit Ihrem Odoo-Ansprechpartner.

Quellen

  1. Apps und Module (Dokumentation 20.0, deutsch)Odoo S.A. · abgerufen am
  2. Module Manifests (Entwicklerdokumentation 20.0, englisch): Feld application, Feld dependsOdoo S.A. · abgerufen am
  3. Manifest der App Verkauf, sale_management/__manifest__.py, Branch 20.0Odoo S.A., GitHub · abgerufen am
  4. Manifest des Moduls sale (Basismodul Verkauf), Branch 20.0Odoo S.A., GitHub · abgerufen am
  5. Manifest der App Kassensystem, point_of_sale/__manifest__.py, Branch 20.0Odoo S.A., GitHub · abgerufen am
  6. Manifest der App Restaurant, pos_restaurant/__manifest__.py, Branch 20.0Odoo S.A., GitHub · abgerufen am
  7. Manifest des Linkmoduls sale_crm, Branch 20.0: depends sale und crm, auto_installOdoo S.A., GitHub · abgerufen am
  8. Odoo Online (Datenbankverwaltung, Dokumentation 20.0, deutsch)Odoo S.A. · abgerufen am
  9. Odoo Apps FAQ: Datenmodule ohne Python-Dateien als Ausnahme für Odoo OnlineOdoo S.A. · abgerufen am
  10. Odoo Release Notes: Version 20, veröffentlicht September 2026Odoo S.A. · abgerufen am