Neu SOS für OSS Daten mit der Ameise

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.779
832
Hallo zusammen,

wir suchten gerade auch eine kleine SQL-Abfrage, damit wir uns über das Jahr informieren können, ob wir die Lieferschwelle überschritten haben oder nicht.
Aktuell haben wir leider nichts gefunden, auch nichts von JTL selbst, das sollte doch aber machbar sein.

Wir haben daher unser seitheriges Script etwas umgebaut, kann gerne mal jemand drüber schauen ob alles passt, unsere Werte sahen korrekt und plausibel aus.
SQL-Script für JTL-Wawi 1.5.X.X

Code:
SELECT        CASE WHEN (trechnung.dErstellt IS NULL OR trechnung.dErstellt = '') THEN '---' ELSE CONVERT(NVARCHAR(10), trechnung.dErstellt, 104) END AS Zahldatum,
            REPLACE(CAST(tBestellungEckDaten.fWert AS DECIMAL(10,2)), '.', ',') AS Zahlungsbetrag,
            tZahlungsart.cName AS Zahlungsart,
            CONVERT(NVARCHAR(10), tbestellung.dErstellt, 104) AS Bestelldatum,
            tBestellung.cBestellNr AS Bestellnummer,
            CASE WHEN (tbestellung.cInetBestellNr IS NULL OR tbestellung.cInetBestellNr = '') THEN '---' ELSE tbestellung.cInetBestellNr END AS Shopnummer,
            CASE WHEN (trechnung.dErstellt IS NULL OR trechnung.dErstellt = '') THEN '---' ELSE CONVERT(NVARCHAR(10), trechnung.dErstellt, 104) END AS Rechnungsdatum,
            CASE WHEN (trechnung.cRechnungsNr IS NULL OR trechnung.cRechnungsNr = '') THEN '---' ELSE trechnung.cRechnungsNr END AS Rechnungsnummer,
            CASE WHEN (trechnungsadresse.cFirma IS NULL OR trechnungsadresse.cFirma = '') THEN '---' ELSE trechnungsadresse.cFirma END AS Firma,
            CASE WHEN (trechnungsadresse.cName IS NULL OR trechnungsadresse.cName = '') THEN '---' ELSE trechnungsadresse.cName END + ' ' + CASE WHEN (trechnungsadresse.cVorname IS NULL OR trechnungsadresse.cVorname = '') THEN '---' ELSE trechnungsadresse.cVorname END AS Name_Vorname,
            trechnungsadresse.cLand AS Rechnungsland,
            tlieferadresse.cLand AS Lieferungsland,
            CASE WHEN (Verkauf.vStandardadresse.cUSTID IS NULL OR Verkauf.vStandardadresse.cUSTID = '') THEN '---' ELSE Verkauf.vStandardadresse.cUSTID END AS UStIDNr
FROM        trechnung
INNER JOIN    tBestellung ON trechnung.kRechnung = tBestellung.tRechnung_kRechnung
INNER JOIN    tBestellungEckDaten ON tBestellung.kBestellung = tBestellungEckDaten.kBestellung
INNER JOIN    tZahlungsart ON tBestellung.kZahlungsArt = tZahlungsart.kZahlungsart
INNER JOIN    trechnungsadresse ON tBestellung.kRechnungsAdresse = trechnungsadresse.kRechnungsAdresse
INNER JOIN    tlieferadresse ON tbestellung.kLieferAdresse = tlieferadresse.kLieferAdresse
INNER JOIN    tsteuerzoneland
INNER JOIN    tsteuerzone ON tsteuerzoneland.kSteuerzone = tsteuerzone.kSteuerzone ON tlieferadresse.cISO = tsteuerzoneland.cISO
INNER JOIN    tkunde ON tBestellung.tKunde_kKunde = tkunde.kKunde
INNER JOIN    Verkauf.vStandardadresse ON tBestellung.tKunde_kKunde = Verkauf.vStandardadresse.kKunde
WHERE        (trechnung.dErstellt >= CONVERT(DATETIME, '01.01.2021 00:00:00', 104)) AND (trechnung.dErstellt <= CONVERT(DATETIME, '31.12.2021 23:59:59', 104)) AND (tlieferadresse.cLand != 'Deutschland') AND (Verkauf.vStandardadresse.cUSTID = '')

UNION

SELECT        CASE WHEN (tgutschrift.dErstellt IS NULL OR tgutschrift.dErstellt = '') THEN '---' ELSE CONVERT(NVARCHAR(10), tgutschrift.dErstellt, 104) END AS Zahldatum,
            REPLACE(CAST((tgutschrift.fPreis*-1) AS DECIMAL(10,2)), '.', ',') AS Zahlungsbetrag,
            tZahlungsart.cName AS Zahlungsart,
            CONVERT(NVARCHAR(10), tbestellung.dErstellt, 104) AS Bestelldatum,
            tBestellung.cBestellNr AS Bestellnummer,
            CASE WHEN (tbestellung.cInetBestellNr IS NULL OR tbestellung.cInetBestellNr = '') THEN '---' ELSE tbestellung.cInetBestellNr END AS Shopnummer,
            CASE WHEN (trechnung.dErstellt IS NULL OR trechnung.dErstellt = '') THEN '---' ELSE CONVERT(NVARCHAR(10), trechnung.dErstellt, 104) END AS Rechnungsdatum,
            tgutschrift.cGutschriftNr AS Rechnungsnummer,
            CASE WHEN (trechnungsadresse.cFirma IS NULL OR trechnungsadresse.cFirma = '') THEN '---' ELSE trechnungsadresse.cFirma END AS Firma,
            CASE WHEN (trechnungsadresse.cName IS NULL OR trechnungsadresse.cName = '') THEN '---' ELSE trechnungsadresse.cName END + ' ' + CASE WHEN (trechnungsadresse.cVorname IS NULL OR trechnungsadresse.cVorname = '') THEN '---' ELSE trechnungsadresse.cVorname END AS Name_Vorname,
            trechnungsadresse.cLand AS Rechnungsland,
            tlieferadresse.cLand AS Lieferungsland,
            CASE WHEN (Verkauf.vStandardadresse.cUSTID IS NULL OR Verkauf.vStandardadresse.cUSTID = '') THEN '---' ELSE Verkauf.vStandardadresse.cUSTID END AS UStIDNr
FROM        tgutschrift
INNER JOIN    trechnung ON tgutschrift.kRechnung = trechnung.kRechnung
INNER JOIN    tBestellung ON trechnung.tBestellung_kBestellung = tBestellung.kBestellung
INNER JOIN    tZahlungsart ON tBestellung.kZahlungsArt = tZahlungsart.kZahlungsart
INNER JOIN    trechnungsadresse ON tBestellung.kRechnungsAdresse = trechnungsadresse.kRechnungsAdresse
INNER JOIN    tlieferadresse ON tbestellung.kLieferAdresse = tlieferadresse.kLieferAdresse
INNER JOIN    tsteuerzoneland
INNER JOIN    tsteuerzone ON tsteuerzoneland.kSteuerzone = tsteuerzone.kSteuerzone ON tlieferadresse.cISO = tsteuerzoneland.cISO
INNER JOIN    tkunde ON tBestellung.tKunde_kKunde = tkunde.kKunde
INNER JOIN    Verkauf.vStandardadresse ON tBestellung.tKunde_kKunde = Verkauf.vStandardadresse.kKunde
WHERE        (tgutschrift.dErstellt >= CONVERT(DATETIME, '01.01.2021 00:00:00', 104)) AND (tgutschrift.dErstellt <= CONVERT(DATETIME, '31.12.2021 23:59:59', 104)) AND (tlieferadresse.cLand != 'Deutschland') AND (Verkauf.vStandardadresse.cUSTID = '')

ORDER BY    'Rechnungsnummer';


SELECT        SUM(tBestellungEckDaten.fWert) AS Zahlungsbetrag
FROM        trechnung
INNER JOIN    tBestellung ON trechnung.kRechnung = tBestellung.tRechnung_kRechnung
INNER JOIN    tBestellungEckDaten ON tBestellung.kBestellung = tBestellungEckDaten.kBestellung
INNER JOIN    tZahlungsart ON tBestellung.kZahlungsArt = tZahlungsart.kZahlungsart
INNER JOIN    trechnungsadresse ON tBestellung.kRechnungsAdresse = trechnungsadresse.kRechnungsAdresse
INNER JOIN    tlieferadresse ON tbestellung.kLieferAdresse = tlieferadresse.kLieferAdresse
INNER JOIN    tsteuerzoneland
INNER JOIN    tsteuerzone ON tsteuerzoneland.kSteuerzone = tsteuerzone.kSteuerzone ON tlieferadresse.cISO = tsteuerzoneland.cISO
INNER JOIN    tkunde ON tBestellung.tKunde_kKunde = tkunde.kKunde
INNER JOIN    Verkauf.vStandardadresse ON tBestellung.tKunde_kKunde = Verkauf.vStandardadresse.kKunde
WHERE        (trechnung.dErstellt >= CONVERT(DATETIME, '01.01.2021 00:00:00', 104)) AND (trechnung.dErstellt <= CONVERT(DATETIME, '31.12.2021 23:59:59', 104)) AND (tlieferadresse.cLand != 'Deutschland') AND (Verkauf.vStandardadresse.cUSTID = '')

SELECT        SUM(tgutschrift.fPreis*-1) AS Zahlungsbetrag
FROM        tgutschrift
INNER JOIN    trechnung ON tgutschrift.kRechnung = trechnung.kRechnung
INNER JOIN    tBestellung ON trechnung.tBestellung_kBestellung = tBestellung.kBestellung
INNER JOIN    tZahlungsart ON tBestellung.kZahlungsArt = tZahlungsart.kZahlungsart
INNER JOIN    trechnungsadresse ON tBestellung.kRechnungsAdresse = trechnungsadresse.kRechnungsAdresse
INNER JOIN    tlieferadresse ON tbestellung.kLieferAdresse = tlieferadresse.kLieferAdresse
INNER JOIN    tsteuerzoneland
INNER JOIN    tsteuerzone ON tsteuerzoneland.kSteuerzone = tsteuerzone.kSteuerzone ON tlieferadresse.cISO = tsteuerzoneland.cISO
INNER JOIN    tkunde ON tBestellung.tKunde_kKunde = tkunde.kKunde
INNER JOIN    Verkauf.vStandardadresse ON tBestellung.tKunde_kKunde = Verkauf.vStandardadresse.kKunde
WHERE        (tgutschrift.dErstellt >= CONVERT(DATETIME, '01.01.2021 00:00:00', 104)) AND (tgutschrift.dErstellt <= CONVERT(DATETIME, '31.12.2021 23:59:59', 104)) AND (tlieferadresse.cLand != 'Deutschland') AND (Verkauf.vStandardadresse.cUSTID = '')
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219
Schöne SQL's
Wenn's für euch passt - super.

Bei mir zeigts leider unplausible Ergebnisse
Select 1 zeigt eine Liste aller Auslandssendungen, inkl. Übersee
Select 2 zeigt einen Umsatz der meinen Jahresgesamtumsatz (inkl. Deutschland) um einiges übersteigt.
Select 3 zeigt sogar einen Minusbetrag
werde da für mich wohl einiges umbauen müssen bis ich das für OSS verwenden kann.

Aber Danke für das Grundgerüst
 

mskgmbh

Aktives Mitglied
26. Oktober 2021
14
2
Hallo,

ich klinke mich auch hier nochmal ein, da ich inzwischen rausgefunden habe, dass wohl viele Leute das Problem haben,
konntet ihr den Ameise Export inzwischen korrekt ausführen, bzw. hat hier einer die Lösung gefunden?

Schöne Grüße Max
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219
Hallo,

ich klinke mich auch hier nochmal ein, da ich inzwischen rausgefunden habe, dass wohl viele Leute das Problem haben,
konntet ihr den Ameise Export inzwischen korrekt ausführen, bzw. hat hier einer die Lösung gefunden?

Schöne Grüße Max
Also ICH habe das über die AMEISE nicht hinbekommen.
Dafür gibt es in Taxpool-Buchhalter inzwischen eine Schnittstelle zu OSS, daher hatte ich mich damit auch nicht mehr weiter beschäftigt.
 

Ähnliche Themen