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
| Özellik | Değer |
|---|---|
| Tablo No | 51 |
| Tablo Adı | CARI_HESAP_HAREKETLERI |
| Prefix | cha_ |
| Toplam Alan | 185 |
| Primary Key | cha_Guid (Uniqueidentifier) |
| En Çok JOIN | CARI_HESAPLAR (cari_kod = cha_kod) |
| API Docs | apidocs.mikro.com.tr |
En Çok Kullanılan Alanlar
Kimlik ve Kontrol Alanları
| Alan | Tip | Açıklama |
|---|---|---|
cha_Guid | Uniqueidentifier | Kayıt benzersiz anahtarı |
cha_firmano | Integer | Firma no |
cha_subeno | Integer | Şube no |
cha_tarihi | DateTime | Hareket tarihi — rapor filtrelerinde en çok kullanılan alan |
cha_iptal | Bit | İ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:
| Alan | Tip | Açıklama | Değerler |
|---|---|---|---|
cha_evrak_tip | Tinyint | Evrak tipi (137+ değer) | Aşağıdaki tabloya bakın |
cha_tip | Tinyint | Borç / Alacak | 0: Borç, 1: Alacak |
cha_cinsi | Tinyint | Hareket cinsi (nakit, çek, fatura…) | Aşağıdaki tabloya bakın |
cha_normal_Iade | Tinyint | Normal 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) veya7(Perakende) veya8(Hizmet)cha_normal_Iade = 0(Normal)
Evrak ve Belge Alanları
| Alan | Tip | Açıklama |
|---|---|---|
cha_evrakno_seri | evrakseri_str | Evrak seri no |
cha_evrakno_sira | Integer | Evrak sıra no |
cha_belge_no | belgeno_str | Belge no |
cha_belge_tarih | DateTime | Belge tarihi |
cha_aciklama | Nvarchar(127) | Hareket açıklaması |
cha_satir_no | Integer | Fatura içi satır no |
Tutar ve Döviz Alanları
| Alan | Tip | Açıklama |
|---|---|---|
cha_meblag | Float | Ana tutar — orjinal döviz cinsinden |
cha_aratoplam | Float | Ara toplam |
cha_d_cins | Tinyint | Döviz cinsi |
cha_d_kur | Float | Döviz kuru |
cha_miktari | Float | Miktar |
cha_birimfiyat | Float | Birim fiyat |
Vade ve Finansal Alanlar
| Alan | Tip | Açıklama |
|---|---|---|
cha_vade | Integer | Vade tarihi (YYYYMMDD veya negatif gün) |
cha_tpoz | Tinyint | Cari pozisyonu: 0: Açık, 1: Kapalı |
cha_sntck_poz | Tinyint | Çek/senet pozisyonu |
cha_vadedikkat: Bu alanIntegertipindedir,DateTimedeğil!20260415veya-30gibi değerler alabilir. Detaylı rehber: cha_vade Hesaplama
Karşı Taraf Alanları
| Alan | Tip | Açıklama |
|---|---|---|
cha_kod | Nvarchar(25) | Cari kodu — CARI_HESAPLAR ile JOIN anahtarı |
cha_cari_cins | Tinyint | Cari cinsi (0=Cari, 2=Banka, 4=Kasa…) |
cha_kasa_hizmet | Tinyint | Karşı kasa/hizmet cinsi |
cha_kasa_hizkod | Nvarchar(25) | Karşı kasa/hizmet kodu |
cha_satici_kodu | Nvarchar(25) | Satıcı kodu |
cha_projekodu | Nvarchar(25) | Proje kodu |
cha_srmrkkodu | Nvarchar(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ğer | Evrak Adı |
|---|---|
| 0 | Alış Faturası |
| 1 | Tahsilat Makbuzu |
| 2 | Kasa Tahsilat Fişi |
| 3 | Senet Giriş Bordrosu |
| 4 | Çek Giriş Bordrosu |
| 5 | Portföydeki Çek Karşılığı Nakit Kasa Tahsilat Makbuzu |
| 6 | Portföydeki Senet Karşılığı Nakit Tahsilat Makbuzu |
| 7 | Bankadan Kasaya Nakit Çekme Makbuzu |
| 8 | Kasadan Bankaya Nakit Yatırma Makbuzu |
| 9 | Kredi Virman Fişi |
| 10 | Kredi Kabul Fişi |
| 11–14 | Takas Çek Bordroları |
| 15–18 | Tahsil Senet Bordroları |
| 19–22 | Teminat Çek Bordroları |
| 23–26 | Teminat Senet Bordroları |
| 27 | Verilen Firma Çeki Ödeme Bordrosu |
| 28 | Verilen Firma Senedi Ödeme Bordrosu |
| 29 | Açılış Fişi |
| 30 | Değerli Kağıtlar Açılış Fişi |
| 31 | Borç Dekontu |
| 32 | Alacak Dekontu |
| 33 | Genel Virman Dekontu |
| 34 | Gelen Havale |
| 35 | Gönderilen Havale |
| 36 | Bankadan Firma Senet Ödeme |
| 37 | Kasa Masraf Fişi |
| 38 | Bankadan Firma Çek Ödeme |
| 39–48 | Protestolu/Karşılıksız İade Bordroları |
| 49–50 | Ödeme Emri Kapatma |
| 51 | Firma Kredi Kartı Ödeme |
| 52–53 | Müşteri Ödeme Sözü Kapatma |
| 54 | Cari Hesap Kredi Kartı Ödeme |
| 55 | Giriş Gider Makbuzu |
| 56 | Giriş Serbest Meslek Makbuzu |
| 57 | Müşteri Satıcı Virman Dekontu |
| 58 | Bankalar Virman Dekontu |
| 59 | Kur Farkı Virman Dekontu |
| 60 | Pos Satış Virman Dekontu |
| 61 | Stok Gider Pusulası |
| 62 | Karşılıksız Portföyden Portföye Transfer |
Alacak Tarafı Evrakları (63+)
| Değer | Evrak Adı |
|---|---|
| 63 | Satış Faturası |
| 64 | Tediye Makbuzu |
| 65 | Kasa Tediye Fişi |
| 66 | Senet Çıkış Bordrosu |
| 67 | Çek Çıkış Bordrosu |
| 68–69 | Protestolu/Karşılıksız Portföy Nakit |
| 70–73 | Kasalar Arası Transfer Bordroları |
| 74–75 | Karşılıksız Çek/Senet Transfer Bordroları |
| 76 | Açılış Çek Portföye Giriş Bordrosu |
| 77 | Kredi Kartı Masraf Virman Dekontu |
| 78–81 | Bankadan Cariye İade Bordroları |
| 82–83 | Ödeme Emri Giriş/Çıkış Bordrosu |
| 84–87 | Protestolu/Karşılıksız Bankadan İade |
| 88 | Satış Serbest Meslek Makbuzu |
| 89–90 | Döviz Alış/Satış Belgesi |
| 91–137 | Diğ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ğer | Evrak | Tipik Kullanım |
|---|---|---|
0 | Alış Faturası | Alış raporu |
1 | Tahsilat Makbuzu | Tahsilat raporu |
4 | Çek Giriş Bordrosu | Çek takip |
29 | Açılış Fişi | Dönem başı bakiye |
31 | Borç Dekontu | Dekont raporu |
32 | Alacak Dekontu | Dekont raporu |
34 | Gelen Havale | Havale raporu |
35 | Gönderilen Havale | Havale raporu |
63 | Satış Faturası | Satış raporu |
64 | Tediye Makbuzu | Ödeme raporu |
cha_cinsi — 42 Hareket Cinsi
| Değer | Hareket Cinsi | Değer | Hareket Cinsi |
|---|---|---|---|
| 0 | Nakit | 21 | Firma Ödeme Emri |
| 1 | Müşteri Çeki | 22 | Firma Kredi Kartı |
| 2 | Müşteri Senedi | 23 | Vade Farkı Sıfırlama |
| 3 | Firma Çeki | 24 | Hal Faturası |
| 4 | Firma Senedi | 25 | Müstahsil Fatura |
| 5 | Dekont | 26 | Stok Gider Pusulası |
| 6 | Toptan Fatura | 27 | Gider Makbuzu |
| 7 | Perakende Faturası | 28 | İthalat Masraf Faturası |
| 8 | Hizmet Faturası | 29 | Gümrük Beyannamesi |
| 9 | Serbest Meslek Makbuzu | 30 | Finansal Kiralama Sözleşmesi |
| 10 | Vade Farkı Faturası | 31 | Finansal Kira Faturası |
| 11 | Kur Farkı Faturası | 33 | Avans Makbuzu |
| 12 | Fason Faturası | 34 | Müstahsil Değer Farkı Faturası |
| 13 | Dış Ticaret Faturası | 35 | Kabzımal Faturası |
| 14 | Demirbaş Faturası | 36 | Hediye Çeki Faturası |
| 15 | Değer Farkı Faturası | 37 | Müşteri Teminat Mektubu |
| 16 | Cari Açılış | 38 | Firma Teminat Mektubu |
| 17 | Müşteri Havale Sözü | 39 | Depozito Çeki |
| 18 | Müşteri Ödeme Sözü | 40 | Depozito Senedi |
| 19 | Müşteri Kredi Kartı | 41 | Firma Reel Kredi Kartı |
| 20 | Firma Havale Emri |
cha_sntck_poz — Çek/Senet Pozisyonu
| Değer | Pozisyon | Açıklama |
|---|---|---|
| 0 | Portföyde | Elimizde |
| 1 | Ciro | Başka cariye ciro edildi |
| 2 | Tahsilde | Bankaya tahsile verildi |
| 3 | Teminatta | Teminat olarak verildi |
| 4 | İade Edilen | Cariye iade edildi |
| 8 | İcrada | İcra takibinde |
| 9 | Kısmen Ödendi | Kısmi ödeme yapıldı |
| 10 | Ödendi | Tamamen ö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_tip | Konu |
|---|---|---|
| Cari Ekstre Raporu | Tümü | Borç/alacak/bakiye |
| Cari Yaşlandırma | Tümü | Bakiye dağıtımlı yaşlandırma |
| Cari Risk Raporu | Tümü | Risk analizi |
| fn_CariRiskFoyu Analizi | 0, 63 | 046355 rapor alternatifi |
| Tahsilat Detay Raporu | 1, 4, 34 | 046110 rapor alternatifi |
| Çek/Senet Vade Takip | 3, 4 | Portföy durumu |
| Kapanmamış Hareket | Tümü | Açık kalan hareketler |
| cha_vade Hesaplama | Tümü | Vade tarihi dönüşümü |
| Belge No ile Arama | Tümü | Doğru alan |
| Kur Farkı Kontrolü | 59 | Kur farkı virman |
| Banka Bakiye | 34, 35 | Havale hareketleri |
| Kasa Nakit Akış | 1, 2, 64, 65 | Kasa hareketleri |
| Satış Raporu | 63 | Satış analizi |
| Alış-Satış Kâr Analizi | 0, 63 | Kâr/zarar |
Bu Bilgiyi Nereden Biliyoruz? (Kaynaklar)
- Resmi API Dokümanı: CARI_HESAP_HAREKETLERI Tablo Alanları — 185 alan, Mikro Yazılımevi A.Ş.
- AstaFlow Case Study: Cari ve Finans Modülleri — 8 şubeli gerçek dünya entegrasyonu
- İlgili Araçlar:
- Evrak Tipi Decoder — cha_evrak_tip değerlerini interaktif çevirme
- Vade Hesaplayıcı — cha_vade integer ↔ tarih dönüşümü
- Mikro ERP Sözlük — 164 terim, tüm enum mapping’leri
- SQL JOIN Jeneratörü — CARI_HESAP_HAREKETLERI JOIN kodları
- İlgili Rehber: Tablo İlişkileri ve JOIN Rehberi — 12 temel JOIN kalıbı
- İlgili Rehber: Menü Sorgu Yönetimi Rehberi — SQL’leri Mikro’ya ekleme