TVA doublée dans l'administration Ubercart

Bonjour à tous et à toutes.

Comme vous vous en doutez, j’ai un souci sur Drupal et plus précisément sur Ubercart.
J’ai installé le module de vente en ligne Ubercart (6.x-2.4) ainsi que le module uc_vat (6.x-1.1) pour pouvoir gérer les taux de TVA. Mes prix sont saisis en TTC et affichés en TTC. La TVA est donc calculée à partir du montant TTC.

J’ai une erreur sympathique, je vous la décrit :

Je simule une commande (client lambda), ajout au panier, validation, saisie des infos etc. Je valide et paye ma commande, reçois ma confirmation etc. Jusque là tout va bien.

Je passe en admin et vais faire un tour du coté de la page affichant la liste des commandes. Oh miracle ! Une nouvelle commande. Apparemment toutes les infos dans le tableau (id, infos client, montant, etc.).
Je clique donc sur la petite loupe pour voir le détail de la commande du client et la ….

Ce satané Ubercart me rajoute le montant de la ligne de TVA au montant total de ma commande. Je me retrouve avec une commande où la TVA est ajoutée 2 fois !!
Et une fois que j’ai affiché ce détail erroné de ma commande, si je retourne sur la liste, le montant n’est plus bon (une maj en bdd à l’air de s’effectuer).

J’ai beau chercher et m’arracher les cheveux, je désespère.

Est-ce que l’un de vous aurait déjà rencontré ce genre de problèmes ?

Un grand merci d’avance à vous tous et toutes.

A bientôt

#

Bon pas de réponse, mais j’ai trouvé :

Mon compte d’admin avait un droit d’activé qui m’affichait les montants en HT et non TTC (ce qui apparemment ne fonctionnait que partiellement puisque tous les montants m’apparaissaient en TTC). Cela avait pour résultat qu’à chaque fois que j’éditais une commande, il me rajoutait la TVA une deuxième fois.
Le souci, qui pour moi relève plutôt du bug, est que cette valeur était stockée en bdd et pour tous les utilisateurs.
Une fois ce droit décoché, j’ai revisualisé toutes mes commandes une par une et tous les montant se sont de nouveau mis à jour comme par magie !

BUG ou mauvais paramétrage ? moi je pencherais pour les deux => demie auto-flagellation :)

Bon courage à tous.

#

Ah ça y est, j’ai trouvé.
Merci d’avoir mis la solution dans le forum !

Bonne journée
Laurent

#

De rien bonne journée et bonne continuation …

#

Mon collègue a rencontré le même problème voici les lignes modifiées pour le module

/*
* fichier : ubercart/uc_order/uc_order.line_item.inc
* fonction : uc_line_items_calculate
* erreur de calcul du montant total TTC (TVA appliquée 2 fois) pour le rôle Admin uniquement
*/
function uc_line_items_calculate($order) {
+    global $user; // Aurélien le 31/08/2010 : correction du calcul de la TVA pour le rôle admin
   $total = 0;

   $context = array(
     'revision' => 'altered',
     'type' => 'line_item',
     'subject' => array(
       'order' => $order,
     ),
   );

   if (is_array($order->line_items)) {
     foreach ($order->line_items as $item) {
       $context['subject']['line_item'] = $item;
       if (_line_item_data($item['type'], 'calculated') == TRUE) {
+        if(!array_key_exists(4, $user->roles) || $item['type'] != 'tax') { // Aurélien le 31/08/2010 : correction du calcul de la TVA pour le rôle admin
         $total += uc_price($item['amount'], $context);
       }
+       } // Aurélien le 31/08/2010 : correction du calcul de la TVA pour le rôle admin
     }
   }

   return $total;
}

Syndiquer le contenu