AI Invoice Scanner, fiş ve faturalarınızı yapay zeka destekli OCR teknolojisi ile tarayan, dijitalleştiren ve düzenleyen modern bir web uygulamasıdır. Mistral AI ve Google Gemini modellerini kullanarak kağıt üzerindeki verileri saniyeler içinde anlamlı verilere dönüştürür.
🔗 Demo: https://invoice.mobiza.com.tr/
- Yapay Zeka Destekli OCR: Mistral OCR ile yüksek doğrulukta metin okuma.
- Akıllı Ayrıştırma: Google Gemini AI ile fiş verilerini (Tarih, Mağaza Adı, Ürünler, KDV, Toplam Tutar) otomatik sınıflandırma.
- Otomatik Hesaplama: Eksik veya hatalı okunan tutarları matematiksel olarak doğrulama ve düzeltme.
- Görselleştirme: Taranan fişi, termal fiş veya A4 fatura formatında görüntüleme.
- Yazdırma Desteği:
- Fiş Modu: 80mm termal yazıcılar için optimize edilmiş çıktı.
- Fatura Modu: A4 kağıt boyutunda, kenar boşlukları ayarlanmış profesyonel fatura çıktısı.
- Dışa Aktarma: Verileri JSON formatında indirme imkanı.
- Maliyet Analizi: İşlem başına tahmini token ve maliyet hesaplaması.
- Frontend: React, TypeScript, Vite
- Stil: Tailwind CSS, Lucide React (İkonlar)
- Yapay Zeka:
- OCR: Mistral OCR (
mistral-ocr-latest) - Veri İşleme: Google Gemini 2.5 Flash Lite (
gemini-2.5-flash-lite)
- OCR: Mistral OCR (
- Yazdırma:
react-to-print
Bu projeyi çalıştırmak için bilgisayarınızda aşağıdakilerin kurulu olması gerekir:
Bu projeyi Plesk kontrol paneline dağıtmak için aşağıdaki komutları kullanabilirsiniz:
Dağıtım Eylemleri (Deployment Actions):
# Node.js bağımlılıklarını yükle
npm install
# Projeyi build et
npm run build
# Build dosyalarını web sunucusu dizinine kopyala (gerekirse)
cp -r dist/* /invoice.mobiza.com.tr/Not: Eğer farklı bir sunucu yapınız varsa, cp komutunu sunucu dizininize göre ayarlayın.
En temel seviyede kurulum adımları aşağıdadır:
-
Projeyi İndirin (Klonlayın): Terminali (Komut İstemi veya Terminal) açın ve şu komutu yapıştırın:
git clone https://github.com/mobiza/ai-invoice-scanner.git cd ai-invoice-scanner -
Gerekli Paketleri Yükleyin: Proje klasörünün içindeyken şu komutu çalıştırın:
npm install
-
Ayarları Yapılandırın (.env):
- Proje ana dizinindeki
.env.exampledosyasının adını.envolarak değiştirin (veya yeni bir.envdosyası oluşturun). - Bu dosyanın içine API anahtarlarınızı yapıştırın (Aşağıdaki "Yapılandırma" başlığına bakın).
- Proje ana dizinindeki
-
Uygulamayı Başlatın:
npm run dev
Komut çalıştıktan sonra tarayıcınızda
http://localhost:25300(veya terminalde belirtilen adres) adresine gidin.
Projenin çalışması için API anahtarlarına ihtiyacınız vardır. .env dosyanız şu şekilde olmalıdır:
# Mistral AI API Anahtarı (OCR için)
VITE_MISTRAL_API_KEY=Sizin_Mistral_API_Anahtariniz
# Google Gemini API Anahtarı (Ayrıştırma için)
VITE_GEMINI_API_KEY=Sizin_Gemini_API_Anahtariniz
# Kullanılacak Modeller (İsteğe Bağlı Değiştirilebilir)
VITE_GEMINI_MODEL=gemini-2.5-flash-lite
VITE_MISTRAL_MODEL=mistral-ocr-latestgraph TD
A[Kullanıcı Fiş Yükler] -->|Resim/PDF| B("Mistral OCR");
B -->|Ham Metin Markdown| C["Gemini AI"];
C -->|Veri Ayrıştırma & Düzeltme| D["Yapılandırılmış JSON"];
D --> E["Arayüzde Gösterim"];
E --> F["Kullanıcı İşlemi"];
F -->|Fiş Görünümü| G["Termal Yazıcı Çıktısı"];
F -->|Fatura Görünümü| H["A4 Fatura Çıktısı"];
F -->|JSON İndir| I["Dosya Kaydetme"];
- Yükleme: Kullanıcı bir fiş fotoğrafı veya PDF yükler.
- OCR (Mistral): Görüntü metne dönüştürülür.
- Analiz (Gemini): Metin içindeki mağaza adı, tarih, ürünler ve fiyatlar ayrıştırılır. Hatalı okumalar (örn. 0 yerine O) düzeltilir.
- Sonuç: Kullanıcıya temizlenmiş, hesaplamaları doğrulanmış bir fiş veya fatura sunulur.
Projeye katkıda bulunmak isterseniz çok seviniriz!
- Bu depoyu (repository) forklayın.
- Yeni bir özellik dalı (branch) oluşturun (
git checkout -b yeni-ozellik). - Değişikliklerinizi yapın ve commitleyin (
git commit -m 'Yeni özellik eklendi'). - Dalınızı (branch) gönderin (
git push origin yeni-ozellik). - Bir Pull Request (PR) oluşturun.
Bu proje MIT Lisansı ile lisanslanmıştır. Özgürce kullanabilir, değiştirebilir ve dağıtabilirsiniz.