e-Müstahsil Makbuzu

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 çiftçi/alıcı tarafları, ürün kalemleri, belge toplamları, vergi/kesinti toplamları ve tevkifat alanları üzerinden yansır.

Kısa kural: Request tarafındaki ekonomik veri CreditNoteLine, TaxTotal, WithholdingTaxTotal ve LegalMonetaryTotal alanlarında; kimlik verisi ise AccountingSupplierParty ve AccountingCustomerParty altında UBL'e yansır. Müstahsil kesinti kodları TaxTotal.TaxSubtotal içinde de izlenebilir.

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:UUIDETTN — evrensel tekil belge kimliği
CreditNoteNumbercbc:IDBelge numarası (16 karakter)
ProfileIdcbc:ProfileIDSabit: EARSIVBELGE
CreditNoteTypeCodecbc:CreditNoteTypeCodeSabit: MUSTAHSILMAKBUZ
DocumentCurrencyCodecbc:DocumentCurrencyCodeISO 4217 para birimi
IssueDatecbc:IssueDate + cbc:IssueTimeTarih ve saat ayrı yazılır
Note[]cbc:Note (tekrarlanabilir)Genel açıklamalar
Taraflar
AccountingSupplierPartycac:AccountingSupplierParty/cac:PartyÇiftçi (tedarikçi); SchemeId=TCKN
AccountingCustomerPartycac:AccountingCustomerParty/cac:PartyAlıcı firma; SchemeId=VKN
LegalMonetaryTotal → cac:LegalMonetaryTotal
LegalMonetaryTotal.LineExtensionAmountcbc:LineExtensionAmount[@currencyID]Satır toplamı
LegalMonetaryTotal.TaxExclusiveAmountcbc:TaxExclusiveAmount[@currencyID]KDV hariç tutar
LegalMonetaryTotal.TaxInclusiveAmountcbc:TaxInclusiveAmount[@currencyID]KDV dahil tutar
LegalMonetaryTotal.PayableAmountcbc:PayableAmount[@currencyID]Ödenecek tutar (kesinti/tevkifat etkisi yansıtılmış)
TaxTotal[] → cac:TaxTotal
TaxTotal[].TaxAmountcbc:TaxAmount[@currencyID]Vergi/kesinti toplam tutarı
TaxTotal[].TaxSubtotal.TaxableAmountcac:TaxSubtotal/cbc:TaxableAmountMatrah
TaxTotal[].TaxSubtotal.Percentcbc:PercentKDV oranı (%)
TaxTotal[].TaxSubtotal.TaxCategory.TaxScheme.TaxTypeCodecac:TaxScheme/cbc:TaxTypeCodeVergi/kesinti kodu: 0015, 0003, 8001, SGK_PRIM, 9040
TaxTotal[].TaxSubtotal.TaxCategory.TaxScheme.Namecac:TaxScheme/cbc:NameKesinti adı: GV STOPAJI, BORSA TES.ÜC., SGK PRIM KESINTISI, MERA FONU
WithholdingTaxTotal[] → cac:WithholdingTaxTotal
WithholdingTaxTotal[].TaxAmountcbc:TaxAmount[@currencyID]Tevkifat tutarı
WithholdingTaxTotal[].TaxSubtotal.Percentcbc:PercentTevkifat oranı (%)
WithholdingTaxTotal[].TaxSubtotal.TaxCategory.TaxScheme.TaxTypeCodecac:TaxScheme/cbc:TaxTypeCodeTevkifat kodu; GV stopajı için 0003
CreditNoteLine[] → cac:CreditNoteLine
CreditNoteLine[].Idcbc:IDSatır no (1'den başlar)
CreditNoteLine[].CreditedQuantity / UnitCodecbc:CreditedQuantity[@unitCode]Miktar + birim
CreditNoteLine[].LineExtensionAmountcbc:LineExtensionAmount[@currencyID]Satır toplamı
CreditNoteLine[].Item.Namecac:Item/cbc:NameÜrün adı
CreditNoteLine[].Pricecac:Price/cbc:PriceAmount[@currencyID]Birim fiyat
CreditNoteLine[].TaxTotalcac:TaxTotal (satır altında)Satır seviyesi vergi/kesinti alt toplamları
CreditNoteLine[].WithholdingTaxTotalcac:WithholdingTaxTotal (satır altında)Satır seviyesi tevkifat (varsa)

Uygulama Notları

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

KonuKontrolSonuç
Taraf kimliğiÇiftçi TCKN, alıcı firma VKN ile gönderilirUBL taraf rolleri ve GİB raporu aynı kimliği kullanır
Vergi/kesinti kodlarıTaxTotal.TaxSubtotal içinde 0003, 8001, SGK_PRIM, 9040 kodları gerektiği kadar taşınırBarkod ve rapor üretimi kesinti tutarlarını kod bazında okuyabilir
TevkifatWithholdingTaxTotal belge ve satır seviyesinde uyumlu hesaplanırGİB raporundaki tevkifat alanları beslenir
Satır kalemleriHer ürün ayrı CreditNoteLine olarak yazılırÇok kalemli makbuzlarda her ürün kendi miktar/fiyat bilgisini taşır
Sabit değerlerProfileID=EARSIVBELGE, CreditNoteTypeCode=MUSTAHSILMAKBUZBelgenin GİB tarafında e-Müstahsil Makbuzu olarak sınıflanmasını sağlar