Hola @martabici, los compañeros han señalado muy bien los puntos clave. La función generateReference() es estática y se llama en varios puntos del proceso de pedido. Sobrescribirla es el camino correcto para el cambio de formato.
Para tu versión PrestaShop 8.0.4, lo más importante es asegurar la unicidad. Aunque quieras un ID secuencial, la implementación de un contador robusto en un override directo puede ser compleja por las razones que @paula94 mencionó. Sin embargo, puedes mejorar tu override para al menos asegurar que la referencia generada, aunque la parte final sea semi-aleatoria, sea única.
Aquí te muestro cómo podrías adaptar tu override para usar la lógica de verificación de unicidad de PrestaShop. Para la parte 'secuencial', necesitarías una lógica más avanzada que este snippet no cubre completamente, pero te dará una referencia única con tu formato deseado:
class Order extends OrderCore
{
public static function generateReference()
{
$prefix = 'ORD-';
$year = date('Y');
$reference = '';
do {
// Generar una parte 'secuencial' basada en tiempo o un contador simple
// Esto es una simulación simple, no un contador robusto de la DB.
Este código simula una parte 'secuencial' con números aleatorios pero paddeados, y lo más importante es que reutiliza Order::referenceExists() para garantizar que la referencia final sea única. Para una verdadera secuencia numérica incremental y robusta sin conflictos, y para gestionar generador de referencias sin tocar el código core y sus complejidades, te recomiendo encarecidamente un módulo dedicado. Los overrides pueden ser delicados con las actualizaciones y no siempre son la solución más escalable.