PHP ile E-Fatura Mükellefi Sorgulama

Son yıllarda E – Fatura / E – Arşiv muhabbetlerinin döndüğünü biliyorsunuzdur. E-Fatura tarafında yaptığımız bir çalışma üzerinde E-Fatura mükelleflerinin anlık sorgulanması gerektiğini gördük. Bunun için herhangi bir web servis bulamadık. Bundan dolayı kendi web servisimizi yazalım dedik.

Aşağıdaki kod excel çıktısının içerisinde tek seferlik bir text search yaparak cevabını vermekte.  in_string fonksiyonu daha önceden hazırdı. 🙂 ;

function in_string( $string, $val )
{ 
if ( !( strrpos( $string, $val ) === false ) )
return true;
return false;
}

function check_tax( $vkn )
{ 
if( !$vkn || !is_numeric( $vkn ) || !in_array( strlen( $vkn ), array( 10, 11 ) ) )
return false;
set_time_limit( 60 );
$get = file_get_contents("http://sorgu.efatura.gov.tr/kullanicilar/yliste.php?&xls" );
if( !$get )
return false;
$return = false;
if( in_string( $get, $vkn ) )
$return = true;
unset( $get ); // ufak bi temizlik
return $return; 
}
check_tax( 'VERGI_NO' );

Tabiki siz bu işlemi sürekli olarak sorgu.efatura.gov.tr üzerinden çekmek yerine veritabanınıza veya başka bir dosyanıza kaydedip sorgulamalarınızı yapabilirsiniz..

edit : Barış Demir
Bir yazılımcı arkadaşın yardımıyla aşağıdaki kadar olayı basitleştirmiş oldu. Teşekkürler..

function check_cari_tax( $vkn )
{
if( !$vkn )
return 0;
$url = 'http://sorgu.efatura.gov.tr/kullanicilar/yliste.php?ara='.$vkn;
$result = file_get_contents( $url );
if( preg_match( "/".$vkn."/i", $result ) )
return 1;
return 0;
}