e-Serbest Meslek Makbuzu

Senaryolar

Kullanım Senaryoları

Gerçek ve tüzel alıcı, para birimi, vergi, gönderim ve iptal senaryoları.

Genel Bakış

e-SMM oluşturma akışı tek bir request modeli kullanır; senaryolar alıcının kimlik tipi, para birimi, vergi/kesinti yapısı, teslim şekli ve işlem türüne göre ayrışır. Doğru senaryo seçimi, hangi alanların doldurulacağını ve toplamların nasıl hesaplanacağını belirler.

Karar Ağacı

Önce alıcı ve para birimi belirlenir; ardından stopaj ve tevkifat kararları toplam modelini, teslim seçimi ise iletişim alanlarını şekillendirir.

Alıcı VKN mi, TCKN mi?VKNUnvan + vergi dairesi10 haneli VKNTCKNAd + soyad11 haneli TCKNPara birimi?TRY veya dövizKesinti var mı?stopaj / tevkifatBrüt + KDV toplamlarıkesintisizKesintili net toplamoran + tutar + kod

Alan Zorunluluk Matrisi

SenaryoHer zaman gerekliSenaryoya özgüKullanılmayan alan
Tüzel kişi / TRYIssueDate, SmmExternalId, alıcı adresi, hizmet ve toplamlarAlici.Unvan, 10 haneli VknTckn, VergiDaire, kur 1Alici.Ad, Alici.Soyad, döviz karşılıkları
Gerçek kişi / TRYOrtak belge alanlarıAlici.Ad, Alici.Soyad, 11 haneli TCKNUnvan, VergiDaire
DövizliOrtak belge alanlarıISO 4217 DocumentCurrencyCode, sıfırdan büyük CalculationRate, gerekiyorsa KurTRY için ayrıca döviz karşılıkları
StopajlıBrüt, KDV ve ortak toplamlarStopajOran, TaxStopajTotalAmount, NetUcretTevkifat yoksa tevkifat alanları 0/boş
TevkifatlıBrüt, KDV ve ortak toplamlarTevkifatOran, TevkifatKodu, WithholdingTaxTotalAmount, TaxKdvTotalAmountStopaj yoksa stopaj alanları 0
Elektronik teslimOrtak belge alanlarıGonderimSekli = Elektronik, kullanılacaksa EArchiveMailToKâğıt teslim bilgisi
Kâğıt teslimOrtak belge alanlarıGonderimSekli = KagitEArchiveMailTo zorunlu değildir.
GüncellemeOluşturma modelinin güncel tam haliId ve UUIdYeni dış referans üretilmez; mevcut belgeyle eşleştirilir.
İptalGeçerli tokenUUIdBelge satır ve toplam modeli gönderilmez.

Ana Senaryo Grupları

GrupNe zaman kullanılır?Ayırt edici alanlarİlgili örnek
Standart TRYBelge ve ödeme Türk lirasıysaDocumentCurrencyCode = TRY, CalculationRate = 1Örnek 1
Gerçek kişi alıcıHizmeti alan kişi TCKN ile tanımlanıyorsaAd, Soyad, 11 haneli TCKNÖrnek 2
DövizBelge USD, EUR veya başka bir ISO 4217 para birimindeyseDocumentCurrencyCode, CalculationRate, KurÖrnek 3
StopajHizmet bedelinden gelir vergisi kesintisi yapılıyorsaStopajOran, TaxStopajTotalAmountÖrnek 4
KDV tevkifatıHesaplanan KDV’nin bir bölümü alıcı tarafından sorumlu sıfatıyla beyan ediliyorsaTevkifatOran, TevkifatKodu, tevkifat tutarıÖrnek 5
Çok kalemAynı makbuzda birden fazla hizmet satırı varsaMalHizmetler[], benzersiz LineIdÖrnek 7

Oluşturma Senaryoları

Aşağıdaki kartlar, request hazırlarken hangi kararların değiştiğini özetler.

Tüzel Kişi — TRY

Alıcı 10 haneli VKN ile tanımlanır. Unvan, VergiDaire ve adres gönderilir. Para birimi TRY, kur 1 olur. Bu, kurumsal alıcılar için temel senaryodur.

Gerçek Kişi — TRY

Alıcı 11 haneli TCKN ile tanımlanır; Ad ve Soyad birlikte gönderilir. Kurum alanlarıyla kişi alanları karıştırılmaz.

Dövizli Makbuz

Belge para birimi ISO 4217 koduyla gönderilir. CalculationRate sıfır olamaz. Belge toplamları belge para biriminde, Kur alanları ise gerektiğinde TRY karşılıklarıyla tutarlı hazırlanır.

Stopajlı Makbuz

Stopaj, brüt hizmet bedeli üzerinden hesaplanır. TaxStopajTotalAmount hem satırda hem belge toplamında oranla uyumlu olmalı; NetUcret = TotalAmount − TaxStopajTotalAmount ilişkisi korunmalıdır.

KDV Tevkifatlı Makbuz

Tevkifat, hesaplanan KDV üzerinden hesaplanır. Oranla birlikte ilgili TevkifatKodu gönderilir. TaxKdvTotalAmount = HesaplananKdv − WithholdingTaxTotalAmount ilişkisi korunur.

Stopaj + Tevkifat

İki kesinti birlikte uygulanabilir; stopaj brüt ücret üzerinde, tevkifat KDV üzerinde ayrı hesaplanır. PayableAmount, net ücret ile tevkifat sonrası ödenecek KDV’nin toplamıdır.

Çok Kalemli Makbuz

Her hizmet satırı benzersiz LineId ve Id ile gönderilir. Üst toplamlar tüm satırların tutar, vergi ve kesinti toplamlarına eşit olmalıdır.

Elektronik veya Kâğıt Teslim

Elektronik teslimde e-posta adresi doğrulanır ve Portal’dan yeniden gönderim yapılabilir. Kâğıt teslimde imzalı PDF üretimi devam eder; çıktı alınıp fiziksel olarak verilebilir.

Güncelleme Senaryosu

Güncelleme, mevcut belgenin tam request modelinin düzeltilmiş haliyle yapılır. Id ve UUId mevcut kaydı tanımlar; başarılı güncellemede PDF yeniden üretilip imzalanır.

Güvenli güncelleme: Önce GetOutgoingSmm ile güncel belgeyi okuyun, yalnız değiştireceğiniz alanı değil tam modeli hazırlayın ve UpdateOutgoingSmm sonucundaki HasError değerini kontrol edin.

İptal Senaryosu

İptal için belge UUID’si gönderilir. Başarılı Data = true sonucu ERP kaydına işlenir. Aynı ekonomik işlem yeniden belgelenecekse yeni belge, yeni bir SmmExternalId ile oluşturulur.

Edge-Case Tablosu

DurumBeklenen yaklaşımKaçınılacak davranış
VKN ile ad-soyad gönderilmesiVKN’de unvan ve vergi dairesi kullanılır.Kişi ve kurum alanlarını aynı alıcıda karıştırmak
TRY dışı para biriminde kur yokGeçerli işlem kuru sıfırdan büyük gönderilir.CalculationRate = 0
Birden fazla e-postaAdresler noktalı virgülle ayrılır.Virgül veya serbest metin kullanmak
Tekrar eden ERP çağrısıÖnce dış referansla mevcut kayıt sorgulanır.Aynı işlem için yeni SmmExternalId üretip mükerrer belge oluşturmak
Satır toplamı üst toplamla farklıGönderimden önce tüm satırlar yeniden toplanır.Üst toplamları bağımsız elle girmek
Uzun işlem sonrası yanıt alınamadıAynı request’i körlemesine tekrarlamadan önce dış referans veya UUID ile sorgulama yapılır.Ağ zaman aşımını kesin başarısızlık saymak
İptal sonrası yeniden düzenlemeYeni dış referans ve yeni belge oluşturulur.İptal edilen UUID üzerinde güncelleme denemek