DE · AT · CHAnleitung

Projektrentabilität in Odoo auswerten

Aktualisiert:

Gilt für: Odoo 20.0 Enterprise; Projekt, Zeiterfassung und Buchhaltung; Odoo Online, Odoo.sh und On-Premise; Verfügbarkeit der Ansicht in Community nicht bestätigt

Kurz gesagt

In Odoo 20.0 beschreibt die Dokumentation im Projekt-Dashboard (profitability) rechts eine Rentabilitätsübersicht, die Erlöse und Kosten aller Datensätze trennt, die mit dem Projekt und seiner Kostenstelle verknüpft sind; Voraussetzung ist ein abrechenbares Projekt, dessen Datensätze mit Projekt und Kostenstelle verknüpft sind, und Zeiterfassungen sind eine mögliche Erlös- und Kostenquelle. Der Ablauf setzt die App Buchhaltung voraus, die der Editionsvergleich von Odoo S.A. nur unter Enterprise führt; die Dokumentation nennt für die Ansicht selbst keine Edition, und ob eine Community-Installation sie zeigt, ist nicht bestätigt. Odoo Online und Odoo Enterprise (On-Premise oder Odoo.sh) sind laut Preisseite dieselbe Software; unterschiedlich sind nur Hosting und Infrastruktur.

Das Wichtigste

  • Die Rentabilität steht im Dashboard des Projekts.
  • Die Ansicht trennt Erlöse und Kosten; sie führt je Betrag drei Spalten: Expected, bei den Erlösen To invoice und Invoiced, bei den Kosten To bill und Billed.
  • Nur Datensätze mit Verknüpfung zu Projekt und Kostenstelle erscheinen in der Übersicht.
  • Die Kosten der Zeiterfassung kommen laut Dokumentation aus den HR-Einstellungen des Mitarbeiters, nicht aus dem Verkaufspreis; ein Feld benennt die Rentabilitätsdokumentation dort nicht.
  • Kostenstellen und Kostenstellenpläne kommen aus dem Modul Analytic Accounting (Kostenrechnung), das im Community-Zweig 20.0 unter LGPL-3 liegt.

Was Sie vorab brauchen

  • Ein abrechenbares Projekt. Die Dokumentation führt die Rentabilität im Projekt-Dashboard für alle abrechenbaren Projekte.
  • Eine Kostenstelle am Projekt. In der Übersicht erscheint nur, was mit dem Projekt und seiner Kostenstelle verknüpft ist.
  • Die Apps Projekt und Buchhaltung (für die Kostenstelle). Für die Abrechnung von Arbeitszeit nach Zeit und Material nennt die Dokumentation zusätzlich die aktivierte Kostenrechnung in den Buchhaltungseinstellungen und die aktivierte Zeiterfassung in den Projekteinstellungen; Zeiterfassungen sind eine mögliche Erlös- und Kostenquelle der Auswertung, keine Voraussetzung jeder Auswertung.
  • Für alle, die Zeiten buchen, einen Mitarbeiterdatensatz: Nur registrierte Mitarbeiter können Zeiterfassungen anlegen. Die Zeitkosten führt die Rentabilitätsdokumentation auf die HR-Einstellungen des Mitarbeiters zurück, ohne ein Feld zu nennen.
  • Für das Prüfen fremder Zeiten einen Benutzer mit der Zeiterfassungsstufe Benutzer: alle Zeiterfassungen oder Administrator, siehe Benutzer anlegen und Zugriffsgruppen.

Die Zuordnung läuft über die Kostenstelle (analytic account). Kostenstellen und Kostenstellenpläne gehören zum Modul Analytic Accounting (Kostenrechnung); dieses Modul steht im öffentlichen Community-Zweig 20.0 unter der Lizenz LGPL-3. Die Editionsübersicht von Odoo S.A. führt dagegen die umfassende Buchhaltung (Comprehensive Accounting), zu deren Leistungsumfang sie die Kostenrechnung zählt, nur unter Enterprise; die Apps Projekt und Zeiterfassung stehen dort in beiden Editionen. Der beschriebene Ablauf setzt die App Buchhaltung und damit den Enterprise-Zweig voraus. Die geöffnete Rentabilitätsdokumentation nennt für die Ansicht selbst keine Edition; ob eine Community-Installation die Ansicht zeigt, ist nicht bestätigt. Zum Hosting sagt die Preisseite von Odoo S.A., dass Odoo Online und Odoo Enterprise (On-Premise oder Odoo.sh) dieselbe Software sind und sich nur Hosting und Infrastruktur unterscheiden. Prüfen Sie deshalb vorab, was Ihre Installation zeigt (siehe Community oder Enterprise: die Unterschiede).

Schritt für Schritt: Rentabilität auswerten

Schritt 1: Kostenrechnung einschalten

Öffnen Sie Buchhaltung ‣ Konfiguration ‣ Einstellungen und aktivieren Sie im Abschnitt Analysen die Option Kostenrechnung. Speichern Sie. Die Einstellung gehört zur App Buchhaltung; Light-Benutzer haben laut Dokumentation keinen Zugriff auf Kernanwendungen wie Buchhaltung und Projekte. Die Option ist laut Dokumentation Voraussetzung dafür, dass Arbeitszeit auf ein Projekt abgerechnet werden kann; die Rentabilitätsübersicht verlangt, dass die ausgewerteten Datensätze mit der Kostenstelle des Projekts verknüpft sind. Unter Buchhaltung ‣ Konfiguration ‣ Kostenstellen legen Sie bei Bedarf eine Kostenstelle an und pflegen Name, Kunde, Referenz und Kostenstellenplan.

Schritt 2: Projekt abrechenbar machen und zuordnen

Erfassen Sie für die Dienstleistung ein Produkt mit der Produktart Dienstleistung und der Abrechnungsrichtlinie Basierend auf Zeiterfassungen. Am Projekt aktivieren Sie die Zeiterfassung; den Weg dorthin beschreibt Zeiterfassung auf Projekte buchen. Anschließend stellen Sie sicher, dass das Projekt seine Kostenstelle trägt und die gebuchten Zeiten damit verknüpft sind. Ohne diese Verknüpfung bleibt die Rentabilitätsübersicht leer, auch wenn Zeiten gebucht wurden.

Schritt 3: Stundensatz am Mitarbeiter prüfen

Die Rentabilitätsdokumentation nennt als Grundlage der Zeitkosten die HR-Einstellungen des Mitarbeiters, ohne ein Feld zu nennen. Die Dokumentation der App Mitarbeiter beschreibt im Abschnitt Anwendungseinstellungen das Feld Stundensatz (Hourly Cost) und ordnet diesen Abschnitt der Fertigung zu; der Wert beeinflusst laut Dokumentation nicht die Personalabrechnung. Welchen Kostenbetrag Ihre Installation je erfasster Stunde ansetzt, prüfen Sie im Testprojekt Schritt 4 bis 6.

Schritt 4: Dashboard öffnen

Öffnen Sie die App Projekt und das Projekt. Wählen Sie in der oberen Leiste das Symbol mit den Schiebereglern und fügen Sie Dashboard hinzu. Alternativ zeigen Sie auf der Projektkarte die drei Punkte und wählen Dashboard. Die Rentabilitätsübersicht steht auf der rechten Seite des Projekt-Dashboards.

Schritt 5: Erlösseite lesen

Der Abschnitt Erlöse zeigt, welche Beträge das Projekt einbringt. Die Dokumentation von Odoo 20.0 nennt diese Zeilen:

Erlöszeile (Dokumentation 20.0) Woher der Betrag kommt
Zeiterfassungen aufgegliedert nach der Abrechnungsrichtlinie am Produkt, etwa Vorkasse/Festpreis, Basierend auf Zeiterfassungen oder Basierend auf Meilensteinen
Material Summe der Verkaufspreise von Produkten, die über mit dem Projekt verbundene Verkaufsaufträge verkauft wurden
Kundenrechnungen Summe der mit dem Projekt verbundenen Rechnungen
Abonnements Summe der Verkaufspreise verbundener Abonnements
Anzahlungen Summe der mit dem Projekt verbundenen Anzahlungen
Spesen Spesen, die an den Kunden weiterverrechnet werden

Schritt 6: Kostenseite lesen

Der Abschnitt Kosten zeigt, was das Projekt verbraucht. Mehrere Zeilen erscheinen erst unter einer Bedingung:

Kostenzeile (Dokumentation 20.0) Woher der Betrag kommt Bedingung
Zeiterfassungen Gesamtkosten der gebuchten Zeit, auf Grundlage der HR-Einstellungen des Mitarbeiters Die Dokumentation nennt für diese Zeile keine Bedingung
Einkaufsaufträge Kosten verbundener Einkaufsaufträge für Ware, Material oder Fremdleistung Zeile erscheint erst, wenn die Lieferantenrechnung verbucht ist
Material Kosten von Produkten aus validierten Lagerbewegungen (Lieferungen und Wareneingänge) des Projekts nur wenn analytische Kosten für die Vorgangsart in Lager ‣ Konfiguration ‣ Vorgangsarten aktiviert sind
Spesen Kosten verbundener Spesen Spesen sind eingereicht und genehmigt
Lieferantenrechnungen Kosten von Lieferantenrechnungen, die mit der Kostenstelle des Projekts verknüpft sind Rechnung erfasst und der Kostenstelle zugeordnet
Fertigungsaufträge Kosten von Fertigungsaufträgen auf der Kostenstelle des Projekts Fertigungsaufträge vorhanden
Sonstige Kosten weitere Beträge auf der Kostenstelle des Projekts Buchung auf der Kostenstelle vorhanden

Schritt 7: Spalten der Ansicht trennen

Die Ansicht führt drei Spalten und trennt sie je Seite. Expected sammelt die erwarteten Beträge aus bestehenden Verkaufs- oder Einkaufsaufträgen. In die zweite Spalte wandern die Beträge, sobald die Arbeit oder Ware geliefert ist: bei den Erlösen heißt sie To invoice, bei den Kosten To bill (Beispiel: eine Zeiterfassung wurde erstellt oder validiert, eine Lieferung wurde als erledigt markiert, oder die gelieferte Menge wurde am Verkaufsauftrag von Hand gepflegt). In die dritte Spalte wandern die Beträge, sobald eine Rechnung oder eine Lieferantenrechnung bestätigt ist: bei den Erlösen Invoiced, bei den Kosten Billed. Die Erlösseite unterteilt zusätzlich in Sold, Delivered und Invoiced. Ein Pfeilsymbol öffnet die Einzelzeilen zu jeder Position.

Ein und derselbe Datensatz kann in beiden Abschnitten stehen. Eine Zeiterfassung erscheint bei den Erlösen mit dem Betrag, den der Kunde zahlt, und bei den Kosten mit den Lohnkosten.

So sieht ein Rentabilitätsbericht aus

Das folgende Beispiel ist erfunden; die Sätze und Mengen sind gewählt, nicht erhoben. Alle Beträge sind netto, ohne Steuern und ohne Zahlungsgebühren. Projekt: Website-Relaunch für die Muster GmbH (erfundener Kunde).

Zeile Gruppe Rechnung (Beispiel) Betrag
Zeiterfassung Erlös 40,0 Stunden × 110,00 Euro Verkaufspreis 4.400,00 Euro
Material weiterverrechnet Erlös Einkaufswert 600,00 Euro, an den Kunden weitergegeben 600,00 Euro
Zeiterfassung Kosten 40,0 Stunden × 55,00 Euro Kostenansatz je Stunde 2.200,00 Euro
Einkauf und Fremdleistung Kosten verbuchte Lieferantenrechnung 600,00 Euro
Spesen Kosten genehmigte Spesenbelege 120,00 Euro

Summe der Erlöse: 4.400,00 Euro + 600,00 Euro = 5.000,00 Euro. Summe der Kosten: 2.200,00 Euro + 600,00 Euro + 120,00 Euro = 2.920,00 Euro. Deckungsbeitrag: 5.000,00 Euro − 2.920,00 Euro = 2.080,00 Euro. Marge: 2.080,00 Euro ÷ 5.000,00 Euro × 100 = 41,6 Prozent.

Die Zeiterfassung wirkt in beiden Summen: 4.400,00 Euro Erlös stehen 2.200,00 Euro Kosten gegenüber. Sinkt der Verkaufspreis oder steigt der Kostenansatz je Stunde, ändert sich die Marge, obwohl die Stunden gleich bleiben.

So prüfen Sie das Ergebnis

  • Legen Sie ein Testprojekt an, buchen Sie eine Teststunde und prüfen Sie, dass dieselbe Stunde zweimal auftaucht: bei den Erlösen mit dem Betrag, den der Kunde zahlt, und bei den Kosten mit dem Betrag, den Ihre Installation ansetzt (laut Dokumentation die HR-Einstellungen des Mitarbeiters).
  • Prüfen Sie zu jeder Zeile, dass sie die Kostenstelle des Projekts trägt. Fehlt sie, bleibt der Betrag unsichtbar.
  • Vergleichen Sie die Spalte Invoiced der Erlösseite mit Ihren bestätigten Kundenrechnungen und die Spalte Billed der Kostenseite mit Ihren verbuchten Lieferantenrechnungen.
  • Prüfen Sie, dass eine Einkaufszeile erst nach dem Verbuchen der Lieferantenrechnung erscheint und eine Spesenzeile erst nach der Genehmigung.
  • Ändern Sie testweise den Verkaufspreis im Verkaufsauftrag und beobachten Sie, wie sich der Erlös in der Spalte Expected bewegt.

Wenn etwas nicht klappt

Symptom Ursache nach Dokumentation 20.0 Lösung
Die Übersicht bleibt leer Datensätze sind nicht mit Projekt und Kostenstelle verknüpft Verknüpfung von Zeiterfassungen, Spesen und Lieferantenrechnungen mit der Kostenstelle des Projekts prüfen
Kostenblock Material fehlt analytische Kosten sind für die Vorgangsart im Lager nicht aktiviert in Lager ‣ Konfiguration ‣ Vorgangsarten aktivieren
Einkaufszeile fehlt die Lieferantenrechnung ist noch nicht verbucht Rechnung erfassen und verbuchen (siehe Eingangsrechnungen erfassen)
Spesenzeile fehlt der Beleg ist nicht eingereicht oder nicht genehmigt Spesenworkflow abschließen (siehe Spesen und Reisekosten)
Spalte To invoice bleibt leer die Arbeit oder Ware ist noch nicht geliefert Zeiterfassung buchen, Lieferung erledigen oder gelieferte Menge am Auftrag pflegen

Wann Sie Hilfe holen sollten

Stimmt die Rechnung nicht mit Ihrer Buchhaltung überein, prüfen Sie zuerst die Verknüpfung von Zeiten, Spesen und Lieferantenrechnungen mit der Kostenstelle. Sollen die Zahlen in die Buchhaltung fließen (Konten, Steuern, Rechnungsinhalt), oder geht es um die Abrechnung eines Projekts nach länderspezifischen Regeln, klären Sie das mit Ihrer Steuerberatung oder Ihrem Odoo-Partner. Welche Rechnungsangaben in Ihrem Land gelten, behandelt dieser Artikel nicht. Wie Projekte aufgebaut und abgerechnet werden, steht in Odoo Projekt: Aufgaben, Phasen und Abrechnung.

Häufige Fragen

Warum bleibt mein Projekt in der Übersicht leer?

Die Dokumentation nennt eine Bedingung: Jeder ausgewertete Datensatz muss mit dem Projekt und seiner Kostenstelle verknüpft sein. Fehlt die Verknüpfung, erscheint der Betrag nicht. Prüfen Sie deshalb zuerst, ob das Projekt eine Kostenstelle trägt und ob die Zeiterfassungen, Spesen und Lieferantenrechnungen darauf gebucht sind.

Woher kommt der Kostenbetrag einer Stunde?

Die Rentabilitätsdokumentation nennt die HR-Einstellungen des Mitarbeiters als Grundlage der Zeitkosten, nicht den Verkaufspreis; ein Feld benennt sie dort nicht. Die Dokumentation der App Mitarbeiter beschreibt ein Feld Stundensatz (Hourly Cost) im Abschnitt Anwendungseinstellungen, den sie der Fertigung zuordnet, und weist darauf hin, dass dieser Wert die Personalabrechnung nicht beeinflusst. Welcher Wert bei Ihnen in der Kostenzeile erscheint, prüfen Sie im Testprojekt.

Steht dieselbe Zeiterfassung doppelt in der Übersicht?

Ja, aber auf zwei Seiten. Eine Zeiterfassung erscheint laut Dokumentation bei den Erlösen mit dem Betrag, den der Kunde zahlt, und bei den Kosten mit den Lohnkosten. Kostensatz und Verkaufssatz sind zwei verschiedene Werte; die Übersicht stellt beide Seiten gegenüber.

Ist die Auswertung in Community enthalten?

Die Ansicht stützt sich auf die Kostenstelle des Projekts. Kostenstellen und Kostenstellenpläne gehören zum Modul Analytic Accounting (Kostenrechnung); dieses Modul steht im öffentlichen Community-Zweig 20.0 unter der Lizenz LGPL-3. Die Editionsübersicht von Odoo S.A. nennt die Kostenrechnung im Leistungsumfang der umfassenden Buchhaltung und führt diese unter Enterprise; die Apps Projekt und Zeiterfassung stehen dort in beiden Editionen. Für die Rentabilitätsansicht selbst nennt die Dokumentation keine Edition, und ob eine Community-Installation sie zeigt, ist nicht bestätigt. Prüfen Sie das vorab in Ihrer Installation.

Quellen

  1. Project profitability (Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  2. Timesheets (Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  3. Invoicing based on time and materials (Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  4. Analytic accounting (Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  5. Access rights (Odoo 20.0), Rollen User/Administrator/LightOdoo S.A., Dokumentation · abgerufen am
  6. New employees (Odoo 20.0), Feld Hourly CostOdoo S.A., Dokumentation · abgerufen am
  7. Compare Editions (Zeilen Accounting/Comprehensive Accounting, Project, Timesheet)Odoo S.A. · abgerufen am
  8. Preise und Hosting (Hostingmodelle Odoo Online, Odoo.sh, On-Premise; Abonnementumfang)Odoo S.A. · abgerufen am
  9. Analytic Accounting, Modul im Community-Zweig 20.0 (__manifest__.py, Lizenz LGPL-3)Odoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  10. Deutsche Übersetzungen der Module project, analytic, sale_timesheet und hr, Zweig 20.0 (i18n/de.po), Quelle der deutschen BezeichnungenOdoo S.A., öffentlicher Quellcode (Community) · abgerufen am