Zeit-Berichte

Überblick
Der Bericht stellt drei Stundenzahlen nebeneinander, und der Erkenntnisgewinn liegt genau in ihrem Abstand:
| Kennzahl | Bedeutung |
|---|---|
| Erfasste Stunden | alles Gebuchte |
| Abrechenbare Stunden | davon das, was berechnet werden darf |
| Fakturierte Stunden | davon das, was tatsächlich berechnet wurde |
| Abrechnungsquote | fakturiert ÷ abrechenbar, Ziel über 95 % |
Die Lücke zwischen erfasst und abrechenbar ist eine Entscheidung — sie zeigt, wie viel unbezahlte Arbeit anfällt. Die Lücke zwischen abrechenbar und fakturiert ist dagegen ein Versäumnis: Diese Stunden dürften berechnet werden und wurden es nicht. Genau darauf zielt die Abrechnungsquote.
Kernaufgaben
Zeitraum und Gruppierung wählen. Gruppiert wird nach Projekt, Mitarbeiter, Kunde, Marke oder Gesamt; zusätzlich lässt sich auf einen Mitarbeiter einschränken.
Die Tabelle lesen. Je Gruppe stehen erfasste, abrechenbare, gerundete Stunden und die Quote. Die gerundeten Stunden sind das, was tatsächlich in Rechnung geht — Rundungsregeln wirken hier, nicht auf der Erfassung.
Das Diagramm nutzen. Erfasst, abrechenbar und fakturiert im Vergleich je Gruppe — die schnellste Art, den Ausreißer zu finden, statt Zeilen zu vergleichen.
Die Auswahl als Report speichern. Als Report speichern legt die aktuelle Filterleiste unter einem Namen ab — mit Rundung und wahlweise einem relativen Zeitraum. Nur der Ersteller darf einen Report ändern oder löschen; Teilen macht ihn lesbar, nicht fremd-änderbar.
Felder im Detail
Die Auswertung selbst schreibt nichts — sie liest die erfassten Zeiten, und die Auswahl oben schneidet den Bericht, nicht die Daten. Eine Eingabemaske gibt es an genau einer Stelle: beim Speichern eines Reports.
Filterleiste (Auswahl, nicht gespeichert)
| Angabe | Woher | Was sie bedeutet |
|---|---|---|
| Gruppierung | Auswahl: Projekt · Mitarbeiter · Kunde · Marke · Gesamt | Die Achse der Tabelle und des Diagramms. |
| Von / Bis | Datumsauswahl | Welche Arbeitstage einfließen. Gerechnet wird nach dem Arbeitsdatum der Zeit, nicht nach dem Erfassungstag. |
| Mitarbeiter | Auswahl, leer = alle | Auf wen eingeschränkt wird — im Rahmen dessen, was Sie sehen dürfen. |
| Gespeicherter Report | Ihre eigenen und die geteilten | Wird einer gewählt, führt der Server ihn aus: Er löst dessen relativen Zeitraum gegen heute auf und liefert die gerundeten Zeilen. Die Filterleiste zieht dabei nach. |
Weitere Einschränkungen — Kunde, Projekt, Marke — kennt die Auswertung, sie werden aber nur über einen gespeicherten Report oder die Schnittstelle gesetzt, nicht über die Filterleiste.
Gespeicherter Report
Was beim Speichern übernommen wird, steht im Dialog unter Übernommene Filter: Gruppierung, Zeitraum und Mitarbeiterauswahl kommen aus der Filterleiste — sonst wiche der Report von dem ab, was Sie gerade sehen.
| Feld | Pflicht | Werte / Format | Was es bewirkt |
|---|---|---|---|
Bezeichnung name | ja | Text, max. 255 Zeichen | Wie der Report in der Auswahlliste heißt. |
Sichtbarkeit visibility | nein | private (Nur ich) · shared (Mit dem Team geteilt); Vorgabe private | Wer ihn überhaupt sehen darf. Erst geteilt macht Empfängerkreis und Rechtestufe wirksam — ein privater Report hat beides nicht. |
Empfängerkreis audienceUserIds | nein | Liste von Mitarbeitern; leer = alle | Wer den geteilten Report sieht. Leer heißt: jeder Kollege mit Berichtsrecht in der Marke. Gefüllt heißt: genau diese Mitarbeiter — der Ersteller ist immer dabei. |
Empfängerkreis (Teams) audienceTeamIds | nein | Liste von Teams; leer = keine Team-Bedingung | Zweite Achse desselben Kreises, sie wirkt als ODER neben den Personen: Mitglieder dieser Teams sehen den geteilten Report. Sind beide Kreise leer, gilt weiterhin „jeder mit Berichtsrecht in der Marke"; ist NUR der Team-Kreis gefüllt, ist der Report für dieses Team gedacht und für sonst niemanden. Ohne das Recht Teams lesen bleibt das Feld in der Maske verborgen. |
Rechtestufe shareLevel | nein | read (Ansehen) · edit (Ändern); Vorgabe read | Was der Empfängerkreis darf. Ansehen erlaubt Öffnen und Ausführen, Ändern zusätzlich Umbenennen, Filter und Gruppierung ändern und Löschen. Der Ersteller darf immer alles; alles andere weist der Server ab. |
Relativer Zeitraum relativePeriod | nein | this_week, last_week, this_month, last_month, this_quarter, this_year, last_7_days, last_30_days, last_90_days | Wird bei jeder Ausführung neu gegen „heute" aufgelöst und schlägt das feste Datum. Genau dafür ist er da: ein Monatsbericht, der im Februar noch den Januar zeigt, wird stillschweigend falsch. |
Fester Zeitraum dateFrom / dateTo | nein | Datum | Das feste Fenster aus der Filterleiste. Es wird nur gespeichert und gerechnet, solange kein relativer Zeitraum gesetzt ist. Ein Bis vor dem Von wird abgewiesen. |
Gruppierung groupBy | nein | none (Gesamt) · project · customer · employee · brand; Vorgabe none | Die Achse, nach der zusammengefasst wird. |
Diagrammform chartType | nein | Balken (Vorgabe), Linie, Kreis oder keins | Wie die Auswertung gezeichnet wird. Für einen Verlauf über die Zeit ist die Linie die richtige Form — eine Zeitreihe als Balkenwald zu lesen ist Arbeit, die niemand machen sollte. „Keins" zeigt nur die Tabelle. |
Rundung roundingIncrement | nein | 0, 1, 5, 6, 10, 15, 30 oder 60 Minuten; 0 und 1 heißen „keine Rundung" | Auf welchen Schritt die Ausgabe gerundet wird. |
Rundungsrichtung roundingMode | nein | none (Keine) · up (Aufrunden) · down (Abrunden) · nearest (Kaufmännisch); Vorgabe none | In welche Richtung gerundet wird. Die Rundung wirkt nur auf die ausgegebenen Werte — die erfassten Zeiten bleiben unverändert. Deshalb steht die gerundete Spalte neben der erfassten und nicht an ihrer Stelle. |
Übernommene Filter filters | nein | brandId, customerId, projectId, employeeId | Die Datenfilter des Reports. Die Maske füllt daraus heute nur den Mitarbeiter; die übrigen setzt die Schnittstelle. Andere Schlüssel werden beim Ausführen ignoriert — eine gespeicherte Definition aus fremder Quelle kann so nichts erzwingen. |
Spaltenauswahl columns | nein | Liste von Spaltennamen, leer = alle | Wird gespeichert und wieder ausgeliefert. Die Ausführung wertet sie derzeit nicht aus und gibt immer alle Spalten aus. |
Das Ergebnis eines gespeicherten Reports kommt vollständig vom Server: das aufgelöste Fenster und die gerundeten Zeilen. Die Oberfläche rechnet daran nichts nach — sonst gäbe es zwei Wahrheiten.
Einstellungen & Rechte
- Modul
module.timetracking. - Recht
time.report.viewfür Zahlen und gespeicherte Reports — auch fürs Anlegen, Ändern und
Löschen eines Reports. Die Seite selbst öffnet schon mit time.entry.view_own; ohne das Berichtsrecht bleibt sie dann leer.
- Die Sichtbarkeit der Zeiten wirkt weiter. Ohne Projekt-Sicht auf fremde Zeiten werten Sie Ihre
eigenen aus.
- Abrechenbarkeit entsteht bei der Erfassung — aus der Tätigkeitsart oder geerbt vom Projekttyp,
siehe Zeiterfassung-Einstellungen.
FAQ & Fehlerbilder
Die Abrechnungsquote ist niedrig. Dann liegen abrechenbare Stunden ohne Rechnung vor. Gruppieren Sie nach Projekt — meist steckt der Rückstand in wenigen Mandaten.
Erfasst und abrechenbar liegen weit auseinander. Das ist keine Panne, sondern eine Aussage über den Anteil nicht berechenbarer Arbeit. Über die Tätigkeitsarten lässt sich prüfen, ob die Einstufung stimmt.
Gerundete und erfasste Stunden weichen ab. So gewollt — Rundungsregeln greifen bei der Abrechnung, nicht bei der Erfassung.
Meine Zahlen weichen von denen der Leitung ab. Der Bericht folgt Ihrer Sicht auf Zeiten. Wer mehr sehen darf, sieht andere Summen.
Ich kann einen geteilten Report nicht ändern. So gewollt: Teilen macht lesbar, nicht änderbar. Ändern und Löschen bleiben beim Ersteller — legen Sie sich eine eigene Kopie an.
Der gespeicherte Report zeigt einen anderen Zeitraum als eingestellt. Dann trägt er einen relativen Zeitraum. Der wird bei jeder Ausführung neu aufgelöst und schlägt das feste Datum; das aufgelöste Fenster steht als Merkzeichen neben der Auswahl.