e-Gider Pusulası

Sorumluluklar

Platform Sorumlulukları

Portal doğrulama akışları, kullanıcı durumları, gerçek kişi cari seçimi, validasyon ve iptal davranışları.

İki ayrı okuma düzeyi: “Portal kullanıcısı” başlıklı bölümler ekranda görülen davranışı; “Portal UI geliştiricisi” başlıklı bölümler ise ekranın uygulayacağı endpoint, model ve durum sözleşmesini anlatır.

Portal UI Geliştiricisi — Uçtan Uca Belge Akışı

  1. Alıcı ve varsa vekil PersonParty endpointleriyle aranır. Kayıt bulunursa response içindeki cari Id ile Update, bulunamazsa Add çağrılır.
  2. Kullanıcının seçtiği tek TCKN veya PASAPORTNO belge request'ine yazılır. Alıcı cari Id'si AccountingCustomerParty.Party.Id, vekil cari Id'si DelegateReceiver.PartyId alanında taşınır.
  3. Belge, AddOutgoingExpenseVoucher veya UpdateOutgoingExpenseVoucher ile kaydedilir. Portal yalnız SMS senaryosunda iki doğrulama modelini tamamen boş bırakabilir; İADEKODU seçildiyse VerificationProvider ve VerificationInfo aynı requestte eksiksiz gönderilir.
  4. Boş SMS verisiyle kabul edilen unsigned belgede WaitingForVerification döner ve SMS ekranı açılır. Geçerli İADEKODU verisi bekleme state'ine girmeden belgeyi imza kuyruğuna taşır.
  5. SMS için Send ve Complete çağrılır. İADEKODU için ayrı Submit endpointi yoktur. Başarılı yanıttan sonra belge detayı yeniden sorgulanır.
  6. ExpenseVoucherAndXmlCreated veya Signed durumunda doğrulama ekranı kapatılır; hata kodu varsa kullanıcıya düzeltilebilir alan gösterilir.
Belge request'i ile cari kartı ayrıdır: PersonParty seçimi request'i hazırlar; belgeyi kendiliğinden oluşturmaz. Belge oluşturma veya güncelleme anında seçilen kişi bilgileri belgeye kaydedilir.

Otomatik İşlemler

Request kabul edildiğinde platform; cari yönetimi, içerik kontrolü, doğrulama, belge üretimi, imza, saklama, GİB bildirimi ve kullanıcı çıktısını bu sırayla yönetir. Aşağıdaki bölümler bu tablonun sırasını izler.

#İşlemAçıklama
1Cari YönetimiAlıcı/vekil gerçek kişi cari arama, oluşturma veya güncelleme
2ValidasyonAlan zorunluluk, format, kombinasyon kontrolleri
3DoğrulamaSMS, Portal Send/Complete adımlarıyla; İADEKODU, Add/Update içindeki tam modelle doğrulanır
4UBL XML ÜretimiUBL 2.1 CreditNote standardında XML
5e-İmzalamaBelge kesinleştirme
6Numara/UUID AtamaEntegratör göndermezse otomatik
7Belge KaydıKalıcı saklama
8GİB RaporuDönemsel toplu bildirim
9GİB GönderimRapor iletimi + yanıt işleme
10İptal RaporuSonraki döngüde bildirim
11PDFYazdırılabilir çıktı
12E-postaBildirim (yapılandırıldıysa)

Gerçek Kişi Cari Seçimi

Alıcı ve yalnız IADE senaryosunda kullanılabilen vekil, aynı gerçek kişi cari kaynağından aranır. Cari bulunursa arama response'undaki Id korunur; yalnız bulunamazsa yeni cari oluşturulur. Birden fazla kimliği varsa belgede kullanılacak TCKN veya PASAPORTNO açıkça seçilir.

Portal gerçek kişi cari seçim akışı Cari arama, mevcut kaydı getirme veya yeni kayıt oluşturma, kimlik seçme ve belge requestine aktarma adımlarını gösterir. Cariyi araAd · TCKN · Pasaport Bulundu mu? EVETCariyi getir HAYIRCariyi kaydetEn az bir kimlik Kimliği seç ve belgeye aktarTCKN veya PASAPORTNO

Belgeye aktarılan kişi bilgileri oluşturma veya güncelleme anında kaydedilir. Cari kartında daha sonra yapılan değişiklikler mevcut belgeyi değiştirmez. Endpoint sözleşmeleri için API Endpoint Referansı kullanılmalıdır.

Belge ve cari ayrımı: Belge request'inde cari Id bulunmasa da TCKN veya PASAPORTNO ile mevcut cari bulunabilir. Bu durumda belge, bulunan cari Id'siyle ilişkilendirilir; kısmi belge taraf bilgileri mevcut cari kartındaki adres, iletişim veya kişi alanlarını güncellemez. Cari kartı yalnız PersonParty Update endpointiyle değiştirilir.

Validasyon Kuralları

Validasyon katmanı, belge üretimine geçmeden önce senaryo, doğrulama, kimlik ve kargo bilgilerinin tutarlı bir bütün oluşturmasını bekler.

KontrolKodAçıklama
VerificationMethod ve sağlayıcı bilgisiEGP0037 / EGP0078SMS veya IADEKODU; sağlayıcı adı ve 10 haneli VKN
VerificationInfo biçimiEGP0039 / EGP0072Geçerli kod ve telefon
IADE → ReturnedDocumentReferenceEGP0038 / EGP0047 / EGP0048 / EGP0051İade edilen belgenin türü ve tarihi; belge varsa numarası
BELGESIZ → gerçek kişi kimliğiEGP0050 / EGP0085T.C. vatandaşı için TCKN, yabancı uyruklu kişi için PASAPORTNO
Kargo → iade kodu ve kargo eşleşmesiEGP0049 / EGP0087IADEKODU ve aktif kargo şirketi kaydı
SATIS → VerificationMethod=SMSEGP0046Satışta yalnız SMS doğrulaması kullanılabilir
SATIS → DelegateReceiver yokEGP0053Vekalet kullanılamaz
DelegateReceiver → kimlik tipi, kimlik değeri ve adEGP0054 / EGP0084Doluysa üç iş alanı zorunlu ve geçerli olmalıdır
Alıcı tam olarak bir TCKN/PASAPORTNO taşırEGP0080 / EGP0081 / EGP0085VKN ve tüzel kişi reddedilir
ExternalId mevcut ve tekilEGP0020 / EGP0028Boş veya aynı firmada daha önce kullanılmış değer reddedilir

Hata Yanıtı

Hata yanıtı, entegrasyon tarafının problemi kod üzerinden ayırt edebilmesi için aynı response iskeletini korur.

{
            "IsSuccess": false,
            "Message": "Açıklama",
            "MessageCode": "EGP0055",
            "Data": null
            }

Portal Doğrulama Akışı

Portal, SMS senaryosunda gönderim ve kod doğrulama adımlarını hazır sunar. İADEKODU seçildiğinde kod, telefon ve sağlayıcı alanları belge Add/Update isteğinin parçasıdır.

SenaryoPortal davranışıSonuç
SATISSMS gönderme ve kod giriş ekranı gösterilir.Kod doğrulandığında belge imza akışına alınır.
Yüz yüze IADESMS veya iade kodu yöntemi seçilir. SMS seçilirse belge boş doğrulama verisiyle kaydedilir; İADEKODU seçilirse tam model aynı Add/Update isteğine eklenir.SMS Complete veya başarılı direct Add/Update sonrasında belge imza akışına alınır.
Kargolu IADEİade kodu, telefon ve sağlayıcı bilgileri belge kaydedilmeden önce istenir.Kargo ve tam İADEKODU verisi aynı Add/Update isteğinde doğrulanır; SMS bekleme akışına girilmez.
Vekaletli IADEAsıl alıcı korunur; vekil aynı gerçek kişi cari kaynağından seçilir.Doğrulama bilgisi vekille ilişkilendirilir.

Portal Durumları

Teknik değerPortal açıklamasıKullanıcı aksiyonu
WaitingForVerificationSMS gönderimi bekleniyor.Telefon kontrol edilerek SMS gönderilir.
WaitingForSmsCodeSMS onayı bekleniyor.Telefona gelen kod girilir; gerekirse telefon düzeltilerek yeniden gönderim yapılır.
ExpenseVoucherAndXmlCreatede-Gider Pusulası oluşturuldu.Belge durumu takip edilir.
SignedGİB'e gönderime hazır.Ek doğrulama işlemi yapılmaz.
Güncelleme: SMS doğrulaması bekleyen belge iki doğrulama modeli boş olarak güncellenirse WaitingForVerification durumunda kalır ve önceki kod geçersizleştirilir. Tam SMS veya İADEKODU modeliyle başarılı Update belgeyi ExpenseVoucherAndXmlCreated durumuna ilerletir.

Doğrulama ve İmza Durum Makinesi

OutgoingExpenseVoucherStatusForUser, entegratörün izlediği ortak durum kümesidir. Add/Update isteğinde tam SMS doğrulama verisi gönderilirse belge bekleme durumlarına girmeden ExpenseVoucherAndXmlCreated durumuna ilerler. Doğrulama verisi boş başlayan Portal SMS akışında belge önce WaitingForVerification, kod gönderildikten sonra WaitingForSmsCode durumunda izlenir; kod başarıyla tamamlandığında aynı ExpenseVoucherAndXmlCreated durumunda birleşir. İADEKODU ise Add/Update isteğinde eksiksiz gönderilir; ayrı bir bekleme durumu veya Complete çağrısı yoktur.

Gider Pusulası doğrulama ve imza durum makinesi Add/Update isteğinde belge her zaman oluşturulur; doğrulama verisi tamsa doğrudan, değilse SMS bekleme fazlarından geçerek ExpenseVoucherAndXmlCreated durumuna ulaşır ve otomatik imzalamayla Signed olur. Add / Updatebelge + ön-XML her zaman burada oluşur Doğrulama verisi tam (SMS 4 alan / İADEKODU) — ya da SMS zorunlu değil SATIS · IADE (İADEKODU ile) · kargolu IADE (zorunlu) SMS boş başlangıç (Portal) SATIS · yüz yüze IADE · kargosuz vekâletli IADE WaitingForVerificationSMS gönderimi bekleniyor Send SMS WaitingForSmsCodekod girişi bekleniyor Complete (kod doğrulandı) XML doğrulama bilgisiyle yeniden oluşturulur ExpenseVoucherAndXmlCreatedimzalama bekliyor Otomatik imzalama SignedGİB'e gönderime hazır
SMS sınırı: Kargolu IADE ve kargolu vekâletli IADE SMS ile doğrulanamaz; bu senaryolarda İADEKODU zorunludur, dolayısıyla her zaman üst (doğrudan) koldan geçer.
İADEKODU sınırı: Ayrı bir bekleme durumu, SMS Send/Complete çağrısı veya Submit endpointi yoktur — İADEKODU her zaman üst (doğrudan) koldan geçer. SATIS için İADEKODU geçersizdir.

Doğrulama Yöntemi Senaryo Matrisi

SenaryoSMSİADEKODU
SATISKullanılabilirGeçersiz
Yüz yüze IADEKullanılabilirKullanılabilir
Kargolu IADEKullanılamazZorunlu
Kargosuz vekâletli IADEKullanılabilirKullanılabilir
Kargolu vekâletli IADEKullanılamazZorunlu

SMS ve İADEKODU validasyonları birbirinden ayrıdır. SMS'in boş başlayabilmesi yalnız unsigned Portal akışına aittir. İADEKODU feature flag'den bağımsız olarak tam model ister; signed UBL ise sonradan SMS tamamlayamayacağı için boş doğrulama verisiyle kabul edilmez.

Excel ve İptal Davranışı

Excel ile oluşturulan belgelerde doğrulama her belge için ayrı tamamlanır; tek kodla toplu doğrulama yapılmaz. WaitingForVerification ve WaitingForSmsCode durumundaki belgeler iptal edilebilir. Portal iptal işlemini başlattığında belge iptal edilir. SMS gönderilmişse kayıtlı telefona bildirim gönderilmeye çalışılır; bildirim hatası iptal işlemini geri almaz.

İptal Ön Koşulları

İptal edilebilirlik belgenin kullanıcı durumu ve platformda kayıtlı e-Arşiv durumu üzerinden değerlendirilir.

  • WaitingForVerification durumundaki belge, Portal iptal işlemini başlattığında bildirim gönderilmeden iptal edilir.
  • WaitingForSmsCode durumundaki belge iptal edilir; kayıtlı telefona iptal bildirimi gönderilmeye çalışılır.
  • İmzalama aşamasında olup henüz imzalanmamış belge iptal edilemez.
  • İmzalanmış ve raporlanmamış belge doğrudan; raporlanmış belge ise iptal raporuyla iptal edilir.
  • Kayıtlı e-Arşiv durumu Valid olmayan belge için iptal işlemi başlatılmaz.