BanStat
Logo Compta Online
ACE

Vérification numéro TVA intracommunautaire

11
22 258
1
11 réponses
22 258 lectures
1 vote
  • Pages : [1] 2
Patrick-r
ProfilPatrick-r
Cadre du secteur privé
  • 06 - Alpes-Maritimes
Envoyer un message privé   Ajouter à mes contacts
  • 0 vote
popupBulle tail
Profil
Cadre du secteur privé


Ecrit le: 25/05/2010 18:37
0
VOTER
Votez MoinsVotez Plus
Bonjour,
Notre entreprise (PME) vend des produits logiciels en ligne, dans la fourchette de 20 à 600 ¤.
Lorsque nous vendons à une entreprise de l'UE et que celle-ci nous indique son numéro de TVA intracommunautaire, nous devrions facturer hors TVA, après vérification de la validité du numéro de TVA intracommunautaire de l'acheteur.

Mais comment le vérifier automatiquement ? C'est-à-dire au moyen d'un script ou d'une requête informatique auprès d'un organisme qui pourrait répondre oui ou non.

Nous n'avons trouvé que des requêtes manuelles, avec un opérateur derrière l'écran (VIES par exemple). Bien sûr, cette méthode est totalement incompatible avec une vente en ligne qui est totalement automatisée.

Alors, comment résoudre cette difficulté ?
D'autres y ont certainement été confrontés...

Curieusement, alors que les achats en lignes se développent rapidement, je n'ai trouvé personne qui connaisse la réponse. On me dit de me connecter manuellement sur tel ou tel site...
Difficile d'être en permanence derrière un écran à 3 heures du matin pour guetter l'acheteur et valider ou non dans les 10 secondes !

Merci d'avance de votre aide,


--------------------
Sandra Schmidt
ProfilSandra Schmidt
Rédactrice et modératrice Compta Online
  • 75 - Paris
 
  • 787 votes
popupBulle tail
Profil
Voir son compte Twitter Voir son compte LinkedIn

Rédactrice et modératrice Compta Online



Re: Vérification numéro TVA intracommunautaire
Ecrit le: 26/05/2010 10:09
0
VOTER
Votez MoinsVotez Plus
Bonjour,

Après une petite recherche sur internet, il semblerait que cette vérification ne soit pas possible, ou alors, de manière très partielle :

lien n°1
lien n°2
lien n°3
lien n°4

Personnellement, je ne connais pas d'autre moyen que la méthode manuelle.

Bon courage,

Cordialement


--------------------

Rédactrice et modératrice Compta Online

Patrick-r
ProfilPatrick-r
Cadre du secteur privé
  • 06 - Alpes-Maritimes
Envoyer un message privé   Ajouter à mes contacts
  • 0 vote
popupBulle tail
Profil
Cadre du secteur privé


Re: Vérification numéro TVA intracommunautaire
Ecrit le: 26/05/2010 16:02
0
VOTER
Votez MoinsVotez Plus
Citation : Sandra Schmidt @ 26.05.2010 à 10:09
Bonjour,

Après une petite recherche sur internet, il semblerait que cette vérification ne soit pas possible, ou alors, de manière très partielle :

lien n°1
lien n°2
lien n°3
lien n°4

Personnellement, je ne connais pas d'autre moyen que la méthode manuelle.

Bon courage,

Cordialement

Bonjour Sandra Schmidt et merci pour cette réponse si rapide !

J'avais effectué à peu près les mêmes recherches, avec le même "succès". Les liens contenant des exemples de programmation sont un plus par rapport à ma propre recherche.

Je trouve tout à fait extraordinaire que l'administration fiscale, très souvent en pointe dans le domaine de la gestion informatisée des documents et des procédures ne se soit pas encore penché sur cette question.
D'autant plus que la vente en ligne se développe rapidement.

La question qui reste en suspend est : Mais comment font les autres sociétés qui vendent des produits en ligne vers d'autres pays de l'UE, particulièrement lorsque ces produits sont dématérialisés comme des logiciels ?
Nos clients nous réclament, à juste titre, de la facturation hors TVA et nous sommes incapables de leur donner satisfaction :-(

On pourrait envisager la simulation d'un acte de recherche manuelle, mais outre qu'il faudrait adapter les formats aux cas différents de 27 pays Codage TVA des pays de l'UE nous serions à la merci d'une modification de présentation du site...

Vivement que l'administration prenne en compte ce besoin des entreprises...

En tout cas, encore merci pour ces renseignements :-)


--------------------
Lucky luc
ProfilLucky luc
Comptable en entreprise
Envoyer un message privé   Ajouter à mes contacts
  • 329 votes
popupBulle tail
Profil
Comptable en entreprise


Re: Vérification numéro TVA intracommunautaire
Ecrit le: 26/05/2010 16:20
0
VOTER
Votez MoinsVotez Plus
Bonjour,

Je n'avais pas non plus trouvé grand chose. Peut-être une piste (payante) ici.

Cordialement.

Luc


--------------------
Patrick-r
ProfilPatrick-r
Cadre du secteur privé
  • 06 - Alpes-Maritimes
Envoyer un message privé   Ajouter à mes contacts
  • 0 vote
popupBulle tail
Profil
Cadre du secteur privé


Re: Vérification numéro TVA intracommunautaire
Ecrit le: 26/05/2010 19:04
0
VOTER
Votez MoinsVotez Plus
Citation : Lucky luc @ 26.05.2010 à 16:20
Bonjour,

Je n'avais pas non plus trouvé grand chose. Peut-être une piste (payante) ici.

Cordialement.

Luc

Merci Luc,

Il s’agit ici plutôt d’une sorte de mise en forme commune des différents formats de pays de l’UE, mais c’est un élément intéressant de plus !

Ce que je me demande, c’est comment font les autres sociétés qui se trouvent dans le même cas que la nôtre...


--------------------
Claudusaix
ProfilClaudusaix
Expert-Comptable Mémorialiste en cabinet
  • 87 - Haute-Vienne
Envoyer un message privé   Ajouter à mes contacts
  • 419 votes
popupBulle tail
Profil
Voir son compte Twitter Voir son compte LinkedIn Voir son site Internet
Expert-Comptable Mémorialiste en cabinet


Re: Vérification numéro TVA intracommunautaire
Ecrit le: 26/05/2010 20:27
0
VOTER
Votez MoinsVotez Plus
Bonsoir,

Comme il a été dit, il existe la page VIES Validation du numéro de TVA par VIES (Cf. le lien en Français).

Je ne sais pas exactement comment il serait possible de l'automatiser. Toutefois, je donne une piste. Comme tout site, il y a un code source. Le bouton «Vérifier» est ce que l'on appelle un bouton «INPUT».

Or, ces boutons «INPUT» sont généralement écrits en javascript et/ou en CSS. Aussi, à partir du code source, il faudrait créer un script pour automatiser les éléments du code source de la page VIES Validation du numéro de TVA par VIES.

Je parle seulement de l'aspect technique. Il faut évidemment étudier l'aspect juridique et, sans doute, demander l'autorisation d'exploitation auprès de l'administrateur du site.

Cordialement,


--------------------
Lucky luc
ProfilLucky luc
Comptable en entreprise
Envoyer un message privé   Ajouter à mes contacts
  • 329 votes
popupBulle tail
Profil
Comptable en entreprise


Re: Vérification numéro TVA intracommunautaire
Ecrit le: 26/05/2010 21:10
0
VOTER
Votez MoinsVotez Plus
Bonsoir,

Citation
Il s’agit ici plutôt d’une sorte de mise en forme commune des différents formats de pays de l’UE, mais c’est un élément intéressant de plus !

Pourtant il est indiqué "Algorithme de vérification des codes de TVA intracommunautaire".
Je lis aussi "Sur demande, Datalgo peut réaliser un contrôle spécifique pour les numéros de TVA Intracom des autres pays membres de l'Union Européenne."

Cordialement.

Luc


--------------------
Erwanf
ProfilErwanf
  • 29 - Finistère
Envoyer un message privé   Ajouter à mes contacts
  • 1 vote
popupBulle tail
Profil


Re: Vérification numéro TVA intracommunautaire
Ecrit le: 12/06/2010 03:50
0
VOTER
Votez MoinsVotez Plus
Bonjour,

Désolé de répondre tardivement, je viens de m'inscrire sur ce forum.

Il est bien possible de vérifier automatiquement la validité de numéros de TVA intracommunautaires.
Mais il ne faudrait sans-doute pas le faire tout à fait comme suggéré dans les messages précédents.

Vu qu'il s'agit là de développement informatique, des précisions trouveraient peut-être plus leur place sur un forum dédié à ce type de sujet. Je vais tout de même essayer de donner le principe dans les grandes lignes.

Pour ma part je ne conseillerai pas d'utiliser (seuls) des algorithmes qui se basent uniquement sur la forme d'un numéro fourni : celle-ci peut être correcte sans pour autant que le No soit valide ni que l'entité soit réellement assujettie (ni d'ailleurs que l'entité existe).

Lorsque l'on a déjà validé le No de TVA (cf. point 1 ci-dessous), ce type d'algorithme peut par contre s'avérer utile si l'on tient également à vérifier (point 2) que le No de TVA validé concorde bien avec les autres informations fournies (ex: No SIREN pour les entreprises françaises).
Il y a dans ce cas 2 vérifications successives à effectuer, toutefois il ne semble pas y avoir de solution miracle pour la 2ème.

1) Vérification des numéro de TVA intracommunautaires

Comme cela a déjà été suggéré, le mieux est d'utiliser le service VIES mis à disposition par la Commission Européenne.
Ce service utilise plusieurs bases de données (à priori une par état) qui recense les numéros des entités effectivement enregistrées.

Par contre, il ne faut surtout pas que votre application se base sur le formulaire de la page prévue pour une consultation manuelle et tente de retraiter la page web retournée pour y retrouver un résultat.
En effet, votre programme serait à revoir à chaque changement dans la forme du formulaire ou de la page retournée.

La meilleure solution consiste bien à utiliser VIES, mais dans sa version dite "web service".
Le principe reste le même, sauf que ce service est spécifiquement destiné à servir de support au "dialogue" entre des applications tierces (telles qu'une boutique en ligne) et les serveurs de vérification.

Le site de la Commission Européenne donne quelques informations lacunaires ici (question 16).

Une recherche sur le web renvoie vers plus d'explications et des exemples d'implémentations
(mots-clés : verifier tva vies soap ...).

En pratique l'application prend le No à vérifier, prépare une requête selon un modèle stucturé et prédéfini (WSDL), et l'envoie (protocole SOAP) au serveur de vérification.
En retour l'application reçoit une réponse, elle aussi dans une forme structurée et prédéfinie, qui peut alors être taitée.

Selon le cas, la mise en oeuvre n'est pas forcément difficile mais nécessite tout de même quelques connaissances en développement.

S'il s'agit d'une boutique en ligne reposant sur un logiciel courant, des modules/extensions existants peuvent permettre de vérifier un No de TVA lors d'une inscription ou d'une commande.
Exemples (payants) pour Magento : EuVat ou TaxVatCheck
Pour osCommerce : TVA Intracommunautaire v2.0
ou encore avec Drupal : Ubercart VAT Number
...

A noter que le protocole utilisé peut être implémenté dans plusieurs languages de programmation et la vérification automatisée de n° de TVA n'est pas réservée aux seuls sites internet.
On peut par exemple imaginer que cette fonctionnalité soit implémentée dans un logiciel installé sur un poste local pour traiter des bons de commande par lot.

2) Vérification de la correspondance No de TVA <=> entreprise concernée

Le service VIES permet bien de vérifier qu'un No de TVA est valide et qu'il correspond bien à une entreprise/entité assujetie.
Pour autant il comporte une limitation, et pas des moindre : il ne permet pas directement de vérifier qu'il correspond bien à l'entreprise à laquelle on s'intéresse.

Donc soit on fait confiance aux informations fournies, soit il faut envisager un algorithme qui effectue une 2ème vérification en confrontant le No de TVA déjà validé avec les autres éléments dont on dipose.

Sur ce point, les algorithmes qu'on peut trouver se limitent le plus souvent à une vérification de forme, tandis qu'il faut ici faire une vérification sémantique.
Par exemple pour une entreprise française : vérifier que No de TVA validé comprend bien le No SIREN fourni par ailleurs.

Reste que le No de TVA est construit différement selon les pays de l'Union Européenne et que je n'ai pas vu d'algorithme ou de document qui précise pour chacun d'eux les éléments à prendre en compte.

Cette page donne des indications pour quelques pays ainsi qu'un algorithme (et une implémentation PHP) pour vérifier la forme des No de TVA.

Cordialement
Patrick-r
ProfilPatrick-r
Cadre du secteur privé
  • 06 - Alpes-Maritimes
Envoyer un message privé   Ajouter à mes contacts
  • 0 vote
popupBulle tail
Profil
Cadre du secteur privé


Re: Vérification numéro TVA intracommunautaire
Ecrit le: 18/06/2010 20:01
0
VOTER
Votez MoinsVotez Plus
Citation : Erwanf @ 12.06.2010 à 03:50
Bonjour,

Désolé de répondre tardivement, je viens de m'inscrire sur ce forum.

Il est bien possible de vérifier automatiquement la validité de numéros de TVA intracommunautaires.
Mais il ne faudrait sans-doute pas le faire tout à fait comme suggéré dans les messages précédents.

Vu qu'il s'agit là de développement informatique, des précisions trouveraient peut-être plus leur place sur un forum dédié à ce type de sujet. Je vais tout de même essayer de donner le principe dans les grandes lignes.

Pour ma part je ne conseillerai pas d'utiliser (seuls) des algorithmes qui se basent uniquement sur la forme d'un numéro fourni : celle-ci peut être correcte sans pour autant que le No soit valide ni que l'entité soit réellement assujettie (ni d'ailleurs que l'entité existe).

Lorsque l'on a déjà validé le No de TVA (cf. point 1 ci-dessous), ce type d'algorithme peut par contre s'avérer utile si l'on tient également à vérifier (point 2) que le No de TVA validé concorde bien avec les autres informations fournies (ex: No SIREN pour les entreprises françaises).
Il y a dans ce cas 2 vérifications successives à effectuer, toutefois il ne semble pas y avoir de solution miracle pour la 2ème.

1) Vérification des numéro de TVA intracommunautaires

Comme cela a déjà été suggéré, le mieux est d'utiliser le service VIES mis à disposition par la Commission Européenne.
Ce service utilise plusieurs bases de données (à priori une par état) qui recense les numéros des entités effectivement enregistrées.

...

2) Vérification de la correspondance No de TVA <=> entreprise concernée

Le service VIES permet bien de vérifier qu'un No de TVA est valide et qu'il correspond bien à une entreprise/entité assujetie.
Pour autant il comporte une limitation, et pas des moindre : il ne permet pas directement de vérifier qu'il correspond bien à l'entreprise à laquelle on s'intéresse.

...

Cordialement

Bonjour Erwanf,

Voilà une réponse bien détaillée !

L’existence de ce Web service est une info très intéressante. C’est certainement en effet de ce côté que se trouve la solution. Du moins pour le point 1 (vérif de l’existence du Numéro).

En effet, il s’agit de développement informatique, cependant, je n’évoque ici que les principes, les points de contacts avec l’administration et des liens vers de la documentation.
Je ne compte pas étaler des lignes de code ;-)

Le seul contrôle de la validité structurelle du No, encore que ce ne soit pas toujours possible, ne donnerait rien d’intéressant. Il faut au moins obtenir quelque chose comme ce que répond VIES lors d’une interrogation manuelle : L’entreprise existe bien dans le pays considéré.
Accessoirement une référence de la requête : je suis untel, possédant le No xxxyyyzzz et je contrôle que mon client existe. VIES me dit OK, et je peux donc de bonne foi accepter de ne pas facturer la TVA à ce client.

Quant au point 2, vérifier que le No appartient bien au client qui l’annonce... je ne crois pas que l’info soit disponible (sauf en France, mais c’est justement le seul cas où ça ne m’intéresse pas puisque nous facturons la TVA).

Les infos que j’ai trouvées sur ce Web service sont effectivement lacunaires, mais bon, je vais creuser sur des forums d’informaticiens.
Nous utilisons des Web services dans d’autres cas de figure, si ça fonctionne côté administration, on devrait y arriver...
Notre boutique en ligne est de construction "maison", car nos produits, modulaires, entrent mal dans les standards des outils tout faits de vente en ligne.

Merci Erwanf,

Cordialement,


--------------------
Denayerj
ProfilDenayerj
Cadre du secteur privé
  • BE - Belgique
Envoyer un message privé   Ajouter à mes contacts
  • 0 vote
popupBulle tail
Profil
Cadre du secteur privé


Re: Vérification numéro TVA intracommunautaire
Ecrit le: 17/01/2011 08:47
0
VOTER
Votez MoinsVotez Plus
Citation : Patrick-r @ 25.05.2010 à 17:37
Bonjour,
Notre entreprise (PME) vend des produits logiciels en ligne, dans la fourchette de 20 à 600 ¤.
Lorsque nous vendons à une entreprise de l'UE et que celle-ci nous indique son numéro de TVA intracommunautaire, nous devrions facturer hors TVA, après vérification de la validité du numéro de TVA intracommunautaire de l'acheteur.

Mais comment le vérifier automatiquement ? C'est-à-dire au moyen d'un script ou d'une requête informatique auprès d'un organisme qui pourrait répondre oui ou non.

Nous n'avons trouvé que des requêtes manuelles, avec un opérateur derrière l'écran (VIES par exemple). Bien sûr, cette méthode est totalement incompatible avec une vente en ligne qui est totalement automatisée.

Alors, comment résoudre cette difficulté ?
D'autres y ont certainement été confrontés...

Curieusement, alors que les achats en lignes se développent rapidement, je n'ai trouvé personne qui connaisse la réponse. On me dit de me connecter manuellement sur tel ou tel site...
Difficile d'être en permanence derrière un écran à 3 heures du matin pour guetter l'acheteur et valider ou non dans les 10 secondes !

Merci d'avance de votre aide,

Bonjour,
Voici une petite fonction PHP que j'utilise sur mes sites.

CODE
<?php
function VerifyVatNumber($VatNumber,$Vies=false){
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Vérification de la forme d'un numéro de TVA pour les PAYS suivant
# AT,DK,HU,LU,MT,FI,SI,PT,DE,EE,EL,SK,PL,IT,LV,BG,CZ,BE,LT,CY,ES
# FR,GB,IE,NL,RO,SE
# Auteur: Denayer Joël
# Site web: bottin.be, bottin.fr
# Possibilité d'étendre le code à d'autres pays.
# exemple: $VatNumber = 'DK99 99 99 99 ';
# if(VerifyVatNumber($VatNumber)){ echo 'valide';} else echo 'non valide';
# Retourne TRUE en cas de numéro valide.
# Pour vérifier également si le numéro est valide VIA VIES il faut mettre
# true -> ex: if(VerifyVatNumber($VatNumber,true)){ echo 'valide + Vies';} else echo 'non valide' + vies;
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
$S = eregi_replace("[^A-Z0-9\+\*]+","",$VatNumber);
$C = strtoupper(substr($S, 0, 2)); //recupération du code pays.
(strlen($C)=='2')?$V=true:$V=false;
if($V){
if($C=='AT'): $F='^'.$C.'[U[:digit:]]{9}$';
elseif($C=='DK'||$C=='HU'||$C=='LU'||$C=='MT'||$C=='FI'||$C=='SI'): $F='^'.$C.'[[:digit:]]{8}$';
elseif($C=='PT'||$C=='DE'||$C=='EE'||$C=='EL'): $F='^'.$C.'[[:digit:]]{9}$';
elseif($C=='SK'||$C=='PL'): $F='^'.$C.'[[:digit:]]{10}$';
elseif($C=='IT'||$C=='LV'): $F='^'.$C.'[[:digit:]]{11}$';
elseif($C=='BG') : $F='^'.$C.'[[:digit:]]{8,9}$';
elseif($C=='CZ') : $F='^'.$C.'[[:digit:]]{8}$|[[:digit:]]{10}$';
elseif($C=='BE') : $F='^'.$C.'[0[:digit:]]{10}$';
elseif($C=='LT') : $F='^'.$C.'[[:digit:]]{9}|[[:digit:]]{12}$';
elseif($C=='CY') : $F='^'.$C.'[[:digit:]]{8}[[:alpha:]]{1}$';
elseif($C=='ES') : $F='^'.$C.'[[:alnum:]]{1}[[:digit:]]{7}[[:alnum:]]{1}$';
elseif($C=='FR') : $F='^'.$C.'[[:alnum:]]{2}[[:digit:]]{9}$';
elseif($C=='GB') : $F='^'.$C.'([[:digit:]]{9})$|([[:digit:]]{12})$|([GD|HA][[:digit:]]{3}$)';
elseif($C=='IE') : $F='^'.$C.'[[:digit:]]{1}[[:alnum:]]{1}[[:digit:]]{5}[[:alpha:]]{1}$';
elseif($C=='NL') : $F='^'.$C.'[[:digit:]B]{10}[[:digit:]]{2}$';
elseif($C=='RO') : $F='^'.$C.'[[:digit:]]{2,10}$';
elseif($C=='SE') : $F='^'.$C.'[[:digit:]]{12}$';
else :$F = false; return $F;
endif;
if($F!==false){
$vatNumber = substr(strtoupper($S), 2);
(ereg(''. $F.'',$C.$vatNumber))?$V=true:$V=false;
if($V&&$Vies){
//Les pays CEE pris en compte par VIES
(ereg($C,'AT,BE,BG,CY,CZ,DE,DK,EE,EL,ES,FI,FR,GB,HU,IE,IT,LT,LU,LV,MT,NL,PL,PT,RO,SE,SI,SK'))?$CEE=true:$CEE=false;
if($CEE==true){ //on continue
$client = new SoapClient("http://ec.europa.eu/taxation_customs/vies/services/checkVatService.wsdl");
$params = array('countryCode' => $C, 'vatNumber' => $vatNumber);
try{
$result = $client->checkVat($params);
if ($result->valid ){
($result->valid==1)?$Xv=true: $Xv=false; //pour la forme
return $Xv; // Retourne TRUE si le numéro est valide avec VIES
} else return false; //numéro non valide
}
catch(Exception $e) {
//Non valide ou service non dispo
return false;
}
}
else
{
//on abandonne
return false;
//OU vous pouvez relancer la procédure uniquement sur la forme
//return VerifyVatNumber($S),
}
} else return $V; // retourne TRUE OU FALSE (sans VIES)
} else return $F; // retourne FALSE (structure non conforme)
} else return $V;//manque le code PAYS
}
?>


--------------------
Retour en haut


  • Pages : [1] 2







connectés
Publicité
CEGID
Retour en haut
fermer
Connexion membre
Nom d'utilisateur ou email
Mot de passe
  
Avertissement : Ce site permet aux internautes de dialoguer librement sur le thème de la comptabilité.
Les réponses des Internautes et des membres du forum n'engagent en aucun cas la responsabilité de Compta Online.
Tout élément se trouvant sur ce site est la propriété exclusive de Compta Online, sous réserve de droits appartenant à des tiers.
Toute copie, toute reprise ou tout usage des photographies, illustrations et graphismes, ainsi que toute reprise de la mise en page figurant sur ce site, ainsi que toute copie ou reprise en tout ou partie des textes cités sur ce site sont strictement interdits, sous réserve de l'autorisation express écrite de l'ayant droit.

Toute reprise ou tout usage, à quelque titre que ce soit, des marques textuelles, graphiques ou combinées (comme notamment les logos) sont également interdits, sous réserve de l'autorisation express écrite de l'ayant droit.

© 2003-2020 Compta Online
S'informer, partager, évoluer