Mikro ERP CARI_HESAP_HAREKETLERI Tablo Rehberi: 185 Alan, 137 Evrak Tipi

Mikro ERP'nin en kritik tablosu CARI_HESAP_HAREKETLERI'nin tüm alanları, cha_evrak_tip değerleri, cha_cinsi, cha_tip ve doğru filtreleme rehberi.

CARI_HESAP_HAREKETLERI — Mikro ERP veritabanının en büyük ve en kritik tablosudur. Fatura, tahsilat, çek, senet, dekont, havale, kur farkı, vade farkı — cari hesapla ilgili her hareket bu tabloda saklanır.

Bu yazı, bu tablonun 185 alanından en çok kullanılanlarını, 137+ evrak tipinin tamamını ve doğru filtreleme kalıplarını kapsayan referans rehberdir.

Tablo Kimliği

ÖzellikDeğer
Tablo No51
Tablo AdıCARI_HESAP_HAREKETLERI
Prefixcha_
Toplam Alan185
Primary Keycha_Guid (Uniqueidentifier)
En Çok JOINCARI_HESAPLAR (cari_kod = cha_kod)
API Docsapidocs.mikro.com.tr

En Çok Kullanılan Alanlar

Kimlik ve Kontrol Alanları

AlanTipAçıklama
cha_GuidUniqueidentifierKayıt benzersiz anahtarı
cha_firmanoIntegerFirma no
cha_subenoIntegerŞube no
cha_tarihiDateTimeHareket tarihi — rapor filtrelerinde en çok kullanılan alan
cha_iptalBitİptal edilmiş mi? (Filtrelerde cha_iptal = 0 kullanın)

Hareket Tanımlayıcı Alanlar (Kritik Dörtlü)

Bu 4 alan, bir cari hareketinin ne olduğunu tanımlar. SQL sorgularında doğru filtreleme yapabilmek için bu alanların birlikte nasıl çalıştığını anlamak şarttır:

AlanTipAçıklamaDeğerler
cha_evrak_tipTinyintEvrak tipi (137+ değer)Aşağıdaki tabloya bakın
cha_tipTinyintBorç / Alacak0: Borç, 1: Alacak
cha_cinsiTinyintHareket cinsi (nakit, çek, fatura…)Aşağıdaki tabloya bakın
cha_normal_IadeTinyintNormal mi iade mi?0: Normal, 1: İade

Örnek: Bir satış faturası hareketi şu şekilde tanımlanır:

  • cha_evrak_tip = 63 (Satış Faturası)
  • cha_tip = 0 (Borç — müşteriye borç yansır)
  • cha_cinsi = 6 (Toptan Fatura) veya 7 (Perakende) veya 8 (Hizmet)
  • cha_normal_Iade = 0 (Normal)

Evrak ve Belge Alanları

AlanTipAçıklama
cha_evrakno_serievrakseri_strEvrak seri no
cha_evrakno_siraIntegerEvrak sıra no
cha_belge_nobelgeno_strBelge no
cha_belge_tarihDateTimeBelge tarihi
cha_aciklamaNvarchar(127)Hareket açıklaması
cha_satir_noIntegerFatura içi satır no

Tutar ve Döviz Alanları

AlanTipAçıklama
cha_meblagFloatAna tutar — orjinal döviz cinsinden
cha_aratoplamFloatAra toplam
cha_d_cinsTinyintDöviz cinsi
cha_d_kurFloatDöviz kuru
cha_miktariFloatMiktar
cha_birimfiyatFloatBirim fiyat

Vade ve Finansal Alanlar

AlanTipAçıklama
cha_vadeIntegerVade tarihi (YYYYMMDD veya negatif gün)
cha_tpozTinyintCari pozisyonu: 0: Açık, 1: Kapalı
cha_sntck_pozTinyintÇek/senet pozisyonu

cha_vade dikkat: Bu alan Integer tipindedir, DateTime değil! 20260415 veya -30 gibi değerler alabilir. Detaylı rehber: cha_vade Hesaplama

Karşı Taraf Alanları

AlanTipAçıklama
cha_kodNvarchar(25)Cari kodu — CARI_HESAPLAR ile JOIN anahtarı
cha_cari_cinsTinyintCari cinsi (0=Cari, 2=Banka, 4=Kasa…)
cha_kasa_hizmetTinyintKarşı kasa/hizmet cinsi
cha_kasa_hizkodNvarchar(25)Karşı kasa/hizmet kodu
cha_satici_koduNvarchar(25)Satıcı kodu
cha_projekoduNvarchar(25)Proje kodu
cha_srmrkkoduNvarchar(25)Sorumluluk merkezi kodu

cha_evrak_tip — 137+ Evrak Tipi (Tam Liste)

Bu alan, cari hareketin hangi evraktan oluştuğunu belirtir. Mikro ERP’nin resmi API dokümanına göre tam liste:

Borç Tarafı Evrakları (0–62)

DeğerEvrak Adı
0Alış Faturası
1Tahsilat Makbuzu
2Kasa Tahsilat Fişi
3Senet Giriş Bordrosu
4Çek Giriş Bordrosu
5Portföydeki Çek Karşılığı Nakit Kasa Tahsilat Makbuzu
6Portföydeki Senet Karşılığı Nakit Tahsilat Makbuzu
7Bankadan Kasaya Nakit Çekme Makbuzu
8Kasadan Bankaya Nakit Yatırma Makbuzu
9Kredi Virman Fişi
10Kredi Kabul Fişi
11–14Takas Çek Bordroları
15–18Tahsil Senet Bordroları
19–22Teminat Çek Bordroları
23–26Teminat Senet Bordroları
27Verilen Firma Çeki Ödeme Bordrosu
28Verilen Firma Senedi Ödeme Bordrosu
29Açılış Fişi
30Değerli Kağıtlar Açılış Fişi
31Borç Dekontu
32Alacak Dekontu
33Genel Virman Dekontu
34Gelen Havale
35Gönderilen Havale
36Bankadan Firma Senet Ödeme
37Kasa Masraf Fişi
38Bankadan Firma Çek Ödeme
39–48Protestolu/Karşılıksız İade Bordroları
49–50Ödeme Emri Kapatma
51Firma Kredi Kartı Ödeme
52–53Müşteri Ödeme Sözü Kapatma
54Cari Hesap Kredi Kartı Ödeme
55Giriş Gider Makbuzu
56Giriş Serbest Meslek Makbuzu
57Müşteri Satıcı Virman Dekontu
58Bankalar Virman Dekontu
59Kur Farkı Virman Dekontu
60Pos Satış Virman Dekontu
61Stok Gider Pusulası
62Karşılıksız Portföyden Portföye Transfer

Alacak Tarafı Evrakları (63+)

DeğerEvrak Adı
63Satış Faturası
64Tediye Makbuzu
65Kasa Tediye Fişi
66Senet Çıkış Bordrosu
67Çek Çıkış Bordrosu
68–69Protestolu/Karşılıksız Portföy Nakit
70–73Kasalar Arası Transfer Bordroları
74–75Karşılıksız Çek/Senet Transfer Bordroları
76Açılış Çek Portföye Giriş Bordrosu
77Kredi Kartı Masraf Virman Dekontu
78–81Bankadan Cariye İade Bordroları
82–83Ödeme Emri Giriş/Çıkış Bordrosu
84–87Protestolu/Karşılıksız Bankadan İade
88Satış Serbest Meslek Makbuzu
89–90Döviz Alış/Satış Belgesi
91–137Diğer özel evrak tipleri

📘 Tüm 137+ değeri interaktif olarak görmek için: Evrak Tipi Decoder

Pratikte En Çok Kullanılan cha_evrak_tip Değerleri

DeğerEvrakTipik Kullanım
0Alış FaturasıAlış raporu
1Tahsilat MakbuzuTahsilat raporu
4Çek Giriş BordrosuÇek takip
29Açılış FişiDönem başı bakiye
31Borç DekontuDekont raporu
32Alacak DekontuDekont raporu
34Gelen HavaleHavale raporu
35Gönderilen HavaleHavale raporu
63Satış FaturasıSatış raporu
64Tediye MakbuzuÖdeme raporu

cha_cinsi — 42 Hareket Cinsi

DeğerHareket CinsiDeğerHareket Cinsi
0Nakit21Firma Ödeme Emri
1Müşteri Çeki22Firma Kredi Kartı
2Müşteri Senedi23Vade Farkı Sıfırlama
3Firma Çeki24Hal Faturası
4Firma Senedi25Müstahsil Fatura
5Dekont26Stok Gider Pusulası
6Toptan Fatura27Gider Makbuzu
7Perakende Faturası28İthalat Masraf Faturası
8Hizmet Faturası29Gümrük Beyannamesi
9Serbest Meslek Makbuzu30Finansal Kiralama Sözleşmesi
10Vade Farkı Faturası31Finansal Kira Faturası
11Kur Farkı Faturası33Avans Makbuzu
12Fason Faturası34Müstahsil Değer Farkı Faturası
13Dış Ticaret Faturası35Kabzımal Faturası
14Demirbaş Faturası36Hediye Çeki Faturası
15Değer Farkı Faturası37Müşteri Teminat Mektubu
16Cari Açılış38Firma Teminat Mektubu
17Müşteri Havale Sözü39Depozito Çeki
18Müşteri Ödeme Sözü40Depozito Senedi
19Müşteri Kredi Kartı41Firma Reel Kredi Kartı
20Firma Havale Emri

cha_sntck_poz — Çek/Senet Pozisyonu

DeğerPozisyonAçıklama
0PortföydeElimizde
1CiroBaşka cariye ciro edildi
2TahsildeBankaya tahsile verildi
3TeminattaTeminat olarak verildi
4İade EdilenCariye iade edildi
8İcradaİcra takibinde
9Kısmen ÖdendiKısmi ödeme yapıldı
10ÖdendiTamamen ödendi/tahsil edildi

Doğru Filtreleme Kalıpları

Satış Faturaları

WHERE cha_evrak_tip = 63       -- Satış faturası
  AND cha_tip = 0              -- Borç
  AND cha_normal_Iade = 0      -- Normal (iade değil)

Satış Fatura İadeleri

WHERE cha_evrak_tip = 63       -- Satış faturası
  AND cha_tip = 1              -- Alacak
  AND cha_normal_Iade = 1      -- İade

Nakit Tahsilatlar

WHERE cha_evrak_tip = 1        -- Tahsilat makbuzu
  AND cha_tip = 1              -- Alacak
  AND cha_cinsi = 0            -- Nakit

Çek Tahsilatları (Portföydeki)

WHERE cha_evrak_tip = 4        -- Çek giriş bordrosu
  AND cha_cinsi = 1            -- Müşteri çeki
  AND cha_sntck_poz = 0        -- Portföyde

Tahsil Edilen Çekler

WHERE cha_evrak_tip = 4        -- Çek giriş bordrosu
  AND cha_cinsi = 1            -- Müşteri çeki
  AND cha_sntck_poz = 10       -- Ödendi

Havale ile Gelen Ödemeler

WHERE cha_evrak_tip = 34       -- Gelen havale
  AND cha_tip = 1              -- Alacak

Dönem Bazlı Cari Bakiye

-- Toplam borç - toplam alacak = bakiye
SELECT
    cha_kod,
    SUM(CASE WHEN cha_tip = 0 THEN cha_meblag ELSE 0 END) AS [Borç],
    SUM(CASE WHEN cha_tip = 1 THEN cha_meblag ELSE 0 END) AS [Alacak],
    SUM(CASE WHEN cha_tip = 0 THEN cha_meblag ELSE -cha_meblag END) AS [Bakiye]
FROM dbo.CARI_HESAP_HAREKETLERI WITH (NOLOCK)
WHERE cha_tarihi >= @P1
  AND cha_tarihi <= @P2
GROUP BY cha_kod

Dikkat Edilecek Noktalar

1. cha_vade Integer Tuzağı

cha_vade alanı DateTime değil, Integer tipindedir. İki farklı format kullanılır:

-- Format 1: YYYYMMDD (ör: 20260415 → 15 Nisan 2026)
-- Format 2: Negatif gün sayısı (ör: -30 → cha_tarihi + 30 gün)

CASE
    WHEN cha_vade BETWEEN 19000101 AND 20991231
        THEN TRY_CONVERT(date, CONVERT(char(8), cha_vade), 112)
    WHEN cha_vade BETWEEN -36500 AND -1
        THEN DATEADD(DAY, ABS(cha_vade), cha_tarihi)
END AS [Vade Tarihi]

İlgili yazı: cha_vade Nasıl Çalışır?

2. cha_meblag Her Zaman Pozitiftir

cha_meblag her zaman pozitif bir değerdir. Borç mu alacak mı olduğunu cha_tip alanı belirler. Bakiye hesabında:

-- ✅ Doğru:
SUM(CASE WHEN cha_tip = 0 THEN cha_meblag ELSE -cha_meblag END) AS Bakiye

-- ❌ Yanlış (hep toplam verir):
SUM(cha_meblag) AS Bakiye

3. İptal Kayıtları

cha_iptal = 1 olan kayıtlar iptal edilmiştir. Rapor sorgularında mutlaka filtreleyin:

WHERE cha_iptal = 0  -- Sadece geçerli kayıtlar

4. Açık/Kapalı Pozisyon

cha_tpoz alanı bir hareketin açık mı kapalı mı olduğunu belirtir:

  • 0 = Açık — henüz kapanmamış (örn: faturalanıp tahsil edilmemiş)
  • 1 = Kapalı — karşılığı ödenmiş/eşleştirilmiş

İlgili yazı: Kapanmamış Cari Hareketler


Bu Tabloyu Kullanan Blog Yazılarımız

Yazıcha_evrak_tipKonu
Cari Ekstre RaporuTümüBorç/alacak/bakiye
Cari YaşlandırmaTümüBakiye dağıtımlı yaşlandırma
Cari Risk RaporuTümüRisk analizi
fn_CariRiskFoyu Analizi0, 63046355 rapor alternatifi
Tahsilat Detay Raporu1, 4, 34046110 rapor alternatifi
Çek/Senet Vade Takip3, 4Portföy durumu
Kapanmamış HareketTümüAçık kalan hareketler
cha_vade HesaplamaTümüVade tarihi dönüşümü
Belge No ile AramaTümüDoğru alan
Kur Farkı Kontrolü59Kur farkı virman
Banka Bakiye34, 35Havale hareketleri
Kasa Nakit Akış1, 2, 64, 65Kasa hareketleri
Satış Raporu63Satış analizi
Alış-Satış Kâr Analizi0, 63Kâr/zarar

Bu Bilgiyi Nereden Biliyoruz? (Kaynaklar)

📚 İlgili Yazılar