PHPackages                             beyonddigitalit/vies-vat-validation - 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. [Validation &amp; Sanitization](/categories/validation)
4. /
5. beyonddigitalit/vies-vat-validation

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

beyonddigitalit/vies-vat-validation
===================================

Vat Information Exchange System, VAT number Validation.

083PHP

Since Aug 11Pushed 5y ago1 watchersCompare

[ Source](https://github.com/beyonddigitalit/vies-vat-validation)[ Packagist](https://packagist.org/packages/beyonddigitalit/vies-vat-validation)[ RSS](/packages/beyonddigitalit-vies-vat-validation/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

VIES Vat Number Validation - Laravel
====================================

[](#vies-vat-number-validation---laravel)

Vat Information Exchange System (VIES), is an electronic mean of validating VAT-identification numbers of economic operators registered in the European Union for cross border transactions on goods or services.

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

[](#installation)

Require this package with composer.

```
composer require beyonddigitalit/vies-vat-validation
```

Usage
-----

[](#usage)

```
    namespace App\Http\Controllers;

    use Illuminate\Http\Request;
    use Facades\Beyonddigitalit\ViesVatValidation\ViesVatValidator;

    class ValidationController extends Controller
    {
        try {
            $response = ViesVatValidator::validate("GB844281425");
        } catch (\Exception) {
            // Handle exception here.
        }
    }
```

Usage for testing
-----------------

[](#usage-for-testing)

Please use this method for testing. See below table for valid and invalid Vat numbers to use for testing. Remember these Vat Numbers will only work with the test endpoint as seen in the below example.

```
use Beyonddigitalit\ViesVatValidation\ViesVatValidator;

$vatValidator = new ViesVatValidator(
    'https://ec.europa.eu/taxation_customs/vies/checkVatTestService.wsdl'
);

$response = $vatValidator->validate("GB100");
```

Vat NumberResponse100Valid request with Valid VAT Number200Valid request with an Invalid VAT Number201Error : INVALID\_INPUT202Error : INVALID\_REQUESTER\_INFO300Error : SERVICE\_UNAVAILABLE301Error : MS\_UNAVAILABLE302Error : TIMEOUT400Error : VAT\_BLOCKED401Error : IP\_BLOCKED500Error : GLOBAL\_MAX\_CONCURRENT\_REQ501Error : GLOBAL\_MAX\_CONCURRENT\_REQ\_TIME600Error : MS\_MAX\_CONCURRENT\_REQ601Error : MS\_MAX\_CONCURRENT\_REQ\_TIME For all the other cases, The web service will responds with a "SERVICE\_UNAVAILABLE" errorResponse Object
---------------

[](#response-object)

The response will be a `ViesValidatorResponse` you can then call the below methods to access the data.

```
$response = ViesVatValidator::validate("GB844281425");

$response->isValid(); // boolean value
$response->getCountryCode(); // GB
$response->getVatNumber(); // B844281425
$response->getRequestDate(); // Carbon instance, date
$response->getName(); // name of the registered entity
$response->getAddress(); // address of the registered entity
```

Tests
-----

[](#tests)

```
vendor/bin/phpunit
```

Contributing
------------

[](#contributing)

Pull requests are welcome.

License
-------

[](#license)

[MIT](https://choosealicense.com/licenses/mit/)

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity32

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/44698272?v=4)[Bharatwaj Sriram](/maintainers/beyonddigitalit)[@beyonddigitalit](https://github.com/beyonddigitalit)

---

Top Contributors

[![beyonddigitalit](https://avatars.githubusercontent.com/u/44698272?v=4)](https://github.com/beyonddigitalit "beyonddigitalit (7 commits)")

### Embed Badge

![Health badge](/badges/beyonddigitalit-vies-vat-validation/health.svg)

```
[![Health](https://phpackages.com/badges/beyonddigitalit-vies-vat-validation/health.svg)](https://phpackages.com/packages/beyonddigitalit-vies-vat-validation)
```

###  Alternatives

[webmozart/assert

Assertions to validate method input/output with nice error messages.

7.6k894.0M1.2k](/packages/webmozart-assert)[bensampo/laravel-enum

Simple, extensible and powerful enumeration implementation for Laravel.

2.0k15.9M104](/packages/bensampo-laravel-enum)[swaggest/json-schema

High definition PHP structures with JSON-schema based validation

48612.5M73](/packages/swaggest-json-schema)[stevebauman/purify

An HTML Purifier / Sanitizer for Laravel

5325.6M19](/packages/stevebauman-purify)[ashallendesign/laravel-config-validator

A package for validating your Laravel app's config.

217905.3k5](/packages/ashallendesign-laravel-config-validator)[crazybooot/base64-validation

Laravel validators for base64 encoded files

1341.9M8](/packages/crazybooot-base64-validation)

PHPackages © 2026

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