docs: add fictional Halian invoice and email workflow

This commit is contained in:
admin committed 2026-10-16 10:45:56 +02:00
1 parent a643cf5227
commit 34a7a3d039
3 files changed
+142

No files matched your search

+8
View File
@@ -29,6 +29,14 @@ Beispieldateien eintragen. `private/`, `invoices/`, die virtuelle Umgebung und
Ausgabeordner sind gitignoriert. Externe Rechnungsordner separat gegen versehentliches Ausgabeordner sind gitignoriert. Externe Rechnungsordner separat gegen versehentliches
Committen sichern. Die lokale IDV-Vorlage ist nur historischer Bestand; keine Empfängeradresse ist dafür erforderlich. Committen sichern. Die lokale IDV-Vorlage ist nur historischer Bestand; keine Empfängeradresse ist dafür erforderlich.
## Durchgängiges Praxisbeispiel
[Halian GmbH: C# Entwicklung Bank Projekt, Oktober 2026](docs/beispiel-workflow-halian.md)
zeigt die Rechnungserstellung, das Anhängen der PDF-Datei und den manuellen Versand
an `invoice@halian.com`, einschließlich Betreff, Textvorlage und optionalem EML-Entwurf.
Die Beispielannahmen (120 Stunden und 85 EUR netto „all in“ zuzüglich Umsatzsteuer)
sind dort ausdrücklich gekennzeichnet. Halian ist hier kein bestätigter Kunde.
## Befehle ## Befehle
`jr-einvoice --help` und `<befehl> --help` zeigen alle Parameter. `jr-einvoice --help` und `<befehl> --help` zeigen alle Parameter.
+3
View File
@@ -50,6 +50,9 @@ verloren gehen kann. Die Ausgabe bestätigt die erfolgreiche technische Prüfung
Sie garantiert nicht pauschal die sachliche oder steuerliche Richtigkeit deiner Sie garantiert nicht pauschal die sachliche oder steuerliche Richtigkeit deiner
Eingaben. Details: [Rechtsstand und Grenzen](docs/e-rechnung-2027.md). Eingaben. Details: [Rechtsstand und Grenzen](docs/e-rechnung-2027.md).
Ein vollständiger Ablauf mit Projektbeschreibung, PDF-Anhang, Mailbetreff,
Textvorlage und Versand steht im [fiktiven Halian-Beispiel](docs/beispiel-workflow-halian.md).
## Optionen für Alltag und Skripte ## Optionen für Alltag und Skripte
```bash ```bash
+131
View File
@@ -0,0 +1,131 @@
# Beispiel: Halian GmbH – Oktober 2026
Fiktiver Ablauf vom Konsolenaufruf bis zum Versand über dein Mailprogramm.
Es wird durch diese Dokumentation keine Rechnung erstellt und keine E-Mail versendet.
Für das Beispiel nehmen wir **120 tatsächlich geleistete Stunden** an. „85 EUR
all in“ bedeutet hier **85 EUR netto pro Stunde einschließlich aller Nebenkosten,
zuzüglich 19 % Umsatzsteuer**. Falls vertraglich 85 EUR einschließlich Umsatzsteuer
vereinbart sind, passt dieser Nettopreis nicht; zuerst die Preisbasis klären.
Die Rechnungsanschrift und etwaige Bestellnummer müssen aus dem Auftrag stammen;
hier wird keine reale Halian-Anschrift behauptet. `invoice@halian.com` ist die für
dieses Beispiel von dir vorgegebene Versandadresse, keine unabhängig geprüfte Adresse.
## 1. Rechnung erzeugen
Nach Abschluss des Leistungsmonats, im Beispiel am **31.10.2026**:
```bash
cd /home/johannes/localdev/einvoice
einvoice --create \
--Customer "Halian GmbH" \
--Entry "C# Entwicklung Bank Projekt – Geleistete Stunden Oktober 2026" \
--Volume 120 \
--Price "85,00 €" \
--Month 2026-10 \
--Date 2026-10-31 \
--DueDays 30
```
Stunden, Preis, Datum und Zahlungsziel für eine echte Rechnung entsprechend dem
Auftrag anpassen. Bei einem **neuen Kunden** fragt die Konsole Straße/Hausnummer,
Postleitzahl und Ort ab. Dort die vollständige Rechnungsanschrift laut Auftrag
angeben. Sie wird lokal gespeichert; bei weiteren Rechnungen reicht derselbe
Kundenname. Bei Bedarf `--OrderReference "BESTELLNUMMER-LAUT-AUFTRAG"` ergänzen.
Keine erfundene Bestellnummer übernehmen.
Die Nummer wird automatisch vergeben. Angenommen, die Konsole meldet
`JR-2026-0001` (deine tatsächliche Nummer kann abweichen):
```text
Rechnungsdaten vollständig: JR-2026-0001 · Halian GmbH
PDF/A und strukturierte Rechnungsdaten werden erzeugt …
Rechnung validiert: PDF/A und EN16931-XML technisch gültig.
Rechnung erzeugt · Netto: 10.200,00 EUR · USt: 1.938,00 EUR · Brutto: 12.138,00 EUR
Leistung: 2026-10-01 bis 2026-10-31
PDF zum Anhängen an deine E-Mail:
…/Rechnung_JR-2026-0001_…/Rechnung_JR-2026-0001.pdf
```
Das Zahlungsziel ist im Beispiel **30.11.2026**. Die Konsole nennt zusätzlich den
Prüfbericht. Bei einem Fehler erst den Entwurf korrigieren und erneut validieren;
keine Sichtkopie als Ersatz versenden.
## 2. PDF prüfen und im Mailprogramm anhängen
1. Die unter **„PDF zum Anhängen an deine E-Mail“** ausgegebene Datei öffnen.
Kundenanschrift, Projekt, tatsächliche Stunden, Leistungszeitraum, Rechnungsnummer,
Bankverbindung und Gesamtbetrag prüfen.
2. Im Mailprogramm eine neue Nachricht mit Absender **johannes@jr-it-services.de**
an **invoice@halian.com** anlegen.
3. Die ausgegebene `Rechnung_<tatsächliche Nummer>.pdf` im Dateimanager markieren
und per Drag-and-drop in die Nachricht ziehen. Alternativ über die Büroklammer
„Datei anhängen“ auswählen; im Dateiauswahldialog den vollständigen PDF-Pfad aus
der Konsole einfügen. **Den Pfad in den Mailtext zu kopieren hängt die Datei nicht an.**
4. Prüfen, dass die Nachricht einen PDF-Anhang mit dem richtigen Dateinamen enthält.
Die Originaldatei anhängen; nicht neu als PDF drucken oder konvertieren. Das
strukturierte XML ist bereits eingebettet. `out/invoice.pdf` ist nur die Sichtkopie.
**Betreff** – Rechnungsnummer durch die tatsächlich ausgegebene Nummer ersetzen:
```text
Rechnung JR-2026-0001 | Oktober 2026 | C# Entwicklung Bank Projekt
```
**Textvorschlag:**
```text
Sehr geehrte Damen und Herren,
anbei erhalten Sie meine Rechnung JR-2026-0001 für das Projekt
„C# Entwicklung Bank Projekt“ im Leistungszeitraum 01.10.2026 bis 31.10.2026.
Abgerechnet werden 120 Stunden zu 85,00 EUR netto pro Stunde.
Der Rechnungsbetrag beträgt 12.138,00 EUR einschließlich 19 % Umsatzsteuer.
Bitte überweisen Sie den Betrag bis zum 30.11.2026 unter Angabe der
Rechnungsnummer auf das in der Rechnung genannte Konto.
Die Rechnung ist als ZUGFeRD/Factur-X-PDF mit eingebetteten strukturierten
Rechnungsdaten beigefügt.
Vielen Dank und freundliche Grüße
Johannes Rest
JR IT Services
johannes@jr-it-services.de
```
## 3. Absenden und ablegen
Empfängeradresse mit dem Auftrag abgleichen und Betreff, Text, tatsächliche
Rechnungsnummer und Anhang noch einmal vergleichen. Bei vereinbartem
Stundennachweis diesen zusätzlich beifügen. Anschließend im Mailprogramm
**„Senden“** wählen.
Die gesendete Originalmail samt Anhang und vollständigen Rechnungsordner mit XML,
Prüfbericht und Prüfsummen in der gesicherten Ablage aufbewahren. Eine Kopie im
Gesendet-Ordner belegt noch keine Annahme beim Empfänger; Rückläufer bzw.
Empfangsbestätigungen berücksichtigen. Versandte Rechnungen nicht überschreiben.
## Optional: E-Mail-Entwurf bereits mit Anhang erzeugen
Statt die Datei manuell anzuhängen, kann der vorhandene Rechnungsordner an den
Mailentwurfsbefehl übergeben werden. Im folgenden Beispiel den Platzhalter durch
den **vollständigen tatsächlichen Rechnungsordner** ersetzen, nicht durch den PDF-Pfad:
```bash
/home/johannes/localdev/einvoice/.venv/bin/jr-einvoice email \
"/VOLLSTAENDIGER/PFAD/ZUM/RECHNUNGSORDNER" \
--to invoice@halian.com
```
Der Befehl erzeugt und validiert erneut und legt `out/invoice.eml` an. Diese Datei
im Mailprogramm als Entwurf öffnen (ggf. „Als neue Nachricht bearbeiten“). Absender,
Empfänger und PDF-Anhang sind vorbereitet; **Projektbetreff und ausführlichen Text
oben bei Bedarf einsetzen**, denn der automatische Entwurf verwendet einen
allgemeinen Rechnungsbetreff und einen kürzeren Standardtext. Prüfen und anschließend
selbst absenden. Der Befehl versendet nicht automatisch.
Wenn dein Mailprogramm EML-Dateien nur anzeigt, den manuellen Ablauf mit einer
neuen Nachricht verwenden. Zum Erstellen einer Rechnung genügt `einvoice --create`;
der EML-Schritt ist eine optionale Versandhilfe.