Download the PHP package muhittingulap/qnbfinansbank without Composer
On this page you can find all versions of the php package muhittingulap/qnbfinansbank. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download muhittingulap/qnbfinansbank
More information about muhittingulap/qnbfinansbank
Files in muhittingulap/qnbfinansbank
Package qnbfinansbank
Short Description QNB Finansbank E-Fatura ve E-Arşiv Api
License MIT
Homepage https://github.com/muhittingulap/qnbfinansbank
Informations about the package qnbfinansbank
E-Fatura / E-Arşiv
QNB Finansbank
QNB Finansbank E-Fatura ve E-Arşiv PHP Api
QNB Finansbank web servisleri için PHP ile yazılmış olan bu kütüphane ile E-Arşiv, E-Fatura bildirim işlemlerini yapabilirsiniz.
Dokümantasyon (QNB FinansBank)
Dokümantasyon dosyalarına ulaşmak için tıklayınız.
Kurulum
$ composer require muhittingulap/qnbfinansbank
Projenizde Kullanma
Desteklenen Yöntemler
- E-Fatura
- setEFatura() : E-Fatura bildirme işlemi yapabilirsiniz.
- getFaturaNo() : Portaldaki en son gönderilmiş fatura numaranıza göre sonraki fatura numarasını üretir.
- getEfaturaKullanicisi() : İlgili kişinin vergi numarasından E-Fatura mükellefi olup olmadığı bilgisini getirir.
- gidenBelgeDurumSorgula() : Giden faturalarınızı durumunu sorgulayabilirsiniz..
- gidenBelgeleriListele() : Gönderilmiş faturalarınızı listeleyebilirsiniz.
- gelenBelgeleriListele() : Gelen faturalarınızı listeleyebilirsiniz.
- E-Arşiv
- setEArsiv() : E-Arşiv bildirme işlemi yapabilirsiniz.
- getFaturaNo() : Portaldaki en son gönderilmiş fatura numaranıza göre sonraki fatura numarasını üretir.
- getFaturaSorgula() : Fatura detay görüntüleme servisidir. Faturanın PDF/HTML bilgisi ve detayları döner.
- callFaturaIptalEt() : Fatura iptal etme servisidir.
Bildirilecek Datanın Hazırlanması (UBL)
- Başlangıç datasının hazırlanması
E-Fatura ve E-Arşiv için ortak data hazılarması gerekmektedir. Aşağıdaki kodda görülen şekilde başlangıç datası oluşturulur ve ardından eklemeler yapılarak son data çıktısı alınacatır.Bu Alınan data daha sonrasında ister E-Arşiv istersenizde E-Faturaya gönderebileceksiniz.
Parameters:
Parametre | Açıklama |
---|---|
ID | Fatura numaranız 'TRA2020000000001' şeklinde boş bırakılması halinde finansbank tarafından otomatik oluşturulur. Finansbank'tan e-arşiv ve e-fatura için seri no belirleme için tıklayınız. |
ProfileID | 'TICARIFATURA','TEMELFATURA' veya 'EARSIVFATURA' yazabilirsiniz. E-Arşiv içinbu bilgi boş olduğunda otomaik oluşturulur. |
UUID | Benzersiz işlem numarasıdır. Otomatik oluşturulması için yukarıda örnek kod bulunur. |
IssueDate | Fatura Tarihi YYYY-MM-DD şeklinde girilmelidir. örn: 2020-07-01 |
IssueTime | Fatura Saati HH:ii:ss şeklinde girilmelidir. 20:18:00 |
- Not Bilgilerinin Eklenmesi
Her Bir Notu set ediyoruz. Notlar için dokümanı inceleyiniz.
Örnek:
Parameters:
Parametre | Açıklama |
---|---|
Gönderim Şekli: ELEKTRONIK | Bu not E-Arşiv için zorunludur. Diğer not lar için dokümantasyonu inceleyiniz. |
#EFN_SERINO_TERCIHI#EF# | Bu not E-Fatura No otomatik üretilmesi istenmesi durumunda başlangıç seri no maksimum 2 hane gönderilmelidir. Bu örnekte : EF |
- Satıcı ve Alıcı Bilgilerinin Eklenmesi
Aynı bu set işlemini 'Customer' içinde alıcı bilgilerini yazıp yapmalı ve aşağıdaki 'Supplier' yazan yeri değiştirip set etmelisiniz.
Parameters:
Parametre | Açıklama |
---|---|
WebsiteURI | Web site adresi bilgisi |
PartyIdentificationID | Vergi no veya TC kimlik no bilgisi |
PartyName | Ad Soyad veya Ünvan bilgisi |
Telephone | Telefon numarası bilgisi |
Telefax | Fax numarası bilgisi |
ElectronicMail | Email adresi bilgisi |
PartyTaxSchemeName | Vergi Dairesi (varsa) bilgisi |
StreetName | Açık Adresi bilgisi |
BuildingNumber | Kapı Numarası bilgisi |
CitySubdivisionName | İlçe bilgisi |
CityName | İl bilgisi |
PostalZone | Posta Kodu bilgisi |
CountryName | Ülke bilgisi |
- Satıcı ve Alıcı Personel Bilgilerinin Eklenmesi
'Customer' için mutlaka set edin çünkü TC kimlik no olduğunda zorunludur. Supplier için zorunlu değil ama girebilirsiniz
Parameters:
Parametre | Açıklama |
---|---|
FirstName | Ad bilgisi |
FamilyName | Soyad bilgisi |
- Ödeme Koşulları Girilmesi
Bilgi notu şeklinde girilemsi zorunlu değildir.
Parameters:
Parametre | Açıklama |
---|---|
Note | Not bilgisi |
PaymentDueDate | Son Ödeme Tarihi bilgisi. örn: 2020-07-30 |
- Fatura Satırlarının Girilmesi
Bu adım da her satır için bu işlemi tekrarlamanız veya bir döngü içerisinde tüm fatura satırlarınızı set etmeniz gerekmektedir.
Parameters:
Parametre | Açıklama |
---|---|
ID | Satır sıra no veya benzersiz ID her satır için uniq olmalı |
InvoicedQuantity | Ürün Adet |
LineExtensionAmount | Satır toplam vergiler hariç |
BaseAmount | Satır toplam vergiler dahil |
TaxAmount | Vergiler toplam tutarı |
ItemName | Satılan ürün adı |
PriceAmount | Satır birim fiyat |
TaxSubtotal -> TaxableAmount | Vergi toplam matrah |
TaxSubtotal -> TaxAmount | Vergi toplam tutarı |
TaxSubtotal -> Percent | Vergi Oranı |
TaxSubtotal -> TaxSchemeName | Vergi başlığı |
TaxSubtotal -> TaxSchemeTaxTypeCode | Vergi Kodu (dokümantasyon inceleyin) |
- Datanın Son Halinin Alınması
Bu adım da fatura satırlarından otomatik olarak parasal toplamların ve vergisel toplamların heaplanıp, E-Arşiv ve E-Fatura ya gönderileck datanın son halinin, xml öncesi array datasının alıp bir değişkene atıyoruz ve artık bildirim aşamasına geçebiliriz.
Servis Bağlantı İşlemleri
Web servislerine bağlantı için TEST veya CANLI ortam username ve password bilgilerini tanımlıyoruz. Bu bilgiler qnbfinansbank tarafından alınır. Email atıp bilgileri alabilirsiniz.
Parameters:
Parametre | Açıklama |
---|---|
setUsername | Belirlenen kullanıcı adınız (bildirimi yapacak firmanın qnbfinansbank hesap bilgisi) |
setpassword | Belirnenen şifreniz (bildirimi yapacak firmanın qnbfinansbank hesap bilgisi) |
setvergiTcKimlikNo | Vergi kimlik numaranız (bildirimi yapacak firmanın qnbfinansbank hesap bilgisi) |
setUrl | E-Arşiv veya E-Fatura, (test veya canlı) Web Servis Url si (qnbfinansbank tarafından alınır.) |
getConfig | Son olarak oluşturulan ayarların array olarak alıyoruz. |
Test Url
- E-Arşiv : https://earsivtest.efinans.com.tr/earsiv/ws/EarsivWebService?wsdl
- E-Fatura : https://erpefaturatest.cs.com.tr:8443/efatura/ws/connectorService?wsdl
E-Fatura İşlemleri
E-Faturaya bildirim işlemlerini yapabilmek için class ı çağırıyoruz ve set işlemlerine başlıyoruz.
REQUEST Parameters:
Parametre | Açıklama |
---|---|
setConfig | Yukarıda ayarladığımız ayar bilgileri gönderiyoruz. |
setStart | Servise başlangıç tetiği veriyoruz.(ilgili ayarlara göre soap başlatır.) |
setBelgeNo | Varitabanınızda fatura Id si veya uniq bir değer olabilir. |
setData | Yukarıda ilk önce hazırladığıız datayı gönderiyoruz. |
setEFatura | Son olarak E-Fatura bildirim servisini çalıştırıyoruz. |
RESPONSE Parameters:
Parametre | Açıklama |
---|---|
belgeOid | Bildirim sonrası bize qnbfinansbank tarafından gönderilen benzersiz bildirim keyi bu keyi kullanarak e fatura sorgulama işlemi yapacağız. |
E-Arşiv İşlemleri
E-Arşiv bildirim işlemlerini yapabilmek için class ı çağırıyoruz ve set işlemlerine başlıyoruz.
REQUEST Parameters:
Parametre | Açıklama |
---|---|
setConfig | Yukarıda ayarladığımız ayar bilgileri gönderiyoruz. (eğer e arşiv için başka ayarlar varsa option değişkenini o ayarlara göre tekrar oluşturun.) |
setStart | Servise başlangıç tetiği veriyoruz.(ilgili ayarlara göre soap başlatır.) |
setSube | QNB Finansbank portal yapılandırma ayarlarında WEB SERVİS için tanımlanan Şube bilgisi |
setKasa | QNB Finansbank portal yapılandırma ayarlarında WEB SERVİS için tanımlanan Kasa bilgisi |
setData | Yukarıda ilk önce hazırladığıız datayı gönderiyoruz. |
setEArsiv | Son olarak E-Arşiv bildirim servisini çalıştırıyoruz. |
RESPONSE Parameters:
Parametre | Açıklama |
---|---|
resultCode | İşlemin durum kodu başarılı için (AE00000) diğer kodlar için dokümantasyon inceleyin. |
resultText | İşlem sonucu mesajı |
resultExtra->entry | Başarılı olduğunda dönen kullanabileceğiniz parametreler array şeklide döner. |
--faturaURL | entry arrayi içinde fatura url si |
--uuid | entry arrayi içinde gönderdiğinzi UUID bilgisi |
--faturaNo | entry arrayi içinde sizin bildirdiğiniz veya otomatik bildirilmesini istediğiniz fatura no örn. TMA202000000001 |
E-Fatura ve E-Arşiv Ek Methodlar
E-Fatura veya E-Arşiv için ihtiyaca göre ek methodlar kullanabilirsiniz.
- E-Fatura
- getFaturaNo() : Portaldaki en son gönderilmiş fatura numaranıza göre sonraki fatura numarasını üretir.
E-Fatura Numarası üretmek için getFaturaNo() Methodu ile geriye dönen değeri $ID değişkenine alıp başlangıç datasına gönderdiğimizde otomatik değil bizim gönderdiğimiz fatura No yu kabul eder.
Parameters:
Parametre | Açıklama |
---|---|
setConfig | Servis ayalarını set ediyoruz yukarıdaki gibi |
setStart | Servisi başlatıyoruz |
getFaturaNo | Fatura no üretmesi için başlangıç seri no gönderiyoruz örn. TRE |
- getEfaturaKullanicisi() : İlgili kişinin vergi numarasından E-Fatura mükellefi olup olmadığı bilgisini getirir.
Hazırladığımı datanın E-Fatura ya mı E-Arşiv emi gönderecileceğini tespit etmek için getEfaturaKullanicisi() methodu ile kontrol ediyoruz. Eğer (true veya 1) bir değer dönerse e fatura mükellefi demektir ve hazırladığımız datanın E-Fatura ya gönderileceği anlaşılmaktadır. Aksi durumda ise E-Arşive gönderebilirsiniz.
Parameters:
Parametre | Açıklama |
---|---|
setConfig | Servis ayalarını set ediyoruz yukarıdaki gibi |
setStart | Servisi başlatıyoruz |
getEfaturaKullanicisi | E-Fatura mükellefimi değilmi öğrenebilmek için fatura sahibinin TC veya VERGİ KİMLİK NO su. |
- E-Arşiv
- getFaturaNo() : En Son üretilen e arşiv fatura nosu her çalıştığında otomatik olarak counter artarak döner.
E-Arşiv Numarası üretmek için getFaturaNo() Methodu ile geriye dönen değeri $ID değişkenine alıp başlangıç datasına gönderdiğimizde otomatik değil bizim gönderdiğimiz fatura No yu kabul eder. E-Arşiv olduğu için her çalıştırıldığında yeni bir numara üretir.
Parameters:
Parametre | Açıklama |
---|---|
setConfig | Servis ayalarını set ediyoruz yukarıdaki gibi |
setStart | Servisi başlatıyoruz |
setUuid | Başlangıç datası hazırladığımızdaki uuid oluşturma işlemi bu uid le sonrasında e arşiv faturamınız bildireceğiz. |
getFaturaNo | Fatura no üretmesi için başlangıç seri no gönderiyoruz örn. TRA |
Otomatik Bildirim İşlemleri (Hazırlanıyor..)
E-Fatura veya E-Arşiv gönderisinin otomatik bir şekilde tespit edilip tek bir class üzerinden göndermek siterseniz aşağıdaki yöntemi kullanabilirsiniz.
Destek
Bir hata bulduğunuzu düşünüyorsanız, lütfen GitHub issue tracker kullanarak bildirin, ya da daha iyisi, kütüphaneyi çatallayın ve bir çekme isteği gönderin.
License
MIT Lisansı (MIT). Daha fazla bilgi için lütfen License File bakın.