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; kimlik doğrulama için Login servisinden alınan Token UID değeri gereklidir.
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.
| X-ClientId | Login anında alınan kullanıcı Token UID bilgisi |
{
"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
}
]
}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
}
]
}'const response = await fetch("https://ws.evobulut.com/api/FaturaUbl/base/", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"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
}
]
})
});
const veri = await response.json();
console.log(veri);using System.Text;
using System.Text.Json;
using var client = new HttpClient();
var 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
}
]
}
""";
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://ws.evobulut.com/api/FaturaUbl/base/", content);
var veri = await response.Content.ReadAsStringAsync();
Console.WriteLine(veri);import requests
url = "https://ws.evobulut.com/api/FaturaUbl/base/"
payload = {
"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
}
]
}
response = requests.post(url, json=payload)
print(response.json())<?php
$url = "https://ws.evobulut.com/api/FaturaUbl/base/";
$payload = '{
"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
}
]
}';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;import java.net.URI;
import java.net.http.*;
HttpClient client = HttpClient.newHttpClient();
String 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
}
]
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://ws.evobulut.com/api/FaturaUbl/base/"))
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.post(
Uri.parse('https://ws.evobulut.com/api/FaturaUbl/base/'),
headers: {'Content-Type': 'application/json'},
body: jsonEncode({
"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
}
]
}),
);
print(jsonDecode(response.body));{
"status": "OK",
"veri": {
"a_id": 18245,
"guncellenen_satir": 2
}
}{
"status": "ERR",
"veri": {
"mesaj": "Onaylı Fatura Güncellenemez."
}
}