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.47 Update
June 22, 2026
Fixed New feature Removed Updated

Added

Hidden Catalog Product Exclusion

Product integration, offer updates, and scheduled offer updates now skip hidden catalog products by default when PrestaShop visibility is set to none. This prevents personalized or internal SKUs from being sent to Cdiscount unless the option is disabled.


Added

Previously Imported Orders Display Option

The Order Import scheduled task now includes an option to hide or list orders already imported into PrestaShop when fetching orders from Octopia. Previously imported orders are hidden by default.


Fixed

Full Package Sales Channel Handling

Selecting Full Package for Cdiscount during offer integration no longer sends offers to another marketplace when a sales channel was previously selected. Only “Full Package (Specific Sales Channel)” now uses the channel selector for XML and JSON exports.


Fixed

Orders Tab Status Selection Detection

The Orders tab lookup no longer reports that no order status was selected when statuses are already checked.


Fixed

Order Import Status Filtering

Order import lookup and the scheduled task no longer return no orders when all statuses are selected or when the filter includes a status that is invalid for the Octopia order list API.


Fixed

Octopia Order-Level Status Validation

Order import now sends only Octopia-allowed order-level statuses to the marketplace list API. Invalid values are ignored instead of causing an empty or failed response.


Fixed

Paginated Shipment Status Resolution

The shipment cron now correctly resolves the status of each Cdiscount order when Octopia returns orders in a paginated list. Already-shipped orders are now skipped for the correct reason instead of producing a generic API error.


Fixed

Large Shipment Batch Processing

The shipment cron now processes large batches of shipped PrestaShop orders in one run without dropping orders partway through. Marketplace orders are loaded through paginated list calls instead of making one request per order.


Updated

Shipment Cron Skip Log

The shipment cron skip log now includes the tracking number and carrier already stored on Cdiscount when the marketplace order has a Shipped or Delivered status.


Updated

Order Import Scheduled Task Results

The Order Import scheduled task now reports whether Octopia returned no orders within the selected date range or whether every order in the range had already been imported into PrestaShop.


Updated

Order Import Status Translations

Order import status labels are now translated consistently in French and Spanish across the Orders and Cron tabs.


Updated

Duplicate Product Reference Message

Order import lookup now displays a clearer message when a product reference matches multiple products or combinations in PrestaShop.


Removed

Cancel Request Order Status Filter

Cancel Request has been removed from the order import status filters on the Orders and Cron tabs because Octopia does not accept it through the order list API.

v4.5.46 Update
June 10, 2026
Fixed Removed Updated

Fixed

Tracking Link URL Encoding

Mondial Relay and other carriers whose tracking link contains several query parameters now send a working link to Cdiscount when the order is marked shipped. Ampersands in the URL are no longer double-encoded.


Fixed

Order Status Cron Database Error

Order status cron no longer stops with a database error when loading shipped orders for Octopia synchronization.


Fixed

Accept Orders Product Matching

Accept orders screen now matches lines to the catalog using the same SKU or PrestaShop product ID choice as order import.


Fixed

Shipment Cron Order Retrieval

Shipment cron no longer skips orders that are ready to ship when Octopia lists many Accepted or InPreparation orders within the date window.


Fixed

PHP 8.1 Multistore Compatibility

Module configuration and Cronjobs tab no longer return a server error on PHP 8.1 and later when multistore is disabled.


Fixed

Smarty PHP Notices

The back office no longer displays Smarty PHP notices on PHP 8 when debug mode is enabled. Configuration tabs, catalog screens, and order pages now handle optional fields safely.


Updated

Expert Mode Removal

The obsolete expert mode switch has been fully removed from the module code and environment diagnostics. All settings remain visible, as they have since v4.5.45.


Updated

Order Cron URLs

Order scheduled tasks now have clearer cron URLs for accept, import, and shipment. The Cronjobs tab displays the recommended links alongside the previous URLs, which remain supported for existing crontabs.


Updated

Shipment Cron Skip Reasons

Shipment cron output now lists a skip reason for each order that is not sent, including missing tracking, Octopia status, C Logistique, and similar cases.


Updated

Order Acceptance and Shipment Logging

Successful order acceptances and shipments are now written to the PrestaShop log together with failures and skip details.


Updated

Cdiscount Shipment Guidance

The Orders tab now explains that Cdiscount shipment runs through the scheduled shipment task after the PrestaShop order is Shipped and a tracking number is available.


Updated

Bulk Mode Stored Setting Removal

The upgrade for this release removes the unused Bulk Mode stored setting from existing shops.


Removed

Bulk Mode

Bulk Mode has been removed from the Orders tab. Changing a PrestaShop order to Shipped no longer calls Cdiscount immediately. Shipment is always sent by the scheduled task when a tracking number is present.

v4.5.45 Update
June 2, 2026
Fixed New feature Updated

Added

Product Matching Method (Order Import and Catalog Integration)

A choice to match by product reference (SKU) or by PrestaShop product ID has been added on the Settings tab. The selected method applies to order import, new product export, and offer price/stock updates. SKU remains the default for new shops.


Added

Offer Package Rejection Guidance

When Octopia rejects the offer package due to HTTP 404 or incorrect format, the back office now explains how to whitelist Octopia collector IPs and verify the public offer ZIP URL for external data collection.


Fixed

Product ID Matching Preference After Upgrade

Shops that already used product-ID matching before v4.5.44 now keep their saved preference after upgrading. Saving other configuration tabs no longer clears this preference.


Fixed

Product VAT on Invoice PDF

Product VAT on newly imported orders now appears correctly on invoice PDF tax lines.


Fixed

Shipping VAT with Comply EU VAT Rules

When Comply EU VAT rules is enabled, delivery VAT from Octopia is now applied to shipping so invoice tax details can include livraison, not only products.


Fixed

PrestaShop 9 Order Import and Address Encoding

Orders now import again on PrestaShop 9 when stock is checked. Customer address text no longer uses deprecated encoding on PHP 8.2+.


Fixed

Order Import Taxes Setting

Saving another module configuration tab no longer turns order import taxes back on when the shop has disabled Taxes.


Fixed

Product Integration ZIP Creation

Product integration export now creates the ZIP file when no previous export date is stored.


Fixed

Product Integration Feature Data Query

The product integration feature data query now works on current PrestaShop database layouts.


Updated

Matching Method Labels and SKU Settings

Settings tab now includes clearer labels for order import and catalog integration matching by SKU or PrestaShop product ID. SKU character replacements and automatic sanitization are hidden and not applied when matching by product ID.


Updated

Settings Tab Option Visibility and Grouping

Expert mode has been removed from the Settings tab. All options are now always visible and grouped under pricing, taxes, SKU, catalog, orders, customers, and automation.


Updated

Taxes and Comply EU VAT Defaults

New shops and upgraded shops now enable Taxes and Comply EU VAT only when those settings have never been saved. Existing Yes/No choices remain unchanged.


Updated

Shipping Tax Data for EU VAT Alignment

Order import now uses Octopia selling-price shipping tax data when aligning EU VAT on imported orders.


Updated

Offer Integration Firewall Guidance Translations

Offer integration firewall guidance is now available in English, French, and Spanish.

v4.5.44 Update
May 26, 2026
Fixed New feature Updated

Added

SKU Character Replacements (Settings Expert)

Optional SKU character replacements have been added in Settings (Expert), allowing one character in the product reference to be replaced before it is sent to Octopia. The same rules are used when importing orders. Catalog references are not changed in PrestaShop.


Added

Automatic SKU Sanitization for Octopia

Automatic SKU sanitization for Octopia has been added. Accents and forbidden characters are normalized on export and order matching. Manual character replacements still run first, and sanitization always applies last.


Added

Attribute Value Filter (Filters Tab)

Attribute value filter has been added in the Filters tab, allowing specific PrestaShop attribute values, for example a bottle size, to be excluded from product creation and offer updates. Other variants of the same product are still exported.


Fixed

Offer Integration XML Package Naming

Offer integration (XML) ZIP packages now use Offers.xml inside Content/ using Octopia pivot naming. Stale lowercase offers.xml is removed before each export, and Octopia rejection text is shown in the back office.


Fixed

Offer Integration XML Large Catalog Warning Lists

Offer integration (XML) very large catalog warning lists no longer exhaust server memory in the export response.


Fixed

Offer Integration Invalid SKU Details

Invalid SKUs in offer integration are now listed with a suggested Octopia-compliant reference and the characters that caused the rejection.


Fixed

Offer Integration Shipping Modes

Shipping modes in the offer package are now limited to delivery modes activated on the Cdiscount seller account, reducing rejections such as express delivery not configured.


Updated

Octopia Product Reference Rules

Product references sent to Octopia now follow the marketplace ASCII sellerProductId rules, where the pipe character is not allowed.


Updated

Import by Product ID Option (Settings Expert)

The import-by-product-ID option has been removed from Settings (Expert). The module always uses the product or combination reference (SKU), with a short explanation on the Settings tab.


Updated

Legacy EAN-13 Exempt Choice

The legacy EAN-13 exempt choice has been removed from Settings. Shops that used it are switched to Normal on upgrade, in line with current Octopia GTIN requirements.


Updated

Normal EAN-13 Policy Help Text

Normal EAN-13 policy help text no longer refers to account exemption.


Updated

Manufacturer and Supplier Filter Labels

Manufacturer and supplier filter headings in the Filters tab now use singular labels, with clearer help text. Product creation and offer updates print how many lines were skipped per excluded brand, supplier, or attribute value.


Updated

SKU Replacement and Import Type Translations

Settings strings for SKU replacements and import type have been updated in English, French, and Spanish.


Updated

Filters Tab Translations

Filters tab strings have been updated in English, French, and Spanish.

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.

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