No description
Find a file
TheMockTv adbb035cf1 Pruefstaende auf den zweiten Monitor, Desktop-Verknuepfung mit Symbol
Seine Ansagen
  "teste links auf dem 1080p monitor nicht mehr auf dem main ... weil da
   schau ich nun video"
  "und das steuertool hat noch kein installer und die rechnungstool hat das
   icon nicht auf dem desktop etc selbe beim steuertool"

Pruefplatz
  Der Platz fuer Pruefstandsfenster lag bei "Bildschirmbreite + 20", also
  RECHTS neben dem Hauptmonitor. Bei ihm steht der zweite Monitor aber LINKS
  (x = -1920), und rechts ist gar nichts: die Fenster gingen ins Leere. Sie
  liefen, waren aber nirgends zu sehen - das hat beim Bildermachen einige Zeit
  gekostet, ehe es auffiel.

  theme.pruefplatz() sucht jetzt den nicht-primaeren Monitor und liefert
  dessen Ecke. Gibt es keinen, bleibt es beim alten Verhalten. Das
  Steuerrechnungstool hatte ueberhaupt keine Sonderposition - dessen
  Pruefstandsfenster gingen mitten auf den Hauptbildschirm auf.

Verknuepfungen
  Der Haken "Verknuepfung auf dem Desktop" ist jetzt vorgesetzt statt
  abgewaehlt, und jede Verknuepfung traegt IconFilename ausdruecklich. Ohne
  das erbt sie ihr Symbol vom UPDATER - und Windows zeigte an ihrer Stelle
  das nackte Standardsymbol.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V4t48uxDok5rJXhC9bX1Ax
2026-09-07 00:41:35 +02:00
assets Darstellung waehlbar: hell, dunkel oder wie Windows 2026-09-07 00:34:16 +02:00
.gitignore Logo in der Statuszeile, Bau an einer Stelle, Startprobe fuer die EXE 2026-09-06 20:34:59 +02:00
api.py Amt-Blatt raus, Bedienung ueber die API, Erststart fragt nach zwei Wegen 2026-09-05 18:24:59 +02:00
app.py Pruefstaende auf den zweiten Monitor, Desktop-Verknuepfung mit Symbol 2026-09-07 00:41:35 +02:00
AUFGABE_AUSSENDIENST_ARBEITSPROTOKOLL.md Logo in der Statuszeile, Bau an einer Stelle, Startprobe fuer die EXE 2026-09-06 20:34:59 +02:00
AUFGABE_BEWEISKETTE_PRUEFBAR.md Darstellung waehlbar: hell, dunkel oder wie Windows 2026-09-07 00:34:16 +02:00
AUFGABE_KUNDENSTAMM_UND_WEB.md Amt-Blatt: die letzten Reste raus - das Programm behauptet keine zweite Seite mehr 2026-09-06 15:33:18 +02:00
AUFGABE_ONLINE_API_MYSQL.md Logo in der Statuszeile, Bau an einer Stelle, Startprobe fuer die EXE 2026-09-06 20:34:59 +02:00
AUFGABE_PREISVORSCHLAG.md Aufgabe festgehalten: Preisvorschlag beim Rechnungschreiben 2026-09-07 00:06:25 +02:00
AUFGABE_RECHTSSICHER_BILDER_VORSCHAU.md Amt-Blatt raus, Bedienung ueber die API, Erststart fragt nach zwei Wegen 2026-09-05 18:24:59 +02:00
bauen.py Darstellung waehlbar: hell, dunkel oder wie Windows 2026-09-07 00:34:16 +02:00
berechnung.py Rechnungstool Campinghof - Rechnungen als PDF statt Excel-Vorlage 2026-07-12 19:18:38 +02:00
bestand.py Der Rechnungszaehler kann nicht mehr hinter das Vergebene zurueck 2026-09-03 22:43:23 +02:00
bilder.py Bilder und Farbe gehoeren der Firma, dazu ein Vorschau-Knopf 2026-09-05 17:35:37 +02:00
config.py Das Programm heisst Rechnungstool, nicht "Rechnungstool - Campinghof Bartl" 2026-09-05 19:38:06 +02:00
Diagnose.spec Darstellung waehlbar: hell, dunkel oder wie Windows 2026-09-07 00:34:16 +02:00
einstellungen.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
einzelinstanz.py Zwei getrennte Knoepfe und app.py in Module aufgeteilt 2026-09-02 19:41:00 +02:00
flaeche.py Layout: die Formularseite nimmt nur, was sie braucht 2026-09-06 23:41:24 +02:00
gemeinsam.py Freigabe vor dem Beleg - mit Zeitstempel im gemeinsamen Nummernbuch 2026-09-06 15:42:55 +02:00
helfer.py Zwei getrennte Knoepfe und app.py in Module aufgeteilt 2026-09-02 19:41:00 +02:00
hinweis.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
icons.py Kaesten verschiebbar wie bei OPNsense: Knopf, schieben, speichern 2026-09-05 19:53:42 +02:00
Installer.iss Pruefstaende auf den zweiten Monitor, Desktop-Verknuepfung mit Symbol 2026-09-07 00:41:35 +02:00
korrektur.py Jedes Feld, in das man tippen kann, sieht gleich aus 2026-09-05 19:44:12 +02:00
menueleiste.py Darstellung waehlbar: hell, dunkel oder wie Windows 2026-09-07 00:34:16 +02:00
ordnerwahl.py Eigene Meldungsfenster, aktiver Reiter hervorgehoben, Pruefschalter als Funktion 2026-09-05 19:17:13 +02:00
pdf_renderer.py Logo in der Statuszeile, Bau an einer Stelle, Startprobe fuer die EXE 2026-09-06 20:34:59 +02:00
pruef_angebot.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
pruef_api.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
pruef_bilder.py Amt-Blatt raus, Bedienung ueber die API, Erststart fragt nach zwei Wegen 2026-09-05 18:24:59 +02:00
pruef_darstellung.py Darstellung waehlbar: hell, dunkel oder wie Windows 2026-09-07 00:34:16 +02:00
pruef_dialoge.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
pruef_doppelte_leistung.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
pruef_flaeche.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
pruef_freigabe.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
pruef_hinweis.py Logo in der Statuszeile, Bau an einer Stelle, Startprobe fuer die EXE 2026-09-06 20:34:59 +02:00
pruef_kernregeln.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
pruef_kette.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
pruef_montage.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
pruef_nummern.py Die Kette steht auf dem Storno-Blatt - kein gemerkter Zustand noetig 2026-09-02 20:42:31 +02:00
pruef_nummernbuch.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
pruef_nummernsperre.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
pruef_nur_storno.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
pruef_release.py Release-Anhaenge: der Name entscheidet - und ein Pruefstand dafuer 2026-09-06 20:43:15 +02:00
pruef_selbstbezug.py Logo in der Statuszeile, Bau an einer Stelle, Startprobe fuer die EXE 2026-09-06 20:34:59 +02:00
pruef_spaltenbreiten.py Layout: die Formularseite nimmt nur, was sie braucht 2026-09-06 23:41:24 +02:00
pruef_start_exe.py Logo in der Statuszeile, Bau an einer Stelle, Startprobe fuer die EXE 2026-09-06 20:34:59 +02:00
pruef_storno.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
pruef_updater.py Logo in der Statuszeile, Bau an einer Stelle, Startprobe fuer die EXE 2026-09-06 20:34:59 +02:00
pruef_vorschau.py Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
pruefsteuerung.py Amt-Blatt raus, Bedienung ueber die API, Erststart fragt nach zwei Wegen 2026-09-05 18:24:59 +02:00
README.md Erprobungshinweis beim Start - mit Kenntnisnahme und Signatur unter Info 2026-09-06 15:55:56 +02:00
Rechnung starten.bat Rechnungstool Campinghof - Rechnungen als PDF statt Excel-Vorlage 2026-07-12 19:18:38 +02:00
Rechnungstool.spec Darstellung waehlbar: hell, dunkel oder wie Windows 2026-09-07 00:34:16 +02:00
reiter.py Reiter selbst gebaut - clam liess den ruhenden nicht dunkel werden 2026-09-05 19:21:20 +02:00
storno.py Funde der drei Agenten: zwei kaputte Dialoge, haengende Flags, scharfe Pruefstaende 2026-09-02 19:57:31 +02:00
theme.py Pruefstaende auf den zweiten Monitor, Desktop-Verknuepfung mit Symbol 2026-09-07 00:41:35 +02:00
updater.py Logo in der Statuszeile, Bau an einer Stelle, Startprobe fuer die EXE 2026-09-06 20:34:59 +02:00
Updater.spec Logo in der Statuszeile, Bau an einer Stelle, Startprobe fuer die EXE 2026-09-06 20:34:59 +02:00
version.py Darstellung waehlbar: hell, dunkel oder wie Windows 2026-09-07 00:34:16 +02:00
wasserzeichen.py Darstellung waehlbar: hell, dunkel oder wie Windows 2026-09-07 00:34:16 +02:00

Rechnungstool Campinghof Bartl

Umbenennung, 06.09.2026

Die Repositories heissen jetzt:

bisher jetzt
beherbergungssteuer Steuerrechnungstool - https://git.pcore.de/TheMockTv/Steuerrechnungstool
rechnungstool unveraendert - https://git.pcore.de/TheMockTv/rechnungstool

Grund: „Beherbergungssteuer“ beschrieb nur noch einen Teil dessen, was das Programm tut. Alte Links leitet Forgejo weiter, bestehende Klone laufen weiter - das origin sollte trotzdem umgestellt werden:

git remote set-url origin https://git.pcore.de/TheMockTv/Steuerrechnungstool.git

Fehler und Wünsche bitte als Issue im jeweiligen Repository melden - die Adresse steht auch im Programm unter Hilfe → Info und im Hinweis beim Start.

⚠️ Der lokale Ordner heißt weiterhin C:\claude\beherbergungssteuer. Der Pfad steht fest verdrahtet in mehreren Prüfständen und in den Spec-Dateien - das Umbenennen ist ein eigener Schritt.

Desktop-Programm (Python/Tkinter), das die alte Excel-Rechnungsvorlage ersetzt: Kundendaten + Anzahl eingeben → druckfertige PDF-Rechnung im Campinghof-Layout.

Starten

  • Doppelklick auf Rechnung starten.bat
  • oder im Terminal: python app.py

Bedienung

  1. Kunde (Name/Anschrift) und An-/Abreise eintragen – die Nächte werden automatisch berechnet.
  2. Bei den passenden Leistungen die Anzahl (Tage/Menge) eingeben; bei Personengebühren zusätzlich die Personen.
  3. Summen (inkl. Steuer-Aufschlüsselung) erscheinen live unten.
  4. PDF erstellen → die Rechnung landet im Ordner rechnungen/ und öffnet sich zum Drucken.

Die Rechnungsnummer (JJJJ-NNN) zählt nach jedem Erstellen automatisch hoch.

Einstellungen (Menü „Einstellungen")

  • Steuersätze & Bettensteuer – ermäßigter/regulärer USt-Satz; Beherbergungssteuer per Checkbox an/aus + Prozentsatz. Bei aktiver Bettensteuer wird sie auf das Netto der Beherbergungs-Positionen aufgeschlagen und eigen ausgewiesen.
  • Leistungskatalog / Preise – Bezeichnung, USt-Satz und Brutto-Preis je Position.
  • Firmendaten & Texte – Kopf, Bankverbindung, Fußzeile, Danktexte.
  • Rechnungsnummer – Jahr und Zähler setzen.

Alle Einstellungen werden in config.json gespeichert (neben den Programmdateien).

Berechnung (wie in der Excel-Vorlage)

  • Position-Gesamt = Anzahl × Einzelpreis (Personengebühren zusätzlich × Personen).
  • Preise sind brutto; die USt wird herausgerechnet (7 %: ÷107×7, 19 %: ÷119×19).
  • Optionale Beherbergungssteuer = Satz % auf das Netto der Beherbergungs-Positionen.

Dateien

Datei Zweck
app.py GUI (Eingabe + Einstellungen)
berechnung.py Rechenkern (eine Quelle für GUI + PDF)
pdf_renderer.py PDF-Erstellung (reportlab)
config.py Standardwerte + Laden/Speichern der config.json
config.json gespeicherte Einstellungen (wird beim 1. Start angelegt)
rechnungen/ Ausgabeordner für die PDFs

Voraussetzungen

  • Python 3.10+
  • reportlab (pip install reportlab)
  • tkinter (bei Standard-Windows-Python dabei)