Kowal Shipping Rules - extensie Magento 2 pentru metode de livrare, restricții de livrare și taxe suplimentare.
Livrarea într-un magazin online este rareori simplă. Configurațiile standard Magento funcționează bine în scenarii simple, dar devin rapid insuficiente atunci când magazinul vinde produse cu dimensiuni, greutăți, cerințe de transport sau costuri de manipulare diferite. În practică, asta înseamnă nevoia de a ascunde anumite metode de livrare, de a adăuga taxe pentru ambalare, de a aplica excepții pentru produse specifice și de a crea reguli dependente de țară, valoarea coșului sau atributele produsului.
Kowal ShippingRules a fost creat pentru a gestiona astfel de reguli într-un singur modul. Extensia reunește trei domenii care sunt adesea împărțite între mai multe extensii separate: metode de livrare, restricții ale metodelor de livrare și extra fee. Astfel, magazinul poate gestiona logica livrării într-un mod mai ordonat și mai previzibil.
Modulul permite crearea propriilor metode de livrare în Magento 2, atribuirea tarifelor acestora, definirea momentului în care metoda trebuie să fie vizibilă, blocarea opțiunilor de livrare indisponibile și adăugarea taxelor suplimentare doar atunci când sunt justificate de condițiile comenzii. Regulile se pot baza pe datele din coș, adresa de livrare, metoda de livrare selectată și atributele produselor.
Cea mai mare valoare a modulului este controlul. Administratorul magazinului poate defini reguli care vor adapta automat metodele de livrare disponibile și taxele la o anumită comandă. Clientul vede opțiuni de livrare mai potrivite, iar echipa magazinului reduce numărul de corecții manuale după plasarea comenzii.
Problema pe care o rezolvă modulul
În multe magazine Magento 2, costul și disponibilitatea livrării depind de mai mulți factori decât simpla valoare a coșului. Produsele pot diferi prin greutate, dimensiune, mod de ambalare, categorie, tip de transport sau risc de deteriorare. În plus, magazinul poate avea reguli diferite pentru anumite țări, regiuni, coduri poștale, grupuri de clienți sau metode de livrare.
Fără reguli dedicate apar probleme tipice:
- clientul alege un locker pentru un produs care nu încape în el,
- magazinul suportă costuri suplimentare pentru expedierea produselor grele sau voluminoase,
- echipa trebuie să contacteze clientul după plasarea comenzii,
- unele reguli sunt menținute manual în afara Magento,
- taxele logistice nu sunt vizibile în coș înainte de achiziție,
- metodele de livrare sunt vizibile deși nu ar trebui să fie disponibile,
- regulile de livrare sunt dispersate între mai multe module și sunt dificil de întreținut.
Kowal ShippingRules organizează aceste situații. Modulul permite mutarea regulilor logistice în panoul Magento și aplicarea lor automată în timpul alegerii livrării.
Ce diferențiază Kowal ShippingRules?
Un singur modul în locul mai multor extensii separate
Kowal ShippingRules combină gestionarea metodelor de livrare, a restricțiilor și a taxelor suplimentare. Astfel, magazinul nu trebuie să întrețină un modul separat pentru tabele de tarife, un alt modul pentru blocarea metodelor de livrare și încă un modul pentru extra fee.
Reguli bazate pe datele comenzii
Deciziile pot depinde de conținutul coșului, atributele produselor, valoarea comenzii, greutatea, cantitatea de produse, locația livrării și metoda de livrare selectată. Acest lucru permite construirea unor scenarii logistice reale, nu doar tarife simple în funcție de țară sau greutate.
Mai multă transparență pentru client
Clientul vede metode de livrare adaptate comenzii. Dacă o metodă nu este disponibilă, magazinul o poate ascunde sau poate afișa un mesaj cu motivul indisponibilității. Acest lucru reduce numărul neînțelegerilor la finalizarea achiziției.
Control mai bun al costurilor operaționale
Taxele suplimentare pot fi aplicate doar în cazuri selectate: pentru produse voluminoase, fragile, care necesită ambalare specială sau pentru anumite metode de livrare. Astfel, magazinul poate recupera costurile logistice care anterior erau ascunse în marjă.
Pregătire pentru migrarea de la Amasty
Modulul a fost proiectat ca o soluție independentă, dar ia în considerare scenariul de tranziție de la modulele Amasty utilizate pentru livrare, restricții și extra fee. Astfel, poate fi folosit ca direcție de consolidare a configurației de livrare într-un singur modul.
Pentru cine este acest modul?
Kowal ShippingRules este destinat magazinelor Magento 2 care au nevoie de mai multă flexibilitate în gestionarea livrării decât oferă configurația standard Magento.
Modulul va fi deosebit de util pentru magazinele care:
- vând produse grele, fragile, lungi, casante sau supradimensionate,
- au reguli de livrare diferite pentru categorii diferite de produse,
- au nevoie să ascundă metodele de livrare indisponibile,
- adaugă taxe pentru ambalare, transport special sau manipulare logistică,
- doresc să creeze propriile metode de livrare fără muncă de dezvoltare de fiecare dată,
- folosesc reguli dependente de atributele produselor,
- vor să limiteze gestionarea manuală a excepțiilor după plasarea comenzii,
- intenționează să organizeze sau să înlocuiască mai multe module responsabile de livrare.
Cele mai importante posibilități
Crearea propriilor metode de livrare
Modulul permite crearea de metode de livrare gestionate direct din panoul Magento. Fiecare metodă poate avea propriul nume, cod, descriere, ordine de sortare, status de activitate și condiții de disponibilitate.
Exemple:
- Dostava paletowa pentru produse grele,
- Transport special pentru produse care necesită protecție,
- Curier pentru produse voluminoase pentru categorii selectate,
- Livrare locală pentru coduri poștale selectate,
- Ridicare logistică pentru comenzi нестandard.
Tarife de livrare dependente de condiții
Metodelor li se pot atribui tarife dependente de parametrii comenzii. Tarifele pot fi filtrate, printre altele, după țară, regiune, cod poștal, subtotal, greutate, cantitatea de produse și tipul de livrare.
Exemple:
- preț de livrare diferit pentru comenzi peste o anumită greutate,
- tarif separat pentru țări selectate,
- preț dependent de valoarea coșului,
- tarife diferite pentru produse standard și voluminoase,
- prioritatea tarifelor atunci când se potrivesc mai multe reguli simultan.
Restricții ale metodelor de livrare
Kowal ShippingRules permite limitarea disponibilității metodelor de livrare. Regula poate ascunde metoda sau poate afișa clientului un mesaj că forma respectivă de livrare nu este disponibilă pentru această comandă.
Exemple:
- ascunderea lockerului pentru produse prea mari,
- blocarea livrării internaționale pentru produse selectate,
- ascunderea metodei expres pentru comenzi cu produse care necesită completare,
- afișarea mesajului: Ta metoda de livrare nu este disponibilă pentru produse voluminoase.
Extra Fee, adică taxe suplimentare
Modulul permite calcularea taxelor suplimentare pe baza regulilor. Extra fee poate fi calculată pentru întregul coș, pentru fiecare bucată de produs sau pentru produsele care îndeplinesc condiții specifice.
Exemple:
- taxă pentru ambalare nestandard,
- taxă pentru transport voluminos,
- suprataxă pentru produse care necesită protecție suplimentară,
- taxă logistică pentru o metodă de livrare specifică,
- suprataxă pentru comenzi către regiuni selectate.
Condiții similare regulilor Magento
Kowal ShippingRules folosește generatorul de condiții cunoscut din Magento. Pentru persoanele care administrează magazinul, acest lucru înseamnă un mod de lucru similar cu configurarea promoțiilor din coș: alege condiția, operatorul și valoarea.
Condițiile pot viza:
- SKU,
- categoria produsului,
- tipul produsului,
- greutatea,
- prețul,
- atributele selectate ale produselor,
- valoarea coșului,
- cantitatea de produse,
- țara de livrare,
- regiunea,
- orașul,
- codul poștal,
- codul cuponului,
- metoda de livrare selectată.
Beneficii de business
Reducerea pierderilor la livrare
Nu toate comenzile costă la fel din punctul de vedere al manipulării logistice. Produsele voluminoase, fragile sau care necesită ambalare specială generează adesea costuri suplimentare. Kowal ShippingRules permite adăugarea acestor costuri într-un mod controlat, în loc să fie ascunse în marjă sau gestionate manual după comandă.
Mai puține comenzi eronate
Dacă clientul alege o metodă de livrare care nu se potrivește produsului, magazinul trebuie ulterior să rezolve problema manual. Modulul limitează astfel de situații, deoarece poate ascunde metodele indisponibile chiar înainte de plasarea comenzii.
Comunicare mai bună cu clientul
În loc să elimine metoda fără explicații, magazinul poate afișa clientului un mesaj. Acest lucru este util în special atunci când limitarea rezultă din caracteristicile produsului, locație sau cerințe de transport.
Procesare mai rapidă a comenzilor
Regulile automate reduc numărul de excepții gestionate de departamentul de vânzări sau logistică. Dacă magazinul definește clar regulile de livrare în etapa coșului, mai puține cazuri necesită corectare după achiziție.
Un singur loc pentru gestionarea livrării
Metodele, restricțiile și taxele suplimentare sunt corelate între ele. Menținerea lor într-un singur modul reduce riscul conflictelor și facilitează controlul configurației.
Exemple de scenarii de utilizare
Magazin cu produse supradimensionate
Magazinul vinde produse care nu pot fi expediate prin curier standard sau către un locker. Administratorul poate marca astfel de produse cu un atribut, iar apoi poate pregăti o regulă care va ascunde lockerul, va afișa livrarea pe palet și va adăuga o taxă pentru gabarit.
Efect: clientul vede imediat metoda corectă de livrare, iar magazinul nu trebuie să îl contacteze după achiziție pentru o plată suplimentară.
Magazin cu produse fragile
Produsele care necesită protecție suplimentară pot genera un cost de ambalare. Modulul permite adăugarea taxei doar atunci când în coș se află un produs care îndeplinește condiția.
Efect: magazinul recuperează costul ambalajului, iar clientul cunoaște prețul complet înainte de plasarea comenzii.
Magazin cu livrare locală
Magazinul poate pune la dispoziție metoda Livrare locală doar pentru coduri poștale sau regiuni selectate. Pentru celelalte locații, metoda nu va fi vizibilă.
Efect: clientul nu va selecta o livrare pe care magazinul nu o poate realiza.
Magazin B2B
În vânzările B2B, costul livrării poate depinde de grupul de clienți, valoarea comenzii, regiune sau tipul produselor. Modulul permite pregătirea unor reguli care corespund mai bine politicii comerciale a magazinului.
Efect: magazinul poate aplica reguli diferite pentru tipuri diferite de clienți fără a menține mai multe procese separate.
Magazin cu livrare internațională
Anumite produse pot să nu fie disponibile pentru livrare internațională. Modulul permite limitarea metodelor de livrare pentru anumite țări sau condiții legate de produse.
Efect: magazinul reduce riscul comenzilor pe care nu le poate realiza conform regulamentului sau limitărilor transportatorului.
Suprataxă pentru o anumită metodă de livrare
Dacă metoda de livrare selectată generează un cost suplimentar de manipulare, se poate asocia cu ea extra fee.
Efect: taxa apare doar atunci când clientul alege o anumită metodă de livrare.
Exemple de reguli care pot fi configurate
- Dacă produsul are atributul
gabaryt, ascunde lockerul. - Dacă greutatea coșului depășește limita stabilită, afișează livrarea pe palet.
- Dacă țara de livrare este în afara Poloniei, ascunde metodele selectate.
- Dacă în coș există un produs din categoria delicate, adaugă taxa de ambalare.
- Dacă valoarea coșului este sub suma stabilită, aplică o taxă logistică suplimentară.
- Dacă clientul alege transport special, adaugă extra fee.
- Dacă codul poștal nu aparține zonei deservite, ascunde livrarea locală.
- Dacă comanda conține un produs de un anumit tip, afișează doar metodele de livrare selectate.
Cum arată lucrul cu modulul?
Administratorul magazinului lucrează în panoul Magento. Mai întâi creează metoda de livrare, apoi îi atribuie tarife și condiții. Dacă sunt necesare limitări, poate adăuga o restricție pentru o anumită metodă sau un grup de metode. Dacă comanda ar trebui să includă o taxă suplimentară, administratorul creează o regulă extra fee.
Proces exemplu:
- Creează metoda Livrare pe palet.
- Adaugă un tarif pentru țara Polonia și greutate peste limita stabilită.
- Adaugă condiția că metoda se aplică produselor cu atributul
shipping_type = pallet. - Adaugă o restricție care ascunde lockerul pentru aceleași produse.
- Adaugă extra fee pentru manipularea transportului special.
- Verifică un coș de test și confirmă că clientul vede opțiunile corecte.
Compararea abordării
Configurația standard Magento
Magento standard permite configurarea metodelor de livrare de bază, dar scenariile mai complexe necesită extensii suplimentare sau modificări individuale.
Mai multe module separate
Magazinul poate folosi un modul separat pentru tarife, unul pentru restricții și unul pentru taxe. Problema este atunci menținerea coerenței între configurații.
Kowal ShippingRules
Kowal ShippingRules concentrează metodele, restricțiile și extra fee într-un singur modul. Astfel, regulile de livrare sunt mai ușor de înțeles, întreținut și testat.
Elemente care influențează SEO-ul magazinului
Modulul nu este direct un instrument SEO, dar poate sprijini indirect experiența de cumpărare, care contează pentru conversie și calitatea magazinului:
- clientul vede mai rapid costurile reale de livrare,
- checkoutul este mai previzibil,
- mai puține comenzi necesită corecții după achiziție,
- magazinul poate comunica clar limitările logistice,
- regulile de livrare sunt mai coerente cu oferta de produse.
O gestionare mai bună a livrării poate reduce numărul de coșuri abandonate cauzate de costuri neclare sau de metode de livrare indisponibile.
Kowal ShippingRules — ghid de instalare, configurare și utilizare
Scopul documentului
Acest document descrie implementarea practică și utilizarea modulului Kowal_ShippingRules în Magento 2. Este destinat persoanelor responsabile pentru instalarea modulului, configurarea magazinului, testele de implementare și administrarea zilnică a regulilor de livrare.
Documentul include:
- instalarea modulului,
- configurarea de bază,
- crearea metodelor de livrare,
- configurarea tarifelor,
- gestionarea restricțiilor metodelor de livrare,
- gestionarea taxelor suplimentare Extra Fee,
- diagnosticare,
- migrarea din modulele Amasty,
- checklistul testelor după implementare.
Informații de bază
Numele tehnic al modulului:
Kowal_ShippingRulesLocația modulului:
app/code/Kowal/ShippingRulesCodul carrierului:
kowal_shippingrulesCodul metodei de livrare în checkout are formatul:
kowal_shippingrules_Exemplu:
kowal_shippingrules_dostawa_paletowaCerințe înainte de instalare
Înainte de instalare trebuie confirmat:
- magazinul rulează pe Magento 2.4.x,
- mediul folosește PHP
>=8.1, - modulul
Kowal_Baseeste disponibil, - a fost efectuat un backup al fișierelor și bazei de date,
- implementarea se realizează mai întâi pe un mediu de test sau staging,
- după instalare va exista posibilitatea de a rula
setup:upgradeșisetup:di:compile, - persoana care testează are acces la panoul de administrare și la checkout.
Instalarea modulului
1. Încarcă modulul
Modulul trebuie să se afle în directorul:
app/code/Kowal/ShippingRules2. Activează modulul
bin/magento module:enable Kowal_ShippingRulesDacă Kowal_Base nu este încă activat, trebuie activat mai devreme sau împreună cu modulul:
bin/magento module:enable Kowal_Base Kowal_ShippingRules3. Actualizează baza de date
bin/magento setup:upgradeAceastă comandă creează tabelele modulului și adaugă coloanele necesare pentru gestionarea Extra Fee în quote, order, invoice și creditmemo.
4. Compilează DI
În producție:
bin/magento setup:di:compile5. Golește cache-ul
bin/magento cache:flush6. Verifică statusul modulului
bin/magento module:status Kowal_ShippingRulesModulul trebuie să se afle pe lista modulelor active.
Verificare după instalare
După instalare rulează diagnosticul:
bin/magento kowal:shippingrules:stabilization:checkVarianta completă în JSON:
bin/magento kowal:shippingrules:stabilization:check --jsonComanda este read-only și nu modifică datele. Verifică, printre altele:
- prezența tabelelor modulului,
- numărul de înregistrări,
- JSON incorect în condiții,
- metode active fără tarife active,
- reguli Extra Fee cu tax class la tax mode dezactivat.
Dacă această comandă returnează erori, modulul nu trebuie trecut în utilizare de producție înainte de clarificarea acestora.
Configurare de bază
Carrier
Calea în panoul Magento:
Stores / Configuration / Sales / Delivery Methods / Shipping Methods & RulesCâmpuri:
Enabled— activează sau dezactivează carrierulkowal_shippingrules.Title— numele grupului de metode vizibil în checkout.Test Method Name— numele metodei de test din configurație.Test Method Price— prețul metodei de test din configurație.Sort Order— ordinea carrierului în lista metodelor de livrare.Show Method If Not Applicable— dacă să afișeze eroarea când nu există metode disponibile.Displayed Error Message— mesajul atunci când metoda nu este disponibilă.
Cea mai importantă setare:
carriers/kowal_shippingrules/active = 1Dacă carrierul este dezactivat, metodele create în modul nu vor fi disponibile în checkout.
Diagnosticare și funcții de urgență
Calea în panoul Magento:
Stores / Configuration / Sales / Shipping Methods & RulesSecțiunea General Diagnostics:
Enable Debug Logging— salvează detalii despre decizii în log.Shadow Mode— mod pregătit pentru compararea comportamentului în timpul migrării.
Secțiunea Restrictions:
Enable Restrictions— activează sau dezactivează doar restricțiile.
Secțiunea Extra Fees:
Enable Extra Fees— activează sau dezactivează doar taxele suplimentare.Fee Tax Mode— definește modul de gestionare a taxei pentru Extra Fee.
Moduri de taxă disponibile:
Do Not Calculate Tax— modulul nu calculează taxa pentru Extra Fee.Calculate by Fee Tax Class— modulul calculează taxa conform clasei de taxă setate în regula fee.
Setări implicite și sigure:
kowal_shippingrules/general/debug = 0kowal_shippingrules/general/shadow_mode = 0kowal_shippingrules/restrictions/enabled = 1kowal_shippingrules/fees/enabled = 1kowal_shippingrules/fees/tax_mode = noneMeniul modulului în panou
Cale:
Sales / Shipping Methods & RulesSecțiuni disponibile:
Shipping Methods— metode de livrare și tarife,Shipping Restrictions— restricții ale metodelor de livrare,Extra Fees— taxe suplimentare.
Gestionarea metodelor de livrare
Când se creează o metodă de livrare?
Metoda de livrare trebuie creată atunci când magazinul are nevoie de o opțiune proprie de livrare, de exemplu:
- livrare pe palet,
- transport special,
- livrare locală,
- curier pentru produse voluminoase,
- ridicare logistică,
- metodă disponibilă doar pentru produse sau regiuni selectate.
Crearea metodei
Accesează:
Sales / Shipping Methods & Rules / Shipping MethodsApoi selectează Add New sau editează o metodă existentă.
Câmpuri tipice ale metodei:
Is Active— dacă metoda este activă.Code— codul tehnic al metodei.Name— numele vizibil pentru client.Description— descrierea metodei.Sort Order— ordinea de afișare.Store Views— vizibilitate pentru store view.Customer Groups— vizibilitate pentru grupurile de clienți.Conditions— condițiile de disponibilitate ale metodei.
Recomandări pentru câmpul Code:
- folosește litere mici,
- nu folosi diacritice poloneze,
- nu folosi spații,
- folosește underscore în loc de spații.
Exemple:
dostawa_paletowatransport_specjalnykurier_gabarytdostawa_lokalnaCodul complet al metodei în checkout va avea prefixul carrierului:
kowal_shippingrules_dostawa_paletowaTarifele metodei
O metodă activă trebuie să aibă cel puțin un tarif activ. Dacă metoda nu are un tarif potrivit, nu va apărea în checkout.
Tariful poate depinde de:
- țară,
- regiune,
- cod poștal,
- valoarea coșului,
- greutate,
- cantitatea de produse,
- tipul de livrare,
- prioritate.
Moduri de preț:
fixed— preț fix,percent_subtotal— procent din subtotal.
Exemple:
- preț de 29 zł pentru expedieri de până la 30 kg,
- preț de 149 zł pentru livrare pe palet,
- 5% din valoarea coșului pentru transport special,
- tarif separat pentru coduri poștale selectate.
Condițiile metodei
Condițiile stabilesc când metoda trebuie să fie disponibilă.
Exemple:
- metoda disponibilă doar pentru produse din categoria selectată,
- metoda disponibilă doar pentru un anumit atribut al produsului,
- metoda disponibilă doar pentru un coș peste o anumită valoare,
- metoda disponibilă doar pentru țara de livrare selectată.
Dacă condițiile sunt goale, metoda este limitată doar de status, store view, customer group și un tarif compatibil.
Gestionarea restricțiilor metodelor de livrare
Când se folosesc restricțiile?
Restricțiile sunt folosite pentru a ascunde sau bloca metodele de livrare care nu ar trebui să fie disponibile pentru o anumită comandă.
Exemple:
- ascunde lockerul pentru produse voluminoase,
- blochează livrarea internațională pentru o categorie selectată,
- afișează mesajul că transportul expres nu este disponibil pentru produse la comandă,
- ascunde metoda de livrare pentru o țară selectată.
Crearea unei restricții
Accesează:
Sales / Shipping Methods & Rules / Shipping RestrictionsApoi selectează Add New sau editează o restricție existentă.
Câmpuri tipice:
Is Active— dacă restricția funcționează.Name— nume intern.Target Carrier— carrierul la care se aplică restricția.Target Method— metoda la care se aplică restricția.Action— modul de acțiune.Message— mesajul pentru client.Priority— prioritate.Stop Processing— dacă se oprește verificarea ulterioară a regulilor.Store Views— domeniul store view.Customer Groups— domeniul grupurilor de clienți.Conditions— condițiile de potrivire.
Acțiuni ale restricției
hide:
- metoda va fi ascunsă,
- clientul nu o va vedea,
- bună pentru limitări evidente, de exemplu locker pentru gabarit.
error:
- metoda va fi afișată ca indisponibilă,
- clientul va vedea un mesaj,
- bună atunci când merită explicat motivul indisponibilității.
Prioritate și Stop Processing
Regulile sunt verificate în funcție de prioritate. O prioritate mai mare înseamnă verificare mai devreme.
Stop Processing = Yes înseamnă că după potrivirea acestei restricții, modulul nu mai verifică restricțiile următoare pentru această metodă.
Recomandare:
- folosește priorități mai mari pentru reguli mai detaliate,
- folosește priorități mai mici pentru reguli generale,
- activează
Stop Processingdacă regula trebuie să decidă definitiv disponibilitatea metodei.
Gestionarea Extra Fee
Când se folosește Extra Fee?
Extra Fee este folosită pentru a adăuga taxe suplimentare la comandă.
Exemple:
- taxă pentru ambalare nestandard,
- suprataxă pentru transport voluminos,
- taxă pentru produse fragile,
- taxă logistică pentru o anumită metodă de livrare,
- suprataxă pentru regiuni selectate.
Crearea Extra Fee
Accesează:
Sales / Shipping Methods & Rules / Extra FeesApoi selectează Add New sau editează o taxă existentă.
Câmpuri tipice:
Is Active— dacă fee este activă.Name— nume intern.Label— denumirea taxei vizibilă în totals.Target Carrier— carrierul la care se aplică fee.Target Method— metoda la care se aplică fee.Price Type— tipul prețului.Price— valoarea taxei.Apply Mode— modul de calcul.Tax Class ID— clasa de taxă, dacă este folosit tax mode.Priority— prioritate.Stop Processing— dacă se oprește calcularea ulterioară a fee.Store Views— domeniul store view.Customer Groups— domeniul grupurilor de clienți.Conditions— condițiile de aplicare.
Moduri de preț
fixed:
- sumă fixă,
- de exemplu 19 zł pentru ambalare.
percent_subtotal:
- procent din valoarea coșului,
- de exemplu 3% din valoarea comenzii.
Moduri de calcul
cart:
- o singură taxă pentru întregul coș.
per_item:
- taxa se înmulțește cu numărul de produse.
per_matching_item:
- taxa se aplică doar produselor care îndeplinesc condițiile.
Exemplu:
Dacă taxa pentru protecție specială este 5 zł, iar în coș există 3 produse care îndeplinesc condiția, modul per_matching_item va calcula 15 zł.
Taxa pentru Extra Fee
În mod implicit, taxa pentru Extra Fee nu este calculată:
kowal_shippingrules/fees/tax_mode = nonePentru a calcula taxa:
- Setează
Fee Tax ModelaCalculate by Fee Tax Class. - Completează
Tax Class IDîn regula Extra Fee. - Testează coșul, order, invoice și creditmemo.
Taxa pentru Extra Fee trebuie verificată de fiecare dată în raport cu configurația fiscală a magazinului respectiv.
Gestionarea condițiilor
Modulul folosește un generator de condiții similar regulilor Magento.
Condițiile pot privi, printre altele:
- atributele produselor,
- SKU,
- categoriile,
- tipul produsului,
- greutatea,
- prețul,
- valoarea coșului,
- cantitatea de produse,
- țara de livrare,
- regiunea,
- orașul,
- codul poștal,
- cuponul,
- metoda de livrare selectată.
Exemplu de condiție pentru un produs voluminos
Presupunere:
- produsul are atributul
shipping_type, - valoarea pentru gabarit este
pallet.
Regulă:
Jeżeli produkt w koszyku ma shipping_type = palletAcțiuni posibile:
- afișează metoda
Dostawa paletowa, - ascunde lockerul,
- adaugă fee
Transport gabarytowy.
Recomandări pentru lucrul cu condițiile
- creează mai întâi o regulă simplă și testeaz-o în coș,
- evită prea multe condiții într-o singură regulă,
- denumește regulile cu nume clare,
- pentru regulile importante folosește atribute de produs fără ambiguități,
- după schimbarea atributelor produselor, testează din nou coșul.
Diagnosticare și logare
Fișier de log dedicat:
var/log/kowal_shipping_rules.logDebug poate fi activat în:
Stores / Configuration / Sales / Shipping Methods & Rules / General DiagnosticsActivează:
Enable Debug Logging = YesRecomandări:
- nu lăsa debug logging activ permanent în producție,
- activează debug doar pentru perioada de diagnosticare,
- după finalizarea testelor dezactivează debug,
- analizează logurile împreună cu coșul de test și configurația regulilor.
Funcții de urgență
Dacă după implementare apare o problemă, se poate dezactiva independent:
Întregul carrier
Stores / Configuration / Sales / Delivery Methods / Shipping Methods & Rules / Enabled = NoEfect:
- metodele din carrierul
kowal_shippingrulesnu vor fi disponibile.
Doar restricțiile
Stores / Configuration / Sales / Shipping Methods & Rules / Restrictions / Enable Restrictions = NoEfect:
- metodele nu vor fi ascunse sau blocate de restricții.
Doar Extra Fee
Stores / Configuration / Sales / Shipping Methods & Rules / Extra Fees / Enable Extra Fees = NoEfect:
- taxele suplimentare nu vor fi calculate.
Migrare de la Amasty
Scopul migrării
Migrarea de la Amasty are rolul de a ajuta la transferul configurației restricțiilor și extra fee către Kowal_ShippingRules.
Modulul Kowal nu necesită Amasty pentru funcționarea normală. Amasty poate fi folosit ca sursă de date de migrare și punct de referință în timpul testelor.
Surse de date suportate
Migratorul analizează:
amasty_shiprestriction_ruleamasty_extrafeeamasty_extrafee_optionTabele țintă:
kowal_shipping_restrictionkowal_shipping_feeReguli de siguranță pentru migrare
Migrarea a fost proiectată cu prudență:
- raportul este read-only,
- dry-run nu salvează date,
- apply funcționează implicit ca preview,
- salvarea necesită opțiunea explicită
--execute, - sunt salvate doar înregistrările cu statusul
ready, - înregistrările
manual_reviewșiunsupportedsunt omise, - migrarea este idempotentă datorită câmpurilor
migration_sourceșimigration_source_key, - migrarea nu dezactivează Amasty,
- migrarea nu comută automat traficul.
Pasul 1 — raport de bază
Rulează:
bin/magento kowal:shippingrules:amasty:reportRaportul va fi salvat în:
var/report/kowal_shippingrules_amasty_report.jsonRaportul arată prezența și numărul de înregistrări din tabelele Amasty și din tabelele Kowal.
Pasul 2 — dry-run al transformării
Rulează:
bin/magento kowal:shippingrules:amasty:report --dry-run --limit=100Dry-run pregătește planul de transformare, dar nu salvează nimic.
Statusuri ale înregistrărilor:
ready— înregistrarea poate fi transferată automat,manual_review— înregistrarea necesită analiză manuală,unsupported— înregistrarea nu este suportată de migratorul automat.
Dacă raportul conține multe manual_review sau unsupported, aceste reguli trebuie analizate înainte de apply.
Pasul 3 — preview apply
Rulează:
bin/magento kowal:shippingrules:amasty:apply --limit=100Acest lucru tot nu salvează date. Comanda arată câte înregistrări ar fi create, omise sau s-ar încheia cu eroare.
Pasul 4 — apply pentru restricții
După acceptarea previewului:
bin/magento kowal:shippingrules:amasty:apply --type=restrictions --limit=100 --executeComanda va salva doar restricțiile cu statusul ready.
Pasul 5 — apply pentru Extra Fee
După acceptarea previewului:
bin/magento kowal:shippingrules:amasty:apply --type=fees --limit=100 --executeComanda va salva doar extra fees cu statusul ready.
Pasul 6 — diagnosticare după migrare
Rulează:
bin/magento kowal:shippingrules:stabilization:checkVerifică și în panou:
Sales / Shipping Methods & Rules / Shipping RestrictionsSales / Shipping Methods & Rules / Extra FeesPasul 7 — teste comparative cu Amasty
Înainte de dezactivarea sau înlocuirea configurației Amasty, trebuie comparate rezultatele pentru coșurile de test.
Coșuri recomandate:
- produs standard,
- produs voluminos,
- produs fragil,
- mai multe produse cu condiții diferite,
- comandă cu țări de livrare diferite,
- comandă cu coduri poștale diferite,
- comandă cu cupon,
- comandă cu metoda selectată acoperită de Extra Fee.
Pentru fiecare coș verifică:
- metodele de livrare disponibile,
- metodele ascunse,
- mesajele de eroare,
- extra fee calculate,
- sumele brute/net, dacă este folosit tax fee,
- order,
- invoice,
- creditmemo.
Pasul 8 — decizia de comutare
Abia după acceptarea rezultatelor se poate planifica comutarea configurației de producție.
Recomandări:
- nu dezactiva Amasty fără backup,
- nu șterge datele Amasty imediat după migrare,
- mai întâi dezactivează funcționarea din configurație,
- păstrează posibilitatea de rollback,
- pregătește o listă a regulilor care necesită corecție manuală.
Rollback după migrare
Dacă apare o problemă:
- Dezactivează carrierul
Kowal ShippingRules. - Dezactivează
Enable Restrictions. - Dezactivează
Enable Extra Fees. - Restaurează configurația Amasty utilizată anterior.
- Verifică checkoutul.
- Păstrează rapoartele de migrare pentru analiză.
Checklist după implementare
Tehnic
module:statusafișeazăKowal_ShippingRulesca activ,setup:upgrades-a încheiat fără erori,setup:di:compiles-a încheiat fără erori,cache:flushexecutat,stabilization:checknu returnează erori,- panoul de administrare afișează meniul
Shipping Methods & Rules, - fișierul de log este scris când debug este activat.
Configurare
- carrierul este activat,
- a fost creată cel puțin o metodă de livrare,
- metoda activă are un tarif activ,
- store views sunt setate corect,
- customer groups sunt setate corect,
- restricțiile sunt activate sau dezactivate în mod conștient,
- extra fees sunt activate sau dezactivate în mod conștient,
- tax mode este conform cu configurația fiscală a magazinului.
Checkout
- metoda apare pentru un coș care îndeplinește condițiile,
- metoda nu apare când nu există un tarif potrivit,
- restricția
hideascunde metoda, - restricția
errorafișează mesajul, - extra fee apare în totals după selectarea metodei,
- schimbarea metodei de livrare recalculează fee,
- order conține valorile fee,
- invoice conține valorile fee,
- creditmemo rambursează corect fee.
Cele mai frecvente probleme
Metoda nu apare în checkout
Verifică:
- dacă carrierul este activat,
- dacă metoda este activă,
- dacă metoda are un tarif activ,
- dacă tariful se potrivește cu țara, regiunea, codul poștal, greutatea și subtotalul,
- dacă store view este corect,
- dacă customer group este corect,
- dacă sunt îndeplinite condițiile metodei,
- dacă o restricție nu ascunde metoda.
Extra Fee nu se calculează
Verifică:
- dacă
Enable Extra Fees = Yes, - dacă fee este activă,
- dacă target carrier și target method sunt corecte,
- dacă sunt îndeplinite condițiile fee,
- dacă a fost selectată metoda de livrare,
- dacă prețul fee este mai mare decât zero,
- dacă
Stop Processingal unei reguli anterioare nu a oprit calculul ulterior.
Restricția nu funcționează
Verifică:
- dacă
Enable Restrictions = Yes, - dacă restricția este activă,
- dacă target carrier și target method sunt corecte,
- dacă sunt îndeplinite condițiile restricției,
- dacă prioritatea regulii este corectă,
- dacă altă regulă cu
Stop Processingnu încheie procesarea mai devreme.
Taxa pentru Extra Fee nu se calculează
Verifică:
- dacă
Fee Tax Mode = Calculate by Fee Tax Class, - dacă regula fee are setat
Tax Class ID, - dacă configurația fiscală Magento returnează cota de taxă pentru adresă,
- dacă coșul are adresă de livrare,
- dacă fee este într-adevăr calculată.
Bune practici
- Mai întâi configurează reguli simple, apoi adaugă condiții suplimentare.
- Pentru fiecare regulă importantă pregătește un coș de test.
- Folosește nume clare pentru metode, restricții și fee.
- Evită mai multe reguli foarte asemănătoare cu aceeași prioritate.
- Documentează motivul creării restricției sau fee în nume.
- După schimbarea atributelor produselor, efectuează un test de checkout.
- Activează debug logging doar pe durata diagnosticării.
- Efectuează migrarea din Amasty în etape: raport, dry-run, preview, execute, QA.
Documente asociate
README.md— descriere tehnică a modulului pentru dezvoltatori.docs/WDROZENIE.md— documentație detaliată de implementare și arhitectură.docs/OPIS_MARKETINGOWY.md— descrierea de marketing a modulului.



















