New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

jairforo/php-vat-checker

PHP VAT checker based on the European Commission web service
4,675 1
Install
composer require jairforo/php-vat-checker
Latest Version:3.0.0
PHP:^7.3
Laravel:8
Older releases:5 · 6 · 7
License:BSD-2-Clause
Last Updated:Jan 8, 2025
Links: GitHub  ·  Packagist
Maintainer: jairforo

PHP VAT Checker

Latest Version Build Status StyleCI Total Downloads

A PHP package that helps you to check information about Union European companies through the combination of VAT number and Country code. This package is an interface to consume the SOAP API webservice provided by the European Commission. (http://ec.europa.eu/taxation_customs/vies/checkVatTestService.wsdl)

Installation

You can install the package via composer:

composer require jairforo/php-vat-checker

Usage

Checking the VAT information.

This check only validates whether the VAT information is valid.

use JairForo\VATChecker\Exceptions\VATCheckerException;
use JairForo\VATChecker\VATChecker;

try {
    /** @var bool $isValid */
    $isValid = (new VATChecker())->isValid($countryCode, $vatNumber);
} catch (VATCheckerException $exception) {
    // Something went wrong during the request.
}

Obtaining the VAT information.

  • If the information is not valid, an InvalidVATException is thrown.
  • If something goes wrong during the request, an VATCheckerException is thrown.
use JairForo\VATChecker\Exceptions\InvalidVATException;
use JairForo\VATChecker\Exceptions\VATCheckerException;
use JairForo\VATChecker\Objects\VATResponse;
use JairForo\VATChecker\VATChecker;

try {
    /** @var VATResponse $vatResponse */
    $vatResponse = (new VATChecker())->check($countryCode, $vatNumber);
    
    print_r($vatResponse);
} catch (VATCheckerException $exception) {
    if ($exception instanceof InvalidVATException) {
        // The VAT information was invalid.
        return;
    }
    
    // Something else went wrong during the request.
}

The above, when successful, prints the following output:

{
  "country_code": "NL",
  "vat_number": "611989431B01",
  "requested_at": {
    "date": "2020-02-02 00:00:00.000000",
    "timezone_type": 1,
    "timezone": "+00:00"
  },
  "company_name": "UNICORN B.V.",
  "address": "UNICORN STREET 007",
  "zipcode": "1108DH",
  "city": "AMSTERDAM",
  "original_address": "UNICORN STREET 007 1108DH AMSTERDAM"
}

Testing

composer test

Contributing

Please see CONTRIBUTING for details.

License

The BSD 2-clause "Simplified" license (bsd-2-clause). Please see License File for more information.

Related Packages

okaybueno/validation

Validation as Service for Laravel applications.

4,800 0
kdabrow/validation-codes

Validation codes for API

2,630 8
gosuperscript/axiom

A PHP library for data transformation, type validation, and expression evaluatio...

84,551 0
codelayer/laravel-vat-validator

Validate the format of EU vat numbers.

8,946 3
gosuperscript/schema

A PHP library for data transformation, type validation, and expression evaluatio...

1,558 0

Version History

Version Released PHP Laravel License
3.0.0 ^7.3 ^8.22 BSD-2-Clause
2.0.0 ^7.2 ^5.5|^6.0|^7.0 BSD-2-Clause
1.0.0 ^7.1 ^5.5|^6.0|^7.0 BSD-2-Clause