Örnekler
Request Örnekleri
Normal satış, internet satışı, ÖKC, tevkifat ve iptal/itiraz senaryoları için kullanılabilir JSON örnekleri.
Senaryo Kapsamı
Aşağıdaki örnekler AddOutgoingInvoice (OutgoingInvoiceRequestModel : InvoiceRequestModel) gövdesine dayanır ve Core/Vbt.Core.Ubl/DocumentRequestModel/ altındaki gerçek model sınıflarından (PartyRequestModel, InvoiceLineRequestModel, QuantityRequestModel, ItemRequestModel vb.) doğrulanmıştır. Her örnek eksiksiz bir gövdedir; alan adları ve iç içe yapı birebir kod tabanındaki property adlarını kullanır.
InvoicedQuantity ve LegalMonetaryTotal içindeki tutarlar dışında, miktar alanı ham bir sayı değil { "UnitCode": "...", "Value": ... } şeklinde bir nesnedir (QuantityRequestModel). Bu, ilk sürümde hatalı gösterilmişti; aşağıdaki örnekler düzeltilmiş halidir.Örnek 1 — Normal Satış
Ek alan gerektirmeyen temel e-Arşiv Fatura akışı; alıcı GİB e-Fatura mükellefi değildir.
JSON örneğini görüntüle
Tek kalemli, KDV'li standart bir satış.
{
"ProfileId": "EARSIVFATURA",
"InvoiceExternalId": "ERP-2026-000145",
"IssueDate": "2026-03-15T14:30:00",
"DocumentCurrencyCode": "TRY",
"AccountingSupplierParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "1234567890"
}
],
"PartyName": "Satıcı Ticaret A.Ş."
}
},
"AccountingCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "TCKN",
"Value": "12345678901"
}
],
"PartyName": "Alıcı Adı Soyadı"
}
},
"InvoiceLine": [
{
"Id": "1",
"InvoicedQuantity": {
"UnitCode": "C62",
"Value": 2
},
"Price": 50,
"LineExtensionAmount": 100,
"Item": {
"Name": "Kırtasiye Malzemesi"
}
}
],
"TaxTotal": [
{
"TaxAmount": 18,
"TaxSubtotal": [
{
"TaxableAmount": 100,
"TaxAmount": 18,
"Percent": 18,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
],
"LegalMonetaryTotal": {
"LineExtensionAmount": 100,
"TaxExclusiveAmount": 100,
"TaxInclusiveAmount": 118,
"PayableAmount": 118
}
}Örnek 2 — İnternet Satışı
Ortak alanlara (taraflar, satırlar, toplamlar — Örnek 1'deki gibi) ek olarak InternetPayment ve zorunlu Note ibaresi eklenir.
JSON örneğini görüntüle
Mal ve hizmetlerin sipariş/satın alma sürecinin tamamı internet üzerinden yapıldığı satış.
{
"ProfileId": "EARSIVFATURA",
"InvoiceExternalId": "ERP-2026-000146",
"IssueDate": "2026-03-15T10:00:00",
"DocumentCurrencyCode": "TRY",
"AccountingSupplierParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "1234567890"
}
],
"PartyName": "Satıcı Ticaret A.Ş."
}
},
"AccountingCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "TCKN",
"Value": "12345678901"
}
],
"PartyName": "Alıcı Adı Soyadı"
}
},
"InvoiceLine": [
{
"Id": "1",
"InvoicedQuantity": {
"UnitCode": "C62",
"Value": 2
},
"Price": 50,
"LineExtensionAmount": 100,
"Item": {
"Name": "Kırtasiye Malzemesi"
}
}
],
"TaxTotal": [
{
"TaxAmount": 18,
"TaxSubtotal": [
{
"TaxableAmount": 100,
"TaxAmount": 18,
"Percent": 18,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
],
"LegalMonetaryTotal": {
"LineExtensionAmount": 100,
"TaxExclusiveAmount": 100,
"TaxInclusiveAmount": 118,
"PayableAmount": 118
},
"Note": [
"Bu satış internet üzerinden yapılmıştır."
],
"InternetPayment": {
"WebAdresi": "https://magaza.example.com",
"OdemeSekli": "KREDIKARTI",
"OdemeTarihi": "2026-03-14T00:00:00",
"GonderiTasiyanVknTckn": "1234567890",
"GonderiTasiyanUnvan": "Kargo Firması A.Ş.",
"GonderimTarihi": "2026-03-16T00:00:00",
"Gonderilen": "Alıcı Adı Soyadı"
}
}OdemeSekli=ODEMEARACISI ise OdemeAracisiAdi, OdemeSekli=DIGER ise OdemeSekliAciklama ayrıca zorunlu hâle gelir (INV0036/INV0037). OdemeSekli değeri GİB kod listesinde tanımlı olmalıdır (INV0168).Örnek 3 — ÖKC ile Birlikte
ÖKC doğrulaması DocumentTypeCode=OKCBF ile tetiklenir; bu durumda aşağıdaki tüm alt alanlar zorunludur (bkz. Teknik Referans — Validasyon Referansları).
JSON örneğini görüntüle
Yeni nesil ÖKC'den düzenlenen fiş bilgisinin fatura ile birlikte gönderilmesi.
{
"ProfileId": "EARSIVFATURA",
"InvoiceExternalId": "ERP-2026-000147",
"IssueDate": "2026-03-15T00:00:00",
"DocumentCurrencyCode": "TRY",
"AccountingSupplierParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "1234567890"
}
],
"PartyName": "Satıcı Ticaret A.Ş."
}
},
"AccountingCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "TCKN",
"Value": "12345678901"
}
],
"PartyName": "Alıcı Adı Soyadı"
}
},
"InvoiceLine": [
{
"Id": "1",
"InvoicedQuantity": {
"UnitCode": "C62",
"Value": 2
},
"Price": 50,
"LineExtensionAmount": 100,
"Item": {
"Name": "Kırtasiye Malzemesi"
}
}
],
"TaxTotal": [
{
"TaxAmount": 18,
"TaxSubtotal": [
{
"TaxableAmount": 100,
"TaxAmount": 18,
"Percent": 18,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
],
"LegalMonetaryTotal": {
"LineExtensionAmount": 100,
"TaxExclusiveAmount": 100,
"TaxInclusiveAmount": 118,
"PayableAmount": 118
},
"BillingReference": [
{
"AdditionalDocumentReference": {
"Id": "OKC0000123",
"DocumentTypeCode": "OKCBF",
"DocumentType": "OKCBilgiFisi",
"IssueDate": "2026-03-15T00:00:00",
"DocumentDescription": [
"Yeni nesil ÖKC fiş bilgisi"
],
"Attachment": {
"ExternalReference": "https://okc.example.com/fis/OKC0000123"
},
"IssuerParty": {
"EndpointId": "1234567890"
},
"ValidityPeriod": {
"StartDate": "2026-03-15T00:00:00"
}
}
}
]
}DocumentType alanı literal olarak OKCBilgiFisi olmalıdır; ayrıca ValidityPeriod.StartDate, IssueDate ile aynı takvim gününde olmalıdır — aksi hâlde "SCHEME" koduyla reddedilir (bkz. Teknik Referans — Katman A).Örnek 4 — Tevkifatlı
WithholdingTaxTotal yalnızca InvoiceTypeCode TEVKIFAT/YTBTEVKIFAT/IADE/YTBIADE/SGK/SARJ/SARJANLIK olduğunda kabul edilir.
JSON örneğini görüntüle
GV stopajı tevkifatı içeren bir fatura.
{
"ProfileId": "EARSIVFATURA",
"InvoiceExternalId": "ERP-2026-000148",
"IssueDate": "2026-03-15T00:00:00",
"DocumentCurrencyCode": "TRY",
"AccountingSupplierParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "1234567890"
}
],
"PartyName": "Satıcı Ticaret A.Ş."
}
},
"AccountingCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "TCKN",
"Value": "12345678901"
}
],
"PartyName": "Alıcı Adı Soyadı"
}
},
"InvoiceLine": [
{
"Id": "1",
"InvoicedQuantity": {
"UnitCode": "C62",
"Value": 2
},
"Price": 50,
"LineExtensionAmount": 100,
"Item": {
"Name": "Kırtasiye Malzemesi"
}
}
],
"TaxTotal": [
{
"TaxAmount": 18,
"TaxSubtotal": [
{
"TaxableAmount": 100,
"TaxAmount": 18,
"Percent": 18,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
],
"LegalMonetaryTotal": {
"LineExtensionAmount": 100,
"TaxExclusiveAmount": 100,
"TaxInclusiveAmount": 118,
"PayableAmount": 118
},
"InvoiceTypeCode": "TEVKIFAT",
"WithholdingTaxTotal": [
{
"TaxAmount": 20,
"TaxSubtotal": [
{
"TaxableAmount": 200,
"TaxAmount": 20,
"Percent": 10,
"TaxCategory": {
"TaxScheme": {
"Name": "GV STOPAJI",
"TaxTypeCode": "0003"
}
}
}
]
}
]
}TaxSubtotal.TaxCategory.TaxScheme.TaxTypeCode ve Percent ikilisi platformun (parametre tablosundan gelen) tanımlı tevkifat kod/oran eşleşmelerinden biri olmalıdır; eşleşmeyen bir kombinasyon "Uyumsuz vergi tipi yüzdesi" mesajıyla reddedilir.Örnek 5 — Mükerrer/İade Referanslı
InvoiceTypeCode=IADE olduğunda referans verilen orijinal faturanın numarası tam 16 karakter olmalıdır.
JSON örneğini görüntüle
Önceki bir faturaya iade referansı veren belge.
{
"ProfileId": "EARSIVFATURA",
"InvoiceExternalId": "ERP-2026-000149",
"IssueDate": "2026-03-20T00:00:00",
"DocumentCurrencyCode": "TRY",
"AccountingSupplierParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "1234567890"
}
],
"PartyName": "Satıcı Ticaret A.Ş."
}
},
"AccountingCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "TCKN",
"Value": "12345678901"
}
],
"PartyName": "Alıcı Adı Soyadı"
}
},
"InvoiceLine": [
{
"Id": "1",
"InvoicedQuantity": {
"UnitCode": "C62",
"Value": 2
},
"Price": 50,
"LineExtensionAmount": 100,
"Item": {
"Name": "Kırtasiye Malzemesi"
}
}
],
"TaxTotal": [
{
"TaxAmount": 18,
"TaxSubtotal": [
{
"TaxableAmount": 100,
"TaxAmount": 18,
"Percent": 18,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
],
"LegalMonetaryTotal": {
"LineExtensionAmount": 100,
"TaxExclusiveAmount": 100,
"TaxInclusiveAmount": 118,
"PayableAmount": 118
},
"InvoiceTypeCode": "IADE",
"BillingReference": [
{
"InvoiceDocumentReference": {
"Id": "FGH2026000000001",
"DocumentTypeCode": "IADE",
"IssueDate": "2026-03-10T00:00:00"
}
}
]
}Id alanı tam olarak 16 karakter olmalıdır (örn. FGH2026000000001); aksi hâlde "16 haneli olmalıdır" mesajıyla reddedilir. Aynı istekte birden fazla satır aynı Id'yi referans veriyorsa "mükerrer" hatası döner.Örnek 6 — İptal
CancelOutgoingEArchiveInvoice (EArchiveCancelRequestModel) gövdesi.
JSON örneğini görüntüle
Mükerrer belge nedeniyle iptal.
{
"Ettn": "7DC52246-5750-496E-8BF2-BD27BC0764DC",
"InvoiceNumber": "FGH2026000000001",
"EArchiveStatus": 2,
"EArchiveCancelDescription": "Mükerrer belge"
}Örnek 7 — İtiraz Bildirimi
ObjectOutgoingEArchiveInvoice (DocumentObjectionRequestModel) gövdesi — alıcının TTK md. 18/3 kapsamında zaten yaptığı itirazın kayda geçirilmesi.
JSON örneğini görüntüle
KEP yoluyla yapılan itirazın bildirimi.
{
"UUId": "7DC52246-5750-496E-8BF2-BD27BC0764DC",
"ObjectingType": "KEP",
"ObjectingDocumentNumber": "itirazBelgeNo0",
"ObjectingDocumentDate": "2026-03-22",
"ObjectingDescription": "Mal iade edildi"
}