55 use Hasokeyk \Elogo \Fatura \FaturaSatir ;
66 use Hasokeyk \Elogo \Firma \BenimFirmam ;
77 use Hasokeyk \Elogo \Firma \MusteriFirmasi ;
8- use Hasokeyk \Elogo \ElogoHata ;
98
109 require "vendor/autoload.php " ;
1110
1716
1817 $ elogo_login = $ elogo ->giris_yap ();
1918 if (isset ($ elogo_login ->sessionID )){
20- try {
21- //SİZE AİT FİRMANIN BİLGİLERİ
22- $ benim_firmam = new BenimFirmam ();
23- $ benim_firmam ->setYetkiliAdi ('Hasan ' ); // ŞAHIS İSE GEREKLİ
24- $ benim_firmam ->setYetkiliSoyadi ('Yüksektepe ' ); // ŞAHIS İSE GEREKLİ
25- $ benim_firmam ->setFirmaAdi ('Hasan Yüksektepe ' ); // TİCARİ İSE GEREKLİ
26- $ benim_firmam ->setTcKimlikNo ('XXXXXXXXXXX ' ); // ŞAHIS İSE GEREKLİ
27- $ benim_firmam ->setVergiNo ('XXXXXXXXXXX ' ); // TİCARİ İSE GEREKLİ
28- $ benim_firmam ->setMersisNo ('XXXXXXXXXXX ' ); // OPSİYONEL
29- $ benim_firmam ->setTelefon ('XXXXXXXXXXX ' ); // OPSİYONEL
30- $ benim_firmam ->setEmail ('info@hayatikodla.net ' ); // OPSİYONEL
31- $ benim_firmam ->setWebsitesi ('hayatikodla.net ' ); // OPSİYONEL
32- $ benim_firmam ->setVergiDairesi ('HAYATIKODLA ' ); // GEREKLİ
33- $ benim_firmam ->setAcikAdres ('TAM ADRES BİLGİSİ ' ); // GEREKLİ
34- $ benim_firmam ->setIl ('İstanbul ' ); // GEREKLİ
35- $ benim_firmam ->setIlce ('Sancaktepe ' ); // GEREKLİ
36- $ benim_firmam ->setBinaNo ('XXX ' ); // GEREKLİ
37- $ benim_firmam ->setBinaAdi ('XXX ' ); // GEREKLİ
38- $ benim_firmam ->setPostaKodu ('XXXXXX ' ); // GEREKLİ
39- $ benim_firmam ->setUlke ('Türkiye ' ); // GEREKLİ
40- $ benim_firmam ->setUlkeKodu ('TR ' ); // GEREKLİ
41-
42- //MÜŞTERİNİN FİRMASININ BİLGİLERİ
43- //Karşı taraf firma değil birey ise vergi noyu göndermeyebilirsiniz.
44- $ musteri_firmasi = new MusteriFirmasi ();
45- $ musteri_firmasi ->setYetkiliAdi ('Hasan ' ); // ŞAHIS İSE GEREKLİ
46- $ musteri_firmasi ->setYetkiliSoyadi ('Yüksektepe ' ); // ŞAHIS İSE GEREKLİ
47- $ musteri_firmasi ->setFirmaAdi ('Hasan Yüksektepe ' ); // TİCARİ İSE GEREKLİ ŞAHIS İÇİN BOŞ BIRAKILABİLİR
48- $ musteri_firmasi ->setVergiNo ('XXXXXXXXXXX ' ); // TİCARİ İSE GEREKLİ ŞAHIS İÇİN BOŞ BIRAKILABİLİR
49- $ musteri_firmasi ->setTcKimlikNo ('XXXXXXXXXXX ' ); // ŞAHIS İSE GEREKLİ
50- $ musteri_firmasi ->setMersisNo ('XXXXXXXXXXX ' ); // OPSİYONEL
51- $ musteri_firmasi ->setTelefon ('XXXXXXXXXXX ' ); // OPSİYONEL
52- $ musteri_firmasi ->setEmail ('info@hayatikodla.net ' ); // OPSİYONEL
53- $ musteri_firmasi ->setWebsitesi ('hayatikodla.net ' ); // OPSİYONEL
54- $ musteri_firmasi ->setVergiDairesi ('HAYATIKODLA ' ); // GEREKLİ
55- $ musteri_firmasi ->setAcikAdres ('TAM ADRES BİLGİSİ ' ); // GEREKLİ
56- $ musteri_firmasi ->setIl ('İstanbul ' ); // GEREKLİ
57- $ musteri_firmasi ->setIlce ('Sancaktepe ' ); // GEREKLİ
58- $ musteri_firmasi ->setBinaNo ('XXXXX ' ); // GEREKLİ
59- $ musteri_firmasi ->setBinaAdi ('XXXXXX ' ); // GEREKLİ
60- $ musteri_firmasi ->setPostaKodu ('XXXXXX ' ); // GEREKLİ
61- $ musteri_firmasi ->setUlke ('Türkiye ' ); // GEREKLİ
62- $ musteri_firmasi ->setUlkeKodu ('TR ' ); // GEREKLİ
63-
64- //FATURADAKİ ÜRÜN VEYA HİZMETLERİNİZİ AŞAĞIDAKİ GİBİ GİREBİLİRSİNİZ.
65- $ fatura_satir = new FaturaSatir ();
66-
67- $ fatura_satir ->setYeniUrun ()->setUrunAdi ('Yazılım ' )->setUrunAciklama ('Ürün 1 açıklama ' )->setUrunAdet (2 )->setUrunBirimFiyat (500 )->setUrunIndirimTutari (500 )->setUrunKdvOrani (20 );
68- $ fatura_satir ->setYeniUrun ()->setUrunAdi ('Yazılım2 ' )->setUrunAciklama ('Ürün 2 açıklama ' )->setUrunAdet (2 )->setUrunBirimFiyat (1500 )->setUrunKdvOrani (20 );
69-
70- //FATURA BİLGİLERİNİ AŞAĞIDAKİ GİBİ GİRİNİZ
71- //FATURA TUTARLARINI YUKARIDA GİRDİĞİNİZ ÜRÜN VEYA HİZMETLERİNİZE GÖRE OTOMATİK TOPLAMAKTADIR.
72- //BU YÖNTEM İLE TUTAR UYUŞMAZLIKLARININ ÖNÜNE GEÇİLMİŞTİR.
73-
74- $ fatura = new Fatura ();
75- $ fatura_no = $ elogo ->fatura_no_olustur (); // FATURA OLUŞTURURKEN EFATURA İÇİN 'FTR' KENDİ SIRASINA GÖRE DEVAM ETMELİ, E-ARŞİV İÇİN ARS KENDİ SIRASINA GÖRE DEVAM ETMELİ,
76- // ÖRN: ARS0000001, ARS0000002, FTR0000001, FTR0000002
77-
78- $ uuid = sprintf (// Mevcut yapınıza uygun olarak $uuid verisini kendiniz oluşturabilirsiniz.
79- '%04x%04x-%04x-%04x-%04x-%04x%04x%04x ' ,
80- mt_rand (0 , 0xffff ), mt_rand (0 , 0xffff ),
81- mt_rand (0 , 0xffff ),
82- mt_rand (0 , 0x0fff ) | 0x4000 ,
83- mt_rand (0 , 0x3fff ) | 0x8000 ,
84- mt_rand (0 , 0xffff ), mt_rand (0 , 0xffff ), mt_rand (0 , 0xffff )
85- );
86-
87- //FATURA TASARIMINIZ ÖZEL HAZIRLANMIŞ İSE BURADAN UBL FORMATINDAKİ DOSYANIZA TAM YOLUNU VERMELİSİNİZ.
88- //FATURA TASARIMINI ELOGO PANELİNDEN "AYARLAR / TASARIM ARAÇLARI" VEYA "AYARLAR / HAZIR TASARIM ARACI" MENÜSÜNDEN OLUŞTURUP İNDİREBİLİRSİNİZ
89- $ varsayilan_earsiv_xml = $ fatura ->varsayilan_earsiv_tasarim_dosyasi ;
90- $ varsayilan_efatura_xml = $ fatura ->varsayilan_efatura_tasarim_dosyasi ;
91-
92- $ fatura ->setFaturaEarsivTasarimDosyasi ($ varsayilan_earsiv_xml );
93- $ fatura ->setFaturaEfaturaTasarimDosyasi ($ varsayilan_efatura_xml );
94-
95- $ fatura ->setFaturaNo ($ fatura_no );
96- $ fatura ->setFaturaEttn ($ uuid );
97- // FATURA E-ARŞİV ise 'EARSIVFATURA', E-FATURA ise 'TICARIFATURA' kullanılabilir.
98- $ fatura ->setFaturaTuru ('TICARIFATURA ' ); // ['TICARIFATURA', 'EARSIVFATURA', 'TEMELFATURA', 'IHRACAT', 'KAMU', 'HALFATURA', 'YOLCUBERABER']
99- $ fatura ->setFaturaTuru ('SATIS ' ); // ['SATIS', 'IADE', 'TEVKIFATIADE', 'IHTIYACKAYITLI', 'ISTISNA', 'OZELMATRAH', 'TEVKIFAT', 'SGK', 'KONAKLAMAVERGISI']
100- $ fatura ->setFaturaTarihi ('2023-02-26 ' );
101-
102- $ fatura ->setKdvOrani (18 );
103- // $fatura->setKdvMuhafiyetKodu('325');
104- $ fatura ->setFaturaKesenFirma ($ benim_firmam );
105- $ fatura ->setMusteriFirma ($ musteri_firmasi );
106- $ fatura ->setParaBirimi ('TRY ' );
107-
108- //PARA BİRİMİNİZ TRY DIŞINDA BİR PARA BİRİMİ İSE MUTLAKA KUR BİLGİSİ GİRMELİSİNİZ
109- // $fatura->setKurFiyati('18.1540');
110-
111- $ fatura ->setUrunler ($ fatura_satir );
112-
113- //FATURA TASARIMINIZDA ÖZEL ALANLAR OLABİLİR. BU ÖZEL ALANLARI ELOGO PANELİNDE
114- //"AYARLAR / GÖRSEL TASARIM EK ALANLARI" MENÜSÜNDEN EKLEYEBİLİRSİNİZ. FAKAT EKLERKER
115- //XSLT ISMINA
116- // <xsl:for-each select="//n1:Invoice/cac:AdditionalDocumentReference">
117- // <xsl:if test ="cbc:DocumentType = 'GemiNo'">
118- // <xsl:value-of select="cbc:ID"/>
119- // </xsl:if>
120- // </xsl:for-each>
121- // BU XML KOMUTUNU YAZMALISINIZ.
122- //BU KOMUTTAKİ "GemiNo" KISMI AŞAĞIDAKİ KODDA KULLANACAĞINIZ KISA KOD OLMALIDIR
123- // $parametreler = [
124- // 'GemiNo' => 'Hsn123',
125- // ];
126- //
127- // $fatura->setOzelParametreler($parametreler);
128-
129- $ einvoice = $ elogo ->earsiv_gonder ($ fatura , $ benim_firmam , $ musteri_firmasi );
130- print_r ($ einvoice );
131- }catch (ElogoHata $ err ){ // ELOGO Servisinden gelen yanıtları okunabilir hale getirir.
132- echo $ err ->getMessage ();
133- }
19+
20+ //SİZE AİT FİRMANIN BİLGİLERİ
21+ $ benim_firmam = new BenimFirmam ();
22+ $ benim_firmam ->setYetkiliAdi ('Hasan ' );
23+ $ benim_firmam ->setYetkiliSoyadi ('Yüksektepe ' );
24+ $ benim_firmam ->setFirmaAdi ('Hasan Yüksektepe ' );
25+ $ benim_firmam ->setTcKimlikNo ('XXXXXXXXXXX ' );
26+ // $benim_firmam->setVergiNo('XXXXXXXXXXX');
27+ $ benim_firmam ->setMersisNo ('XXXXXXXXXXX ' );
28+ $ benim_firmam ->setTelefon ('XXXXXXXXXXX ' );
29+ $ benim_firmam ->setEmail ('info@hayatikodla.net ' );
30+ $ benim_firmam ->setWebsitesi ('hayatikodla.net ' );
31+ $ benim_firmam ->setVergiDairesi ('HAYATIKODLA ' );
32+ $ benim_firmam ->setAcikAdres ('TAM ADRES BİLGİSİ ' );
33+ $ benim_firmam ->setIl ('İstanbul ' );
34+ $ benim_firmam ->setIlce ('Sancaktepe ' );
35+ $ benim_firmam ->setBinaNo ('XXX ' );
36+ $ benim_firmam ->setBinaAdi ('XXX ' );
37+ $ benim_firmam ->setPostaKodu ('XXXXXX ' );
38+ $ benim_firmam ->setUlke ('Türkiye ' );
39+ $ benim_firmam ->setUlkeKodu ('TR ' );
40+
41+ //MÜŞTERİNİN FİRMASININ BİLGİLERİ
42+ //Karşı taraf firma değil birey ise vergi noyu göndermeyebilirsiniz.
43+ $ musteri_firmasi = new MusteriFirmasi ();
44+ $ musteri_firmasi ->setYetkiliAdi ('Hasan ' );
45+ $ musteri_firmasi ->setYetkiliSoyadi ('Yüksektepe ' );
46+ $ musteri_firmasi ->setFirmaAdi ('Hasan Yüksektepe ' );
47+ // $musteri_firmasi->setVergiNo('XXXXXXXXXXX');
48+ $ musteri_firmasi ->setTcKimlikNo ('XXXXXXXXXXX ' );
49+ // $musteri_firmasi->setMersisNo('XXXXXXXXXXX');
50+ $ musteri_firmasi ->setTelefon ('XXXXXXXXXXX ' );
51+ $ musteri_firmasi ->setEmail ('info@hayatikodla.net ' );
52+ $ musteri_firmasi ->setWebsitesi ('hayatikodla.net ' );
53+ $ musteri_firmasi ->setVergiDairesi ('HAYATIKODLA ' );
54+ $ musteri_firmasi ->setAcikAdres ('TAM ADRES BİLGİSİ ' );
55+ $ musteri_firmasi ->setIl ('İstanbul ' );
56+ $ musteri_firmasi ->setIlce ('Sancaktepe ' );
57+ $ musteri_firmasi ->setBinaNo ('XXXXX ' );
58+ $ musteri_firmasi ->setBinaAdi ('XXXXXX ' );
59+ $ musteri_firmasi ->setPostaKodu ('XXXXXX ' );
60+ $ musteri_firmasi ->setUlke ('Türkiye ' );
61+ $ musteri_firmasi ->setUlkeKodu ('TR ' );
62+
63+ //FATURADAKİ ÜRÜN VEYA HİZMETLERİNİZİ AŞAĞIDAKİ GİBİ GİREBİLİRSİNİZ.
64+ $ fatura_satir = new FaturaSatir ();
65+
66+ $ fatura_satir ->setYeniUrun ()->setUrunAdi ('Yazılım ' )->setUrunAciklama ('Ürün 1 açıklama ' )->setUrunAdet (2 )->setUrunBirimFiyat (500 )->setUrunIndirimTutari (500 );
67+ $ fatura_satir ->setYeniUrun ()->setUrunAdi ('Yazılım2 ' )->setUrunAciklama ('Ürün 2 açıklama ' )->setUrunAdet (2 )->setUrunBirimFiyat (1500 );
68+
69+ //FATURA BİLGİLERİNİ AŞAĞIDAKİ GİBİ GİRİNİZ
70+ //FATURA TUTARLARINI YUKARIDA GİRDİĞİNİZ ÜRÜN VEYA HİZMETLERİNİZE GÖRE OTOMATİK TOPLAMAKTADIR.
71+ //BU YÖNTEM İLE TUTAR UYUŞMAZLIKLARININ ÖNÜNE GEÇİLMİŞTİR.
72+
73+ $ fatura = new Fatura ();
74+ $ fatura_no = $ elogo ->fatura_no_olustur ();
75+
76+ //FATURA TASARIMINIZ ÖZEL HAZIRLANMIŞ İSE BURADAN UBL FORMATINDAKİ DOSYANIZA TAM YOLUNU VERMELİSİNİZ.
77+ //FATURA TASARIMINI ELOGO PANELİNDEN "AYARLAR / TASARIM ARAÇLARI" VEYA "AYARLAR / HAZIR TASARIM ARACI" MENÜSÜNDEN OLUŞTURUP İNDİREBİLİRSİNİZ
78+ $ varsayilan_earsiv_xml = $ fatura ->varsayilan_earsiv_tasarim_dosyasi ;
79+ $ varsayilan_efatura_xml = $ fatura ->varsayilan_efatura_tasarim_dosyasi ;
80+
81+ $ fatura ->setFaturaEarsivTasarimDosyasi ($ varsayilan_earsiv_xml );
82+ $ fatura ->setFaturaEfaturaTasarimDosyasi ($ varsayilan_efatura_xml );
83+
84+ $ fatura ->setFaturaNo ($ fatura_no );
85+ $ fatura ->setFaturaEttn ($ elogo_login ->sessionID );
86+ $ fatura ->setFaturaTuru ('TICARIFATURA ' ); //TICARIFATURA | SATIS
87+ $ fatura ->setFaturaTarihi ('2023-02-26 ' );
88+
89+ $ fatura ->setKdvOrani (18 );
90+ // $fatura->setKdvMuhafiyetKodu('325');
91+ $ fatura ->setFaturaKesenFirma ($ benim_firmam );
92+ $ fatura ->setMusteriFirma ($ musteri_firmasi );
93+ $ fatura ->setParaBirimi ('TRY ' );
94+
95+ //PARA BİRİMİNİZ TRY DIŞINDA BİR PARA BİRİMİ İSE MUTLAKA KUR BİLGİSİ GİRMELİSİNİZ
96+ // $fatura->setKurFiyati('18.1540');
97+
98+ $ fatura ->setUrunler ($ fatura_satir );
99+
100+ //FATURA TASARIMINIZDA ÖZEL ALANLAR OLABİLİR. BU ÖZEL ALANLARI ELOGO PANELİNDE
101+ //"AYARLAR / GÖRSEL TASARIM EK ALANLARI" MENÜSÜNDEN EKLEYEBİLİRSİNİZ. FAKAT EKLERKER
102+ //XSLT ISMINA
103+ // <xsl:for-each select="//n1:Invoice/cac:AdditionalDocumentReference">
104+ // <xsl:if test ="cbc:DocumentType = 'GemiNo'">
105+ // <xsl:value-of select="cbc:ID"/>
106+ // </xsl:if>
107+ // </xsl:for-each>
108+ // BU XML KOMUTUNU YAZMALISINIZ.
109+ //BU KOMUTTAKİ "GemiNo" KISMI AŞAĞIDAKİ KODDA KULLANACAĞINIZ KISA KOD OLMALIDIR
110+ // $parametreler = [
111+ // 'GemiNo' => 'Hsn123',
112+ // ];
113+ //
114+ // $fatura->setOzelParametreler($parametreler);
115+
116+ $ einvoice = $ elogo ->earsiv_gonder ($ fatura , $ benim_firmam , $ musteri_firmasi );
117+ print_r ($ einvoice );
118+
134119 }
135120 else {
136121 echo 'Giriş bilgileri hatalı ' ;
137- }
122+ }
0 commit comments