Custom Order Numbering — Documentación
Sustituya las referencias de pedido aleatorias de PrestaShop, como XKBHMQWNY, por referencias estructuradas que su equipo pueda leer de un vistazo. Order Number le permite crear referencias a partir de etiquetas de fecha, etiquetas de contador, contexto de tienda/cliente, prefijos y sufijos, por ejemplo ORD-2026-000001.
Order Number
Las referencias de pedido nativas de PrestaShop son únicas, pero no resultan significativas para atención al cliente, contabilidad o la gestión interna de pedidos. Order Number lo soluciona generando una referencia formateada cuando se crea un nuevo pedido.
Un formato típico puede mostrar el año, el mes y la posición del pedido:
ORD-{YYYY}-{NNNNNN}
Ejemplo de vista previa:
ORD-2026-000042
El módulo es compatible con PrestaShop 1.6 hasta 9.0 (latest), PHP 7.1+. Seguimos dando soporte también a las próximas versiones de PrestaShop.
Cómo funciona
Usted define un patrón de referencia en el Format Builder del módulo. Cuando un cliente realiza un pedido, el módulo genera la siguiente referencia a partir de ese patrón y guarda una entrada de auditoría para ella.
En versiones de PrestaShop con el hook nativo de referencia de documento, el módulo utiliza:
actionGenerateDocumentReference
actionValidateOrder
En versiones anteriores en las que ese hook no está disponible, el módulo utiliza su override incluido Order::generateReference() para que los nuevos pedidos puedan recibir igualmente su referencia personalizada.
Los pedidos existentes conservan sus referencias actuales. El módulo solo afecta a las nuevas referencias generadas después de instalarlo y configurarlo.
El módulo también amplía las columnas de referencia de pedido para permitir referencias estructuradas más largas:
orders.reference VARCHAR(64)
order_payment.order_reference VARCHAR(64)
Instalación
- En su Back Office, vaya a Modules → Module Manager
- Haga clic en Upload a module y seleccione el archivo ZIP
- Una vez instalado, haga clic en Configure
- Abra Improve → Order Numbering
El módulo añade estas páginas al Back Office:
Order Numbering
- Dashboard
- Format Builder
- Generated References
- Settings
Configuración
Patrón de formato
El ajuste principal es el patrón utilizado para crear cada referencia de pedido.
Patrón predeterminado:
{YYYY}/{MM}/{NNNNNN}
Salida de ejemplo:
2026/06/000042
Ejemplos de patrones habituales:
ORD-{YYYY}-{NNNNNN}
{YYYY}/{MM}/{NNNNNN}
SHOP-{SHOP_ID}-{YYYY}-{NNNNN}
{COUNTRY}-{YYYY}-{MM}-{NNNNNN}
Para numeración por cliente, incluya un discriminador específico del cliente o aleatorio para que las referencias sigan siendo únicas globalmente:
CUST-{CUSTOMER_ID}-{CUSTOMER_NNNN}
{CUSTOMER_REF}-{CUSTOMER_NNNN}
Prefijo y sufijo
También puede añadir un prefijo y un sufijo estáticos alrededor del patrón.
Claves de configuración reales utilizadas por el módulo:
order_prefix=ORD-
order_format={YYYY}-{NNNNNN}
order_suffix=
Esto produce:
ORD-2026-000042
Reinicio del contador
Elija cuándo se reinicia el contador:
never
yearly
monthly
daily
Si elige yearly, el patrón debe incluir {YYYY} o {YY}.
ORD-{YYYY}-{NNNNNN}
Si elige monthly, el patrón debe incluir una etiqueta de año y {MM}.
ORD-{YYYY}-{MM}-{NNNNNN}
Si elige daily, el patrón debe incluir una etiqueta de año, {MM} y {DD}.
ORD-{YYYY}-{MM}-{DD}-{NNNN}
Ámbito del contador
Elija cómo se cuentan los contadores:
global
customer
global utiliza una secuencia por tienda.
ORD-{YYYY}-{NNNNNN}
customer permite que cada cliente tenga su propia secuencia, pero el formato debe seguir incluyendo una etiqueta única de cliente o aleatoria.
C-{CUSTOMER_ID}-{CUSTOMER_NNNN}
Establecer el siguiente número
Use Set Next Number cuando quiera que el siguiente pedido empiece desde un número concreto, por ejemplo después de migrar desde otro sistema de pedidos.
order_start_number=5000
La siguiente referencia generada utiliza ese valor una vez y después el ajuste se borra automáticamente.
Etiquetas disponibles
El Format Builder muestra las etiquetas disponibles para las referencias de pedido. Las más útiles son:
{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
Algunas etiquetas de documento no están disponibles intencionadamente mientras PrestaShop crea la referencia del pedido, porque el pedido o la factura todavía no existen:
{ORDER_ID}
{INVOICE_ID}
{DOC_TYPE}
{PAYMENT}
Ajustes predeterminados
Después de la instalación, el módulo empieza con estos valores predeterminados:
enabled=1
order_format={YYYY}/{MM}/{NNNNNN}
order_reset_mode=yearly
order_counter_scope=global
order_start_number=
order_prefix=
order_suffix=
Registro de referencias generadas
Cada referencia generada se almacena en un registro de auditoría de solo lectura. El registro guarda:
id_order
id_cart
id_customer
id_shop
counter_value
format_pattern
formatted_reference
date_add
Esto le ayuda a comprobar qué patrón se utilizó para una referencia y a vincular una referencia generada con el pedido una vez que PrestaShop ha terminado de crearlo.
Multi-Shop
Los contadores se almacenan por tienda. En una instalación multi-shop, cada tienda tiene su propio id_shop en la tabla de contadores, por lo que cada tienda puede mantener su propia secuencia de numeración.
Un patrón multi-shop útil es:
{SHOP_ID}-{YYYY}-{NNNNNN}
O, si cada tienda representa un país o una marca, use un prefijo estático por tienda:
DE-{YYYY}-{NNNNNN}
FR-{YYYY}-{NNNNNN}
Consejos
- Use
{YYYY}en la mayoría de formatos para que el año sea visible sin abrir el pedido. - Use
{MM}si reinicia los contadores mensualmente o quiere referencias agrupadas por mes. - Use suficiente relleno para su volumen de pedidos.
{NNNNN}da cinco dígitos;{NNNNNN}da seis. - Configure el patrón antes de pasar a producción. Cambiar el formato más adelante está permitido, pero los pedidos futuros se verán distintos de los antiguos.
- Para contadores por cliente, incluya
{CUSTOMER_ID},{CUSTOMER_REF},{CART_ID},{RAND6},{RAND7},{RAND8}o{RAND9}para que las referencias sigan siendo únicas. - Mantenga las referencias por debajo de 64 caracteres. El módulo valida la vista previa generada contra este límite.
Preguntas frecuentes
¿Los pedidos existentes recibirán nuevas referencias?
No. Los pedidos existentes conservan sus referencias originales de PrestaShop. Solo los nuevos pedidos usan el formato personalizado.
¿Los clientes pueden ver la nueva referencia de pedido?
Sí. Es la referencia de pedido normal de PrestaShop, por lo que los clientes pueden verla allí donde la tienda muestre la referencia de pedido, como en las páginas de cuenta de cliente, los correos de pedido y las facturas.
¿Qué ocurre si se realizan dos pedidos en el mismo momento?
El contador se incrementa dentro de una transacción de base de datos usando SELECT ... FOR UPDATE, por lo que cada pedido recibe su propio valor de contador.
¿Puedo incluir el mes en la referencia?
Sí. Use {MM}.
ORD-{YYYY}-{MM}-{NNNNNN}
¿Puedo reiniciar el contador cada mes?
Sí. Establezca el modo de reinicio en monthly e incluya {YYYY} o {YY} más {MM} en el patrón.
{YYYY}/{MM}/{NNNNNN}
¿Puedo reiniciar el contador cada día?
Sí. Establezca el modo de reinicio en daily e incluya {YYYY} o {YY}, {MM} y {DD}.
{YYYY}/{MM}/{DD}/{NNNN}
¿Cada cliente puede tener su propio contador?
Sí. Establezca el ámbito del contador en customer e incluya una etiqueta única de cliente o aleatoria en el formato.
C-{CUSTOMER_ID}-{CUSTOMER_NNNN}
¿Qué ocurre si se desactiva la numeración personalizada?
PrestaShop vuelve a su generación normal de referencias aleatorias.
¿Qué ocurre si el formato no es válido?
El módulo se niega a guardar formatos no válidos en el Format Builder. Si se encuentra una configuración no válida durante la creación del pedido, el módulo registra el problema y no devuelve una referencia personalizada para ese pedido.
¿Qué ocurre si se cancela un pedido?
El pedido conserva la referencia que se le asignó. El módulo no reutiliza números ya generados para pedidos.