Comment la science nous aide à automatiser les tests de TVA?

Pour assurer l’exactitude des données dans un processus d’exctraction automatique, il est impératif d’effectuer une multitude de tests, qui doivent eux même être automatisés.

Nous allons nous intéresser ici à la vérification des montants, et plus précisément à la cohérence du taux de TVA. Les montants extrait des factures se regroupent en 3 catégories: hors taxe (HT), taxe sur la valeur ajoutée (TVA) et toutes taxes comprises (TTC). Ces trois montants vérifient la relations suivante:

HT + TVA = TTC

Le taux de TVA, égale au quotient du montant de TVA sur le montant HT, doit correspondre à un des taux légaux: 2.1%,5,5% 10%, 20% . Si ce n’est pas le cas, il s’agit d’une anomalie, soit dans la facture elle même, soit dans le processus d’extraction de donnée.

Le bruit de comptage et la difficulté d’un test automatique

Très vite, on peut se rendre compte qu’un tel test automatique est irréalisable. Nous trouverons des montants proches des taux légaux, mais pas exactement égaux à ces derniers. Par exemple, si l’on regarde le ticket de caisse suivant, nous povouns remarquer qu’en divisant le montant de TVA par le montant hors taxe, nous obtenons le taux de 19.74%.

En effet, l’aspect granulaire de notre monnaie, qui ne peut se diviser en unités plus petites que des centimes, introduit une incertitude sur les quantités calculées. C’est ce qu’on appelle le bruit de comptage, ou bruit de grenaille, que l’on retrouve dans tous les processus de nature quantique (https://fr.wikipedia.org/wiki/Bruit_de_grenaille).

Il ne s’agit donc pas de savoir si le taux calculé est bien égal à un taux légal, mais de savoir si le taux calculé est raisonnablement proche d’un taux légal pour ne pas être considéré comme une anomalie.

Le calcul de l’incertitude

Nous avons donc besoin d’une marge d’erreur acceptable autour des taux légaux. Cette marge d’erreur ne peut cependant pas être fixe. Dans l’exemple précédent, on peut estimer que l’écart est relativement faible: 0.26% sur le taux de TVA; mais un tel écart ne saurait être acceptable pour une facture à 10000€, car nous aurions une erreur sur le montant tva de 26€. L’erreur étant due à un arrondi de TVA, elle ne peut être supérieure à 1 centime sur le montant de TVA. Il faut donc évaluer l’écart constaté sur le taux de TVA avec une variation d’1 centime du montant de TVA.

Pour résoudre ce problème, il faut propager les incertitudes dans la relation :

dans laquelle TX désigne le taux de tva. Si l’on nomme ΔTVA et ΔTX les incertitudes sur le montant de TVA et le taux de TVA, nous obtenons la relation suivante:

Comme nous l’avons expliqué précédemment, l’incertitude ΔTVA sur le montant de TVA est connue, car liée à l’arrondi, et vaut donc 1 centimes.

En résumé

La vérification des taux de TVA est une tâche qui peut paraître triviale, car facile à réaliser manuellement. Cependant, pour faire un test systématique de manière automatique, il faut que l’algorithme puisse évaluer avec précision l’écart acceptable avec le taux légal. Grâce à des formules connues depuis des siècles dans le domaine de la physique expérimentale, nous arrivons à évaluer exactement si l’erreur sur un taux de TVA est liée à un problème d’arrondi, ou si il s’agit d’une anomalie.