Magento Patch: How to optimize re-index processing time for Url Rewrite ?

Magento Patch: optimize re-index processing time for Url Rewrite

In the context of the daily technologic watch of our R&D departement whose purpose is to find new ways to optimize e-commerce websites, we are releasing an optimization extension for one of Magento’s most greedy index, the URL index !

But first of all, what’s an index ?

In order to reduce the time spent in collecting specific data (such as stocks, URL, prices…) in the database, Magento gathers them in « index » tables.

You can imagine this tables as baskets and the data in them as fruits. It’s much more faster to give users the fruits from baskets than making round trips to your fruit stall ! ;)

However, before being able to give efficiently this data, Magento need to fill up or update its indexes. This is called the re-index process.

These processes can take more or less time to execute themselves depending on the volume of data of your store and your server’s capacities.

Observation and problems

Some of our clients possess a great number of distinct URLs, so the reindex of «Catalog Url Rewrites» would take up to several hours to execute, whether it would be started manually in the BackEnd or by CRON.

For big catalogs, the following problems would appear:

  • Changes made in the BackEnd that would need a URL re-index could not be updated frequently because of the duration of the process ;
  • The process may sometimes not end properly ;
  • If the process doen’t end properly, some URL may be « badly » rewritten and put at a disavantage your SEO ;
  • Executed by CRON, it is sometimes compulsory to upgrade your RAM memory (PHP-CLI) ;
  • As long as the URL re-index isn’t completed, other re-index processes can’t start.

 

So our R&D team asked itself:

Why is Magento’s URL re-index taking so long ?

We then noticed that Magento didn’t use some of the store’s and products’ settings.

  • In fact, if you use short URLs for your products, Magento still creates both possibles URLs (long and short) in its index table.
  • Exemple :
    for :
    www.my-site.com/product.html
    Magento also creates:
    www.my-site.com/category/product.html

  • If your product is disabled, hence is not visible on your store, Magento stills indexes its URL.
  • If your product has several categories and sub-categories, there will be as many URLs as categories even if they aren’t used on your FrontEnd.
  • Same for products that are « not visible individually » which are generally used as associated products to a configurable product.
    Their URL are created and stored in the database.
  •  

    Solving and benefits:

    The index optimization extension we developed allows a better control over the URLs that need to be generated (or not) and therefore improve the duration of the process.

    Benefits for your store:

  • The URL re-index only takes a few minutes instead of several hours (in certain cases) ;
  • Being faster to execute, the process doesn’t end with an error or pending message anymore  ;
  • You don’t have 404 error anymore, no more impact on your SEO ;
  • Your server’s RAM memory consumption is less important than before during the process.

 

Benchmark

To give a taste of what you can expect, here are the first results obtained of differents types of catalogs and configurations.

Exemple :

With 9500 references (SKU), shared (or not) between 900 categories / Sub-categories and with CMS pages, the number of generated URLs in the «Core_URL_Rewrite» table is about 80 000.

The re-index (launched manually or by CRON) lasts about 3h30 (12 600 seconds).

After installing our patch, the re-index’s duration is 1 minute !

Other examples in the following chart :

Magento re-index processing time Benchmark

 

We can see that the re-index is clearly faster.

We also noticed a slight improvement on the Front’s display performances.

Installation & settings

Our extension «Patch_index_URL» is compatible with all versions of Magento CE &EE :

 

First make a backup of your database then install the extension on your developpement environment but not production !

Configuration for Magento DnD-Patch-url-index

  • In your BackEnd, go to : > System > Configuration > Developer
  • If you can’t see the extension, purge the Magento Cache and sessions, log out and log in to your Back End.
  • Select YES on the field «Enable Optimisation»/li>
  • If you don’t need to generate URLs for disabled products or not visible individually products, select YES for the 2 other fields.
  • Save
  • Go to the Index Management and re-index only your URLs.

 

Depending on the settings you chose, the re-index should be much quicker.

Any feedback and benchmarks is welcome :)

Patch Magento : Optimisation du temps de ré-indexation des URL

Patch Magento : Optimisation du temps de ré-indexation des URL produits et catégories

Dans le cadre de la veille quotidienne de notre pôle R&D destinée à optimiser toujours plus les site e-commerce de nos clients, nous publions aujourd’hui une extension d’optimisation d’un des index les plus gourmands de Magento : celui des URL !

Mais tout d’abord, qu’est ce qu’un index ?

Pour alléger les temps de traitement liés à la récupération d’informations bien spécifiques (telles que les stocks, Url, prix,…) contenues dans la base de données, Magento les regroupe dans des tables dites « d’index ».

Pour schématiser, il faut voir ces tables comme des paniers et les données comme des fruits. Il est bien plus rapide de distribuer des fruits à l’internaute avec son panier que de faire de nombreux aller-retours à l’étalage avec ces 2 mains ! ;)

Cependant, avant de pouvoir distribuer correctement ces informations, Magento doit remplir ou mettre à jour les index : C’est le processus de ré-indexation.

Ces processus peuvent être plus ou moins longs à s’exécuter et sont liés au volume des données de votre boutique et à la puissance de votre serveur.

Constat et problèmes rencontrés

Chez certains de nos clients possédant un très grand nombre d’URL distinctes, le temps de traitement de la ré-indexation «Catalog Url Rewrites» prenait parfois plusieurs heures à s’exécuter, que ce soit manuellement via le BackOffice, ou bien via une tâche CRON.

Pour de gros catalogues, cela peut poser les problèmes suivants :

  • Certaines modifications effectuées en BackOffice, nécessitant une ré-indexation des URL ne peuvent être mises à jour fréquemment à cause du temps de traitement ;
  • Parfois, le processus de ré-indexation n’aboutit pas ;
  • Si cette ré-indexation ne se termine pas correctement, certaines URL sont mal «ré-écrites» et peuvent vous pénaliser au niveau SEO ;
  • Exécutée en tâche CRON, il est parfois nécessaire d’augmenter considérablement la mémoire (PHP-CLI) ;
  • Tant que la ré-indexation des URL n’est pas terminée, les autres processus de ré-indexation ne peuvent démarrer.

 

Notre équipe R&D s’est alors penchée sur cette question :

Pourquoi la ré-indexation URL de Magento est-elle aussi longue ?

Nous avons alors constaté que Magento ne prenait pas en compte certaines configurations de la boutique ou des fiches produits.

  • En effet, si vous avez paramètré une gestion d’URL courtes pour vos fiches produits, Magento enregistre les 2 URL possibles (courtes & longues) dans sa table d’index.
  • Exemple :
    pour :
    www.my-site.com/product.html
    Magento enregistre aussi :
    www.my-site.com/category/product.html

  • Si votre produit est présent dans plusieurs catégories / sous catégories, il y aura donc autant d’URL longues générées que de combinaisons possibles…alors que celles-ci ne seront pas utilisées en Front.
  • Si votre produit est désactivé, donc non inaccessible depuis votre boutique, Magento index quand même son URL.
  • Idem pour les produits paramétrés en mode «non visible individuellement» qui sont en général utilisés comme déclinaison d’un produit configurable.
    Là encore, son URL est stockée en base de données…mais non utilisée pour le Front.
  •  

    Résolution et bénéfices :

    L’extension d’optimisation des index que nous avons développé permet une gestion plus fine des URL à générer (ou non) et améliore ainsi le temps de traitement.

    Bénéfices attendus pour votre boutique :

  • Le processus d’indexation des URL ne prend plus que quelques minutes au lieu de plusieurs heures (dans certains cas) ;
  • Etant plus rapide à s’exécuter, ce processus ne tombe plus en statut « Erreur » ou « En cours de traitement » ;
  • Vous n’avez plus d’erreurs 404 = Votre SEO n’est plus impacté ;
  • Votre serveur respire de nouveau car la consommation en mémoire RAM est diminuée lors de son exécution.

 

Benchmark

Pour vous donner un petit avant-goût des gains attendus, voici les premiers résultats obtenus sur des typologies de catalogue et configurations différentes.

Exemple :

Avec 9500 références (SKU), réparties (ou non) dans 900 catégories / sous catégories et en tenant des pages CMS, le nombre d’URL générées est d’environ 80 000 dans la table «Core_URL_Rewrite».

Le temps de ré-indéxation (lancé manuellement ou en CRON) est de l’ordre de 3h30 (12 600sec).

Après l’application de notre patch, ce temps de ré-indexation tombe à 1min !

D’autres exemples dans le tableau suivant :

Benchmark temps de ré-indexation des URL

 

On constate que le temps de ré-indexation diminue de manière significative.

A noter que nous avons également remarqué une légère amélioration des performances d’affichage du Front Office suite à l’activation de ce patch.

Installation & configuration

Notre extension «Patch_index_URL» est compatible pour toutes les versions de Magento CE & EE.
Elle est disponible :

 

Tout d’abord sauvegardez votre base de données puis installez l’extension sur votre site de développement mais pas en production !

Configuration de l'extension Magento DnD-Patch-index

  • En BackOffice, rendez-vous dans : > System > Configuration > Developer
  • Si l’extension n’est pas présente, purgez le «cache» Magento & les cessions, déconnectez vous puis re-connectez vous au backoffice.
  • Sélectionnez OUI pour le champ «Enable Optimisation»
  • Si vous n’avez pas d’intérêt à générer une URL pour les produits désactivés ou non visibles individuellement, sélectionnez OUI pour les 2 autres champs.
  • Sauvegardez
  • Rendez vous dans la gestion des index et ré-indexez uniquement celui des URL.

 

En fonction de la configuration choisie le temps de traitement devrait nettement diminuer.

Vos commentaires, retours et benchmarks sont les bienvenus ! :)

Boost My Shop : Extensions magento, Embedded ERP, RMA, Point de vente, …

logo BoostMyShop

L’agence Dn’D signe le logo et le Web design du tout nouveau site Boostmyshop.com destiné à la vente d’extensions pour les sites e-Commerce basés sur Magento et Prestashop.

Boost My Shop remplace le célèbre site de vente d’extensions de Maison du Logiciel reconnu entre autre pour des modules Magento tels que Embedded ERP (ERP intégré à Magento) ou encore le retour produits (RMA).

Ce nouveau site est proposé en plusieurs langues et gardera les valeurs et les garanties véhiculées par la Maison du Logiciel, à savoir :
- 100% Open Source
- 15 days money back
- 1 an de support et 1 an de mise à jour inclus pour chaque extension

Boost My Shop et l’Agence Dn’D sont membres du groupement « les Experts Magento » : 1er réseau d’experts de la solution e-Commerce Magento en France.

www.BoostMyShop.com

Logistique e-Commerce : extension Magento pour le logiciel Effitrace

Extension logistique e-commerce Magento Effitrace par l'agence Dn'D

Connectez simplement votre site Magento au logiciel de logistique Effitrace

L’agence Dn’D a développé un module Effitrace pour Magento qui permet une liaison totale entre votre boutique en ligne et le logiciel Effitrace.

Il permet :

  • la récupération du catalogue produit,
  • la mise à jour des stocks disponible à la vente,
  • l’envoi des ordres de préparation de commande,
  • le suivi des expéditions,
  • ainsi que le suivi des retours (RMA).

Les données sont échangées au format CSV via une page web ou via des données envoyées en POST.
L’installation du module va créer automatiquement l’ensembles des attributs et des configurations nécessaires à l’échange de données entre les 2 systèmes.

Vous n’avez plus qu’à importer ou à compléter votre base produits !

L’extension est pleinement compatible avec les transporteurs suivants :

  • GLS
  • La Poste Colissimo
  • Chronopost
  • DHL
  • DPD
  • GEFCO
  • UPS
  • Mondial Relay
  • MORY
  • Colieco
  • SOGEP
  • Exapaq
  • Taxipost
  • Geodis

Présentation d’Effitrace : logicel de gestion logistique en ligne

Basé sur les dernières technologies entièrement en ASP / SaaS, Effitrace gère par Internet l’intégralité de votre logistique e-commerce et VPC.

Le logiciel de gestion logistique multi entrepôt et multi propriétaire de stock peut traiter les commandes multi canal. (en provenance d’un site Web, en provenance d’un centre d’appels, ou en provenance d’un ERP.).

Quelque soit votre problématique (nombre de commandes, BtoB ou BtoC), Effitrace vous aide à réduire les délais de livraison, minimiser votre stock en évitant les ruptures et vous apporte la meilleure visibilité.

screenshot-logiciel-logistique-effitrace

Détail des échanges de données entre votre site Magento et Effitrace Logistique

Le flux article de magento vers Effitrace

Le premier échange entre Effitrace et votre boutique Magento consiste en la récupération de la liste des articles disponibles pour la vente.
Une synchronisation est obligatoire une fois par jour afin d’avoir un catalogue commun.

Le flux mise à jour des stocks logistiques

Les stocks sont envoyés toutes les heures depuis Effitrace vers votre boutique Magento.
Ceci permet de mettre à jour automatiquement les stocks de vos produits vendus. Si le stock est nul ou négatif pour un produit, celui-ci devient épuisé.

Le flux synchronisation des commandes

Effitrace vient récupérer les commandes tous les quarts d’heure via une page web.

Le flux avis d’expédition des commandes

Lorsque la commande ou une partie de celle-ci est expédiée, Effitrace envoie à votre boutique Magento le N° de tracking, le type de transporteur et le statut éventuel de l’envoi (remis au transporteur, disponible au point relais, livré, etc…)
Le déclenchement d’une livraison est alors créée dans votre boutique Magento.

Le flux gestion des retours

  • Le client déclare sont retour marchandise depuis votre boutique Magento.
  • L’information est envoyée à Effitrace en tant que commande d’approvisionnement.
  • La marchandise est réceptionnée et contrôlée à l’entrepôt
  • En fonction de l’état et du type de retour (échange, défectueux, rétractation,…) l’information est envoyée à votre boutique Magento.
  • La demande de retour marchandise est alors clôturée dans votre boutique et une nouvelle commande est crée le cas échéant.

Vous disposez ainsi d’un véritable tableau de bord pour la gestion de vos retours clients et les remboursements.

Configuration requise pour l’installation

  • Le « CORE » (noyau) de Magento ne doit pas avoir été modifié durant les développements.
  • Compatible Magento CE version 1.2 + et Magento EE version 1.8 +
  • Lire et bien respecter la procédure d’installation / d’exploitation.
  • Il est nécessaire d’installer la librairie serveur IONCUBE pour qu’il fonctionne.
    La procédure et les différents packages serveur sont disponibles à l’adresse suivante : http://www.ioncube.com/loaders.php

Prix de la licence de l’extension

L’extension Effitrace pour Magento est proposée au tarif de 1’000 € h.t.
L’extension supporte la gestion Multi-site / Multi-boutique.

Connectez dès maintenant votre site Magento à Effitrace Logistique

N’hésitez pas à contacter l’Agence Dn’D ou la société EFFISYS si vous souhaitez plus d’informations ou une démonstration.

Société EFFISYS éditrice du logiciel Effitrace
Mr Gaylord MALAGIE
Tél. 09 54 28 38 76
@ www.effisys.fr

Agence Dn’D
Mr Christophe DIDIER
Tél. 01 48 75 59 59

NitroGento est disponible : boostez les performances de votre site Magento !

Nitrogento Extension boost your Magento storeAprès 6 mois développement NitroGento est enfin dans les bacs !

Cette toute nouvelle extension pour Magento va vous permettre d’obtenir un “All in one” d’optimisation :

  • Création du Sprite et patch du thème
  • Ventilation des ressources statiques sur les CDN
  • Concaténation, Minify et Compression des JS & CSS et du HTML
  • Block caching des blocs qui ne sont pas déjà dans le cache Magento
  • Custom Caching, mettez votre propres blocs “maison” dans le système de Cache Magento
  • Full Page Cache même pour la CE !

Les résultats :

  • -0,05 secondes pour générer et charger le HTML de la Home Page
  • 8 fois moins de charge serveur sur la home grâce au Full Page Cache
  • Jusqu’à 6 fois moins de requêtes HTTP grâce au Sprite
  • Chargement des ressources statiques (médias) de 2 à 3 fois plus rapidement grâce aux CDN
  • Optenez jusqu’à 97/92 d’indice de performance avec PageSpeed/Yslow (grade A/A sur Gtmetrix)

Extension Shopping Flux pour Magento

Extension Shopping Flux
Cette nouvelle extension Magento développée par l’Agence, génère le flux catalogue pour le référencement des produits sur Shopping Flux.

Shopping Flux est le logiciel de gestion de comparateurs de prix et des places de marchés édité par la société spécialisée en génération de trafic pour Ecommerce : Blog-Ecommerce.com.

Avec Shopping-Flux, vous gagnerez en temps et en rentabilité pour votre visibilité sur les comparateurs de prix.
Et pour ce qui concerne les places de marchés, Shopping Flux permet d’optimiser les flux de vos produits et de récupérer vos commandes dans votre back-office.

Testez gratuitement Shopping Flux pendant 2 semaines grâce à ce plugin Magento.

Plus d’informations sur : www.shopping-flux.com

MagentoConnect : Extension Shopping Flux

NitroGento : l'extension ultime pour l'optimisation des performances de Magento

nitrogento-optimisation-Magento
L’agence Dn’D est fière de vous annoncer la sortie imminente d’une nouvelle extension dédiée à l optimisation des performances de Magento : NitroGento !

Notre partenaire NBS System, expert depuis la 1ère heure dans l’hébergement, l’infogérance et surtout dans l’optimisation de Magento, a souhaité confier à notre Agence et à l’Academy le développement d’une extension qui mettra définitivement un terme à toute polémique au sujet des performances liées à Magento.

Les points clefs sont connus mais cela nécessitait beaucoup de travail.
Voici donc un avant goût de Nitrogento, de son contenu et de ses performances.

Article original publié sur Wikigento

Pourquoi une telle extension ?

Parce que Magento est flexible et puissant mais il est également assez lent et consommateur de ressources.
Parce qu’un magasin rapide vend plus et offre une meilleure expérience à l’utilisateur.

Les chiffres et statistiques sont là :

  • Akamai & Forrester : 5 secondes de temps de chargement = 20% des personnes partent
  • Shopzilla a augmenté ses revenus de ~10% en chargeant en 2s au lieu de 7s
  • Yahoo perd 5 à 9% de trafic en chargent avec 400 ms de plus
  • Google : +500 ms = -20% trafic
  • Amazon : +100 ms = -1% de ventes
  • Les utilisateurs interrogés disent que 2 secondes c’est acceptable, 4s c’est trop
  • 52% des visiteurs considère que la vitesse de chargement d’un site est un critère essentiel pour revenir
  • En 2010, 75% des visiteurs ne reviennent pas si le site est lent (contre 64% in 2006)
  • La vitesse influe directement sur votre SEO ET votre SEM
  • Google a divisé le web en deux clans (voir webmaster tools->labo->performances) : les sites rapides, qui chargent en moins de 1,5 secondes et les lents, qui chargent en plus de 1,5 secondes…
  • Etc…

Que fait Nitrogento ?

  • Full Page Cache pour la version CE et plus efficace (et moins buggé) que celui de la EE
  • Bloc caching (y compris si les développeurs ont oublié de l’instancier)
  • Custom Bloc Caching (cache des blocs non natifs à Magento)
  • Auto Sprite : génération automatique du sprite lié au template pour diminuer le nombre de requêtes
  • Déploiement automatique en CDN (pour paralléliser les downloads des ressources statiques)
  • Concaténation des JS et CSS en un seul fichier
  • Minify et compression de : HTML / JS / CSS
  • Paramétrage depuis le backoffice des Expire headers, Etags et compression Gzip

De nombreuses évolutions sont déjà en gestation pour notre roadmap de la version 1.1.

Résultats attendus

Pour le moment, ce sont des statistiques temporaires, le temps de finaliser les benchmarks réels :

  • - 0,5 seconde en moyenne sur le temps de chargement des pages
  • ~ 8 fois moins de charge serveur sur la home (FPC)
  • ~ 2 fois moins de charge serveur sur les pages internes (bloc cache+custom bloc cache)
  • ~ 2 fois moins de requêtes HTTP (Sprite)
  • chargement des ressources statiques 2 à 3 fois plus rapides (CDN)
  • grade A/A sur Gtmetrix.com (98 en Yslow et 96 en Pagespeed) au lieu de C/C (78% Yslow / 76% pagespeed)
  • avec un serveur de base, on arrive à 1,9 seconde au lieu de 3,1 pour la home
  • avec un serveur optimisé pour Magento, on arrive sous la barre des 0,7 seconde pour la home !
  • économie de ~15% de bande passante (sprite + minify + gzip)
  • pour un visiteur qui revient sur une page ou repasse sur la home, on atteint un temps de chargement qui en général est sous la barre des 0,4 secondes et moins de 20 Ko !

Coté Serveur :

  • En période “normale”, ça accélère le chargement
  • En période de pic (soldes, mailings, ventes privées) ça diminue considérablement la charge des serveurs et la bande passante utilisée

Coté Navigateur :

  • Ça accélère le rapatriement des données statiques (Minify + Gzip + CDN)
  • Ça optimise le cache du navigateur (ETags+Expire headers)
  • Ça diminue le temps d’affichage des pages

Une démonstration ?

Oui, très prochainement, le « Nitrogento Store » sera équipé d’un « Nitrostore » (un demo store de Magento sous Nitrogento), ce qui permettra à tout le monde de voir la performance, de tester et de vérifier avec GTmetrix, Pagespeed et /ou Yslow.

Voici une capture d’écran prise pendant l’intégration :

Preview des performances de Nitrogento

Y a t-il des limites ?

Pour être honnête, il faut aussi parler de ce que le produit ne fait pas ou ne peut pas faire.

Par exemple, quand on est authentifié ou qu’on a un bloc contenant des informations de session, de panier ou d’authentification, le FPC (Full Page Cache) se désactive, ce qui est normal et indispensable.

Ensuite, la mise en cache des custom blocs nécessite d’appeler un helper pour être prise en compte dans le back office et donc visible pour activation / désactivation.
Rien de compliquer à faire mais ce n’était pas automatisable.

Pour le moment seul le CDN accessible en CNAME par FTP est géré.
Dans la v1.1, un support natif du CDN de NBS, de celui d’Akamaï et de MaxCDN devrait être intégré.

Combien coûte l’extension ?

500 $ par an pour un serveur frontal.

Si vous avez plusieurs serveurs frontaux, il faut avoir l’extension sur chacun d’entres eux mais les suivantes seront facturées 100$ par an.
Ce tarif intègre également les mises à jour et les évolutions.

Rendez vous donc mi-Février pour la sortie de NitroGento !

Extension Magento de correction des Taxes : déjà plus de 1'000 téléchargements

Extension Magento Correction Probleme TVA 1000 telechargements

L’agence Dn’D est fière d’annoncer que son extension Magento (jusqu’à la version 1.3) corrigeant les problèmes de TVA vient de dépasser les 1000 téléchargements !

Il y a plusieurs mois de cela, notre agence a découvert une erreur de calcul de la TVA récurrente sur les boutiques basées sur Magento V1.2 et 1.3.
Le Framework Magento étant un produit américain, celui-ci arrondissait les taxes à chaque ligne produit du panier.
Hors la législation Française impose que l’arrondi de TVA se fasse uniquement sur la somme totale des produits. Ce mode de calcul provoquait dans certains cas de figure des décalages de 1 centime sur le montant de la facture voir plus selon les configurations !

Cette erreur posait de gros problèmes à plusieurs e-commerçants, agences Web et membres de la communauté Magento. Plusieurs fils de discussions sur les forums témoignaient de ce soucis tel que sur le forum Fragento.

L’agence Dn’D a remédié à ce problème courant Septembre et en à fait profiter à la communauté. Les 1000 téléchargements de cette extension témoignent bien d’un réel besoin.

Depuis la sortie récente de la nouvelle version 1.4 de Magento, cette extension n’est heureusement plus nécessaire car le système de configuration des taxes à entièrement était re-développé et améliroré.

Si votre site e-commerce Magento tourne en version 1.2 ou 1.3, vous pouvez téléchargez cette extension sur Magentoconnect

Gestion multi TVA pour Magento : Version finale de notre extension de correction des taxes

Nous venons de mettre à jour la version finale de notre extension qui corrige désormais l’arrondi du montant de TVA si votre boutique gère plusieurs taux de taxes (19,6 et 5,5% par exemple).

Cette mise à jour, et version finale, est disponible sur MagentoConnect :
http://www.magentocommerce.com/extension/2024/calcul-tva-fran-aise

Le problème de décalage d’1 ou plusieurs centimes d’Euros n’est pas systématique mais peut survenir en fonction du prix unitaire et de la quantité présente dans le panier.

Dans notre exemple ci-dessous, nous avons simulé le cas de figure de deux articles saisis en TTC dans l’admin avec deux taux de TVA différents.
Le premier article d’un prix de 45 € TTC avec une TVA à 19,6% et le deuxième à 1,24 € TTC pour une TVA à 5,5%.

Avec les configurations Magento suivantes :
Les prix catalogue incluent les taxes = OUI
Afficher le résumé complet des taxes = OUI

Je rappelle que pour cette exemple nous avons affiché volontairement les prix HT et TTC dans le panier afin de mettre en évidence le décalage, mais que dans la réalité vos prix doivent être affichés soit en HT ou en TTC…mais pas les deux.

SANS l’extension de correction de l’arrondi de Multi TVA

agence-dnd-sans-la-correction-multi-taxes-tva-magento

agence-dnd-sans-la-correction-multi-taxes-tva-magento

Comme dans notre exemple précédent, le montant HT du 1er produit est faux car Magento l’arrondi à 37,63 alors qu’il devrait être à 37,625418.
Idem pour le 2ème produit à 1,24 € TTC incluant une TVA à 5,5, le prix unitaire HT est arrondi à 1,18 au lieu de 1,1753554.

Ce qui entraîne dans ce cas précis un décalage de 1 centime sur chaque produit.

AVEC l’extension de correction de l’arrondi de TVA

agence-dnd-avec-la-correction-multi-taxes-tva-magento

agence-dnd-avec-la-correction-multi-taxes-tva-magento

L’extension que nous avons développé permet de corriger cet éventuel décalage si vous gérez plusieurs taux de TVA différents.
Le Montant Global ne change pas, mais le sous total et la ventilation de TVA ne sont plus les mêmes.

Au final ça ne change rien pour l’internaute…mais c’est votre comptable qui sera content. ;-)

Cette version finale de notre extension (disponible sur MagentoConnect) corrige donc ce problème de décalage si vous utilisez un ou plusieurs taux de taxes différentes, et si vos prix sont saisis en HT ou en TTC dans le BackOffice de Magento.
Bien entendu cette correction des taxes s’applique également sur le montant de TVA des frais de livraison.

Nous espérons que cette extension vous sera utile.

N’hésitez pas à faire appel à notre agence si vous souhaitez le développement d’extensions Magento spécifiques.