CheckDigits::M97_001 - compute check digits for VAT Registration Number (BE)
Contents
Description
ALGORITHM
1. The whole number (without checksum) is taken modulo 97.
2. The checksum is difference of the remainder from step 1 to 97.
METHODS
is_valid($number)
Returns true if $number consists solely of numbers and the last digit is a valid check digit
according to the algorithm given above.
A leading 'BE' before the numbers will be ignored.
Returns false otherwise,
complete($number)
The check digit for $number is computed and concatenated to the end of $number.
Returns the complete number with check digit or '' if $number does not consist solely of digits and
spaces.
A leading 'BE' before the digits is ignored for the computation and retained for the result.
basenumber($number)
Returns the basenumber of $number if $number has a valid check digit.
A leading 'BE' before the digits will be ignored and not returned with the result.
Return '' otherwise.
checkdigit($number)
Returns the checkdigits of $number if $number has a valid check digit.
Return '' otherwise.
EXPORT
None by default.
Name
CheckDigits::M97_001 - compute check digits for VAT Registration Number (BE)
See Also
perl, CheckDigits, <http://www.pruefziffernberechnung.de>.
<https://en.wikipedia.org/wiki/VAT_identification_number>
perl v5.36.0 2022-10-13 Algorithm::CheckDigits::M97_001(3pm)
Synopsis
use Algorithm::CheckDigits;
$ustid = CheckDigits('ustid_be');
if ($ustid->is_valid('136695962')) {
# do something
}
$cn = $ustid->complete('1366959');
# $cn = '136695962'
$cd = $ustid->checkdigit('136695962');
# $cd = '62'
$bn = $ustid->basenumber('136695962');
# $bn = '1366959'
