Projektrentabilität in Odoo auswerten
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.