PHPackages                             tigron/skeleton-vat-check - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. tigron/skeleton-vat-check

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

tigron/skeleton-vat-check
=========================

Tigron Skeleton VAT check

v2.1.6(3mo ago)03212MITPHP

Since Mar 30Pushed 3mo ago4 watchersCompare

[ Source](https://github.com/tigron/skeleton-vat-check)[ Packagist](https://packagist.org/packages/tigron/skeleton-vat-check)[ RSS](/packages/tigron-skeleton-vat-check/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (10)Dependencies (8)Versions (21)Used By (0)

skeleton-vat-check
==================

[](#skeleton-vat-check)

Description
-----------

[](#description)

Check Vat number with separate resolvers (these are the default steps):

1. Is european (always performed not configurable)
2. Syntax via a predefined regex array (list available in config)
3. Caching table (to check if there were recent results for KBO and VIES + avoid taxing the API when not needed)
4. VIES service check

Installation
------------

[](#installation)

Installation via composer:

```
composer require tigron/skeleton-vat-check

```

Howto setup
-----------

[](#howto-setup)

Run the initial migration or executed the following queries

```
CREATE TABLE `vat_check_cache` (
	`id` int(11) NOT NULL AUTO_INCREMENT,
	`vat_number` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
	`country_id` int(11) NOT NULL,
	`valid` int(11) NOT NULL DEFAULT '0',
	`created` datetime NOT NULL,
	PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

$transaction = new \Transaction_Cleanup_Vat_Check_Cache();
$transaction->classname = 'Cleanup_Vat_Check_Cache';
$transaction->data = null;
$transaction->retry_attempt = 0;
$transaction->recurring = 1;
$transaction->completed = 0;
$transaction->failed = 0;
$transaction->locked = 0;
$transaction->parallel = 0;
$transaction->scheduled_at = date('Y-m-d H:i:s');
$transaction->created = date('Y-m-d H:i:s');
$transaction->save();

```

How to use
----------

[](#how-to-use)

```
/**
 * the VAT number to check
 */
$vat_number = '0886776275';

/**
 * The Country object.
 * Your object should implement the \Skeleton\Vat\Check\Country Interface
 */
$country = $your_country_object;

/**
 * The resolver used to give you the result, passed by reference and the
 * resolver_used can be retrieved after calling the validate method
 */
$resolver_used = '';

/**
 * Perform the call
 */
\Skeleton\Vat\Check\Check::validate($vat_number, $country, $resolver_used)

```

Optional config
---------------

[](#optional-config)

```
By default the validator will do these steps:
1. Is european (always performed not configurable)
2. Syntax via a predefined regex array (list available in config)
3. Caching table (to check if there were recent results for KBO and VIES + avoid taxing the API when not needed)
4. VIES service checkCheck Syntax, check recent cache (for API results) and Check against Vies.

It is now possible to change the order of these steps and it is possible to do an aditional step against the KBO (requires authentication).

/**
* Example config
*/
\Skeleton\Vat\Check\Config::set_resolvers([
	new \Skeleton\Vat\Check\Resolver\Syntax(),
	new \Skeleton\Vat\Check\Resolver\Cache(),
	new \Skeleton\Vat\Check\Resolver\Kbo(), // Not used by default
	new \Skeleton\Vat\Check\Resolver\Vies()
]);

/**
* Example auhtentication
*/
\Skeleton\Vat\Check\Config::$kbo_authentication = [
	'user' => 'test@tigron.be',
	key' => 'test_key'
];

```

###  Health Score

49

—

FairBetter than 94% of packages

Maintenance82

Actively maintained with recent releases

Popularity13

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor3

3 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~156 days

Recently: every ~362 days

Total

20

Last Release

94d ago

Major Versions

v0.1.7 → v2.0.02020-01-16

v0.1.8 → 2.x-dev2020-09-17

### Community

Maintainers

![](https://www.gravatar.com/avatar/8bff1383483dacb0c3f89d2d3856ae03d4cf3e80de26a2998248dd1175317285?d=identicon)[tigron](/maintainers/tigron)

---

Top Contributors

[![SanderTigron](https://avatars.githubusercontent.com/u/45229883?v=4)](https://github.com/SanderTigron "SanderTigron (3 commits)")[![christopheg](https://avatars.githubusercontent.com/u/199087?v=4)](https://github.com/christopheg "christopheg (3 commits)")[![RoanB](https://avatars.githubusercontent.com/u/77972728?v=4)](https://github.com/RoanB "RoanB (2 commits)")[![gerryd](https://avatars.githubusercontent.com/u/3003371?v=4)](https://github.com/gerryd "gerryd (2 commits)")[![LionelLaffineur](https://avatars.githubusercontent.com/u/21120913?v=4)](https://github.com/LionelLaffineur "LionelLaffineur (1 commits)")[![davidvandemaele](https://avatars.githubusercontent.com/u/1914033?v=4)](https://github.com/davidvandemaele "davidvandemaele (1 commits)")[![SanderVanKeer](https://avatars.githubusercontent.com/u/10955678?v=4)](https://github.com/SanderVanKeer "SanderVanKeer (1 commits)")

### Embed Badge

![Health badge](/badges/tigron-skeleton-vat-check/health.svg)

```
[![Health](https://phpackages.com/badges/tigron-skeleton-vat-check/health.svg)](https://phpackages.com/packages/tigron-skeleton-vat-check)
```

###  Alternatives

[aws/aws-sdk-php

AWS SDK for PHP - Use Amazon Web Services in your PHP project

6.2k555.0M2.8k](/packages/aws-aws-sdk-php)[neuron-core/neuron-ai

The PHP Agentic Framework.

2.0k832.6k52](/packages/neuron-core-neuron-ai)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

762297.9k52](/packages/civicrm-civicrm-core)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3661.3M49](/packages/tencentcloud-tencentcloud-sdk-php)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

353.6k](/packages/eslazarev-wildberries-sdk)[oat-sa/tao-core

TAO core extension

65147.9k151](/packages/oat-sa-tao-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
