bercanozcan/earsiv

Bu Laravel paketi, GİB e-Arşiv Portalı ile doğrudan bağlantı kurarak kullanıcıların e-Arşiv faturalarını otomatik olarak oluşturmasını, önizlemesini almasını, indirmesini ve yönetmesini sağlar.

v1 2025-04-07 20:12 UTC

This package is auto-updated.

Last update: 2025-04-07 20:16:47 UTC


README

Bu Laravel paketi, GİB e-Arşiv Portalı ile doğrudan bağlantı kurarak kullanıcıların e-Arşiv faturalarını otomatik olarak oluşturmasını, önizlemesini almasını, indirmesini ve yönetmesini sağlar.

Gereksinimler

Depo Durumu

PHP Laravel Son Commit Açık Konular Kapalı Konular Yıldızlar Çatallar

🔧 Kurulum

1. Composer ile yükleme

composer require bercanozcan/earsiv

2. Yapılandırma dosyasını yayınlayın

php artisan vendor:publish --tag=config --provider="Bercanozcan\\Earsiv\\EarsivServiceProvider"

Bu işlem config/earsiv.php dosyasını oluşturur.

⚙️ Yapılandırma

config/earsiv.php dosyası üzerinden indirilecek dosyaların kaydedileceği yolu ayarlayabilirsiniz:

return [
    'download_path' => 'faturalar', // storage/app/faturalar
];

🚀 Kullanım

Giriş ve fatura oluşturma

use Bercanozcan\Earsiv\Gib;

$gib = app(Gib::class)
    ->setTestCredentials()
    ->login();

$invoice = [
    'faturaTarihi' => now()->format('d/m/Y'),
    'saat' => now()->format('H:i:s'),
    'vknTckn' => '11111111111',
    'aliciUnvan' => 'Demo Müşteri A.Ş.',
    'vergiDairesi' => 'TEST VD',
    'malHizmetTable' => [[
        'malHizmet' => 'Danışmanlık Hizmeti',
        'miktar' => 1,
        'birim' => 'HUR',
        'birimFiyat' => 1000,
        'fiyat' => 1000,
        'kdvOrani' => 20,
        'kdvTutari' => 200,
        'malHizmetTutari' => 1000,
        'iskontoOrani' => 0,
        'iskontoTutari' => 0,
        'iskontoArttm' => 'İskonto'
    ]],
    'matrah' => 1000,
    'hesaplanankdv' => 200,
    'vergilerToplami' => 200,
    'vergilerDahilToplamTutar' => 1200,
    'odenecekTutar' => 1200,
    'tip' => 'İskonto',
    'not' => 'Bu bir demo faturadır.',
];

$ettn = $gib->createDraft($invoice);

echo "Fatura oluşturuldu: $ettn";

Fatura önizlemesi alma (HTML)

$html = $gib->getHtml($ettn);

Faturayı diske kaydetme

$path = $gib->saveToDisk($ettn);
// storage/app/faturalar/xxxx.zip

🧪 Test Ortamı

Test kullanıcıları setTestCredentials() metodu ile otomatik alınır.
Tüm işlemler earsivportaltest.efatura.gov.tr üzerinde gerçekleştirilir.

📁 Dosya Sistemi

Faturalar Laravel Storage sistemi ile belirtilen diske (örnek: local, public, s3) kaydedilir.
.env üzerinden kontrol edilen FILESYSTEM_DISK değişkeni aktif olarak kullanılır.

✅ Desteklenen İşlemler

  • Giriş (login)
  • Fatura oluşturma (createDraft)
  • Fatura önizleme (getHtml)
  • Fatura indirme (saveToDisk)
  • Kullanıcı bilgisi sorgulama (getUserData)
  • Alıcı bilgisi alma (getRecipientData)
  • İptal ve itiraz talepleri (yakında)
  • SMS ile imzalama (yakında)

👨‍💻 Geliştirici

Bercan Özcan
GitHub - @bercanozcan

🛡 Uyarı

Bu paket GİB test ortamında denenmiştir.
Gerçek ortamda kullanmadan önce verilerin doğruluğunu ve teknik dökümana uygunluğunu mutlaka test ediniz.

📄 Lisans

Bu proje MIT Lisansı ile lisanslanmıştır.