Netsis Cari Ekstre ve Bakiye SQL: TBLCAHAR ile Borç/Alacak Takibi
"Bu müşterinin bakiyesi ne?", "Ekstresini dökebilir miyim?", "Vadesi geçen alacaklar hangileri?" Netsis'te bu soruların hepsi tek tabloya gider: TBLCAHAR (cari hareketler). Bu yazıda cari bakiye, yürüyen bakiyeli ekstre ve vade analizi sorgularını hazır hâlde veriyoruz; hepsi gerçek bir Netsis veritabanında test edildi.
TBLCAHAR'ı tanıyın
Cari kartlar TBLCASABIT'te, hareketler TBLCAHAR'dadır. Kritik kolonlar:
| Kolon | Anlamı |
|---|---|
CARI_KOD |
Hareketin carisi (TBLCASABIT.CARI_KOD) |
TARIH |
Hareket tarihi |
BORC / ALACAK |
Tutar; Netsis'te iki ayrı kolondur |
VADE_TARIHI |
Vade takibinin anahtarı |
BELGE_NO |
Bağlı belge numarası |
HAREKET_TURU |
Hareketin niteliği (fatura, tahsilat, çek...) |
KAPATILMIS_TUTAR |
Kapama (eşleştirme) yapılan tutar |
PLASIYER_KODU |
Satış temsilcisi kırılımı |
SUBE_KODU |
Şube; çok şubede filtre şart |
INC_KEY_NUMBER |
Artan kayıt anahtarı (stok tarafındaki adı INCKEYNO'dur) |
Önemli ayrıntı: Netsis borç ve alacağı iki ayrı kolonda tutar. Bakiye her zaman BORC - ALACAK farkıdır; pozitifse cari size borçludur.
Cari bakiye listesi
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;
Yalnız borçlu carileri görmek için HAVING koşulunu > 0 yapın.
Yürüyen bakiyeli cari ekstre
Ekstrenin olmazsa olmazı, her satırda o ana kadarki bakiyeyi göstermektir. SQL Server'ın window fonksiyonu bunu tek sorguda çözer:
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;
Aynı tarihte birden çok hareket olabileceği için ikinci sıralama anahtarı olarak INC_KEY_NUMBER kullanılır; bu, ekstrenin her çalıştırmada aynı sırada gelmesini garanti eder.
Vadesi geçen bakiyeler
SELECT c.CARI_KOD, cs.CARI_ISIM,
SUM(c.BORC - c.ALACAK) AS [Vadesi Geçen]
FROM TBLCAHAR c
JOIN TBLCASABIT cs ON cs.CARI_KOD = c.CARI_KOD
WHERE c.VADE_TARIHI IS NOT NULL AND c.VADE_TARIHI < GETDATE()
GROUP BY c.CARI_KOD, cs.CARI_ISIM
HAVING SUM(c.BORC - c.ALACAK) > 0
ORDER BY [Vadesi Geçen] DESC;
Bu, pratik bir yaklaşık listedir: vadesi geçmiş hareketlerin net toplamını verir. Kuruşu kuruşuna "açık kalem" takibi için Netsis'in kapama mantığını (KAPATILMIS_TUTAR) da hesaba katmak gerekir; kapanmış tutarları düşerek gerçek açık tutara ulaşırsınız.
Sık yapılan hatalar
- Borç/alacak yönünü ters yorumlamak.
BORC - ALACAKpozitifse cari size borçludur; işareti ters çevirirseniz alacaklıyı borçlu gösterirsiniz. - Satırdaki
BAKIYEkolonuna güvenmek. Tabloda bakiye kolonu bulunur ama güvenilir yöntem her zaman toplamdan hesaplamaktır. - Ekstrede ikincil sıralama anahtarı kullanmamak. Aynı günkü hareketler her çalıştırmada farklı sıraya dizilir, yürüyen bakiye "oynar".
- Şube filtresini atlamak. Çok şubeli kurulumda cari bakiyesi tüm şubelerin toplamı olarak gelir.
- Kart ile hareketi karıştırmak. İletişim ve vergi bilgisi
TBLCASABIT'te, parasal hareketTBLCAHAR'dadır.
Sık sorulanlar
Cari bakiye tek kolonda hazır durmaz mı? Güncel ve güvenilir bakiye hareket toplamından hesaplanır; ekstre ile bakiye listesinin tutarlı olmasının tek yolu budur.
Fatura, tahsilat ve çeki nasıl ayırırım? HAREKET_TURU (ve belge bağlantıları) hareketin niteliğini verir; rapora kolonu ekleyip değerlere göre filtreleyebilirsiniz.
Netsis ile Mikro'nun cari yapısı aynı mı? Mantık benzer, şema farklıdır: Mikro tek tutar kolonu + yön kolonu kullanır, Netsis borç/alacağı ayrı kolonlarda tutar. Mikro tarafı için: Mikro cari ekstre ve bakiye raporu.
Ekstre, bakiye ve vade sorguları her şirkette küçük farklarla değişir: şube, döviz, kapama... Erp Asistanı'na ücretsiz üye olun; "X müşterisinin bu yılki ekstresi" ya da "30 günden uzun süredir vadesi geçmiş alacaklar" gibi sorunuzu Türkçe yazın, Netsis'e 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.