Validates the German Tax-ID (Steuerliche Identifikationsnummer)
Based on the official ELSTER documentation (chapter: 2; as of 2024-11-07).
Note
This package validates solely the syntax and check digit of the provided input. It does not confirm, that the validated Steuer-ID was assigned to a person. Please contact the Bundeszentralamt für Steuern in case you are unsure about your Steuer-ID.
You can install the package via composer:
composer require rechtlogisch/steuer-id
isSteuerIdValid('02476291358'); // => true
or
use Rechtlogisch\SteuerId\SteuerId;
(new SteuerId('02476291358'))
->validate() // ValidationResult::class
->isValid(); // => true
Support for test Steuer-IDs (starting with 0
) is enabled by default. Test Steuer-IDs are typically invalid in production. It is recommended to disable them with the following environment variable:
STEUERID_PRODUCTION=true
or in PHP:
putenv('STEUERID_PRODUCTION=true');
You can get a list of errors explaining why the provided input is invalid. The validate()
method returns a DTO with a getErrors()
method.
Note
The keys of getErrors()
hold the stringified reference to the exception class. You can check for a particular error by comparing to the ::class constant. For example: Rechtlogisch\UstId\Exceptions\InvalidUstIdLength::class
.
validateSteuerId('x2476291358')->getErrors();
// [
// 'Rechtlogisch\SteuerId\Exceptions\SteuerIdCanContainOnlyDigits'
// => ['Only digits are allowed.']
// ]
or
use Rechtlogisch\SteuerId\SteuerId;
(new SteuerId('x2476291358'))
->validate() // ValidationResult::class
->getErrors();
// [
// 'Rechtlogisch\SteuerId\Exceptions\SteuerIdCanContainOnlyDigits'
// => ['Only digits are allowed.']
// ]
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security-related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.