---
title: "Mikro ERP CARI_HESAP_HAREKETLERI Tablo Rehberi: 185 Alan, 137 Evrak Tipi"
description: "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."
date: 2026-05-25
category: mikro-erp
tags: ["mikro-erp", "sql-server", "cari-hesap", "tablo", "veritabani", "astaflow"]
url: https://mikroerp.dev/blog/mikro-erp-cari-hesap-hareketleri-tablo-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](https://apidocs.mikro.com.tr/tablo-alan-adlari/cari_hesap_hareketleri) |

## 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) veya `7` (Perakende) veya `8` (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_vade` dikkat:** Bu alan `Integer` tipindedir, `DateTime` değil! `20260415` veya `-30` gibi değerler alabilir. Detaylı rehber: [cha_vade Hesaplama](/blog/mikro-erp-vade-hesaplama-cha-vade-sql/)

### 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](/araclar/evrak-tip-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ı

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

### Satış Fatura İadeleri

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

### Nakit Tahsilatlar

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

### Çek Tahsilatları (Portföydeki)

```sql
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

```sql
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

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

### Dönem Bazlı Cari Bakiye

```sql
-- 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:

```sql
-- 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?](/blog/mikro-erp-vade-hesaplama-cha-vade-sql/)

### 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:

```sql
-- ✅ 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:

```sql
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](/blog/mikro-erp-kapanmamis-cari-hareket-sql/)

---

## Bu Tabloyu Kullanan Blog Yazılarımız

| Yazı | cha_evrak_tip | Konu |
|---|:---:|---|
| [Cari Ekstre Raporu](/blog/mikro-erp-cari-ekstre-raporu-sql/) | Tümü | Borç/alacak/bakiye |
| [Cari Yaşlandırma](/blog/mikro-erp-cari-yaslandirma-sql-sorgusu/) | Tümü | Bakiye dağıtımlı yaşlandırma |
| [Cari Risk Raporu](/blog/mikro-erp-cari-risk-raporu-sql/) | Tümü | Risk analizi |
| [fn_CariRiskFoyu Analizi](/blog/mikro-erp-cari-risk-raporu-fn-caririsklfoyu-analizi/) | 0, 63 | 046355 rapor alternatifi |
| [Tahsilat Detay Raporu](/blog/mikro-erp-cari-tahsilat-detay-raporu-sql/) | 1, 4, 34 | 046110 rapor alternatifi |
| [Çek/Senet Vade Takip](/blog/mikro-erp-cek-senet-vade-takip-sql/) | 3, 4 | Portföy durumu |
| [Kapanmamış Hareket](/blog/mikro-erp-kapanmamis-cari-hareket-sql/) | Tümü | Açık kalan hareketler |
| [cha_vade Hesaplama](/blog/mikro-erp-vade-hesaplama-cha-vade-sql/) | Tümü | Vade tarihi dönüşümü |
| [Belge No ile Arama](/blog/mikro-erp-belge-no-cari-hareket-bulma-sql/) | Tümü | Doğru alan |
| [Kur Farkı Kontrolü](/blog/mikro-erp-kur-farki-kontrol-sql/) | 59 | Kur farkı virman |
| [Banka Bakiye](/blog/mikro-erp-banka-hesap-bakiye-sql/) | 34, 35 | Havale hareketleri |
| [Kasa Nakit Akış](/blog/mikro-erp-kasa-nakit-akis-raporu-sql/) | 1, 2, 64, 65 | Kasa hareketleri |
| [Satış Raporu](/blog/mikro-erp-satis-raporu-sql/) | 63 | Satış analizi |
| [Alış-Satış Kâr Analizi](/blog/mikro-erp-alis-satis-kar-analizi-sql/) | 0, 63 | Kâr/zarar |

## Bu Bilgiyi Nereden Biliyoruz? (Kaynaklar)

*   **Resmi API Dokümanı:** [CARI_HESAP_HAREKETLERI Tablo Alanları](https://apidocs.mikro.com.tr/tablo-alan-adlari/cari_hesap_hareketleri) — 185 alan, Mikro Yazılımevi A.Ş.
*   **AstaFlow Case Study:** [Cari ve Finans Modülleri](/case-study/) — 8 şubeli gerçek dünya entegrasyonu
*   **İlgili Araçlar:**
    - [Evrak Tipi Decoder](/araclar/evrak-tip-decoder/) — cha_evrak_tip değerlerini interaktif çevirme
    - [Vade Hesaplayıcı](/araclar/vade-hesaplayici/) — cha_vade integer ↔ tarih dönüşümü
    - [Mikro ERP Sözlük](/sozluk/) — 164 terim, tüm enum mapping'leri
    - [SQL JOIN Jeneratörü](/araclar/sql-join-generator/) — CARI_HESAP_HAREKETLERI JOIN kodları
*   **İlgili Rehber:** [Tablo İlişkileri ve JOIN Rehberi](/blog/mikro-erp-tablo-iliskileri-join-rehberi/) — 12 temel JOIN kalıbı
*   **İlgili Rehber:** [Menü Sorgu Yönetimi Rehberi](/blog/mikro-erp-menu-sorgu-yonetimi-rehberi/) — SQL'leri Mikro'ya ekleme