rechnungstool/AUFGABE_AUSSENDIENST_ARBEITSPROTOKOLL.md
TheMockTv 73042b771c Logo in der Statuszeile, Bau an einer Stelle, Startprobe fuer die EXE
Logo
  Das Programmlogo steht jetzt klein neben "powered by ravokk" - dort sitzt
  die Kennung des Werkzeugs, nicht die des Kunden. Eine eigene Kopfzeile hat
  dieses Programm nicht; oben sind die Reiter.

bauen.py
  Der Weg von der Quelle zur Setup-Datei war eine Folge von Befehlen, die
  jemand von Hand eintippen musste. Wer einen Schritt vergisst, liefert eine
  Setup-Datei mit einer alten EXE aus - und sieht es ihr nicht an. Genau das
  ist heute passiert. Jetzt ist es ein Befehl, die Nummer kommt aus
  version.py, und am Ende stehen die SHA256-Summen fuer den Release-Text.

pruef_start_exe.py
  Prueft, was kein anderer Pruefstand prueft: ob die GEBAUTE EXE ein
  sichtbares Fenster zeigt. Alle uebrigen fahren das Programm aus der Quelle,
  dort trat der Fehler nie auf. "Der Prozess laeuft" beweist dabei nichts -
  er lief ja, waehrend nichts zu sehen war.

Aufgeraeumt
  "Rechnung Campinghof.exe" ist weg; gebaute Dateien gehoeren ins Release,
  nicht ins Repo. Die .spec-Dateien dagegen schon: ohne sie kann niemand die
  EXE nachbauen, die der Updater ausliefert.

Fassung 1.7.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V4t48uxDok5rJXhC9bX1Ax
2026-09-06 20:34:59 +02:00

4.3 KiB

Außendienst: Arbeitsprotokoll auf dem Tablet, Rechnung fällt heraus

Seine Idee vom 06.09.2026, wörtlich:

„mach es an der kundenanzahl fest, und die bekommen eine vorab-nummer, die reserviert ist von der disponentin. die kunden haben eh eine kundennummer — heißt, es ist nur die rechnungsnummer, die zugeteilt wird. und hans hat nur die kundennummer mit adresse und wohnort im log, wo er protokolliert: anfahrt drücken, angekommen drücken … dann arbeit start und stop, dann noch: was hat er eigentlich gemacht — also gleich arbeitsprotokoll — und abfahrt. plus die rechnung für den kunden anhand des arbeitsblocks, den wir schon haben."

Status: Idee. Nichts davon ist gebaut.


Was sich dadurch ändert

Die Rechnung wird nicht mehr getippt, sondern fällt aus dem Arbeitsprotokoll heraus. Wer ohnehin Anfahrt, Ankunft, Beginn und Ende drückt, hat am Abend die Rechnung fast fertig, ohne sie geschrieben zu haben.

Damit ist das ein anderes Produkt als das heutige Rechnungstool: eine Auftrags- und Zeiterfassung, bei der die Rechnung das Ergebnis ist. Der Arbeitsdatensatz wird primär, die Rechnung abgeleitet.

Die Nummernlogik wird dadurch einfacher

  • Die Kundennummer hat der Kunde schon. Reserviert wird nur die Rechnungsnummer.
  • Die Blockgröße ergibt sich aus den zugeteilten Aufträgen — siehe AUFGABE_ONLINE_API_MYSQL.md, Abschnitt „Woher die Blockgröße kommt".
  • Hans hat auf dem Gerät nur, was er braucht: Kundennummer, Anschrift, Ort.

⭐⭐ ENTSCHEIDUNG (Andreas, 06.09.2026): Daten auf dem Server, Rechnung im BÜRO

„das liegt auf dem server, und im büro wird die rechnung geschrieben. denke, das ist sauber — aber so weit sind wir noch nicht."

Das räumt ein Problem ab, und zwar das größte.

Wird die Rechnung im Büro geschrieben, entfällt die Offline-Nummernvergabe komplett. Das Tablet erfasst nur Arbeit — und ein Arbeitsprotokoll braucht keine Rechnungsnummer. Die entsteht im Büro, wo Netz da ist.

→ Nummernkontingente, Puffer und Blockverlängerung werden damit von einer Voraussetzung zu einer OPTION — nötig erst, falls später doch beim Kunden live abgerechnet werden soll. Die Überlegungen dazu bleiben in AUFGABE_ONLINE_API_MYSQL.md stehen, sind aber nicht mehr auf dem kritischen Weg.

Das Tablet muss dann nur zweierlei können:

  1. den Kundenstamm zum Nachschlagen vorhalten (Zwischenspeicher mit sichtbarem Alter)
  2. die Protokolle zwischenspeichern, bis wieder Netz da ist

Beides ohne Nummernvergabe — also ohne die Gefahr, dass zwei Geräte sich in die Quere kommen.

⚠️ Drei Punkte, die vorher geklärt sein müssen

1. ⭐ Erfasste Zeit ist NICHT berechnete Zeit

Anfahrt ist mal berechenbar, mal nicht. Pausen laufen mit, gehören aber nicht auf die Rechnung.

Wird das Protokoll eins zu eins zur Rechnungszeile, streitet der Betrieb irgendwann mit dem Kunden über eine Minute, die das Programm erfunden hat.

Regel: Aus dem Protokoll wird ein VORSCHLAG, aus dem Vorschlag die Rechnung. Das Protokoll bleibt unverändert stehen, auch wenn anders abgerechnet wird.

Dann ist beides sauber und man kann später erklären, warum abgewichen wurde.

2. Start/Stopp drücken heißt: das ist ARBEITSZEIT

Damit hängt Arbeitsrecht daran, nicht nur Steuerrecht:

  • Aufzeichnungs- und Aufbewahrungspflicht (§ 16 ArbZG)
  • Die Aufzeichnungen gehören dem Arbeitsverhältnis, nicht dem Kunden
  • → getrennt von den Kundendaten behandeln, und sie dürfen nicht einfach in der Rechnung landen

3. ⚠️ „Anfahrt/Angekommen" ist Standortverfolgung von Mitarbeitern

Sobald Zeiten und Orte zusammenkommen, ist es Mitarbeiterüberwachung. In Deutschland heikel:

  • braucht eine Rechtsgrundlage und klare Zweckbindung (Art. 88 DSGVO, § 26 BDSG)
  • gibt es je einen Betriebsrat: mitbestimmungspflichtig (§ 87 Abs. 1 Nr. 6 BetrVG)

Beherrschbar, solange der Mitarbeiter selbst drückt und nichts im Hintergrund mitläuft. Ein Programm, das ohne Zutun aufzeichnet, wo jemand ist, wäre etwas völlig anderes — und dann wird es ernst.


Was schon da ist und wiederverwendet wird

  • der Arbeits-/Leistungsblock (Katalog) aus dem Rechnungstool
  • der Kundenstamm (offen, siehe AUFGABE_KUNDENSTAMM_UND_WEB.md)
  • die Nummernkontingente (siehe AUFGABE_ONLINE_API_MYSQL.md)