Refurbished Products for PrestaShop: installation and setup
Install and configure grades, units by serial number, selling by piece, the new vs refurbished comparison and QR labels.
Overview
The module adds refurbished products and unique items to PrestaShop 8 and 9. Each condition grade (A, B, C and any you add) is a native attribute value, so a refurbished product has combinations such as “128 GB Black, grade A”. Each device is a unit with its serial number, photos and tests, and the stock of each grade combination equals the number of available units.
Installation
- In Modules > Module Manager, click Upload a module and send the
dfrefurbished-1.2.1.zipfile. - Installation creates the Grade (DataFirefly) attribute group, shown as “Condition” in the shop, with grades A, B and C.
- The Catalog > Refurbished units menu appears. The module’s Configure button leads to grades and settings.
To update a previous version, simply upload the new ZIP: the upgrade script adds the required columns and tables.
Configure grades
In the module configuration, the Condition grades block lists grades with:
- Code (A, B, C…) and color, used on cards, badges and labels;
- Name and description in each language (“Show all languages” link);
- Default price impact as a percentage (0, -10 and -20% at installation);
- Position: the first grade is the best one, its gauge is full;
- Active.
The last row adds a grade (tick Add). A grade cannot be deleted because combinations and orders use it: deactivate it instead.
Module settings
- Show grade cards on the product page, with gauge, price, saving and stock.
- Hide the native grade selector when cards are shown.
- Unit mode: hide the native add to cart button, the customer then adds a piece with its own button.
- Mask serial numbers on public pages (last 4 characters shown).
- New vs refurbished comparison and its position: under the product or next to the cart button.
- Refurbished offer on the new product page.
- Default warranties for refurbished and new, in months.
- Piece reservation in the cart, 30 minutes by default.
- Serial numbers in the order line, so on the invoice and credit slip.
- Order statuses that put units back in stock (cancelled and payment error by default) and status of released units: available or returned (to inspect).
- Test checklist: one check per line, in each language. Keep the same order in every language, checks are matched by line number.
The Tools block links to the units and resynchronises all stock.
Prepare a refurbished product
Open the product, Modules tab, then DataFirefly Refurbished & Unique Items.
- Tick This product is sold refurbished. The native product condition is set to “Refurbished”.
- Choose the sale mode: by grade (the piece is assigned at order time) or by unit (the customer picks the exact device).
- Set the equivalent new product for the comparison and the saving shown. Combinations are matched on the same attributes (capacity, color).
- If needed, set warranties and the price impact of each grade for this product, as a percentage or a tax-excluded amount. Left empty, the grade percentage applies.
- Click Save refurbished settings.
- Click Create grade combinations: one combination per base option (capacity, color…) and active grade. The removal option then deletes combinations without grade; past orders keep their lines.
- Click Apply grade prices.
The grade table shows for each grade the number of available, sold, returned and hidden units.
Add units
In Catalog > Refurbished units, click Add a unit.
- Product (search by name, reference or ID), base combination and grade. The grade combination is created automatically if it does not exist.
- Serial number: unique per shop. The field accepts a barcode scanner.
- Status: available, sold, returned, hidden.
- Battery health, warranty (empty = product or module value) and refurbishment date.
- Own sale price (tax excl.): used in unit mode only. Empty = price of the grade combination.
- Public notes in each language and test checklist (OK, defect, N/A, not tested).
- Photos: JPG, PNG, WebP or GIF, 10 MB max each, resized automatically.
- Internal panel: SKU, cost price, origin and internal notes, never shown to customers.
Save and add another keeps the product, combination and grade to chain entries. The unit page shows its history, a link to its public sheet and a label print button.
Import units from CSV
Import a CSV button in the unit list. UTF-8 file, ; or , separator detected from the header line. A sample file can be downloaded.
- Required:
serial,grade(grade code) andproduct_idorproduct_reference. base_reference: reference of the combination without grade, empty for a product without other attributes.- Optional:
status(available, hidden, returned),battery,warranty_months,date_refurbished(YYYY-MM-DD),price,cost_price,origin,sku,notes,internal_notes.
Tick Update the units already known to change existing serial numbers, otherwise they are skipped. A sold unit is never modified by an import.
In the shop
Product page
Grade cards show the condition gauge, the price (“From” when pieces have different prices), the saving compared with new and the stock. The How are grades defined? link opens a window with each grade’s description, the checklist and the warranty.
Unit mode
Below the cards, the Choose your piece list shows each available unit of the selected grade: photo (full-screen viewer on click), masked serial, battery, tests, warranty and price. The Add this piece button reserves it in the cart for the set duration; a piece already reserved by another customer shows “Reserved”.
Comparison and new product
The table compares new and each grade: price, saving, cosmetic condition, warranty, availability. On the new product page, a box offers the refurbished option from the cheapest grade.
Unit sheet and certificate
An available unit has a public sheet (not indexed) with its photos, battery, checklist and technician notes. After the sale, the buyer finds in their order detail a link to the condition certificate, with the full number, the warranty end date and a print button.
Orders
- At validation, units reserved by the cart are assigned first, then the oldest free units. Units with an own price are kept for sales by unit.
- The serial number is added to the order line name if the setting is on.
- The back-office order page shows a Refurbished units block with a link to each unit.
- On the chosen statuses, units go back to available or returned, and the event is written to their history.
Dashboard and labels
Above the unit list: units on sale, to inspect and hidden, stock value at cost price, average age of the stock and number of units on sale for more than 60 days, units sold, tax-excluded revenue and gross margin over 30 days.
The Print labels bulk action opens an A4 sheet of 24 labels 63.5 x 33.9 mm (L7159 type): product, grade, battery, serial number and a QR code to the unit sheet. The Start at label no. field reuses a partly used sheet. Print at 100%, without margins or headers.
Known limitations
- A piece’s own price only applies in unit mode, and catalog price rules do not apply to pieces with an own price.
- On a refurbished product, stock typed by hand on a grade combination is replaced by the number of available units.
- If an employee without rights on the module edits a product, PrestaShop does not run the module hooks: use the stock resynchronisation.
- Hiding the native grade selector relies on the HTML of the native product page. On a heavily customised theme, the native selector may stay visible next to the cards.
- If a piece’s reservation expires while it is still in the cart, another customer can reserve it; the first customer’s order then receives another unit of the same grade if one exists.