Automatické načtení sídla firmy a verifikace DIČ (VAT) pro celou EU
MyEgo.cz
Automatické načtení sídla firmy a verifikace DIČ (VAT) pro celou EU
Minulý rok jsem publikoval krátký článek ohledně automatické načtení sídla české firmy a DIČ podle zadaného IČ z ARES XML pomocí PHP a jQuery. Uvedenou službu je možné snado rozšířit na celou EU pomocí webové služby dostupné na adrese ec.europa.eu. Tato službá má totiž veřejně dostupné WSDL a pomocí SOAP klienta ji snadno můžete dotazovat.
Zjednodušený kód produkující stejný výstup jako dříve odkazovaný skript pro ARES může vypadat takto - vstupem je dvouznakový kód země a IČ (přesněji DIČ bez počátečního kódu země, což v praxi bývá IČ):
<?php
header("Content-Type: application/json; charset=UTF-8");
$a = array();
try {
$ic = $_REQUEST['ic']; // IČ
$country = $_REQUEST['country']; // Country code
$soap = new SoapClient(
'http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl');
$params = array('countryCode' => $country, 'vatNumber' => $ic);
$result = $soap->checkVatApprox($params);
if (!$result->valid) {
$a['stav'] = 'DIČ '.$country.$ic.' nebylo nalezeno';
} else {
$a['ic'] = strval($result->vatNumber);
$a['dic'] = $country.$a['ic'];
$a['firma'] = strval($result->traderName);
if (!$result->traderCity && $result->traderAddress) {
$t = explode("\n",$result->traderAddress);
$result->traderStreet = $t[0];
$result->traderCity = $t[1];
$result->traderPostcode = $t[2];
}
$a['ulice'] = strval($result->traderStreet);
$a['mesto'] = strval($result->traderCity);
$a['psc'] = strval($result->traderPostcode);
$a['stav'] = 'ok';
}
} catch (Exception $e) {
$a['stav'] = 'EC služba právě není dostupná';
}
echo json_encode($a);
?>
A výstupem třeba pro Mladá fronta a.s. je takovýto JSON:
{
"ic":"49240315",
"dic":"CZ49240315",
"firma":"Mlad\u00e1 fronta a.s.",
"ulice":"Mezi Vodami 1952\/9",
"mesto":"PRAHA 12 - MOD\u0158ANY",
"psc":"143 00 PRAHA 412",
"stav":"ok"
}
A pokud chcete to samé řešení nezjednodušené, Jirka Knesl je napsal.
Škoda jen, že tahle funkce je použitelná jen pro plátce DPH v EU. Nevíte jestli někde existuje nějaká dostupná databáze vč. neplátců?