Ana içeriğe geç

İ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
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" }
}
200 OK
{
"transaction_id": "a1b2c3d4-...",
"order_transaction_id": "9f1c2d3e-4a5b-6c7d-8e9f-0a1b2c3d4e5f"
}
AlanAçıklama
external_idİadenin kendi kimliği — asıl siparişin kimliği değil.
order_external_idAsıl siparişin external_id'si (bkz. Satış Oluştur).
exchange_rateDö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.

Kısmi iadede iki kimliği karıştırmayın

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" }
]
}
}
}
  • Number tam 16 karakter olmalıdır — asıl faturanın invoice_number değeri.
  • IssueDate asıl faturanın düzenlenme tarihidir, RFC 3339 biçiminde (2026-10-01T00:00:00Z); çıplak 2026-10-01 ayrıştırılamaz.
  • Eksikse 400 ERROR_INVOICE_RETURN_NEEDS_REFERENCE döner.
  • Tek iade faturası birden çok asıl faturaya atıf yapabilir — Originals dizidir.
Anahtar yazımı snake_case

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.

İade ile iptal arasındaki fark​

Bkz. Fatura İptal → İade ile ilişkisi.