e-Gider Pusulası

API

Request → UBL XML Mapping

Entegratörün gönderdiği JSON alanlarının UBL XML'deki karşılığını gösteren referans tablo.

Mapping Kapsamı

Request modeli, UBL 2.1 CreditNote XML'e doğrulama sağlayıcısı, alıcı/vekil bilgileri, iade referansı, kargo ve belge satırları üzerinden yansır.

Kısa kural: Entegratör iş kararlarını request alanlarıyla gönderir; platform bu alanları UBL XML node'larına ve GİB rapor alanlarına dönüştürür. Kargo şirketi bilgilerinin tamamlanacağı akışlarda entegratör yalnızca kargo şirketi kodunu gönderir.

Request Alanı → UBL XML Path

Mapping tablosu, request modelindeki iş kararlarının UBL XML'de hangi node'lara taşındığını izlenebilir hale getirir.

Request AlanıUBL XML PathAçıklama
Root Alanlar
UUIdcbc:UUIDEvrensel tekil belge kimliği
ExpenseVoucherNumbercbc:IDBelge numarası
ProfileIdcbc:ProfileIDSabit: GIDERPUSULASI
ExpenseVoucherTypeCodecbc:CreditNoteTypeCodeSATIS / IADE
DocumentCurrencyCodecbc:DocumentCurrencyCodeISO 4217 para birimi
IssueDatecbc:IssueDate + cbc:IssueTimeTarih ve saat ayrı olarak yazılır
Note[]cbc:Note (tekrarlanabilir)Genel açıklamalar
VerificationMethod → GİB doğrulama alanları
VerificationMethodContact/Name ve cbc:ChannelCode[@name]SMS → SMS/SMS_PROVIDER; IADEKODU → IADEKODU/IADE_PROVIDER
VerificationProvider → AccountingSupplierParty/Party/Contact/OtherCommunication
VerificationProvider.ApplicationNamecbc:ChannelCode[text()]Sağlayıcı uygulama adı
VerificationProvider.Vkncbc:ValueSağlayıcı VKN (10 hane)
AccountingCustomerParty → cac:AccountingCustomerParty/cac:Party
AccountingCustomerParty.Party.PartyIdentifications[].Valuecac:PartyIdentification/cbc:IDKimlik no (TCKN/Pasaport değeri)
AccountingCustomerParty.Party.PartyIdentifications[].SchemeIdcbc:ID/@schemeIDTCKN / PASAPORTNO
AccountingCustomerParty.Party.PartyNamecac:PartyName/cbc:NameAlıcı adı soyadı
VerificationInfo → ilgili tarafın Party/Contact alanı (normal işlemde AccountingCustomerParty; vekâleten iadede BuyerCustomerParty)
VerificationInfo.Codecbc:IDSMS veya iade kodu
VerificationInfo.Typecbc:NameSMS / IADEKODU
VerificationInfo.PhoneNumbercbc:Telephone0XXXXXXXXXX format
DelegateReceiver → cac:BuyerCustomerParty/cac:Party
DelegateReceiver.Identificationcac:PartyIdentification/cbc:ID[value]DelegateReceiver yalnız IADE'de kullanılabilir; SATIS'te reddedilir. Nesne gönderildiğinde Identification, IdentificationType (TCKN/PASAPORTNO) ve Name alanlarının üçü de zorunludur — kısmi doldurma kabul edilmez.
DelegateReceiver.IdentificationTypecbc:ID/@schemeID
DelegateReceiver.Namecac:Person/cbc:FirstName
ReturnedDocumentReference → cac:BillingReference/cac:InvoiceDocumentReference
ReturnedDocumentReference.DocumentTypecbc:ID/@schemeIDEARSIV_FATURA / SATIS_FISI / BELGESIZ
ReturnedDocumentReference.DocumentNumbercbc:ID[value]Belge numarası
ReturnedDocumentReference.IssueDatecbc:IssueDateyyyy-MM-dd
Kargo şirketi → cac:Delivery/cac:DeliveryParty
CargoCompanyCodecac:DeliveryParty/cac:PartyIdentification/cbc:ID[@schemeID="VKN"]JSON endpointleri: Entegratör yalnız CargoCompanyCode gönderir; platform kendi ürettiği UBL'de kargo şirketi bilgilerini tamamlar.

Hazır UBL endpointleri: Entegratör önce CargoCompanies/GetAll kaydını almalı; VKN, unvan, yetki belge numarası, şehir, ilçe ve ülke değerlerini değiştirmeden DeliveryParty içine yazmalıdır. Platform UBL'yi tamamlamaz veya değiştirmez; uyumsuz içeriği EGP0087 ile reddeder.
(DB: VKN)cbc:ID[value]
(DB: Title)cac:PartyName/cbc:Name
(DB: ClassificationCode)cbc:IndustryClassificationCode
(DB: CityName / CitySubdivisionName / CountryName)cac:PostalAddress/...
LegalMonetaryTotal → cac:LegalMonetaryTotal
LegalMonetaryTotal.PayableAmountcbc:PayableAmount[@currencyID]Ödenecek tutar
LegalMonetaryTotal.TaxExclusiveAmountcbc:TaxExclusiveAmount[@currencyID]Vergisiz toplam
LegalMonetaryTotal.TaxInclusiveAmountcbc:TaxInclusiveAmount[@currencyID]Vergili toplam
LegalMonetaryTotal.LineExtensionAmountcbc:LineExtensionAmount[@currencyID]Satır toplamı
TaxTotal[] → cac:TaxTotal
TaxTotal[].TaxAmountcbc:TaxAmount[@currencyID]Vergi tutarı
TaxTotal[].TaxSubtotal.TaxableAmountcac:TaxSubtotal/cbc:TaxableAmountMatrah
TaxTotal[].TaxSubtotal.CalculationSequenceNumericcbc:CalculationSequenceNumericHesaplama sırası (birden fazla vergi kalemi olduğunda)
TaxTotal[].TaxSubtotal.TransactionCurrencyTaxAmountcbc:TransactionCurrencyTaxAmountİşlem para birimindeki vergi tutarı
TaxTotal[].TaxSubtotal.PerUnitAmountcbc:PerUnitAmountBirim başına vergi tutarı
TaxTotal[].TaxSubtotal.TaxCategory.TaxScheme.TaxTypeCodecac:TaxScheme/cbc:TaxTypeCodeVergi kodu (0015 KDV, 0003 GV Stopajı vb.)
TaxTotal[].TaxSubtotal.TaxCategory.TaxScheme.Namecac:TaxScheme/cbc:NameVergi adı (örn. "KDV GERCEK", "GV STOPAJI")
TaxTotal[].TaxSubtotal.Percentcbc:PercentVergi oranı (%)
ExpenseVoucherLine[] → cac:CreditNoteLine
ExpenseVoucherLine[].LineIdcbc:IDSatır no (1'den başlar)
ExpenseVoucherLine[].Quantity / UnitCodecbc:CreditedQuantity[@unitCode]Miktar + birim
ExpenseVoucherLine[].LineExtensionAmountcbc:LineExtensionAmount[@currencyID]Satır toplamı
ExpenseVoucherLine[].Item.Namecac:Item/cbc:NameÜrün/hizmet adı
ExpenseVoucherLine[].Price.PriceAmountcac:Price/cbc:PriceAmount[@currencyID]Birim fiyat
Entegratör sorumluluğu: Hazır UBL endpointlerinde gönderilmesi gereken alanlar, Add/Update özel durumları ve başarılı/başarısız örnekler Entegratör Sorumlulukları sayfasında yer alır. Bu sayfadaki tablo, request alanlarının UBL path karşılıkları için kanonik referanstır.

Uygulama Notları

Mapping notları, platformun otomatik tamamladığı alanlar ile entegratörün göndermesi gereken alanlar arasındaki sınırı netleştirir.

Vekâletli UBL uyarısı: Vekâleten yapılan iadelerde doğrulama bilgisinin gönderileceği Contact konumu değişir. Asıl alıcı AccountingCustomerParty içinde korunmalı; vekil ve doğrulama bilgileri BuyerCustomerParty altında gönderilmelidir. Tam kural ve XML örneği için Entegratör Sorumlulukları bölümünü inceleyin.
Note[] hakkında: Platform, entegratörün gönderdiği listeye kendi ürettiği bir cbc:Note ekler (tutarın yazıyla karşılığı). Bu nedenle UBL çıktısındaki Note sayısı, request'te gönderilenden bir fazla olabilir.