Valiacion Vat Number

19/07/2006 - 12:40 por Angel O. | Informe spam
Hola amigos.

Necesito saber como validar un NIF de la UE. Es decir, igual que el NIF
español tiene un dígito de control, en los otros paises también es así.
Necesito validar muchos NIF de la UE => VAT NUMBER y desconozco la forma del
cálculo. Alguien de vosotros tiene alguna cosa hecha en Excel que valide los
Vat's ? los paises en principio son Italia y Francia. He intentado localizar
en Internet como se calcula para cada pais y no lo encuentro.

Gracias.


Angel O.

Preguntas similare

Leer las respuestas

#1 zipzap
19/07/2006 - 17:13 | Informe spam
Sobre como calcular el "codice fiscale italiano" te envío dos links

http://it.wikipedia.org/wiki/Codice_fiscale
http://gratis.pietrelcinanet.com/co...codice.htm

Si quieres más, puedes buscar en google con el texto que he puesto
entre comillas.

¿Tienes el algoritmo de la validación de TODOS los NIFs y CIFs
españoles?

Saludos
JLGG


Angel O. ha escrito:

Hola amigos.

Necesito saber como validar un NIF de la UE. Es decir, igual que el NIF
español tiene un dígito de control, en los otros paises también es así.
Necesito validar muchos NIF de la UE => VAT NUMBER y desconozco la forma del
cálculo. Alguien de vosotros tiene alguna cosa hecha en Excel que valide los
Vat's ? los paises en principio son Italia y Francia. He intentado localizar
en Internet como se calcula para cada pais y no lo encuentro.

Gracias.


Angel O.
Respuesta Responder a este mensaje
#2 zipzap
21/07/2006 - 00:40 | Informe spam
Sobre el código fiscal francés, puedo decirte que está compuesto por
el código FR, una clave de 2 dígitos y el número SIREN de la empresa
con nueve cifras.

En http://fr.wikipedia.org/wiki/Code_INSEE podrás encontrar qué es
el nº SIREN y SIRET.

En http://www.eic.ccip.fr/informations....htm#som02 , en el
apartado "Foire aux Questions"
se puede deducir que NO existe algoritmo accesible para
verificar el VAT francés.
Sí puedes verificar si la parte que corresponde al SIREN es
correcta con el algoritmo de Luhn.

En el sitio http://ec.europa.eu/taxation_custom...eshome.htm
puedes realizar la validación del código francés y cualquier otro.

He realizado una función en VB Excel para validar el CIF Italiano
¿Todavía la necesitas?

Saludos
Respuesta Responder a este mensaje
#3 Angel O.
24/07/2006 - 17:05 | Informe spam
Si que lo necesito. Si puedes pasarmelo te lo agradeceré.

Gracias

Angel O.


"zipzap" ha escrit en el missatge dels
grups de discussió:

Sobre el código fiscal francés, puedo decirte que está compuesto por
el código FR, una clave de 2 dígitos y el número SIREN de la empresa
con nueve cifras.

En http://fr.wikipedia.org/wiki/Code_INSEE podrás encontrar qué es
el nº SIREN y SIRET.

En http://www.eic.ccip.fr/informations....htm#som02 , en el
apartado "Foire aux Questions"
se puede deducir que NO existe algoritmo accesible para
verificar el VAT francés.
Sí puedes verificar si la parte que corresponde al SIREN es
correcta con el algoritmo de Luhn.

En el sitio http://ec.europa.eu/taxation_custom...eshome.htm
puedes realizar la validación del código francés y cualquier otro.

He realizado una función en VB Excel para validar el CIF Italiano
¿Todavía la necesitas?

Saludos
Respuesta Responder a este mensaje
#4 zipzap
24/07/2006 - 18:36 | Informe spam
Este es el código.
Si tienes alguna duda ya sabes donde preguntar.
-

Private Function VCFI(Entrada As String)
' Validación del Codice Fiscale Italiano.
Dim Letrai As String * 1
Dim Sumtot As Integer
Dim i As Integer
Dim Varnum As String
'
' A cada letra o numero se le asigna un valor entre 0 y 25
Dim Letras(2) As String * 26
Dim Numeros(2) As String * 26
Letras(0) = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ' Valor para posicion Par
Letras(1) = "BAKPLCQDREVOSFTGUHMINJWZYX" ' Valor para posición Impar
Numeros(0) = "0123456789________________" ' Valor posición Par
Numeros(1) = "10___2_3_4___5_6_7_8_9____" ' Valor posición Impar
' El digito de control del resultado
Const LetrasR As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Resfunc = "Error"
If Len(Entrada) <> 16 Then GoTo Salir
Varnum = UCase(RTrim$(LTrim$(Entrada)))
'
Sumtot = 0
For i = 1 To 15
Letrai = Mid$(Varnum, i, 1)
Posicion = i Mod 2
If InStr(1, Letras(Posicion), Letrai) <> 0 Then
Valor = InStr(1, Letras(Posicion), Letrai) - 1
Sumtot = Sumtot + Valor
Else
If InStr(1, Numeros(Posicion), Letrai) <> 0 Then
Valor = InStr(1, Numeros(Posicion), Letrai) - 1
Sumtot = Sumtot + Valor
Else
GoTo Salir
End If
End If
Next i
'
'
Sumtot = Sumtot Mod 26
Sumtot = Sumtot + 1
If Mid$(LetrasR, Sumtot, 1) = Right$(Varnum, 1) Then
Resfunc = vbTrue
Else
Resfunc = vbFalse
End If
'
Salir: '
VCFI = Resfunc
End Function


Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida