# Gelen e-Faturayı İçeri Aktar (Alış Faturası Oluştur)

> Gelen e-Faturayı İçeri Aktar (Alış Faturası Oluştur), Evobulut ön muhasebe / ERP yazılımının Gelen e-Fatura modülüne ait bir REST API servisidir. POST yöntemiyle `https://ws.evobulut.com/api/FaturaUbl/base/` adresine JSON gönderilerek çağrılır.

- **Modül:** Gelen e-Fatura
- **Yöntem:** POST
- **Endpoint:** `https://ws.evobulut.com/api/FaturaUbl/base/`
- **Kimlik doğrulama:** Login servisinden alınan Token UID
- **Son güncelleme:** 2026-09-10
- **Doküman:** https://dev.evobulut.com/servis/gelen-e-fatura/gelen-e-faturayi-iceri-aktar-alis-faturasi-olustur-325

## Açıklama

Gelen e-faturayı **alış faturasına** aktarır. Web arayüzündeki “İçeri Aktar” işleminin karşılığıdır. Oluşan fatura ile gelen e-fatura arasındaki bağ kurulur ve aynı fatura ikinci kez aktarılamaz.

**Ön koşullar:** Faturanın **carisi** ve **deposu** belli olmalıdır. Cari boşsa aktarım yapılmaz; önce **Gelen e-Fatura Güncelle** servisi ile a_cari_id belirlenmelidir. Depo ise aşağıdaki sırayla çözülür, hiçbiri bulunamazsa aktarım yapılmaz.

| cmd | İlgili komut // iceri_aktar |
| --- | --- |
| UID | KULLANICI_UID |
| a_id | Kayit ID // Gelen e-fatura kimliği. Zorunludur. |
| a_depo_id | Depo ID // Stok hareketinin gireceği depo. Verilmezse sırasıyla gelen e-faturanın üzerindeki depo, o da boşsa kullanıcının varsayılan deposu (tbl_depo_user) kullanılır. GİB'den gelen faturalarda depo bilgisi bulunmadığı için bu alan çoğunlukla boştur; hiçbiri bulunamazsa “Depo boş olamaz.” hatası döner ve fatura oluşturulmaz. Çözülen depo gelen e-fatura kaydına da yazılır. |
| onay | Onay // 1 verilirse hem GELEN E-FATURA kaydı hem de oluşan alış faturası onaylanır; arayüzdeki “onayla + alış oluştur” akışının karşılığıdır. Kullanıcının alış faturası onay limiti denetlenir (varsayılan 0). |
| stok_yansit | Stok Yansitma // 1 verilirse stok hareketi oluşturulmaz (varsayılan 0). |
| uyari | Mukerrer Uyarisi // Varsayılan 1. Aynı belge no + cari daha önce girilmişse aktarım YAPILMAZ ve status = "UYARI" döner. İstemci onayladıktan sonra uyari = 0 ile tekrar çağırır. |
| eslesmeyen_atla | Eslesmeyen Satir Davranisi // Varsayılan 0: stok kartı ya da birimi eşleşmemiş satır varsa aktarım durur ve eksik satırlar veri.eslesmeyen_satirlar ile döner. 1 verilirse bu satırlar atlanarak aktarım yapılır; bu durumda oluşan faturanın tutarı gelen faturanın tutarından DÜŞÜK olur. |

**Dönen veri**

| veri.a_id | Oluşan alış faturasının kimliği. Fatura modülü servisleriyle kullanılır. |
| --- | --- |
| veri.ubl_id | Aktarılan gelen e-faturanın kimliği. |
| veri.eslesmeyen_satirlar | Aktarım eşleşme nedeniyle durduysa eksik satırların listesi. |

**Önerilen akış**

| 1 | Listele // Gelen e-Fatura Listesi, aktarildi = 0 |
| --- | --- |
| 2 | Detayı ve satırları al // Gelen e-Fatura Detayı ve Satırları |
| 3 | Cariyi ve eşleşmemiş satırları bağla // Gelen e-Fatura Güncelle (Satır Eşleştirme) |
| 4 | Aktar // Gelen e-Faturayı İçeri Aktar |

**Yetki:** “Gelen e-Faturalar” menü yetkisi gereklidir.

## Header bilgileri

| X-ClientId | Login anında alınan kullanıcı Token UID bilgisi |
| --- | --- |

## İstek gövdesi

```json
{
  "cmd": "iceri_aktar",
  "UID": "KULLANICI_UID",
  "a_id": 18245,
  "a_depo_id": 1,
  "onay": 1,
  "stok_yansit": 0,
  "uyari": 1
}
```

## Örnek istek (cURL)

```bash
curl -X POST "https://ws.evobulut.com/api/FaturaUbl/base/" \
  -H "Content-Type: application/json" \
  -d '{
  "cmd": "iceri_aktar",
  "UID": "KULLANICI_UID",
  "a_id": 18245,
  "a_depo_id": 1,
  "onay": 1,
  "stok_yansit": 0,
  "uyari": 1
}'
```

## Başarılı yanıt

```json
{
  "status": "OK",
  "veri": {
    "mesaj": "Fatura aktarıldı.",
    "a_id": 20117,
    "ubl_id": 18245
  }
}
```

## Başarısız yanıt

```json
{
  "status": "ERR",
  "veri": {
    "mesaj": "Stok kartı ya da birimi eşleşmemiş satırlar var; önce UPD ile eşleştiriniz.",
    "eslesmeyen_satirlar": [
      "55502 - TED-777 EŞLEŞMEMİŞ ÜRÜN"
    ]
  }
}
```

