Cyber2Tech

Fatura yığınındanaranabilir arşive.

Ürün
Doksan9
Tür
Kendi ürünümüz
Yığın
C# / .NET · React Native · görsel-dil modeli
Kısaca

Fatura, irsaliye, kantar fişi ve yakıt fişi gibi belgelerin her biri bambaşka alanlar taşıyor; hepsini elle muhasebeye geçirmek gerekiyordu. Doksan9'u, belgeyi fotoğraflayınca alanlarını çıkaran ve her sonucu onaya sunan bir sistem olarak kurduk.

Problem
Farklı türde belgelerin elle girişi
Çözüm
Görsel-dil modeli + insan onayı
01Problem

Üç belge türü, tek bir elle giriş masası.

Fatura, irsaliye ve kantar fişi aynı işin farklı belgeleri; her birinin alanları bambaşka — biri tutar ve KDV, biri plaka ve malın cinsi, biri dara ve net ağırlık ister. Hepsi aynı anda muhasebeye elle giriliyordu.

02Kısıtlar

Tasarımı üç kısıt belirledi.

K1

Biçimler çok çeşitli

Fatura, irsaliye, kantar fişi ve yakıt fişi; her birinin alanları ve her satıcının şablonu farklı. Şablona bağlı bir okuyucu yetmezdi.

K2

Model yanılabilir

Görsel-dil modeli her zaman doğru okumaz; bu yüzden hiçbir sonuç otomatik kaydedilmez. Hepsi önce insana gösterilir, düzeltilip onaylanmadan hiçbir belge muhasebeye girmez.

K3

Belgede kişisel veri var

Faturalar ad, adres, vergi numarası ve araç plakası gibi kişisel veri taşıyor; bu veri, alan çıkarımı için görüntü olarak doğrudan bir bulut görsel-dil modeline gönderiliyor.

03 — Yaklaşım

Makine okur, insan onaylar.

Kullanıcı belgeyi telefonla fotoğraflar ya da galeriden seçer; görsel bir kuyruğa alınır. Çok-modlu bir görsel-dil modeli görüntüden doğrudan yapılandırılmış alanlar çıkarır — ayrı bir metin tanıma adımı yok. Her sonuç onay bekler durumuna düşer; kullanıcı alanları gözden geçirip onaylar, o zaman kayda ve arşive girer.

  1. 01Gelen belgekamera · galeri
  2. 02Kuyrukasenkron işleme
  3. 03Görsel-dil modeligörüntü → alanlar
  4. 04Çıkarılan alanlartür bazlı şema
  5. 05İnsan onayıdüzelt · onayla
  6. 06Arşiv + aramaonaydan sonra kayıt
onay-oncesi-fatura.jsontemsilî · gerçek DTO alan adlarından türetildi
{
  "total": "1845.60",
  "date": "14/03/2026",
  "vat": "307.60",
  "description": "ABC Market"
}
Denediğimiz ve bıraktığımız

İlk sürümde görsel analizi Azure OpenAI'ın GPT-4 Vision modeliyle yapıyorduk. Sonra Google'ın Gemini 2.0 Flash modeline geçtik; belge akışı ve onay adımı aynı kaldı, yalnız görüntüyü okuyan model değişti.

04Ekranlar

Düzeltmek, yazmaktan hızlı olmalı.

Solda fotoğraflanan belge, sağda modelin çıkardığı alanlar; kullanıcı düzeltip onaylıyor.
Onaylanmış belgelerin aranabilir listesi.
05Ne öğrendik

Bir sonraki projeye taşıdıklarımız.

  1. 01Model çağrısını tek bir yerde toplamak, sağlayıcı değişikliğini uygulamanın geri kalanına dokunmadan yapmamızı sağladı.
  2. 02Tarih gibi ayrıştırması kırılgan alanlarda hata olursa sessizce bugüne düşüp kullanıcıya düzeltme bırakmak, uygulamayı çökertmekten iyi bir tercih.
Sonraki vaka
Kurjet