No description
Find a file
TheMockTv 5ebb02b267 Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto
Seine Ansage: "schau dir unsern fivem server an und unsere webseiten, dann
weisst du wie mein design ist" - also die Palette aus _ui_www und der
Adminpage: Tuerkis #06C6A4 auf gestuften dunklen Flaechen (#0d0e10 Grund,
#15171b Kachel), Raender #25282e, Text #e8e8ea / #8a8e96, Rot #e85a5a.

Das PROGRAMM traegt diese Handschrift, die RECHNUNG die Farbe der jeweiligen
Firma - das Blatt gehoert dem Kunden, nicht uns.

- Roboto wird mitgeliefert und nur fuer den Prozess geladen
  (AddFontResourceEx mit FR_PRIVATE): keine Installation, keine Adminrechte,
  nach dem Schliessen ist der Rechner wie vorher. Fehlt sie, bleibt es bei
  Segoe UI. Die Schriftdateien gehen mit in die exe (spec).
- Abschnitte sind Kacheln mit Ueberschrift statt grauer Rahmen.
- Knoepfe im Glas-Stil wie in seinen Oberflaechen: getoente Flaeche, Rand in
  Akzent-Transparenz. Tk kann kein backdrop-filter - die Toenung wird
  ausgerechnet (theme.mischen), das Ergebnis ist auf einfarbigem Grund
  identisch. "PDF erstellen" fuehrt, "Storno" ist rot.
- Zebrastreifen in der Leistungsliste: bei 17 Zeilen verrutscht man sonst.
- Kein expand am offenen Reiter mehr - dadurch sprang beim Umschalten die
  ganze Leiste ("das taben macht den aktiven kleiner").
- Das Fenster fuer den gemeinsamen Ordner stand als einziges noch in Weiss da:
  es kam nie durch _style_dialog.

Dazu ein Fund, der nichts mit dem Design zu tun hat: die Pruefstaende erbten
"nummer_eingerichtet" aus der config DIESES Rechners. Sobald hier jemand die
Nummer einmal einrichtet, liefen sie in einen anderen Zweig und wurden rot -
ohne dass sich am Programm etwas geaendert haette. Sie legen den Zustand jetzt
selbst fest. Alle 14 gruen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V4t48uxDok5rJXhC9bX1Ax
2026-09-05 18:52:42 +02:00
assets Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +02:00
.gitignore Nur eine Instanz: zweiter Start holt das offene Fenster nach vorn 2026-09-02 18:28:58 +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 Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +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
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 Amt-Blatt raus, Bedienung ueber die API, Erststart fragt nach zwei Wegen 2026-09-05 18:24:59 +02:00
einstellungen.py Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +02:00
einzelinstanz.py Zwei getrennte Knoepfe und app.py in Module aufgeteilt 2026-09-02 19:41:00 +02:00
gemeinsam.py Der Rechnungszaehler kann nicht mehr hinter das Vergebene zurueck 2026-09-03 22:43:23 +02:00
helfer.py Zwei getrennte Knoepfe und app.py in Module aufgeteilt 2026-09-02 19:41:00 +02:00
korrektur.py Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +02:00
ordnerwahl.py Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +02:00
pdf_renderer.py Amt-Blatt raus, Bedienung ueber die API, Erststart fragt nach zwei Wegen 2026-09-05 18:24:59 +02:00
pruef_angebot.py Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +02:00
pruef_api.py Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +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_dialoge.py Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +02:00
pruef_doppelte_leistung.py Storno fragt zweistufig: neue Rechnung oder schon abgerechnet 2026-09-03 23:27:43 +02:00
pruef_kernregeln.py Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +02:00
pruef_kette.py Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +02:00
pruef_montage.py Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +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 Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +02:00
pruef_nummernsperre.py Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +02:00
pruef_nur_storno.py Storno-Erklaerung steht jetzt auch auf dem Amtsblatt 2026-09-04 01:19:50 +02:00
pruef_storno.py Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +02:00
pruef_vorschau.py Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +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 Rechnungstool Campinghof - Rechnungen als PDF statt Excel-Vorlage 2026-07-12 19:18:38 +02:00
Rechnung starten.bat Rechnungstool Campinghof - Rechnungen als PDF statt Excel-Vorlage 2026-07-12 19:18:38 +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 Oberflaeche im Pcore-Stil: Tuerkis, Kacheln, Glas-Knoepfe, Roboto 2026-09-05 18:52:42 +02:00

Rechnungstool Campinghof Bartl

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)