Kowal Shipping Rules - estensione Magento 2 per metodi di spedizione, restrizioni di consegna e costi aggiuntivi.
La spedizione in un negozio online raramente è semplice. Le impostazioni standard di Magento funzionano bene in scenari semplici, ma diventano rapidamente insufficienti quando il negozio vende prodotti con dimensioni, pesi, requisiti di trasporto o costi di gestione differenti. In pratica, questo significa dover nascondere determinati metodi di consegna, aggiungere costi per l imballaggio, applicare eccezioni per prodotti specifici e creare regole in base al paese, al valore del carrello o agli attributi del prodotto.
Kowal ShippingRules è stato creato per gestire queste regole in un unico modulo. L estensione unisce tre aree che spesso sono distribuite tra diversi componenti aggiuntivi separati: metodi di spedizione, restrizioni dei metodi di consegna ed extra fee. In questo modo il negozio può gestire la logica di consegna in modo più ordinato e prevedibile.
Il modulo consente di creare metodi di spedizione personalizzati in Magento 2, assegnare loro tariffe, definire quando un metodo deve essere visibile, bloccare le opzioni di consegna non disponibili e aggiungere costi extra solo quando sono giustificati dalle condizioni dell ordine. Le regole possono basarsi sui dati del carrello, sull indirizzo di consegna, sul metodo di spedizione selezionato e sugli attributi dei prodotti.
Il valore principale del modulo è il controllo. L amministratore del negozio può definire regole che adattano automaticamente i metodi di consegna disponibili e i costi al singolo ordine. Il cliente vede opzioni di consegna più pertinenti e il personale del negozio riduce il numero di correzioni manuali dopo l invio dell ordine.
Il problema che il modulo risolve
In molti negozi Magento 2 il costo e la disponibilità della consegna dipendono da più fattori rispetto al solo valore del carrello. I prodotti possono differire per peso, dimensioni, modalità di imballaggio, categoria, tipo di trasporto o rischio di danneggiamento. Inoltre il negozio può avere regole diverse per paesi specifici, regioni, CAP, gruppi di clienti o metodi di spedizione.
Senza regole dedicate compaiono problemi tipici:
- il cliente sceglie un locker per un prodotto che non ci entra,
- il negozio sostiene costi aggiuntivi per la spedizione di prodotti pesanti o voluminosi,
- il personale deve contattare il cliente dopo l invio dell ordine,
- alcune regole vengono mantenute manualmente fuori da Magento,
- i costi logistici non sono visibili nel carrello prima dell acquisto,
- i metodi di spedizione sono visibili anche se non dovrebbero essere disponibili,
- le regole di consegna sono distribuite tra più moduli e difficili da mantenere.
Kowal ShippingRules mette ordine in queste situazioni. Il modulo consente di trasferire le regole logistiche nel pannello di Magento e applicarle automaticamente durante la selezione della consegna.
Cosa distingue Kowal ShippingRules?
Un solo modulo invece di diverse estensioni separate
Kowal ShippingRules combina la gestione dei metodi di spedizione, delle restrizioni e dei costi aggiuntivi. In questo modo il negozio non deve mantenere un modulo separato per le tabelle tariffarie, un altro per bloccare i metodi di consegna e un ulteriore modulo per extra fee.
Regole basate sui dati dell ordine
Le decisioni possono dipendere dal contenuto del carrello, dagli attributi dei prodotti, dal valore dell ordine, dal peso, dalla quantità di prodotti, dalla località di consegna e dal metodo di spedizione selezionato. Questo consente di costruire scenari logistici reali, non solo semplici tariffe per paese o peso.
Maggiore chiarezza per il cliente
Il cliente vede metodi di consegna adatti all ordine. Se un metodo non è disponibile, il negozio può nasconderlo oppure mostrare un messaggio con il motivo dell indisponibilità. Questo riduce il numero di malintesi nella fase finale dell acquisto.
Migliore controllo dei costi operativi
I costi aggiuntivi possono essere applicati solo in casi selezionati: per prodotti voluminosi, delicati, che richiedono un imballaggio speciale o per metodi di consegna specifici. In questo modo il negozio può recuperare i costi logistici che prima erano nascosti nel margine.
Preparato per la migrazione da Amasty
Il modulo è stato progettato come soluzione indipendente, ma tiene conto dello scenario di transizione dai moduli Amasty utilizzati per spedizione, restrizioni ed extra fee. Per questo può essere utilizzato come direzione di consolidamento della configurazione di consegna in un unico modulo.
Per chi è questo modulo?
Kowal ShippingRules è destinato ai negozi Magento 2 che hanno bisogno di una maggiore flessibilità nella gestione della consegna rispetto a quella offerta dalla configurazione standard di Magento.
Il modulo sarà particolarmente utile per i negozi che:
- vendono prodotti pesanti, delicati, lunghi, fragili o di grandi dimensioni,
- hanno regole di consegna diverse per diverse categorie di prodotti,
- devono nascondere metodi di spedizione non disponibili,
- aggiungono costi per imballaggio, trasporto speciale o gestione logistica,
- vogliono creare metodi di consegna personalizzati senza dover ricorrere ogni volta allo sviluppo,
- utilizzano regole dipendenti dagli attributi dei prodotti,
- vogliono ridurre la gestione manuale delle eccezioni dopo l invio dell ordine,
- intendono organizzare o sostituire più moduli responsabili della spedizione.
Funzionalità principali
Creazione di metodi di spedizione personalizzati
Il modulo consente di creare metodi di spedizione gestiti direttamente dal pannello di Magento. Ogni metodo può avere un proprio nome, codice, descrizione, ordinamento, stato di attivazione e condizioni di disponibilità.
Esempi:
- Dostawa paletowa per prodotti pesanti,
- Transport specjalny per prodotti che richiedono protezione,
- Kurier dla gabarytów per categorie selezionate,
- Dostawa lokalna per CAP selezionati,
- Odbiór logistyczny per ordini non standard.
Tariffe di spedizione dipendenti dalle condizioni
Ai metodi possono essere assegnate tariffe dipendenti dai parametri dell ordine. Le tariffe possono essere filtrate tra l altro per paese, regione, CAP, subtotale, peso, quantità di prodotti e tipo di spedizione.
Esempi:
- prezzo di consegna diverso per ordini sopra un determinato peso,
- tariffa separata per paesi selezionati,
- prezzo dipendente dal valore del carrello,
- tariffe diverse per prodotti standard e voluminosi,
- priorità delle tariffe quando più regole corrispondono contemporaneamente.
Restrizioni dei metodi di consegna
Kowal ShippingRules consente di limitare la disponibilità dei metodi di spedizione. La regola può nascondere un metodo oppure mostrare al cliente un messaggio che indica che una determinata forma di consegna non è disponibile per quell ordine.
Esempi:
- nascondere il locker per prodotti troppo grandi,
- bloccare la spedizione internazionale per prodotti selezionati,
- nascondere il metodo espresso per ordini con prodotti che richiedono preparazione,
- mostrare il messaggio: Questa modalità di consegna non è disponibile per prodotti voluminosi.
Extra Fee, ovvero costi aggiuntivi
Il modulo consente di applicare costi aggiuntivi in base a regole. Extra fee può essere applicato all intero carrello, a ogni singola unità di prodotto oppure ai prodotti che soddisfano condizioni specifiche.
Esempi:
- costo per imballaggio non standard,
- costo per trasporto voluminoso,
- supplemento per prodotti che richiedono protezione aggiuntiva,
- costo logistico per un metodo di consegna specifico,
- supplemento per ordini verso regioni selezionate.
Condizioni simili alle regole di Magento
Kowal ShippingRules utilizza il generatore di condizioni noto in Magento. Per chi gestisce il negozio, questo significa un metodo di lavoro simile alla configurazione delle promozioni del carrello: scegli la condizione, l operatore e il valore.
Le condizioni possono riguardare:
- SKU,
- categoria del prodotto,
- tipo di prodotto,
- peso,
- prezzo,
- attributi di prodotto selezionati,
- valore del carrello,
- quantità di prodotti,
- paese di consegna,
- regione,
- città,
- CAP,
- codice coupon,
- metodo di spedizione selezionato.
Vantaggi per il business
Riduzione delle perdite sulla spedizione
Non tutti gli ordini hanno lo stesso costo di gestione logistica. I prodotti voluminosi, delicati o che richiedono un imballaggio speciale generano spesso costi aggiuntivi. Kowal ShippingRules consente di aggiungere questi costi in modo controllato, invece di nasconderli nel margine o gestirli manualmente dopo l ordine.
Meno ordini errati
Se il cliente sceglie un metodo di consegna che non è adatto al prodotto, il negozio deve poi risolvere manualmente il problema. Il modulo limita queste situazioni perché può nascondere i metodi non disponibili già prima dell invio dell ordine.
Migliore comunicazione con il cliente
Invece di rimuovere un metodo senza spiegazioni, il negozio può mostrare un messaggio al cliente. Questo è particolarmente utile quando la limitazione deriva dalle caratteristiche del prodotto, dalla località o dai requisiti di trasporto.
Gestione degli ordini più rapida
Le regole automatiche riducono il numero di eccezioni gestite dal reparto vendite o dalla logistica. Se il negozio definisce chiaramente le regole di consegna nella fase del carrello, meno casi richiedono correzioni dopo l acquisto.
Un unico punto di gestione della spedizione
Metodi, restrizioni e costi aggiuntivi sono collegati tra loro. Gestirli in un unico modulo riduce il rischio di conflitti e facilita il controllo della configurazione.
Esempi di scenari di utilizzo
Negozio con prodotti di grandi dimensioni
Il negozio vende prodotti che non possono essere spediti con corriere standard o a un locker. L amministratore può contrassegnare tali prodotti con un attributo e quindi preparare una regola che nasconde il locker, mostra la consegna su pallet e aggiunge un costo per ingombro.
Effetto: il cliente vede subito il metodo di consegna corretto e il negozio non deve contattarlo dopo l acquisto per richiedere un supplemento.
Negozio con prodotti delicati
I prodotti che richiedono protezione aggiuntiva possono generare un costo di imballaggio. Il modulo consente di aggiungere il costo solo quando nel carrello è presente un prodotto che soddisfa la condizione.
Effetto: il negozio recupera il costo dell imballaggio e il cliente conosce il prezzo completo prima di inviare l ordine.
Negozio con consegna locale
Il negozio può rendere disponibile il metodo Dostawa lokalna solo per CAP o regioni selezionati. Per le altre località il metodo non sarà visibile.
Effetto: il cliente non sceglierà una consegna che il negozio non è in grado di effettuare.
Negozio B2B
Nelle vendite B2B il costo della consegna può dipendere dal gruppo di clienti, dal valore dell ordine, dalla regione o dal tipo di prodotti. Il modulo consente di preparare regole che rispondono meglio alla politica commerciale del negozio.
Effetto: il negozio può applicare regole diverse per diversi tipi di clienti senza mantenere più processi separati.
Negozio con consegna internazionale
Alcuni prodotti selezionati potrebbero non essere disponibili per la spedizione all estero. Il modulo consente di limitare i metodi di consegna per paesi specifici o condizioni di prodotto.
Effetto: il negozio riduce il rischio di ordini che non può evadere in conformità al regolamento o alle limitazioni del vettore.
Supplemento per un metodo di spedizione specifico
Se il metodo di consegna selezionato genera un costo di gestione aggiuntivo, è possibile collegargli un extra fee.
Effetto: il costo compare solo quando il cliente seleziona un metodo di spedizione specifico.
Esempi di regole configurabili
- Se il prodotto ha l attributo
gabaryt, nascondi il locker. - Se il peso del carrello supera il limite stabilito, mostra la consegna su pallet.
- Se il paese di consegna è fuori dalla Polonia, nascondi i metodi selezionati.
- Se nel carrello è presente un prodotto della categoria delicate, aggiungi un costo per l imballaggio.
- Se il valore del carrello è inferiore all importo stabilito, applica un costo logistico aggiuntivo.
- Se il cliente seleziona il trasporto speciale, aggiungi extra fee.
- Se il CAP non appartiene all area servita, nascondi la consegna locale.
- Se l ordine contiene un prodotto di un tipo specifico, mostra solo i metodi di consegna selezionati.
Come si lavora con il modulo?
L amministratore del negozio lavora nel pannello di Magento. Prima crea un metodo di spedizione, quindi assegna tariffe e condizioni. Se sono necessarie limitazioni, può aggiungere una restrizione per un metodo specifico o per un gruppo di metodi. Se l ordine deve includere un costo aggiuntivo, l amministratore crea una regola extra fee.
Processo di esempio:
- Crea il metodo Dostawa paletowa.
- Aggiungi una tariffa per il paese Polonia e per un peso superiore al limite definito.
- Aggiungi la condizione che il metodo riguarda prodotti con attributo
shipping_type = pallet. - Aggiungi una restrizione che nasconde il locker per gli stessi prodotti.
- Aggiungi extra fee per la gestione del trasporto speciale.
- Verifica il carrello di test e conferma che il cliente veda le opzioni corrette.
Confronto dell approccio
Configurazione standard di Magento
Magento standard consente di configurare i metodi di consegna di base, ma scenari più complessi richiedono estensioni aggiuntive o modifiche personalizzate.
Più moduli separati
Il negozio può utilizzare un modulo separato per le tariffe, uno separato per le restrizioni e uno separato per i costi. Il problema è mantenere la coerenza tra le configurazioni.
Kowal ShippingRules
Kowal ShippingRules concentra metodi, restrizioni ed extra fee in un unico modulo. In questo modo le regole di consegna sono più facili da comprendere, mantenere e testare.
Elementi che influenzano la SEO del negozio
Il modulo non è direttamente uno strumento SEO, ma può supportare indirettamente l esperienza di acquisto, importante per la conversione e la qualità del negozio:
- il cliente vede più rapidamente i costi reali di consegna,
- il checkout è più prevedibile,
- meno ordini richiedono correzioni dopo l acquisto,
- il negozio può comunicare chiaramente le limitazioni logistiche,
- le regole di consegna sono più coerenti con l offerta di prodotti.
Una migliore gestione della consegna può ridurre il numero di carrelli abbandonati dovuti a costi poco chiari o a metodi di spedizione non disponibili.
Kowal ShippingRules — guida all installazione, configurazione e utilizzo
Obiettivo del documento
Questo documento descrive l implementazione pratica e l utilizzo del modulo Kowal_ShippingRules in Magento 2. È destinato alle persone responsabili dell installazione del modulo, della configurazione del negozio, dei test di implementazione e della gestione quotidiana delle regole di spedizione.
Il documento comprende:
- installazione del modulo,
- configurazione di base,
- creazione dei metodi di spedizione,
- configurazione delle tariffe,
- gestione delle restrizioni dei metodi di consegna,
- gestione dei costi aggiuntivi Extra Fee,
- diagnostica,
- migrazione dai moduli Amasty,
- checklist dei test dopo l implementazione.
Informazioni di base
Nome tecnico del modulo:
Kowal_ShippingRulesPercorso del modulo:
app/code/Kowal/ShippingRulesCodice carrier:
kowal_shippingrulesIl codice del metodo di spedizione nel checkout ha il formato:
kowal_shippingrules_Esempio:
kowal_shippingrules_dostawa_paletowaRequisiti prima dell installazione
Prima dell installazione è necessario confermare:
- il negozio funziona su Magento 2.4.x,
- l ambiente utilizza PHP
>=8.1, - il modulo
Kowal_Baseè disponibile, - è stato eseguito il backup dei file e del database,
- l implementazione viene eseguita prima in ambiente di test o staging,
- dopo l installazione sarà possibile eseguire
setup:upgradeesetup:di:compile, - la persona che esegue i test ha accesso al pannello di amministrazione e al checkout.
Installazione del modulo
1. Carica il modulo
Il modulo deve trovarsi nella directory:
app/code/Kowal/ShippingRules2. Abilita il modulo
bin/magento module:enable Kowal_ShippingRulesSe Kowal_Base non è ancora abilitato, deve essere attivato prima oppure insieme al modulo:
bin/magento module:enable Kowal_Base Kowal_ShippingRules3. Aggiorna il database
bin/magento setup:upgradeQuesto comando crea le tabelle del modulo e aggiunge le colonne necessarie per la gestione di Extra Fee in quote, order, invoice e creditmemo.
4. Compila DI
In produzione:
bin/magento setup:di:compile5. Svuota la cache
bin/magento cache:flush6. Verifica lo stato del modulo
bin/magento module:status Kowal_ShippingRulesIl modulo dovrebbe apparire nell elenco dei moduli attivi.
Controllo dopo l installazione
Dopo l installazione esegui la diagnostica:
bin/magento kowal:shippingrules:stabilization:checkVariante completa in JSON:
bin/magento kowal:shippingrules:stabilization:check --jsonIl comando è read-only e non modifica i dati. Controlla tra l altro:
- la presenza delle tabelle del modulo,
- il numero di record,
- JSON delle condizioni errato,
- metodi attivi senza tariffe attive,
- regole Extra Fee con tax class quando la modalità fiscale è disattivata.
Se il comando restituisce errori, non si deve portare il modulo in produzione prima di averli chiariti.
Configurazione di base
Carrier
Percorso nel pannello Magento:
Stores / Configuration / Sales / Delivery Methods / Shipping Methods & RulesCampi:
Enabled— abilita o disabilita il carrierkowal_shippingrules.Title— nome del gruppo di metodi visibile nel checkout.Test Method Name— nome del metodo di test di configurazione.Test Method Price— prezzo del metodo di test di configurazione.Sort Order— ordine del carrier nell elenco dei metodi di consegna.Show Method If Not Applicable— se mostrare un errore quando non ci sono metodi disponibili.Displayed Error Message— messaggio quando il metodo non è disponibile.
Impostazione più importante:
carriers/kowal_shippingrules/active = 1Se il carrier è disabilitato, i metodi creati nel modulo non saranno disponibili nel checkout.
Diagnostica e funzioni di emergenza
Percorso nel pannello Magento:
Stores / Configuration / Sales / Shipping Methods & RulesSezione General Diagnostics:
Enable Debug Logging— salva i dettagli delle decisioni nel log.Shadow Mode— modalità predisposta per confrontare il comportamento durante la migrazione.
Sezione Restrictions:
Enable Restrictions— abilita o disabilita solo le restrizioni.
Sezione Extra Fees:
Enable Extra Fees— abilita o disabilita solo i costi aggiuntivi.Fee Tax Mode— determina il modo in cui viene gestita l imposta per Extra Fee.
Modalità fiscali disponibili:
Do Not Calculate Tax— il modulo non calcola l imposta su Extra Fee.Calculate by Fee Tax Class— il modulo calcola l imposta in base alla classe fiscale impostata nella regola fee.
Impostazioni predefinite e sicure:
kowal_shippingrules/general/debug = 0kowal_shippingrules/general/shadow_mode = 0kowal_shippingrules/restrictions/enabled = 1kowal_shippingrules/fees/enabled = 1kowal_shippingrules/fees/tax_mode = noneMenu del modulo nel pannello
Percorso:
Sales / Shipping Methods & RulesSezioni disponibili:
Shipping Methods— metodi di spedizione e tariffe,Shipping Restrictions— restrizioni dei metodi di consegna,Extra Fees— costi aggiuntivi.
Gestione dei metodi di spedizione
Quando creare un metodo di spedizione?
Un metodo di spedizione deve essere creato quando il negozio ha bisogno di una propria opzione di consegna, ad esempio:
- consegna su pallet,
- trasporto speciale,
- consegna locale,
- corriere per prodotti voluminosi,
- ritiro logistico,
- metodo disponibile solo per prodotti o regioni selezionati.
Creazione del metodo
Vai a:
Sales / Shipping Methods & Rules / Shipping MethodsQuindi seleziona Add New oppure modifica un metodo esistente.
Campi tipici del metodo:
Is Active— se il metodo è attivo.Code— codice tecnico del metodo.Name— nome visibile al cliente.Description— descrizione del metodo.Sort Order— ordine di visualizzazione.Store Views— visibilità per store view.Customer Groups— visibilità per gruppi di clienti.Conditions— condizioni di disponibilità del metodo.
Raccomandazioni per il campo Code:
- usa lettere minuscole,
- non usare caratteri polacchi,
- non usare spazi,
- usa underscore al posto degli spazi.
Esempi:
dostawa_paletowatransport_specjalnykurier_gabarytdostawa_lokalnaIl codice completo del metodo nel checkout avrà il prefisso del carrier:
kowal_shippingrules_dostawa_paletowaTariffe del metodo
Un metodo attivo dovrebbe avere almeno una tariffa attiva. Se il metodo non ha una tariffa corrispondente, non apparirà nel checkout.
La tariffa può dipendere da:
- paese,
- regione,
- CAP,
- valore del carrello,
- peso,
- quantità di prodotti,
- tipo di spedizione,
- priorità.
Modalità di prezzo:
fixed— prezzo fisso,percent_subtotal— percentuale del subtotale.
Esempi:
- prezzo di 29 zł per spedizioni fino a 30 kg,
- prezzo di 149 zł per consegna su pallet,
- 5% del valore del carrello per trasporto speciale,
- tariffa separata per CAP selezionati.
Condizioni del metodo
Le condizioni definiscono quando il metodo deve essere disponibile.
Esempi:
- metodo disponibile solo per prodotti di una categoria selezionata,
- metodo disponibile solo con un determinato attributo di prodotto,
- metodo disponibile solo per carrelli sopra un determinato valore,
- metodo disponibile solo per un paese di consegna selezionato.
Se le condizioni sono vuote, il metodo è limitato solo da stato, store view, customer group e tariffa corrispondente.
Gestione delle restrizioni dei metodi di consegna
Quando usare le restrizioni?
Le restrizioni servono a nascondere o bloccare i metodi di spedizione che non dovrebbero essere disponibili per un ordine specifico.
Esempi:
- nascondi il locker per prodotti voluminosi,
- blocca la spedizione internazionale per una categoria selezionata,
- mostra un messaggio che il trasporto espresso non è disponibile per prodotti su ordinazione,
- nascondi il metodo di consegna per un paese selezionato.
Creazione della restrizione
Vai a:
Sales / Shipping Methods & Rules / Shipping RestrictionsQuindi seleziona Add New oppure modifica una restrizione esistente.
Campi tipici:
Is Active— se la restrizione è attiva.Name— nome interno.Target Carrier— carrier a cui si applica la restrizione.Target Method— metodo a cui si applica la restrizione.Action— modalità di funzionamento.Message— messaggio per il cliente.Priority— priorità.Stop Processing— se interrompere l ulteriore verifica delle regole.Store Views— ambito store view.Customer Groups— ambito gruppi clienti.Conditions— condizioni di corrispondenza.
Azioni delle restrizioni
hide:
- il metodo verrà nascosto,
- il cliente non lo vedrà,
- utile per limitazioni evidenti, ad esempio locker per colli voluminosi.
error:
- il metodo verrà mostrato come non disponibile,
- il cliente vedrà un messaggio,
- utile quando vale la pena spiegare il motivo dell indisponibilità.
Priorità e Stop Processing
Le regole vengono controllate in base alla priorità. Una priorità più alta significa controllo anticipato.
Stop Processing = Yes significa che dopo la corrispondenza di questa restrizione il modulo non controllerà le restrizioni successive per quel metodo.
Raccomandazione:
- usa priorità più alte per regole più specifiche,
- usa priorità più basse per regole generali,
- abilita
Stop Processingse la regola deve determinare in modo definitivo la disponibilità del metodo.
Gestione di Extra Fee
Quando usare Extra Fee?
Extra Fee serve ad aggiungere costi supplementari all ordine.
Esempi:
- costo per imballaggio non standard,
- supplemento per trasporto voluminoso,
- costo per prodotti delicati,
- costo logistico per un metodo di consegna specifico,
- supplemento per regioni selezionate.
Creazione di Extra Fee
Vai a:
Sales / Shipping Methods & Rules / Extra FeesQuindi seleziona Add New oppure modifica un costo esistente.
Campi tipici:
Is Active— se il fee è attivo.Name— nome interno.Label— nome del costo visibile nei totals.Target Carrier— carrier a cui si applica il fee.Target Method— metodo a cui si applica il fee.Price Type— tipo di prezzo.Price— valore del costo.Apply Mode— modalità di applicazione.Tax Class ID— classe fiscale, se viene utilizzata la modalità fiscale.Priority— priorità.Stop Processing— se interrompere l ulteriore calcolo del fee.Store Views— ambito store view.Customer Groups— ambito gruppi clienti.Conditions— condizioni di applicazione.
Modalità di prezzo
fixed:
- importo fisso,
- ad esempio 19 zł per l imballaggio.
percent_subtotal:
- percentuale sul valore del carrello,
- ad esempio 3% del valore dell ordine.
Modalità di applicazione
cart:
- un solo costo per l intero carrello.
per_item:
- costo moltiplicato per la quantità di prodotti.
per_matching_item:
- costo applicato solo ai prodotti che soddisfano le condizioni.
Esempio:
Se il costo per la protezione speciale è di 5 zł e nel carrello ci sono 3 prodotti che soddisfano la condizione, la modalità per_matching_item addebiterà 15 zł.
Imposta Extra Fee
Per impostazione predefinita l imposta su Extra Fee non viene calcolata:
kowal_shippingrules/fees/tax_mode = nonePer calcolare l imposta:
- Imposta
Fee Tax ModesuCalculate by Fee Tax Class. - Compila
Tax Class IDnella regola Extra Fee. - Testa carrello, order, invoice e creditmemo.
L imposta Extra Fee dovrebbe essere verificata ogni volta con la configurazione fiscale del negozio specifico.
Gestione delle condizioni
Il modulo utilizza un generatore di condizioni simile alle regole di Magento.
Le condizioni possono riguardare tra l altro:
- attributi dei prodotti,
- SKU,
- categorie,
- tipo di prodotto,
- peso,
- prezzo,
- valore del carrello,
- quantità di prodotti,
- paese di consegna,
- regione,
- città,
- CAP,
- coupon,
- metodo di spedizione selezionato.
Esempio di condizione per un prodotto voluminoso
Premessa:
- il prodotto ha l attributo
shipping_type, - il valore per il formato pallet è
pallet.
Regola:
Jeżeli produkt w koszyku ma shipping_type = palletAzioni possibili:
- mostra il metodo
Dostawa paletowa, - nascondi il locker,
- aggiungi il fee
Transport gabarytowy.
Raccomandazioni per lavorare con le condizioni
- crea prima una regola semplice e testala nel carrello,
- evita troppe condizioni in una sola regola,
- descrivi le regole con nomi chiari,
- per le regole importanti usa attributi di prodotto univoci,
- dopo la modifica degli attributi dei prodotti testa di nuovo il carrello.
Diagnostica e logging
File di log dedicato:
var/log/kowal_shipping_rules.logIl debug può essere attivato in:
Stores / Configuration / Sales / Shipping Methods & Rules / General DiagnosticsAbilita:
Enable Debug Logging = YesRaccomandazioni:
- non lasciare il debug logging sempre attivo in produzione,
- attiva il debug solo per la durata della diagnosi,
- al termine dei test disattiva il debug,
- analizza i log insieme al carrello di test e alla configurazione delle regole.
Funzioni di emergenza
Se dopo l implementazione si verifica un problema, è possibile disattivare in modo indipendente:
L intero carrier
Stores / Configuration / Sales / Delivery Methods / Shipping Methods & Rules / Enabled = NoEffetto:
- i metodi del carrier
kowal_shippingrulesnon saranno disponibili.
Solo le restrizioni
Stores / Configuration / Sales / Shipping Methods & Rules / Restrictions / Enable Restrictions = NoEffetto:
- i metodi non saranno nascosti né bloccati dalle restrizioni.
Solo Extra Fee
Stores / Configuration / Sales / Shipping Methods & Rules / Extra Fees / Enable Extra Fees = NoEffetto:
- i costi aggiuntivi non saranno applicati.
Migrazione da Amasty
Obiettivo della migrazione
La migrazione da Amasty ha lo scopo di aiutare a trasferire la configurazione di restrizioni ed extra fee a Kowal_ShippingRules.
Il modulo Kowal non richiede Amasty per il normale funzionamento. Amasty può essere usato come fonte di dati migratori e come punto di riferimento durante i test.
Fonti di dati supportate
Il migratore analizza:
amasty_shiprestriction_ruleamasty_extrafeeamasty_extrafee_optionTabelle di destinazione:
kowal_shipping_restrictionkowal_shipping_feeRegole di sicurezza della migrazione
La migrazione è stata progettata con cautela:
- il report è read-only,
- il dry-run non salva dati,
- apply per impostazione predefinita funziona come preview,
- il salvataggio richiede l opzione esplicita
--execute, - vengono salvati solo i record con stato
ready, - i record
manual_revieweunsupportedvengono ignorati, - la migrazione è idempotente grazie ai campi
migration_sourceemigration_source_key, - la migrazione non disattiva Amasty,
- la migrazione non reindirizza automaticamente il traffico.
Passaggio 1 — report di base
Esegui:
bin/magento kowal:shippingrules:amasty:reportIl report verrà salvato in:
var/report/kowal_shippingrules_amasty_report.jsonIl report mostra la presenza e il numero di record delle tabelle Amasty e delle tabelle Kowal.
Passaggio 2 — dry-run della trasformazione
Esegui:
bin/magento kowal:shippingrules:amasty:report --dry-run --limit=100Il dry-run prepara un piano di trasformazione, ma non salva nulla.
Stati dei record:
ready— il record può essere trasferito automaticamente,manual_review— il record richiede un analisi manuale,unsupported— il record non è supportato dal migratore automatico.
Se il report contiene molti manual_review o unsupported, è necessario analizzare queste regole prima dell apply.
Passaggio 3 — preview apply
Esegui:
bin/magento kowal:shippingrules:amasty:apply --limit=100Anche questo non salva dati. Il comando mostra quanti record verrebbero creati, ignorati o terminati con errore.
Passaggio 4 — apply delle restrizioni
Dopo l approvazione della preview:
bin/magento kowal:shippingrules:amasty:apply --type=restrictions --limit=100 --executeIl comando salverà solo le restrizioni con stato ready.
Passaggio 5 — apply di Extra Fee
Dopo l approvazione della preview:
bin/magento kowal:shippingrules:amasty:apply --type=fees --limit=100 --executeIl comando salverà solo gli extra fees con stato ready.
Passaggio 6 — diagnostica dopo la migrazione
Esegui:
bin/magento kowal:shippingrules:stabilization:checkControlla anche il pannello:
Sales / Shipping Methods & Rules / Shipping RestrictionsSales / Shipping Methods & Rules / Extra FeesPassaggio 7 — test comparativi con Amasty
Prima di disattivare o sostituire la configurazione Amasty è necessario confrontare i risultati per i carrelli di test.
Carrelli consigliati:
- prodotto standard,
- prodotto voluminoso,
- prodotto delicato,
- più prodotti con condizioni diverse,
- ordine con diversi paesi di consegna,
- ordine con diversi CAP,
- ordine con coupon,
- ordine con un metodo selezionato soggetto a Extra Fee.
Per ogni carrello verifica:
- metodi di spedizione disponibili,
- metodi nascosti,
- messaggi di errore,
- extra fee applicati,
- importi lordi/netti, se viene utilizzata la tax fee,
- order,
- invoice,
- creditmemo.
Passaggio 8 — decisione sul passaggio
Solo dopo l approvazione dei risultati si può pianificare il passaggio della configurazione di produzione.
Raccomandazioni:
- non disattivare Amasty senza backup,
- non rimuovere subito i dati di Amasty dopo la migrazione,
- prima disattiva il funzionamento lato configurazione,
- mantieni la possibilità di rollback,
- prepara un elenco di regole che richiedono correzione manuale.
Rollback dopo la migrazione
Se si verifica un problema:
- Disattiva il carrier
Kowal ShippingRules. - Disattiva
Enable Restrictions. - Disattiva
Enable Extra Fees. - Ripristina la configurazione Amasty precedente.
- Controlla il checkout.
- Conserva i report di migrazione per l analisi.
Checklist dopo l implementazione
Tecnica
module:statusmostraKowal_ShippingRulescome attivo,setup:upgradeè terminato senza errori,setup:di:compileè terminato senza errori,cache:flusheseguito,stabilization:checknon restituisce errori,- il pannello di amministrazione mostra il menu
Shipping Methods & Rules, - il file di log viene scritto con debug attivo.
Di configurazione
- il carrier è abilitato,
- è stato creato almeno un metodo di spedizione,
- il metodo attivo ha una tariffa attiva,
- le store views sono impostate correttamente,
- i customer groups sono impostati correttamente,
- le restrizioni sono abilitate oppure consapevolmente disabilitate,
- gli extra fees sono abilitati oppure consapevolmente disabilitati,
- la tax mode è coerente con la configurazione fiscale del negozio.
Checkout
- il metodo appare per un carrello che soddisfa le condizioni,
- il metodo non appare quando manca una tariffa corrispondente,
- la restrizione
hidenasconde il metodo, - la restrizione
errormostra un messaggio, - extra fee appare nei totals dopo la selezione del metodo,
- la modifica del metodo di spedizione ricalcola il fee,
- order contiene gli importi fee,
- invoice contiene gli importi fee,
- creditmemo rimborsa correttamente il fee.
Problemi più comuni
Il metodo non appare nel checkout
Controlla:
- se il carrier è abilitato,
- se il metodo è attivo,
- se il metodo ha una tariffa attiva,
- se la tariffa corrisponde a paese, regione, CAP, peso e subtotale,
- se la store view è corretta,
- se il customer group è corretto,
- se le condizioni del metodo sono soddisfatte,
- se una restrizione non nasconde il metodo.
Extra Fee non viene applicato
Controlla:
- se
Enable Extra Fees = Yes, - se il fee è attivo,
- se target carrier e target method sono corretti,
- se le condizioni fee sono soddisfatte,
- se è stato selezionato il metodo di spedizione,
- se il prezzo fee è maggiore di zero,
- se
Stop Processingdi una regola precedente non ha interrotto l ulteriore calcolo.
La restrizione non funziona
Controlla:
- se
Enable Restrictions = Yes, - se la restrizione è attiva,
- se target carrier e target method sono corretti,
- se le condizioni della restrizione sono soddisfatte,
- se la priorità della regola è corretta,
- se un altra regola con
Stop Processingnon termina l elaborazione prima.
L imposta Extra Fee non viene calcolata
Controlla:
- se
Fee Tax Mode = Calculate by Fee Tax Class, - se la regola fee ha impostato
Tax Class ID, - se la configurazione fiscale di Magento restituisce un aliquota fiscale per l indirizzo,
- se il carrello ha un indirizzo di consegna,
- se il fee è effettivamente applicato.
Buone pratiche
- Configura prima regole semplici, poi aggiungi ulteriori condizioni.
- Per ogni regola importante prepara un carrello di test.
- Usa nomi chiari per metodi, restrizioni e fee.
- Evita più regole molto simili con la stessa priorità.
- Documenta il motivo della creazione di una restrizione o di un fee nel nome.
- Dopo aver modificato gli attributi dei prodotti esegui un test del checkout.
- Attiva il debug logging solo per la durata della diagnosi.
- Esegui la migrazione da Amasty per fasi: report, dry-run, preview, execute, QA.
Documenti correlati
README.md— descrizione tecnica del modulo per sviluppatori.docs/WDROZENIE.md— documentazione dettagliata di implementazione e architettura.docs/OPIS_MARKETINGOWY.md— descrizione marketing del modulo.


















