No description
- "Rechnung endgueltig erstellen?" nennt Nummer, Kunde und Betrag und weist darauf hin, dass danach nur noch Storno oder Berichtigung bleibt (§ 14 Abs. 4 Nr. 4 UStG, § 31 Abs. 5 UStDV). Geprueft ist auch, dass "Nein" wirklich nichts schreibt - sonst waere die Frage eine Attrappe. - Als EXE legt das Programm sich beim ersten Start einen Ordner "Daten" neben die EXE (config.json). Ist dort nicht schreibbar (EXE unter "Programme"), weicht es nach LOCALAPPDATA aus. Lag die config.json noch direkt neben der EXE, zieht sie um - sonst faengt das Programm ohne Firmendaten neu an. - Aufruf von _storno_fortsetzen entfernt: die Methode gibt es nicht mehr, seit die Kette auf dem Storno-Blatt steht. War unerreichbar, waere aber beim naechsten Anfassen ein AttributeError geworden. - Pruefstaende raeumen ihren Wegwerf-Ordner weg und haben eine Reissleine (Abbruch nach zwei Minuten), damit kein Dialog mehr ewig offen steht. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EKvGkdNW1vKdnMPAM9Bp3X |
||
|---|---|---|
| assets | ||
| .gitignore | ||
| app.py | ||
| berechnung.py | ||
| bestand.py | ||
| config.py | ||
| einstellungen.py | ||
| einzelinstanz.py | ||
| helfer.py | ||
| korrektur.py | ||
| pdf_renderer.py | ||
| pruef_dialoge.py | ||
| pruef_kernregeln.py | ||
| pruef_kette.py | ||
| pruef_nummern.py | ||
| pruef_storno.py | ||
| README.md | ||
| Rechnung starten.bat | ||
| 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)