PHPackages                             amondi-media/laravel-evatr - 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. amondi-media/laravel-evatr

ActiveLaravel-package[Validation &amp; Sanitization](/categories/validation)

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

1.0.3(3mo ago)0833MITPHPPHP ^8.1

Since Jun 6Pushed 3mo agoCompare

[ Source](https://github.com/AmondiMedia/laravel-evatr)[ Packagist](https://packagist.org/packages/amondi-media/laravel-evatr)[ RSS](/packages/amondi-media-laravel-evatr/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (4)Versions (7)Used By (0)

VAT Validator
=============

[](#vat-validator)

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
------------

[](#requirements)

- PHP 8.1 or higher
- Laravel 10.x, 11.x or 12.x
- Guzzle HTTP Client

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

[](#installation)

You can install the package via composer:

```
composer require AmondiMedia/laravel-evatr
```

The package will automatically register its service provider.

Usage
-----

[](#usage)

### Validation Rule

[](#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

[](#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
-------------

[](#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

[](#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:

- API URL:
- Request timeout: 10 seconds

License
-------

[](#license)

GNU General Public License. Please see [License File](LICENSE.md) for more information.

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance82

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90% 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.

###  Release Activity

Cadence

Every ~83 days

Total

4

Last Release

92d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/74a83781d7dd266d1a825eb7091d1d497fd032f70f4d7d8e30fa3e4d8d9eb569?d=identicon)[amondi-media](/maintainers/amondi-media)

---

Top Contributors

[![amondi-media](https://avatars.githubusercontent.com/u/54476040?v=4)](https://github.com/amondi-media "amondi-media (9 commits)")[![weblink-hr](https://avatars.githubusercontent.com/u/51454745?v=4)](https://github.com/weblink-hr "weblink-hr (1 commits)")

### Embed Badge

![Health badge](/badges/amondi-media-laravel-evatr/health.svg)

```
[![Health](https://phpackages.com/badges/amondi-media-laravel-evatr/health.svg)](https://phpackages.com/packages/amondi-media-laravel-evatr)
```

###  Alternatives

[spatie/laravel-honeypot

Preventing spam submitted through forms

1.6k6.0M60](/packages/spatie-laravel-honeypot)[propaganistas/laravel-phone

Adds phone number functionality to Laravel based on Google's libphonenumber API.

3.0k35.7M107](/packages/propaganistas-laravel-phone)[proengsoft/laravel-jsvalidation

Validate forms transparently with Javascript reusing your Laravel Validation Rules, Messages, and FormRequest

1.1k2.3M49](/packages/proengsoft-laravel-jsvalidation)[wendelladriel/laravel-validated-dto

Data Transfer Objects with validation for Laravel applications

759569.4k13](/packages/wendelladriel-laravel-validated-dto)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[axlon/laravel-postal-code-validation

Worldwide postal code validation for Laravel and Lumen

3853.3M1](/packages/axlon-laravel-postal-code-validation)

PHPackages © 2026

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