Initial commit: ws_vatcheck at v1.0.3

Includes the fix for the GR/EL VAT prefix bug that broke exemption for
every Greek VAT number (in_array-on-values vs array_key_exists in
CacheTaxManager/VatNumber, plus the missing use import in
EuValidatorAdapter). Adds IMPROVEMENTS.txt with a checklist of features
adopted from comparing against the vatchecker module (offline-fallback
policy, failure logging, company-name check, configurable EU country
list, per-product exclusion, GB/XI mapping, AJAX live validation,
address-priority strategy).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-11 15:57:19 +02:00
co-authored by Claude Sonnet 5
parent 290a2967a5
commit 28d91eb69b
25 changed files with 1136 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
<?php
/**
* 2007-2023 De Websmid BV
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author De Websmid BV <info@dewebsmid.nl>
* @copyright 2007-2024 De Websmid BV
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of De Websmid BV
*/
use Websmid\VatCheck\Module\Install;
use Websmid\VatCheck\Module\Front\FrontHooks;
use Websmid\VatCheck\Module\Admin\AdminHooks;
if (file_exists(__DIR__ . '/vendor/autoload.php')) {
require_once __DIR__ . '/vendor/autoload.php';
}
if (!defined('_PS_VERSION_')) {
exit;
}
class Ws_VatCheck extends \Module
{
use Install;
use AdminHooks;
use FrontHooks;
public function __construct()
{
$this->name = 'ws_vatcheck';
$this->version = '1.0.3';
$this->author = 'Johan van der Klis | De Websmid BV';
$this->need_instance = 0;
$this->bootstrap = true;
parent::__construct();
$this->displayName = $this->trans('Vat Check', [], 'Modules.Ws_VatCheck.Admin');
$this->description = $this->trans('Gecachte vat check', [], 'Modules.Ws_VatCheck.Description');
$this->ps_versions_compliancy = ['min' => '1.7.0.0', 'max' => _PS_VERSION_];
}
}