rechnungstool/README.md
TheMockTv dc170a9d9c Rechnungstool Campinghof - Rechnungen als PDF statt Excel-Vorlage
Desktop-Programm (Python/Tkinter): Kundendaten + Leistungen eingeben,
druckfertige PDF-Rechnung im Briefkopf des Betriebs. Optionale
Beherbergungssteuer wird eigen ausgewiesen und bekommt ein zweites
Blatt fuers Amt.

Firmendaten, Preise und Steuersaetze stehen in der config.json neben
dem Programm (nicht im Repo) und werden im Menue "Einstellungen"
gepflegt. Im Code stehen nur Platzhalter.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 19:18:38 +02:00

53 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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)