rechtlogisch/steuer-id

Validates the German Tax-ID (Steuerliche Identifikationsnummer)

v1.1.0 2024-07-09 19:04 UTC

This package is auto-updated.

Last update: 2024-09-09 19:34:21 UTC


README

Recht logisch Steuer-ID banner image

Latest Version on Packagist Tests Total Downloads

steuer-id

Validates the German Tax-ID (Steuerliche Identifikationsnummer)

Based on the official ELSTER documentation (chapter: 2; as of 2024-06-17).

Hint: 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.

Installation

You can install the package via composer:

composer require rechtlogisch/steuer-id

Usage

isSteuerIdValid('02476291358'); // => true

or

use Rechtlogisch\SteuerId\SteuerId;

(new SteuerId('02476291358'))
    ->validate() // ValidationResult::class
    ->isValid(); // => true

Test-Steuer-IDs

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');

Validation errors

You can get a list of errors explaining why the provided input is invalid. The validate() method returns a DTO with a getErrors() method.

Hint: 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.']
// ]

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

If you discover any security-related issues, please email open-source@rechtlogisch.de instead of using the issue tracker.

Credits

License

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