e-Müstahsil Makbuzu

Uygulama

Platform Sorumlulukları

Platformun otomatik işlemleri, validasyon kuralları, hata yanıtları ve iptal ön koşulları.

Otomatik İşlemler

Platform, entegratörün gönderdiği request'i doğruladıktan sonra e-Müstahsil Makbuzu'na özgü UBL XML üretimi, imza kuyruğu, GİB raporu ve belge görüntüleme adımlarını yönetir. Entegratör belge içeriğini sağlar; platform teknik yaşam döngüsünü işletir.

#İşlemAçıklama
1ValidasyonAlan zorunluluk, format, kombinasyon kontrolleri
2UBL XML ÜretimiUBL 2.1 CreditNote standardında XML
3Numara/UUID AtamaEntegratör göndermezse otomatik
4İmzalamaya HazırlamaCreditNoteAndXmlCreated durumuna kaydedilir
5e-İmzalamaBelge imzalama akışına alınır; işlem tamamlandığında durum Signed'e geçer.
6DB KayıtKalıcı saklama
7GİB RaporPeriyodik toplu XML
8GİB GönderimRapor iletimi + yanıt işleme
9İptal RaporuSonraki döngüde bildirim
10PDFYazdırılabilir çıktı
11E-postaBildirim (yapılandırıldıysa)

Validasyon Kuralları

Validasyonlar, e-Müstahsil Makbuzu request'inin teknik olarak üretilebilir ve GİB raporuna taşınabilir olmasını kontrol eder; ana odak çiftçi/alıcı tarafları, ürün kalemleri ve stopaj hesaplarıdır.

KontrolKodAçıklama
CreditNoteExternalId doluEMM0020Her belgede zorunlu
CreditNoteExternalId tekilEMM0028Mükerrer engeli
UUId geçerli GUIDCOM0017Gönderilirse format kontrolü
UUId tekilEMM0035Mükerrer engeli
CreditNoteNumber formatı16 karakter, Seri+Sıra regex'i
IssueDate gelecek olamazUBL kardinalite kontrolü
IssueDate saat bileşeni doluZaman damgası zorunlu
En az bir CreditNoteLineMakbuz satırsız oluşturulamaz
Vergi/kesinti toplam uyumuTaxTotal, WithholdingTaxTotal ve PayableAmount aynı ekonomik hesabı yansıtmalı
Bilgi: GİB, taraf VKN/TCKN'nin belge tarihinde aktif mükellef olup olmadığına yönelik canlı doğrulamayı henüz zorunlu kılmamıştır. Bu kontrol GİB tarafından zorunlu hale getirildiğinde platform tarafımızca otomatik olarak devreye alınacaktır; entegratörün bu konuda şu an için ek bir işlem yapması gerekmez.

Hata Yanıtı

Hata yanıtı, tüm Müstahsil endpointlerinde aynı temel şekli izler. MessageCode alanı, validasyon tablosundaki hata koduyla eşleştirilir.

{
  "IsSuccess": false,
  "Message": "Açıklama",
  "MessageCode": "EMM0020",
  "Data": null
}
AlanAnlamı
IsSuccessİşlemin başarılı olup olmadığını gösterir
MessageKullanıcıya veya log'a yazılabilecek açıklama
MessageCodeValidasyon veya iş kuralı hata kodu
DataBaşarılı işlemlerde response modeli; hatada çoğu durumda boş

İptal Ön-Koşulları

İptal isteği, yalnızca belge durumu uygun olduğunda ilerler; bu koşullar çağrı öncesi beklenen teknik zemini belirler.

  • Belge Signed durumunda olmalı (CreditNoteAndXmlCreated durumunda iptal edilemez — EMM0024)
  • Daha önce iptal edilmiş bir belge tekrar iptal edilemez (EMM0025)
Planlanan değişiklik: Aktivasyon sonrasında bu akışa bir SMS doğrulama adımı ve yeni kullanıcı durumları eklenecektir; mevcut otomatik işlemler ve iptal ön koşulları bu duyuruya kadar değişmeden devam eder. Bkz. SMS Doğrulamalı Gönderim — Portal Kullanıcıları İçin.