2 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3 <title>3.13. Zeiterfassung</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.9.2: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03s12.html" title="3.12. Dispositionsmanager/Einkaufshelfer"><link rel="next" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.13. Zeiterfassung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s12.html">Zurück</a> </td><th width="60%" align="center">Kapitel 3. Features und Funktionen</th><td width="20%" align="right"> <a accesskey="n" href="ch04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.13. Zeiterfassung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.timerecording"></a>3.13. Zeiterfassung</h2></div></div></div><p>
4 Seit der Version 3.5.7 enthält kivitendo ein Modul zur Zeiterfassung.
5 Damit ist es möglich, auftrags-, kunden- oder projektbezogen,
6 Arbeitszeiten zu erfassen. Die erfassten Zeiten können über einen
7 Hintergrund-Job in Lieferscheine umgewandelt werden.
8 </p><div class="sect2" title="3.13.1. Konfiguration"><div class="titlepage"><div><div><h3 class="title"><a name="features.timerecording.config"></a>3.13.1. Konfiguration</h3></div></div></div><p>
9 Die Zeiterfasssung funktioniert auch ohne Konfiguration, sofern der Benutzer
10 die entsprechenden Rechte besitzt. Allerdings ist
11 es möglich, Artikel für die Zeiterfassung zu konfigurieren, die im Bericht
12 ausgewertet und bei der Umwandlung zum Lieferschein verwendet werden
14 Zudem kann auf benutzerebene eingestellt werden, ob Zeiten mit Start- und
15 End-Zeit oder mit Datum und Dauer erfasst werden sollen.
16 </p><div class="sect3" title="3.13.1.1. Zugriffsrechte"><div class="titlepage"><div><div><h4 class="title"><a name="features.timerecording.config.rights"></a>3.13.1.1. Zugriffsrechte</h4></div></div></div><p>
17 In der Rechteverwaltung im Admin-Bereich können im Zusammenhang mit
18 der Zeiterfassung drei verschiedene Rechte vergeben werden:
20 </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
21 <span class="emphasis"><em>Zeiterfassungen erfassen, bearbeiten und ansehen</em></span>
22 </p><p>Diese Recht steuert, ob eine Gruppe den Menüpunkt zur
23 Zeiterfassung überhaupt sehen und diese verwenden kann.</p></li><li class="listitem"><p>
24 <span class="emphasis"><em>Zeiterfassungseinträge aller Mitarbeiter anzeigen</em></span>
25 </p><p>Ohne dieses Recht darf ein Benutzer einer Benutzergruppe,
26 die die Zeiterfassung verwenden darf, nur Zeiteinträge im Bericht
27 sehen, bei denen dieser als Mitarbeiter eingetragen ist.</p></li><li class="listitem"><p>
28 <span class="emphasis"><em>Zeiterfassungseinträge aller Mitarbeiter bearbeiten</em></span>
29 </p><p>Ohne dieses Recht darf ein Benutzer einer Benutzergruppe,
30 die die Zeiterfassung verwenden darf, nur Zeiteinträge anlegen
31 und bearbeiten, bei denen dieser als Mitarbeiter eingetragen ist.</p></li></ul></div><p>
34 </p></div><div class="sect3" title="3.13.1.2. Artikel für Zeiterfassung"><div class="titlepage"><div><div><h4 class="title"><a name="features.timerecording.config.part"></a>3.13.1.2. Artikel für Zeiterfassung</h4></div></div></div><p>
35 Unter <span class="emphasis"><em>
36 <span class="guimenu">System</span>
37 → <span class="guisubmenu">Artikel für Zeiterfassung</span>
39 können Artikel zur Nutzung mit der Zeiterfassung erfasst werden. Diese Artikel
40 müssen eine zeitbasierte Einheit haben.
41 </p></div><div class="sect3" title="3.13.1.3. Benutzereinstellungen"><div class="titlepage"><div><div><h4 class="title"><a name="features.timerecording.config.time_or_duration"></a>3.13.1.3. Benutzereinstellungen</h4></div></div></div><p>
42 Unter <span class="emphasis"><em>
43 <span class="guimenu">Programm</span>
44 → <span class="guisubmenu">Benutzereinstellungen</span>
46 im Reiter <span class="emphasis"><em>Persönliche Einstellungen</em></span> bei
47 <span class="emphasis"><em>Datum und Dauer für Zeiterfassung verwenden</em></span>
48 kann der Benutzer angeben, ob Zeiten mit Start- und End-Zeit oder mit
49 Datum und Dauer erfasst werden sollen.
50 </p></div></div><div class="sect2" title="3.13.2. Erfassen"><div class="titlepage"><div><div><h3 class="title"><a name="features.timerecording.add"></a>3.13.2. Erfassen</h3></div></div></div><p>
51 Über den Menüpunkt <span class="emphasis"><em>
52 <span class="guimenu">Produktivität</span>
53 → <span class="guisubmenu">Zeiterfassung</span>
55 gelangt man zur Erfassungsmaske der Zeiterfassung. Je nach Einstellung
56 muss ein Datum oder Datum und Start-Zeit angegeben werden. Ebenso sind
57 die Felder <span class="emphasis"><em>Kunde</em></span> und
58 <span class="emphasis"><em>Beschreibung</em></span>
61 Wird ein Auftrag oder ein Projekt, dem ein Kunde zugeordnet ist,
62 ausgewählt, so wird das Feld <span class="emphasis"><em>Kunde</em></span>
63 automatisch mit dem zugehörigen Kunden gefüllt und für die
64 manuelle Bearbeitung gesperrt.
66 Die End-Zeit bzw. die Dauer ist kein Pflichtfeld, damit
67 man einen Eintrag z.B. beim Start der Arbeit anlegen und
68 später am Ende dann die End-Zeit bzw. Dauer erfassen kann.
69 Bei Eingabe über Start- und End-Zeit dürfen sich die Zeiten für
70 ein und denselben Mitarbeiter nicht überlappen.
72 Falls der Bearbeiter das Recht
73 <span class="emphasis"><em>Zeiterfassungseinträge aller Mitarbeiter
74 bearbeiten</em></span> besitzt, kann auch der Mitarbeiter für
75 diesen Zeiteintrag ausgewählt werden.
76 </p></div><div class="sect2" title="3.13.3. Bericht"><div class="titlepage"><div><div><h3 class="title"><a name="features.timerecording.report"></a>3.13.3. Bericht</h3></div></div></div><p>
77 Ein Bericht über die erfassten Zeiten lässt sich über
78 <span class="emphasis"><em>
79 <span class="guimenu">Produktivität</span> → <span class="guisubmenu">Berichte</span>
80 → <span class="guisubmenu">Zeiterfassung</span>
81 </em></span> ausgeben.
82 Hier lassen sich die Zeiten auch filtern, sortieren und exportieren.
84 Ausgewählte Zeiteinträge können über <span class="emphasis"><em>
85 <span class="guimenu">Aktionen</span>
86 → <span class="guisubmenu">Als gebucht markieren</span>
87 </em></span> als schon gebucht
88 markiert werden. Dies geschieht normalerweise bei der Konvertierung
89 zum Lieferschein und kann hier händisch durchgeführt werden, wenn diese
90 Zeitbuchungen bei der Konvertierung nicht mehr berücksichtigt werden sollen.
91 </p></div><div class="sect2" title="3.13.4. Konvertierung zu Lieferscheinen"><div class="titlepage"><div><div><h3 class="title"><a name="features.timerecording.conversion"></a>3.13.4. Konvertierung zu Lieferscheinen</h3></div></div></div><p>
92 Über den Hintergrund-Job
93 <span class="emphasis"><em>ConvertTimeRecordings</em></span> können
94 Zeiteinträge in Lieferscheine umgewandelt werden. Hierbei
95 werden alle noch nicht gebuchten Zeiteinträge eines
96 bestimmten Zeitraums für bestimmte Kunden gesammelt und
97 in Lieferscheine umgewandelt.
98 Pro Kunde wird ein Lieferschein generiert und
99 pro Artikel wird eine Positionszeile erzeugt. Dabei werden
100 Einträge mit gleichen Beschreibungen zusammengefasst. Die
101 Details landen im Langtext der Position.
103 Ohne übergebene Parameter im Feld <span class="emphasis"><em>Daten</em></span> werden alle
104 Zeiteinträge des letzten Monats für alle Kunden umgewandelt. Dabei
105 werden die Zeiten auf volle Viertelstunden aufgerundet (siehe auch
106 <a class="xref" href="ch03s13.html#features.timerecording.configuration" title="3.13.4.1. Konfigurations-Optionen">Konfigurations-Optionen der Zeiterfassung</a>).
107 </p><div class="sect3" title="3.13.4.1. Konfigurations-Optionen"><div class="titlepage"><div><div><h4 class="title"><a name="features.timerecording.configuration"></a>3.13.4.1. Konfigurations-Optionen</h4></div></div></div><p>
108 Zur generellen Konfiguration von Hintergrund-Jobs und zur Übergabe
109 von Parametern als Daten an diese, siehe <a class="xref" href="ch02s08.html" title="2.8. Der Task-Server">Abschnitt 2.8, „Der Task-Server“</a>
110 bzw. <a class="xref" href="ch02s09.html" title="2.9. Konfiguration der Hintergrund-Jobs">Abschnitt 2.9, „Konfiguration der Hintergrund-Jobs“</a>).
112 Folgende Parameter können als <span class="emphasis"><em>Daten</em></span> an den
113 Hintergrund-Job zur Konvertierung übergeben werden:
114 </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
116 <span class="emphasis"><em>from_date</em></span>
119 Das Startdatum, von welchen an die Zeiteinträge berücksicht werden.
120 Voreinstellung ist der erste Tag des vorherigen Montats.
122 Beispiel (das Zeitformat hängt von der persönlichen Einstellungen ab):
123 </p><pre class="programlisting">from_date: 01.12.2020</pre><p>
125 </p></li><li class="listitem"><p>
127 <span class="emphasis"><em>to_date</em></span>
130 Das Datum, bis zu welchem die Zeiteinträge zur Konvertierung gesammelt
131 werden. Voreinstellung ist der letzte Tag des vorherigen Montas.
133 Beispiel (das Zeitformat hängt von der persönlichen Einstellungen ab):
134 </p><pre class="programlisting">to_date: 15.12.2020</pre><p>
136 </p></li><li class="listitem"><p>
138 <span class="emphasis"><em>customernumbers</em></span>
141 Eine Liste mit Kundennummern, für die Zeiteinträge gesammelt werden
142 sollen. Wird diese Liste nicht angegeben, werden Einträge für
143 alle Kunden berücksichtig.
146 </p><pre class="programlisting">customernumbers: [c1,22332,334343]</pre><p>
148 </p></li><li class="listitem"><p>
150 <span class="emphasis"><em>override_part_id</em></span>
153 Die Datenbank-Id einer zeitbasierten Dienstleistung, die verwendet
154 werden soll, um die Zeiteinträge zu buchen. Dieser Wert überschreibt
155 den Eintrag des Artikels des Zeiteintrags.
156 </p></li><li class="listitem"><p>
158 <span class="emphasis"><em>default_part_id</em></span>
161 Die Datenbank-Id einer zeitbasierten Dienstleistung, die verwendet
162 werden soll, um die Zeiteinträge zu buchen, falls im Zeiteintrag
163 kein Artikel gespeichert ist.
164 </p></li><li class="listitem"><p>
166 <span class="emphasis"><em>rounding</em></span>
169 Ist dieser Wert <code class="literal">0</code>, so werden die Zeiten nicht gerundet.
170 Ist der Wert <code class="literal">1</code> (oder "wahr" in Perl"), so werden die Zeiten auf volle Viertelstunden aufgerundet, also z.B. 0.25h, 0.5h, 0.75h,
173 Voreinstellung ist <code class="literal">1</code> ("wahr").
174 </p></li><li class="listitem"><p>
176 <span class="emphasis"><em>link_order</em></span>
179 Ist der Wert <code class="literal">1</code> (oder "wahr" in Perl"), so verknüpft
180 der Hintergrund-Job den erzeugten Lieferschein mit dem im Zeiteintrag
182 Ist kein Auftrag angegeben, wird versucht, einen Auftrag für den
183 angegebenen Kunden und die angegebene Projektnummer zu finden.
185 Folgende Kriterien werden zum Finden eines Vorgängerauftrags angwendet:
186 </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
187 Auftrag ist im Zeiteintrag angegeben <span class="emphasis"><em>oder</em></span>
189 </p></li><li class="listitem"><p>
190 Datenbank-Id des Projekts des Auftrags ist gleich
191 der Datenbank-Id des Zeiteintrags <span class="emphasis"><em>oder</em></span> der in den Daten
192 übergebenen Projekt-Id
193 </p></li><li class="listitem"><p>
194 Kunde des Auftrags ist gleich Kunde des Zeiteintrags
195 </p></li><li class="listitem"><p>
196 der Auftrag muss mindestens eine zugehörige zeitbasierte Position haben
197 </p></li><li class="listitem"><p>
198 das Projekt muss gültig und aktiv sein
199 </p></li></ul></div><p>
202 Voreinstellung ist aus. Wenn dieser Parameter gesetzt ist, läuft der
203 Hintergrund-Job auf einen Fehler, falls kein geeigneter Vorgängerauftrag
204 gefunden werden kann.
206 Der Job beachtet nicht, ob der Auftrag schon geliefert oder geschlossen
208 Wenn der Kundenauftrag überliefert wird, muss dies organisatorisch
209 geklärt werden. Der Kundenauftrag kann auch bereits geschlossen sein,
210 d.h. der Betrag ist vollständig fakturiert, aber die Leistungen sind
211 noch nicht vollständig geliefert (einfacher Fall: "Vorauskasse").
213 siehe auch den Hintergrund-Job
214 <code class="literal">CloseProjectsBelongingToClosedSalesOrder</code>
215 für eine weitergehende Automatisierung der Abläufe.
216 </p></li><li class="listitem"><p>
218 <span class="emphasis"><em>override_project_id</em></span>
221 Verwende diese Datenbank-Id für das Projekt an Stelle des
222 im Zeiteintrag angegebenen Projekts, um den zugehörigen Auftrag
223 zu finden. Dieser Parameter wird nur berücksichtig, wenn
224 <span class="emphasis"><em>link_order</em></span> wahr ist.
225 </p></li><li class="listitem"><p>
227 <span class="emphasis"><em>default_project_id</em></span>
230 Verwende diese Datenbank-Id für das Projekt, falls
231 im Zeiteintrag kein Projekt angegeben ist, um den
232 zugehörigen Auftrag zu finden.
233 Dieser Parameter wird nur berücksichtig, wenn
234 </p></li></ul></div><p>
236 </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s12.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch03.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">3.12. Dispositionsmanager/Einkaufshelfer </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> Kapitel 4. Entwicklerdokumentation</td></tr></table></div></body></html>