Giden Fatura
Giden Fatura Request Örnekleri
On profil ile iptal, itiraz ve sorgulama işlemleri için tam ve kopyalanabilir JSON örnekleri.
Senaryo Kapsamı
Miktar alanları ham sayı yerine { "UnitCode", "Value" } biçiminde nesne olarak gönderilir. Aşağıdaki her örnek, ilgili endpoint'e doğrudan gönderilebilen tam bir request gövdesidir.
Desteklenen 10 ProfileId değerinin her biri için tam, bağımsız ve doğrudan kopyalanabilir JSON request gövdesi verilmiştir. Her örnek ortak zorunlu alanlarla birlikte profile özgü alanları da içerir. EARSIVFATURA bu rehberin kapsamı dışındadır.
InvoiceExternalId kullanın.| Örnek | Profil | Ayırt Edici Nokta |
|---|---|---|
| 1 | TemelFatura (temsilci — Grup 1) | Tam gövde; tek kalem, KDV, ek koşul yok |
| 2 | Kamu | BuyerCustomerParty zorunlu, PaymentMeans.PayeeFinancialAccount IBAN + para birimi |
| 3 | HKS (Hal Kayıt Sistemi) | InvoiceLine.Item.AdditionalItemIdentification içinde 19 haneli KUNYENO |
| 4 | Enerji | InvoiceTypeCode yalnızca SARJ/SARJANLIK olabilir |
| 5 | İlaç/Tıbbi Cihaz | AdditionalItemIdentification.SchemeId = ILAC/TIBBICIHAZ/DIGER |
| 6 | Yatırım Teşvik | ContractDocumentReference içinde 6 haneli YTBNO, Item.CommodityClassification |
| 7 | İDİS | IdisSevkiyatNo ("SE-" + 7 hane) ve kalem bazlı ETIKETNO |
| 8 | TicariFatura (temsilci — Grup 2) | Tam gövde; ReceiverIdentifier ile alıcı etiketi doğrulaması |
| 9 | İhracat | Delivery.DeliveryTerms (INCOTERMS), ShipmentStage.TransportModeCode, GoodsItem.RequiredCustomsId (GTİP), DeliveryAddress, alıcı PARTYTYPE=EXPORT |
| 10 | Yolcu Beraberinde Eşya | Alıcı PARTYTYPE=TAXFREE, Person.IdentityDocumentReference (pasaport no) |
Her örnek ilgili profile referans verir.
| # | Profil | Grup |
|---|---|---|
| 1 | TemelFatura | 1 — Tek başına gönderilebilen |
| 2 | Kamu | 1 |
| 3 | HKS | 1 |
| 4 | Enerji | 1 |
| 5 | İlaç/Tıbbi Cihaz | 1 |
| 6 | Yatırım Teşvik | 1 |
| 7 | İDİS | 1 |
| 8 | TicariFatura | 2 — Taraflar arası ek bilgi taşıyan |
| 9 | İhracat | 2 |
| 10 | Yolcu Beraberinde Eşya | 2 |
Örnek 1: TemelFatura (temsilci örnek)
Grup 1'in temsilci örneği. Diğer tek-başına-gönderilebilen profiller (Kamu, HKS, Enerji, İlaç/Tıbbi Cihaz, Yatırım Teşvik, İDİS) bu gövdeyi temel alır; tam ve bağımsız request gövdeleri sonraki örneklerde gösterilir.
JSON örneğini görüntüle
Tek kalemli, KDV'li (TaxTypeCode=0015) bir SATIS tipi TemelFatura.
{
"InvoiceExternalId": "ERP-EF-2026-001",
"ProfileId": "TEMELFATURA",
"InvoiceTypeCode": "SATIS",
"DocumentCurrencyCode": "TRY",
"IssueDate": "2026-06-10T09:00:00",
"LineCountNumeric": 1,
"AccountingSupplierParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "1234567890"
}
],
"PartyName": "Örnek Ticaret A.Ş.",
"PostalAddress": {
"CityName": "İstanbul",
"Country": {
"Name": "Türkiye"
}
}
}
},
"AccountingCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "9876543210"
}
],
"PartyName": "Alıcı Firma Ltd. Şti."
}
},
"LegalMonetaryTotal": {
"LineExtensionAmount": 1000,
"TaxExclusiveAmount": 1000,
"TaxInclusiveAmount": 1200,
"PayableAmount": 1200
},
"TaxTotal": [
{
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
],
"InvoiceLine": [
{
"Id": "1",
"InvoicedQuantity": {
"UnitCode": "C62",
"Value": 10
},
"LineExtensionAmount": 1000,
"Item": {
"Name": "Danışmanlık Hizmeti"
},
"Price": 100,
"TaxTotal": {
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
}
]
}Örnek 2: Kamu
ProfileId değeri KAMU iken (veya alıcı bir kamu tüzel kişiliğiyse ve fatura TEMELFATURA gönderilse dahi) BuyerCustomerParty zorunlu hale gelir ve PaymentMeans.PayeeFinancialAccount geçerli bir Türkiye IBAN'ı ile para birimi içermelidir ).
Zorunlu alanları ve JSON örneğini görüntüle
Bu örnek ortak alanların tamamını taşır; profile özgü ekler BuyerCustomerParty ve PaymentMeans alanlarının eklenmesidir.
| Alan | Zorunluluk | Değer/Kural |
|---|---|---|
ProfileId | Z | KAMU (veya kamu alıcılı TEMELFATURA) |
BuyerCustomerParty | Z | VBT e-Fatura API sözleşmesinde zorunludur |
PaymentMeans[].PayeeFinancialAccount.Id | Z | Geçerli Türkiye IBAN'ı (regex ile doğrulanır) |
PaymentMeans[].PayeeFinancialAccount.CurrencyCode | Z | Boş bırakılamaz |
{
"InvoiceExternalId": "ERP-EF-2026-002",
"ProfileId": "KAMU",
"InvoiceTypeCode": "SATIS",
"DocumentCurrencyCode": "TRY",
"IssueDate": "2026-06-10T09:00:00",
"LineCountNumeric": 1,
"AccountingSupplierParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "1234567890"
}
],
"PartyName": "Örnek Ticaret A.Ş.",
"PostalAddress": {
"CityName": "İstanbul",
"Country": {
"Name": "Türkiye"
}
}
}
},
"AccountingCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "9876543210"
}
],
"PartyName": "Alıcı Firma Ltd. Şti."
}
},
"LegalMonetaryTotal": {
"LineExtensionAmount": 1000,
"TaxExclusiveAmount": 1000,
"TaxInclusiveAmount": 1200,
"PayableAmount": 1200
},
"TaxTotal": [
{
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
],
"InvoiceLine": [
{
"Id": "1",
"InvoicedQuantity": {
"UnitCode": "C62",
"Value": 10
},
"LineExtensionAmount": 1000,
"Item": {
"Name": "Danışmanlık Hizmeti"
},
"Price": 100,
"TaxTotal": {
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
}
],
"BuyerCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "9876543210"
}
],
"PartyName": "Alıcı Kamu Kurumu"
}
},
"PaymentMeans": [
{
"PayeeFinancialAccount": {
"Id": "TR330006100519786457841326",
"CurrencyCode": "TRY"
}
}
]
}Örnek 3: HKS (Hal Kayıt Sistemi)
ProfileId değeri HKS iken her InvoiceLine, SchemeId değeri KUNYENO olan ve değeri 19 karakter uzunluğunda bir AdditionalItemIdentification içermelidir ().
Zorunlu alanları ve JSON örneğini görüntüle
| Alan | Zorunluluk | Değer/Kural |
|---|---|---|
InvoiceLine[].Item.AdditionalItemIdentification[].SchemeId | Z | KUNYENO |
InvoiceLine[].Item.AdditionalItemIdentification[].Value | Z | Tam olarak 19 karakter |
{
"InvoiceExternalId": "ERP-EF-2026-003",
"ProfileId": "HKS",
"InvoiceTypeCode": "HKSSATIS",
"DocumentCurrencyCode": "TRY",
"IssueDate": "2026-06-10T09:00:00",
"LineCountNumeric": 1,
"AccountingSupplierParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "1234567890"
}
],
"PartyName": "Örnek Ticaret A.Ş.",
"PostalAddress": {
"CityName": "İstanbul",
"Country": {
"Name": "Türkiye"
}
}
}
},
"AccountingCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "9876543210"
}
],
"PartyName": "Alıcı Firma Ltd. Şti."
}
},
"LegalMonetaryTotal": {
"LineExtensionAmount": 1000,
"TaxExclusiveAmount": 1000,
"TaxInclusiveAmount": 1200,
"PayableAmount": 1200
},
"TaxTotal": [
{
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
],
"InvoiceLine": [
{
"Id": "1",
"InvoicedQuantity": {
"UnitCode": "KGM",
"Value": 500
},
"LineExtensionAmount": 1000,
"Item": {
"Name": "Domates",
"AdditionalItemIdentification": [
{
"SchemeId": "KUNYENO",
"Value": "1234567890123456789"
}
]
},
"Price": 2,
"TaxTotal": {
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
}
]
}Örnek 4: Enerji
ProfileId değeri ENERJI iken InvoiceTypeCode yalnızca SARJ veya SARJANLIK olabilir (.
Zorunlu alanları ve JSON örneğini görüntüle
| Alan | Zorunluluk | Değer/Kural |
|---|---|---|
ProfileId | Z | ENERJI |
InvoiceTypeCode | Z | SARJ veya SARJANLIK |
{
"InvoiceExternalId": "ERP-EF-2026-004",
"ProfileId": "ENERJI",
"InvoiceTypeCode": "SARJ",
"DocumentCurrencyCode": "TRY",
"IssueDate": "2026-06-10T09:00:00",
"LineCountNumeric": 1,
"AccountingSupplierParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "1234567890"
}
],
"PartyName": "Örnek Ticaret A.Ş.",
"PostalAddress": {
"CityName": "İstanbul",
"Country": {
"Name": "Türkiye"
}
}
}
},
"AccountingCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "9876543210"
}
],
"PartyName": "Alıcı Firma Ltd. Şti."
}
},
"LegalMonetaryTotal": {
"LineExtensionAmount": 1000,
"TaxExclusiveAmount": 1000,
"TaxInclusiveAmount": 1200,
"PayableAmount": 1200
},
"TaxTotal": [
{
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
],
"InvoiceLine": [
{
"Id": "1",
"InvoicedQuantity": {
"UnitCode": "C62",
"Value": 10
},
"LineExtensionAmount": 1000,
"Item": {
"Name": "Danışmanlık Hizmeti"
},
"Price": 100,
"TaxTotal": {
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
}
]
}Örnek 5: İlaç/Tıbbi Cihaz
ProfileId değeri ILAC_TIBBICIHAZ iken her InvoiceLine, SchemeId değeri ILAC, TIBBICIHAZ veya DIGER olan en az bir AdditionalItemIdentification içermelidir; ayrıca InvoiceTypeCode yalnızca SATIS, ISTISNA, TEVKIFAT, TEVKIFATIADE, IADE veya IHRACKAYITLI olabilir ( ve 1177-1193).
Zorunlu alanları ve JSON örneğini görüntüle
| Alan | Zorunluluk | Değer/Kural |
|---|---|---|
InvoiceLine[].Item.AdditionalItemIdentification[].SchemeId | Z | ILAC / TIBBICIHAZ / DIGER |
InvoiceTypeCode | Z | SATIS, ISTISNA, TEVKIFAT, TEVKIFATIADE, IADE, IHRACKAYITLI |
{
"InvoiceExternalId": "ERP-EF-2026-005",
"ProfileId": "ILAC_TIBBICIHAZ",
"InvoiceTypeCode": "SATIS",
"DocumentCurrencyCode": "TRY",
"IssueDate": "2026-06-10T09:00:00",
"LineCountNumeric": 1,
"AccountingSupplierParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "1234567890"
}
],
"PartyName": "Örnek Ticaret A.Ş.",
"PostalAddress": {
"CityName": "İstanbul",
"Country": {
"Name": "Türkiye"
}
}
}
},
"AccountingCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "9876543210"
}
],
"PartyName": "Alıcı Firma Ltd. Şti."
}
},
"LegalMonetaryTotal": {
"LineExtensionAmount": 1000,
"TaxExclusiveAmount": 1000,
"TaxInclusiveAmount": 1200,
"PayableAmount": 1200
},
"TaxTotal": [
{
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
],
"InvoiceLine": [
{
"Id": "1",
"InvoicedQuantity": {
"UnitCode": "C62",
"Value": 100
},
"LineExtensionAmount": 1000,
"Item": {
"Name": "Steril Enjektör",
"AdditionalItemIdentification": [
{
"SchemeId": "TIBBICIHAZ",
"Value": "TC-UTS-000123"
}
]
},
"Price": 10,
"TaxTotal": {
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
}
]
}Örnek 6: Yatırım Teşvik
ProfileId değeri YATIRIMTESVIK iken ContractDocumentReference içinde SchemeId=YTBNO olan, 6 haneli değer ve dolu IssueDate içeren kayıt zorunludur. Güncel GİB kılavuzuna göre InvoiceTypeCode yalnızca SATIS, ISTISNA veya IADE olmalıdır.
Zorunlu alanları ve JSON örneğini görüntüle
| Alan | Zorunluluk | Değer/Kural |
|---|---|---|
ContractDocumentReference[].SchemeId | Z | YTBNO |
ContractDocumentReference[].Id | Z | 6 haneli YTB numarası |
ContractDocumentReference[].IssueDate | Z | Boş bırakılamaz |
InvoiceLine[].Item.CommodityClassification[].Value | Ş | 01/02/03/04 — kod ile InvoiceTypeCode uyumu ayrıca kontrol edilir |
{
"InvoiceExternalId": "ERP-EF-2026-006",
"ProfileId": "YATIRIMTESVIK",
"InvoiceTypeCode": "SATIS",
"DocumentCurrencyCode": "TRY",
"IssueDate": "2026-06-10T09:00:00",
"LineCountNumeric": 1,
"AccountingSupplierParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "1234567890"
}
],
"PartyName": "Örnek Ticaret A.Ş.",
"PostalAddress": {
"CityName": "İstanbul",
"Country": {
"Name": "Türkiye"
}
}
}
},
"AccountingCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "9876543210"
}
],
"PartyName": "Alıcı Firma Ltd. Şti."
}
},
"LegalMonetaryTotal": {
"LineExtensionAmount": 1000,
"TaxExclusiveAmount": 1000,
"TaxInclusiveAmount": 1200,
"PayableAmount": 1200
},
"TaxTotal": [
{
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
],
"InvoiceLine": [
{
"Id": "1",
"InvoicedQuantity": {
"UnitCode": "C62",
"Value": 1
},
"LineExtensionAmount": 1000,
"Item": {
"Name": "CNC Torna Tezgahı",
"CommodityClassification": [
{
"Value": "01"
}
]
},
"Price": 1000,
"TaxTotal": {
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
}
],
"ContractDocumentReference": [
{
"SchemeId": "YTBNO",
"Id": "123456",
"IssueDate": "2026-01-15T00:00:00"
}
]
}Örnek 7: İDİS
ProfileId değeri IDIS iken IdisSevkiyatNo alanı "SE-" ön eki ve ardından 7 haneli sayı formatında olmalı; her InvoiceLine, SchemeId değeri ETIKETNO olan ve düzeni doğrulanan bir AdditionalItemIdentification içermelidir ().
Zorunlu alanları ve JSON örneğini görüntüle
| Alan | Zorunluluk | Değer/Kural |
|---|---|---|
IdisSevkiyatNo | Z | SE- + 7 haneli sayı |
InvoiceLine[].Item.AdditionalItemIdentification[].SchemeId | Z | ETIKETNO |
InvoiceLine[].Item.AdditionalItemIdentification[].Value | Z | İlk 2 karakter harf, sonraki 7 karakter rakam |
{
"InvoiceExternalId": "ERP-EF-2026-007",
"ProfileId": "IDIS",
"InvoiceTypeCode": "SATIS",
"DocumentCurrencyCode": "TRY",
"IssueDate": "2026-06-10T09:00:00",
"LineCountNumeric": 1,
"AccountingSupplierParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "1234567890"
}
],
"PartyName": "Örnek Ticaret A.Ş.",
"PostalAddress": {
"CityName": "İstanbul",
"Country": {
"Name": "Türkiye"
}
}
}
},
"AccountingCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "9876543210"
}
],
"PartyName": "Alıcı Firma Ltd. Şti."
}
},
"LegalMonetaryTotal": {
"LineExtensionAmount": 1000,
"TaxExclusiveAmount": 1000,
"TaxInclusiveAmount": 1200,
"PayableAmount": 1200
},
"TaxTotal": [
{
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
],
"InvoiceLine": [
{
"Id": "1",
"InvoicedQuantity": {
"UnitCode": "C62",
"Value": 10
},
"LineExtensionAmount": 1000,
"Item": {
"Name": "Karkas Et",
"AdditionalItemIdentification": [
{
"SchemeId": "ETIKETNO",
"Value": "AB1234567"
}
]
},
"Price": 100,
"TaxTotal": {
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
}
],
"IdisSevkiyatNo": "SE-1234567"
}Örnek 8: TicariFatura (temsilci örnek)
Grup 2'nin temsilci örneği. Request ortak alanların tamamını taşır; ProfileId değeri TICARIFATURA olduğunda ve ReceiverIdentifier (alıcı GİB etiketi) doldurulduğunda VBT bu etiketin ilgili mükellef için geçerli olup olmadığını GİB kullanıcı listesinden doğrular ( — TemelFatura, TicariFatura ve Kamu profilleri için geçerlidir).
JSON örneğini görüntüle
ProfileId değeri ve isteğe bağlı ReceiverIdentifier alanının eklenmesidir; kalem/vergi yapısı aynıdır.{
"InvoiceExternalId": "ERP-EF-2026-008",
"ProfileId": "TICARIFATURA",
"InvoiceTypeCode": "SATIS",
"DocumentCurrencyCode": "TRY",
"IssueDate": "2026-06-11T10:00:00",
"LineCountNumeric": 1,
"AccountingSupplierParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "1234567890"
}
],
"PartyName": "Örnek Ticaret A.Ş.",
"PostalAddress": {
"CityName": "İstanbul",
"Country": {
"Name": "Türkiye"
}
}
}
},
"AccountingCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "9876543210"
}
],
"PartyName": "Alıcı Firma Ltd. Şti."
}
},
"LegalMonetaryTotal": {
"LineExtensionAmount": 1000,
"TaxExclusiveAmount": 1000,
"TaxInclusiveAmount": 1200,
"PayableAmount": 1200
},
"TaxTotal": [
{
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
],
"InvoiceLine": [
{
"Id": "1",
"InvoicedQuantity": {
"UnitCode": "C62",
"Value": 10
},
"LineExtensionAmount": 1000,
"Item": {
"Name": "Danışmanlık Hizmeti"
},
"Price": 100,
"TaxTotal": {
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
}
],
"ReceiverIdentifier": "urn:mail:ornekfirma@vbt.com.tr"
}Örnek 9: İhracat
ProfileId değeri IHRACAT iken InvoiceTypeCode yalnızca ISTISNA olabilir; BuyerCustomerParty.Party.PartyIdentifications içinde SchemeId=PARTYTYPE, Value=EXPORT olan bir kayıt, PartyLegalEntity.RegistrationName, tedarikçi tarafında PartyTaxScheme.TaxScheme.Name, kalemlerde pozitif InvoicedQuantity, teslimat bilgilerinde (fatura ya da kalem seviyesinde) DeliveryTerms altında SchemeId=INCOTERMS olan bir Id ile Shipment.ShipmentStage.TransportModeCode, fatura veya kalem seviyesinde en az bir Delivery.DeliveryAddress, ve her kalemde Delivery.Shipment.GoodsItem.RequiredCustomsId (GTİP, 12 haneli numerik) zorunludur (, 1327-1500, 1502-1527, 1529-1558, 1603-1619).
Zorunlu alanları ve JSON örneğini görüntüle
| Alan | Zorunluluk | Değer/Kural |
|---|---|---|
InvoiceTypeCode | Z | ISTISNA |
BuyerCustomerParty.Party.PartyIdentifications[] | Z | SchemeId=PARTYTYPE, Value=EXPORT |
BuyerCustomerParty.Party.PartyLegalEntity[].RegistrationName | Z | Boş bırakılamaz |
AccountingSupplierParty.Party.PartyTaxScheme.TaxScheme.Name | Z | Boş bırakılamaz |
InvoiceLine[].InvoicedQuantity | Z | Dolu ve > 0 |
Delivery[].DeliveryTerms[].Id | Z | SchemeId=INCOTERMS — fatura veya kalem seviyesinde en az bir tanesinde |
Delivery[].Shipment.ShipmentStage[].TransportModeCode | Z | Fatura veya kalem seviyesinde en az bir tanesinde dolu olmalı |
Delivery[].DeliveryAddress | Z | Fatura veya kalem seviyesinde en az bir tanesinde dolu olmalı |
InvoiceLine[].Delivery[].Shipment.GoodsItem[].RequiredCustomsId | Z | GTİP kodu — 12 haneli, yalnızca rakam |
InvoiceTypeCode ISTISNA'ya sabitlenir; BuyerCustomerParty, PartyLegalEntity, PartyTaxScheme ve Delivery (adres, INCOTERMS, taşıma şekli, GTİP) alanları eklenir.{
"InvoiceExternalId": "ERP-EF-2026-009",
"ProfileId": "IHRACAT",
"InvoiceTypeCode": "ISTISNA",
"DocumentCurrencyCode": "TRY",
"IssueDate": "2026-06-10T09:00:00",
"LineCountNumeric": 1,
"AccountingSupplierParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "1234567890"
}
],
"PartyName": "Örnek İhracat A.Ş.",
"PostalAddress": {
"CityName": "İstanbul",
"Country": {
"Name": "Türkiye"
}
},
"PartyTaxScheme": {
"TaxScheme": {
"Name": "Kadıköy Vergi Dairesi"
}
}
}
},
"AccountingCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "9876543210"
}
],
"PartyName": "Alıcı Firma Ltd. Şti."
}
},
"LegalMonetaryTotal": {
"LineExtensionAmount": 1000,
"TaxExclusiveAmount": 1000,
"TaxInclusiveAmount": 1200,
"PayableAmount": 1200
},
"TaxTotal": [
{
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
],
"InvoiceLine": [
{
"Id": "1",
"InvoicedQuantity": {
"UnitCode": "KGM",
"Value": 1000
},
"LineExtensionAmount": 1000,
"Item": {
"Name": "Tekstil Ürünü"
},
"Price": 1,
"TaxTotal": {
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
},
"Delivery": [
{
"Shipment": {
"GoodsItem": [
{
"RequiredCustomsId": "610910000000"
}
]
}
}
]
}
],
"ReceiverIdentifier": "urn:mail:ihracatpk@gtb.gov.tr",
"BuyerCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "PARTYTYPE",
"Value": "EXPORT"
}
],
"PartyName": "Foreign Buyer GmbH",
"PartyLegalEntity": [
{
"RegistrationName": "Foreign Buyer GmbH"
}
]
}
},
"Delivery": [
{
"DeliveryAddress": {
"CityName": "İstanbul",
"Country": {
"Name": "Türkiye"
}
},
"DeliveryTerms": [
{
"Id": {
"SchemeId": "INCOTERMS",
"Value": "FOB"
}
}
],
"Shipment": {
"ShipmentStage": [
{
"TransportModeCode": "1"
}
]
}
}
]
}Örnek 10: Yolcu Beraberinde Eşya
ProfileId değeri YOLCUBERABERFATURA iken InvoiceTypeCode yalnızca ISTISNA olabilir; BuyerCustomerParty.Party.PartyIdentifications içinde SchemeId=PARTYTYPE, Value=TAXFREE olan bir kayıt bulunmalı ve aynı tarafın Person.IdentityDocumentReference.Id alanı (pasaport numarası) boş bırakılmamalıdır (, 1621-1650).
Zorunlu alanları ve JSON örneğini görüntüle
| Alan | Zorunluluk | Değer/Kural |
|---|---|---|
InvoiceTypeCode | Z | ISTISNA |
BuyerCustomerParty.Party.PartyIdentifications[] | Z | SchemeId=PARTYTYPE, Value=TAXFREE |
BuyerCustomerParty.Party.Person.IdentityDocumentReference.Id | Z | Pasaport numarası; boş bırakılamaz |
EXPORT/İhracat alanları yerine TAXFREE kimliği ve pasaport referansı kullanılır. Bu profil için zorunlu alanlar yukarıdaki tabloda verilen alıcı kimliği ve pasaport referansıdır.{
"InvoiceExternalId": "ERP-EF-2026-010",
"ProfileId": "YOLCUBERABERFATURA",
"InvoiceTypeCode": "ISTISNA",
"DocumentCurrencyCode": "TRY",
"IssueDate": "2026-06-10T09:00:00",
"LineCountNumeric": 1,
"AccountingSupplierParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "1234567890"
}
],
"PartyName": "Örnek Ticaret A.Ş.",
"PostalAddress": {
"CityName": "İstanbul",
"Country": {
"Name": "Türkiye"
}
}
}
},
"AccountingCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "VKN",
"Value": "9876543210"
}
],
"PartyName": "Alıcı Firma Ltd. Şti."
}
},
"LegalMonetaryTotal": {
"LineExtensionAmount": 1000,
"TaxExclusiveAmount": 1000,
"TaxInclusiveAmount": 1200,
"PayableAmount": 1200
},
"TaxTotal": [
{
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
],
"InvoiceLine": [
{
"Id": "1",
"InvoicedQuantity": {
"UnitCode": "C62",
"Value": 2
},
"LineExtensionAmount": 1000,
"Item": {
"Name": "El Yapımı Halı"
},
"Price": 500,
"TaxTotal": {
"TaxAmount": 200,
"TaxSubtotal": [
{
"TaxableAmount": 1000,
"TaxAmount": 200,
"Percent": 20,
"TaxCategory": {
"TaxScheme": {
"Name": "KDV",
"TaxTypeCode": "0015"
}
}
}
]
}
}
],
"ReceiverIdentifier": "urn:mail:yolcuberaberpk@gtb.gov.tr",
"BuyerCustomerParty": {
"Party": {
"PartyIdentifications": [
{
"SchemeId": "PARTYTYPE",
"Value": "TAXFREE"
}
],
"PartyName": "John Traveler",
"Person": {
"FirstName": "John",
"FamilyName": "Traveler",
"NationalityId": "DE",
"IdentityDocumentReference": {
"Id": "P1234567"
}
}
}
}
}Örnek 11: Giden Fatura İptali
İptal isteği yalnızca iptali desteklenen profiller için kullanılmalıdır. ETTN değeri, oluşturma yanıtından saklanan belge kimliğidir.
JSON örneğini görüntüle
{
"Ettn": "7f8c9726-5e6f-4dc4-a984-f3da76e2a912"
}
Örnek 12: Giden Fatura İtirazı
İtiraz belgesinin tarihi, numarası, yöntemi ve açıklaması ETTN ile birlikte gönderilir.
JSON örneğini görüntüle
{
"UUId": "7f8c9726-5e6f-4dc4-a984-f3da76e2a912",
"ObjectingDocumentDate": "2026-07-31T10:30:00",
"ObjectingDocumentNumber": "KEP-2026-000184",
"ObjectingType": "KEP",
"ObjectingDescription": "İtiraz bildirimi KEP üzerinden iletilmiştir."
}
Örnek 13: Giden Fatura Sorgulama
Liste sorgusu sayfalama bilgisiyle birlikte bir Query nesnesi taşır. Aşağıdaki örnek tarih aralığı ve profil filtresi uygular.
JSON örneğini görüntüle
{
"Skip": 0,
"Take": 20,
"OrderByName": "IssueDate",
"OrderByType": "Descending",
"Query": {
"IssueDate": {
"StartDate": "2026-07-01T00:00:00",
"EndDate": "2026-07-31T23:59:59"
},
"ProfileId": "TICARIFATURA"
}
}