Kowal Shipping Rules - extension Magento 2 pour les méthodes d’expédition, les restrictions de livraison et les frais supplémentaires.
- SKU
- M2-SHIPPING-RULES
Description / Kowal Shipping Rules - extension Magento 2 pour les méthodes d’expédition, les restrictions de livraison et les frais supplémentaires.
L’expédition dans une boutique en ligne est rarement simple. Les paramètres standard de Magento conviennent aux scénarios simples, mais deviennent vite insuffisants lorsque la boutique vend des produits de dimensions, poids, exigences de transport ou coûts de manutention différents. En pratique, cela signifie qu’il faut masquer certaines méthodes de livraison, ajouter des frais d’emballage, appliquer des exceptions pour des produits spécifiques et créer des règles dépendant du pays, de la valeur du panier ou des attributs du produit.
Kowal ShippingRules a été créé pour gérer ce type de règles dans un seul module. L’extension réunit trois domaines souvent répartis entre plusieurs modules distincts : les méthodes d’expédition, les restrictions des méthodes de livraison et les extra fees. La boutique peut ainsi gérer la logique de livraison de manière plus structurée et plus prévisible.
Le module permet de créer vos propres méthodes d’expédition dans Magento 2, de leur attribuer des tarifs, de définir quand une méthode doit être visible, de bloquer les options de livraison indisponibles et d’ajouter des frais supplémentaires uniquement lorsque les conditions de la commande le justifient. Les règles peuvent se baser sur les données du panier, l’adresse de livraison, la méthode d’expédition choisie et les attributs des produits.
La plus grande valeur du module est le contrôle. L’administrateur de la boutique peut définir des règles qui adaptent automatiquement les méthodes de livraison disponibles et les frais à une commande donnée. Le client voit des options de livraison plus pertinentes, et l’équipe de la boutique réduit le nombre de corrections manuelles après la passation de commande.
Le problème résolu par le module
Dans de nombreuses boutiques Magento 2, le coût et la disponibilité de la livraison dépendent de plus de facteurs que la seule valeur du panier. Les produits peuvent différer par leur poids, leur taille, leur mode d’emballage, leur catégorie, leur type de transport ou leur risque de détérioration. En outre, la boutique peut appliquer des règles différentes selon les pays, les régions, les codes postaux, les groupes de clients ou les méthodes d’expédition.
Sans règles dédiées, des problèmes typiques apparaissent :
- le client choisit un consigne automatique pour un produit qui n’y entre pas,
- la boutique subventionne l’expédition de produits lourds ou volumineux,
- le service doit contacter le client après la passation de la commande,
- une partie des règles est maintenue manuellement en dehors de Magento,
- les frais logistiques ne sont pas visibles dans le panier avant l’achat,
- les méthodes d’expédition sont visibles alors qu’elles ne devraient pas être disponibles,
- les règles de livraison sont réparties entre plusieurs modules et difficiles à maintenir.
Kowal ShippingRules remet de l’ordre dans ces situations. Le module permet de transférer les règles logistiques dans le panneau Magento et de les appliquer automatiquement lors du choix de la livraison.
Qu’est-ce qui distingue Kowal ShippingRules ?
Un seul module au lieu de plusieurs extensions séparées
Kowal ShippingRules regroupe la gestion des méthodes d’expédition, des restrictions et des frais supplémentaires. La boutique n’a donc pas besoin de maintenir un module séparé pour les tables de tarifs, un autre pour bloquer les méthodes de livraison et encore un autre pour les extra fees.
Des règles basées sur les données de la commande
Les décisions peuvent dépendre du contenu du panier, des attributs des produits, de la valeur de la commande, du poids, de la quantité de produits, du lieu de livraison et de la méthode d’expédition choisie. Cela permet de créer de véritables scénarios logistiques, et pas seulement de simples tarifs par pays ou par poids.
Plus de transparence pour le client
Le client voit des méthodes de livraison adaptées à sa commande. Si une méthode n’est pas disponible, la boutique peut la masquer ou afficher un message expliquant la raison de l’indisponibilité. Cela réduit le nombre de malentendus au moment de finaliser l’achat.
Un meilleur contrôle des coûts opérationnels
Des frais supplémentaires peuvent être appliqués uniquement dans des cas précis : pour des produits volumineux, fragiles, nécessitant un emballage spécial ou pour des méthodes de livraison spécifiques. La boutique peut ainsi récupérer des coûts logistiques auparavant cachés dans la marge.
Préparation à la migration depuis Amasty
Le module a été conçu comme une solution indépendante, mais il prend en compte le scénario de transition depuis des modules Amasty utilisés pour l’expédition, les restrictions et les extra fees. Il peut ainsi servir de base à la consolidation de la configuration de livraison dans un seul module.
À qui s’adresse ce module ?
Kowal ShippingRules est destiné aux boutiques Magento 2 qui ont besoin de plus de flexibilité dans la gestion de la livraison que ce que permet la configuration standard de Magento.
Le module sera particulièrement utile pour les boutiques qui :
- vendent des produits lourds, fragiles, longs, cassants ou de grand volume,
- ont des règles de livraison différentes selon les catégories de produits,
- doivent masquer les méthodes d’expédition indisponibles,
- ajoutent des frais pour l’emballage, le transport spécial ou la gestion logistique,
- veulent créer leurs propres méthodes de livraison sans travail de développement à chaque fois,
- utilisent des règles dépendant des attributs des produits,
- veulent limiter la gestion manuelle des exceptions après la passation de commande,
- prévoient d’organiser ou de remplacer plusieurs modules liés à l’expédition.
Fonctionnalités principales
Création de méthodes d’expédition personnalisées
Le module permet de créer des méthodes d’expédition gérées directement depuis le panneau Magento. Chaque méthode peut avoir son propre nom, code, description, ordre d’affichage, statut d’activité et conditions de disponibilité.
Exemples :
- Dostawa paletowa pour les produits lourds,
- Transport spécial pour les produits nécessitant une protection,
- Transporteur pour produits volumineux pour certaines catégories,
- Livraison locale pour certains codes postaux,
- Retrait logistique pour les commandes non standard.
Tarifs d’expédition selon les conditions
Des tarifs dépendant des paramètres de la commande peuvent être attribués aux méthodes. Les tarifs peuvent être filtrés notamment par pays, région, code postal, subtotal, poids, quantité de produits et type d’expédition.
Exemples :
- un prix de livraison différent pour les commandes au-dessus d’un certain poids,
- un tarif distinct pour certains pays,
- un prix dépendant de la valeur du panier,
- des tarifs différents pour les produits standards et volumineux,
- une priorité des tarifs lorsque plusieurs règles correspondent en même temps.
Restrictions des méthodes de livraison
Kowal ShippingRules permet de limiter la disponibilité des méthodes d’expédition. Une règle peut masquer une méthode ou afficher au client un message indiquant qu’un mode de livraison donné n’est pas disponible pour cette commande.
Exemples :
- masquer un consigne automatique pour des produits trop grands,
- bloquer l’expédition internationale pour certains produits,
- masquer une méthode express pour des commandes contenant des produits nécessitant une préparation,
- afficher le message : Ta méthode de livraison n’est pas disponible pour les produits volumineux.
Extra Fee, c’est-à-dire des frais supplémentaires
Le module permet d’appliquer des frais supplémentaires sur la base de règles. L’extra fee peut être appliqué à l’ensemble du panier, à chaque unité de produit ou aux produits remplissant des conditions spécifiques.
Exemples :
- frais pour emballage non standard,
- frais pour transport de produits volumineux,
- supplément pour des produits nécessitant une protection supplémentaire,
- frais logistiques pour une méthode de livraison spécifique,
- supplément pour des commandes vers certaines régions.
Conditions similaires aux règles Magento
Kowal ShippingRules utilise un générateur de conditions connu de Magento. Pour les personnes qui gèrent la boutique, cela signifie un mode de travail proche de la configuration des promotions panier : choisissez une condition, un opérateur et une valeur.
Les conditions peuvent concerner :
- SKU,
- la catégorie du produit,
- le type de produit,
- le poids,
- le prix,
- des attributs de produits sélectionnés,
- la valeur du panier,
- la quantité de produits,
- le pays de livraison,
- la région,
- la ville,
- le code postal,
- le code promo,
- la méthode d’expédition choisie.
Avantages business
Réduction des pertes sur l’expédition
Toutes les commandes n’ont pas le même coût de traitement logistique. Les produits volumineux, fragiles ou nécessitant un emballage spécial génèrent souvent des coûts supplémentaires. Kowal ShippingRules permet d’ajouter ces coûts de manière contrôlée, au lieu de les cacher dans la marge ou de les traiter manuellement après la commande.
Moins de commandes erronées
Si le client choisit une méthode de livraison qui ne convient pas au produit, la boutique doit ensuite résoudre le problème manuellement. Le module limite ce type de situation, car il peut masquer les méthodes indisponibles avant même la validation de la commande.
Une meilleure communication avec le client
Au lieu de supprimer une méthode sans explication, la boutique peut afficher un message au client. C’est particulièrement utile lorsque la limitation résulte des caractéristiques du produit, de la localisation ou des exigences de transport.
Traitement des commandes plus rapide
Les règles automatiques réduisent le nombre d’exceptions gérées par l’équipe commerciale ou logistique. Si la boutique définit clairement les règles de livraison au niveau du panier, moins de situations nécessitent une correction après l’achat.
Un seul endroit pour gérer l’expédition
Les méthodes, restrictions et frais supplémentaires sont liés entre eux. Les maintenir dans un seul module réduit le risque de conflits et facilite le contrôle de la configuration.
Exemples de scénarios d’utilisation
Boutique avec des produits de grand volume
La boutique vend des produits qui ne peuvent pas être expédiés par transporteur standard ni vers un consigne automatique. L’administrateur peut marquer ces produits avec un attribut, puis préparer une règle qui masquera le consigne automatique, affichera une livraison sur palette et ajoutera des frais pour gabarit.
Effet : le client voit immédiatement la bonne méthode de livraison, et la boutique n’a pas besoin de le contacter après l’achat pour un supplément.
Boutique avec des produits fragiles
Les produits nécessitant une protection supplémentaire peuvent générer un coût d’emballage. Le module permet d’ajouter ces frais uniquement lorsqu’un produit remplissant la condition se trouve dans le panier.
Effet : la boutique récupère le coût de l’emballage, et le client connaît le prix total avant de passer commande.
Boutique avec livraison locale
La boutique peut rendre disponible la méthode Livraison locale uniquement pour certains codes postaux ou certaines régions. Pour les autres localisations, la méthode ne sera pas visible.
Effet : le client ne choisira pas une livraison que la boutique ne peut pas assurer.
Boutique B2B
En vente B2B, le coût de livraison peut dépendre du groupe client, de la valeur de la commande, de la région ou du type de produits. Le module permet de préparer des règles qui correspondent mieux à la politique commerciale de la boutique.
Effet : la boutique peut appliquer des règles différentes selon les types de clients sans maintenir plusieurs processus séparés.
Boutique avec livraison internationale
Certains produits peuvent ne pas être disponibles pour l’expédition à l’étranger. Le module permet de limiter les méthodes de livraison pour des pays précis ou selon des conditions liées aux produits.
Effet : la boutique réduit le risque de commandes qu’elle ne peut pas exécuter conformément à son règlement ou aux restrictions du transporteur.
Supplément pour une méthode d’expédition spécifique
Si la méthode de livraison choisie génère un coût de traitement supplémentaire, il est possible d’y associer un extra fee.
Effet : les frais n’apparaissent que lorsque le client choisit une méthode d’expédition précise.
Exemples de règles pouvant être configurées
- Si le produit a l’attribut
gabaryt, masquer le consigne automatique. - Si le poids du panier dépasse la limite définie, afficher la livraison sur palette.
- Si le pays de livraison est hors de Pologne, masquer certaines méthodes.
- Si le panier contient un produit de la catégorie délicats, ajouter des frais d’emballage.
- Si la valeur du panier est inférieure au montant défini, appliquer des frais logistiques supplémentaires.
- Si le client choisit un transport spécial, ajouter un extra fee.
- Si le code postal n’appartient pas à la zone desservie, masquer la livraison locale.
- Si la commande contient un produit d’un type défini, n’afficher que certaines méthodes de livraison.
Comment travaille-t-on avec le module ?
L’administrateur de la boutique travaille dans le panneau Magento. Il crée d’abord une méthode d’expédition, puis lui attribue des tarifs et des conditions. Si des limitations sont nécessaires, il peut ajouter une restriction pour une méthode ou un groupe de méthodes spécifique. Si la commande doit inclure des frais supplémentaires, l’administrateur crée une règle d’extra fee.
Exemple de processus :
- Créez la méthode Dostawa paletowa.
- Ajoutez un tarif pour le pays Pologne et pour un poids supérieur à la limite définie.
- Ajoutez la condition selon laquelle la méthode s’applique aux produits avec l’attribut
shipping_type = pallet. - Ajoutez une restriction qui masque le consigne automatique pour ces mêmes produits.
- Ajoutez un extra fee pour le traitement du transport spécial.
- Vérifiez le panier de test et confirmez que le client voit les bonnes options.
Comparaison de l’approche
Configuration standard de Magento
Magento standard permet de configurer les méthodes de livraison de base, mais les scénarios plus complexes nécessitent des extensions supplémentaires ou des modifications sur mesure.
Plusieurs modules distincts
La boutique peut utiliser un module séparé pour les tarifs, un autre pour les restrictions et un autre pour les frais. Le problème est alors de maintenir la cohérence entre les configurations.
Kowal ShippingRules
Kowal ShippingRules regroupe les méthodes, les restrictions et les extra fees dans un seul module. Les règles de livraison sont ainsi plus faciles à comprendre, à maintenir et à tester.
Éléments ayant un impact sur le SEO de la boutique
Le module n’est pas directement un outil SEO, mais il peut indirectement améliorer l’expérience d’achat, ce qui compte pour la conversion et la qualité globale de la boutique :
- le client voit plus rapidement les coûts de livraison réels,
- le checkout est plus prévisible,
- moins de commandes nécessitent des corrections après achat,
- la boutique peut communiquer clairement les limitations logistiques,
- les règles de livraison sont plus cohérentes avec l’offre produit.
Une meilleure gestion de la livraison peut réduire le nombre de paniers abandonnés liés à des coûts peu clairs ou à des méthodes d’expédition indisponibles.
More Information
| Compatibilité avec le modèle | Luma / Blank, KOWAL |
|---|
Notice d'installation du module
Kowal ShippingRules — guide d’installation, de configuration et d’utilisation
Objectif du document
Ce document décrit la mise en œuvre pratique et l’utilisation du module Kowal_ShippingRules dans Magento 2. Il s’adresse aux personnes responsables de l’installation du module, de la configuration de la boutique, des tests de déploiement et de la gestion quotidienne des règles d’expédition.
Le document couvre :
- l’installation du module,
- la configuration de base,
- la création de méthodes d’expédition,
- la configuration des tarifs,
- la gestion des restrictions des méthodes de livraison,
- la gestion des frais supplémentaires Extra Fee,
- le diagnostic,
- la migration depuis les modules Amasty,
- la checklist des tests après déploiement.
Informations de base
Nom technique du module :
Kowal_ShippingRulesEmplacement du module :
vendor/kowal/module-shipping-rulesCode du carrier :
kowal_shippingrulesLe code de la méthode d’expédition dans le checkout a le format suivant :
kowal_shippingrules_Exemple :
kowal_shippingrules_dostawa_paletowaPrérequis avant l’installation
Avant l’installation, vérifiez que :
- la boutique fonctionne sous Magento 2.4.x,
- l’environnement utilise PHP
>=8.1, - le module
Kowal_Baseest disponible, - une sauvegarde des fichiers et de la base de données a été effectuée,
- le déploiement est d’abord réalisé sur un environnement de test ou de staging,
- après l’installation, il sera possible d’exécuter
setup:upgradeetsetup:di:compile, - la personne chargée des tests a accès au panneau d’administration et au checkout.
Installation du module
Installation via Composer
Les identifiants d’accès au dépôt Composer, à savoir l’adresse e-mail du client et le token de licence, vous seront envoyés par e-mail après l’achat. Ils sont également disponibles dans l’espace client après connexion sur kowal.store. Remplacez TWOJ_EMAIL_KLIENTA par l’adresse e-mail de votre compte et TWOJ_TOKEN par le token reçu. Exécutez les commandes dans le répertoire racine de Magento.
composer config repositories.kowal composer https://repo.kowal.storecomposer config http-basic.repo.kowal.store 'TWOJ_EMAIL_KLIENTA' 'TWOJ_TOKEN'composer require kowal/module-shipping-rules2. Activez le module
bin/magento module:enable Kowal_ShippingRulesSi Kowal_Base n’est pas encore activé, activez-le au préalable ou en même temps que le module :
bin/magento module:enable Kowal_Base Kowal_ShippingRules3. Mettez à jour la base de données
bin/magento setup:upgradeCette commande crée les tables du module et ajoute les colonnes requises pour la gestion de l’Extra Fee dans quote, order, invoice et creditmemo.
4. Compilez DI
En production :
bin/magento setup:di:compile5. Videz le cache
bin/magento cache:flush6. Vérifiez le statut du module
bin/magento module:status Kowal_ShippingRulesLe module doit apparaître dans la liste des modules actifs.
Contrôle après installation
Après l’installation, lancez le diagnostic :
bin/magento kowal:shippingrules:stabilization:checkVersion complète en JSON :
bin/magento kowal:shippingrules:stabilization:check --jsonLa commande est en lecture seule et ne modifie pas les données. Elle vérifie notamment :
- la présence des tables du module,
- le nombre d’enregistrements,
- les erreurs JSON dans les conditions,
- les méthodes actives sans tarifs actifs,
- les règles Extra Fee avec tax class lorsque le mode taxe est désactivé.
Si la commande renvoie des erreurs, le module ne doit pas être basculé en utilisation en production avant qu’elles soient expliquées.
Configuration de base
Carrier
Chemin dans le panneau Magento :
Stores / Configuration / Sales / Delivery Methods / Shipping Methods & RulesChamps :
Enabled— active ou désactive le carrierkowal_shippingrules.Title— nom du groupe de méthodes visible dans le checkout.Test Method Name— nom de la méthode de configuration de test.Test Method Price— prix de la méthode de configuration de test.Sort Order— ordre du carrier dans la liste des méthodes de livraison.Show Method If Not Applicable— indique s’il faut afficher une erreur lorsqu’aucune méthode n’est disponible.Displayed Error Message— message affiché lorsque la méthode n’est pas disponible.
Paramètre le plus important :
carriers/kowal_shippingrules/active = 1Si le carrier est désactivé, les méthodes créées dans le module ne seront pas disponibles dans le checkout.
Diagnostic et fonctions de secours
Chemin dans le panneau Magento :
Stores / Configuration / Sales / Shipping Methods & RulesSection General Diagnostics :
Enable Debug Logging— enregistre les détails des décisions dans le journal.Shadow Mode— mode prévu pour comparer le comportement pendant la migration.
Section Restrictions :
Enable Restrictions— active ou désactive uniquement les restrictions.
Section Extra Fees :
Enable Extra Fees— active ou désactive uniquement les frais supplémentaires.Fee Tax Mode— définit le mode de gestion de la taxe pour l’Extra Fee.
Modes de taxe disponibles :
Do Not Calculate Tax— le module ne calcule pas la taxe sur l’Extra Fee.Calculate by Fee Tax Class— le module calcule la taxe selon la classe fiscale définie sur la règle de fee.
Paramètres par défaut sûrs :
kowal_shippingrules/general/debug = 0kowal_shippingrules/general/shadow_mode = 0kowal_shippingrules/restrictions/enabled = 1kowal_shippingrules/fees/enabled = 1kowal_shippingrules/fees/tax_mode = noneMenu du module dans le panneau
Chemin :
Sales / Shipping Methods & RulesSections disponibles :
Shipping Methods— méthodes d’expédition et tarifs,Shipping Restrictions— restrictions des méthodes de livraison,Extra Fees— frais supplémentaires.
Gestion des méthodes d’expédition
Quand créer une méthode d’expédition ?
Créez une méthode d’expédition lorsque la boutique a besoin d’une option de livraison spécifique, par exemple :
- livraison sur palette,
- transport spécial,
- livraison locale,
- transporteur pour produits volumineux,
- enlèvement logistique,
- méthode disponible uniquement pour certains produits ou certaines régions.
Création d’une méthode
Accédez à :
Sales / Shipping Methods & Rules / Shipping MethodsSélectionnez ensuite Add New ou modifiez une méthode existante.
Champs typiques de la méthode :
Is Active— indique si la méthode est active.Code— code technique de la méthode.Name— nom visible par le client.Description— description de la méthode.Sort Order— ordre d’affichage.Store Views— visibilité par vue de magasin.Customer Groups— visibilité par groupes clients.Conditions— conditions de disponibilité de la méthode.
Recommandations pour le champ Code :
- utilisez des lettres minuscules,
- n’utilisez pas de caractères polonais,
- n’utilisez pas d’espaces,
- utilisez des underscores à la place des espaces.
Exemples :
dostawa_paletowatransport_specjalnykurier_gabarytdostawa_lokalnaLe code complet de la méthode dans le checkout aura le préfixe du carrier :
kowal_shippingrules_dostawa_paletowaTarifs de la méthode
Une méthode active doit avoir au moins un tarif actif. Si la méthode n’a aucun tarif correspondant, elle n’apparaîtra pas dans le checkout.
Le tarif peut dépendre :
- du pays,
- de la région,
- du code postal,
- de la valeur du panier,
- du poids,
- du nombre de produits,
- du type d’expédition,
- de la priorité.
Modes de prix :
fixed— prix fixe,percent_subtotal— pourcentage du sous-total.
Exemples :
- prix de 29 zł pour les envois jusqu’à 30 kg,
- prix de 149 zł pour la livraison sur palette,
- 5% de la valeur du panier pour un transport spécial,
- tarif distinct pour certains codes postaux.
Conditions de la méthode
Les conditions définissent quand la méthode doit être disponible.
Exemples :
- méthode disponible uniquement pour les produits d’une catégorie donnée,
- méthode disponible uniquement avec un attribut produit spécifique,
- méthode disponible uniquement pour un panier supérieur à une valeur définie,
- méthode disponible uniquement pour un pays de livraison donné.
Si les conditions sont vides, la méthode est limitée uniquement par le statut, la vue de magasin, le groupe client et un tarif correspondant.
Gestion des restrictions des méthodes de livraison
Quand utiliser les restrictions ?
Les restrictions servent à masquer ou bloquer les méthodes d’expédition qui ne doivent pas être disponibles pour une commande donnée.
Exemples :
- masquer le casier colis pour les produits volumineux,
- bloquer l’expédition internationale pour une catégorie donnée,
- afficher un message indiquant que le transport express n’est pas disponible pour les produits sur commande,
- masquer la méthode de livraison pour un pays donné.
Création d’une restriction
Accédez à :
Sales / Shipping Methods & Rules / Shipping RestrictionsSélectionnez ensuite Add New ou modifiez une restriction existante.
Champs typiques :
Is Active— indique si la restriction fonctionne.Name— nom interne.Target Carrier— carrier concerné par la restriction.Target Method— méthode concernée par la restriction.Action— mode d’action.Message— message destiné au client.Priority— priorité.Stop Processing— indique s’il faut arrêter la vérification des règles suivantes.Store Views— périmètre des vues de magasin.Customer Groups— périmètre des groupes clients.Conditions— conditions de correspondance.
Actions de restriction
hide :
- la méthode sera masquée,
- le client ne la verra pas,
- adapté aux limitations évidentes, par exemple un casier colis pour des produits volumineux.
error :
- la méthode sera affichée comme indisponible,
- le client verra un message,
- adapté lorsqu’il est utile d’expliquer la raison de l’indisponibilité.
Priorité et Stop Processing
Les règles sont vérifiées selon leur priorité. Une priorité plus élevée signifie une vérification plus précoce.
Stop Processing = Yes signifie qu’après la correspondance avec cette restriction, le module ne vérifie plus les restrictions suivantes pour cette méthode.
Recommandation :
- utilisez des priorités plus élevées pour les règles plus spécifiques,
- utilisez des priorités plus faibles pour les règles générales,
- activez
Stop Processingsi la règle doit déterminer définitivement la disponibilité de la méthode.
Gestion de l’Extra Fee
Quand utiliser l’Extra Fee ?
L’Extra Fee sert à ajouter des frais supplémentaires à la commande.
Exemples :
- frais d’emballage non standard,
- supplément pour transport volumineux,
- frais pour produits fragiles,
- frais logistiques pour une méthode de livraison spécifique,
- supplément pour certaines régions.
Création d’une Extra Fee
Accédez à :
Sales / Shipping Methods & Rules / Extra FeesSélectionnez ensuite Add New ou modifiez des frais existants.
Champs typiques :
Is Active— indique si le fee fonctionne.Name— nom interne.Label— nom des frais visible dans les totals.Target Carrier— carrier concerné par le fee.Target Method— méthode concernée par le fee.Price Type— type de prix.Price— montant des frais.Apply Mode— mode de calcul.Tax Class ID— classe fiscale si le tax mode est utilisé.Priority— priorité.Stop Processing— indique s’il faut arrêter le calcul des fees suivants.Store Views— périmètre des vues de magasin.Customer Groups— périmètre des groupes clients.Conditions— conditions d’application.
Modes de prix
fixed :
- montant fixe,
- par exemple 19 zł pour l’emballage.
percent_subtotal :
- pourcentage de la valeur du panier,
- par exemple 3% de la valeur de la commande.
Modes de calcul
cart :
- un seul frais pour l’ensemble du panier.
per_item :
- frais multipliés par la quantité de produits.
per_matching_item :
- frais calculés uniquement pour les produits qui remplissent les conditions.
Exemple :
Si les frais de protection spéciale s’élèvent à 5 zł et que le panier contient 3 produits remplissant la condition, le mode per_matching_item calculera 15 zł.
Taxe sur l’Extra Fee
Par défaut, la taxe sur l’Extra Fee n’est pas calculée :
kowal_shippingrules/fees/tax_mode = nonePour calculer la taxe :
- Définissez
Fee Tax ModesurCalculate by Fee Tax Class. - Renseignez
Tax Class IDsur la règle Extra Fee. - Testez le panier, order, invoice et creditmemo.
La taxe sur l’Extra Fee doit toujours être vérifiée avec la configuration fiscale de la boutique concernée.
Gestion des conditions
Le module utilise un générateur de conditions similaire aux règles Magento.
Les conditions peuvent notamment porter sur :
- les attributs des produits,
- le SKU,
- les catégories,
- le type de produit,
- le poids,
- le prix,
- la valeur du panier,
- la quantité de produits,
- le pays de livraison,
- la région,
- la ville,
- le code postal,
- le coupon,
- la méthode d’expédition sélectionnée.
Exemple de condition pour un produit volumineux
Hypothèse :
- le produit possède l’attribut
shipping_type, - la valeur pour le gabarit est
pallet.
Règle :
Jeżeli produkt w koszyku ma shipping_type = palletActions possibles :
- afficher la méthode
Dostawa paletowa, - masquer le casier colis,
- ajouter le fee
Transport gabarytowy.
Recommandations pour travailler avec les conditions
- créez d’abord une règle simple et testez-la dans le panier,
- évitez trop de conditions dans une seule règle,
- décrivez les règles avec des noms lisibles,
- pour les règles importantes, utilisez des attributs produit explicites,
- après modification des attributs produit, testez à nouveau le panier.
Diagnostic et journalisation
Fichier journal dédié :
var/log/kowal_shipping_rules.logLe mode debug peut être activé dans :
Stores / Configuration / Sales / Shipping Methods & Rules / General DiagnosticsActivez :
Enable Debug Logging = YesRecommandations :
- ne laissez pas le debug logging activé en permanence en production,
- activez le debug uniquement pendant le diagnostic,
- désactivez le debug après la fin des tests,
- analysez les logs avec le panier de test et la configuration des règles.
Fonctions de secours
Si un problème survient après le déploiement, vous pouvez désactiver séparément :
L’ensemble du carrier
Stores / Configuration / Sales / Delivery Methods / Shipping Methods & Rules / Enabled = NoEffet :
- les méthodes du carrier
kowal_shippingrulesne seront pas disponibles.
Uniquement les restrictions
Stores / Configuration / Sales / Shipping Methods & Rules / Restrictions / Enable Restrictions = NoEffet :
- les méthodes ne seront ni masquées ni bloquées par les restrictions.
Uniquement l’Extra Fee
Stores / Configuration / Sales / Shipping Methods & Rules / Extra Fees / Enable Extra Fees = NoEffet :
- les frais supplémentaires ne seront pas calculés.
Migration depuis Amasty
Objectif de la migration
La migration depuis Amasty vise à faciliter le transfert de la configuration des restrictions et des extra fees vers Kowal_ShippingRules.
Le module Kowal ne nécessite pas Amasty pour fonctionner normalement. Amasty peut être utilisé comme source de données de migration et comme point de référence pendant les tests.
Sources de données prises en charge
Le migrateur analyse :
amasty_shiprestriction_ruleamasty_extrafeeamasty_extrafee_optionTables cibles :
kowal_shipping_restrictionkowal_shipping_feeRègles de sécurité de la migration
La migration a été conçue avec prudence :
- le rapport est en lecture seule,
- le dry-run n’enregistre aucune donnée,
- apply fonctionne par défaut comme un aperçu,
- l’enregistrement nécessite l’option explicite
--execute, - seuls les enregistrements avec le statut
readysont enregistrés, - les enregistrements
manual_reviewetunsupportedsont ignorés, - la migration est idempotente grâce aux champs
migration_sourceetmigration_source_key, - la migration ne désactive pas Amasty,
- la migration ne bascule pas automatiquement le trafic.
Étape 1 — rapport de base
Exécutez :
bin/magento kowal:shippingrules:amasty:reportLe rapport sera enregistré dans :
var/report/kowal_shippingrules_amasty_report.jsonLe rapport indique la présence et le volume des tables Amasty ainsi que des tables Kowal.
Étape 2 — dry-run de la transformation
Exécutez :
bin/magento kowal:shippingrules:amasty:report --dry-run --limit=100Le dry-run prépare le plan de transformation, mais n’enregistre rien.
Statuts des enregistrements :
ready— l’enregistrement peut être migré automatiquement,manual_review— l’enregistrement nécessite une analyse manuelle,unsupported— l’enregistrement n’est pas pris en charge par le migrateur automatique.
Si le rapport contient de nombreux manual_review ou unsupported, analysez ces règles avant apply.
Étape 3 — preview apply
Exécutez :
bin/magento kowal:shippingrules:amasty:apply --limit=100Cela n’enregistre toujours aucune donnée. La commande indique combien d’enregistrements seraient créés, ignorés ou terminés avec une erreur.
Étape 4 — apply des restrictions
Après validation de l’aperçu :
bin/magento kowal:shippingrules:amasty:apply --type=restrictions --limit=100 --executeLa commande enregistrera uniquement les restrictions avec le statut ready.
Étape 5 — apply des Extra Fee
Après validation de l’aperçu :
bin/magento kowal:shippingrules:amasty:apply --type=fees --limit=100 --executeLa commande enregistrera uniquement les extra fees avec le statut ready.
Étape 6 — diagnostic après migration
Exécutez :
bin/magento kowal:shippingrules:stabilization:checkVérifiez également le panneau :
Sales / Shipping Methods & Rules / Shipping RestrictionsSales / Shipping Methods & Rules / Extra FeesÉtape 7 — tests comparatifs avec Amasty
Avant de désactiver ou de remplacer la configuration Amasty, comparez les résultats pour des paniers de test.
Paniers recommandés :
- produit standard,
- produit volumineux,
- produit fragile,
- plusieurs produits avec différentes conditions,
- commande avec différents pays de livraison,
- commande avec différents codes postaux,
- commande avec un coupon,
- commande avec une méthode sélectionnée soumise à une Extra Fee.
Pour chaque panier, vérifiez :
- les méthodes de livraison disponibles,
- les méthodes masquées,
- les messages d’erreur,
- les extra fees calculées,
- les montants TTC/HT si le tax fee est utilisé,
- order,
- invoice,
- creditmemo.
Étape 8 — décision de basculement
Ce n’est qu’après validation des résultats qu’il est possible de planifier le basculement de la configuration de production.
Recommandations :
- ne désactivez pas Amasty sans sauvegarde,
- ne supprimez pas les données Amasty immédiatement après la migration,
- désactivez d’abord le fonctionnement côté configuration,
- conservez une possibilité de rollback,
- préparez la liste des règles nécessitant une correction manuelle.
Rollback après migration
Si un problème survient :
- Désactivez le carrier
Kowal ShippingRules. - Désactivez
Enable Restrictions. - Désactivez
Enable Extra Fees. - Restaurez la configuration Amasty existante.
- Vérifiez le checkout.
- Conservez les rapports de migration pour analyse.
Checklist après déploiement
Technique
module:statusafficheKowal_ShippingRulescomme actif,setup:upgrades’est terminé sans erreur,setup:di:compiles’est terminé sans erreur,cache:flusha été exécuté,stabilization:checkne renvoie aucune erreur,- le panneau d’administration affiche le menu
Shipping Methods & Rules, - le fichier journal est alimenté lorsque le debug est activé.
Configuration
- le carrier est activé,
- au moins une méthode d’expédition a été créée,
- la méthode active possède un tarif actif,
- les store views sont correctement définies,
- les customer groups sont correctement définis,
- les restrictions sont activées ou volontairement désactivées,
- les extra fees sont activées ou volontairement désactivées,
- le tax mode est conforme à la configuration fiscale de la boutique.
Checkout
- la méthode apparaît pour un panier remplissant les conditions,
- la méthode n’apparaît pas lorsqu’aucun tarif ne correspond,
- la restriction
hidemasque la méthode, - la restriction
erroraffiche un message, - l’extra fee apparaît dans les totals après sélection de la méthode,
- le changement de méthode d’expédition recalcule le fee,
- order contient les montants du fee,
- invoice contient les montants du fee,
- creditmemo rembourse correctement le fee.
Problèmes les plus fréquents
La méthode n’apparaît pas dans le checkout
Vérifiez :
- si le carrier est activé,
- si la méthode est active,
- si la méthode possède un tarif actif,
- si le tarif correspond au pays, à la région, au code postal, au poids et au sous-total,
- si la store view est correcte,
- si le customer group est correct,
- si les conditions de la méthode sont remplies,
- si une restriction ne masque pas la méthode.
L’Extra Fee n’est pas calculée
Vérifiez :
- si
Enable Extra Fees = Yes, - si le fee est actif,
- si le target carrier et la target method sont corrects,
- si les conditions du fee sont remplies,
- si une méthode d’expédition a été sélectionnée,
- si le prix du fee est supérieur à zéro,
- si
Stop Processingd’une règle précédente n’a pas arrêté le calcul suivant.
La restriction ne fonctionne pas
Vérifiez :
- si
Enable Restrictions = Yes, - si la restriction est active,
- si le target carrier et la target method sont corrects,
- si les conditions de la restriction sont remplies,
- si la priorité de la règle est appropriée,
- si une autre règle avec
Stop Processingne termine pas le traitement plus tôt.
La taxe sur l’Extra Fee n’est pas calculée
Vérifiez :
- si
Fee Tax Mode = Calculate by Fee Tax Class, - si la règle de fee a un
Tax Class IDdéfini, - si la configuration fiscale Magento renvoie un taux de taxe pour l’adresse,
- si le panier possède une adresse de livraison,
- si le fee est effectivement calculé.
Bonnes pratiques
- Configurez d’abord des règles simples, puis ajoutez les conditions suivantes.
- Préparez un panier de test pour chaque règle importante.
- Utilisez des noms lisibles pour les méthodes, restrictions et fees.
- Évitez plusieurs règles très similaires avec la même priorité.
- Documentez la raison de la création d’une restriction ou d’un fee dans son nom.
- Après modification des attributs produit, effectuez un test du checkout.
- N’activez le debug logging que pendant le diagnostic.
- Effectuez la migration depuis Amasty par étapes : rapport, dry-run, preview, execute, QA.
Documents associés
README.md— description technique du module pour les développeurs.docs/WDROZENIE.md— documentation détaillée de déploiement et architecture.docs/OPIS_MARKETINGOWY.md— description marketing du module.