Laravel projelerinde GİB (Gelir İdaresi Başkanlığı) e-Arşiv Portal’ı üzerinden fatura oluşturmak artık çok daha kolay. Geliştirdiğimiz açık kaynaklı Laravel paketi ile, GİB’in test ortamına doğrudan bağlanabilir, fatura oluşturabilir, önizleyebilir ve ZIP formatında indirebilirsiniz.
Bu yazıda sizlere bu yeni paketin sunduğu özellikleri, neden geliştirildiğini ve nasıl kullanılacağını detaylarıyla anlatacağım.
Neden Bu Paketi Geliştirdik?
GİB’in e-Arşiv portalı üzerinden manuel fatura kesme işlemi zaman alan ve hataya açık bir süreçti. Özellikle Laravel projelerinde bu işlemi otomatikleştirmek isteyenler için hazır çözümler pahalı veya esnek değildi.
Bu ihtiyaçtan yola çıkarak, Laravel projeleriyle tam uyumlu ve geliştirici dostu bir paket oluşturmaya karar verdik.
Paket ile Neler Yapılabilir?
Bu paket sayesinde:
• GİB e-Arşiv test ortamına bağlanabilirsiniz.
• Taslak fatura oluşturabilirsiniz.
• Oluşturulan faturaların HTML önizlemesini alabilirsiniz.
• Faturaları ZIP formatında indirebilirsiniz.
• Kullanıcı bilgilerini ve alıcı verilerini GİB üzerinden çekebilirsiniz.
• Laravel’in Storage sistemiyle entegre olarak faturaları kaydedebilirsiniz.
• İptal ve itiraz talepleri gibi gelişmiş işlemleri (yakında) destekleyecektir.
Kurulum Oldukça Basit
composer require bercanozcan/earsiv
php artisan vendor:publish --tag=config
Kullanım Örneği
use Bercanozcan\\Earsiv\\Gib;
$gib = app(Gib::class)
->setTestCredentials()
->login();
$ettn = $gib->createDraft([
'faturaTarihi' => now()->format('d/m/Y'),
'vknTckn' => '11111111111',
'aliciUnvan' => 'Demo Müşteri A.Ş.',
...
]);
$html = $gib->getHtml($ettn);
$path = $gib->saveToDisk($ettn);
Dosya Sistemi Desteği
Paket, Laravel’in Storage sistemini kullanır. İster local, ister public, ister s3 gibi bir disk kullanıyor olun, faturalar doğru şekilde yapılandırdığınız dizine kaydedilir.
Örneğin: storage/app/faturalar/ yoluna otomatik olarak ZIP dosyası olarak kaydedilir.
Packagist Üzerinde Yayında
Paketimizi Packagist üzerinden de kurabilirsiniz:
🔗 https://packagist.org/packages/bercanozcan/earsiv
Her türlü katkıya ve geri bildirime açığız. GitHub üzerinden yıldız vererek destek olmayı unutmayın!
Bir yanıt yazın