e-Arşiv Fatura

API

Entegratör API Endpoint Referansı

Entegratörün doğrudan ERP/API entegrasyonunda kullandığı belge endpointleri, alan sözleşmeleri ve yanıt örnekleri.

Kimlik Doğrulama

API çağrıları, firmanın yetki bağlamı ve oturum token'ı üzerinden ilerler.

💡 Tüm istekler VbtAuthorization header'ı gerektirir. Token almak için POST /api/Account/Token kullanın.
POST/api/Account/Token

Oturum token'ı alır. Tüm diğer endpointler bu token'ı VbtAuthorization header'ında bekler.

RequestTokenRequestModel{ Email, Password }
ResponseTokenResponseModel{ Token }

Alan Zorunluluk Matrisi

AlanZorunlulukNot
ProfileIdZe-Arşiv Fatura için EARSIVFATURA
IssueDateZGelecek tarih olamaz
AccountingSupplierPartyZSatıcı VKN'si
AccountingCustomerPartyZAlıcı VKN (tüzel) veya TCKN (gerçek kişi)
InvoiceLineZEn az 1 kalem
LegalMonetaryTotalZSatır toplamı, KDV hariç/dahil ve ödenecek tutar
WithholdingTaxTotalOTevkifat varsa doldurulur
BillingReferenceOMükerrer/iade veya ÖKC referansı varsa doldurulur
EArchiveMailToOBirden fazla adres ; ile ayrılır

Z Zorunlu · O Opsiyonel

Ekleme

Yeni fatura oluşturma çağrıları, belge içeriğini ve taraf bilgilerini platforma teslim eder; farklı giriş yöntemleri aynı belge yaşam döngüsüne bağlanır.

POST/api/VbtApi/AddOutgoingInvoice

Yeni bir e-Arşiv Fatura oluşturur ve sisteme kaydeder.

RequestOutgoingInvoiceRequestModel
ResponseResponseModel<OutgoingInvoiceAddResponseModel>{ InvoiceNumber, Ettn, PdfUrl, XmlUrl }
POST/api/VbtApi/AddOutgoingInvoiceByUbl

Hazır UBL Invoice XML'i ile fatura oluşturur.

RequestInvoiceUblRequestModel
ResponseResponseModel<OutgoingInvoiceAddResponseModel>
POST/api/VbtApi/AddOutgoingInvoiceByXml

Hazır XML gövdesiyle fatura oluşturur (Ubl dışı XML akışı).

RequestXmlRequestModel
ResponseResponseModel<XmlResponseModel>
POST/api/VbtApi/AddOutgoingInvoiceByExcel

Excel dosyasındaki birden fazla satırı toplu olarak işler.

RequestExcelFileRequestModel
ResponseResponseModel<List<OutgoingInvoiceAddExcelResponseModel>> — satır başına ayrı sonuç
POST/api/VbtApi/AddOutgoingReturnedInvoice

Mükerrer/iade referanslı fatura ekler.

RequestOutgoingInvoiceRequestModel (BillingReference.InvoiceDocumentReference ile)
ResponseResponseModel<OutgoingInvoiceAddResponseModel>
POST/api/VbtApi/OutgoingInvoicePreview

Faturayı kaydetmeden önce önizleme yapar.

RequestOutgoingInvoiceRequestModel
ResponseResponseModel<OutgoingInvoicePreviewResponseModel>

Güncelleme

POST/api/VbtApi/UpdateOutgoingInvoice

Mevcut bir faturayı JSON model ile günceller.

RequestOutgoingInvoiceRequestModel
ResponseResponseModel<OutgoingInvoiceUpdateResponseModel>
POST/api/VbtApi/UpdateOutgoingInvoiceByUbl

Mevcut bir faturayı UBL Invoice XML ile günceller.

RequestInvoiceUblRequestModel
ResponseResponseModel<OutgoingInvoiceUpdateResponseModel>

İptal ve İtiraz

Ayrıntılı durum modeli: Bu iki endpointin durum akışı, GİB Portal senkronizasyonu ve yasal süreler için İptal ve İtiraz Durum Takibi sayfasına bakın.
POST/api/VbtApi/CancelOutgoingEArchiveInvoice

e-Arşiv Fatura'yı iptal eder.

RequestEArchiveCancelRequestModel
ResponseResponseModel<bool>
POST/api/VbtApi/CancelOutgoingEArchiveInvoiceByXml

XML gövdesiyle e-Arşiv Fatura iptali.

RequestXmlRequestModel
ResponseResponseModel<bool>
POST/api/VbtApi/ObjectOutgoingEArchiveInvoice

Alıcının TTK md. 18/3 kapsamında yaptığı itirazı kayda geçirir.

RequestDocumentObjectionRequestModel
ResponseResponseModel<bool>

Sorgulama & Görüntüleme

GET/api/VbtApi/GetOutgoingInvoice?id={ETTN}

ETTN ile tek bir faturanın detayını getirir.

Requestid — string, ETTN/GUID
ResponseResponseModel<OutgoingInvoiceResponseModel>
POST/api/VbtApi/GetOutgoingInvoiceList

Fatura özet listesini döner.

RequestSearchRequestModel<OutgoingInvoiceGetRequestModel>
ResponseResponseModel<SearchResponseModel<OutgoingInvoiceSummaryResponseModel>>
POST/api/VbtApi/GetOutgoingInvoiceView

Belgenin HTML görüntüsünü döner.

RequestInvoiceViewRequestModel
ResponseResponseModel<InvoiceViewResponseModel>

Alt Modeller

BillingReference

Mükerrer/iade ve ÖKC referansı bu model üzerinden taşınır (BillingReferenceRequestModel).

AlanTipAçıklama
InvoiceDocumentReferenceobjectMükerrer/iade — InvoiceTypeCode IADE/TEVKIFATIADE/YTBIADE/YTBTEVKIFATIADE ise zorunlu; DocumentTypeCode=IADE, Id tam 16 karakter olmalı, aynı istekte tekrarlanan Id mükerrer sayılır
AdditionalDocumentReferenceobjectÖKC fiş bilgisi — DocumentTypeCode=OKCBF ile tetiklenir; bu durumda DocumentType=OKCBilgiFisi, Id, IssueDate, DocumentDescription[], Attachment.ExternalReference (string), IssuerParty.EndpointId ve ValidityPeriod.StartDate (=IssueDate ile aynı gün) hepsi zorunlu

InternetPayment

İnternet satışı bilgisi (InternetPaymentRequestModel) — yalnızca JSON (AddOutgoingInvoice) veya platformun düz XML modeli (AddOutgoingInvoiceByXml) ile gönderilebilir; gerçek UBL Invoice belgesinde (AddOutgoingInvoiceByUbl) karşılığı yoktur (bkz. Request → UBL XML Mapping).

AlanTipAçıklama
WebAdresistringZorunlu, en az 2 karakter (INV0043/INV0263)
OdemeSeklistringGİB kod listesinde tanımlı olmalı (INV0168); ODEMEARACISI ise OdemeAracisiAdi, DIGER ise OdemeSekliAciklama ek zorunlu olur
OdemeTarihiDateTimeZorunlu (INV0038)
GonderiTasiyanVknTckn / GonderiTasiyanUnvanstringİkisi de zorunlu (INV0041/INV0040)
GonderimTarihiDateTimeZorunlu (INV0039)
GonderilenstringOpsiyonel

WithholdingTaxTotal

Tevkifat bilgisi — belge seviyesinde doldurulabilen bir dizidir; yalnızca InvoiceTypeCode TEVKIFAT/YTBTEVKIFAT/IADE/YTBIADE/SGK/SARJ/SARJANLIK olduğunda kabul edilir.

AlanTipAçıklama
TaxAmountdecimalToplam tevkifat tutarı
TaxSubtotal[].TaxableAmountdecimalTevkifata tabi matrah
TaxSubtotal[].PercentdecimalTevkifat oranı (%) — platformun tanımlı kod/oran eşleşmelerinden biri olmalı, aksi hâlde "Uyumsuz vergi tipi yüzdesi" hatası döner
TaxSubtotal[].TaxCategory.TaxScheme.TaxTypeCodestringTevkifat kodu (örn. 0003 GV STOPAJI)

TEKNOLOJIDESTEK

Yalnızca ProfileId=EARSIVFATURA ile birlikte geçerlidir. Alıcı PartyIdentifications içinde SchemeId=TCKN ile gönderilmeli; her InvoiceLine.Item.AdditionalItemIdentification, SchemeId'si TELEFON veya TABLET_PC olan en az bir kayıt içermelidir.

Enum Değerleri

API modellerinde kullanılan sabit değerler burada kısa bağlamıyla yer alır; ayrıntılı liste Teknik Referans sayfasındadır.

EnumBu rehberde geçerli değer
InvoiceProfileEARSIVFATURA
DocumentObjectionTypeKEP, NOTER, TELGRAF, TAAHHUTLU_MEKTUP
EArchiveMailStatus1=Mail Gönderilmedi, 2=Mail Gönderildi

Response — Belge Detay

GetOutgoingInvoice yanıtındaki (OutgoingInvoiceResponseModel) başlıca alanlar:

AlanTipAçıklama
EttnstringBelge ETTN'i
InvoiceNumberstringBelge no
ProfileIdstringEARSIVFATURA
EArchiveMailTostringe-Posta bildirim adresi (varsa)
PayableAmountdecimalÖdenecek tutar
Başarı kararı: Ekleme/güncelleme yanıtlarında başarı ResponseModel.Data.HasError=false üzerinden değerlendirilmelidir; HTTP çağrısının tamamlanmış olması yeterli değildir.

Başarılı oluşturma yanıtı

{
  "RefreshToken": "",
  "Data": {
    "HasError": false,
    "Errors": [],
    "InvoiceNumber": "FGH2026000000001",
    "Ettn": "7dc52246-5750-496e-8bf2-bd27bc0764dc",
    "PdfUrl": "https://.../FGH2026000000001.pdf",
    "XmlUrl": "https://.../FGH2026000000001.xml"
  }
}

Alıcı uygunluk hatası yanıtı

{
  "RefreshToken": "",
  "Data": {
    "HasError": true,
    "Errors": [
      { "ErrorCode": "INV0221", "ErrorMessage": "Alıcı bilgisindeki VKN GİB e-Fatura mükelleflerinde kayıtlı olduğundan e-Arşiv Fatura kesilemez." }
    ],
    "InvoiceNumber": null,
    "Ettn": null,
    "PdfUrl": null,
    "XmlUrl": null
  }
}