J’ai récemment été confronté à un problème dans les rapports Magento pour une boutique  comportant plusieurs sites.
Pour le site Anglais utilisant la livre sterling (£) les montants des rapports étaient toujours égal à 0, comme vous pouvez le voir sur la capture suivante.
( Aucun problème pour les autres sites, car la monnaie par défaut est l’Euro (€) )

Erreur Export Magento Montant 0

Après pas mal de recherches j’ai trouvé que le problème était lié au fait que les taux de devises n’étaient pas définis dans “Système / Gestion des taux des devises”, comme vous pouvez le voir sur la capture ci-dessous :

Gestion des taux de devises Magento

Pour que les données des prochaines commandes soient correctes, il faut renseigner un taux entre ces 2 devises.
Dans mon cas je vais partir du postulat 1€ = 1£ et renseigner les champs en conséquence.

A présent il va falloir régler le cas de toutes les commandes déjà passées.
Pour réaliser ses rapports, magento utilise le champ “base_to_global_rate” dans la table “sales_flat_order”.
Pour toutes nos anciennes commandes celui-ci a la valeur “0.0000” comme aucun taux n’était défini.

Ce champ n’est malheureusement pas éditable directement depuis l’administration.
Nous allons donc mettre à jour la table avec les bonnes valeurs via la requête SQL suivante :

(Remplacer les valeurs en italique par les valeurs de votre table)

UPDATE  prefix_sales_flat_order SET base_to_global_rate = ‘your RateValue‘  WHERE store_id= store_id

Dans mon cas la requête est donc la suivante :

UPDATE mag_sales_flat_order SET base_to_global_rate = '1.0000' WHERE store_id=2

 

Une fois la requête effectuée, il faut maintenant rafraichir les statistiques de magento :

Cocher l’ensemble des rapports et sélectionner l’action “Rafraîchir les statistiques depuis le début

Rafraichier Statistiques Magento

 

Vous pouvez à présent relancer vos rapports et les données seront bien affichées !

Rapports Magento OK