Custom Order Numbering — Documentazione

Sostituisci i riferimenti ordine casuali di PrestaShop, come XKBHMQWNY, con riferimenti strutturati che il tuo team può leggere a colpo d’occhio. Order Number ti permette di creare riferimenti usando tag data, tag contatore, contesto negozio/cliente, prefissi e suffissi, ad esempio ORD-2026-000001.

Order Number

I riferimenti ordine nativi di PrestaShop sono univoci, ma non sono significativi per il servizio clienti, la contabilità o la gestione interna degli ordini. Order Number risolve il problema generando un riferimento formattato quando viene creato un nuovo ordine.

Un formato tipico può mostrare anno, mese e posizione dell’ordine:

ORD-{YYYY}-{NNNNNN}

Esempio di anteprima:

ORD-2026-000042

Il modulo supporta PrestaShop dalla 1.6 alla 9.0 (latest), PHP 7.1+. Continuiamo inoltre a supportare le prossime versioni di PrestaShop.

Custom Order Numbering — Reference format builder

Come funziona

Definisci uno schema di riferimento nel Format Builder del modulo. Quando un cliente effettua un ordine, il modulo genera il riferimento successivo da quello schema e salva una voce di audit.

Nelle versioni di PrestaShop con hook nativo per il riferimento documento, il modulo usa:

actionGenerateDocumentReference
actionValidateOrder

Nelle versioni più vecchie in cui questo hook non è disponibile, il modulo usa l’override incluso Order::generateReference(), così i nuovi ordini possono comunque ricevere il tuo riferimento personalizzato.

Gli ordini esistenti mantengono i loro riferimenti attuali. Il modulo influisce solo sui nuovi riferimenti generati dopo l’installazione e la configurazione.

Il modulo amplia anche le colonne dei riferimenti ordine per consentire riferimenti strutturati più lunghi:

orders.reference        VARCHAR(64)
order_payment.order_reference VARCHAR(64)
Custom Order Numbering — Reference live preview

Installazione

  1. Nel Back Office, vai su Modules → Module Manager
  2. Fai clic su Upload a module e seleziona il file ZIP
  3. Una volta installato, fai clic su Configure
  4. Apri Improve → Order Numbering

Il modulo aggiunge queste pagine al Back Office:

Order Numbering
- Dashboard
- Format Builder
- Generated References
- Settings
Custom Order Numbering — Counter reset settings

Configurazione

Schema del formato

L’impostazione principale è lo schema usato per creare ogni riferimento ordine.

Schema predefinito:

{YYYY}/{MM}/{NNNNNN}

Output di esempio:

2026/06/000042

Esempi comuni di schema:

ORD-{YYYY}-{NNNNNN}
{YYYY}/{MM}/{NNNNNN}
SHOP-{SHOP_ID}-{YYYY}-{NNNNN}
{COUNTRY}-{YYYY}-{MM}-{NNNNNN}

Per la numerazione per cliente, includi un discriminatore specifico del cliente o casuale, così i riferimenti restano univoci a livello globale:

CUST-{CUSTOMER_ID}-{CUSTOMER_NNNN}
{CUSTOMER_REF}-{CUSTOMER_NNNN}

Prefisso e suffisso

Puoi anche aggiungere un prefisso e un suffisso statici intorno allo schema.

Chiavi di configurazione reali usate dal modulo:

order_prefix=ORD-
order_format={YYYY}-{NNNNNN}
order_suffix=

Questo produce:

ORD-2026-000042

Reset del contatore

Scegli quando il contatore viene reimpostato:

never
yearly
monthly
daily

Se scegli yearly, lo schema deve includere {YYYY} o {YY}.

ORD-{YYYY}-{NNNNNN}

Se scegli monthly, lo schema deve includere un tag anno e {MM}.

ORD-{YYYY}-{MM}-{NNNNNN}

Se scegli daily, lo schema deve includere un tag anno, {MM} e {DD}.

ORD-{YYYY}-{MM}-{DD}-{NNNN}

Ambito del contatore

Scegli come vengono conteggiati i contatori:

global
customer

global usa una sequenza per negozio.

ORD-{YYYY}-{NNNNNN}

customer permette a ogni cliente di avere la propria sequenza, ma il formato deve comunque includere un tag cliente univoco o casuale.

C-{CUSTOMER_ID}-{CUSTOMER_NNNN}

Impostare il prossimo numero

Usa Set Next Number quando vuoi che il prossimo ordine parta da un numero specifico, ad esempio dopo il passaggio da un altro sistema di gestione ordini.

order_start_number=5000

Il prossimo riferimento generato usa quel valore una sola volta, poi l’impostazione viene cancellata automaticamente.

Custom Order Numbering — Reference log dashboard

Tag disponibili

Il Format Builder mostra i tag disponibili per i riferimenti ordine. I più utili sono:

{YYYY}        Full year, e.g. 2026
{YY}          2-digit year, e.g. 26
{MM}          Month, e.g. 06
{DD}          Day, e.g. 16
{QUARTER}     Quarter, e.g. Q2
{WEEK}        ISO week, e.g. 25
{N}           Counter without padding
{NN}          Counter padded to 2 digits
{NNN}         Counter padded to 3 digits
{NNNN}        Counter padded to 4 digits
{NNNNN}       Counter padded to 5 digits
{NNNNNN}      Counter padded to 6 digits
{NNNNNNN}     Counter padded to 7 digits
{NNNNNNNN}    Counter padded to 8 digits
{GLOBAL_NNNNNN}    Global shop counter
{CUSTOMER_NNNN}    Per-customer counter
{CUSTOMER_ID}      Customer ID
{CUSTOMER_EMAIL}   Customer email prefix
{CUSTOMER_REF}     Stable secure customer reference
{COUNTRY}          Delivery country ISO code
{SHOP_ID}          Shop ID
{SHOP_NAME}        Shop name
{CART_ID}          Cart ID
{RAND6}            Random 6-letter code
{RAND9}            Random 9-letter code

Alcuni tag documento non sono volutamente disponibili mentre PrestaShop sta creando il riferimento ordine, perché l’ordine o la fattura non esiste ancora:

{ORDER_ID}
{INVOICE_ID}
{DOC_TYPE}
{PAYMENT}
Custom Order Numbering — Mprordernumber counter settings

Impostazioni predefinite

Dopo l’installazione, il modulo parte con questi valori predefiniti:

enabled=1
order_format={YYYY}/{MM}/{NNNNNN}
order_reset_mode=yearly
order_counter_scope=global
order_start_number=
order_prefix=
order_suffix=
Custom Order Numbering — Mprordernumber dashboard counters

Registro dei riferimenti generati

Ogni riferimento generato viene salvato in un registro di audit in sola lettura. Il registro contiene:

id_order
id_cart
id_customer
id_shop
counter_value
format_pattern
formatted_reference
date_add

Questo ti aiuta a verificare quale schema è stato usato per un riferimento e a collegare un riferimento generato all’ordine quando PrestaShop ha terminato la sua creazione.

Custom Order Numbering — Mprordernumber format builder

Multi-Shop

I contatori sono salvati per negozio. In un’installazione multi-shop, ogni negozio ha il proprio id_shop nella tabella dei contatori, quindi ogni negozio può mantenere la propria sequenza di numerazione.

Uno schema multi-shop utile è:

{SHOP_ID}-{YYYY}-{NNNNNN}

Oppure, se ogni negozio rappresenta un paese o un brand, usa un prefisso statico per negozio:

DE-{YYYY}-{NNNNNN}
FR-{YYYY}-{NNNNNN}
Custom Order Numbering — Mprordernumber generated log

Suggerimenti

  • Usa {YYYY} nella maggior parte dei formati, così l’anno è visibile senza aprire l’ordine.
  • Usa {MM} se reimposti i contatori ogni mese o vuoi raggruppare i riferimenti per mese.
  • Usa un padding sufficiente per il tuo volume di ordini. {NNNNN} offre cinque cifre; {NNNNNN} ne offre sei.
  • Configura lo schema prima di andare online. Modificare il formato in seguito è consentito, ma gli ordini futuri avranno un aspetto diverso da quelli precedenti.
  • Per i contatori per cliente, includi {CUSTOMER_ID}, {CUSTOMER_REF}, {CART_ID}, {RAND6}, {RAND7}, {RAND8} o {RAND9} in modo che i riferimenti restino univoci.
  • Mantieni i riferimenti sotto i 64 caratteri. Il modulo valida l’anteprima generata rispetto a questo limite.
Custom Order Numbering — Mprordernumber integrity checks

Domande frequenti

Gli ordini esistenti riceveranno nuovi riferimenti?

No. Gli ordini esistenti mantengono i loro riferimenti PrestaShop originali. Solo i nuovi ordini usano il formato personalizzato.

I clienti possono vedere il nuovo riferimento ordine?

Sì. È il normale riferimento ordine di PrestaShop, quindi i clienti possono vederlo ovunque il negozio mostri il riferimento ordine, ad esempio nelle pagine dell’account cliente, nelle email d’ordine e nelle fatture.

Cosa succede se due ordini vengono effettuati nello stesso momento?

Il contatore viene incrementato all’interno di una transazione del database usando SELECT ... FOR UPDATE, quindi ogni ordine riceve il proprio valore di contatore.

Posso includere il mese nel riferimento?

Sì. Usa {MM}.

ORD-{YYYY}-{MM}-{NNNNNN}

Posso reimpostare il contatore ogni mese?

Sì. Imposta la modalità di reset su monthly e includi {YYYY} o {YY} più {MM} nello schema.

{YYYY}/{MM}/{NNNNNN}

Posso reimpostare il contatore ogni giorno?

Sì. Imposta la modalità di reset su daily e includi {YYYY} o {YY}, {MM} e {DD}.

{YYYY}/{MM}/{DD}/{NNNN}

Ogni cliente può avere il proprio contatore?

Sì. Imposta l’ambito del contatore su customer e includi nel formato un tag cliente univoco o casuale.

C-{CUSTOMER_ID}-{CUSTOMER_NNNN}

Cosa succede se la numerazione personalizzata è disabilitata?

PrestaShop torna alla normale generazione di riferimenti casuali.

Cosa succede se il formato non è valido?

Il modulo rifiuta di salvare formati non validi nel Format Builder. Se durante la creazione dell’ordine viene trovata una configurazione non valida, il modulo registra il problema e non restituisce un riferimento personalizzato per quell’ordine.

Cosa succede se un ordine viene annullato?

L’ordine mantiene il riferimento che gli è stato assegnato. Il modulo non riutilizza numeri già generati per gli ordini.

Caricamento...
Torna su