Novità!!! E' disponibile il Video Corso "E-commerce con Magento" + di 20h di formazione Scopri di più

Come resettare il numero di Ordine e Fattura in Magento

Il nuovo anno è arrivato e come per tutte le attività commerciali è giunto il momento di ricominciare tutto, anche la fatturazione e il numero degli ordini. Per fare questo nel tuo store Magento, purtroppo non c’è un modo immediato veloce e semplice per farlo dal pannello di amministrazione, ma in questo articolo ti dirò […]

5/5 (3)

Il nuovo anno è arrivato e come per tutte le attività commerciali è giunto il momento di ricominciare tutto, anche la fatturazione e il numero degli ordini.

Per fare questo nel tuo store Magento, purtroppo non c’è un modo immediato veloce e semplice per farlo dal pannello di amministrazione, ma in questo articolo ti dirò come farlo, che tu sia un utente esperto o che tu sia uno store manager, ho la suluzione per te.

Infatti ti mostrerò come:

  • resettare il numero di fatturazione
  • resettare il numero delle note di credito
  • resettare il numero di ordini
  • resettare il numero dei documenti di spedizione

Per eseguire queste operazioni, si può intervenire in due modi:

  1. Cambiando i dati nel database (solo per utenti esperti avanzato)
  2. Installando il modulo aggiuntivo di “Magento Custom Order Number” by Amasty

1. Resettare i numeri di ordine, fatture, spedizioni da database

ATTENZIONE: prima di effettuare qualsiasi operazione nel database, ti consiglio sempre di fare un backup del database.

La tabella del database che include queste informazioni è eav_entity_store. La colonna che include il valore dell’ultimo numero è entity_type_id.

Il campo che include l’ultimo numero di ordine è increment_last_id – varchar(50).

Di seguito, il numero che corrisponde al tipo di documento:

  • 5 = Ordine
  • 6 = Fattura
  • 7 = Nota di credito
  • 8 = Spedizione

Creiamo la query SQL per aggiornare il valore

Ora che sappiamo in quale tabella, in quale colonna e a cosa corrispondono i valori, possiamo resettare e cambiare i numeri dei vari documenti del nostro store con queste semplici query:

Aggiorna il numero di Ordine a 000000

UPDATE `eav_entity_store`
SET `increment_last_id` = '000000'
WHERE `entity_type_id` = '5';`

Aggiorna il numero di Fattura a 000000

UPDATE `eav_entity_store`
SET `increment_last_id` = '000000'
WHERE `entity_type_id` = '6';
[

Aggiorna il numero di Nota di Credito a 000000

UPDATE `eav_entity_store`
SET `increment_last_id` = '000000'
WHERE `entity_type_id` = '7';

Aggiorna il numero di Spedizione a 000000

UPDATE `eav_entity_store`
SET `increment_last_id` = '000000'
WHERE `entity_type_id` = '8';

Ora che abbiamo aggiornato i numeri però noterete che continueranno ad iniziare con il numero 1. Possiamo cambiare questo prefisso con un prefisso che vogliamo semplicemente modificando la colonna increment_prefix nella stessa tabella.

Tieni in considerazione che il tipo di campo increment_prefix  è varchar(20) e che the il tipo di campo increment_last_id è varchar(50).

Suggerimento: Possiamo aggiornare il prefisso “1” con un prefisso tipo “FatturaWeb” per le fatture, “OrdiniWeb” per gli ordini e così via, per differenziare le fatture e i documenti di Ordini, qualora dovessimo gestire un negozio fisico ed un e-Commerce. In questo modo la contabilità e gli ordini saranno organizzati al meglio.

Vediamo quindi come aggiornare la query sulla base di quanto detto pocanzi.

Aggiorna il numero di Ordine a OrdineWeb-000000

UPDATE `eav_entity_store`
SET `increment_last_id` = '000000', `increment_prefix` = 'OrdineWeb-'
WHERE `entity_type_id` = '5';`

Aggiorna il numero di Fattura a FatturaWeb-000000

UPDATE `eav_entity_store`
SET `increment_last_id` = '000000', `increment_prefix` = 'FatturaWeb-'
WHERE `entity_type_id` = '6';

Aggiorna il numero di Nota di Credito a CreditoWeb-000000

UPDATE `eav_entity_store`
SET `increment_last_id` = '000000', `increment_prefix` = 'CreditoWeb-'
WHERE `entity_type_id` = '7';

Aggiorna il numero di Spedizione a SpedizioneWeb-000000

UPDATE `eav_entity_store`
SET `increment_last_id` = '000000', `increment_prefix` = 'SpedizioneWeb-'
WHERE `entity_type_id` = '8';

Come vedi è molto semplice fare queste query nel database, ma ti consiglio sempre di fare un backup del database prima di effettuare qualsiasi operazione.

2. Resettare i numeri di ordine, fatture, spedizioni con il modulo Magento Custom Order Number

Come già anticipato, se non vuoi mettere le mani nel database, pui sempre affidarti al modulo “Magento Custom Order Number” by Amasty.

Cambiare Numero Ordine e Fattura Magento

Questo modulo ha molte features interessanti ed è molto semplice da usare. Vediamo insieme le funzionalità principali:

  • Imposta tutti i numeri per tutti tipi di documenti (fatture, ordini, note di credito e spedizioni)
  • Utilizzare prefissi e suffissi di data per i numeri
  • Puoi modificare i numeri per adeguarli alla legislazione locale

Il modulo è adatto alle versioni di Magento CE 1.4.x – 1.9.x, EE 1.8.x – 1.14.x.

Costo: 79,00$: Puoi acquistare il modulo qui.

 

Ti è piaciuto questo articolo? Votalo!

Vuoi imparare meglio Magento?

Abbiamo preparato per te un Video corso di oltre 20h di formazione: dall'installazione alla configurazione. Dalla gestione prodotti, alla SEO on page, marketing e molto altro ancora!

Impara in fretta come creare e gestire un e-commerce con Magento, con l'esperienza degli esperti Magento.

Scopri di più

  • Angela

    Salve, vorrei chiedere un chiarimento per quanto riguarda il cambio di numerazioni per le Fatture: Ok per il nuovo prefisso (es. “2017”), ma se per il nuovo anno la prima Fattura dovrà essere numerata con “1” bisognerà scrivere nella tabella indicata “00000001” oppure “00000000”? Lo chiedo perchè Magento (dal pannello amministrativo) scatta sempre il numero successivo a quello inserito, pertanto se dovessi inserire “00000001” scatterebbe la Fattura con n° 2? Quindi per far scattale la 1 bisognerebbe inserire numero 0? Anche la dicitura “last” sembrerebbe riferirsi a “ultimo numero emesso” e quindi farebbe scattare il successivo al momento di generazione della Fattura?
    Grazie mille.

    • Ciao Angela,
      esattamente, bisogna inserire come LAST ID, il numero 0. Così la prossima sarà la 1.

      Felice anno nuovo!

      • Angela

        Grazie! E Felice anno nuovo anche a Lei!

      • Angela

        Mi scusi, vorrei chiedere ultima conferma per maggiore sicurezza:
        Aggiornando le Fatture con nuovo prefisso non potranno andare in conflitto con le precedenti…Ad es. quando scatterà la numero “2017-00000003”, non andrà in conflitto con quella con lo stesso numero emessa nel 2016 poichè è registrata con numero “2016-00000003”, corretto? Anche mantenendo la stessa quantità di 00000 dopo il prefisso, dico bene?
        Idem per Ordini-Spedizioni-Note di credito
        Grazie mille!

  • SUEDE store

    Salve ho seguito la sua guida, ma adesso magento non riesce a completare il pagamento. Riceviamo sempre questo messaggio.

    There was an error processing your order. Please contact us or try again later.

    • Ciao, dovresti abilitare i log e fare un controllo sugli errori riportati nei files. Per abilitare i log, vai su sistema/configurazione/ in fondo, sviluppatore, e trovi una voce “Abilita i Log”.
      Aggiorna la cache dello store e successivamente, fai nuovamnete la procedura d’ordine.
      Troverai nei log il problema relativo a quell’errore, che potrebbe non essere collegato all’azzeramento.

      Assicurati anche di aver cambiato o inserito un prefisso differente, altrimenti magento prova a registrare un ordine con lo stesso ID e va in errore.

      Spero riuscirari a risolvere, fammi sapere come va a finire 😉

      • SUEDE store

        Ciao Andrea,

        grazie della tua risposta. l’errore che viene provocato è questo.

        SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‘000000007’ for key ‘UNQ_SALES_FLAT_ORDER_INCREMENT_ID” in /home/suede/public_html/lib/Zend/Db/Statement/Pdo.php:228

        Noi stiamo cercando un esperto magento che possa curare il nostro portale. Se ti va di aiutarci ora e di contattarci via mail per discutere di quanto proposto saremo felici di avere un tuo preventivo

        • Proprio come immaginavo.

          Nel database, devi cambiare il valore nella colonan prefix. Ad esempio nella colonna prefix relativa all’entity_id 6 (fatture) metti, Fatture2016- e negli ordini (5) Ordini2016-
          così gli ordini che verranno generati avranno id progressivo con prefisso, ad esempio Ordini2016-00000007. In questo modo non andrà in conflitto con l’ordine 000007 già presente.

          Grazie per la tua richiesta, puoi mandare una richiesta più specifica tramite il form di contatto? Al momento siamo chiusi per ferie ma al nostro rientro, 11 gennaio, sarò felice di contattarvi per discutere del vostro progetto.

          Buona giornata!

          • SUEDE store

            Salve

            Grazie dell’aiuto, il problema sembra essersi risolto. Questo è esattamente il tipo di servizio di cui abbiamo bisogno. Manderò una richiesta nelle prossime ore, se non dovesse sentirmi ecco la nostra emai [email protected]

    • Proprio come immaginavo.
      Allora nel database, devi cambiare il valore nella colonan prefix. Ad esempio nella colonna prefix relativa all’entity_id 6 (fatture) metti, Fatture2016- e negli ordini (5) Ordini2016-
      così gli ordini che verranno generati avranno id progressivo con prefisso, ad esempio Ordini2016-00000007. In questo modo non andrà in conflitto con l’ordine 000007 già presente.

      Grazie per la tua richiesta, puoi mandare una richiesta più specifica tramite il form di contatto? Al momento siamo chiusi per ferie ma al nostro rientro, 11 gennaio, sarò felice di contattarvi per discutere del vostro progetto.

      Buona giornata!

Magento è un marchio registrato di Magento Inc. MagenTiamo è un progetto indipendente non affiliato direttamente dal progetto Magento o chi ne detiene il trademark.