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.
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 est destiné 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 :
app/code/Kowal/ShippingRulesCode du carrier :
kowal_shippingrulesLe code de la méthode d’expédition dans le checkout suit le format :
kowal_shippingrules_Exemple :
kowal_shippingrules_dostawa_paletowaPrérequis avant l’installation
Avant l’installation, il faut confirmer 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 en charge des tests a accès au panneau d’administration et au checkout.
Installation du module
1. Téléchargez le module
Le module doit se trouver dans le répertoire :
app/code/Kowal/ShippingRules2. Activez le module
bin/magento module:enable Kowal_ShippingRulesSi Kowal_Base n’est pas encore activé, il faut l’activer avant 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 nécessaires à la gestion de 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 l’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 read-only et ne modifie pas les données. Elle vérifie notamment :
- la présence des tables du module,
- le nombre d’enregistrements,
- un JSON de conditions invalide,
- des méthodes actives sans tarifs actifs,
- des règles Extra Fee avec tax class lorsque le mode taxe est désactivé.
Si la commande renvoie des erreurs, il ne faut pas basculer le module en production avant leur clarification.
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.
Le 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 log.Shadow Mode— mode prévu pour comparer les comportements lors d’une 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 la manière de gérer la taxe pour Extra Fee.
Modes de taxe disponibles :
Do Not Calculate Tax— le module ne calcule pas de taxe sur Extra Fee.Calculate by Fee Tax Class— le module calcule la taxe selon la classe fiscale définie sur la règle fee.
Paramètres par défaut recommandés et 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 ?
Une méthode d’expédition doit être créée lorsque la boutique a besoin de sa propre option de livraison, par exemple :
- livraison sur palette,
- transport spécial,
- livraison locale,
- transporteur pour produits volumineux,
- retrait 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 MethodsPuis sélectionnez Add New ou modifiez une méthode existante.
Champs typiques de la méthode :
Is Active— la méthode est-elle 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 store view.Customer Groups— visibilité par groupes de 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 pas de tarif correspondant, elle n’apparaîtra pas dans le checkout.
Le tarif peut dépendre de :
- pays,
- région,
- code postal,
- valeur du panier,
- poids,
- quantité de produits,
- type d’expédition,
- priorité.
Modes de prix :
fixed— prix fixe,percent_subtotal— pourcentage du subtotal.
Exemples :
- prix de 29 zł pour des colis jusqu’à 30 kg,
- prix de 149 zł pour une livraison sur palette,
- 5% de la valeur du panier pour un transport spécial,
- un 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 des produits d’une catégorie donnée,
- méthode disponible uniquement pour un attribut produit précis,
- méthode disponible uniquement pour un panier au-dessus d’une certaine valeur,
- méthode disponible uniquement pour un pays de livraison donné.
Si les conditions sont vides, la méthode est limitée uniquement par son statut, le store view, le customer group 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 un consigne automatique pour des 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 une méthode de livraison pour un pays donné.
Création d’une restriction
Accédez à :
Sales / Shipping Methods & Rules / Shipping RestrictionsPuis sélectionnez Add New ou modifiez une restriction existante.
Champs typiques :
Is Active— la restriction est-elle active.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 pour le client.Priority— priorité.Stop Processing— faut-il arrêter la vérification des règles suivantes.Store Views— portée des store views.Customer Groups— portée des groupes de clients.Conditions— conditions de correspondance.
Actions des restrictions
hide :
- la méthode sera masquée,
- le client ne la verra pas,
- adapté aux restrictions évidentes, par exemple un consigne automatique pour des gabarits 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 tôt.
Stop Processing = Yes signifie qu’après correspondance de 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 basses pour les règles générales,
- activez
Stop Processingsi la règle doit décider définitivement de la disponibilité de la méthode.
Gestion de Extra Fee
Quand utiliser Extra Fee ?
Extra Fee sert à ajouter des frais supplémentaires à la commande.
Exemples :
- frais pour emballage non standard,
- supplément pour transport de produits volumineux,
- frais pour produits fragiles,
- frais logistiques pour une méthode de livraison spécifique,
- supplément pour certaines régions.
Création de Extra Fee
Accédez à :
Sales / Shipping Methods & Rules / Extra FeesPuis sélectionnez Add New ou modifiez des frais existants.
Champs typiques :
Is Active— les frais sont-ils actifs.Name— nom interne.Label— nom des frais visible dans totals.Target Carrier— carrier concerné par les frais.Target Method— méthode concernée par les frais.Price Type— type de prix.Price— valeur des frais.Apply Mode— mode d’application.Tax Class ID— classe fiscale si le tax mode est utilisé.Priority— priorité.Stop Processing— faut-il arrêter l’application des frais suivants.Store Views— portée des store views.Customer Groups— portée des groupes de 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 d’application
cart :
- un seul frais pour tout le panier.
per_item :
- frais multipliés par la quantité de produits.
per_matching_item :
- frais appliqués uniquement aux produits remplissant les conditions.
Exemple :
Si les frais pour une protection spéciale sont de 5 zł et que le panier contient 3 produits remplissant la condition, le mode per_matching_item appliquera 15 zł.
Taxe sur Extra Fee
Par défaut, la taxe sur 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 IDdans la règle Extra Fee. - Testez le panier, order, invoice et creditmemo.
La taxe sur Extra Fee doit toujours être vérifiée en fonction de 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 concerner notamment :
- les attributs des produits,
- 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 choisie.
Exemple de condition pour un produit volumineux
Hypothèse :
- le produit possède l’attribut
shipping_type, - la valeur pour le gabarit volumineux est
pallet.
Règle :
Jeżeli produkt w koszyku ma shipping_type = palletActions possibles :
- afficher la méthode
Dostawa paletowa, - masquer le consigne automatique,
- ajouter les frais
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 clairs,
- pour les règles importantes, utilisez des attributs produit explicites,
- après avoir modifié des attributs produit, testez à nouveau le panier.
Diagnostic et journalisation
Fichier log dédié :
var/log/kowal_shipping_rules.logLe 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 les 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, il est possible de désactiver séparément :
Tout le 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 Extra Fee
Stores / Configuration / Sales / Shipping Methods & Rules / Extra Fees / Enable Extra Fees = NoEffet :
- les frais supplémentaires ne seront pas appliqués.
Migration depuis Amasty
Objectif de la migration
La migration depuis Amasty vise à aider au transfert de la configuration des restrictions et des extra fees vers Kowal_ShippingRules.
Le module Kowal n’exige 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_feePrincipes de sécurité de la migration
La migration a été conçue avec prudence :
- le rapport est read-only,
- le dry-run n’enregistre pas de données,
- apply fonctionne par défaut comme preview,
- l’écriture exige l’option explicite
--execute, - seuls les enregistrements avec le statut
readysont sauvegardé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 montre la présence et le volume des tables Amasty ainsi que des tables Kowal.
Étape 2 — dry-run de 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 transféré 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 beaucoup de manual_review ou de unsupported, il faut analyser ces règles avant apply.
Étape 3 — preview apply
Exécutez :
bin/magento kowal:shippingrules:amasty:apply --limit=100Cela n’enregistre toujours pas de données. La commande montre combien d’enregistrements seraient créés, ignorés ou terminés avec une erreur.
Étape 4 — apply des restrictions
Après validation de la preview :
bin/magento kowal:shippingrules:amasty:apply --type=restrictions --limit=100 --executeLa commande n’enregistrera que les restrictions avec le statut ready.
Étape 5 — apply de Extra Fee
Après validation de la preview :
bin/magento kowal:shippingrules:amasty:apply --type=fees --limit=100 --executeLa commande n’enregistrera que 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, il faut comparer les résultats pour des paniers de test.
Paniers recommandés :
- produit standard,
- produit volumineux,
- produit fragile,
- plusieurs produits avec des conditions différentes,
- commande avec différents pays de livraison,
- commande avec différents codes postaux,
- commande avec coupon,
- commande avec une méthode sélectionnée concernée par 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 appliqués,
- les montants TTC/HT, si tax fee est utilisé,
- order,
- invoice,
- creditmemo.
Étape 8 — décision de bascule
Ce n’est qu’après validation des résultats qu’il est possible de planifier la bascule 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 la possibilité de rollback,
- préparez une liste des règles nécessitant une correction manuelle.
Rollback après migration
En cas de problème :
- 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 erreurs,setup:di:compiles’est terminé sans erreurs,cache:flushexécuté,stabilization:checkne renvoie pas d’erreurs,- le panneau d’administration affiche le menu
Shipping Methods & Rules, - le fichier log est écrit 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 dispose d’un tarif actif,
- les store views sont correctement définis,
- les customer groups sont correctement définis,
- les restrictions sont activées ou désactivées en connaissance de cause,
- les extra fees sont activés ou désactivés en connaissance de cause,
- 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 correspondant n’existe,
- la restriction
hidemasque la méthode, - la restriction
erroraffiche un message, - l’extra fee apparaît dans totals après sélection de la méthode,
- le changement de méthode d’expédition recalcule les frais,
- order contient les montants des frais,
- invoice contient les montants des frais,
- creditmemo rembourse correctement les frais.
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 dispose d’un tarif actif,
- si le tarif correspond au pays, à la région, au code postal, au poids et au subtotal,
- si le store view est correct,
- si le customer group est correct,
- si les conditions de la méthode sont remplies,
- si une restriction ne masque pas la méthode.
Extra Fee n’est pas appliqué
Vérifiez :
- si
Enable Extra Fees = Yes, - si les frais sont actifs,
- si target carrier et target method sont corrects,
- si les conditions des frais sont remplies,
- si la méthode d’expédition a été sélectionnée,
- si le montant des frais est supérieur à zéro,
- si
Stop Processingd’une règle précédente n’a pas empêché l’application des frais suivants.
La restriction ne fonctionne pas
Vérifiez :
- si
Enable Restrictions = Yes, - si la restriction est active,
- si target carrier et target method sont corrects,
- si les conditions de la restriction sont remplies,
- si la priorité de la règle est correcte,
- si une autre règle avec
Stop Processingne termine pas le traitement plus tôt.
La taxe sur Extra Fee n’est pas calculée
Vérifiez :
- si
Fee Tax Mode = Calculate by Fee Tax Class, - si la règle fee a un
Tax Class IDdéfini, - si la configuration fiscale de Magento renvoie un taux de taxe pour l’adresse,
- si le panier possède une adresse de livraison,
- si les frais sont effectivement appliqués.
Bonnes pratiques
- Configurez d’abord des règles simples, puis ajoutez des conditions supplémentaires.
- Préparez un panier de test pour chaque règle importante.
- Utilisez des noms clairs 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 avoir modifié les attributs des produits, 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.



















