CDiscount Marketplace Changelog
App updates
Changelog for Prestashop – Cdiscount Marketplace
Latest updates and release history for Prestashop – Cdiscount Marketplace.
v4.5.47
Update
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
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
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
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
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
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
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
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
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
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
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
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.