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>
This commit is contained in:
commit
dc170a9d9c
8 changed files with 1692 additions and 0 deletions
53
README.md
Normal file
53
README.md
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
# 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)
|
||||
Loading…
Add table
Add a link
Reference in a new issue