Eigene JTL-Wawi-Übersichten: Rechnungsdaten mit Kundeninformationen verknüpfen

Diese SQL-Abfrage eignet sich für eigene Übersichten in JTL-Wawi, wenn Rechnungsnummern, zugehörige Auftragsnummern und Kundendaten gemeinsam dargestellt werden sollen. Sie greift direkt auf die Rechnungs-Tabellen im Schema Rechnung zu.

SELECT
    r.cRechnungsnr AS Rechnungsnummer,
    e.cAuftragsnummern AS Auftragsnummer,
    ISNULL(a.cMail, l.cMail) AS EMailadresse,
    ISNULL(a.cVorname, l.cVorname) AS Vorname,
    ISNULL(a.cName, l.cName) AS Nachname,
    r.cKundengruppe AS Kundengruppe
FROM
    Rechnung.tRechnung r
JOIN
    Rechnung.tRechnungEckdaten e ON e.kRechnung = r.kRechnung
OUTER APPLY (
    SELECT TOP 1 *
    FROM Rechnung.tRechnungAdresse
    WHERE kRechnung = r.kRechnung AND nTyp = 1
) a
OUTER APPLY (
    SELECT TOP 1 *
    FROM Rechnung.tRechnungAdresse
    WHERE kRechnung = r.kRechnung AND nTyp = 0
) l
WHERE
    r.kRechnung IN (@Keys);

Was die Abfrage macht:

  • tRechnung liefert die Basisdaten zur Rechnung (Nummer, Kundengruppe).

  • tRechnungEckdaten enthält die zugehörige Auftragsnummer.

  • Über zwei OUTER APPLY-Abfragen werden Rechnungsadressen aus tRechnungAdresse eingebunden:

    • nTyp = 1 → Lieferadresse

    • nTyp = 0 → Rechnungsadresse

  • Mit ISNULL() wird geprüft, welche Adresse Daten enthält – so werden Felder wie E-Mail, Vorname oder Nachname sicher gefüllt.

Praxisnutzen in JTL-Wawi:
Diese Abfrage ist ideal für individuelle Übersichten, etwa:

  • Rechnungslisten mit Kundendaten und E-Mail-Adressen,

  • Versandberichte mit Zuordnung von Rechnungs- und Auftragsnummern,

  • oder zur Kontrolle offener Belege nach Kundengruppe.

Tipp:
Wenn du nur Rechnungsadressen benötigst, kannst du das zweite OUTER APPLY entfernen.
Für eine schnelle Filterung bestimmter Kundengruppen lässt sich außerdem am Ende einfach ergänzen:

AND r.cKundengruppe = 'B2B'

So erhältst du in der eigenen Übersicht eine saubere, kombinierte Datenausgabe für Rechnungen und Kundenkontakte in JTL-Wawi.

Hinweis zur Nutzung von Code-Beispielen

Die auf dieser Website bereitgestellten Code-Beispiele und Skripte dienen ausschließlich zu Demonstrations- und Lernzwecken. Die Nutzung in produktiven Umgebungen erfolgt auf eigene Verantwortung. Wir übernehmen keine Haftung für Schäden oder Datenverluste, die durch unsachgemäße Anwendung entstehen.