No description
Find a file
TheMockTv a715d1235b Tabellenzeilen sind durchgehende Streifen, das Grau hebt sich ab
Sein Fund: "schau mal zeile 1 und die ust, passen die hoehen nicht" und "das
grau muss heller als der bg sein".

Beides stimmte. Der Zebrastreifen sass an jedem LABEL einzeln - dadurch stand
neben der zweizeiligen Position 1 ein Satz halbhoher Kaestchen mit Luecken
darueber und darunter, und die USt-Zelle sass mittig statt in der Zeile. Jetzt
liegt der Hintergrund als EIN Streifen ueber alle Spalten, die Zellen sitzen
darin und fuellen die volle Zeilenhoehe. Die Kopfzeile bekommt denselben
Streifen, sonst stand der zweizeilige "Anzahl Tage/Menge" als Kasten heraus.

Der Streifen ist von #1b1e24 auf #232830 gegangen - vorher war der Unterschied
zum Kachelgrund kaum zu sehen, und genau dafuer ist er da.

Alle 14 Pruefstaende gruen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V4t48uxDok5rJXhC9bX1Ax
2026-09-05 19:33:46 +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 Tabellenzeilen sind durchgehende Streifen, das Grau hebt sich ab 2026-09-05 19:33:46 +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 Eigene Meldungsfenster, aktiver Reiter hervorgehoben, Pruefschalter als Funktion 2026-09-05 19:17:13 +02:00
einstellungen.py Eigene Meldungsfenster, aktiver Reiter hervorgehoben, Pruefschalter als Funktion 2026-09-05 19:17:13 +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 Eigene Meldungsfenster, aktiver Reiter hervorgehoben, Pruefschalter als Funktion 2026-09-05 19:17:13 +02:00
ordnerwahl.py Eigene Meldungsfenster, aktiver Reiter hervorgehoben, Pruefschalter als Funktion 2026-09-05 19:17:13 +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 Eigene Meldungsfenster, aktiver Reiter hervorgehoben, Pruefschalter als Funktion 2026-09-05 19:17:13 +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 Eigene Meldungsfenster, aktiver Reiter hervorgehoben, Pruefschalter als Funktion 2026-09-05 19:17:13 +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
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 Tabellenzeilen sind durchgehende Streifen, das Grau hebt sich ab 2026-09-05 19:33:46 +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)