# Gelen e-Fatura Güncelle (Satır Eşleştirme)

> Gelen e-Fatura Güncelle (Satır Eşleştirme), 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-09
- **Doküman:** https://dev.evobulut.com/servis/gelen-e-fatura/gelen-e-fatura-guncelle-satir-eslestirme-324

## Açıklama

Gelen e-faturanın başlığını ve/veya satırlarını günceller. Asıl kullanım amacı **satır eşleştirmesidir**: e-faturadaki ürünün EvoBulut stok kartına ve birimine bağlanması. Aktarım yalnızca eşleşmiş satırları taşıdığı için bu adım **Gelen e-Faturayı İçeri Aktar**'dan ÖNCE yapılmalıdır.

**Kısmi güncelleme:** yalnızca istekte gönderilen alanlar yazılır, gönderilmeyen alan mevcut değeriyle kalır. Tüm satırı geri göndermek gerekmez.

| cmd | İlgili komut // UPD |
| --- | --- |
| UID | KULLANICI_UID |
| a_id | Kayit ID // Gelen e-fatura kimliği. Zorunludur. |
| a_cari_id | Musteri ID // Faturanın bağlanacağı cari. Gönderildiğinde satırlara da uygulanır. |
| a_depo_id | Depo ID |
| a_sube_id | Sube ID |
| a_bag_var | Irsaliye Baglantisi // 1 ise satırlar irsaliyeden gelir, aktarımda UBL satırları kullanılmaz. |
| a_adi | Fatura Basligi |
| a_ack | Aciklama |
| a_vtarih | Vade Tarihi |
| a_udf / a_udf_grp | Ek alan verileri ve ek alan grupları. |
| a_detay_satir | Satir Dizisi // Güncellenecek satırlar. Her öğede satırın kendi a_id'si ZORUNLUDUR (Detay servisinden gelen veri.Det[].a_id). |
| tutar_guncelle | Tutar Yazma Izni // Varsayılan 0. Parasal alanların yazılabilmesi için 1 gönderilmelidir. |

**a_detay_satir içindeki eşleştirme alanları**

| a_id | Satir ID // Zorunludur. Satırın bu faturaya ait olduğu denetlenir; başka faturanın satırı güncellenmez, atlanır ve veri.atlanan içinde bildirilir. |
| --- | --- |
| a_stok_id | Stok ID // Satırın bağlanacağı EvoBulut stok kartı. |
| a_stok_tur | Urun Tipi // 1 Stok, 2 Hizmet. |
| a_brm | Birim ID // Satırın birimi. Aktarım için a_stok_id ile birlikte dolu olmalıdır. |
| a_ana_brm | Ana Birim ID |
| a_brm_carp | Birim Carpani |
| a_depo_id | Depo ID |
| a_sube_id | Sube ID |
| a_tevkifat_id | Tevkifat ID |
| a_muafiyet_id | Vergi Muafiyet ID |
| a_ack | Satir Aciklamasi |

**Parasal alanlar** (a_mik, a_fiy, a_kdv, a_tutar, a_tutar_kdvh, iskonto, ÖTV, ÖİV, tevkifat tutarı ve döviz alanları) gelen belgenin kendi değerleridir; değiştirilmeleri oluşacak alış faturasını asıl belgeden saptırır. Bu alanların yazılabilmesi için istekte **tutar_guncelle = 1** bulunmalıdır.

**Öğrenme:** Eşleştirme yapıldığında gönderici + karşı stok kodu eşleşmesi kaydedilir; aynı tedarikçiden gelen sonraki faturaların satırları kendiliğinden eşleşir.

**Kısıt:** Onaylı fatura güncellenemez.

**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": "UPD",
  "UID": "KULLANICI_UID",
  "a_id": 18245,
  "a_cari_id": 987,
  "a_depo_id": 1,
  "a_detay_satir": [
    {
      "a_id": 55501,
      "a_stok_id": 4410,
      "a_brm": 3,
      "a_ana_brm": 3
    },
    {
      "a_id": 55502,
      "a_stok_id": 4411,
      "a_brm": 7,
      "a_ana_brm": 3,
      "a_brm_carp": 1
    }
  ]
}
```

## Örnek istek (cURL)

```bash
curl -X POST "https://ws.evobulut.com/api/FaturaUbl/base/" \
  -H "Content-Type: application/json" \
  -d '{
  "cmd": "UPD",
  "UID": "KULLANICI_UID",
  "a_id": 18245,
  "a_cari_id": 987,
  "a_depo_id": 1,
  "a_detay_satir": [
    {
      "a_id": 55501,
      "a_stok_id": 4410,
      "a_brm": 3,
      "a_ana_brm": 3
    },
    {
      "a_id": 55502,
      "a_stok_id": 4411,
      "a_brm": 7,
      "a_ana_brm": 3,
      "a_brm_carp": 1
    }
  ]
}'
```

## Başarılı yanıt

```json
{
  "status": "OK",
  "veri": {
    "a_id": 18245,
    "guncellenen_satir": 2
  }
}
```

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

```json
{
  "status": "ERR",
  "veri": {
    "mesaj": "Onaylı Fatura Güncellenemez."
  }
}
```

