İade Oluştur
İade, fatura iptalinin kapsamadığı durumu çözer:
alıcı tarafından ACCEPTED olmuş bir e-Fatura bir daha iptal edilemez, geri
almanın tek yolu asıl faturaya atıflı yeni bir belge (IADE) kesmektir.
Tercih edilen yol: satış ucundan
POST /v1/integrations/refunds
{
"provider": "ECOMSOFT",
"external_id": "RFD-2026-00041",
"order_external_id": "ORD-2026-00184",
"refunded_at": "2026-10-09T12:00:00Z",
"currency": "TRY",
"exchange_rate": null,
"lines": [
{ "external_line_id": "L1", "quantity": 1, "unit_price": 1200, "total_price": 1200 }
],
"buyer": { "title": "Test Müşteri", "tckn": "11111111111" }
}
{
"transaction_id": "a1b2c3d4-...",
"order_transaction_id": "9f1c2d3e-4a5b-6c7d-8e9f-0a1b2c3d4e5f"
}
| Alan | Açıklama |
|---|---|
external_id | İadenin kendi kimliği — asıl siparişin kimliği değil. |
order_external_id | Asıl siparişin external_id'si (bkz. Satış Oluştur). |
exchange_rate | Dövizli satışta asıl satışın kuru — bugünün kuru değil. Boş bırakırsanız asıl satışın kurunu kendimiz buluruz. |
lines | İade edilen miktarlar — pozitif/işaretsiz. Yön negatif sayı değil, belge tipi (IADE) ile ifade edilir. |
Dönen transaction_id ile normal fatura kesme
çağrısını yapın — fatura tipi (IADE) ve asıl belge atfı bu yolda otomatik
kurulur, return_info göndermenize gerek kalmaz.
external_id iadenin kendi kimliğidir, order_external_id asıl siparişin
kimliğidir. Kısmi iadelerde bu ikisi karıştırılırsa ikinci iade sessizce
düşer — aynı order_external_id + mevcut bir external_id eşleşmesi
tekrarlı gönderim sayılır. Her kısmi iade için kendi external_id'sini
üretin.
Asıl satış hiç aktarılmamışsa:
{"message": "ERROR_ORDER_NOT_IMPORTED", "status_code": 400}
Satış zorunluluğundan muafiyet
İade belgeleri satış ucu zorunluluğundan
muaftır — transaction_header_id olmadan da kesilebilir. Ama satış ucundan
gitmeniz yine tercih edilir: cari ve stok tutarlılığı ancak böyle korunur,
atıf ve kur da kendiliğinden doğru kurulur.
Canonical'ı kendiniz kuruyorsanız
Zorunlu alanlar:
{
"document_type": "EARSIV",
"canonical": {
"InvoiceTypeCode": "IADE",
"return_info": {
"Originals": [
{ "Number": "FA02026000002668", "IssueDate": "2026-10-01T00:00:00Z" }
]
}
}
}
Numbertam 16 karakter olmalıdır — asıl faturanıninvoice_numberdeğeri.IssueDateasıl faturanın düzenlenme tarihidir, RFC 3339 biçiminde (2026-10-01T00:00:00Z); çıplak2026-10-01ayrıştırılamaz.- Eksikse
400 ERROR_INVOICE_RETURN_NEEDS_REFERENCEdöner. - Tek iade faturası birden çok asıl faturaya atıf yapabilir —
Originalsdizidir.
canonical içindeki diğer alanlar PascalCase'dir, ama bu alan sunucuda farklı
etiketlenmiştir: doğru yazım return_info (snake_case). ReturnInfo
yazarsanız atıf sessizce düşer ve belge atıfsız iade olarak reddedilir. Resmî
kütüphanelerimiz bunu sizin için doğru yazar.
Dövizli iadede canonical.Currency ve ExchangeRate asıl satışın kurunu
taşımalıdır — TCMB'den yeniden alınmaz. Ayrıntı için
Döviz ve kur.