| Anforderung | Details | Beispiel |
| ----------------------- | ----------------------------------------------------------------------------- | ------------------------------------ |
| **Leistungszeitraum** | **Mindestens ein Datum** (Tag/Monat/Jahr) muss angegeben werden. | "Leistungserbringung: Oktober 2025" |
| Genauigkeit | Der Zeitraum muss **nachvollziehbar** sein (für Finanzamt & Kunde). | "10.10.2025" oder "01.–31.10.2025" |
| **Fortlaufende Leistungen** | Bei **Dauerleistungen** (z. B. monatliche Betreuung) reicht ein **Abrechnungsmonat**. | "Monatliche Wartung: September 2025" |
| **Einmalige Leistungen** | Ein **einzelnes Datum** genügt (z. B. Tag der Beratung). | "Beratung am 15.10.2025" |
# Wann sind Start- und Enddatum Pflicht?
Nur in diesen Fällen musst du beide Daten angeben:
- **Teilleistungen** (§ 13 UStG):
- Wenn du eine große Dienstleistung in Raten abrechnest (z. B. Projektarbeit über 6 Monate).
- Beispiel: "Teilleistung 1: 01.07.–30.09.2025 (30% des Gesamtpreises)".
- **Vertraglich vereinbart:**
- Wenn der Kunde im Vertrag explizit Start/Ende fordert (z. B. bei Framework-Verträgen).
- **Steuerliche Nachweispflicht:**
- Bei Forschungs- oder Entwicklungsprojekten, wo das Finanzamt die Dauer prüft (z. B. für Fördermittel).
# Umsetzung
Bedingte Pflichtfelder
- Falls is_recurring = true (z. B. monatliche Buchhaltung) → nur service_date_end (Abrechnungsmonat).
- Falls is_partial_service = true → beide Daten.
oder
- Standardmäßig nur ein Datum (für 80% der Fälle).
- Checkbox für Zeiträume (z. B. bei monatlichen Services oder Projekten)
# Validierung
```PHP
[
'invoice_items.*.service_date' => 'required|date',
'invoice_items.*.service_date_start' => 'nullable|date|before_or_equal:invoice_items.*.service_date_end',
'invoice_items.*.service_date_end' => 'nullable|date|after_or_equal:invoice_items.*.service_date_start',
]
```
- service_date ist immer Pflicht.
- Falls service_date_start angegeben wird, muss service_date_end danach liegen (und umgekehrt).
# XRechnung
```XML
<ram:ActualDeliveryDate>
<udt:DateTimeString format="102">
{{ service_date_start ? service_date_start : service_date }}
</udt:DateTimeString>
</ram:ActualDeliveryDate>
<!-- Bei Zeitraum: zusätzlich -->
<ram:ActualDeliveryPeriod>
<udt:StartDateTime>{{ service_date_start }}</udt:StartDateTime>
<udt:EndDateTime>{{ service_date_end }}</udt:EndDateTime>
</ram:ActualDeliveryPeriod>
```
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Wann sind Start- und Enddatum Pflicht?
Nur in diesen Fällen musst du beide Daten angeben:
Umsetzung
Bedingte Pflichtfelder
oder
Validierung
XRechnung