Code commenté
Source / Exemple :
- Appels de la fonction DigitTVA_be
=digittva_be("402706791")
=digittva_be("401706791")
=digittva_be("233706791")
Function DigitTVA_be
parameters sTVA
- Contrôle du paramètre passé
if pcount()=0
? "Numéro de TVA manquant"
return .F.
endif
if len(stva) <> 9
? "Le numéro de TVA belge comprend 9 chiffres"
return .F.
endif
- Calcul du digit
- En clair : 97 moins le reste de la division des 7 premiers
- chiffres par 97
Tdigit=97-mod(val(substr(stva,1,7)),97)
- Les 2 derniers chiffres du numéro de TVA doivent être
- équivalents
if tdigit = val(substr(stva,8,2))
? stva + " -> ce numéro est correct -> le digit est "+ str(tdigit)
return .T.
else
? stva + " -> ce numéro est incorrect -> le digit est "+str(tdigit)
return .F.
endif
endfunc
Conclusion :
Si nos amis de la CE pouvaient nous donner leur formule, ce serait sympa.
Jiem
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.