Contrôle du numéro de tva (belge)

Contenu du snippet

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

A voir également

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.