Fatura OCR Otomasyonu: Vaka Çalışması
Otomasyonİlk toplantıda Ayşe Hanım bizi muhasebe odasına götürdü. Masanın üstünde iki karış yüksekliğinde kağıt yığını vardı. "Bunlar bu haftanınkiler" dedi. İstanbul'da orta ölçekli bir lojistik firması, ayda ortalama 4.000 fatura işliyor. Her fatura için 8 dakika. Bir hesap yapın: ayda 530 saat, neredeyse 3.5 tam zamanlı çalışanın tüm mesaisi.
"Geçen ay bir fatura kayboldu, 3 gün aradık" dedi Ayşe Hanım. "Bulduğumuzda KDV tutarını yanlış girdiğimizi fark ettik. Cezalı ödeme yaptık." Bu tarz hikayeler bize yabancı değil. Neredeyse her muhasebe ekibinde benzer sorunlar var.
Fotoğraf: Pexels
Sorun: Her Gün Aynı Döngü
Muhasebe ekibi her sabah aynı rutinle başlıyordu: e-posta eklerinden faturaları indir, taranmış kağıt faturaları tara, her birini aç, fatura numarasını oku, tarihi gir, KDV'yi hesapla, toplam tutarı yaz, ERP'ye kaydet. Günde ortalama 180 fatura. Farklı tedarikçilerin farklı fatura formatları, bazılarında el yazısı notlar, bazılarında buruşuk taramalar.
Aylık hata oranı %4.5 civarındaydı. Kulağa az geliyor belki ama 4.000 faturanın %4.5'i 180 hatalı giriş demek. Her hatanın düzeltilmesi ortalama 15 dakika daha alıyordu. Yani ayda 45 saat sadece hata düzeltmeye gidiyordu.
Sistem: Nasıl Çalışıyor?
Üç katmanlı bir pipeline kurguladık. 2026 başında Mistral'in çıkardığı OCR 3 modeli işimizi çok kolaylaştırdı - sayfa başına $0.002 maliyetle %98-99 doğruluk veriyor, üstelik şablon tanımlamaya gerek kalmadan.
┌──────────┐ ┌──────────────┐ ┌───────────┐ ┌──────────┐ ┌─────────┐
│ Fatura │───▶│ Ön-işleme │───▶│ OCR │───▶│ NER │───▶│ ERP │
│ (görsel)│ │ (düzeltme, │ │ (Mistral │ │ (BERTurk│ │ (veri │
│ │ │ kontrast) │ │ OCR 3) │ │ v2) │ │ aktarım│
└──────────┘ └──────────────┘ └───────────┘ └──────────┘ └─────────┘
│
┌──────┴───────┐
│ Düşük güven │
│ → İnceleme │
│ kuyruğu │
└──────────────┘
Ön-işleme: Gelen görsel otomatik düzeltiliyor - eğiklik düzeltme, kontrast iyileştirme, gürültü azaltma. Özellikle eski model tarayıcılardan gelen düşük kaliteli görüntülerde bu adım çok fark yaratıyor.
OCR: Mistral OCR 3 ile metin çıkarma. Bu model fatura, makbuz, sözleşme gibi iş belgelerinde özellikle güçlü. Şablon tanımlamadan farklı formatlardaki faturaları anlayabiliyor.
NER (İsimli Varlık Tanıma): OCR'dan çıkan ham metinden fatura numarası, tarih, KDV oranı, toplam tutar gibi alanları BERTurk v2 tabanlı NER modelimizle çıkarıyoruz. Bu modeli 12.000 etiketlenmiş Türkçe fatura üzerinde fine-tune ettik.
{
"fatura_no": "FTR-2026-004182",
"tarih": "2026-01-15",
"tedarikci": "Anadolu Lojistik A.Ş.",
"vkn": "1234567890",
"kalemler": [
{"aciklama": "Yurtiçi nakliye hizmeti", "tutar": 8500.00},
{"aciklama": "Sigorta bedeli", "tutar": 425.00}
],
"ara_toplam": 8925.00,
"kdv_orani": 20,
"kdv_tutari": 1785.00,
"toplam": 10710.00,
"guven_skoru": 0.96
}
Sistem FastAPI ile servis ediliyor, Docker container içinde çalışıyor. On-premise kurulum yaptık, yani fatura verileri firma ağını hiçbir zaman terk etmiyor. KVKK uyumluluğu için bu şarttı.
İlk Hafta: Hatalar ve Dersler
İlk deploy'da her şeyin pürüzsüz gideceğini düşünüyorduk. Yanılmışız.
İlk sorun el yazısı notlardan geldi. Bazı tedarikçiler faturanın köşesine kalemle not yazıyordu - "2. parti", "Mehmet Bey'e sor" gibi. OCR bunları alan verisi sanıp karıştırdı. Çözüm olarak el yazısı bölgeleri tespit edip ayrı işleyen bir filtre ekledik.
İkinci sorun buruşuk ve katlanmış faturalardı. Kağıt üzerindeki kırışıklıklar OCR'ın satır sırasını karıştırmasına neden oluyordu. Ön-işleme katmanına geometrik düzeltme ekleyerek bunu çözdük, ama o ilk hafta yaklaşık 40 fatura inceleme kuyruğuna düştü.
Bir de beklemediğimiz bir durum oldu: bazı tedarikçiler faturayı yatay, bazıları dikey gönderiyordu. Otomatik yön algılama eklemek zorunda kaldık. Küçük bir şey ama düşünmemiştik.
Fotoğraf: Pexels
Ekibin Tepkisi
Bunu yazmasam olmaz çünkü teknik projeler sadece teknikten ibaret değil. İlk hafta muhasebe ekibinden ciddi bir direnç geldi. "Bu makine işimizi mi alacak?" sorusunu en az 5 kez duyduk.
Ayşe Hanım'ın yaklaşımı çok iyi oldu. Ekibe şunu anlattı: "Sistem faturaları okuyor ve yazıyor, siz de kontrol ediyorsanız, daha zor işlere vakit kalıyor." İlk ayın sonunda ekip farkı gördü. Eskiden gün boyu veri girişi yapan kişiler artık tedarikçi anlaşmalarını incelemeye, ödeme planlarını optimize etmeye vakit buluyordu.
İkinci ayda en çok direnen kişi geldi ve "hani şu irsaliyeler de var ya, onları da yapabilir mi?" diye sordu. O an projenin gerçekten tuttuğunu anladık.
Sonuçlar
| Metrik | Öncesi | Sonrası |
|---|---|---|
| Fatura başına süre | 8 dakika | 1.5 dakika (kontrol dahil) |
| Aylık hata oranı | %4.5 (~180 hata) | %0.3 (~12 hata) |
| Kayıp/unutulan fatura | Ayda 2-3 adet | 0 |
| Muhasebe ekibi veri girişi oranı | Mesainin %70'i | Mesainin %15'i |
| Yıllık tahmini tasarruf | - | ~180.000 TL |
Yatırımın geri dönüşü 2 ayda gerçekleşti. Muhasebe ekibinin %60'ı daha katma değerli işlere yönlendirildi. Sistem emin olamadığı alanlarda faturaları "inceleme kuyruğuna" atıyor, insan doğrulaması istiyor - bu da hata oranını %0.3'ün altında tutuyor.
"İlk hafta 'bu iş olmaz' diyordum. Bir ay sonra 'irsaliyeleri de ekleyelim' dedim. Artık faturayla uğraşmak yerine tedarikçi anlaşmalarını optimize ediyorum, çok daha verimli hissediyorum."
- Muhasebe sorumlusu, İstanbul (ismi gizli)
Sırada Ne Var?
Firma şimdi aynı altyapıyı irsaliye ve sözleşme işleme için genişletmeyi planlıyor. Modüler yapı sayesinde yeni belge tipleri eklemek, yeni bir NER modelinin fine-tune edilmesini gerektiriyor, yani altyapıyı sıfırdan kurmaya gerek yok. İrsaliye modülünün 3-4 haftada hazır olmasını bekliyoruz.
Bir de Mistral OCR 3'ün batch API'si sayesinde gece saatlerinde toplu fatura işleme yaparak maliyeti yarıya düşürmeyi deniyoruz. Sayfası $0.001'e geliyor, aylık 4.000 fatura için neredeyse hiç maliyet yok.