Die Differenzbesteuerung betrifft vor allem Händler, die gebrauchte Waren, Kunstgegenstände oder Sammlerstücke weiterverkaufen. In JTL-Wawi ist sie eine besondere Herausforderung, da Einkaufspreis, Verkaufspreis und Mehrwertsteuer nicht klassisch aufgeschlüsselt sind. Stattdessen wird nur die Differenz zwischen Ein- und Verkauf versteuert.
Mit der folgenden SQL-Abfrage lassen sich Rechnungen und Gutschriften übersichtlich zusammenführen. So erhältst du eine saubere Übersicht über alle Vorgänge, inklusive Steuerklasse, Verkaufspreis, Einkaufspreis und Mehrwertsteuer.
Der erste Teil ermittelt Rechnungspositionen:
SELECT
'Rechnung' AS Typ,
dbo.tSteuerklasse.cName AS Steuerklasse,
Rechnung.tRechnungAdresse.cFirma AS Firma,
Rechnung.tRechnungAdresse.cVorname AS Vorname,
Rechnung.tRechnungAdresse.cName AS Nachname,
Rechnung.tRechnungAdresse.cStrasse AS Straße,
Rechnung.tRechnungAdresse.cPLZ AS PLZ,
Rechnung.tRechnungAdresse.cOrt AS Ort,
Rechnung.tRechnungAdresse.cLand AS Land,
Rechnung.tRechnungPosition.fAnzahl AS Anzahl,
Rechnung.tRechnungPosition.cName AS Artikel,
Rechnung.tRechnungPosition.fMwSt AS Mwst,
Rechnung.tRechnungPosition.fVKNetto AS Netto,
Rechnung.tRechnungPosition.fVKNetto * (Rechnung.tRechnungPosition.fMwSt/100+1) AS Brutto,
dbo.tArtikel.fEKNetto AS EK,
Rechnung.tRechnung.dErstellt AS Erstelldatum
FROM Rechnung.tRechnungPosition
JOIN Rechnung.tRechnungAdresse ON Rechnung.tRechnungAdresse.kRechnung = Rechnung.tRechnungPosition.kRechnung
JOIN dbo.tArtikel ON dbo.tArtikel.kArtikel = Rechnung.tRechnungPosition.kArtikel
JOIN Rechnung.tRechnung ON Rechnung.tRechnung.kRechnung = Rechnung.tRechnungPosition.kRechnung
JOIN dbo.tSteuerklasse ON dbo.tSteuerklasse.kSteuerklasse = dbo.tArtikel.kSteuerklasse
Der zweite Teil liest Gutschriften ein und strukturiert sie identisch:
SELECT
'Gutschrift' AS Typ,
dbo.tSteuerklasse.cName AS Steuerklasse,
Rechnung.tRechnungAdresse.cFirma AS Firma,
Rechnung.tRechnungAdresse.cVorname AS Vorname,
Rechnung.tRechnungAdresse.cName AS Nachname,
Rechnung.tRechnungAdresse.cStrasse AS Straße,
Rechnung.tRechnungAdresse.cPLZ AS PLZ,
Rechnung.tRechnungAdresse.cOrt AS Ort,
Rechnung.tRechnungAdresse.cLand AS Land,
dbo.tGutschriftPos.nAnzahl AS Anzahl,
dbo.tGutschriftPos.cString AS Artikel,
dbo.tGutschriftPos.fMwSt AS Mwst,
dbo.tGutschriftPos.fVKNetto AS Netto,
dbo.tGutschriftPos.fVKNetto * (dbo.tGutschriftPos.fMwSt/100+1) AS Brutto,
dbo.tArtikel.fEKNetto AS EK,
dbo.tgutschrift.dErstellt AS Erstelldatum
FROM dbo.tGutschriftPos
JOIN dbo.tArtikel ON dbo.tArtikel.cArtNr = dbo.tGutschriftPos.cArtNr
JOIN dbo.tSteuerklasse ON dbo.tSteuerklasse.kSteuerklasse = dbo.tArtikel.kSteuerklasse
JOIN dbo.tgutschrift ON dbo.tgutschrift.kGutschrift = dbo.tGutschriftPos.tGutschrift_kGutschrift
JOIN Rechnung.tRechnungAdresse ON Rechnung.tRechnungAdresse.kRechnung = dbo.tgutschrift.kRechnung
Beide Abfragen werden mit UNION ALL
kombiniert, um Rechnungen und Gutschriften gemeinsam darzustellen. Das Ergebnis eignet sich ideal zur Analyse der Margen unter Berücksichtigung der Differenzbesteuerung.
Praxisnutzen:
Diese SQL-Abfrage schafft Transparenz zwischen Einkauf, Verkauf und Steuerklasse. Sie ermöglicht es, Differenzbesteuerte Artikel einfach nachzuvollziehen, Margen zu prüfen und steuerliche Nachweise sauber zu dokumentieren – ohne auf externe Auswertungen angewiesen zu sein.
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.