# Promo Codes & Discounts in the Orders List — PrestaShop 8 & 9

> Add two columns to the back-office orders list: the promo code(s) used and the total discount amount, formatted in the order currency. Built on the official Symfony grid, with no core override and no extra table.

- Page: <https://www.datafirefly.com/en/product/dfordervouchers/>
- Language: en
- Last updated: 2026-06-17
- Platform: PrestaShop
- Category: Administration & Productivity
- SKU: DF-OVCH
- Price: 29.00 EUR
- Other languages: [fr](https://www.datafirefly.com/product/dfordervouchers/index.md), [es](https://www.datafirefly.com/es/producto/dfordervouchers/index.md), [de](https://www.datafirefly.com/de/produkt/dfordervouchers/index.md), [it](https://www.datafirefly.com/it/product/dfordervouchers/index.md), [pl](https://www.datafirefly.com/pl/produkt/kody-rabatowe-lista-zamowien-prestashop/index.md), [nl](https://www.datafirefly.com/nl/product/dfordervouchers/index.md), [pt](https://www.datafirefly.com/pt/produto/codigos-promocionais-lista-encomendas-prestashop/index.md)
- Index: <https://www.datafirefly.com/en/product/llms.txt>

PrestaShop's orders list shows the amount paid, but never **which promo code was used** or **how much it cost**. To find out, you have to open each order one by one. As soon as you run a promo code campaign, tracking their usage quickly becomes tedious.

This module adds two columns straight to the orders list: **the promo codes used** and **the total discount amount** (formatted in the order currency). You can see at a glance which orders received a promotion, and for how much, without opening a single order.

From PrestaShop 1.7.7 onward, the orders list is powered by the _Symfony grid_. The module hooks into it through the official _actionOrderGridDefinitionModifier_ (adding the columns) and _actionOrderGridQueryBuilderModifier_ (fetching the data) hooks. **No controller is overridden, no core file is modified.**

Codes and amounts are read via correlated sub-queries on the order_cart_rule and cart_rule tables. This avoids any row duplication and any conflict with the grid's internal grouping. The module creates no table and writes nothing to the database: it only reads and displays. Clean install and uninstall.
