https://github.com/lekoala/tin
Provide validation tools for Taxpayer Identification Number
https://github.com/lekoala/tin
php tin validator
Last synced: 4 months ago
JSON representation
Provide validation tools for Taxpayer Identification Number
- Host: GitHub
- URL: https://github.com/lekoala/tin
- Owner: lekoala
- License: mit
- Created: 2020-03-05T18:14:34.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-03-31T12:49:17.000Z (over 6 years ago)
- Last Synced: 2025-04-14T09:46:09.021Z (about 1 year ago)
- Topics: php, tin, validator
- Language: PHP
- Size: 78.1 KB
- Stars: 6
- Watchers: 2
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Taxpayer Identification Number (TIN) Validator
[](https://travis-ci.org/lekoala/tin)
[](https://scrutinizer-ci.com/g/lekoala/tin/?branch=master)
[](https://scrutinizer-ci.com/g/lekoala/tin/?branch=master)
[](https://scrutinizer-ci.com/g/lekoala/tin/build-status/master)
[](https://codecov.io/github/lekoala/tin?branch=master)
[](https://packagist.org/packages/lekoala/tin)
[](//packagist.org/packages/lekoala/tin)
[](https://packagist.org/packages/lekoala/tin)
[](https://packagist.org/packages/lekoala/tin)
[](https://packagist.org/packages/lekoala/tin)
[](https://packagist.org/packages/lekoala/tin)
[](https://www.versioneye.com/php/lekoala:tin)
[](https://www.versioneye.com/php/lekoala:tin/references)
You may want to use https://github.com/loophp/tin instead.
A library to validate TIN numbers for individuals. This is based on a java library,
this is why the code does not reflect best practices in php.
Supported countries are:
- Austria (AT)
- Belgium (BE)
- Bulgaria (BG)
- Croatia (HR)
- Cyprus (CY)
- Czech Republic (CZ) - no check digit (but possible czechphp/national-identification-number-validator)
- Denmark (DK)
- Estonia (EE)
- Finland (FI)
- France (FR)
- Germany (DE)
- Greece (GR) - only size
- Hungary (HU)
- Ireland (IE)
- Italy (IT)
- Latvia (LV) - no check digit
- Lithuania (LT)
- Luxembourg (LU)
- Malta (MT) - no check digit
- Netherlands (NL)
- Poland (PL)
- Portugal (PT)
- Romania (RO) - no check digit
- Slovakia (SK) - only structure
- Slovenia (SI)
- Spain (ES)
- Sweden (SE)
- United Kingdom (UK) - only structure
If your country is not there, feel free to open an issue with your country code and
a link to the specification. Ideally, if you can provide a PR with the algorithm and the
test that would be even better :-)
## Installation
Run
```
$ composer require lekoala/tin
```
## Usage
To simply check the validity of a number
$result = TINValid::checkTIN($countryCode, $number);
If you want to get the reason why a number is invalid, you can use
try {
TINValid::validateTIN($countryCode, $number);
}
catch(TINValidationException $e) {
}
If you want to see if a country is supported or not, you can simply use
$result = TINValid::isCountrySupported('be');
## Links
[`TIN Algorithms - Public - Functional Specification`]()
[`Taxpayer Identification Number`](https://en.wikipedia.org/wiki/Taxpayer_Identification_Number)
## License
This package is licensed using the MIT License.
Please have a look at [`LICENSE.md`](LICENSE.md).