Les commandes clients
Comment gérer rapidement et efficacement les commandes de mes clients ?
Apprendre à gérer correctement et rapidement les commandes de vos clients est primordiale pour la réussite de votre entreprise.
Nous allons voir dans cet article de quelle manière vous devez gérer les commandes clients une fois la connexion avec OpenSi effective.
Le module OpenSi Connect dispose d’un flux de synchronisation (webservice) spécifique permettant de récupérer un nombre important d’informations au niveau les commandes avant de les envoyer dans OpenSi (lors de chaque synchronisation, le flux webservice vient récupérer les nouvelles commandes et les envoie à OpenSi où elles sont alors créées/ajoutées).
Cet article aborde les sujets suivants :
- Nouvelles commandes sur la boutique
- La synchronisation avec OpenSi
- Paramétrage / Options personnalisables
Nouvelles commandes sur la boutique
La synchronisation des nouvelles commandes s’effectue de la boutique vers OpenSi.
Le système reste simple. Vous vendez un article qu’un de vos clients décide d’acheter sur votre boutique et, lors de la synchronisation, cette nouvelle commande est envoyée à OpenSi pour y être ajoutée/créée. Si le client existe déjà dans OpenSi, la commande lui est rattachée, s’il n’existe pas, le compte du client est alors automatiquement créé.
Important
Les anciennes commandes ne sont pas reprises dans OpenSi. Seules les nouvelles commandes sont synchronisées.
Il est fortement déconseillé de supprimer des commandes sur votre boutique sans occasionner d’éventuels soucis de synchronisations (notamment des problèmes dans les numéros de commande / IDs de commande).
Dès qu’une nouvelle commande est effectuée sur la boutique, celle-ci est alors envoyée à OpenSi lors de la synchronisation suivante où elle sera alors créée/ajoutée.
Commandes clients & backoffice
Sur les frameworks PrestaShop & Magento, il existe différentes manières d’ajouter/créer une commande.
D’une manière générale, ce sont principalement vos clients qui commandent directement sur la boutique mais il est toutefois également possible d’ajouter de nouvelles commandes en passant directement par le backoffice de votre boutique (zone d’administration).
Dans tous les cas, les nouvelles commandes sont récupérées lors de la synchronisation et envoyées à OpenSi où elles sont ajoutées.
Vous pouvez alors retrouver et gérer ces commandes directement à partir de l’interface d’OpenSi.
La synchronisation de vos commandes s’effectue donc dans le sens « Boutique › OpenSi » où un webservice spécifique vient récupérer diverses informations sur votre boutique pour les envoyer dans OpenSi où celles-ci seront automatiquement créées/ajoutées.
Important !
La création des articles s’effectue sur la boutique (sens de synchronisation : Boutique › OpenSi).
Quelques inpératifs toutefois…
Afin de pouvoir synchroniser une commande, de nombreux champs sont obligatoires et nécessaires.
Il est par exemple indispensable que les articles d’une commande possèdent bien une référence unique. Si ce n’est pas le cas, celle-ci ne pourra pas être synchronisée dans OpenSi.
Une commande doit également posséder au minimum :
- Une référence (elle doit être unique, cela peut être un ID ou une référence)
- Une adresse de facturation
- Une adresse de livraison
- Un mode de paiement
- Etc…
Sans ces informations, la commande ne pourra malheureusement pas être synchronisée dans OpenSi !
Rappels
Toute commande possédant au moins un article sans référence ne pourra pas synchronisée dans OpenSi.
Toute commande sans mode de paiement ne pourra pas synchronisée dans OpenSi.
Le montant d’une commande est calculé en additionnant le prix * quantité de tous les articles (ce n’est pas une variable passée dans le flux webservice).
Commandes marketplaces (Shoppingflux, Lengow, etc…)
Vous êtes de plus en plus nombreux à faire confiance aux marketplaces pour étendre votre rayon de ventes.
De nombreuses solutions existent pour récupérer et synchroniser sur votre boutique les commandes passées chez Amazon, Cdiscount, Ebay ou Mano Mano pour n’en citer que les principales.
Parmis ces solutions, ShoppingFlux et Lengow sont dans les plus connues et les plus utilisées par l’ensemble de notre clientèle, nous apportons donc un soin particulier à rester compatible avec leur module.
Le principe reste le même qu’une commande passée directement sur la boutique. ShoppingFlux et Lengow se chargent de récupérer les commandes sur les marketplaces et les réinsèrent par la suite sur votre boutique.
Lors de la synchronisation suivante, nos webservices s’occupent quant à eux de récupérer ces nouvelles commandes et de les envoyer à OpenSi où elles seront ajoutées. Vous pourrez alors les retrouver et les gérer de la même manière que les commandes passées initialement sur votre boutique.
La synchronisation avec OpenSi
La synchronisation des commandes est effectuée en standard toutes les 10 minutes (cette fréquence peut néanmoins être modifiée par nos soins selon vos besoins).
Le webservice de synchronisation des commandes va reprendre les informations qui auront au préalable été renseignées sur chaque commande et les transmettra à OpenSi où ces nouvelles commandes seront alors automatiquement ajoutées/créées.
Points abordés :
Liste des informations synchronisées liée à la commande
Voici la liste exhaustive des champs que vous pouvez synchroniser avec OpenSi (attention, certains champs sont obligatoires et, comme nous le verrons par la suite, d’autres sont paramétrables. Le webservice est également personnalisable dans une certaine mesure – cf. points 3 (champs personnalisables) et 4 (Customisation des flux webservice).
OrderNumber * | Numéro de la commande (Chaîne de 11 caractères max.) |
OrderReferenceNumber | Référence de la commande (Chaîne de 20 caractères max.) |
OrderCartNumber | Numéro de panier (Chaîne de 11 caractères max.) |
OrderReferenceMarketplace | Référence de la commande sur la marketplace (Chaîne de 20 caractères max.) |
Identifier * | Identifiant du client sur le site web (Chaîne de 20 caractères max.) |
Login * | Login du client (Chaîne de 60 caractères max.) |
LoginOpensi | Login du responsable OpenSi (Chaîne de 15 caractères max.) |
ActivityPole | Pôle d’activité (Chaîne de 20 caractères max.) |
Title | Intitulé de la commande (Chaîne de 40 caractères max.) |
CustomerGroup | Famille client (Chaîne de 40 caractères max.) |
OrderDate * | Date de la commande (Date) |
Weight | Poids des articles de la commande – en kg (Nombre décimal de 10 chiffres au total dont 3 chiffres après la virgule) |
ExpeditionRule | Règle d’expédition (Chaîne de 1 caractère – valeurs possibles : S, T, M ou U) |
ExpectedDeliveryDate | Date d’expédition prévue (Date – Champ custom Magento) |
EstimatedDeliveryDate | Date de livraison prévue (Date – Champ custom Magento) |
ValidOrder | Validation automatique de la commande (Booléen) |
IncludedTaxEdition * | Définie si la commande est HT ou TTC (Booléen) |
Shipping * | Frais de port (Nombre décimal de 10 chiffres au total dont 2 chiffres après la virgule) |
VATRateShipping * | Taux de TVA des frais de port (Nombre décimal de 4 chiffres au total dont 2 chiffres après la virgule) |
DiscountAmount | Montant de la remise (Nombre décimal de 9 chiffres au total dont 2 chiffres après la virgule) |
ShippingDiscountAmount | Montant de la remise sur les frais de port (Nombre décimal de 9 chiffres au total dont 2 chiffres après la virgule) |
PaymentMethod * | Méthode de paiement (Chaîne de 25 caractères max.) |
ShipmentMethod * | Mode de livraison (Chaîne de 30 caractères max.) |
IntraCommunityVAT | Numéro de TVA Intracommunautaire (Chaîne de 14 caractères max.) |
BillingCivility * | Civilité – adresse de facturation (Entier : 1 => M., 2 => Mme, 3 => Mlle) |
BillingLastname * | Nom de famille – adresse de facturation (Chaîne de 30 caractères max.) |
BillingFirstname * | Prénom – adresse de facturation (Chaîne de 30 caractères max.) |
BillingCompany | Société – adresse de facturation (Chaîne de 70 caractères max.) |
BillingAddress_1 * | Ligne d’adresse 1 – adresse de facturation (Chaîne de 50 caractères max.) |
BillingAddress_2 | Ligne d’adresse 2 – adresse de facturation (Chaîne de 50 caractères max.) |
BillingAddress_3 | Ligne d’adresse 3 – adresse de facturation (Chaîne de 50 caractères max.) |
BillingZipcode * | Code postal – adresse de facturation (Chaîne de 10 caractères max.) |
BillingCity * | Ville – adresse de facturation (Chaîne de 50 caractères max.) |
BillingPhone | Téléphone – adresse de facturation (Chaîne de 20 caractères max.) |
BillingFax | Fax – adresse de facturation (Chaîne de 20 caractères max.) |
BillingCountryCode * | Code pays – adresse de facturation (Chaîne de 2 caractères max.) |
BillingEmail * | Adresse e-mail – adresse de facturation (Chaîne de 60 caractères max.) |
DeliveryCivility * | Civilité – adresse de livraison (Entier : 1 => M., 2 => Mme, 3 => Mlle) |
DeliveryLastname * | Nom de famille – adresse de livraison (Chaîne de 30 caractères max.) |
DeliveryFirstname * | Prénom – adresse de livraison (Chaîne de 30 caractères max.) |
DeliveryCompany | Société – adresse de livraison (Chaîne de 70 caractères max.) |
DeliveryAddress_1 * | Ligne d’adresse 1 – adresse de livraison (Chaîne de 50 caractères max.) |
DeliveryAddress_2 | Ligne d’adresse 2 – adresse de livraison (Chaîne de 50 caractères max.) |
DeliveryAddress_3 | Ligne d’adresse 3 – adresse de livraison (Chaîne de 50 caractères max.) |
DeliveryZipcode * | Code postal – adresse de livraison (Chaîne de 10 caractères max.) |
DeliveryCity * | Ville – adresse de livraison (Chaîne de 50 caractères max.) |
DeliveryPhone | Téléphone – adresse de livraison (Chaîne de 20 caractères max.) |
DeliveryFax | Fax – adresse de livraison (Chaîne de 20 caractères max.) |
DeliveryCountryCode * | Code pays – adresse de livraison (Chaîne de 2 caractères max.) |
DeliveryEmail | Adresse e-mail – adresse de livraison (Chaîne de 60 caractères max.) |
WithdrawalPoint | Identifiants du point relais colis (Chaîne de 10 caractères max.) |
DeliveryInstructions | Informations de livraison (Chaîne de 100 caractères max.) |
GiftPackage | Paquet cadeau (Booléen) |
PrintableComments | Informations qui apparaissent sur la facture (Chaîne de 100 caractères max.) |
NonPrintableComments | Informations qui n’apparaissent pas sur la facture (Chaîne de 100 caractères max.) |
Product | Articles de la commande (voir section suivante) |
Liste des informations synchronisées liées aux articles de la commande
Voici la liste exhaustive des champs que vous pouvez synchroniser avec OpenSi pour chacun des articles d’une commande (attention, certains champs sont obligatoires).
Reference * | Référence de l’article (Chaîne de 40 caractères max.) |
Name * | Désignation de l’article (Chaîne de 100 caractères max.) |
Quantity * | Quantité vendue (Nombre décimal de 14 chiffres au total dont 3 chiffres après la virgule) |
UnitPrice * | Prix unitaire – en HT ou TTC suivant la configuration (Nombre décimal de 14 chiffres au total dont 3 chiffres après la virgule) |
VATRate * | Taux de TVA de l’article (Nombre décimal de 4 chiffres au total dont 2 chiffres après la virgule) |
DiscountPercent | Remise en pourcentage sur l’article (Nombre décimal de 5 chiffres au total dont 2 chiffres après la virgule) |
Weight | Poids de l’article – en kg (Nombre décimal de 10 chiffres au total dont 3 chiffres après la virgule) |
ProductComment | Commentaire (Champ texte) |
Spécificité Magento
Sous Magento, il existe une spécificité au niveau des articles packagés / bundles.
Si un bundle possède un seul article par option :
– Si le prix de cet article est fixé, l’article « parent » (la référence du bundle) est alors envoyée à OpenSi avec le montant total (prix fixé + éventuelles augmentation selon les enfants).
– Si le prix de cet article est dynamique, les enfants sont envoyés à OpenSi avec leur propre prix.Si un bundle possède plus d’un article par option:
– Si le prix de cet article est fixé, les enfants sont envoyés à OpenSi mais seul le premier aura un tarif, les autres seront envoyé à 0.
– Si le prix de cet article est dynamique, les enfants sont envoyés à OpenSi avec leur propre prix.
Exemple de flux XML
Voici ci-dessous l’exemple d’une nouvelle commande retournée par la boutique et envoyée à OpenSi (flux XML) :
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.opensi.fr/xsd" xmlns:ns2="http://www.opensi.fr"> <SOAP-ENV:Body> <ns2:getOrdersResponse> <ns2:return> <ns1:OrderNumber>1</ns1:OrderNumber> <ns1:Identifier>1</ns1:Identifier> <ns1:Login>john.doe@gmail.com</ns1:Login> <ns1:CustomerGroup>Client</ns1:CustomerGroup> <ns1:OrderDate>2020-04-18 09:01:05</ns1:OrderDate> <ns1:Weight>3.839</ns1:Weight> <ns1:ValidOrder>false</ns1:ValidOrder> <ns1:IncludedTaxEdition>true</ns1:IncludedTaxEdition> <ns1:Shipping>7.14</ns1:Shipping> <ns1:VATRateShipping>20</ns1:VATRateShipping> <ns1:DiscountAmount>27.54</ns1:DiscountAmount> <ns1:ShippingDiscountAmount>7.14</ns1:ShippingDiscountAmount> <ns1:PaymentMethod>Payments by check</ns1:PaymentMethod> <ns1:ShipmentMethod>Livraison en relais Pickup</ns1:ShipmentMethod> <ns1:BillingCivility>1</ns1:BillingCivility> <ns1:BillingLastname>DOE</ns1:BillingLastname> <ns1:BillingFirstname>John</ns1:BillingFirstname> <ns1:BillingAddress_1>12, rue de la Tuilerie</ns1:BillingAddress_1> <ns1:BillingZipcode>38170</ns1:BillingZipcode> <ns1:BillingCity>SEYSSINET-PARISET</ns1:BillingCity> <ns1:BillingPhone>0601020304</ns1:BillingPhone> <ns1:BillingCountryCode>FR</ns1:BillingCountryCode> <ns1:BillingEmail>john.doe@gmail.com</ns1:BillingEmail> <ns1:DeliveryCivility>0</ns1:DeliveryCivility> <ns1:DeliveryLastname>DOE</ns1:DeliveryLastname> <ns1:DeliveryFirstname>John</ns1:DeliveryFirstname> <ns1:DeliveryCompany>BOREALYSS SALON DE COIF (P26566)</ns1:DeliveryCompany> <ns1:DeliveryAddress_1>64 RUE DE LA FAUCONNIERE</ns1:DeliveryAddress_1> <ns1:DeliveryAddress_2>A COTE DE LA PHARMACIE</ns1:DeliveryAddress_2> <ns1:DeliveryZipcode>38170</ns1:DeliveryZipcode> <ns1:DeliveryCity>SEYSSINET PARISET</ns1:DeliveryCity> <ns1:DeliveryPhone>0601020304</ns1:DeliveryPhone> <ns1:DeliveryCountryCode>FR</ns1:DeliveryCountryCode> <ns1:DeliveryEmail>john.doe@gmail.com</ns1:DeliveryEmail> <ns1:WithdrawalPoint>P26566</ns1:WithdrawalPoint> <ns1:PrintableComments>Message(s) à propos de la commande : Bonjour, n'hésitez pas à laisser le colis au concierge si je suis absent. Bonne journée !</ns1:PrintableComments> <ns1:Product> <ns1:Reference>demo_1_ws</ns1:Reference> <ns1:Name>T-shirt imprimé colibri (Taille : S, Couleur : Blanc)</ns1:Name> <ns1:Quantity>1</ns1:Quantity> <ns1:UnitPrice>12.89</ns1:UnitPrice> <ns1:VATRate>20</ns1:VATRate> <ns1:DiscountPercent>0</ns1:DiscountPercent> <ns1:Weight>1.152</ns1:Weight> </ns1:Product> <ns1:Product> <ns1:Reference>demo_2_s</ns1:Reference> <ns1:Name>Pull imprimé colibri (Taille : S)</ns1:Name> <ns1:Quantity>1</ns1:Quantity> <ns1:UnitPrice>45.99</ns1:UnitPrice> <ns1:VATRate>20</ns1:VATRate> <ns1:DiscountPercent>0</ns1:DiscountPercent> <ns1:Weight>2.687</ns1:Weight> </ns1:Product> </ns2:return> </ns2:getOrdersResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Dans le flux XML ci-dessus, vous pouvez voir que :
- la commande possède 2 articles (1 quantité commandée pour chacun)
- la commande est livrée en point relais (champ « WithdrawalPoint » renseigné avec le numéro du point relais, l’adresse de livraison correspond bien au point relais tandis que le nom/prénom du client est quant-à-lui précisé afin qu’il puisse être identifié lors de la remise du colis)
- les prix sont transmis en TTC (champ « IncludedTaxEdition » à « true »)
- le client a laissé un commentaire qui est également envoyé à OpenSi
- etc…
Paramétrage / Options personnalisables
Afin de répondre au mieux aux diverses attentes de chacun, le module OpenSi Connect permet dans une certaine mesure de personnaliser quelques informations de synchronisation entre la boutique et OpenSi au niveau des commandes.
Dans cette section, vous allez pouvoir trouver quelques informations complémentaires concernant ce paramétrage, ceci en fonction de la configuration effectuée au niveau du module OpenSi Connect (options personnalisables par vos soins).
Points abordés :
Champs personnalisables & commandes
Selon la configuration du module OpenSi Connect, il est possible de choisir certaines options de synchronisation. La plateforme utilisée par votre boutique (PrestaShop ou Magento) a également un impact (les options générales restent les mêmes mais il y a aussi des spécificités).
PrestaShop
Sous PrestaShop, il est possible d’envoyer à OpenSi l’ID ou la référence comme numéro de commande à prendre en compte.
Il est également possible de customiser les commentaires de commande selon 3 possibilités :
- Possibilité de désactiver les commentaires de commandes
- Possibilité de synchroniser les commentaires publics seulement (correspondant aux messages laissés par les clients)
- Possibilité de synchroniser les commentaires publics & privés (correspondant aux messages laissés par les clients mais aussi aux messages de paiements/TPE par exemple)
Magento
Sous Magento, il n’est pas possible de choisir le numéro de commande à prendre en compte dans OpenSi (spécificité PrestaShop) mais il est par contre possible de gérer ce que nous appelons des « règles d’expédition ».
Il s’agit d’envoyer une information à OpenSi lui indiquant de générer des expéditions multiples si une référence article est présente dans la commande.
Il suffit donc de renseigner une ou plusieurs références article dans le champ prévu pour qu’OpenSi sache automatiquement s’il faut générer une ou plusieurs expéditions.
Et, tout comme sur PrestaShop, il est bien entendu possible de customiser les commentaires de commande selon les 3 mêmes possibilités :
- Possibilité de désactiver les commentaires de commande
- Possibilité de synchroniser les commentaires publics seulement (correspondant aux messages laissés par les clients)
- Possibilité de synchroniser les commentaires publics & privés (correspondant aux messages laissés par les clients mais aussi aux messages privés que vous auriez pu laissés mais non visibles par le client)
Les options disponibles pour les commandes marketplace
Concernant la gestion des marketplaces, les options personnalisables sont également gérées différemment selon la plateforme e-commerce utilisée.
PrestaShop
Gestion des e-mails
Il est possible de gérer l’envoi des e-mails aux clients. En effet, certaines places de marché comme Amazon ne veulent pas que vous communiquiez directement avec le client (ils s’en chargent directement). La solution consiste alors à ne pas transmettre l’e-mail dans l’adresse de livraison à OpenSi afin que celui-ci ne puisse effectuer les envois.
A noter qu’il est possible de configurer la liste des modules de places de marché qui ne doivent pas envoyer l’e-mail à OpenSi.
Statuts de commande spécifiques
Il est également possible de gérer des statuts de commande spécifiques. De même , certaines places de marché (Amazon) préfèrent que vous envoyiez un statut de commande spécifique pour les commandes en cours de livraison.
A noter qu’il est possible de configurer les modules de marketplace afin de leur attribuer un statut de commande spécifique en remplacement du statut de commande « En cours de livraison » défini par défaut dans la configuration du module OpenSi.
Magento
Sous Magento, il n’est pas possible de gérer les statuts de commande (Magento passant automatiquement la commande dans le statut « Complete » si la commande possède une expédition et une facture).
Seule l’option concernant la gestion de l’envoi des e-mails est disponible.