Erp Asistanı Erp Asistanı
Netsis SQL

Netsis Cari Ekstre ve Bakiye SQL: TBLCAHAR ile Borç/Alacak Takibi

Netsis'te cari bakiye listesi, yürüyen bakiyeli ekstre ve vadesi geçen alacaklar hangi SQL ile alınır? TBLCAHAR kolonları, sık hatalar ve test edilmiş sorgular.

Erp Asistanı Erp Asistanı Editör ekibi 4 dk okuma
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 - ALACAK pozitifse cari size borçludur; işareti ters çevirirseniz alacaklıyı borçlu gösterirsiniz.
  • Satırdaki BAKIYE kolonuna 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 hareket TBLCAHAR'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.

Ücretsiz üye olun, sorgunuzu doğal dille üretin →

Bu yazıyı paylaş
Konuşarak raporlayı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.