e-Müstahsil Makbuzu

Uygulama

Entegratör Sorumlulukları

Entegratörün veri hazırlama, doğrulama ve belge oluşturma sürecindeki sorumlulukları.

Veri Sorumluluk Tablosu

Entegratörün (ERP/muhasebe sistemi) API çağırmadan önce sağlaması gerekenler:

#VeriKim ÜretirEntegratör Ne YapmalıHata
1CreditNoteExternalIdEntegratörKendi sisteminde benzersiz bir referans üret ve gönderEMM0020 / EMM0028
2UUIdPlatform (opsiyonel)Boş bırakılırsa platform bir GUID üretir; kendiniz göndermek isterseniz geçerli ve benzersiz olmalıCOM0017 / EMM0035
3CreditNoteNumberFirma ayarına göreNumara kaynağı ERP ise üretip regex formatına uydur; platform kaynaklıysa boş bırakılabilirFormat hatası
4AccountingSupplierPartyEntegratörÇiftçinin TCKN ve ad/soyad bilgisini gerçek kişi olarak gönderTaraf/kimlik validasyonu
5AccountingCustomerPartyEntegratörAlıcı firmanın VKN ve unvan bilgisini tüzel kişi olarak gönderTaraf/kimlik validasyonu
6CreditNoteLine[]EntegratörHer tarımsal ürün için miktar, birim, ürün adı, fiyat ve satır toplamını hesaplaUBL kardinalite hatası
7TaxTotalEntegratörKDV ve varsa GV stopajı, borsa tescil, SGK prim, mera fonu alt toplamlarını kodlarıyla hesaplaValidasyon veya rapor uyumsuzluğu
8WithholdingTaxTotalEntegratörTevkifat alanı kullanılacaksa belge ve satır seviyesinde tutarlı hesaplaValidasyon hatası
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.

Senaryo Bazlı Hazırlık Matrisi

Ortak belge alanları hazırlandıktan sonra entegratörün asıl ayrımı, kesinti türünü doğru kodla ve doğru toplam ilişkisiyle göndermesidir.

SenaryoEntegratörün Hesaplayacağı AlanlarZorunlu Kod/AlanGönderim Öncesi Kontrol
Normal oluşturmaTaraflar, ürün satırları, belge toplamlarıCreditNoteLine[], LegalMonetaryTotalEk kesinti yoksa PayableAmount satır toplamlarıyla kapanır
GV stopajıStopaj matrahı, oranı ve tutarıTaxSubtotal.TaxScheme.TaxTypeCode=0003TaxAmount, TaxableAmount ve Percent aynı hesabı göstermeli
Borsa tescilBorsa tescil matrahı, oranı ve tutarıTaxSubtotal.TaxScheme.TaxTypeCode=8001Kod adı BORSA TES.ÜC. ile uyumlu olmalı
SGK primSGK prim matrahı, oranı ve tutarıTaxSubtotal.TaxScheme.TaxTypeCode=SGK_PRIMKod adı SGK PRIM KESINTISI ile uyumlu olmalı
Mera fonuMera fonu matrahı, oranı ve tutarıTaxSubtotal.TaxScheme.TaxTypeCode=9040Kod adı MERA FONU ile uyumlu olmalı
Çoklu kesintiHer kesinti için ayrı alt toplamTaxTotal.TaxSubtotal[]TaxTotal.TaxAmount, alt satır TaxAmount toplamına eşit olmalı
TevkifatTevkifat matrahı, oranı ve tutarıWithholdingTaxTotalAynı tutar TaxTotal altında tekrar düşülmemeli
İptalİptal edilecek belgenin kimliği ve durum bilgisiCreditNoteCancelRequestModelBelge Signed durumda olmalı

Adım Süreci

Entegratör tarafındaki hazırlık süreci, taraf ve kalem bilgisinin doğru kurulmasıyla başlar; akış bu hazırlığın API gönderimine nasıl bağlandığını gösterir.

Çiftçi/alıcı bilgisini hazırlaÜrün kalemleriVergi/kesintikod bazındaAPI'ye gönder
Belge tabanıtaraf + satır + toplamSenaryo kararınormal / kesinti / iptalTaxTotal kesintileri0003, 8001, SGK_PRIM, 9040Withholdingyalnızca tevkifat varsaİptal modeliSigned ön koşuluÖn kontrolAPI öncesi

Doğrulama Öncesi Kontrol Listesi

Request gönderilmeden önce yapılan son kontrol, teknik hata dönüşlerini azaltır ve belge üretimini daha öngörülebilir hale getirir.

KontrolBeklenenNeden
Belge kimliğiCreditNoteExternalId tekil, UUId boş veya geçerli GUIDMükerrer ve format hatalarını önler
TaraflarÇiftçi TCKN, alıcı firma VKN ile gönderilirUBL taraf rolü ve GİB raporu aynı kimlik tipine dayanır
SatırlarEn az bir CreditNoteLine; miktar, birim, ürün adı ve fiyat doluMakbuzun ekonomik içeriği satır seviyesinde taşınır
GV stopajıTaxTotal.TaxSubtotal içinde 0003, GV STOPAJI, matrah, oran ve tutar doluGelir vergisi stopajı kod bazında raporlanabilir
Borsa tescilTaxTotal.TaxSubtotal içinde 8001, BORSA TES.ÜC., matrah, oran ve tutar doluBorsa tescil tutarı diğer kesintilerden ayrı izlenir
SGK primTaxTotal.TaxSubtotal içinde SGK_PRIM, SGK PRIM KESINTISI, matrah, oran ve tutar doluSGK prim kesintisi kendi koduyla raporlanır
Mera fonuTaxTotal.TaxSubtotal içinde 9040, MERA FONU, matrah, oran ve tutar doluMera fonu kesintisi kendi koduyla raporlanır
Çoklu kesintiHer kesinti için ayrı TaxSubtotal; TaxTotal.TaxAmount alt satırların toplamıTek belge içinde birden fazla kesinti karışmadan izlenir
TevkifatWithholdingTaxTotal kullanılıyorsa toplamlar PayableAmount ile uyumluNet ödenecek tutarın aynı kesintiyi iki kez düşmesini engeller
TutarlarLegalMonetaryTotal ve satır toplamları aynı para birimindeUBL ve GİB rapor tutarları arasında fark oluşmasını engeller
Planlanan değişiklik: Aktivasyon sonrasında bu sorumluluk tablosuna SMS doğrulama alanları eklenecektir. Aktivasyon öncesi hazırlık gereken sözleşme değişiklikleri için bkz. SMS Doğrulamalı Gönderim — Entegratörler İçin.