İçeriğe geç
Fatura Anomali Tespiti

Fatura Anomali Tespiti

Fatura Anomali Tespiti; tedarikçi e-faturalarını otomatik olarak toplayan, kalem kalem denetleyen ve sapmaları ilgili ekiplere ileten, müşteriye özel geliştirilmiş bir çözümdür. Kurumların tekrarlayan operasyonel süreçlerini modüller hâlinde otomatikleştiren, birden fazla organizasyona tek kurulumdan hizmet veren ve Kubernetes üzerinde yüksek erişilebilir çalışan bir platformun fatura modülü olarak çalışır.


Neden Fatura Anomali Tespiti?

Düzenli hizmet alımı yapan kurumlara her ay onlarca, yüzlerce e-fatura gelir. Bu faturaların sözleşmeye uygunluğu çoğu zaman elle, örneklem üzerinden ya da hiç kontrol edilmez. Fiyatı sessizce artan bir kalem, faturaya yeni eklenen bir hizmet ya da sözleşmesi bitmiş ama faturalanmaya devam eden bir hat aylarca fark edilmeyebilir.

Platform, faturaları e-fatura entegratöründen otomatik olarak toplar. Her faturayı kalem kalem önceki dönemle ve tanımlı sözleşme tutarlarıyla karşılaştırır, sapmaları anomali olarak işaretler ve ilgili ekibe iş akışı ile e-posta olarak iletir.


Fatura Modülü

e-Fatura Entegrasyonu

Gelen e-faturalar, e-fatura entegratörünün (eDoksis) SOAP servisinden zamanlanmış görevlerle düzenli olarak çekilir. Entegrasyon istemcisi servisin WSDL tanımıyla birebir eşleşen tiplerle yazılmıştır ve faturanın UBL içeriği yapısal olarak saklanır. Faturalar, firma tanımlarındaki fatura numarası desenlerine göre otomatik olarak doğru firmaya ve kategoriye atanır.

Firma ve Hizmet Tanımları

Her firma için fatura deseni, kategori ve müşteri temsilcisi bilgileri tanımlanır. Hizmet tanımlarında fatura hesapları, sözleşme dönemleri, aylık sözleşme tutarları, fiyat eşikleri ve kullanıma bağlı olduğu için fiyat karşılaştırmasından muaf tutulacak kalemler belirlenir. Tanımlar onay sürecinden geçer; karşılaştırmalar yalnızca onaylı tanımlarla yapılır. Tanım ekranlarına erişim departman rollerine göre verilir.

Kalem Bazlı Anomali Tespiti

Her fatura kalemi kurallara göre denetlenir:

  • Tutar tutarsızlığı: Kalem tutarı, miktar × birim fiyat ile uyuşmuyor.
  • Tanımsız içerik: Fatura tarihini kapsayan onaylı bir tanım yok.
  • Birim fiyat uyuşmazlığı: Birim fiyat, tanımlı fiyatın tolerans aralığının dışında.

Tespit motoru faturaları belleğe topluca almaz; anahtar tabanlı sayfalama ile partiler hâlinde işler. Böylece fatura sayısı ne kadar büyürse büyüsün bellek kullanımı sabit kalır.

Dönemsel ve Sözleşme Karşılaştırması

Her fatura, aynı hesabın bir önceki dönem faturasıyla kalem kalem karşılaştırılır:

  • Hem yüzde hem tutar eşiğini aşan fiyat artışları,
  • Önceki faturada olmayan yeni kalemler ve kaldırılan kalemler,
  • İstenirse fatura toplamındaki artış,
  • Faturanın dönemini kapsayan onaylı sözleşme olmaması,
  • Fatura tutarının aylık sözleşme tutarından eşiği aşacak kadar sapması.

Farklı tedarikçiler fatura bilgisini farklı yerlerde taşır. Bu yüzden her tedarikçi için faturadan karşılaştırılabilir özeti çıkaran bir profil tanımlanır, tanınmayan tedarikçiler genel profille işlenir. Kurallar veya eşikler değiştiğinde açık bulgular güncel kurallarla yeniden değerlendirilir; artık geçerli olmayanlar otomatik kapanır. Sisteme ilk kez alınan geçmiş faturalar yalnızca temel olarak kaydedilir, geçmiş yıllar anomali yığınına dönüşmez.

Otomatik İş Akışı ve Bildirim

Her anomali türü için hangi iş akışının otomatik başlatılacağı ayarlardan seçilir. Açık bulgular organizasyon ve fatura kategorisi bazında tek bir e-postada toplanır ve tanımlı departmana gönderilir; her bulgu yalnızca bir kez bildirilir. E-postalar bir kuyruk üzerinden gönderildiği için e-posta sunucusundaki geçici bir sorun bildirim kaybına yol açmaz.


Modüler Altyapı

Platform, fatura modülüyle sınırlı değildir. Kimlik doğrulama, yetkilendirme, departman rolleri, iş akışları, e-posta kuyruğu, zamanlanmış görevler, önbellek ve audit kayıtları ortak bir çekirdekte toplanır. İş modülleri bu çekirdeğin üzerine eklenir. Her üçüncü taraf entegrasyonu kendi istemcisi ve tip tanımlarıyla ayrı bir katmanda durur. Yeni bir süreç ihtiyacı, mevcut altyapıyı yeniden yazmadan yeni bir modül olarak devreye alınır.


Multi-Tenant Mimari

Platform, tek bir kurulumla birden fazla organizasyona hizmet verecek şekilde tasarlanmıştır:

  • Veri yalıtımı: Platformun tuttuğu her kayıt bir organizasyona bağlıdır. Tüm sorgular aktif organizasyonla sınırlanır; bir organizasyonun kullanıcısı başka bir organizasyonun faturasına, tanımına ya da bulgusuna erişemez.
  • Organizasyona özel entegrasyon ayarları: Entegrasyon adresleri, kullanıcı adları ve parolalar ortam değişkenlerinde değil, organizasyon bazında veritabanında tutulur ve şifrelenerek saklanır.
  • Bağımsız zamanlanmış görevler: Zamanlanmış görevler her organizasyonu kendi ayarlarıyla ayrı ayrı işler. Bir organizasyonda yaşanan hata diğerlerini etkilemez.
  • Organizasyon bazlı önbellek: Önbellek anahtarları organizasyona göre ayrılır; bir organizasyondaki veri değişikliği yalnızca o organizasyonun önbelleğini yeniler.

Teknik Mimari

  • Uygulama: Bun ve SvelteKit 3 (Svelte 5); arayüz Tailwind CSS 4 ve DaisyUI 5 ile hazırlanmıştır, Paraglide ile çok dillidir.
  • Kubernetes ve Helm: Platform Helm chart’ı olarak paketlenir. Web pod’ları birden fazla kopya hâlinde çalışır ve trafik yük dengeleyici üzerinden dağıtılır. Veritabanı migration’ları her sürümde, yeni pod’lar açılmadan önce ayrı bir Kubernetes Job’ı olarak uygulanır.
  • Dağıtık zamanlanmış görevler: Zamanlanmış görevler ayrı cron pod’larında çalışır ve pg-boss kuyruğuyla dağıtılır. Kaç pod çalışırsa çalışsın her iş, her zaman diliminde yalnızca bir kez ve tek bir pod’da çalışır. Bu sayede cron pod’ları da yatayda ölçeklenebilir; çöken bir pod’un işi bir sonraki dilimde başka bir pod tarafından devralınır.
  • Veri: Yüksek erişilebilir PostgreSQL kümesi ve Drizzle ORM.
  • Önbellek: Valkey; istatistik ve liste ekranları organizasyon bazında önbelleğe alınır. Veri değiştiğinde önbellek arka planda yeniden oluşturulur, böylece kullanıcı boş önbelleğe düşmez.
  • Güvenlik: ISO 27001 ve ISO 22301 gereksinimleri gözetilerek geliştirilir. İstemciden gelen tüm veriler sunucu tarafında doğrulanır, veritabanındaki gizli bilgiler şifrelenir. Veritabanı, ağ veya üçüncü taraf hatalarının ayrıntıları kullanıcıya hiçbir zaman gösterilmez; yalnızca sunucu loglarına yazılır.

Müşteriye Özel Geliştirme

Fatura Anomali Tespiti kutudan çıkan bir ürün değildir. Fatura kuralları, tedarikçi profilleri, onay ve bildirim akışları kurumun kendi işleyişine göre şekillendirilir. Modüler yapı sayesinde kurumun farklı operasyonel süreçleri aynı altyapı üzerinde yeni modüller olarak geliştirilebilir.


Hangi Sorunları Çözer?

Fark Edilmeyen Fiyat Artışları: Fiyatı önceki döneme göre eşiğin üzerinde artan her kalemi otomatik olarak yakalar.

Sözleşmeye Aykırı Faturalar: Sözleşme tutarından sapan, sözleşmesi tanımsız ya da sözleşmede olmayan kalemleri içeren faturaları işaretler.

Elle Fatura Kontrolü Yükü: Faturaların toplanması, eşleştirilmesi ve karşılaştırılması otomatik yapılır; ekipler yalnızca gerçek sapmalarla ilgilenir.

Dağınık Takip: Her anomali bir iş akışına bağlanır, ilgili departmana iletilir ve çözülene kadar izlenir.

Bir sonraki dönüşümü birlikte planlayalım.

Ekibimiz teknik gereksinimlerinizi anlamak ve hızlıca prototip çıkarmak için hazır.