CDiscount Marketplace Changelog

Discover the latest improvements, new features, and fixes in the PrestaShop CDiscount Marketplace

App updates

Changelog for Prestashop – Cdiscount Marketplace

Latest updates and release history for Prestashop – Cdiscount Marketplace.

v4.5.43 Update
May 15, 2026
Fixed Updated

Fixed

Offer Integration Success Reporting

After Octopia accepts the package, the back office no longer reports a hard failure while listing validation details. Success line now counts offers (not products) and matches the package size.


Fixed

Product Integration XML Encoding

Accented or HTML-encoded text in catalogue fields, including variant attributes, no longer generates invalid XML in the Octopia product package.


Fixed

Filters (Manufacturers and Suppliers)

Excluded manufacturers and suppliers now correctly match the Filters tab during product export and offer integration. Supplier exclusions are now saved correctly.


Fixed

Information Tab Environment Checks

Environment checks (memory, shop URL, required customer fields, country setting) in the Information tab now work on PrestaShop 1.7 through 9.


Fixed

Information Tab Configuration Table Check

Configuration table check no longer displays a false database error.


Fixed

SendCloud Pickup Repair (PrestaShop Order ID)

SendCloud pickup repair now works when searching by PrestaShop order ID.


Fixed

Order Import Service Fee Defaults

Service-fee settings now apply correct defaults when the shop has never saved them.


Fixed

Colissimo Shipment Registration Check

Colissimo shipment registration is now skipped when the Colissimo module is not installed.


Fixed

Destination Detection (Overseas and Europe)

Overseas and European destination detection now uses supported country and zone rules on current PrestaShop versions.


Fixed

Order Import Validation Errors from Other Modules

Marketplace orders now continue importing when another module throws an error during order validation.


Fixed

Stock Handling (PrestaShop 9)

Order import stock handling on PrestaShop 9 now uses current stock APIs instead of removed legacy helpers.


Fixed

Categories Refresh Invalid Empty Result

Failed or partial Octopia responses no longer break category synchronization with invalid empty results.


Updated

EAN-13 Policy Wording

EAN-13 policy wording has been clarified in English, French, and Spanish.


Updated

Translation Cleanup

Obsolete long hints for offer package types and profile tooltips have been removed where translation keys were unused.


Updated

PHPUnit 9 Compatibility

PHPUnit 9 is now allowed to resolve to newer supported patch releases.


Updated

Back Office Shop Context Loading

Catalog and order back-office screens on PrestaShop 1.7 through 9 now load using standard shop context.


Updated

Module Package Common Folder

Shared marketplace environment checks are now included in the common folder shipped with the module. Filters tab.


Updated

Warehouse List Visibility

Warehouse list is now displayed only when advanced stock management and warehouses are available on the shop.


Updated

Cronjobs Schedule Values

Scheduled tasks in the PrestaShop Cronjobs module now receive correct numeric schedule values.

v4.5.42 Update
April 25, 2026
Fixed New feature Updated

Added

Default Order State and Carrier (Order Import)

Order import now supports optional default order state and carrier in PrestaShop when Octopia status or delivery mode is not mapped. Includes guidance on the Transport tab, saved settings, log notices, and EN/FR/ES copy.


Added

Order Import Error Details

When an order cannot be imported, the screen now shows a clear reason and, where applicable, a per-line list (reference and cause). The same detail is available in the log.


Added

Product Tab Offer Options (Variant-Level)

Cdiscount product tab now includes an offer options table by variant (price override, disable, stock, comment, delivery cost, lead time, align up/down, C Logistique, value added) with sticky base row, horizontal scroll, bulk clear with confirmation, and delayed autosave with toasts.


Added

Product Management Overrides (Product/Variant)

Cdiscount product tab now supports Product Management overrides (title, short and long text, images, extra attributes) for product or each variant, with bulk clear, autosave, and placeholders from the catalog.


Added

Product Management Image Validation

Product Management image lists are now validated (URLs, count limits), with on-save errors and safe fallback in product integration.


Fixed

Categories Refresh Error Messaging

API retry messages no longer expose raw timeout/debug text in the back-office. Failures are logged cleanly and shown as user-friendly results.


Fixed

Categories Refresh Pagination Defaults

Safer pagination defaults reduce timeout risk on large datasets while maintaining full synchronization behavior.


Fixed

Transport Carrier Reload (Force Reload)

Force reload now fetches fresh Octopia data before rebuilding the local carriers file, resolving issues where loaded carrier count remained zero due to stale/empty cache.


Fixed

Product Integration Special Character Handling

Export file and send step now correctly handle special characters in references and labels, preventing invalid data being sent to Octopia.


Fixed

Product Integration Performance (Large Shops)

Export performance has been improved for large shops (existing-offer check and variant handling).


Fixed

Product Integration Long-Run Handling

Large package sending to Octopia now runs long enough. If file read fails or request errors, the back office shows a clear error instead of hanging.


Fixed

Offer Export (CDaV Profile Settings)

CDaV profile settings (flag and price threshold) now apply correctly in the export package.


Fixed

Profiles Tab Price Rule Editor

Price rules editor no longer mixes data between profile rows.


Fixed

Product Options Stability

Product options now behave reliably across all supported store database setups.


Fixed

Order Import Temporary Address Handling

Invalid temporary address no longer causes hard failure. Tax calculation uses a fallback so order import can be retried.


Fixed

Order Import Column Alignment

Order import list columns (including C Logistique) now remain aligned.


Fixed

Order Import Reference Matching

References with inconsistent spacing now correctly match Octopia seller reference.


Updated

Octopia Carrier Retrieval Compatibility

Transport synchronization now supports both legacy delivery-mode payloads and current carrier-list payload structures.


Updated

Long-Running Job Stability

Long product integration or offer jobs are less likely to be stopped by PHP time limits. Very large actions may still be limited by hosting or reverse proxy.


Updated

Product Options Storage Structure

Product options storage now supports variant lines and Product Management fields. Upgraded shops receive the new layout via upgrade 4.5.42.


Updated

Expert Mode Removal

“Expert mode” setting has been removed as a separate switch. All options remain visible, and existing configurations are migrated.


Updated

Settings Cleanup (Legacy Options)

Unused legacy options (proxy, old fashion toggles) have been removed from the form. Existing saved values are preserved.


Updated

Product Tab UI Behavior

Empty numeric offer fields can remain empty. Base row can mirror empty variant cells. Includes wider columns, title hints, shared textarea style, updated EN/FR/ES strings, and refreshed scripts/styles.


Updated

Product Tab Compatibility (Simple Products)

Offer and Product Management tables now function correctly on simple products without attributes. Product ID detection is reliable on PrestaShop 1.7 product pages.


Updated

Product Tab Terminology

Copy and links now follow Octopia terminology (offer management vs product management).


Updated

Offer Update Structure

Offer update retains same back-office options with simplified internal structure for maintainability.


Updated

Transport Tab Enhancements

Order-side Transport tab now includes default carrier mapping guidance and related controls.


Updated

Categories Label Refresh

Universe labels now refresh when the local category data file is replaced.


Updated

Translations Cleanup

Obsolete translation keys have been removed. Carrier “last updated” string remains aligned across EN/FR/ES.


Updated

Developer Translation Script

Developer option added to remove orphan translation lines when keys match a strict rule.


Updated

Catalog UI Focus

CSV export path has been removed. Screens and wording now focus on product integration and offer integration.


Updated

Tab Label Normalization

Tab labels have been normalized to improve translation key consistency.

v4.5.41 Update
April 10, 2026
Fixed New feature Updated

Added

Variant Grouping Support (Octopia)

Variant grouping support for products integration (Octopia) has been added with configuration keys CDISCOUNT_VARIANT_GROUP_SOURCE (default legacy_reference) and CDISCOUNT_VARIANT_GROUP_FEATURE_ID (default 0 = disabled), including Back Office UI controls in the Settings tab.


Added

Variant Grouping Helper (CdiscountVariantHelper)

Variant grouping helper class (CdiscountVariantHelper) and unit tests have been added for feature-based variant group reference resolution and variation rule building.


Added

Upgrade Script (upgrade-4.5.41.php)

Upgrade script upgrade-4.5.41.php has been added to ensure safe defaults for the new variant grouping configuration keys on upgraded shops.


Added

Transport Carrier Mapping Override

Transport now supports optional per-country override mapping for Octopia parcel carriers (Octopia carrier + destination country → PrestaShop carrier), used during order import when parcels[].carrierName is present.


Added

EU VAT Compliance Setting

(CDISCOUNT_ORDER_IMPORT_COMPLY_EU_VAT_RULES)
Optional setting ‘Comply EU VAT rules’ (CDISCOUNT_ORDER_IMPORT_COMPLY_EU_VAT_RULES) has been added for order import, matching Octopia line VAT to PrestaShop tax rules for the shipping country (nearest rate), using line tax data from the API when present.


Added

SendCloud Pickup Repair (fix_sendcloud_pickup)

Orders configuration tab now includes ‘Fix SendCloud pickup integration’ to retry SendCloud service point import into ps_service_points_v2 by PrestaShop order id or orders API orderId/reference (AJAX action fix_sendcloud_pickup), with EN/FR/ES strings aligned with Octopia orders payload field names.


Added

SendCloud Pickup Notice

Orders configuration tab now includes a merchant notice (EN/FR/ES) indicating that SendCloud writes pickup data to service_points_v2 on new order import when configured, with a pointer to the repair tool for gaps.


Fixed

Service Fees in Order Totals (serviceFees, TotalServiceFees)

Order import (Octopia) now includes order-level service fees (e.g. from serviceFees, TotalServiceFees) in PrestaShop order totals when provided by the API, without requiring the legacy ‘Add extra fees’ option. Legacy orders with INTERETBCA/FRAISTRAITEMENT lines are unchanged to avoid double-counting. Orders tab includes an ‘Order import’ block with checkbox CDISCOUNT_ORDER_IMPORT_INCLUDE_SERVICE_FEES (default on).


Fixed

Service Fees as Product Line (serviceFees)

Optional setting allows importing serviceFees as a dedicated product line on the order/invoice (default off), with merchant-defined product SKU lookup and automatic virtual product creation when missing. Total-level service fee injection is disabled for the same order to avoid double-counting.


Fixed

Hook Execution (actionOrderHistoryAddAfter)

CdiscountOrderHistory now fires actionOrderHistoryAddAfter with truthy cookie/cart placeholders so PrestaShop Hook::exec does not inject Context cookie/cart (circular references). Third-party modules exporting hook payloads no longer throw errors in debug mode.


Fixed

Orders API Retrieval and Pagination

SendCloud repair / orders API now prefers GET /orders/{orderId}. List requests use pageIndex=1 (not 0) to avoid empty results and api_order_not_found. Numeric PrestaShop id and multishop Order load issues have been fixed.


Updated

Orders Tab UX (Order Import)

Orders tab UX has been updated with help text clarifying legacy fee SKU lines (FRAISTRAITEMENT/INTERETBCA) versus serviceFees behavior. Expert-mode restriction has been removed for Bulk Mode / Extra Fees controls. Orders tab interactions have been moved from inline template scripts to views/js/cdiscount.js (SKU field toggle and SendCloud repair action).


Updated

Configuration Tabs Lazy Loading

Back-office configure tabs now use tab-scoped data/view boundaries with AJAX lazy loading (first tab immediate, others on demand), with fallback reload on AJAX error.


Updated

Debug Metrics (Configure Tabs)

Back-office configure tabs now include admin debug-only tab load badge, spinner, sessionStorage-based first-load metrics cache, console timing table, and ‘reset metrics’ link.


Updated

Lazy Tabs i18n

EN/FR/ES translations have been added for debug badge and lazy-load status messages (loading, cache, error, reset).


Updated

Categories Synchronization (Pagination)

Categories synchronization now fetches Octopia categories with dynamic pagination (pageSize=3000) including isVariant, and writes /json/products-integration/categories/categories.json via a safe writer (temp file + replace).


Updated

Categories Synchronization Fallback

If Octopia pagination fails mid-run (e.g. HTTP 504), the existing categories.json is kept instead of being overwritten with a partial dataset.


Updated

Categories Tab Controls

Categories tab now includes category dataset sync status and refresh controls, with details about Octopia fields used (label, level, isActive, parentReference, isTranslated, parentReferences, isBrandMandatory, isVariant).


Updated

Transport Tab Carrier Controls

Transport tab now includes Octopia carrier sync status and a ‘Load carriers from Octopia API’ button, backed by a secure AJAX endpoint to reload carriers.json and display the carrier count.


Updated

Products Integration Variant Handling

Products integration export now follows Octopia category capabilities (isVariant and variation properties), with feature-based grouping fallback (empty parent feature → export as Standard).


Updated

GTIN Normalization

GTIN is normalized for API submission to match SubmitProductsCommand schema (integer when safely representable).


Updated

Product Title Default

Product Title default/fallback now uses ‘Category (Cdiscount), Brand, Name, Attributes’ when no explicit format is stored.


Updated

Product Title UI

Product Title formats in Settings UI have been reordered (recommended first), with clearer examples and documentation links.


Updated

Product Title Documentation Links

Obsolete Octopia URL has been removed, keeping valid Product management and Product feature references.


Updated

Export Transformation Hooks (products_create, products_update)

Generic transformation hooks have been added for third-party modules to adjust data before marketplace exports (products_create, products_update) and before products integration submission.


Updated

Module Build Script

Module build script now excludes the documentation folder from build artifacts.


Updated

Models Tab AJAX Handling

Models tab now correctly wires the saved model AJAX endpoint (load_models hidden input) and displays backend reason when loading fails.


Updated

Carrier Resolution with Country Override

Order import now applies country-specific PrestaShop carrier overrides before falling back to global Tracking mapping when resolving parcel carrierName.


Updated

Carrier Storage Path

Octopia carriers list is now persisted and loaded from /json/delivery-modes/carriers.json, with backward compatibility fallback from xml/carriers.json.


Updated

Carrier No-API Mode

Transport and order flows now read carriers exclusively from /json/delivery-modes/carriers.json. Unused API carrier wrappers (getCarrierList / wapperCarrierList) have been removed while keeping Transport reload controls.


Updated

Carrier File Handling

Carrier loader methods have been renamed to file-based naming. Force reload now normalizes/re-writes carriers.json. Warning logs are generated when the carriers file is missing or invalid, and Transport/order messaging has been updated.


Updated

Carrier-Country Override Deduplication

Duplicate carrier-country override rows are merged automatically at save time (unique by Octopia carrier + country), and existing duplicates are cleaned when loading Transport tab and during module upgrade.


Updated

Carrier-Country Override Warning

Admin now receives a warning message after save when duplicate override rows are auto-merged, with submitted versus kept counts.


Updated

SendCloud Integration (CdiscountSendCloud)

SendCloud (CdiscountSendCloud) now uses Service Points API v3 with v2 fallback, includes HTTP redirect handling, improved pickup code matching, Transportation tab ‘Test connection’, structured failure codes (importPickupPointWithResult), and logging via CdiscountLogger::addLogDetails.


Updated

SendCloud Import Idempotency

If ps_service_points_v2 already contains a valid service point for the cart (details JSON id), import is skipped. getServicePointIdForCart() returns the stored SendCloud service point id when present.


Updated

SendCloud Backfill on Existing Orders

Order import now runs SendCloud pickup integration when the marketplace order already exists in PrestaShop (order_exist) to backfill service point data on re-import.


Updated

SendCloud Configuration (Transportation Tab)

Transportation tab now includes SendCloud API credentials configuration (enable flag, public/secret keys, inline test) with related configuration and JS.


Updated

Orders Tab Visibility (SendCloud)

‘Fix SendCloud pickup integration’ block is now shown only when SendCloud integration is enabled in Transportation settings.


Removed

Imports Tab

Deprecated Imports tab and its template/translation leftovers have been removed after moving category synchronization controls to the Categories tab.

v4.5.40 Update
March 5, 2026
Fixed New feature Updated

Added

Per-Export Category Selection (Offers Update)

A new “Categories for this export” section has been added in the Update tab, allowing merchants to select which mapped categories are included for each manual export. Categories and profiles remain managed in the Categories tab, and cron continues using configured categories.


Added

Category-Aware Descriptions and Translations

Descriptions and translations (EN/FR/ES) are now category-aware across Create, CSV, and Update tabs. Labels for Send All Offers, Active Offers, Available Offers, and per-category product filters have been clarified.


Fixed

PHP 8 Deprecation Warnings (cdiscount.product.class.php)

The getExportProducts() method now preserves its original parameter order while introducing a default shop ID, preventing “optional before required” warnings without breaking backward compatibility.


Fixed

Carrier Shipping Configuration Validation

An issue causing fatal errors when carrier configuration fields (Min/Additional charge) contained non-numeric values has been resolved. products_update.php now validates and casts values before calling Tools::ps_round(), treating invalid values as unset.


Updated

Offers Update Export Summary Reporting

The export summary continues to report the number of offers written into the OfferPackage XML for the current selection, while Cdiscount logs still track per-offer validation results.


Updated

Translation System Normalization

Translations have been consolidated into a single source per language under /translations/ (en.php, fr.php, es.php). Changes include removal of incorrect module keys (e.g., feedbiz), migration to unified $_MODULE = [ ... ] format, synchronization of missing Smarty template translations (EN/FR/ES), and removal of unused template keys.

v4.5.39 Update
February 9, 2026
Fixed New feature Updated

Added

Database Transaction for Order Import

Each order import now runs within a single database transaction. On failure, all related database changes (addresses, customer, cart, order, order_detail, saveOrderInfo, etc.) are rolled back.


Added

SendCloud Pickup Point Integration

When using SendCloud for label generation, Cdiscount orders with Mondial Relay pickup points are now imported with service point data into the ps_service_points_v2 table.


Added

SendCloud Configuration (Transportation Tab)

New configuration fields include API Public Key, API Secret Key, and an enable option for SendCloud pickup point import.


Added

Pickup Point Integrations Section

A new section in the Transportation tab includes integrations for Mondial Relay, Colissimo, and SendCloud (all disabled by default), with descriptions and translations (EN/FR/ES).


Added

CdiscountSendCloud Class

Introduced for integration with the SendCloud Service Points API.


Added

CdiscountMondialRelay Class

Provides integration with the Mondial Relay native module, including methods such as isInstalled, importToTable, getIdCarrierMethod, and getMarketplaceOrdersStatesByIdLang.


Added

CdiscountColissimo Class

Handles integration with Colissimo / La Poste modules, including Colissimo Flexibilité and legacy So Colissimo (deprecated).


Added

Failed Order Import Notification Email

When one or more orders fail to import, a summary email can be sent including marketplace, date, import mode, failure count, and detailed errors using the order_import_fail template.


Added

Failed Order Import Notification Configuration

A new Orders tab section allows enabling notifications and configuring recipients (defaults to PS_SHOP_EMAIL if empty).


Fixed

SendCloud Service Points Update Issue

Resolved an issue where ps_service_points_v2 was not updated during order import. Mondial Relay pickup processing now executes when SendCloud is enabled and configured, regardless of Mondial Relay integration setting. Configuration keys now use CdiscountConstant.


Fixed

SendCloud API Response Parsing

Now supports multiple response formats (direct arrays and wrapped formats like service_points or data) for consistent pickup point resolution.


Updated

SendCloud Pickup Point Handling

All pickup point delivery methods are now sent to SendCloud when enabled. Octopia delivery modes are mapped to SendCloud carriers (Mondial Relay, Relais Colis, Colissimo), including standard, express, and legacy codes.


Updated

SendCloud Logging (PrestaShopLogger)

Each SendCloud import attempt is logged with structured context (order, cart, carrier, pickup details) and outcome (success/failure), improving debugging and traceability.


Updated

SendCloud API Connectivity Guidance

Added documentation and testing guidance for Service Points API keys, including troubleshooting steps and support flow.


Updated

Octopia Orders API Rate Limiting

Implemented in-process rate limiting (max 60 calls/minute per process) in cdiscount.request.class.php to prevent excessive API usage.


Updated

Failed Import Notification Behavior

Notification email field now displays PS_SHOP_EMAIL when empty, supports multiple recipients (comma-separated), and includes descriptive guidance.


Updated

Order Import Pickup Point Priority

SendCloud is prioritized when configured; otherwise falls back to Mondial Relay native module.


Updated

Pickup Point Architecture Refactor

Each carrier integration (Mondial Relay, SendCloud, Colissimo) is handled by its own class, orchestrated by CdiscountPickupPoint.


Updated

Direct Module Calls for Pickup Handling

Order import now directly invokes carrier-specific classes for pickup point processing.


Updated

Colissimo Integration Update

Supports Colissimo Flexibilité and legacy So Colissimo, while maintaining Octopia label naming.


Updated

Conditional Pickup Import Execution

Pickup import runs only when the corresponding integration is enabled (default: false).


Updated

Failed Import Notification Trigger

Notifications are sent for both manual and cron imports when at least one error occurs. Logging added for email failures via CdiscountLogger::addLogDetails().


Updated

Back-Office UI Adjustment

Notification configuration moved from Cron tab to Orders tab.


Updated

Import Default Settings

Default import type falls back to “Import by SKU”, and EAN policy defaults safely to NORMAL when unset.


Updated

Transaction Commit/Rollback Logic

Commit occurs only after successful saveOrderInfo; otherwise rollback is executed and success count adjusted.


Updated

Cart Deletion Logic on Failure

Cart is deleted only if no transaction was active, preventing duplicate deletion after rollback.

v4.5.38 Update
January 26, 2026
Fixed New feature Updated

Added

Order Import Filters (Octopia State)

Order import (manual and cron) now supports filtering by Octopia order states.


Added

Order Import Filter (Reference)

Orders can now be filtered by order reference during import.


Added

Hide Already Imported Orders Filter

Introduced a filter to exclude already imported orders.


Added

Additional Delivery Modes

Support added for delivery modes including Livraison Express and Cdiscount Fulfillment variants.


Added

Enhanced Cron Result Display

Cron execution now returns formatted HTML output with import statistics and summaries.


Added

Transportation Tab Field Descriptions

Descriptions and translations added for “Min Charge” and “Add.Charge” fields.


Added

Select All Order States Option

Checkbox functionality added to select all order states in import configuration.


Added

Cron Parameters for Order Import

New parameters include date range, order states, and page size.


Added

Offers Update Cron Job (CRON_PRODUCTS_UPDATE)

Supports parameters such as option-package, channel-select, and offer selection types.


Added

Request Validation for Product Updates

Validation added for option-package, channel-select, and force in both manual and cron executions.


Added

Full Package Offer Attributes

Expanded attributes including Name, EcoPart, DeaTax, Vat, StrikedPrice, Comment, PreparationTime, ShippingCharges, AdditionalShippingCharges, and DiscountComponentList.


Fixed

Null Check in merge.php

Resolved issue where missing null checks could cause errors when offers are null.


Fixed

Multitenancy JSON Encoding

Corrected character encoding issues for Cdon Norway and Sweden.


Fixed

urlencode() Deprecation Warning

Handled null input to prevent PHP deprecation warnings.


Updated

Octopia Delivery Modes Reference

Updated according to official Octopia delivery modes documentation.


Updated

Build Scripts Configuration

Adjusted included/excluded files for module build process.


Updated

Order Status Cron Job

Improvements applied to order status cron behavior.


Updated

Escape Modifier Settings

Standardized to HTML type with UTF-8 charset.


Updated

.gitignore Configuration

Added .cursor folder exclusion.


Updated

Cron Configuration Simplification

Removed Octopia channels from cron URLs; now uses only Cdiscount sales channel.


Updated

Context Restoration Fallback

Falls back to current context instead of exiting when stored context is invalid.


Updated

Product Update UI Descriptions

Aligned with Octopia API definitions.


Updated

Full Offer Integration Support

Supports multiple package types and dynamic channel selection.


Updated

Fulfillment Order Import Support

Cron import now includes fulfillment (C Logistique) orders with carrier lookup improvements.


Updated

Order State Handling Keys

Introduced new keys with fallback to legacy ones.


Updated

Default Offers Cron Package

Changed from “full” to “cdiscount” (Stock & Price Light).


Updated

Order Import Error Handling

Continues import even if actionValidateOrder hook fails.


Updated

Cron Parameters UI Fixes

Corrected checkbox selector and added radio button handling.


Updated

Products Update UI Logic

Improved enable/disable logic for channel selection across package types.

v4.5.37 Update
December 29, 2025
Fixed New feature Removed Updated

Added

PHP Version Requirement (composer.json)

The required PHP version has been defined in the composer.json file.


Fixed

Trailing Commas Compatibility (PHP < 7.3)

Trailing commas in function calls have been removed to maintain compatibility with PHP versions below 7.3.


Fixed

Fulfillment Order Import

Resolved an issue preventing Fulfillment orders from being imported into PrestaShop.


Fixed

Seller Picture URL Format

Seller picture URLs are now required to use HTTPS.


Removed

PHP-CS-Fixer Rule (visibility_required)

The visibility_required rule has been removed from PHP-CS-Fixer configuration.


Removed

Unused .htaccess Files

Removed classes/shared/.htaccess and functions/.htaccess files.


Removed

Modern Nullable Type Hints

Removed modern ?string type hints to comply with PrestaShop validator requirements.


Updated

Category Reference Display

Category reference is now displayed alongside the category label in model configuration.


Updated

Debug Output Behavior

Details are now printed regardless of debug mode status.


Updated

Delivery Modes Handling

Updated logic for ImmediateVendorPickup and VendorPickup delivery modes.


Updated

Documentation URLs

Documentation links for Mapping and Filter configuration tabs have been updated.


Updated

.htaccess Compatibility

Updated .htaccess file to ensure compatibility with Apache 2.2 and 2.4.


Updated

Octopia Order States Reference

Updated based on Octopia order states documentation.


Updated

Mail Alerts Module Association

Module is now associated with Mail Alerts module version 3.0.1.

v4.5.36 Update
October 31, 2025
New feature Removed Updated

Added

JSON Content-Type Header (Product Integration)

Added Content-Type: application/json header to product integration requests.


Added

Detailed Logging Context

Logging now includes detailed context such as file, line, function, and variable dumps.


Updated

Product Integration Capacity

Supports integration of up to 10,000 products in a single operation.


Updated

getExportProducts Default Dates

Default “date from” and “date to” values are now set to empty in getExportProducts.


Updated

Category Level Labels

Updated category level labeling for model configuration.


Updated

Attribute/Feature Mapping Values

Mapped attributes/features now accept color and size values from model specifics.


Updated

Product Filter Logic (Active/Available)

Updated filtering logic for active and available products.


Updated

Offer Filter Logic (Active/Available)

Updated filtering logic for active and available offers.


Removed

Inactive Product Update Option

Removed the “Allow updating inactive products” setting.


Removed

Out-of-Stock Product Update Option

Removed the “Allow updating out of stock products” setting.

v4.5.35 Update
September 29, 2025
Fixed New feature Removed Updated

Added

Accepted Hat Size Attributes

Added JSON file for accepted hat sizes: json\products-integration\attributes\accepted_hat_size.json.


Added

Accepted Shirt Size Attributes

Added JSON file for accepted shirt sizes: json\products-integration\attributes\accepted_shirt_size.json.


Added

OSP Name Translations (EN/FR/ES)

Added translations for OSP names based on language code as displayed in the seller portal.


Added

Delivery Modes JSON Configuration

Added delivery modes configuration via JSON files under json\delivery-modes\.


Fixed

Colissimo Service ID Retrieval

Corrected logic for retrieving Colissimo service ID.


Fixed

Relay Number Format Validation

Relay number must now be a 6-character string.


Fixed

Mondial Relay Order Association

Correctly associates Cdiscount orders with the Mondial Relay module.


Fixed

Cdiscount::$url Visibility

Changed access level of Cdiscount::$url to public (aligned with ModuleCore).


Fixed

Undefined Constant (PS_PROD_IMG_DIR)

Handled missing _PS_PROD_IMG_DIR_ constant in PrestaShop 9.0.0.


Updated

Null Coalescing Syntax Compatibility

Replaced $variable1 ?? $variable2 with $variable1 ? $variable1 : $variable2.


Updated

.gitignore Configuration

Updated .gitignore file.


Updated

Order Address Handling

Second line of order address is optional and no longer modified during import.


Updated

Field Size Property Usage

Replaced deprecated $fieldsSize with $definition['fields']['{column_name}']['size'].


Updated

Folder Naming Convention

Renamed json/products_integration/ to json/products-integration/.


Updated

stripslashes Usage

Replaced Tools::stripslashes() with stripslashes().


Updated

Validation Rules Method

Replaced ObjectModel::getValidationRules() with CommonValidate::getValidationRules().


Updated

Spelling Correction

Corrected “occured” to “occurred”.


Updated

Documentation URLs

Updated module documentation links for EN and FR.


Updated

Transportation Tab

Updated Transportation tab configuration.


Updated

Mapping Tab (Attributes/Features)

Updated attributes and features mapping section.


Removed

Class Constant Visibility Declaration

Removed explicit public visibility declaration for class constants.


Removed

Return Type Declarations

Removed return type declarations for compatibility.


Removed

Optional Carriers Section

Removed optional carriers section from Transportation tab.


Removed

Nullable Type Hints

Removed modern ?string type hints for validator compliance.

v4.5.34 Update
July 16, 2025
Fixed New feature Removed Updated

Added

config.xml File

Added config.xml file to the module.


Added

Mondial Relay Table Integration (Orders)

Cdiscount orders are now inserted into mondialrelay_selected_relay table if available, enabling label generation visibility.


Added

Carrier Module Association

Cdiscount orders are now associated with both Colissimo and Mondial Relay modules.


Added

Crisp Chat Integration

Crisp chat has been integrated into the module.


Added

Octopia Seller API Documentation

Added reference to Octopia Seller API documentation.


Added

Module Changelog Link

Added direct link to module changelog.


Fixed

trim() Deprecation Warning

Resolved deprecation warning when passing null to trim() in cdiscount.tools.class.php.


Updated

.gitignore Configuration

Updated .gitignore file.


Updated

getUpdateProducts Function

Updated logic within getUpdateProducts.


Removed

Unused Directories and Files

Removed tips/, demo export ZIP files, and logs/product_update/ directory.


Removed

displayAdminOrderMain Hook

Removed displayAdminOrderMain hook.


Removed

Earliest Shipping Datetime Removal

Removed “Instructions” field from order data.

v4.5.33 Update
Fixed New feature Removed Updated

Added

PrestaShop Dev Tools

Added development tooling configuration based on:
https://devdocs.prestashop-project.org/8/modules/testing/advanced-checks/

PHPStan, Fixer, CodeSniffer rules
PrestaShop Dev Tools to improve code quality

composer require --dev prestashop/php-dev-tools

PHP CS Fixer
To fix coding style

composer require --dev friendsofphp/php-cs-fixer
php vendor/bin/php-cs-fixer fix . --verbose --config=.php-cs-fixer.dist.php


PHPStan
For static analysis

composer require --dev phpstan/phpstan
php vendor/bin/phpstan analyse -c tests/phpstan/phpstan.neon
php vendor/bin/phpstan analyse .


PHPUnit
To run tests

composer require --dev phpunit/phpunit
php vendor/bin/phpunit


PrestaShop Autoindex
For security

composer require --dev prestashop/autoindex
php vendor/bin/autoindex prestashop:add:index .


PrestaShop Header Stamp
For license headers

composer require --dev prestashop/header-stamp
php vendor/bin/header-stamp --exclude=vendor --exclude=node_modules


PHP CodeSniffer
For optional coding standard fix

composer require --dev squizlabs/php_codesniffer
php vendor/bin/phpcbf --ignore=vendor/*,node_modules/* .
php vendor/bin/phpcs --ignore=vendor/*,node_modules/* .


Added

Missing index.php in folders

Added missing index.php files in module directories.


Added

Missing License Header

The missing license header has been added in each CSS, JS, PHP, and TPL file.


Added

Module Build Scripts

Module build scripts have been added.


Fixed

Compatibility Issues

Resolved multiple module compatibility errors.


Fixed

Non-Unique HTML IDs

Resolved issues with duplicate element IDs.


Fixed

Invalid Security Key

Corrected invalid security key handling.


Fixed

SQL Injection Risk

Sanitized SQL request variables.


Updated

.gitignore Configuration

Updated .gitignore file.


Updated

PrestaShop Validation Compliance

Adjusted module to comply with PrestaShop validation rules.


Updated

PHP-CS-Fixer Rules

Updated coding standards configuration.


Updated

Order Shipping/Delivery Datetime

Corrected incorrect shipping and delivery datetimes.


Updated

Earliest Shipping Datetime Removal

Removed earliest shipping datetime as not provided by Octopia.


Updated

Credentials Field UI Width

Set width of client ID, client secret, and seller ID fields to 500px.


Updated

Code Formatting

Formatted JS and PHP files.


Removed

Legacy PrestaShop Support

Removed backward compatibility for PrestaShop versions below 1.6.

v4.5.32 Update
Fixed New feature Updated

Added

PHP-CS-Fixer Rule (single_blank_line_at_eof)

Added single_blank_line_at_eof rule to coding standards.


Fixed

Undefined Variables (API Wrapper)

Resolved undefined variables in cdiscount.apiwapper.class.php.


Fixed

Order Import (In-Preparation State)

Resolved issue preventing import of “in-preparation” orders.


Fixed

Loose Comparison Issue (0E Strings)

Avoided loose comparison issues for strings starting with 0E in model templates.


Updated

GDPR Compliance

Updated module for GDPR compliance.


Updated

Octopia Connection Documentation

Updated documentation for Octopia connection configuration.


Updated

Smarty Template Formatting

Formatted credentials.tpl template file.


Updated

Product Title Handling

Product title remains unchanged if no format is selected.


Updated

Offer Submission Interval

Increased waiting time to 10 minutes between offer package submissions.


Updated

Mapping Tab Layout

Moved attribute section above feature section.


Updated

Email Handling

Removed encrypted email and used email field from Octopia order response.


Updated

Octopia Webservice Integration

Applied category, carrier, order, product, and seller services from Octopia Webservice.

CDiscount Module – What’s New, First Quarter 2015

Fashion Category – At least one free shipping fee

From 02/17 all the products of the Fashion category will have at least one free shipping fee (normal, followed, recommended, global relay and/or relay box), otherwise the corresponding offer will not appear on CDiscount.

You bought the module by subscribing to the optional updates (Serenity) and your purchase is less than a year, you can get a free upgrade.

The module now allows you to apply this mandatory consideration:

But also to include all or part of the shipping fee normally calculated in the product price with the possibility to set a limit as a percentage of the product price, as shown in the configuration profile sample above.

So you can for example include 20% of the original shipping fee but not exceeding the price of the product, the module will cap the 20% to 10% of the product price in the example shown.

Messaging Tab

From March 2015, you can automatically send invoices as email attachments to the customer.

Will show you an order status since the time when it has been automatically triggered the sending of the PDF invoice to the customer:

You can also attach conditions of sale or return of products, also in PDF format.

PrestaShop Cronjobs

The PrestaShop Module Cronjobs made a discreet appearance in PrestaShop, but it is a revolution for users of PrestaShop;

Managing your scheduled tasks (cron) is now centralized in your PrestaShop backoffice and is a cinch to set up, you specify the URL of the task and the frequency.

In addition to this ease, we have added in the CDiscount module eponymous tab a button that configures your PrestaShop module Cronjobs with the tasks necessary to the marketplace, the frequency we recommend, that way you have nothing to configure.

Then you will see the performance of your stock updates by viewing the module log:

Please note that the screenshot of this post are in french, as the module targets the french market. It is available in english for international sellers for their convenience.

Back to module description