Netsis Hazır SQL Sorguları: Kopyala-Çalıştır 10 Örnek (Stok, Cari, Fatura)
Netsis kullanıcılarının en sık aradığı şey hazır, çalışan SQL örnekleridir: eldeki stok, cari bakiye, aylık ciro, en çok satan ürünler... Bu yazıda en çok ihtiyaç duyulan 10 sorguyu kopyala-çalıştır hâlde veriyoruz. Hepsi gerçek bir Netsis veritabanında test edildi. Tablo mantığına hâkim değilseniz önce Netsis tablo yapısı rehberine göz atın.
Çok şubeli kurulumlarda sorgulara SUBE_KODU filtresi eklemeyi unutmayın (tek şubede genellikle 0).
1. Stok kartı listesi
SELECT STOK_KODU, STOK_ADI, GRUP_KODU, OLCU_BR1, SATIS_FIAT1, KDV_ORANI
FROM TBLSTSABIT
ORDER BY STOK_KODU;
2. Eldeki stok miktarı (hareketten)
STHAR_GCKOD kolonu yönü verir: G giriş, C çıkış.
SELECT s.STOK_KODU, st.STOK_ADI,
SUM(CASE WHEN s.STHAR_GCKOD = 'G' THEN s.STHAR_GCMIK ELSE -s.STHAR_GCMIK END) AS [Eldeki Miktar]
FROM TBLSTHAR s
JOIN TBLSTSABIT st ON st.STOK_KODU = s.STOK_KODU
GROUP BY s.STOK_KODU, st.STOK_ADI
HAVING SUM(CASE WHEN s.STHAR_GCKOD = 'G' THEN s.STHAR_GCMIK ELSE -s.STHAR_GCMIK END) <> 0
ORDER BY st.STOK_ADI;
3. Depo bazında stok (hazır toplam tablosundan)
TBLSTOKPH şube + depo kırılımında giriş/çıkış toplamlarını hazır tutar; büyük veride hareket tablosunu taramaktan çok daha hızlıdır.
SELECT ph.DEPO_KODU, ph.STOK_KODU, st.STOK_ADI,
ph.TOP_GIRIS_MIK - ph.TOP_CIKIS_MIK AS [Depo Bakiyesi]
FROM TBLSTOKPH ph
JOIN TBLSTSABIT st ON st.STOK_KODU = ph.STOK_KODU
WHERE ph.TOP_GIRIS_MIK - ph.TOP_CIKIS_MIK <> 0
ORDER BY ph.DEPO_KODU, st.STOK_ADI;
4. Cari bakiye listesi
Netsis cari hareketinde borç ve alacak ayrı kolonlardadır; bakiye ikisinin farkıdır.
SELECT c.CARI_KOD, cs.CARI_ISIM,
SUM(c.BORC) AS [Toplam Borç],
SUM(c.ALACAK) AS [Toplam Alacak],
SUM(c.BORC - c.ALACAK) AS [Bakiye]
FROM TBLCAHAR c
JOIN TBLCASABIT cs ON cs.CARI_KOD = c.CARI_KOD
GROUP BY c.CARI_KOD, cs.CARI_ISIM
HAVING SUM(c.BORC - c.ALACAK) <> 0
ORDER BY [Bakiye] DESC;
5. Cari ekstre (yürüyen bakiyeli)
SELECT TARIH, BELGE_NO, ACIKLAMA, BORC, ALACAK,
SUM(BORC - ALACAK) OVER (ORDER BY TARIH, INC_KEY_NUMBER
ROWS UNBOUNDED PRECEDING) AS [Yürüyen Bakiye]
FROM TBLCAHAR
WHERE CARI_KOD = '120-001'
ORDER BY TARIH, INC_KEY_NUMBER;
120-001 yerine ekstresini istediğiniz carinin kodunu yazın.
6. Aylık net satış cirosu
STHAR_FTIRSIP = '1' satış faturası kalemlerini seçer; iade satırları STHAR_GCKOD yönüyle otomatik düşülür.
SELECT YEAR(STHAR_TARIH) AS [Yıl], MONTH(STHAR_TARIH) AS [Ay],
SUM(CASE WHEN STHAR_GCKOD = 'C' THEN STHAR_GCMIK * STHAR_NF
ELSE -STHAR_GCMIK * STHAR_NF END) AS [Net Ciro]
FROM TBLSTHAR
WHERE STHAR_FTIRSIP = '1'
GROUP BY YEAR(STHAR_TARIH), MONTH(STHAR_TARIH)
ORDER BY [Yıl], [Ay];
7. En çok satan ürünler
SELECT TOP 20 s.STOK_KODU, st.STOK_ADI,
SUM(s.STHAR_GCMIK) AS [Satış Miktarı],
SUM(s.STHAR_GCMIK * s.STHAR_NF) AS [Satış Tutarı]
FROM TBLSTHAR s
JOIN TBLSTSABIT st ON st.STOK_KODU = s.STOK_KODU
WHERE s.STHAR_FTIRSIP = '1' AND s.STHAR_GCKOD = 'C'
GROUP BY s.STOK_KODU, st.STOK_ADI
ORDER BY [Satış Tutarı] DESC;
8. En çok ciro yapan müşteriler
SELECT TOP 20 s.STHAR_CARIKOD, c.CARI_ISIM,
SUM(CASE WHEN s.STHAR_GCKOD = 'C' THEN s.STHAR_GCMIK * s.STHAR_NF
ELSE -s.STHAR_GCMIK * s.STHAR_NF END) AS [Ciro]
FROM TBLSTHAR s
LEFT JOIN TBLCASABIT c ON c.CARI_KOD = s.STHAR_CARIKOD
WHERE s.STHAR_FTIRSIP = '1'
GROUP BY s.STHAR_CARIKOD, c.CARI_ISIM
ORDER BY [Ciro] DESC;
9. Satış faturası listesi
Fatura ve irsaliye başlıkları aynı tablodadır (TBLFATUIRS); FTIRSIP = '1' satış faturalarını seçer.
SELECT f.FATIRS_NO, f.TARIH, f.CARI_KODU, c.CARI_ISIM,
f.BRUTTUTAR, f.KDV, f.GENELTOPLAM
FROM TBLFATUIRS f
LEFT JOIN TBLCASABIT c ON c.CARI_KOD = f.CARI_KODU
WHERE f.FTIRSIP = '1'
ORDER BY f.TARIH DESC, f.FATIRS_NO DESC;
10. Müşteri siparişi listesi
SELECT m.FATIRS_NO, m.TARIH, m.CARI_KODU, c.CARI_ISIM,
m.TOPLAM_MIK, m.GENELTOPLAM
FROM TBLSIPAMAS m
LEFT JOIN TBLCASABIT c ON c.CARI_KOD = m.CARI_KODU
WHERE m.FTIRSIP = '6'
ORDER BY m.TARIH DESC;
Kalem detayı gerekiyorsa TBLSIPATRA'yı FISNO = FATIRS_NO ile bağlayın.
Bu sorguları uyarlarken dikkat
- Belge tipi (
FTIRSIP/STHAR_FTIRSIP) filtresi şarttır; yoksa satışa sipariş ve irsaliye karışır. - KDV dahil/hariç:
STHAR_NFnet fiyattır; KDV'li tutar istersenizSTHAR_KDVoranını hesaba katın. BaşlıktaKDV_DAHILMIalanıE/Hdeğeri taşır. - Tarih aralığı: dönemsel rapor istiyorsanız
STHAR_TARIH >= '20260101' AND STHAR_TARIH < '20270101'gibi bir koşul ekleyin.
Sık sorulanlar
Bu sorgular hangi Netsis sürümünde çalışır? Temel tablo yapısı (TBLSTSABIT, TBLSTHAR, TBLCAHAR, TBLFATUIRS) Netsis 3 ailesinde ortaktır. Yine de özel alan ve parametreler kuruluma göre değişebilir.
Sorguyu kendi ihtiyacıma göre nasıl değiştiririm? Kolon eklemek, filtre değiştirmek, gruplamayı bozmamak gerekir; SQL bilginiz sınırlıysa en pratik yol sorunuzu doğal dille yazıp SQL'i üretmek.
10 sorgu iyi bir başlangıçtır; ama gerçek hayatta herkesin ihtiyacı farklıdır: "geçen ay İzmir'deki bayilere satılan ürünler", "vadesi bu hafta dolan çekler"... Erp Asistanı'na ücretsiz üye olun, istediğiniz sorguyu Türkçe yazın; Netsis şemanıza uygun SQL'i saniyeler içinde alın.
Netsis'te SQL ve raporu konuşarak alın
Türkçe sorunuzu yazın, şemanıza uygun çalışan SQL'i ya da hazır uygulamanızı saniyeler içinde alın. Kredi kartı gerekmez.