Teknik Temel
GİB Referansı
GİB paketi, kullanım yöntemi, teknik gereksinimler ve resmi kaynaklar.
GİB Paketi
GİB'in yayımladığı teknik kılavuz; UBL-TR 1.2.1 şema tanımlarını, e-Müstahsil Makbuzu'na özgü CreditNoteTypeCode/ProfileID değerlerini ve örnek XML yapısını içerir.
Kullanım Yöntemi
e-Fatura uygulamasına dahil olan mükellefler, e-Müstahsil Makbuzu sistemini GİB tarafından yetkilendirilmiş Özel Entegratörler aracılığıyla kullanabilir. VBT Yazılım bu süreçte Özel Entegratör konumundadır.
Teknik Gereksinimler
Teknik gereksinimler, UBL üretimi ile GİB raporlamasının aynı veri setinden tutarlı şekilde beslenmesini sağlar.
UBL Belge Standardı
e-Müstahsil Makbuzu UBL 2.1 CreditNote doküman tipi üzerinden ifade edilir; üretilen XML'de aşağıdaki sabit sürüm ve belge kimliği bilgileri kullanılır:
| Alan | Değer |
|---|---|
UBLVersionID | 2.1 |
CustomizationID | TR1.2.1 |
ProfileID | EARSIVBELGE |
CreditNoteTypeCode | MUSTAHSILMAKBUZ |
CreditNote tipidir; belgeyi Müstahsil yapan ayırt edici alan CreditNoteTypeCode=MUSTAHSILMAKBUZ değeridir.Taraf Kimlik Tipleri
UBL-TR'nin PartyIdentification şema kodları bu belgede şu şekilde kullanılır:
| Taraf | SchemeId | Açıklama |
|---|---|---|
Çiftçi (AccountingSupplierParty) | TCKN | Gerçek kişi kimlik numarası |
Alıcı firma (AccountingCustomerParty) | VKN | Tüzel kişi vergi kimlik numarası |
TCKN, alıcı firma tarafı tüzel kişi olarak VKN taşır. Bu ayrım, UBL taraf rolleri ile GİB raporundaki kimlik alanlarının aynı çizgide kalmasını sağlar.Vergi ve Kesinti Kodları
e-Müstahsil Makbuzu'nda vergi ve kesinti kalemleri UBL TaxTotal/TaxSubtotal yapısıyla taşınabilir. Platformun barkod ve Excel dönüşüm akışında GV stopajı, borsa tescil, SGK prim ve mera fonu tutarları bu kodlar üzerinden ayrıştırılır.
| TaxTypeCode | Name | Kapsam |
|---|---|---|
0003 | GV STOPAJI | Gelir vergisi stopajı |
8001 | BORSA TES.ÜC. | Borsa tescil kesintisi |
SGK_PRIM | SGK PRIM KESINTISI | SGK prim kesintisi |
9040 | MERA FONU | Mera fonu kesintisi |
Senaryo Bazlı Alan Kapsamı
Kesinti türü değiştiğinde belge iskeleti aynı kalır; zorunlu alan farkı, ilgili tutarın TaxTotal.TaxSubtotal veya WithholdingTaxTotal altında kod bazında taşınmasından doğar.
| Senaryo | Zorunlu UBL Alanı | Kod/Ad | GİB Rapor Karşılığı | Net Tutar Etkisi |
|---|---|---|---|---|
| Normal oluşturma | CreditNoteLine, LegalMonetaryTotal | Ek kesinti kodu yok | vergiBilgisi.vergi[] temel vergi bilgileriyle kapanır | PayableAmount satır toplamlarıyla uyumludur |
| GV stopajı | TaxTotal.TaxSubtotal | 0003 / GV STOPAJI | vergiBilgisi.vergi[] içinde kod bazında izlenir | Stopaj tutarı net ödenecek tutara yansır |
| Borsa tescil | TaxTotal.TaxSubtotal | 8001 / BORSA TES.ÜC. | vergiBilgisi.vergi[] içinde ayrı satır olarak izlenir | Kesinti tutarı net ödenecek tutara yansır |
| SGK prim | TaxTotal.TaxSubtotal | SGK_PRIM / SGK PRIM KESINTISI | vergiBilgisi.vergi[] içinde ayrı satır olarak izlenir | Kesinti tutarı net ödenecek tutara yansır |
| Mera fonu | TaxTotal.TaxSubtotal | 9040 / MERA FONU | vergiBilgisi.vergi[] içinde ayrı satır olarak izlenir | Kesinti tutarı net ödenecek tutara yansır |
| Çoklu kesinti | TaxTotal.TaxSubtotal[] | Her kesinti için ayrı kod satırı | vergiBilgisi.vergi[] her kodu ayrı taşır | TaxTotal.TaxAmount alt satırların toplamıyla uyumlu olmalıdır |
| Tevkifat | WithholdingTaxTotal | Tevkifat kodu ve oranı | vergiBilgisi.tevkifat[] | Aynı ekonomik tutar TaxTotal altında tekrar düşülmemelidir |
Tevkifat (Withholding Tax)
UBL şemasındaki WithholdingTaxTotal alanı, belge ve satır seviyesinde ayrıca tevkifat bilgisi taşınması gereken durumlarda kullanılır. Bu alan doldurulduğunda toplamlar, LegalMonetaryTotal/PayableAmount değerindeki net ödenecek tutarla uyumlu kalmalıdır.
TaxTotal altında, tevkifat ise WithholdingTaxTotal altında taşındığında aynı ekonomik tutar iki kez düşülmemelidir; PayableAmount tek net sonucu göstermelidir.Belge Toplamları
Belge toplamları, ürün satırları, vergi/kesinti alt toplamları ve varsa tevkifat alanlarının tek net ödenecek tutara bağlandığı noktadır. Brüt tutar ile ödenecek tutar arasındaki fark, request içinde taşınan kesinti ve tevkifat toplamlarıyla uyumlu olmalıdır.
GİB Rapor Alanları
Belge imzalandıktan sonra GİB'e iletilen e-Arşiv raporunda, e-Müstahsil Makbuzu'na özgü eArsivRaporuMustahsilMakbuz elemanı şu alanları taşır:
| Alan | Açıklama | |
|---|---|---|
makbuzNo | Z | Belge no |
ozetDeger | Z | İmza hash |
duzenlenmeTarihi + duzenlenmeZamani | Z | Tarih/saat |
paraBirimi | Z | ISO 4217 |
toplamTutar / odenecekTutar | Z | Tutarlar |
vergiBilgisi.vergi[] | Z | matrah + vergiKodu + vergiOrani + vergiTutari; kesinti kodları bu listede kod bazında izlenebilir |
vergiBilgisi.tevkifat[] | Ş | Tevkifat kullanılan işlemlerde: tevkifatKodu + tevkifatOrani + tevkifatTutari |
mustahsilBilgileri | Z | gercekKisi (adiSoyadi + tckn) veya tuzelKisi (unvan + vkn) |
mustahsilMakbuzUrl / imzaZamani | Z | — |
İptal Raporu
İptal edilen bir makbuz için GİB raporuna ayrı bir eArsivRaporuMustahsilMakbuzIptal elemanı eklenir:
Resmi Kaynaklar
Resmi kaynaklar, teknik yorumun dayandığı GİB paketini, kılavuzları ve mevzuat bağlantılarını birlikte takip etmeyi sağlar.
| Kaynak | URL |
|---|---|
| e-Müstahsil Makbuzu Teknik Kılavuzu V1.1 (PDF) | e-Mustahsil_Makbuzu_Teknik_Kilavuzu_V1.1.pdf |
| GİB Duyurular Sayfası | ebelge.gib.gov.tr/duyurular.html |
| UBL-TR 1.2.1 Paketi | UBL-TR1.2.1_Paketi.zip |
| VUK 509 Sıra No.lu Genel Tebliğ | Resmi Gazete |