Neu Einfacher Break-even eines Artikels

FEAL

Aktives Mitglied
26. Februar 2017
47
7
Hallo,

Vielleicht hat das der eine oder andere auch schon vermisst. Ich würde gerne bei einem Artikel sehen, ob wir bereits den Break-even (ganz einfach gerechnet) erreicht haben.
zb. wir haben einen Artikel 100 x verkauft und dafür haben wir 500€ netto Umsatz gemacht, eingekauft haben wir 500 Stück für gesamt 800€, differenz wären dann -300€, somit noch kein Bread-even erreicht.

Sowas vermisse ich schon lange in JTL... wäre sogar als Spalte Sinnvoll in der Artikelübersicht.
 
  • Gefällt mir
Reaktionen: tecaustria

Philipp Laumen

Gesperrter Benutzer
16. Juli 2018
260
85
Hallo,

meinst du so was hier?
SQL:
SELECT
 CONVERT(money, SUM(tWarenLagerEingang.fEKEinzel)) AS 'Gesamt EK in €',
 CONVERT(money, SUM(tbestellpos.fVKNetto)) AS 'Gesamt VK in €',
 (CONVERT(money, SUM(tWarenLagerEingang.fEKEinzel)) - CONVERT(money, SUM(tbestellpos.fVKNetto))) AS 'Break Even in €'
FROM dbo.tWarenLagerEingang
JOIN dbo.tbestellpos ON tbestellpos.tArtikel_kArtikel = tWarenLagerEingang.kArtikel
WHERE
tWarenLagerEingang.kArtikel in (
            SELECT kArtikel
            FROM tArtikel
            WHERE kVaterArtikel = @key
            UNION
            SELECT @key AS kArtikel
    )

Achtung sehr einfach gehalten. Stücklisten sollten nicht funktionieren, Vaterartikel wahrscheinlich auch nicht.
 

FEAL

Aktives Mitglied
26. Februar 2017
47
7
Das ist schonmal Top, allerdings ist das Ergebniss, welches es ausgibt nicht so ganz Korrekt ;)

- Bei einem Artikel, den wir noch nicht verkauft haben und im Lager liegt, zeigt es nichts an.
- Bein einem anderen Artikel, den wir 2016 x mit 3€ eingekauft haben (EK 6048€) zeigt es mir EK 3441€ an. Der Betrag in Aufträgen der bisher verkauft wurde ist 9184,40€, wenn es nur in Rechnungen wäre ist es 3404€... es zeigt mir aber 4705,80€ an...
 

Philipp Laumen

Gesperrter Benutzer
16. Juli 2018
260
85
Das die Berechnung noch nicht ganz stimmt dachte ich mir schon. Wollte nur erstmal die richtige Richtung einschlagen.
Ich schau es mir jetzt nochmal genauer an.
 

FEAL

Aktives Mitglied
26. Februar 2017
47
7
Hi Philipp, wollte mal vorsichtig nachfragen, ob Du zufällig schon bisschen weiter gekommen bist... die Funktion wäre so super zu haben!
Lieben Dank
 

Philipp Laumen

Gesperrter Benutzer
16. Juli 2018
260
85
Hi,
so ich habe jetzt nochmal die Zeit gefunden. Prüfe das bitte nochmal nach. Auch mal bitte für Varkombiväter prüfen ob das hinhaut, Stücklisten habe ich erstmal außen vor gelassen.
SQL:
SELECT
 CONVERT(money, SUM((tWarenLagerEingang.fEKEinzel * fAnzahl))) AS 'Gesamt EK in €',
 CONVERT(money, SUM((tbestellpos.fVKNetto * fAnzahl))) AS 'Gesamt VK in €',
 (CONVERT(money, SUM((tbestellpos.fVKNetto * fAnzahl))) - CONVERT(money, SUM((tWarenLagerEingang.fEKEinzel * fAnzahl)))) AS 'Break Even in €'
FROM dbo.tWarenLagerEingang
JOIN dbo.tbestellpos ON tbestellpos.tArtikel_kArtikel = tWarenLagerEingang.kArtikel
JOIN dbo.tBestellung ON tBestellung.kBestellung = tbestellpos.tBestellung_kBestellung
WHERE
tWarenLagerEingang.kArtikel in (
            SELECT kArtikel
            FROM tArtikel
            WHERE kVaterArtikel = @key
            UNION
            SELECT @key AS kArtikel
    )
AND tBestellung.nStorno = 0
 

FEAL

Aktives Mitglied
26. Februar 2017
47
7
Hi Philipp,
das stimmt leider überhaupt kein Wert...
Diesen Artikel haben wir 210 x 3,50€ netto gekauft, also 819€ EK.
Gesamt EK zeigt es an 13.166,40€
Die anderen Werte sind dadurch auch komplett falsch.
Wenn ich mir in der Artikelstatistik diesen Artikel anschaue wird der EK korrekt ausgegeben.
 

Anhänge

  • foto_FE-12557.JPG
    foto_FE-12557.JPG
    12,8 KB · Aufrufe: 40

garifulin

Sehr aktives Mitglied
10. Januar 2019
389
57
Mal ein blöder Vorschlag von mir an dieser Stelle.
Evtl würde es Sinn machen diese Abfrage auf das aktuelle Jahr zu begrenzen?
 

Verkäuferlein

Sehr aktives Mitglied
29. April 2012
2.519
1.008
Mal ein blöder Vorschlag von mir an dieser Stelle.
Evtl würde es Sinn machen diese Abfrage auf das aktuelle Jahr zu begrenzen?

Nö, das wäre ja doof, es geht ja um den gesamten Lagerbestand und alle Verkäufe.

Ich kenne mich zu wenig in den einzelnen Tabellen der DB aus, allerdings weiß ich aus Erfahrung, dass die Wawi nicht immer sauber mit EK-Preisen rechnet (z.B. Artikelhistorie). Da wird alles von 0, über tatsächlichem EK bis hin zu GLD verwendet und macht Lagerbewertungen bzw. EK/VK-Bewertungen, etc. fast unmöglich bzw. wenig belastbar.
 

forumjtlolshopag

Sehr aktives Mitglied
6. Juni 2018
688
187
Ich kenne mich zu wenig in den einzelnen Tabellen der DB aus, allerdings weiß ich aus Erfahrung, dass die Wawi nicht immer sauber mit EK-Preisen rechnet (z.B. Artikelhistorie). Da wird alles von 0, über tatsächlichem EK bis hin zu GLD verwendet und macht Lagerbewertungen bzw. EK/VK-Bewertungen, etc. fast unmöglich bzw. wenig belastbar.

Ja, das ist vorallem ein Problem, wenn man Staffelpreise im EK nutzt und die Waren für den Kunden beschaffen werden muss. Da stimmt der EK im Auftrag überhaupt nicht. GLD fängt einiges ab, aber es klappt nicht immer.
 

garifulin

Sehr aktives Mitglied
10. Januar 2019
389
57
ich habe mir den Spass gegönnt und was gebastelt
evtl kann das jemand noch schöner bzw besser machen aber ich glaube das hier funktioniert

Code:
select
(SELECT CONVERT(money,sum(tWarenLagerEingang.fEKEinzel * fAnzahl))  FROM [eazybusiness].[dbo].[tWarenLagerEingang]  where kArtikel=@key) AS 'Gesamt EK in €' 
,(SELECT  CONVERT(money,SUM((tbestellpos.fVKNetto * nAnzahl)))  FROM [eazybusiness].[dbo].[tbestellpos]  where tArtikel_kArtikel=@key) AS 'Gesamt VK in €' 
,((SELECT  CONVERT(money,SUM((tbestellpos.fVKNetto * nAnzahl)))  FROM [eazybusiness].[dbo].[tbestellpos]  where tArtikel_kArtikel=@key)-(SELECT CONVERT(money,sum(tWarenLagerEingang.fEKEinzel * fAnzahl))  FROM [eazybusiness].[dbo].[tWarenLagerEingang]  where kArtikel=@key))AS 'Break Even in €'
, (((SELECT  CONVERT(money,SUM((tbestellpos.fVKNetto * nAnzahl)))  FROM [eazybusiness].[dbo].[tbestellpos]  where tArtikel_kArtikel=@key)-(SELECT CONVERT(money,sum(tWarenLagerEingang.fEKEinzel * fAnzahl))  FROM [eazybusiness].[dbo].[tWarenLagerEingang]  where kArtikel=@key))*100/(SELECT CONVERT(money,sum(tWarenLagerEingang.fEKEinzel * fAnzahl))  FROM [eazybusiness].[dbo].[tWarenLagerEingang]  where kArtikel=@key)) as "Anteil in %"
 
Zuletzt bearbeitet: