alegiac/laravel-vat-checker

European VAT Validator package for Laravel

Installs: 35

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/alegiac/laravel-vat-checker

v1.1.8 2025-10-01 14:06 UTC

This package is auto-updated.

Last update: 2025-10-23 08:07:58 UTC


README

Latest Version on Packagist Total Downloads

European VAT validator for Laravel with format checks and VIES verification. Includes optional caching and email notifications on connection errors.

Installation

composer require alegiac/laravel-vat-checker

Usage

Facade (Laravel)

use LaravelVatChecker;

$result = LaravelVatChecker::check('IT12345678901');
// $result = [
//   'isFormatted' => bool,
//   'isVies' => bool,
//   'isError' => bool,
//   'errorDescription' => string|null,
//   'details' => array
// ];

Class

use Alegiac\LaravelVatChecker\LaravelVatChecker;

$checker = new LaravelVatChecker();
$result = $checker->check('DE123456789');

Examples

UK (format validation only):

$result = LaravelVatChecker::check('GB123456789');
// $result['isFormatted'] === true/false

Switzerland (format validation only, accepts separators and suffixes):

$result = LaravelVatChecker::check('CHE-421.098.863 MWST');
// $result['isFormatted'] === true/false

Norway (format validation only, MOD11 check, optional MVA suffix):

$result = LaravelVatChecker::check('NO999888777MVA');
// $result['isFormatted'] === true/false

Australia (format validation only, ABN 11 digits with checksum):

$result = LaravelVatChecker::check('AU51824753556');
// $result['isFormatted'] === true/false

Canada (format validation only, BN 9 digits with optional RT0001):

$result = LaravelVatChecker::check('CA123456789RT0001');
// $result['isFormatted'] === true/false

New Zealand (format validation only, GST 8–9 digits):

$result = LaravelVatChecker::check('NZ123456789');
// $result['isFormatted'] === true/false

Configuration (optional)

Publish config and views (for email notifications):

php artisan vendor:publish --tag=vat-checker-config
php artisan vendor:publish --tag=vat-checker-views

Environment variables:

VAT_CHECKER_CACHE=true
VAT_CHECKER_CACHE_TTL=86400   # 0 = forever
VAT_CHECKER_NOTIFICATIONS=true
VAT_CHECKER_NOTIFICATIONS_MAIL=true
VAT_CHECKER_NOTIFICATIONS_MAIL_TO=ops@example.com

Supported countries

  • EU: AT, BE, BG, CY, CZ, DE, DK, EE, EL, ES, FI, FR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK
  • CH: Switzerland (format validation only)
  • GB: United Kingdom (format validation only)
  • NO: Norway (format validation only)
  • AU: Australia (format validation only)
  • CA: Canada (format validation only)
  • NZ: New Zealand (format validation only)

Testing

composer test

License

MIT

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.