Cyprus (CY)

Cyprus VAT Number Validation

Format, pattern, and checksum algorithm for CY VAT numbers

Cyprus VAT numbers consist of 8 digits followed by a check letter, using a lookup table algorithm for validation.

Format vs. Active Validation

This checks format only, not if a VAT number is really registered. Use VatDB's API to verify is a number is really registered and active. VatDB checks official EU and national datasources.

Format Overview

Property Value
Country Code CY
Format 8 digits + 1 letter
Length 9 characters
Example CY12345678A

Regex Pattern

^CY[0-9]{8}[A-Z]$

Restrictions

  • Cannot start with "12"
  • Since March 2023, new TINs start with digit 6

Checksum Algorithm

Cyprus uses a lookup table combined with MOD 26:

def validate_cy_vat(number):
    if number.startswith('CY'):
        number = number[2:]

    if len(number) != 9:
        return False

    # Cannot start with 12
    if number.startswith('12'):
        return False

    digits = number[:8]
    check_letter = number[8]

    if not digits.isdigit() or not check_letter.isalpha():
        return False

    # Lookup table for odd positions
    table = [1, 0, 5, 7, 9, 13, 15, 17, 19, 21]

    total = 0
    for i, d in enumerate(digits):
        digit = int(d)
        if i % 2 == 0:  # Odd position (1-indexed)
            total += table[digit]
        else:  # Even position
            total += digit

    expected = chr(ord('A') + (total % 26))
    return check_letter == expected

Frequently Asked Questions

How do I verify a Cyprus VAT number?
Cyprus VAT numbers have 8 digits + 1 check letter. Validate using the lookup table algorithm with MOD 26. Use VatDB's API for official verification against EU and national databases.
What does a Cyprus VAT number look like?
A Cyprus VAT number has the format CY12345678A - 'CY' followed by 8 digits and a single check letter (A-Z). The letter is calculated using a special lookup table algorithm.
How many digits are in a Cyprus VAT number?
A Cyprus VAT number contains 8 digits plus 1 check letter. The total length is 11 characters including the CY country code: CY + 8 digits + 1 letter.
Why can't Cyprus VAT numbers start with 12?
The prefix '12' is reserved in the Cyprus numbering system and not assigned to any VAT registrations. Numbers starting with '12' should be considered invalid.
How can I check a Cyprus company's VAT registration?
Verify Cyprus VAT numbers using VatDB's API, which checks against official EU and Cyprus databases. Get instant validation with company details. Note that since March 2023, new Cyprus TINs start with digit 6.
What's the difference between format validation and checking if a VAT number is active?
Format checks verify structure only - they can't detect fake or deregistered numbers. For proof of actual VAT registration, use VatDB's API.

Validate Cyprus VAT Numbers Instantly

Use our API for real-time CY VAT number validation

Try Free