Creating or editing custom order statuses on PrestaShop
Creating a custom status, hiding an existing one, or making a status change automatically based on an event: order status management touches display, the associated email, and sometimes a 500 error when one of the two is misconfigured.
What’s a back-office setting
Statuses are managed under Orders > Statuses, where each one can have its own label, colour, and above all an automatic email trigger to the customer, with its own template. Creating a new status, attaching or removing its email, changing its colour: all of that happens from this screen, no development needed.
What isn’t natively supported, though: hiding an existing status from certain back-office users, or pulling it out of the standard workflow while keeping it for history. A status can be disabled or deleted, it can’t be conditionally hidden without development.
The 500 error on a status change
This is a common case and almost always traces back to the same cause: the email template tied to the new status is missing, malformed, or references a logo that can’t be found. A status change triggers the email being generated, and one undefined Smarty variable in that template is enough to break the whole process with a 500 error, even if the status-change logic itself is correct.
I always start by checking the email template for the status in question, inside the mails/ folder for the language used, before looking for a more complex cause.
Automating a status change
Making a status change automatically — for example as soon as a carrier tracking number is entered on the order — isn’t natively available in PrestaShop. It requires hooking code onto an appropriate hook, for instance when the order is updated, to trigger the status change under the desired condition. That’s targeted development, not a setting.
Related pages
-
Invoice display or template issue
Invoice generation depends directly on the status marked as paid: the two settings are linked.
-
Order confirmation emails not received
Every status has its own email template: a full diagnosis for when these emails never arrive.
-
500 error or blank page on PrestaShop
How to read the real error messages when a status change triggers a 500 error.
-
Custom module development
Hook-based automation, conditional hiding: when a need goes beyond the standard configuration screen.
Describe your need in one minute
A few targeted questions so I can reply with an estimate rather than another questionnaire.