Download the PHP package ibrcan/efatura without Composer
On this page you can find all versions of the php package ibrcan/efatura. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package efatura
🧾 eFatura
Bu kütüphane, PHP aracılığıyla eArşiv üzerinden fatura oluşturma, düzenleme, imzalama gibi işlemleri yapabilmenize olanak sağlar. Tamamen ücretsizdir ve aktif olarak geliştirilmektedir.
🚩Kurulum
Kendi verileriniz ile test etmek için:
https://earsivportal.efatura.gov.tr/intragiris.html
Test hesaplarıyla test etmek için:
https://earsivportaltest.efatura.gov.tr/login.jsp
Paket Kurulumu:
composer require furkankadioglu/efatura
📲 Destek ve Sorular
Eğer bir sorun yaşıyorsanız veya proje hakkında bir sorunuz varsa lütfen buradan bir kayıt oluşturun, yaşadığınız sorunu hep birlikte çözelim.
🚩Özellikler
- eArşiv oturumunu açma ve sonlandırma.
- Fatura oluşturma.
- İki tarih arası fatura sorgulama.
- Menü listesini görüntüleme.
- Fatura detaylarını görüntüleme.
- Türkçe veya İngilizce seçenekleriyle fatura modeli oluşturma.
- Faturayı HTML olarak çıktı alma.
- Faturanın indirme adresini alma.
- Faturayı iptal etme.
- Varolan bir faturayı sorgulama.
- Kullanıcı bilgilerini çekme. (Şirketinizin temel bilgileri)
- Kullanıcı bilgilerini güncelleme.
- SMS ile Fatura doğrulama ve onaylama.
- Faturayı PDF olarak çıktı alma.
🚩Örnekler
Giriş
Bir client oluşturarak genel yapıyı projemize dahil ediyoruz.
Giriş bilgilerinizi chain fonksiyonlarla tanımlayabiliyorsunuz, bu production için geçerlidir.
Alttaki kullanım ile test modunda çalıştırabilir, firmanızın bilgileri olmadan otomatik test girişi yapabilirsiniz. Bu aşamadan sonraki tüm işlemleriniz test hesabıyla gerçekleşir.
Ayrıca bilgilerinizi görüntülemek isterseniz:
Bilgilerimizi tanımladıktan sonra giriş yapıp token almak içinse: (Bu işlem olmadan diğer adımlara geçilemez)
Faturalandırma
Faturaların listelenmesi aşağıdaki şekilde yapılıyor:
Yeni bir fatura oluşturmak isterseniz, bir kaç seçeneğiniz mevcut, kullanım alışkanlığı olarak ingilizceye alışmışlar için iki farklı yöntem var, ilk aşamada Türkçe'den gidelim.
Örnek olarak şu şekilde bir fatura oluşturabiliriz:
Faturayı oluşturmak yetmez tabi, ürün veya hizmet de girmek lazım, oda şu şekilde oluyor.
Değişkenler Türkçe olduğundan dolayı mapWithTurkishKeys fonksiyonunu kullanıyoruz.
Sonrasında bunu InvoiceManager'a kayıt etmemiz gerekiyor. Oda bu şekilde:
Sonrasında da taslak oluşturuyoruz:
Adımıza Düzenlenen Faturaları Sorgulamak için
Kullanıcı Bilgileri
Bu kısım firmanızın eArşiv'de kayıtlı olan bilgileridir. Bu bilgileri alabilir ve güncelleyebilirsiniz.
👉Aynı zamanda bu bilgileri almak, fatura oluştururken ihtiyaç duyacağınız bir çok veri ihtiyacınızı da karşılar.
Bu işlem size bir adet UserInformations sınıfı döndürür. Bu sınıftaki verilerinizin tamamını set ve get metodlarıyla değiştirebilirsiniz:
Ayrıca bu sınıfın verilerini toplu olarak almak isterseniz aşağıdaki kullanımı uygulayabilirsiniz, aynı fonksiyon Invoice sınıfı içinde geçerli:
Aynı zamanda bu sınıfı kendiniz oluşturabilir ve array olarak veriyi sağlayabilirsiniz. Sonrasında da şu şekilde sunucuya göndeririz:
🚩Fonksiyonel Özellikler
(İndirme/Onaylama/HTML Çıktısını Alma/İptal vb.)
HTML çıktısını almak için:
PDF çıktısını almak için:
İndirme linkini almak için:
Faturayı iptal etmek için:
SMS doğrulaması yapmak için:
SMS doğrulamasını onaylamak ve onaylanacak faturaları göndermek için:
Kişi veya kurumun bilgilerini çekmek için:
Çıkış yapıp, oturumu kapatmak için:
Varolan bir faturayı sorgulamak için:
🚩Alternatif Kullanımlar
Kısaltılmış Kullanımlar:
Uzun gelmiş olabilir. 😂 Gayet doğal, chain methodlar ile hayatımızı kolaylaştırıyoruz. Tek satırda işimizi halledelim:
Sabit Değişkenler:
Bir çok farklı veri tipi olduğundan ve önceden bilinmediğinde sorunlar çıkabileceğini düşünerek, bazı ihtiyaç duyulan sabit seçenekler de mevcut. Tüm değişken isimleri eArşiv de görünenlerle birebir yapıldı. Örnekten bazılarını görebilirsiniz:
Anahtar Yapısını Değiştirme:
Bu şekilde de map edebileceğiniz gibi ayrıyetten getter/setter methodları da mevcut, istediğiniz her veriyi düzenleyebilirsiniz:
Toplu veri alımı ve çıkartımı:
Fatura verisinin değişken değerlerini toplu olarak ekleyebilir veya çıkartabiliriz, şöyle:
🚩Diğer Konular
Testleri Çalıştırma:
Daha Fazla Örnek:
Daha fazla örneği buradan` bulabilirsiniz.
Uyarı
🚨 Bu paket vergiye tabi olan belge oluşturur, hiç bir sorumluluk kabul edilmez ve ne yaptığınızdan emin olana kadar debugMode açık şekilde test verileriyle işlem yapmanız önerilir.
Ayrıca
Bu proje Fatih Kadir Akın'ın fatura.js` projesinden yola çıkılarak PHP diline uyarlanarak yapılmıştır. Arda Kılıçdağı'na da ayrıca teşekkürler.
All versions of efatura with dependencies
guzzlehttp/guzzle Version ^7.4
ramsey/uuid Version ^3.7|^4.0
kwn/number-to-words Version ^1.9
mpdf/mpdf Version ^8.0