GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Algorithm::CheckDigits::M23_002(3) User Contributed Perl Documentation Algorithm::CheckDigits::M23_002(3)

CheckDigits::M23_002 - compute check digits for Tax Identification Number (IE)

  use Algorithm::CheckDigits;

  $dni = CheckDigits('tin_ie');

  if ($dni->is_valid('8473625E')) {
        # do something
  }

  $cn = $dni->complete('1234567.W');
  # $cn = '1234567TW'

  $cd = $dni->checkdigit('1234577IA');
  # $cd = 'I'

  $bn = $dni->basenumber('1234577WW');
  # $bn = '1234577.W'

The irish TIN (Tax Identification Number) or VAT Regstration Number consists of 7 digits, a letter in the range from 'A' - 'W' as checksum, and an optionally letter in the range from 'A' - 'I' or the letter 'W'.
1.
In reverse order, each digit is multiplied by a weight started at 2. (i.e. the number left from the check digit is multiplied with 2, the next with 3 and so on).
2.
If there is an optional letter following the checksum letter (position 9), this letter is mapped to a numeric value based on the following mapping: "A" = 1, "B" = 2, ... "H" = 8, "I" = 9. "W" or absence of this letter means a value of 0. This numeric value is multiplied with 9.
3.
All products from step 1 and 2 are added.
4.
The check digit is the sum from step 3 modulo 23. This number is expressed as the corresponding letter from the alphabet where A-V correspond to 1-22 and W stands for check digit 0.

is_valid($number)
Returns true only if $number complies with the rules given above and there is a valid check digit at position eight.

Returns false otherwise,

complete($number)
The check digit for $number is computed and inserted at position eight of $number.

Returns the complete number with check digit or '' if $number does not consist solely of digits and an optional letter at position nine.

basenumber($number)
Returns the basenumber of $number if $number has a valid check digit. As a placeholder for the checksum a point ('.') is inserted at position eight when the checksum contains the optional letter at position nine.

Return '' otherwise.

checkdigit($number)
Returns the checkdigit of $number if $number has a valid check digit.

Return '' otherwise.

None by default.

Mathias Weidner, "<mamawe@cpan.org>"

perl, CheckDigits, https://ec.europa.eu/taxation_customs/tin/
2022-04-09 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.