No description
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 |
||
|---|---|---|
| assets | ||
| .gitignore | ||
| api.py | ||
| app.py | ||
| AUFGABE_RECHTSSICHER_BILDER_VORSCHAU.md | ||
| berechnung.py | ||
| bestand.py | ||
| bilder.py | ||
| config.py | ||
| einstellungen.py | ||
| einzelinstanz.py | ||
| gemeinsam.py | ||
| helfer.py | ||
| korrektur.py | ||
| ordnerwahl.py | ||
| pdf_renderer.py | ||
| pruef_angebot.py | ||
| pruef_api.py | ||
| pruef_bilder.py | ||
| pruef_dialoge.py | ||
| pruef_doppelte_leistung.py | ||
| pruef_kernregeln.py | ||
| pruef_kette.py | ||
| pruef_montage.py | ||
| pruef_nummern.py | ||
| pruef_nummernbuch.py | ||
| pruef_nummernsperre.py | ||
| pruef_nur_storno.py | ||
| pruef_storno.py | ||
| pruef_vorschau.py | ||
| pruefsteuerung.py | ||
| README.md | ||
| Rechnung starten.bat | ||
| reiter.py | ||
| storno.py | ||
| theme.py | ||
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
- Kunde (Name/Anschrift) und An-/Abreise eintragen – die Nächte werden automatisch berechnet.
- Bei den passenden Leistungen die Anzahl (Tage/Menge) eingeben; bei Personengebühren zusätzlich die Personen.
- Summen (inkl. Steuer-Aufschlüsselung) erscheinen live unten.
- 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)