25 Mai 2016
Gérer la livraison dans Woocommerce et définir des tranches par prix et par poids

Woocommerce & livraison : Définir des tranches par prix et poids

Mise à jour le 04/04/2019 : Nouveau module à utiliser, fonctionnement quasiment identique à l’ancien et tutoriel vidéo disponible.

La gestion des expéditions est un élément essentiel aux sites e-commerce. Selon vos produits, vos pays de destination, vos clients… vous devez adapter vos frais de livraison. Le système de transport natif de Woocommerce est assez limité. Je vais vous expliquer comment gérer vos tarifs par tranches de prix ou de poids notamment.

Woocommerce et sa gestion des frais de transport limité

De base dans le CMS Woocommerce, on peut paramétrer des transporteurs et des frais de livraison fixes (exemple : Pour la France -> 5€ de frais pour tous les produits du site).

Mais le problème se pose si vous avez une contrainte de frais de livraison selon le poids de vos produits (entre un produit de 500 grammes et de 2 kilos, le coût d’envoi est différent).

Je pense que cette fonctionnalité va devoir voir le jour sur les prochaines versions du CMS. Sur Prestashop, vous pouvez gérer cela nativement sans avoir à ajouter un module particulier.

N’oubliez pas un point particulier sur vos frais de livraison. Vous devez appliquer la TVA dessus. Pour en savoir plus sur cela, je vous invite à regarder ma vidéo Youtube sur la comptabilité en e-commerce.

Il existe un plugin gratuit Woocommerce pour créer des frais de livraison par tranches de poids/prix et par pays.

Un plugin Woocommerce gratuit pour créer des tranches de livraison

Il se nomme : WooCommerce Table Rate Shipping by JEM.

Le plugin est compatible jusqu’à WordPress 5 et plus.

Il est entièrement en Anglais, vous pouvez l’installer depuis votre menu extensions dans le back-office de WordPress, en cherchant tout simplement le nom ci-dessous dans la barre de recherche d’extensions.

Découvrir ce tutoriel Woocommerce en vidéo

Voici l’explication en image :

Suite à l’installation, dans les réglages de Woocommerce, partie livraison, vous avez dans expéditions, un nouveau choix disponible qui a pour nom “table rate“.

frais-de-livraison-woocommerce-plugin-par-tranches
Image de l’ancien module table rate

Il y a diverses options que vous pouvez choisir d’activer dans le plugin. La partie qui nous intéresse le plus va être la gestion des frais dans le tableau par pays et par poids.

Par exemple, supposons que nous vendons en France et en Angleterre. Dans “Shipping Zones” j’ajoute ces différents pays.

pays-frais-de-livraison-woocommerce-plugin-par-tranches

Ensuite il ne reste plus qu’à définir vos frais de livraison par pays et par poids/prix. Min/max représente le poids/prix minimum et maximum de la tranche puis son prix. “*” représente l’infini donc en général la dernière tranches de vos frais de livraison.

tranches-frais-de-livraison-woocommerce-plugin

N’oubliez pas d’enregistrer vos paramètres en dessous de tableau 🙂

Pour finir :

Pour conclure je pense que le plugin WooCommerce Table Rate Shipping by JEM est indispensable pour faire du e-commerce sur WordPress.

Il est vraiment très pratique pour la gestion des frais de livraison.

Si vous souhaitez gérer la livraison pour chaque produit, vous avez ce plugin (payant) : YITH Product Shipping for WooCommerce. Je ne l’ai pas testé personnellement mais il a l’air d’offrir de nombreuses fonctionnalités intéressantes.

Besoin d’aide pour créer vos transporteurs ?

– Installation d’un module Woocommerce de livraison
– Configuration et création des premières tranches
– Je test en front office le bon fonctionnement

Si vous avez besoin d’un support, vous pouvez passer commande d’un ticket d’intervention Woocommerce



72 commentaires sur “Woocommerce & livraison : Définir des tranches par prix et poids
  1. Bonjour, J’ai suivi vos conseils et installé WooCommerce Table Rate Shipping by Mangohour, cependant, lors de la commande ou de la facturation les frais n’apparaissent pas ????

  2. En pleine recherche d’une solution comme celle-ci.
    Ca me semble être le plugin le plus simple et efficace avec cette histoire de zone que je trouve très limitée.
    Et je n’ai pas envie de lâcher 100 € dans un plugin, juste pour m’adapter aux tarifs colissimo.
    Y a plus qu’à. Merci !

  3. Bonjour Matthieu,
    merci pour cet article. Depuis la MAJ de woocommerce avec l’introduction des zones de livraison ce plugin ne fait pas le lien par défaut, du coup impossible de conditionner les frais d’envoi au poids de la commande. Avez-vous trouvé une solution ?

    1. Le module est compatible avec la version 4.5 de WordPress.
      Et donc il ne fonctionne peut-être pas avec la dernière version de Wocommerce + WordPress ! A tester 🙂

  4. Bonjour 🙂

    J’ai moi même un soucis avec ce pluging… J’ai tout paramétré mais pas moyen de le voir quand on passe commande… Quelqu’un a t-il réussis à résoudre ce problème?

      1. Bonjour Mathieur, Excusez moi c’est la première fois que je poste et que je me pose sur un e-commerce.
        Alors voici ma configuration:

        Version de WordPress: 4.6.1
        – Thème utilisé : Virtue
        – Extensions principale en place : Woocommerce
        – Nom de l’hebergeur : Obambu. Dans mes réglages / Expéditions j’ai paramétré Table Rate, par contre en simulant une commande et un calcul de frais de port, aucun moyen de frais de port apparait… J’ai remplis toutes mes fiches produits (Poids et tailles) mais rien n’y fait.

        1. Bonsoir,
          J’ai exactement le même soucis, et je crains que ça vienne du fait que cette extension n’a pas été mise à jour, donc plus compatible.

          On dirait que “table rate” n’est pas associé à woocommerce, les frais sont inexistants.

          Avez vous un conseil?

          Merci

          1. Effectivement le plugin est compatible jusqu’à WordPress 4.5.4.
            Cependant j’ai réalisé un test sur 4.7 et j’arrive à faire fonctionner le module.

            Cela doit quand même venir d’un problème de compatibilité.

  5. Bonjour à tous,

    Je suis en train de développer une petite boutique en ligne avec WooCommerce.

    Rien à redire dans l’ensemble sur ce module. Il fonctionne correctement et est suffisamment intuitif pour que le futur administrateur de cette boutique qui n’est pas une tête en informatique ne s’arrache les cheveux tous les quatre matins!

    Il demeure pourtant un gros point noir que je n’arrive pas à surmonter : le calcul des frais de port!

    En effet, nativement (sauf erreur de ma part) WooCommerce propose un calcul pour un prestataire unique avec des taux fixes.

    J’aimerais pour ma part proposer différentes options à mes clients (Colissimo avec ou sans recommandé, Chronopost, Fedex, TNT, etc…) qui s’adapterait au poids et au prix de sa commande…

    Après avoir longuement cherché des plugins offrant cette possibilité, j’ai fait chou blanc!

    WooCommerce Multiple Table Rate par exemple (encore une fois sauf erreur de ma part) permet un calcul plus fin des frais de port certes mais toujours pour un prestataire unique…

    Pour résumer, l’idéal serait un plugin intégrant directement les tarifs mis à jour de plusieurs prestataires, qui génèrerait également les étiquettes d’envoi, proposerait le suivi, etc… Malheureusement je n’ai pas trouvé cette perle rare!

    Il y a bien le courtier “Envois moins cher” mais sur les différents forums que j’ai pu lire, les retours vont du “exceptionnel” au “totalement honteux”!

    Sauriez-vous me conseiller pour passer cette dernière étape qui bloque la mise en ligne de ma boutique?

    La solution alternative serait d’avoir tout simplement la possibilité de créer moi-même les différentes grilles tarifaires en fonction des prestataires souhaités. Même si cela implique de régulièrement devoir vérifier leurs tarifs et de ne pas avoir de solutions intégrées de suivi de colis, de créations d’étiquettes, etc…

    D’avance merci de votre aide précieuse!!

  6. Bonjour,
    je viens d’installer l’extension pour faire les fdp au poids mais dans le choix du pays je n’ai pas la France.
    Est-ce normal ?
    Merci d’avance

  7. Bonjour,
    Je cherche une solution pour désactiver certaines méthodes d’expéditions selon la catégorie (ou la classe de livraison d’un produit. L’idee, c juste que le site ne propose pas le retrait en boutique pour certains de mes produits. Et je ne trouve pas de plugins ou de solution. Une idée ? Merci d’avance !

  8. bonjour, question?
    j’ai tout installé mais si j’ai plusieurs articles dans mon panier le prix des livraisons se multiplient aussi
    exemple je fais un prix de 9 euros pour produit allant jusqu’à 1kg, si j’achète 3 produits à 300g je vais payer 27 euros de livraison au lieu de 9?

    avez vous une solution?
    merci beaucoup
    Ingrid

    1. Il y a un problème de configuration dans votre cas.
      Si le total produit est en dessous de 1kg alors il doit être à 9euros.
      Cela ne s’additionne pas

  9. Bonjour,

    J’ai configuré plusieurs zones de livraison dont une spécifiquement pour Paris.
    Seulement, lors des tests pour cette région, le prix de l’expédition prend en compte le prix définit pour la France et non pour Paris.

    Comment faire pour qu’aucune zone d’expédition ne prenne le dessus sur les autres ?

    Merci

    1. Il faut créer une zone “Paris” en renseignant les codes postaux de la capital.
      Ajoutez une zone de livraison puis suivez l’exemple sur cette image :
      Livraison woocommerce par codes postaux

      1. C’est déjà fait, j’ai 3 zones de livraison, une Paris avec les codes postaux, une France et une Europe. Le fait est que quand j’effectue des tests, il me géolocalise bien en France mais ne prend pas en compte le facteur Paris.
        J’ai essayé de changer l’ordre des différentes zones sans succès, la zone France prend toujours le dessus.

  10. Bonjour,

    Est-il possible de définir un pourcentage du cout et pas un cout fixe ?
    Je souhaiterai en effet m’en servir pour ajouter une assurance globale (% du prix global HT) dont le taux dépend du cout global …pas vraiment l’utilisation initiale de frais d’expédition je le reconnais mais je ne vois pas comment faire autrement.
    Merci d’avance de votre aide.

    1. Bonjour,

      Je pense alors qu’il ne faut pas utiliser ce module.
      Il doit exister justement des modules pour rajouter une option “assurance”.
      Et pourquoi ne pas gérer cette assurance en variation sur vos produits ?

  11. Bonjour Matthieu,
    est-il possible de définir des zones (“Reste du monde” par défaut) pour lesquelles l’internaute ne puisse pas payer (blocage de la possibilité de payer) SVP ? Concrètement c’est une boutique de pizza qui peut livrer sur une ville donnée, mais qui le pourra pas acepter de vendre (et donc de livrer ni même expédier) à Tawan 😉
    Merci de ton aide !

    1. Bonjour,

      Dans livraison, vous définissez uniquement les zones ou vous pouvez livrer.
      Les autres pays ne seront pas pris en compte et la vente sera bloquée.

  12. Bonjour Mathieu,
    je pense avoir la question la plus bête du monde mais tanpis j’y vais 😉
    Lorsque l’on doit rentrer les poids de chaque produit, faut-il le faire avec ou sans emballage car cela peut sacrément changer la donne pour la facturation des fdp… Mais comment estimer le poids de chaque emballage? Merci beaucoup d’avance!

    1. ça va être le poids total donc il faut partir sur le produit + l’emballage.

      Pour chaque emballage, si c’est toujours la même taille de carton par exemple, il suffit de le peser sur une petite balance et d’additionner au poids de votre produit dans Woocommerce.

  13. Bonjour Matthieu, je vois que tu aides pas mal d’utilisateur avec ce plugin, alors je me permets de te demander de l’aide….

    J’ai cette note qui s’affiche sur pas mal de page.

    Warning: Declaration of MH_Table_Rate_Shipping_Method::calculate_shipping($package) should be compatible with WC_Shipping_Method::calculate_shipping($package = Array) in /homepages/40/d703370550/htdocs/app703487369/wp-content/plugins/table-rate-shipping-for-woocommerce/mh-wc-table-rate.php on line 29 Il me semble que c’est dut à l’incompatibilité des versions, mais est ce qu’il y aurait un système pour faire disparaitre ce message ? Ou un autre plugin similaire ?
    Merci de ton aide.

    1. S’il y a un message de ce type c’est que le plugin ne doit pas bien fonctionner…
      Le plugin est compatible jusqu’à la version 4.5.10 de WordPress, regarde ta version de WP.
      Sinon mettre à jour le plugin.

      Pour cacher, il faut voir si les erreurs sont en true dans ton wp-config, sinon tu peux le cacher en CSS mais personnellement ce n’est pas bon de faire ça… mieux vaut réparer 😉

      1. Coucou, désolé je n’avais pas vu ta réponse.
        En effet je suis en 4.8.3

        Le Plugin n’as plus de mises à jour depuis pas mal de temps visiblement :/

        Pour le CSS je vois ou le noter mais je sais absolument pas faire et je voudrait pas que sa me masque de potentielle erreurs graves ?!

  14. Le plugin WooCommerce Table Rate Shipping étant obsolète. Avez-vous trouvé d’autres solutions ?

    ” Comment ajouter systématiquement dans le poids de chaque commande 100 gr pour le poids de l’emballage et du carton ? ”

    Quelqu’un sait ? Y a pas une fonction qui permet de dire à Woocommerce d’ajouter 100 gr par défaut au colis vide et de le comptabiliser dans la commande ?

    Merciiiiiii

    1. Les frais de port ce calcul sur le poids de votre produit.
      En fonction du poids du produit un prix sera appliqué.
      Sinon vous pouvez faire une classe de livraison par produit et dans chaque produit attribuer une classe… Mais c’est très long à faire et à gérer.

  15. Bonjour, J’ai paramétré le plug in comme indiqué je me suis arrêter à la tranche de 10kg à 30kg pour un prix de 27.30 pour la méthode Colissimo. Hors si le poids dépasse les 30kg la méthode d’expédition passe en livraison gratuite à 0€. Comment remédier cela ? Merci

      1. Le problème c’est que l’envoie colissimo est limité à 30 kilo.
        Et au dela de 30 kilo, je voudrais par exemple mettre une autre type de livraison .

        Avez vous une idée spv ?

        Merci

        Cordialement,

        1. Je préconise un développement en mettant une condition php si le total produit est sup à 30 kilos alors on affiche pas Colissimo.

          Et vous mettez un autre transporteur comme Chronopost

    1. Le mieux est d’utiliser les modules Woocommerce des transporteurs.
      Par exemple, si vous proposez du Mondial Relai, utilisez le plugin Mondial Relay.

  16. Bonjour,

    J’ai essayé de mettre en place ce plugin et en fait je tombe sur quelque chose de payant.
    100€ / an.
    Du coup, je ne sais pas comment faire pour y avoir accès sans payer. Ma version est wordpress 5.2

    Merci de bien vouloir m’aider.
    Laetitia

  17. Bonjour,

    Débutant sur WooCommerce, je m’interroge sur le type de poids à renseigner dans Produit > Expédition > Poids. Il s’agit probablement du poids brut (avec emballage) et non pas du poids net (sans emballage) mais ce n’est pas précisé. Pourriez-vous svp me confirmer que le poids à renseigner est bien le poids brut ? Merci d’avance.

  18. Bonjour Matthieu,

    Merci de prendre soin de répondre à chaque fois,
    j’ai une nouvelle problématique, voila,
    je travaille sur un e-commerce (virtue, woocommerce) le client souhaiterais une livraison par palette (poids) donc j’ai crée: Zones d’expédition > FRANCE > Table Rate > PRIX PALETTE avec plusieurs déclinaisons (90,180,270kg…) cependant, il faudrait qu’à 5000€, sur le bon de commande apparaisse “LIVRAISON GRATUITE” comme seule option, j’ai donc crée : Shipping Zones > FRANCE > Table Rate > LIVRAISON GRATUITE.

    Mon problème, c’est que les deux options apparaisse au delà de 5000€, j’aimerais que livraison gratuite soit la seule option,

    que faire?

    Merci beaucoup par avance pour votre réponse,

    Ri

  19. Bonjour,
    Le tuto est sympa, mais c’est me semble-t-il une fonctionnalité native à Woocommerce.
    Ça “d’alourdir” encore un peu son wordpress en plugin…sans compter la maintenance… 😀

    En effet il suffit de créer des classes dans WooCommerce > Settings > Expédition > Classe de livraisons.

    Vous créez ensuite des classes, par exemple :
    class-1 pour les produits de 0 à 200g,
    puis class-2 pour les 201g à 500g
    et class-3 pour les produits de + de 500g (par exemple)

    En ajoutant un montant supplémentaire en fonction de l’augmentation du poids du produit dans la rubrique “zone d’expédition” (je ne sais pas si je suis claire, mais c’est vraiment très simple à mettre en place).

    Il suffira ensuite de choisir une classe de livraison éditant le/les produit(s) concerné(s).
    Au choix on peut décider de faire payer par classe ou facturer directement la classe la plus couteuse si on le souhaite.

    1. Cependant le fait d’utiliser ce plugin c’est avoir la possibilité d’automatiser le poids avec les produits, par transporteur et par pays.
      Il y a juste le poids du produit à mettre sur la fiche produit pour détecter automatiquement dans quelle tranche de livraison il se trouve.
      Et le module n’est pas si lourd, il crée juste des éléments en base et de plus il n’a pas d’impact en front sur le chargement.

      On peut gérer cela en classe de livraison il est vrai, ce qui peut être une solution si on a très peu de tranche / produit. C’est une alternative.

  20. Salut Matthieu,
    Cela fait plusieurs heures (presque plusieurs jours !) que je rame sur la question du poids dans les envois
    et je désespérais… Ta vidéo est super et vraiment , je te remercie de m’avoir aidé (et d’avoir aidé tous les autres collègues dans la même situation).
    On propose au public des sites à monter soi-même mais c’est avec des personnes compétentes comme toi que les amateurs s’en sortent.
    Ce sont des mots tout ça… Mais à un moment donné il faut savoir dire MERCI à ceux qui vous aident.
    Moi c’est Dominique.

    1. Bonjour Dominique,

      Merci, c’est très plaisant de lire ce genre de commentaire !
      Ravi de vous avoir aidé

      Bonne continuation !

  21. Salut Matthieu, merci pour cet article je suis un jeune et débutant développeur wordpress, je cherche à créer un marketplace de livraison entre particuliers avec paiement en ligne, je suis complétement perdu pour chercher et trouver ce qui pourrai correspondre à mon besoin
    Qu est ce que tu me conseil comme thème? quelle sont tes recommandations pour faire des recherches efficaces?
    Pour cette plateforme les fonctionnalités sont paiements en ligne, prix libre par l’expéditeur ou transporteur, intégration d’un calendrier et d’une liste de villes.
    Merci pour ton aide

    1. Pour les fonctionnalités, je ne connais pas de plugin, c’est très particulier. Je pense que ce projet demande beaucoup de développement.
      Le thème sera propre aux besoins de mon côté je développerai tout.
      Tu trouveras cependant de nombreux thèmes ici : Themeforest. Il y a de tout, dans tous les domaines.

  22. Bonjour,

    J’ai installé le plug_in Weight based shipping, assez similaire à celui que vous préconisiez dans votre article… Mon problème: si je mets plusieurs produits dans mon panier, les poids ne sont pas additionnés et pris en compte dans le calcul des frais d’expédition. Comment corriger cela? Merci de votre aide.

    1. Il y a plusieurs raisons possibles pour lesquelles le poids des produits dans votre panier WooCommerce ne s’additionne pas correctement :
      1. Configuration des produits** : Vérifiez que le poids est correctement configuré pour chaque produit (et attributs)
      2. Plugin ou thème en conflit
      3. Paramètres de WooCommerce
      4. Personnalisation du code: Déjà vu, des codes qui bloquent le poids panier dans le thème
      6. Version de WooCommerce : Les anciennes versions peuvent contenir des bugs qui affectent la fonctionnalité du panier.
      7. Consulter la documentation ou le support de Weight based shipping

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *