9
Avant l’arrivée de Magento, le traitement de plusieurs dizaines de commandes par jour était rarement confié à la solution e-commerce. Un outil de gestion plus efficace prenait le relais. Avec Magento, l’approche peut changer car les outils intégrés de gestion des commandes sont robustes et complets. Toutes les étapes d’une commande sont prises en compte : création, paiement, expédition, facturation, avoir, renouvellement. 8.1 Cycle de vie des commandes Comme nous l’avons vu au Chapitre 3, section 3.8 "Processus de vente", le cycle de vie des commandes est très contraint. Avantage : garantir une grande robustesse dans le traitement des commandes. Inconvénient : rien ne permet de modifier ce workflow dans le backend, il faut obligatoirement faire appel à un développeur pour personnaliser le cycle, même si Magento Community Edition 1.5.0.0 apporte désormais un premier degré de personnalisation. États et statuts Le cycle de vie des commandes repose sur des états et des statuts : États . Ils ne sont pas visibles par les utilisateurs du backend, mais utilisés à bas niveau par Magento. Statuts . Ils précisent les états et sont visibles par les utilisateurs. Un statut appartient à un état et un état peut être précisé par plusieurs statuts. Le Tableau 8.1 dresse la liste des états et des statuts proposés en standard. Tableau 8.1 : Les états et statuts de commande par défaut État Statut Rôle Code Libellé Code Libellé New Nouveau pending En attente Nouvelle commande dont le paiement se fait hors ligne (chèque, espèce, bon de commande). pending_payment En attente de paiement pending_payment En attente de paiement Commande en cours de paiement par voie électronique (services en ligne, paiement par carte bancaire). Traiter les commandes 8 © 2011 Pearson Education France – Magento – Christophe Le Bot

États et statuts - pearson.fr€¦ · Avant l’arrivée de Magento, le traitement de plusieurs dizaines de commandes par jour était rarement confié à la solution e-commerce

  • Upload
    vudien

  • View
    215

  • Download
    2

Embed Size (px)

Citation preview

Avant l’arrivée de Magento, le traitement de plusieurs dizaines de commandes par jour était rarement confié à la solution e-commerce. Un outil de gestion plus efficace prenait le relais. Avec Magento, l’approche peut changer car les outils intégrés de gestion des commandes sont robustes et complets.

Toutes les étapes d’une commande sont prises en compte : création, paiement, expédition, facturation, avoir, renouvellement.

8.1 Cycle de vie des commandesComme nous l’avons vu au Chapitre 3, section 3.8 "Processus de vente", le cycle de vie des commandes est très contraint. Avantage : garantir une grande robustesse dans le traitement des commandes. Inconvénient : rien ne permet de modifier ce workflow dans le backend, il faut obligatoirement faire appel à un développeur pour personnaliser le cycle, même si Magento Community Edition 1.5.0.0 apporte désormais un premier degré de personnalisation.

États et statutsLe cycle de vie des commandes repose sur des états et des statuts :

États• . Ils ne sont pas visibles par les utilisateurs du backend, mais utilisés à bas niveau par Magento.

Statuts• . Ils précisent les états et sont visibles par les utilisateurs.

Un statut appartient à un état et un état peut être précisé par plusieurs statuts.

Le Tableau 8.1 dresse la liste des états et des statuts proposés en standard.

Tableau8.1:Lesétatsetstatutsdecommandepardéfaut

État Statut Rôle

Code Libellé Code Libellé

New Nouveau pending En attente Nouvelle commande dont le paiement se fait hors ligne (chèque, espèce, bon de commande).

pending_payment En attente de paiement

pending_payment En attente de paiement

Commande en cours de paiement par voie électronique (services en ligne, paiement par carte bancaire).

Traiter les commandes8

Chap08.indd 247 28/03/2011 13:45:35

© 2011 Pearson Education France – Magento – Christophe Le Bot

248 Magento

État Statut Rôle

Code Libellé Code Libellé

complete Terminée complete Terminée Commande expédiée et facturée.

closed Fermée closed Fermée Commande qui a fait l’objet d’un remboursement intégral.

canceled Annulée canceled Annulée Commande annulée.

holded Bloquée holded Bloquée Commande bloquée par un administrateur (aucune action possible tant qu’elle n’est pas débloquée).

payment_review Vérification du paiement

payment_review Vérification du paiement

En cours de vérification et de collecte du paiement (en standard, statut utilisé seulement par le mode de paiement PayPal).

fraud Fraude suspectée

Fraude suspectée lors de la vérification du paiement (en standard, statut utilisé seulement par le mode de paiement PayPal).

Avant la version 1.5.0.0 de Magento Community Edition, les statuts de commande n’étaient pas confi-gurables. Désormais, nous pouvons ajouter des statuts et les assigner aux états.Voir le Chapitre 14, section 14.9 pour plus de détails.

ScénariosLes états et statuts sont manipulés par les modules liés aux commandes et aux modes de paiement de Magento. C’est pourquoi le cycle de vie d’une commande n’est pas toujours constant. Les Figures 8.1 à 8.7 résument les actions possibles et leurs effets, à partir d’une installation standard de Magento Community Edition. Les textes en gras et en italique indi-quent un statut Magento (libellé français et code entre parenthèses).

Figure 8.1Traitement normal d’une commande dont le paiement s’effectue en ligne (carte bancaire, PayPal).

Terminée(complete)

Création bonde livraisonExpédition

Client Commerçant Magento Service depaiement

Validation commande Création commande

En attente de paiement(pending_payment)

En attente de paiement(pending_payment)

Paiement en ligne Validation du paiement

Création facture Paiement OK

Chap08.indd 248 28/03/2011 13:45:36

© 2011 Pearson Education France – Magento – Christophe Le Bot

249Traiter les commandes

Figure 8.2Commande dont le paiement en ligne est refusé.

Client Commerçant Magento Service depaiement

Validation commande Création commande

En attente de paiement(pending_payment)

Annulée(canceled)

Paiement en ligne Validation du paiement

Annulation commande Paiement refusé

Figure 8.3Traitement normal d’une commande dont le paiement s’effectue hors ligne (chèque, bon de commande). Ici, le commerçant facture avant d’expédier.

Client Commerçant Magento Service depaiement

Validation commande Création commande

En attente(pending)

En cours de traitement(pocessing)

Paiement hors ligne Réception du paiement

Terminée(complete)

Création factureFacturation

Création du bonde livraisonExpédition

Figure 8.4Traitement normal d’une commande dont le paiement s’effectue hors ligne (chèque, bon de commande). Ici, le commerçant expédie avant de facturer.

Client Commerçant Magento Service depaiement

Validation commande Création commande

En attente(pending)

En cours de traitement(processing)

Paiement hors ligne Réception du paiement

Terminée(complete)

Création du bonde livraisonExpédition

Création factureFacturation

Chap08.indd 249 28/03/2011 13:45:38

© 2011 Pearson Education France – Magento – Christophe Le Bot

250 Magento

Figure 8.5Commande qui réclame un traitement particulier par le commerçant (attente du chèque, par exemple). Le blocage empêche toute modification de l’état et du statut jusqu’au déblocage.

Client Commerçant Magento Service depaiement

Blocage commande

Bloquée(holded)

Commande à bloquer

(Statut précédent)

DéblocagecommandeCommande à traiter

Figure 8.6Commande annulée par le commerçant. Une commande annulée ne peut plus revenir dans le cycle de traitement.

Client Commerçant Magento Service depaiement

Annulée(canceled)

Annulation commandeCommande invalide

Figure 8.7Commande terminée qui fait l’objet d’un remboursement total. Si le remboursement est partiel, le statut reste Terminée.

Client Commerçant Magento Service depaiement

Fermée(closed)

Retour produits Création avoirRemboursement

8.2 Gérer la liste des commandesToutes les commandes passées sur une plate-forme Magento sont listées dans la page Ventes > Commandes du backend. Nous retrouvons une grille avec ses outils de tri et de filtrage.

Prendre connaissance des nouvelles commandesAvant de traiter la commande, il faut être informé de son existence. Vous obtiendrez cette information par l’une de ces trois sources :

consultation de la liste des commandes ;•

flux RSS des nouvelles commandes ;•

copie d’e-mails transactionnels de nouvelles commandes.•

La page Ventes > Commandes liste toutes les commandes et précise la date d’achat et le statut de chaque commande. Comme nous l’avons vu plus haut, les statuts nous aident à déterminer quelles sont les commandes à traiter :

Enattente.• La commande est nouvelle et payée par un mode hors ligne (chèque, espè-ces, bon de commande, etc.).

Encoursde traitement.• Ce statut est attaché aux nouvelles commandes payées par carte bancaire et dont le paiement est accepté. Mais des commandes déjà entrées dans

Chap08.indd 250 28/03/2011 13:45:40

© 2011 Pearson Education France – Magento – Christophe Le Bot

251Traiter les commandes

le cycle de traitement peuvent également avoir ce statut. C’est le cas, par exemple, des commandes non facturées, payées par chèque et expédiées.

Pour limiter la vue de l’activité aux seules nouvelles commandes, la page Ventes > Com-mandes propose un abonnement au flux des nouvelles commandes, via le lien Flux RSS des nouvelles commandes.

Com

men

t fa

irePour s’abonner au flux RSS des nouvelles commandes :

1. Ouvrir la page Ventes > Commandes.

2. Cliquer sur le lien Flux RSS des nouvelles commandes.

3. Entrer l’identifiant et le mot de passe du compte utilisateur (voir Figure 8.8).

Figure 8.8Fenêtre d’authentification de l’abonnement au flux RSS des nouvelles commandes.

4. Utiliser les fonctionnalités du navigateur web pour gérer l’abonnement au flux.

Tant que le mot de passe n’est pas modifié, le flux fonctionne. Si l’utilisateur change son mot de passe, il devra de nouveau s’abonner au flux RSS.

La dernière méthode pour recevoir les nouvelles commandes, c’est l’e-mail. En effet, cha-que commande passée peut être envoyée par e-mail au commerçant. Le message reçu est une copie de celui envoyé au client.

Com

men

t fa

irePour recevoir les nouvelles commandes par e-mail :

1. Ouvrir la page Système > Configuration, onglet Ventes > Mails des ventes.

2. Ouvrir le volet Commande.

3. Saisir une ou plusieurs adresses e-mail dans le champ Envoyer une copie du mail de commande à.

4. Préciser la méthode de copie dans le champ Envoyer une copie du mail de com-mande en utilisant la méthode.

5. Cliquer sur le bouton Sauvegarder la configuration.

Exporter les commandesLa page Ventes > Commandes propose une exportation des commandes sous forme de fichier CSV ou Excel, mais cette fonctionnalité n’a aucun intérêt ! En effet, les données exportées sont seulement celles affichées dans la liste des commandes, elles ne donnent

Chap08.indd 251 28/03/2011 13:45:41

© 2011 Pearson Education France – Magento – Christophe Le Bot

252 Magento

aucun détail sur les commandes (adresse de facturation et de livraison, produits commandés, mode de paiement, mode de livraison, etc.).

Par défaut, Magento ne propose aucun outil pour exporter les données complètes des commandes.

Bloquer ou débloquer un lot de commandesLa page Ventes > Commandes contient un sélecteur d’actions qui peut servir à bloquer ou débloquer plusieurs commandes. Aucune action ne peut être effectuée sur une commande bloquée.

Pour bloquer ou débloquer un lot de commandes :

1. Ouvrir la page Ventes > Commandes.

2. Sélectionner les commandes concernées.

3. Ouvrir le sélecteur d’actions.

4. Choisir Bloquer ou Débloquer.

5. Cliquer sur le bouton Valider.

Imprimer des documents à partir d’un lot de commandesL’impression de documents (factures, bons de livraison et avoirs) peut aussi se faire sur une sélection de commandes, grâce au sélecteur d’actions.

Pour imprimer des documents à partir d’un lot de commandes :

1. Ouvrir la page Ventes > Commandes.

2. Sélectionner les commandes concernées.

3. Ouvrir le sélecteur d’actions.

4. Choisir une action d’impression (voir Figure 8.9).

Figure 8.9Choix d’une option d’impression dans le sélecteur d’actions.

5. Cliquer sur le bouton Valider.

6. Ouvrir ou sauvegarder le fichier PDF généré.

Le fichier PDF généré contient l’ensemble des commandes sélectionnées (une par page).

Com

men

t fa

ire

Com

men

t fa

ire

Chap08.indd 252 28/03/2011 13:45:41

© 2011 Pearson Education France – Magento – Christophe Le Bot

253Traiter les commandes

Les documents PDF générés n’utilisent pas de modèles de document. Le contenu et le placement des blocs dans la page sont définis "en dur" dans les classes du module Mage_Sales de Magento, en particulier la classe Mage_Sales_Model_Order_Pdf_Abstract.En voici un petit extrait :

protected function insertAddress(&$page, $store = null) { $page->setFillColor(new Zend_Pdf_Color_GrayScale(0)); $this->_setFontRegular($page, 5); $page->setLineWidth(0.5); $page->setLineColor(new Zend_Pdf_Color_GrayScale(0.5)); $page->drawLine(125, 825, 125, 790); $page->setLineWidth(0); $this->y = 820; foreach (explode("\n", Mage::getStoreConfig('sales/identity/address', $store)) as $value){ if ($value!=='') { $page->drawText(trim(strip_tags($value)), 130, $this->y, 'UTF-8'); $this->y -=7; } } //return $page; }

Personnaliser les documents PDF de Magento est un exercice difficile qui agace beaucoup les développeurs !

8.3 Gérer les paiementsExpliquer comment gérer les paiements est difficile car le comportement de Magento dépend toujours des modes de paiement installés. Les explications ci-après se limitent donc aux modes de paiement proposés par défaut.

Les modes de paiement proposés par défautMagento propose huit modes de paiement, détaillés au Tableau 8.2.

Chap08.indd 253 28/03/2011 13:45:41

© 2011 Pearson Education France – Magento – Christophe Le Bot

254 Magento

Tableau8.2:ModesdepaiementproposésparMagentoCommunityEdition

Libellé Rôle Statut de la nouvelle commande

Carte de paiement enregistrée

Enregistre de façon sécurisée (cryptage) les informations de la carte bancaire du client :

nom du porteur ;•numéro de carte ;•date de validité ;•code de vérification.•

Important ! Ce mode ne réalise aucune transaction bancaire. Le commerçant devra donc utiliser a posteriori ces informations avec un outil externe à Magento.

En attEntE

Chèque/Liquide Règlement par chèque ou en espèces. En attEntE

Bon de commande Demande un numéro de bon de commande au client avant la validation de la commande.

En attEntE

Règlement d’un sous-total nul

Mode proposé au client si le montant de la commande est nul.Contrairement à ce que laisse croire le libellé, c’est le montant total de la commande qui compte. Si le montant des produits du panier est nul (sous-total), mais que des frais de port sont appliqués, ce mode de paiement ne sera pas proposé.

En attEntE ou En cours dE traitEmEnt (selon configuration de ce mode de paiement)

PayPal Paiement assuré par le service en ligne PayPal (www.paypal.com).Toutes les solutions PayPal sont supportées, mais seules PayPal Standard et PayPal Express Checkout sont disponibles en France.

En attEntE dE paiEmEnt paypal ou En cours dE traitEmEnt

Google Checkout Paiement assuré par le service en ligne Google Checkout (checkout.google.com).

En cours dE traitEmEnt

Authorize.Net Paiement assuré par le service en ligne Authorize.Net (www.authorize.net).

En cours dE traitEmEnt

Moneybookers Paiement assuré par le service en ligne Moneybookers (www.moneybookers.com).

En cours dE traitEmEnt

Les statuts de nouvelle commande du Tableau 8.2 sont indicatifs. Ils correspondent à la configuration par défaut.

Les modes de paiement proposés ne couvrent pas le paiement par carte bancaire des établis-sements bancaires français. Heureusement, de nombreuses extensions sont disponibles sur Magento Connect pour combler ce manque.

Identifier les incidents de paiementLa première étape de traitement d’une commande consiste à vérifier qu’elle a été payée par le client. Deux cas se présentent alors :

Lacommandeaétérégléeavecunmodedepaiementhorsligne.• Quand un client paie par chèque, le commerçant attend souvent de recevoir le chèque avant de traiter la commande. Dans ce laps de temps, la commande est laissée avec son statut d’origine

Chap08.indd 254 28/03/2011 13:45:41

© 2011 Pearson Education France – Magento – Christophe Le Bot

255Traiter les commandes

(En attente) ou peut être bloquée pour la différencier des nouvelles commandes dans la liste des commandes.

Lacommandeaétérégléeavecunmodedepaiementenligne.• L’utilisation d’un service de paiement externe a l’avantage de valider ou d’invalider immédiatement la transaction. La commande peut donc faire l’objet d’une facturation ou être annulée immédiatement.

Parmi les incidents de paiement les plus courants, nous pouvons citer :

le paiement en ligne refusé ;•

l’abandon de paiement par le client, avec retour vers le site e-commerce ;•

l’abandon de paiement par le client, sans retour vers le site e-commerce ;•

l’absence de confirmation de paiement par carte (connexion rompue entre le service de •paiement et le site e-commerce) ;

un chèque non signé ;•

un chèque au montant incorrect.•

Un incident sur un paiement hors ligne est traité manuellement : le chèque ou le virement n’est jamais reçu, le chèque n’est pas signé, le bon de commande n’est pas valide, etc. Un commentaire permettra de tracer l’incident dans la commande.

Un incident sur un paiement en ligne est parfois traité automatiquement. Les modules cor-respondants ajoutent des commentaires pour tracer la vérification et l’acceptation ou le refus de la transaction.

Grâce à la gestion des statuts de commande de Magento Community Edition 1.5.0.0, le trai-tement des cas particuliers est largement simplifié. Nous pouvons, par exemple, distinguer deux situations sur les commandes avec paiement par chèque :

nouvelles commandes non vérifiées (aucune action, statut • En attente) ;

commandes vérifiées, mais non traitées (changement de statut de • En attente vers En attente du chèque).

8.4 Modifier les adresses de facturation et de livraisonDepuis Magento Community Edition 1.5.0.0, les adresses de facturation et de livraison des commandes sont modifiables, grâce au lien Éditer des deux blocs d’adresses de la page de commande (voir Figure 8.10).

Figure 8.10Liens de modification des adresses.

La modification des adresses depuis une commande n’est valable que pour cette commande. Les adresses des autres commandes et les adresses du compte client ne sont pas modifiées.

Chap08.indd 255 28/03/2011 13:45:41

© 2011 Pearson Education France – Magento – Christophe Le Bot