Archief - SOAP functionaliteit BTW-nummers checken

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

adrianhates

Legacy Member
Beste,

Hierbij een JOBke van mijne kant wegens tijdsgebrek:

Verwachte functionaliteit:

Ik wil een PHP class / functie die checked of een gegeven BTW-nummer geldig is.Aan u zelf om ff uit te maken hoe ge dit het best maakt. Ge zou dus gewoon een functie kunnen maken maar ik zie toch liever classes indien dat gepast blijkt te zijn. Waarom ge iets kiest moet je ook kunnen uitleggen waarom :)

Bottomline:
Ik moet het kunnen gebruiken als:
Code:
if(!checkValidBTWnummer($btwnummer,$bedrijfsnaam){
    // errorhandling
}
// continue

Het moet op basis zijn van de VIES VAT number validation van de EU. Het moet zo breed mogelijk zijn naar alle Europese landen toe. Al zijn vooral België, Duitsland, Nederland, Luxemburg en Frankrijk belangrijk.

Links:
EUROPA site - Validation
http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl

Ik ben een fan van documentatie dus de afgeleverde code moet goed gedocumenteerd zijn bij niet voor de hand liggende (deel)functionaliteit.

Vragen , stel ze gerust!

Graag zie ik jullie offertes komen! Ik ga hier niet " een budget " op plakken..
( dit staat ook op sitedeals )

Grtz

Dieterg

Legacy Member
PHP:
<?php 
function checkValidBTWnummer($vatid) 
{ 
  if (!preg_match('^([A-Z][A-Z])([0-9A-Z]+)$^', $vatid, $regs)) 
    return false; 

  $params = new stdClass; 
  $params->countryCode = $regs[1]; 
  $params->vatNumber   = $regs[2]; 
  
  $client = new SoapClient('http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl'); 
  
  $result = $client->checkVat($params); 
  
  return $result->valid; 
} 

if(! checkValidBTWnummer('BE123456789'))
{
	echo 'niet geldig';
}
else 
{
	echo 'geldig';
}
?>

Ik heb het met een paar BTW-nummers getest, die werkte allemaal. Dus normaal zou het moeten werken!

EDIT: @adrian, als dit niet werkt stuur mij dan een PM. Dan zal ik mijn post deleten, ik wil uw topic niet naar de kl*ten helpen. Succes nog!

adrianhates

Legacy Member
Heb je dit ook getest voor Europese BTW nummers andere dan België?

Dieterg

Legacy Member
adrianhates zei:
Heb je dit ook getest voor Europese BTW nummers andere dan België?

Ik heb het getest op NL en BE. Ik weet niet waar ik bv franse of duitse kan vinden. Als je mij een website kan geven wil ik dit gerust testen voor u!

adrianhates

Legacy Member
Mam zei:
Ik heb het getest op NL en BE. Ik weet niet waar ik bv franse of duitse kan vinden. Als je mij een website kan geven wil ik dit gerust testen voor u!

Mijn BTW nummer wordt niet gevalideerd met uw code :)
"BE 0829 035 541"
"BE0829035541"
"BE829035541"

Dieterg

Legacy Member
adrianhates zei:
Mijn BTW nummer wordt niet gevalideerd met uw code :)
"BE 0829 035 541"
"BE0829035541"
"BE829035541"

De eerste 2 doen het bij mij nogtans.. De laatste doet het inderdaad niet. Ik heb een paar btw nummers getest vanop unizo en die werkte toch gewoon.

adrianhates

Legacy Member
vreemd, staat uw script online op een hosting?
Maar goed, ben al geholpen door iemand op sitedeals :)

Twas een job en iedereen bied het mij verniet aan! Haha great!
Hierbij mijn bevindingen:

European VAT Number Validation API
Code:
european_union_countries = ['AT', 'BE', 'BG', 'CY', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'MT', 'NL', 'PL', 'PT', 'RO', 'SE', 'SI', 'SK']

<?php
function checkValidBTWnummer($btwnummer, $land)
{
$result = file_get_contents("http://isvat.appspot.com/".$land."/".$btwnummer."/", "r");
if($result == "true") return(true);
}
?>

Handige class: HAWHAW (WML, voicexml, imode) - PHP Classes
Zitten nog wel 2 foutjes in, o.a. bij de BE mask, maar ne slimmerik moet die wel vinden :)

Grtz and Thx!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan