
Logo Tiger ve Go 3'te satış tutarı ile çıkış maliyetini (OUTCOST) karşılaştırarak ürün, müşteri ve ay bazında brüt kâr ve kâr marjı hesaplayan SQL sorguları.
"Hangi ürün gerçekten kazandırıyor?" sorusunun cevabı Logo'da satış tutarı ile o satışın maliyetini karşılaştırmaktır. Logo, her satış satırına o anki çıkış maliyetini yazar; bu sayede ürün, müşteri veya ay bazında brüt kârı tek bir SQL sorgusuyla hesaplamak mümkündür.
Kârlılık Hesabında Kullanılan Alanlar
Satış satırları LG_001_01_STLINE tablosundadır. Kârlılık için gereken alanlar:
| Alan | Açıklama |
|---|---|
AMOUNT | Satılan miktar |
LINENET | İndirimler düşülmüş net satış tutarı (KDV hariç) |
OUTCOST | Birim çıkış maliyeti — satış anındaki maliyet |
TRCODE | 7 perakende satış, 8 toptan satış; 2 ve 3 satış iadeleri |
LINETYPE | 0 = malzeme satırı |
Hesap şu şekildedir:
- Satırın maliyeti =
AMOUNT × OUTCOST - Brüt kâr =
LINENET − AMOUNT × OUTCOST - Kâr marjı (%) = Brüt kâr ÷
LINENET× 100
1. Ürün Bazında Kârlılık
SELECT I.CODE AS MalzemeKodu, I.NAME AS MalzemeAdi,
SUM(S.AMOUNT) AS Miktar,
SUM(S.LINENET) AS NetSatis,
SUM(S.AMOUNT * S.OUTCOST) AS Maliyet,
SUM(S.LINENET - S.AMOUNT * S.OUTCOST) AS BrutKar,
CASE WHEN SUM(S.LINENET) = 0 THEN 0
ELSE SUM(S.LINENET - S.AMOUNT * S.OUTCOST) / SUM(S.LINENET) * 100 END AS KarMarjiYuzde
FROM LG_001_01_STLINE S
JOIN LG_001_ITEMS I ON I.LOGICALREF = S.STOCKREF
WHERE S.TRCODE IN (7, 8) AND S.LINETYPE = 0 AND S.CANCELLED = 0
GROUP BY I.CODE, I.NAME
ORDER BY BrutKar DESCORDER BY BrutKar DESC en çok kazandıran ürünleri üste getirir. Zarar eden ürünleri görmek için ORDER BY BrutKar ASC kullanın.
2. Müşteri Bazında Kârlılık
Aynı hesap, cariye göre gruplanınca hangi müşterinin daha kârlı olduğunu gösterir. Yüksek ciro yapan ama düşük marjla çalışan müşterileri bu raporla fark edebilirsiniz.
SELECT C.CODE AS CariKodu, C.DEFINITION_ AS Unvan,
SUM(S.LINENET) AS NetSatis,
SUM(S.LINENET - S.AMOUNT * S.OUTCOST) AS BrutKar,
CASE WHEN SUM(S.LINENET) = 0 THEN 0
ELSE SUM(S.LINENET - S.AMOUNT * S.OUTCOST) / SUM(S.LINENET) * 100 END AS KarMarjiYuzde
FROM LG_001_01_STLINE S
JOIN LG_001_CLCARD C ON C.LOGICALREF = S.CLIENTREF
WHERE S.TRCODE IN (7, 8) AND S.LINETYPE = 0 AND S.CANCELLED = 0
GROUP BY C.CODE, C.DEFINITION_
ORDER BY BrutKar DESC3. Aylık Kârlılık Trendi
SELECT YEAR(S.DATE_) AS Yil, MONTH(S.DATE_) AS Ay,
SUM(S.LINENET) AS NetSatis,
SUM(S.AMOUNT * S.OUTCOST) AS Maliyet,
SUM(S.LINENET - S.AMOUNT * S.OUTCOST) AS BrutKar
FROM LG_001_01_STLINE S
WHERE S.TRCODE IN (7, 8) AND S.LINETYPE = 0 AND S.CANCELLED = 0
GROUP BY YEAR(S.DATE_), MONTH(S.DATE_)
ORDER BY Yil, Ay4. İadeleri de Hesaba Katmak
Satış iadeleri (2 perakende, 3 toptan satış iadesi) hem ciroyu hem maliyeti geri alır. İadeleri düşerek net kârlılığı görmek için iade satırlarını eksi yönde toplayın:
SELECT I.CODE AS MalzemeKodu, I.NAME AS MalzemeAdi,
SUM(CASE WHEN S.TRCODE IN (7, 8) THEN S.LINENET ELSE -S.LINENET END) AS NetSatis,
SUM(CASE WHEN S.TRCODE IN (7, 8) THEN 1 ELSE -1 END
* (S.LINENET - S.AMOUNT * S.OUTCOST)) AS BrutKar
FROM LG_001_01_STLINE S
JOIN LG_001_ITEMS I ON I.LOGICALREF = S.STOCKREF
WHERE S.TRCODE IN (2, 3, 7, 8) AND S.LINETYPE = 0 AND S.CANCELLED = 0
GROUP BY I.CODE, I.NAME
ORDER BY BrutKar DESCDikkat Edilmesi Gerekenler
- Maliyet sıfır görünen satırlar: Bazı satırlarda
OUTCOST0 olabilir (ör. maliyeti girilmemiş ürünler veya maliyet hesaplanmadan önce kesilen faturalar). Bu satırlarda kâr, satış tutarının tamamı gibi görünür. Kontrol içinWHERE S.OUTCOST = 0ile listeleyin. - Geriye tarihli girişler: Geçmiş tarihli alış veya iade girildiğinde sonraki satışların maliyeti değişebilir. Logo'da maliyet değerlerinin güncel olduğundan emin olun.
- Brüt kâr, net kâr değildir: Bu hesap yalnızca satılan malın maliyetini düşer. Genel giderler, personel, kira gibi kalemler dahil değildir.
- Farklı birimler: Aynı ürün farklı birimlerle (adet, koli) satılıyorsa miktarları ana birime çevirmeniz gerekir.
Sık Sorulan Sorular
OUTCOST ile malzeme kartındaki alış fiyatı aynı şey mi?
Hayır. Kartteki fiyat bir liste fiyatıdır; OUTCOST ise satış anında Logo'nun hesapladığı gerçek çıkış maliyetidir ve maliyet yöntemine (ör. ağırlıklı ortalama) göre oluşur. Kârlılık için OUTCOST kullanılmalıdır.
Hizmet satışlarının kârlılığı nasıl hesaplanır?
Hizmet satırları (LINETYPE = 4) stoktan çıkış yapmadığı için çıkış maliyeti taşımaz. Hizmet kârlılığı için ilgili masraf kayıtlarının ayrıca değerlendirilmesi gerekir.
Sonuçları Excel'de grafikle görmek istiyorum
Sorgularınızı Excel'e canlı bağlayarak her açılışta güncel kârlılık raporu alabilirsiniz.
Logo verilerinizle kârlılık analizi, yönetim paneli veya özel rapor ihtiyacınız varsa Logo iş ortağı olarak ekibimiz yardımcı olabilir.