Aggiornamento catalogo magento per multistore e gruppi utente tramite excel

Nessun commento

Oggi proponiamo la nostra soluzione ad una problematica che coinvolge tantissimi utenti che supportano il proprio e-commerce attraverso la piattaforma Magento: ovvero l’aggiornamento dei prezzi.

Sebbene il gestionale preveda una sistema relativamente semplice per la modifica di un singolo prodotto,

il procedimento standard risulta piuttosto laborioso nelle situazioni per le quali occorra una modifica celere su una lista di prodotti agevolmente concepiti dallo store manager,

specialmente in quei contesti che delineano esigenze maggiormente complesse. Se anche tu sei in cerca di una soluzione pratica a tale problema, continua a leggere.

Com’è ben noto agli utenti di Magento, la consueta routine di modifica prezzi per un singolo prodotto dal pannello amministrativo, richiede di:

  • recarsi sulla voce di menù “Catalogo” – Gestisci Prodotti;
  • ricercare il prodotto di cui si desidera modificare il prezzo (nella speranza di non commettere errori di battitura);
  • selezionare il prodotto e cliccare su Modifica;
  • scegliere la voce Prezzi nell’elenco delle categorie da modificare;
  • apportare la modifica sull’importo e/o periodo di applicazione;
  • e infine, cliccare su Salva.

Operazioni quest’ ultime, iterate un numero di volte pari a quello dei prodotti da editare, senza poter accedere in alcun modo a viste in grado nell’immediato di mappare i prezzi con i gruppi utente e i diversi store, e costringendo la pianificazione delle strategie di pricing ad una mole limitata di impostazioni standard e non personalizzabili.

Eppure in ambienti concreti possono esserci ulteriori variabili, oltre alla velocità, di cui tenere conto in merito all’aggiornamento di quantità e prezzi, quali ad esempio:

  • store distinti (ita, de, b2c, b2b, amazon ita, amazon de) con prezzi e sconti differenti
  • offerte automatiche
  • gruppi di utenti (distributori, gold, platinum, ecc in base anche al fatturato pregresso)
  • diverse aliquote iva (10% 22%) nello stesso store
  • sconti su tutti i prodotti di un fornitore 

da cui si evince chiaramente che le procedure standard di Magento, e della maggior parte dei gestionali ERP, non aiutano certamente a risolvere le suddette questioni, rendendo arduo il compito di modificare singolarmente il prezzo di ogni prodotto come e quando sirende necessario. Ecco perché in Pensare Web abbiamo trovato una soluzione che separa in momenti diversi la gestione dello stock e dei prezzi, avendo cosi:

  • una procedura per i soli stock di ogni singolo prodotto  
  • una procedura per i prezzi degli store e dei gruppi di utente.  

che lavorano in modalità asincrona, tramite file CSV o XML. In questa discussione ci concentreremo sulla seconda procedura, ovvero dell’ aggiornamento dei prezzi in “situazioni complesse”, partendo da un caso di studio reale laddove l’e-commerce è maturo e si deve procedere a realizzare prezzi e sconti per diversi target di clienti.Un nostro cliente ci ha chiesto una procedura automatizzata in grado di aggiornare i prezzi del catalogo, partendo da un file excel con queste varianti di prezzo:

  • Prezzo di listino
  • Prezzi utenti non registrati
  • Prezzi utenti silver
  • Prezzi utenti gold
  • Prezzi utenti premium

combinati ai prezzi in offerta per ogni singolo prodotto e gruppo di utente, nonché cumulabili a una serie di sconti a catalogo e sconti a carrello alloscopo talvolta di sommarsi e talvolta sostituire i prezzi predisposti con il metodo che andremo di seguito ad illustrare.

LA NOSTRA PROCEDURA DI AGGIORNAMENTO PREZZI MAGENTO PER STORE, PRODUTTORE E GRUPPI UTENTE

La procedura, gestita in modalità semi automatica, lavora in questo modo:

Lo STORE MANAGER deve:

  • modificare il listino, attraverso un foglio elettronico, tenendo conto di:
    • store di riferimento (b2b, b2c,amazon ita, amazon de, ecc…)
    • classe di sconto in base al gruppo cliente (nessuno sconto, sconto base, sconto gold, …)
    • produttore / fornitore
  • esportare per ogni store, attraverso una semplice macro, un file CSV dal file sopra elaborato;
  • decidere a priori se gli sconti andranno a sommarsi a cascata oppure no;
  • caricare dunque i file CSV generati, all’ interno di una cartella per poi essere processati.

Procedura in CRON

Un CRON, che di solito gira ogni 5 minuti, prende il file in carico e lo elabora tramite uno script automatico, con l’obiettivo di aggiornare

  • il prezzo
  • lo special price
  • il prezzo di offerta (ovvero se il prezzo è settato, associa i prodotti della categoria “offerta”)
  • i prezzi e gli special price specifici, in base al gruppo utente di un determinato prodotto individuato dallo SKU presente nel tracciato

Ovvero, per essere più specifici, ogni 5 minuti una procedura in cron controlla che ci siano file csv in una cartella denominata “upload”.

Nel caso siano presenti file csv da processare, controlla che non ci siano già in corso importazioni di file e se sono presenti file in una cartella denominata “processing” (nel caso siano già in corso importazioni non fa nulla; in caso contrario prende in carico il file csv e lo sposta nella cartella “processing”)Dopodiché, il file in cron, verifica che ci siano file da processare nella cartella “processing” e, qualora presenti, li legge per poi rinominarli aggiungendovi la data di inizio elaborazione in formato timestamp (ad esempio: “_20181117-15:43:12”).

Fasi della procedura di aggiornamento. Come funziona lo script:

  1. Recupera lo STORE da elaborare dal nome del file (es “STORE_STORE.csv”, in caso di multistore) e in base a questi, imposta una serie di variabili quali: id del gruppo(base, gold, premium, silver) del customer, storeviewwebsite, e nome dello store.
  2. Aggiorna gli attributi “prezzo”, “special price”, “special From”, “sconti gruppi utenti” del singolo prodotto per la storeview;
  3. Se presente un prezzo di offerta associa i configurabili alla categoria “offerta”, mentre se il prezzo di offerta è vuoto controlla se il prodotto è associato alla categoria e quindi lo dissocia;
  4. Esegue il reindex dei prodotti (solo quelli aggiornati)
  5. Esegue il flush delle categorie e dei (SOLI) prodotti aggiornati
  6. Sposta in una cartella denominata “processed” il file e lo rinomina aggiungendo al label del file “_PROCESSED”.
  7. Genera un report dell’importazione nella quale viene indicato:
    •  Il nome del file processato
    • Totale prodotti nel file
    • Totale prodotti abilitati nello store
    • # Prodotti Semplici nello store
    • # Prodotti Semplici aggiornati
    • # Prodotti Semplici che hanno generato errore
    • # Prodotti Configurabili nello store
    • # Prodotti Configurabili aggiornati
    • # Prodotti Configurabili che hanno generato errore
    • # Prodotti non aggiornati nello store con indicazione della riga del file csv a cui corrisponde l’errore
    • numero di “Errori campo listino non settato o uguale a 0 “
    • numero di “Errori import (prodotti non esistenti a catalogo)”

Per velocizzare il tutto, i prodotti senza cambiamenti (rispetto allo stato di fatto) vengono “skippati”.

RISULTATI OTTENUTI

Su un catalogo di oltre 10.000 prodotti, il processo di elaborazione di uno store necessita circa 5 minutiSi intuisce già da questo risultato la potenzialità che un’integrazione di questo tipo può apportare a gestioni inizialmente complesse di stocking e pricing finalizzati all’ amministrazione dei cataloghi su Magento ed e-commerce in generale.Lo store manager riesce infatti, assieme ai prestigi intrinseci che un foglio elettronico comporta, a coordinare in una sola vista tutti i prodotti con le rispettive categorie ai quali applicare sconti, aumenti e offerte, cambiando all’ occorrenza, un solo valore nelle corrispondenti celle di:

  • singolo prodotto e relativa messa in offerta 
  • tutti gli utenti non loggati su tutto lo stock o su categorie di utenti (in base al fatturato) 
  • tutti i prodotti in vendita in un determinato store 
  • o su le mille combinazioni che ci possono essere tra quelle precedenti 

Se sei interessato ad una integrazione di questo tipo che ti farà risparmiare tempo e denaro, contattaci.

Sanya CasadeiAggiornamento catalogo magento per multistore e gruppi utente tramite excel

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *