Netsis Tablo Yapısı: TBLSTSABIT, TBLSTHAR, TBLCAHAR ve Temel Tablolar Rehberi
Netsis'te SQL ile rapor almak isteyen herkesin ilk sorusu aynıdır: "Hangi veri hangi tabloda?" Stok kartları nerede, cari hareketler nerede, fatura ile irsaliye neden aynı tabloda? Bu rehberde Netsis veritabanının tablo yapısını, adlandırma mantığını ve tabloları birbirine bağlayan anahtar kolonları anlatıyoruz. Yazıdaki tüm sorgular gerçek bir Netsis veritabanında test edilmiştir.
Netsis tablo adlandırma mantığı
Netsis tabloları isimlerinden okunur; birkaç kalıbı bilmek yüzlerce tabloyu tanımanızı sağlar:
TBLöneki: Ana veri tablolarıTBLile başlar (TBLSTSABIT,TBLCAHAR).SABIT= kart: Değişmeyen tanım verisi.TBLSTSABITstok kartları,TBLCASABITcari kartlar,TBLBNKSABITbankalar.HAR= hareket: Biriken işlem satırları.TBLSTHARstok hareketleri,TBLCAHARcari hareketler.MAS+TRA= başlık + kalem: Evrak yapıları ikiye ayrılır.TBLSIPAMASsipariş başlığı,TBLSIPATRAsipariş kalemleri.
En çok kullanılan Netsis tabloları
| Tablo | Ne tutar | Öne çıkan kolonlar |
|---|---|---|
TBLSTSABIT |
Stok kartları | STOK_KODU, STOK_ADI, GRUP_KODU, OLCU_BR1, SATIS_FIAT1, KDV_ORANI, BARKOD1 |
TBLSTHAR |
Stok hareketleri (fatura/irsaliye/sipariş kalemleri dahil) | STOK_KODU, FISNO, STHAR_GCKOD, STHAR_GCMIK, STHAR_NF, STHAR_FTIRSIP, DEPO_KODU |
TBLCASABIT |
Cari kartlar | CARI_KOD, CARI_ISIM, CARI_TIP, VERGI_NUMARASI, CARI_IL, EMAIL |
TBLCAHAR |
Cari hareketler | CARI_KOD, TARIH, BORC, ALACAK, VADE_TARIHI, BELGE_NO |
TBLFATUIRS |
Fatura ve irsaliye başlıkları (tek tabloda) | FATIRS_NO, FTIRSIP, TIPI, CARI_KODU, GENELTOPLAM, KDV |
TBLSIPAMAS / TBLSIPATRA |
Sipariş başlık / kalem | FATIRS_NO, CARI_KODU, TOPLAM_MIK, GENELTOPLAM |
TBLSTOKPH |
Şube + depo bazında stok toplamları | STOK_KODU, DEPO_KODU, TOP_GIRIS_MIK, TOP_CIKIS_MIK |
TBLKASA |
Kasa tanımları | kasa kodu ve bilgileri |
TBLISLETMELER / TBLSUBELER |
İşletme ve şube tanımları | çok şubeli kurulumlarda kritik |
Belge tipini FTIRSIP kolonu belirler
Netsis'te fatura, irsaliye ve sipariş kalemlerinin hepsi hareket tablolarında yaşar; onları ayıran belge tipi kodudur. Başlık tablolarında FTIRSIP, kalem satırlarında STHAR_FTIRSIP adını taşır:
| Kod | Anlamı |
|---|---|
1 |
Satış faturası |
2 |
Alış faturası |
3 |
Satış irsaliyesi (faturalanmamış) |
4 |
Alış irsaliyesi (faturalanmamış) |
6 |
Müşteri siparişi |
7 |
Satıcı siparişi |
Bu kolonu filtrelemeden TBLSTHAR toplarsanız satışın içine irsaliye ve sipariş kalemleri de karışır; rapor sessizce yanlış çıkar.
Başlık ve kalem nasıl bağlanır?
Kural basittir: kalem tablosundaki FISNO, başlık tablosundaki FATIRS_NO'ya eşittir.
- Fatura/irsaliye:
TBLFATUIRS(başlık) +TBLSTHAR(kalemler) - Sipariş:
TBLSIPAMAS(başlık) +TBLSIPATRA(kalemler)
-- Sipariş başlıkları ve kalemleri
SELECT m.FATIRS_NO, m.TARIH, m.CARI_KODU,
t.STOK_KODU, t.STHAR_GCMIK, t.STHAR_NF
FROM TBLSIPAMAS m
JOIN TBLSIPATRA t ON t.FISNO = m.FATIRS_NO
WHERE m.FTIRSIP = '6'
ORDER BY m.FATIRS_NO, t.SIRA;
Aynı deseni faturada kurarken tip eşleşmesini de ekleyin: s.FISNO = f.FATIRS_NO AND s.STHAR_FTIRSIP = f.FTIRSIP (aynı numara farklı belge tiplerinde tekrar edebilir).
Şube ve işletme kolonlarını unutmayın
Netsis çok şubeli çalışır: hareket tablolarında SUBE_KODU, evrak başlıklarında ayrıca ISLETME_KODU bulunur. Tek şubeli kurulumda değer genellikle 0'dır; çok şubede filtre eklemezseniz tüm şubelerin toplamını alırsınız:
SELECT COUNT(*) AS [Kayıt]
FROM TBLSTHAR
WHERE SUBE_KODU = 0;
İki pratik örnek
-- Stok kartı listesi
SELECT STOK_KODU, STOK_ADI, GRUP_KODU, OLCU_BR1, SATIS_FIAT1, KDV_ORANI
FROM TBLSTSABIT
ORDER BY STOK_KODU;
-- Müşteri listesi
SELECT CARI_KOD, CARI_ISIM, VERGI_NUMARASI, CARI_IL, CARI_TEL
FROM TBLCASABIT
ORDER BY CARI_ISIM;
Eldeki stok miktarı ve satış raporları için ayrı bir rehber hazırladık: Netsis stok hareketleri (TBLSTHAR) sorguları. Hazır kopyala-çalıştır sorgu arşivi için: Netsis hazır SQL sorguları.
Sık yapılan hatalar
FTIRSIPfiltrelememek. Satış raporuna sipariş ve irsaliye kalemleri karışır.- Şube filtresini atlamak. Çok şubeli veride tüm şubeler tek toplama karışır.
STHAR_NFileSTHAR_BF'yi karıştırmak. Biri net, diğeri brüt birim fiyattır; ciroda hangisini istediğinize karar verin.- Artan anahtar adını yanlış yazmak. Stok hareketinde
INCKEYNO, cari hareketteINC_KEY_NUMBERyazılır; ikisi farklıdır. - Kart ile hareketi karıştırmak. Fiyat listesi
TBLSTSABIT'ten, gerçekleşen satış fiyatıTBLSTHAR'dan okunur.
Sık sorulanlar
Netsis'te fatura tablosu hangisi? Başlıklar TBLFATUIRS'te (irsaliye ile aynı tablo, FTIRSIP ayırır), kalemler TBLSTHAR'dadır.
Eldeki stok miktarı hangi tabloda? Hazır toplam TBLSTOKPH'de (şube + depo bazında giriş/çıkış toplamları); hareketten hesaplamak isterseniz TBLSTHAR üzerinden STHAR_GCKOD yönüyle toplarsınız.
Tablo ve kolon adlarını ezberlemek şart mı? Hayır. Erp Asistanı'nda sorunuzu Türkçe yazarsınız; sistem Netsis şemanıza uygun SQL'i kendisi kurar.
Bu rehberdeki tüm sorgular gerçek bir Netsis veritabanında çalıştırılarak doğrulandı. Yine de her kurulumun şubesi, sürümü ve özel alanları farklıdır: tablo yapısını ezberlemek yerine 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.