Bonjour,
Vous pourriez créer deux "warehouse" (entrepôts). Assignez ensuite les écussons à un entrepôt et les autres produits à l'autre entrepôt.
Ensuite, assignez vos méthodes de livraison classique à l'autre entrepôts et créer une méthode de livraison avec un prix à 0 pour l'entrepôt des écussons.
Ainsi, sur le passage en caisse, les écussons auront toujours la méthode de livraison gratuite, et les autres auront les méthodes de livraison payantes, même quand les deux sont dans le panier.
Après pour vous simplifier la tâche, vous pouvez utiliser le système d'action de masse (Système>Actions de masse) pour forcer la colonne product_warehouse_id à l'id de l'entrepôt avec une action "update the values" en fonction de la catégorie, et ainsi ne pas avoir à éditer chaque produit pour configurer l'entrepôt.