Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update efatura_kesme.php #10

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 56 additions & 43 deletions examples/efatura_kesme.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
use Hasokeyk\Elogo\Fatura\FaturaSatir;
use Hasokeyk\Elogo\Firma\BenimFirmam;
use Hasokeyk\Elogo\Firma\MusteriFirmasi;
use Hasokeyk\Elogo\ElogoHata;

require "vendor/autoload.php";

Expand All @@ -19,59 +20,69 @@
try{
//SİZE AİT FİRMANIN BİLGİLERİ
$benim_firmam = new BenimFirmam();
$benim_firmam->setYetkiliAdi('Hasan');
$benim_firmam->setYetkiliSoyadi('Yüksektepe');
$benim_firmam->setFirmaAdi('Hasan Yüksektepe');
$benim_firmam->setTcKimlikNo('XXXXXXXXXXX');
// $benim_firmam->setVergiNo('XXXXXXXXXXX');
// $benim_firmam->setMersisNo('XXXXXXXXXXX');
// $benim_firmam->setTelefon('XXXXXXXXXXX');
$benim_firmam->setEmail('[email protected]');
$benim_firmam->setWebsitesi('hayatikodla.net');
$benim_firmam->setVergiDairesi('HAYATIKODLA');
$benim_firmam->setAcikAdres('TAM ADRES BİLGİSİ');
$benim_firmam->setIl('İstanbul');
$benim_firmam->setIlce('Sancaktepe');
// $benim_firmam->setBinaNo('XXX');
// $benim_firmam->setBinaAdi('XXX');
// $benim_firmam->setPostaKodu('XXXXXX');
$benim_firmam->setUlke('Türkiye');
$benim_firmam->setUlkeKodu('TR');
$benim_firmam->setYetkiliAdi('Hasan'); // ŞAHIS İSE GEREKLİ
$benim_firmam->setYetkiliSoyadi('Yüksektepe'); // ŞAHIS İSE GEREKLİ
$benim_firmam->setFirmaAdi('Hasan Yüksektepe'); // TİCARİ İSE GEREKLİ
$benim_firmam->setTcKimlikNo('XXXXXXXXXXX'); // ŞAHIS İSE GEREKLİ
$benim_firmam->setVergiNo('XXXXXXXXXXX'); // TİCARİ İSE GEREKLİ
$benim_firmam->setMersisNo('XXXXXXXXXXX'); // OPSİYONEL
$benim_firmam->setTelefon('XXXXXXXXXXX'); // OPSİYONEL
$benim_firmam->setEmail('[email protected]'); // OPSİYONEL
$benim_firmam->setWebsitesi('hayatikodla.net'); // OPSİYONEL
$benim_firmam->setVergiDairesi('HAYATIKODLA'); // GEREKLİ
$benim_firmam->setAcikAdres('TAM ADRES BİLGİSİ'); // GEREKLİ
$benim_firmam->setIl('İstanbul'); // GEREKLİ
$benim_firmam->setIlce('Sancaktepe'); // GEREKLİ
$benim_firmam->setBinaNo('XXX'); // GEREKLİ
$benim_firmam->setBinaAdi('XXX'); // GEREKLİ
$benim_firmam->setPostaKodu('XXXXXX'); // GEREKLİ
$benim_firmam->setUlke('Türkiye'); // GEREKLİ
$benim_firmam->setUlkeKodu('TR'); // GEREKLİ

//MÜŞTERİNİN FİRMASININ BİLGİLERİ
//Karşı taraf firma değil birey ise vergi noyu göndermeyebilirsiniz.
$musteri_firmasi = new MusteriFirmasi();
$musteri_firmasi->setYetkiliAdi('Hasan');
$musteri_firmasi->setYetkiliSoyadi('Yüksektepe');
$musteri_firmasi->setFirmaAdi('Hasan Yüksektepe');
// $musteri_firmasi->setVergiNo('XXXXXXXXXXX');
$musteri_firmasi->setTcKimlikNo('XXXXXXXXXXX');
// $musteri_firmasi->setMersisNo('XXXXXXXXXXX');
$musteri_firmasi->setTelefon('XXXXXXXXXXX');
$musteri_firmasi->setEmail('[email protected]');
$musteri_firmasi->setWebsitesi('hayatikodla.net');
$musteri_firmasi->setVergiDairesi('HAYATIKODLA');
$musteri_firmasi->setAcikAdres('TAM ADRES BİLGİSİ');
$musteri_firmasi->setIl('İstanbul');
$musteri_firmasi->setIlce('Sancaktepe');
$musteri_firmasi->setBinaNo('XXXXX');
$musteri_firmasi->setBinaAdi('XXXXXX');
$musteri_firmasi->setPostaKodu('XXXXXX');
$musteri_firmasi->setUlke('Türkiye');
$musteri_firmasi->setUlkeKodu('TR');
$musteri_firmasi->setYetkiliAdi('Hasan'); // ŞAHIS İSE GEREKLİ
$musteri_firmasi->setYetkiliSoyadi('Yüksektepe'); // ŞAHIS İSE GEREKLİ
$musteri_firmasi->setFirmaAdi('Hasan Yüksektepe'); // TİCARİ İSE GEREKLİ ŞAHIS İÇİN BOŞ BIRAKILABİLİR
$musteri_firmasi->setVergiNo('XXXXXXXXXXX'); // TİCARİ İSE GEREKLİ ŞAHIS İÇİN BOŞ BIRAKILABİLİR
$musteri_firmasi->setTcKimlikNo('XXXXXXXXXXX'); // ŞAHIS İSE GEREKLİ
$musteri_firmasi->setMersisNo('XXXXXXXXXXX'); // OPSİYONEL
$musteri_firmasi->setTelefon('XXXXXXXXXXX'); // OPSİYONEL
$musteri_firmasi->setEmail('[email protected]'); // OPSİYONEL
$musteri_firmasi->setWebsitesi('hayatikodla.net'); // OPSİYONEL
$musteri_firmasi->setVergiDairesi('HAYATIKODLA'); // GEREKLİ
$musteri_firmasi->setAcikAdres('TAM ADRES BİLGİSİ'); // GEREKLİ
$musteri_firmasi->setIl('İstanbul'); // GEREKLİ
$musteri_firmasi->setIlce('Sancaktepe'); // GEREKLİ
$musteri_firmasi->setBinaNo('XXXXX'); // GEREKLİ
$musteri_firmasi->setBinaAdi('XXXXXX'); // GEREKLİ
$musteri_firmasi->setPostaKodu('XXXXXX'); // GEREKLİ
$musteri_firmasi->setUlke('Türkiye'); // GEREKLİ
$musteri_firmasi->setUlkeKodu('TR'); // GEREKLİ

//FATURADAKİ ÜRÜN VEYA HİZMETLERİNİZİ AŞAĞIDAKİ GİBİ GİREBİLİRSİNİZ.
$fatura_satir = new FaturaSatir();

$fatura_satir->setYeniUrun()->setUrunAdi('Yazılım')->setUrunAciklama('Ürün 1 açıklama')->setUrunAdet(2)->setUrunBirimFiyat(500)->setUrunIndirimTutari(500);
$fatura_satir->setYeniUrun()->setUrunAdi('Yazılım2')->setUrunAciklama('Ürün 2 açıklama')->setUrunAdet(2)->setUrunBirimFiyat(1500)->setUrunKdvOrani();
$fatura_satir->setYeniUrun()->setUrunAdi('Yazılım')->setUrunAciklama('Ürün 1 açıklama')->setUrunAdet(2)->setUrunBirimFiyat(500)->setUrunIndirimTutari(500)->setUrunKdvOrani(20);
$fatura_satir->setYeniUrun()->setUrunAdi('Yazılım2')->setUrunAciklama('Ürün 2 açıklama')->setUrunAdet(2)->setUrunBirimFiyat(1500)->setUrunKdvOrani(20);

//FATURA BİLGİLERİNİ AŞAĞIDAKİ GİBİ GİRİNİZ
//FATURA TUTARLARINI YUKARIDA GİRDİĞİNİZ ÜRÜN VEYA HİZMETLERİNİZE GÖRE OTOMATİK TOPLAMAKTADIR.
//BU YÖNTEM İLE TUTAR UYUŞMAZLIKLARININ ÖNÜNE GEÇİLMİŞTİR.

$fatura = new Fatura();
$fatura_no = $elogo->fatura_no_olustur();
$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İ,
// ÖRN: ARS0000001, ARS0000002, FTR0000001, FTR0000002

$uuid = sprintf(// Mevcut yapınıza uygun olarak $uuid verisini kendiniz oluşturabilirsiniz.
'%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
mt_rand(0, 0xffff), mt_rand(0, 0xffff),
mt_rand(0, 0xffff),
mt_rand(0, 0x0fff) | 0x4000,
mt_rand(0, 0x3fff) | 0x8000,
mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
);

//FATURA TASARIMINIZ ÖZEL HAZIRLANMIŞ İSE BURADAN UBL FORMATINDAKİ DOSYANIZA TAM YOLUNU VERMELİSİNİZ.
//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
Expand All @@ -82,8 +93,10 @@
$fatura->setFaturaEfaturaTasarimDosyasi($varsayilan_efatura_xml);

$fatura->setFaturaNo($fatura_no);
$fatura->setFaturaEttn($elogo_login->sessionID);
$fatura->setFaturaTuru('TICARIFATURA'); //TICARIFATURA | SATIS
$fatura->setFaturaEttn($uuid);
// FATURA E-ARŞİV ise 'EARSIVFATURA', E-FATURA ise 'TICARIFATURA' kullanılabilir.
$fatura->setFaturaTuru('TICARIFATURA'); // ['TICARIFATURA', 'EARSIVFATURA', 'TEMELFATURA', 'IHRACAT', 'KAMU', 'HALFATURA', 'YOLCUBERABER']
$fatura->setFaturaTuru('SATIS'); // ['SATIS', 'IADE', 'TEVKIFATIADE', 'IHTIYACKAYITLI', 'ISTISNA', 'OZELMATRAH', 'TEVKIFAT', 'SGK', 'KONAKLAMAVERGISI']
$fatura->setFaturaTarihi('2023-02-26');

$fatura->setKdvOrani(18);
Expand Down Expand Up @@ -115,10 +128,10 @@

$einvoice = $elogo->efatura_gonder($fatura, $benim_firmam, $musteri_firmasi);
print_r($einvoice);
}catch(Exception $err){
}catch(ElogoHata $err){ // ELOGO Servisinden gelen yanıtları okunabilir hale getirir.
echo $err->getMessage();
}
}
else{
echo 'Giriş bilgileri hatalı';
}
}