DE · AT · CHRatgeber

Mehrere Filialen mit Odoo-Kasse führen

Rechtsstand: · Aktualisiert:

Gilt für: Odoo 20.0; Community auf eigenem Server; Enterprise auf Odoo Online, Odoo.sh und eigenem Server; Vorgangsart und Lagerzuordnung aus dem Community-Zweig 20.0

Kurz gesagt

Mehrere Filialen bilden Sie in einer Firma ab: je Standort ein eigenes Kassensystem und ein eigenes Lagerhaus, Preise über je Kasse ausgewählte Preislisten, Nachschub über eine Route vom Zentrallager. Eine zweite Firma ist nur nötig, wenn getrennte Buchhaltung gefordert ist; in Odoo Online löst die Mehrfirmenfunktion im Tarif Standard laut Dokumentation einen Tarifwechsel aus.

Das Wichtigste

  • Je Filiale: eigenes Kassensystem, eigene Bargeld-Zahlungsmethode, eigenes Bargeldjournal und eigenes Lagerhaus.
  • Nach dem öffentlichen Community-Zweig 20.0 entnimmt die Kasse die Ware über die Vorgangsart des Lagerhauses ihrer Filiale.
  • Preise je Filiale über Preislisten, die in den Einstellungen der Kasse als verfügbar geführt und dort als Standard gewählt werden.
  • Nachschub: Die Route Produkt nachliefern aus dem Zentrallager füllt das Filiallager automatisch, wenn das Produkt die MTO-Route trägt oder eine Nachbestellregel mit Min. und Max. Menge unter die Schwelle fällt.
  • Mehrere Unternehmen: Datensätze mit leerem Feld Unternehmen gelten in allen Firmen; Lagerhäuser weiterer Firmen legen Sie manuell an.
  • Odoo Online: Die Mehrfirmenfunktion löst im Tarif Standard laut Dokumentation 20.0 einen Tarifwechsel aus.

Eine zweite Filiale ist zuerst eine Frage der Datenstruktur: Bestand, Kasse und Preise sollen je Standort getrennt sichtbar sein, ohne die Buchhaltung zu zerschneiden. Odoo trennt dafür drei Dinge, die leicht durcheinandergehen: das Lagerhaus, das Kassensystem und das Unternehmen. Die ersten beiden gehören zu jeder Filiale, das dritte nur unter einer Bedingung.

Was je Filiale getrennt gehört

Ein Lagerhaus ist in Odoo ein physischer Ort mit Adresse (Lager ‣ Konfiguration ‣ Lagerhäuser). Jede Datenbank bringt eines mit; weitere legen Sie mit Neu an und vergeben Name, Kurzname mit höchstens fünf Zeichen und Adresse. Für mehrere Standorte ist das der vorgesehene Weg: Die Lagerdokumentation hält in der Anleitung zur Nachlieferung zwischen Lagerhäusern fest, dass jeder Laden als eigenes Lagerhaus gilt.

Die Kasse entnimmt nach dem öffentlichen Community-Zweig 20.0 die Ware über die Vorgangsart ihres Lagerhauses: In den Einstellungen des Kassensystems steht im Abschnitt Lager die Vorgangsart (Operation Type). Zu jedem Lagerhaus gehört dort eine eigene Kassen-Vorgangsart, deren Standardquelllagerort der Bestandslagerort dieses Lagerhauses ist; die Kassensitzung legt die Lieferungen dieser Vorgangsart an.

Für Auslieferungen an Kundschaft, die erst später beliefert wird, kommt ein zweites Lagerhaus ins Spiel: Mit Späteren Versand ermöglichen wählen Sie in denselben Einstellungen ein Lagerhaus, eine Route und die Versandrichtlinie.

Dazu kommt die Trennung des Bargelds: Die Dokumentation empfiehlt, jedem Kassensystem eine eigene Bargeld-Zahlungsmethode und ein eigenes Bargeldjournal zuzuweisen, damit Buchungen getrennt und je Kasse nachvollziehbar bleiben.

Die folgende Tabelle zeigt, was je Filiale anzulegen ist.

Baustein Ort in Odoo Wirkung
Lagerhaus Lager ‣ Konfiguration ‣ Lagerhäuser eigener Bestand der Filiale mit Adresse und Kurzname
Vorgangsart Kassensystem ‣ Konfiguration ‣ Einstellungen, Abschnitt Lager bestimmt nach dem öffentlichen Community-Zweig 20.0, aus welchem Lagerhaus die Kasse entnimmt
Kassensystem Kassensystem ‣ Konfiguration ‣ Kassensystem eigener Kassenbildschirm mit eigenen Einstellungen
Bargeld-Zahlungsmethode und Bargeldjournal Kassensystem ‣ Konfiguration ‣ Zahlungsmethoden hält Buchungen getrennt und je Kasse nachvollziehbar
Preisliste Kassensystem ‣ Konfiguration ‣ Einstellungen: Flexible Preislisten, Verfügbar, Standard Preise je Filiale
Nachbestellregel Produktformular, Reiter Lager: Route und Nachbestellregeln automatischer Nachschub aus dem Zentrallager; je Regel ist im Feld Lagerort ein Lagerort gesetzt (alternativ die MTO-Route des Produkts)
Zugriffsrechte Einstellungen ‣ Benutzer & Unternehmen; Kasseneinstellungen: Mit Mitarbeiter-App anmelden wer in welcher Filiale kassiert

Vorgangsart, Lagerzuordnung und der Zeitpunkt der Bestandsaktualisierung sind hier nach dem öffentlichen Community-Zweig 20.0 beschrieben; Lagerhaus, Nachschub und die Grundfunktionen der Kasse folgen der allgemeinen Lager- und Kassendokumentation 20.0. Odoo Community läuft auf einem eigenen Server; Odoo Enterprise läuft auf Odoo Online, auf Odoo.sh oder auf einem eigenen Server, wobei Odoo.sh einen Enterprise-Abonnementcode verlangt.

Eine Firma oder mehrere Unternehmen?

Mehrere Unternehmen in einer Datenbank sind in Odoo möglich. Produkte und Kontakte gelten dort für alle Firmen, solange das Feld Unternehmen am Datensatz leer bleibt; setzen Sie dort eine Firma ein, sieht den Datensatz nur diese Firma. Benutzer erhalten Zugriff auf eine oder mehrere Firmen und wechseln oben rechts über die Firmenauswahl. Ein Produkt behält seinen Verkaufspreis über alle Firmen hinweg; den Kostenwert führt Odoo je Firma.

Für getrennte Abläufe nennt die Dokumentation den kleineren Weg: Wer nur Beschaffung, Lager und Fertigung auseinanderhalten will, erreicht das mit mehreren Lagerhäusern und der analytischen Buchhaltung, während eine zusätzliche Firma mehr Aufwand bedeutet. Eine zweite Firma passt, wenn eine getrennte Rechnungslegung gefordert ist; klären Sie das mit Ihrer Steuerberatung, bevor Sie anlegen.

Die Tabelle stellt die beiden Wege gegenüber.

Kriterium Eine Firma, mehrere Filialen Mehrere Unternehmen in einer Datenbank
Bestand je Filiale ein Lagerhaus, ein gemeinsamer Warenstamm je Firma eigene Lagerhäuser; Odoo legt sie für nach der Ersteinrichtung angelegte Firmen nicht automatisch an
Buchhaltung eine Buchhaltung für alle Filialen je Firma eigene Buchhaltung und eigene Lokalisierung
Preise Preislisten je Kasse wählbar Preisliste trägt ein Feld Unternehmen; bleibt es leer, gilt sie in allen Firmen
Benutzer Zugriff über Gruppen und Datensatzregeln Zugriff je Firma über die Firmenauswahl
Kasse und Lager eine Einrichtung, gemeinsam gepflegt Einstellungen und Vorgangsarten je Firma
Tarif keine Mehrfirmenfunktion nötig Odoo Online: Das Einschalten löst im Tarif Standard laut Dokumentation einen Tarifwechsel auf Custom aus, bei jährlichen oder mehrjährigen Verträgen mit 30 Tagen Frist, bei monatlicher Abrechnung automatisch

Solange eine gemeinsame Buchhaltung gefordert ist, reicht die linke Spalte; die rechte folgt aus einer getrennten Rechnungslegung, nicht aus mehreren Standorten.

Ein Beispiel: drei Filialen, ein Zentrallager

Beispielrechnung mit erfundenen Zahlen. Ein Händler führt ein Zentrallager und drei Läden in derselben Firma.

Ort Lagerhaus (Kurzname) Kasse Preisliste Nachbestellregel je Stück (Min. Menge / Max. Menge)
Zentrallager ZLBAS keine keine –
Laden Bahnhof LBHF Kasse Bahnhof Bahnhof, 5 Prozent Aufschlag 12 / 48
Laden Innenstadt LIZ Kasse Innenstadt Innenstadt, Grundpreis 18 / 60
Laden Ost LOST Kasse Ost Ost, 3 Prozent Nachlass 8 / 32

Ein Produkt mit einem Listenpreis von 24,00 Euro netto kostet an der Kasse Bahnhof 25,20 Euro (24,00 Euro × 1,05). Verkauft diese Kasse an einem Tag 30 Stück, fällt ihr Bestand von 40 auf 10 und liegt damit unter der Min. Menge von 12; mit der Route Produkt nachliefern aus dem Zentrallager stößt die Regel einen Transfer an und füllt das Filiallager bis zur Max. Menge auf.

Typische Fehler

  • Zweite Firma gewählt, obwohl nur die Abläufe getrennt gehören. Eine zusätzliche Firma bringt eigene Buchhaltung, eigene Lokalisierung und eigene Einstellungen mit; für getrennte Beschaffung und Lagerstände nennt die Dokumentation mehrere Lagerhäuser und die analytische Buchhaltung als kleineren Weg.
  • Lagerhaus und Lagerort je Laden nicht getrennt. Ohne eigenes Lagerhaus und eigene Lagerorte liegen alle Bestände in einem Lager; eine Verfügbarkeit je Filiale ist dann nur ablesbar, wenn Lagerorte geführt werden (Lager ‣ Konfiguration ‣ Lagerorte; Funktion Lagerorte), und eine Nachbestellregel greift nur für den Lagerort, der in ihr gesetzt ist. Ein eigenes Lagerhaus je Laden ist der vorgesehene Weg für den Nachschub aus dem Zentrallager, aber keine allgemeine Voraussetzung für getrennte Bestandsansichten oder Nachbestellregeln.
  • Eine Bargeld-Zahlungsmethode für alle Kassen. Die Dokumentation empfiehlt, jedem Kassensystem eine eigene Bargeld-Zahlungsmethode und ein eigenes Bargeldjournal zuzuweisen, damit Buchungen getrennt und je Kasse nachvollziehbar bleiben.
  • Preislisten nicht an der Kasse ausgewählt. Fehlt die Filialliste unter Verfügbar, rechnet die Kasse mit der Standardliste.
  • Automatischen Nachschub nicht eingerichtet. Die Route Produkt nachliefern aus dem Zentrallager allein legt keine Transfers an; automatisch nachgeschoben wird erst, wenn das Produkt zusätzlich die MTO-Route trägt oder eine Nachbestellregel mit Min. und Max. Menge unter die Schwelle fällt. Fehlt beides, wird von Hand umgebucht (Replenish oder Auftrag mit gesetztem Lagerhaus), und niemand sieht, wann eine Filiale unter die Min. Menge fällt.
  • Zugriffsrechte nicht gepflegt. In einer Firma sehen Benutzer die Daten, die ihre Rechte zulassen; neben dem Firmenzugriff bestimmen App- und Modellrechte sowie Datensatzregeln (etwa Benutzer: Nur eigene Dokumente gegenüber Benutzer: Alle Dokumente), wer welche Filialdaten sieht. In einer Mehrfirmen-Datenbank entscheidet zusätzlich der Firmenzugriff je Benutzer.

Fiskalischer Schutz je Filiale

Deutschland verlangt für elektronische Aufzeichnungssysteme im Sinne der KassenSichV – elektronische oder computergestützte Kassensysteme und Registrierkassen – den Schutz durch eine zertifizierte technische Sicherheitseinrichtung (§ 146a Abs. 1 Satz 2 AO, § 1 Abs. 1 KassenSichV); elektronische Buchhaltungsprogramme und die weiteren in § 1 Abs. 1 KassenSichV genannten Systeme fallen nicht darunter. Jede Filialkasse ist ein solches Kassensystem und braucht diesen Schutz für sich, unabhängig davon, wie viele Kassen in einer Firma laufen; Einzelheiten unter Odoo-Kasse und TSE in Deutschland.

In Österreich knüpft die Verpflichtung zur Verwendung eines elektronischen Aufzeichnungssystems an den Betrieb an; die Umsatzgrenzen des § 131b Abs. 1 Z 2 BAO gelten je Betrieb und nicht je Standort. Für mehrere Filialen ist deshalb zuerst zu prüfen, welchem Betrieb oder welchen Betrieben sie zugeordnet sind; eine getrennte Schwellenprüfung je Filiale folgt daraus nicht. Schwellen und Ausnahmen stehen unter Registrierkassa in Österreich mit Odoo.

Die Schweizer Seite der Lokalisierungsdokumentation 20.0 beschreibt Zahlungsscheine, Währungskurse, Mehrwertsteuersätze und Zahlungsformate, aber keinen Abschnitt zu einer Kassen-Sicherheitseinrichtung; was auf den Kassenzettel gehört, steht unter Odoo-Kasse in der Schweiz.

So gehen Sie vor

  1. Bestimmen Sie je Filiale Adresse und Kürzel und legen Sie unter Lager ‣ Konfiguration ‣ Lagerhäuser je eine Zeile an.
  2. Entscheiden Sie die Firmenzahl: eine Firma mit mehreren Lagerhäusern oder getrennte Unternehmen; bei mehreren Firmen legen Sie die Lagerhäuser je Firma manuell an.
  3. Legen Sie je Filiale ein Kassensystem an, wählen Sie im Abschnitt Lager die Vorgangsart des Filiallagerhauses (nach dem öffentlichen Community-Zweig 20.0) und geben Sie der Kasse eine eigene Bargeld-Zahlungsmethode und ein eigenes Bargeldjournal.
  4. Bauen Sie die Preise: flexible Preislisten aktivieren, Preislisten anlegen (Feld Unternehmen nur füllen, wenn die Liste auf eine Firma begrenzt sein soll), in den Kasseneinstellungen unter Verfügbar aufnehmen und je Kasse den Standard setzen.
  5. Richten Sie den Nachschub ein: Setzen Sie am Filiallager im Feld Nachlieferung aus das Zentrallager und wählen Sie am Produkt die erzeugte Route Produkt nachliefern aus dem Zentrallager; je Produkt folgt eine Nachbestellregel mit Min. und Max. Menge und dem Lagerort des Filiallagers (alternativ die MTO-Route des Produkts).
  6. Prüfen Sie nach dem ersten Verkaufstag Bestand, Kassenbericht und offene Lieferungen je Filiale; Kassensitzungen schließen Sie wie unter Schichtabschluss und Kassenabgleich beschrieben.

Häufige Fragen

Muss ich für jede Filiale eine eigene Firma anlegen?

Nein. Legen Sie je Filiale ein Lagerhaus und ein Kassensystem in derselben Firma an; für getrennte Abläufe nennt die Dokumentation mehrere Lagerhäuser und die analytische Buchhaltung als Weg. Eine zweite Firma passt nur bei geforderter getrennter Rechnungslegung; in Odoo Online löst die Mehrfirmenfunktion im Tarif Standard laut Dokumentation einen Tarifwechsel auf Custom aus, im Tarif Eine App Gratis nicht.

Können zwei Filialen unterschiedliche Preise haben, obwohl es einen Artikelstamm gibt?

Ja, über Preislisten. Der Verkaufspreis am Produkt gilt laut Dokumentation in allen Firmen; Filialpreise entstehen über Preislisten, die Sie in den Einstellungen der Kasse unter Verfügbar aufnehmen und je Kasse als Standard wählen. Eine Preisliste trägt ein Feld Unternehmen; bleibt es leer, gilt sie in allen Firmen.

Wann sinkt der Bestand nach einem Verkauf an der Kasse?

Nach dem öffentlichen Community-Zweig 20.0 bucht die Kasse die Warenentnahme über die Vorgangsart des Lagerhauses ihrer Filiale; daraus entstehen Lieferungen. Ob der Bestand sofort oder erst beim Schließen der Kassensitzung aktualisiert wird, steuert dort eine Einstellung am Unternehmen (Update quantities in stock, Standard ist In real time, im Entwicklermodus sichtbar). Die Einstellung gilt für alle Kassen dieses Unternehmens.

Sehen alle Mitarbeitenden alle Filialen?

In einer Firma sehen Benutzer die Daten, die ihre Rechte zulassen: Neben dem Firmenzugriff entscheiden App- und Modellrechte je Benutzer oder Gruppe sowie Datensatzregeln, etwa Benutzer: Nur eigene Dokumente gegenüber Benutzer: Alle Dokumente (User: Own Documents Only und User: All Documents; siehe [Benutzer in Odoo anlegen](/betrieb/odoo-benutzer-anlegen-gruppen/)). In einer Mehrfirmen-Datenbank erhalten Benutzer Zugriff auf eine oder mehrere Firmen und wechseln oben rechts über die Firmenauswahl; ein Datensatz mit gesetztem Feld Unternehmen ist nur in dieser Firma sichtbar.

Wie schließe ich die Kasse an das richtige Lager an?

Nach dem öffentlichen Community-Zweig 20.0 steht in den Einstellungen des Kassensystems im Abschnitt Lager die Vorgangsart (Operation Type). Zu jedem Lagerhaus gehört dort eine eigene Kassen-Vorgangsart, deren Bestandslagerort als Standardquelllagerort dient. Wählen Sie die Vorgangsart des Filiallagerhauses, und prüfen Sie mit einem Testverkauf, ob die Lieferung im richtigen Lager landet.

Quellen

  1. Multi-company (Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  2. Multi-company (Odoo 19.0)Odoo S.A., Dokumentation · abgerufen am
  3. Warehouses (Inventory, Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  4. Warehouses (Inventory, Odoo 19.0)Odoo S.A., Dokumentation · abgerufen am
  5. Locations (Inventory, Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  6. Inter-warehouse replenishment (Inventory, Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  7. Inter-warehouse replenishment (Inventory, Odoo 19.0)Odoo S.A., Dokumentation · abgerufen am
  8. Reordering rules (Inventory, Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  9. Workflow (Point of Sale, Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  10. Products (Point of Sale, Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  11. Shop features (Point of Sale, Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  12. Pricing features (Point of Sale, Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  13. Reporting (Point of Sale, Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  14. Multi-employee management (Point of Sale, Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  15. Pricelists (Sales, Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  16. Compare Editions (Community und Enterprise)Odoo S.A. · abgerufen am
  17. Odoo Preise: Tarife und Häufige Fragen zum Standard- und Custom-Tarif (de_DE)Odoo S.A. · abgerufen am
  18. Access rights (Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  19. Create a project (Odoo.sh, Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  20. Deutsche Übersetzung des Moduls sales_team, Zweig 20.0 (i18n/de.po), Quelle der Beschriftungen Benutzer: Nur eigene Dokumente und Benutzer: Alle DokumenteOdoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  21. Switzerland (Fiscal localization, Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  22. Abgabenordnung (AO), § 146a Ordnungsvorschrift für die Buchführung und für Aufzeichnungen mittels elektronischer AufzeichnungssystemeBundesministerium der Justiz, Gesetze im Internet · abgerufen am
  23. Bundesabgabenordnung (BAO), § 131b Elektronische Registrierkassen, RIS, Fassung vom 14.10.2026Bundeskanzleramt Österreich, Rechtsinformationssystem des Bundes · abgerufen am
  24. Kassensicherungsverordnung (KassenSichV), § 1 Elektronische AufzeichnungssystemeBundesministerium der Justiz, Gesetze im Internet · abgerufen am
  25. Quellcode des Moduls pos_stock, Zweig 20.0 (models/pos_config.py: Felder picking_type_id und warehouse_id), öffentlicher Community-ZweigOdoo S.A., Quellcode (Community) · abgerufen am
  26. Quellcode des Moduls pos_stock, Zweig 20.0 (models/stock_warehouse.py: Feld pos_type_id, Standardquelllagerort des Lagerhauses), öffentlicher Community-ZweigOdoo S.A., Quellcode (Community) · abgerufen am
  27. Quellcode des Moduls pos_stock, Zweig 20.0 (models/res_company.py: Einstellung point_of_sale_update_stock_quantities mit den Werten In real time und At the session closing), öffentlicher Community-ZweigOdoo S.A., Quellcode (Community) · abgerufen am
  28. Ansicht res_config_settings_view_form des Moduls pos_stock, Zweig 20.0 (Abschnitt Inventory mit den Einstellungen Operation Type, Allow Ship Later und Inventory Management), öffentlicher Community-ZweigOdoo S.A., Quellcode (Community) · abgerufen am
  29. Deutsche Übersetzung des Moduls pos_stock, Zweig 20.0 (addons/pos_stock/i18n/de.po), Quelle der Feldnamen Vorgangsart, Lager, Lagerhaus und Späteren Versand ermöglichenOdoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  30. Deutsche Übersetzung der Module point_of_sale und stock, Zweig 20.0 (i18n/de.po), Quelle der Menü- und Feldnamen Kassensystem, Flexible Preislisten, Verfügbar, Standard und LagerhäuserOdoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  31. Deutsche Übersetzung des Moduls stock, Zweig 20.0 (addons/stock/i18n/de.po), Quelle der Feldnamen Lagerorte, Lagerort und NachbestellregelnOdoo S.A., öffentlicher Quellcode (Community) · abgerufen am