amondi-media/laravel-evatr

Laravel package for validating German and EU VAT identification numbers using the official German Federal Central Tax Office (Bundeszentralamt für Steuern) online service

Installs: 94

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Type:laravel-package

1.0.2 2025-06-10 09:55 UTC

This package is auto-updated.

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


README

Laravel package for validating German and EU VAT identification numbers using the official German Federal Central Tax Office (Bundeszentralamt für Steuern) online service

Requirements

  • PHP 8.1 or higher
  • Laravel 10.x or 11.x
  • Guzzle HTTP Client

Installation

You can install the package via composer:

composer require AmondiMedia/laravel-evatr

The package will automatically register its service provider.

Usage

Validation Rule

You can use the VAT validation rule in your validation rules:

use AmondiMedia\VatValidator\Rules\ValidVatNumber;

$rules = [
    'vat_number' => ['required', new ValidVatNumber()],
];

Using the Validation Rule Extension

You can also use the validation rule extension:

$rules = [
    'vat_number' => ['required', 'valid_vat_number'],
];

The validation rule extension also supports validating country code and VAT number separately:

$rules = [
    'country_code' => ['required', 'string', 'size:2'],
    'vat_number' => ['required', 'valid_vat_number:country_code,vat_number'],
];

Configuration

The package uses the German eVatR service by default. You can publish the configuration file:

php artisan vendor:publish --provider="AmondiMedia\VatValidator\Providers\VatValidatorServiceProvider"

This will create a vat_validator.php file in your config directory.

Environment Configuration

Add the following variable to your .env file:

EVATR_REQUESTER_VAT_ID=DE123456789
  • EVATR_REQUESTER_VAT_ID: Your German VAT identification number (Umsatzsteuer-Identifikationsnummer) that will be used as the requester in the eVatR API calls.

The package also includes these default configurations:

License

GNU General Public License. Please see License File for more information.