Zum Inhalt springen
Bidi Modul · Zeiterfassung

Die Stunde bucht auf die Position.

Eine Baustellenstunde ist keine Anwesenheit. Sie gehört zu einem Vorhaben, oft zu einer LV-Position — und zu einem Tag, dessen Wetter du drei Monate später nicht mehr rekonstruieren kannst. Bidi hält beides fest.

Das ist die Baustellen-Zeiterfassung, Modul 2 von 13 — nicht die Stempeluhr fürs Büro. Die ist ein eigenes Modul mit eigener Ansicht; weiter unten steht, warum das kein Zufall ist.

Vier Stationen, keine davon abends

Die Stunde wird dort gebucht, wo sie anfällt — und was danach passiert, passiert von selbst.

Aufsprechen statt tippen

„Montag Weberstraße, sieben bis halb fünf, dreiviertel Stunde Pause, Estrich im Obergeschoss." Das Diktat legt daraus die Buchung an — mehrere Tage in einem Durchgang sind normal, und der Schlechtwetter-Haken lässt sich gleich mit setzen.

Diktatmehrere Buchungen je DiktatVorschau vor dem Speichern

Auf Vorhaben — und wenn du willst, auf die Position

Jede Buchung hängt an einem Vorhaben. Zusätzlich kann sie an einer LV-Position hängen; muss sie aber nicht. Genau das unterscheidet eine Baustellenstunde von einer Anwesenheit: sie hat ein Ziel, nicht nur eine Dauer.

Vorhaben (Pflicht)LV-Position (optional)Tätigkeitstext

Unmögliches lässt die Datenbank gar nicht erst zu

Feierabend vor Arbeitsbeginn, negative Pause — solche Buchungen weist nicht ein Formular zurück, sondern die Datenbank selbst. Eine Regel, die in der Oberfläche steht, lässt sich umgehen; eine, die in der Tabelle steht, nicht.

end > startPause ≥ 0als CHECK in der Tabelle

Und der Tag versiegelt sein Wetter

Sobald die Buchung hochläuft, holt der Server das Wetter zur Koordinate des Vorhabens für genau diesen Tag und legt es als unveränderlichen Beleg dazu — mit der vollständigen Antwort des Wetterdienstes. Du musst dafür nichts tun; es passiert beim Synchronisieren.

automatischein Beleg je Buchungunveränderlich
draftEntwurf — in Arbeit
submittedeingereicht — liegt zur Freigabe
approvedfreigegeben — abrechenbar
rejectedzurückgewiesen — mit Grund am Eintrag

Der Schlechtwetter-Beleg

Der häufigste Streit am Bau ist der um verlorene Tage. Wer ihn führen will, braucht das Wetter von damals — und zwar so, wie es damals abgerufen wurde.

Zeitbuchung · Weberstraße 14 Beispiel · Mi 12.08.
Zeit 07:00 – 16:30, Pause 45 Min 8,75 h
Schlechtwetter vom Polier gesetzt ja

Beim Hochladen dazugelegt

Quelle
open-meteo
Ort
52.9946 N · 7.8531 O (Koordinate des Vorhabens)
Gemessen
7,4 mm Niederschlag · Wind bis 38 km/h · 9–14 °C
Abgelegt
vollständige Antwort des Wetterdienstes
Änderbar
nein — die Datenbank weist jede Änderung zurück

Die Beispielwerte sind erfunden — die Felder sind es nicht. Je Buchung gibt es genau einen Beleg; ein zweiter kann nicht danebengelegt werden.

Warum der Haken und der Beleg zwei Dinge sind

„Schlechtwetter" ist eine Entscheidung — jemand sagt, dass an diesem Tag nicht gearbeitet werden konnte, und setzt den Haken. Der Wetterbeleg ist eine Messung, die unabhängig davon entsteht. Bidi vermischt die beiden nicht: die Software urteilt nicht darüber, ob 7,4 mm Regen ein Schlechtwettertag waren. Sie sorgt nur dafür, dass die Zahl später noch da ist.

Nicht die Stempeluhr

Baustellenzeit und Bürozeit sehen von außen ähnlich aus und sind zwei verschiedene Dinge. Bidi führt sie als zwei getrennte Module, mit getrennten Ansichten und getrennten Rechten.

Zeiterfassung · Baustelle
  • Was sie beantwortet: Wofür wurde gearbeitet?Modul timeTracking
  • Bucht auf Vorhaben und optional auf die LV-Position
  • Trägt Tätigkeitstext, Schlechtwetter-Haken und den Wetterbeleg
  • Wird eingereicht und freigegeben — vier Stände
Personalzeiterfassung · Büro
  • Was sie beantwortet: Wer war wann da?Modul attendance
  • Kommen und Gehen als Stempeluhr, ohne Projektbezug
  • Dazu Personalmonitor für den Tag und eine Korrektur-Inbox
  • Eigene Seite: Personalzeiterfassung

Warum das wichtig ist: wer beides in einen Topf wirft, bekommt Stunden, die weder für die Nachkalkulation noch für die Lohnabrechnung taugen. Ein Bauleiter will wissen, was die Position gekostet hat; die Buchhaltung will wissen, wer anwesend war. Das sind zwei Fragen — und in Bidi zwei Module, die man auch einzeln zuschalten kann.

Wo der Beleg aufhört

Ein Nachweis ist nur so viel wert wie das, was man ehrlich über ihn sagt.

bidi-app · packages/backend/src/db/migrations/004_bad_weather.sql wörtlich
-- Immutability trigger: prevent modification of weather data after creation
-- This ensures legal defensibility of the weather records

    RAISE EXCEPTION 'Weather snapshot data is immutable after creation (legal requirement)';
Der Trigger, der den Beleg schützt. Er sitzt in der Datenbank und bricht jede nachträgliche Änderung an Temperatur, Niederschlag, Wind, Koordinate oder Roh-Antwort mit einer Ausnahme ab. Ein Soft-Delete bleibt erlaubt — was einmal gemessen wurde, wird nicht heimlich zu etwas anderem.

Was der Beleg nicht leistet: er beweist, dass der Wetterdienst an diesem Tag diese Werte für diese Koordinate geliefert hat — nicht, dass sie an deiner Wand genauso waren. Er entsteht nur, wenn am Vorhaben eine Koordinate hinterlegt ist. Und er ist kein Rechtsgutachten: ob ein Tag ein Schlechtwettertag im Sinne deines Vertrags war, entscheidet der Vertrag, nicht die Software.

An euren eigenen Stunden

Bring eine Woche mit, die zuletzt strittig war. Wir buchen sie im Gespräch nach — dann siehst du, was davon belegbar gewesen wäre.

  • Du schreibst zwei Zeilen, Frank meldet sich bei dir.
  • Ihr nehmt echte Stunden von einer echten Baustelle.
  • Danach weißt du, was das Modul kann und was nicht. Beides steht auf dieser Seite.

Keine Werbung, keine Weitergabe