Start
Preamble (Cdiscount)
Compatibility The 4.5 branch of the Cdiscount Marketplace module is compatible with PrestaShop 1.7 to 9.x. Always use the latest module version provided by Common-Services (Addons or support update link). Pre-configuration By default, the original configuration fits most common needs. Only change advanced settings if necessary, and only if you understand the impact. Where to find the module Once installed and configured, you will find the module here: **Modules > Module ManSome readersUnderstanding the Difference Between Offers and Products (Cdiscount)
Simple example You are looking at a store window: a T-shirt catches your eye. What you see in the window is the product (the sheet: description, images, features). You enter the store: that T-shirt exists in several sizes and colors, sometimes at different prices. Those are the offers. On a marketplace, the principle is the same: the product sheet is shared (Cdiscount / Octopia catalog); each seller publishes their own offer (price, stock, shipping, condition). DefiPopularValidate your catalog structure (Cdiscount)
For your products to be sent correctly to marketplaces, you must always fill out your product sheets in the same way (same types of references, EAN codes, etc.). A well-organized catalog prevents most errors. The importance of the “Reference” field In PrestaShop, the Reference field is the unique identifier for Cdiscount (also called the SKU). Cdiscount / Octopia uses this reference to recognize your items (SellerProductId) and to import your orders. If the reference is empty orSome readersYouTube Video
Vidéo YoutubeFew readers
Configure
Installing the module (Cdiscount)
Module Installation Procedure The standard installation process is detailed on the official PrestaShop website: 🔗 View the PrestaShop documentation here 💡 While this official guide is older, the steps remain completely valid for all setups. It covers every scenario in detail, which is why we recommend following it. Troubleshooting Automatic Installation If the automatic installation from your PrestaShop back office fails, youSome readersConfigure the connection settings (Cdiscount)
You are using the module for the first time, you need to have your Client ID, Client Secret and Seller ID. To generate the Client ID and Client Secret, go to Delegation Page – Octopia API documentation Select "I'm using a plugin" then "I need a new ClientId". Follow the process. **It is essential to completePopularConfigure a model (Cdiscount)
Models allow you to complete the data required by Cdiscount for a group of items. This is also where you choose the Cdiscount category (levels 1, 2, and 3) — not on the profile. ⚠️ Tip for your first export: Mandatory fields are marked with a red asterisk (*). Others are optional. To start, fill out only the mandatory minimum. You can enrich your feed with optional fields later. Once your model is configured, simply assign it to your [Profile](https://doc.common-servicePopularConfigure a profile (Cdiscount)
As indicated in the Preamble (CDiscount), profiles apply export business rules (price, shipping, delay…) and correspondence to Cdiscount via an associated model. You can also apply global rules such as changing the selling price for CDiscount. To begin to familiarize yourself withPopularSelecting the Categories
Here you select which PrestaShop categories to export and which profile to associate with them. If your profiles are not ready yet, configure the Profiles tab first. On the left, the category must be checked, and on the right, you must select a profile. Here is an example highlighted in green: Please note: The checkFew readersMapping
After configuring your models in the Cdiscount module, you can define attribute and feature mappings in the Mappings tab. Purpose The Mappings tab allows you to translate or adapt the values from your PrestaShop catalog to the values expected by Cdiscount. This is especially useful when: Your PrestaShop features don’t exactly match Cdiscount’s expected values. You need to standardize your product values so they are properly recognized by the marketFew readersTransport
Available Carriers The module displays the carriers you have selected in your Cdiscount back-office configuration. Only your selected carriers will appear here: 📌 Key Rules for Shipping Rates: Destination Zone: Shipping rates are calculated specifically based on your PrestaShop France zone settings during offer exports, rather thanSome readersSettings
Import/Export Type Default Value: By Reference / SKU (Highly Recommended) In Settings, under Product references (SKU), choose whether the module synchronizes by Reference (SKU) or by Product ID. Product ID is generally not necessary; we recommend Reference. Make sure that all products have unique references as shown on Validate your catalog structure. Use Product ID onlSome readersPrice Rules
You can set price rules for your exports to CDiscount. These rules are applied to prices including taxes (TTC). You can define a price rule for each profile. Price rules are defined in ranges, and for each range you can apply either a value or a percentage (positive = increase, negative = decrease). Do not overlap ranges (if one range ends at 100, the next starts at 101). Here is an example: 
C Logistique (Octopia / Cdiscount fulfillment): the Cdiscount warehouse prepares and ships some orders for you. The module does not subscribe you to the service — that is done in Octopia / Cdiscount. Here you only enable the PrestaShop features (import, stock, carriers, order states). 1. Enable in the module Settings → C Logistique: C Logistique → Yes (Activate C Logistique features) Optional: Decrease Quantities (C Logistique) → Yes to decrease PrestaShopFew readersGPSR / Product Safety (Cdiscount)
The module tab GPSR / Product Safety manages product safety data required by Octopia / Cdiscount (GPSR regulation). GPSR fields are sent on Product Integration only, not on offer or stock updates. After changing GPSR data: re-export with Product Integration and Ignore Existing Inventory. 1. Property map — Scan GPSR properties Open the module configuration → GPSR / Product Safety. Click Scan GPSR properties. The module scans models / categories and showsFew readersOctopia sales channels
Some Octopia accounts sell only on Cdiscount. Others are also subscribed to other marketplaces (Casino, Fnac, Sellzz…). This is not PrestaShop multi-store mode. Depending on your account, the module shows either Cdiscount only, or options to choose another channel. Most common case: Cdiscount only Go to Catalog → Cdiscount → Offer Integration. Under Offer Package Type, you usually see: Stock & Price (Light) Fast stock and price update on Cdiscount. No chaFew readers
Operation
Is it necessary to send my products?
I understood the difference between offers and products, but how to know if it is necessary to send my products? Either you have the certainty that your products do not exist on CDiscount, i.e. they are not known through their EAN code. In this case, you will need to create your products in order to be able to publish offers on them. Follow the tutorial [Export : ProductsSome readersExport : Products creation
Check if Is it necessary to send my products? Then, four steps are necessary: 1. Prepare to send your products Your connection parameters are configured, you have configured a profile, a [model](https://doc.common-servSome readersExport : Offers Updates
You have configured your module, selected the categories, configured a profile, and configured Transport: you can send your offers. Go to Catalog > Cdiscount > Offer Integration. Settings: Send all the offers: Allows you to send all the offers for all theFew readersPublish offer
After creating products — or if your EANs already exist on Cdiscount — you must publish your offers online for the first time. Send a complete feed in overwrite mode so you can be sure that all your offers are published: I) Check connectivity as explained on Configure the connection settings. II) Go to Catalog > Cdiscount > Offer Integration. Select the options *Send all the offersFew readersUpdate Offers – Support Request
You have a problem with the submission of offers and you need support. Follow these instructions: Go to Catalog > Cdiscount > Offer Integration (see also Export : Offers Updates). – Export and send your offers (you may use Do not send if support only needs the generated file): – Download the .ZipFew readersProduct Creation – Support Request
If you have a problem with product creation and need support, follow these steps before contacting Support CDiscount. Check profiles and models Each profile must be complete (red asterisks = required fields) Each profile must be linked to a model (Model selector) Each model must have its Cdiscount category (levels 1, 2, 3) and required fields filled Fill Gender / Audience fields when requiredFew readersOrders import
Orders Acceptance Orders > Cdiscount > Accept the orders Order acceptance confirms the order with CDiscount: if you accept an order, that means you accept to fulfill and deliver it. Important: Once accepted, the order cannot be imported immediately. Allow a processing period of up to several tens of minutes. Orders Import Orders > Cdiscount > Import the ordersSome readersOrders Statuses
Once the orders have been imported and when the order is shipped, update the status to notify CDiscount of the shipment and tracking number. The module notifies CDiscount; CDiscount notifies the client. Check your configuration: You have previously configured your order statuses: You have configured your [Scheduled Tasks (CDiscount Marketplace)](https://doc.common-Some readersScheduled Tasks (CDiscount Marketplace)
For each platform, there is a list of scheduled tasks, allowing for example to automatically update your catalog on CDiscount. They are commonly called “crons”. The module displays a list of all the tasks you need to configure in your crontab: Note that there are free solutions from your host, paidSome readersProduct Sheet Extension (CDiscount Marketplace)
Visit a product sheet of your store. A CDiscount tab appears in addition to the usual information: In this tab, you fine-tune the export for this product (and its combinations). This does not change your PrestaShop catalog (name, descriptions, images, categories). Leave a field empty to keep PrestaShop / module defaults. Octopia Offer Management (offFew readersPickup points (Mondial Relay, Colissimo, SendCloud)
When a Cdiscount / Octopia order uses pickup point delivery, the module can write the relay into your PrestaShop carrier module (labels, tracking). If no integration is enabled, the order is imported without pickup-point data in Mondial Relay / Colissimo / SendCloud. Prerequisites Pickup delivery modes enabled in Octopia (shipping settings). Those modes mapped in the module → Transportation (PrestaShop carriers). Target module installed and configured (nativFew readersMessaging – send invoice by email
The Messaging tab automatically emails the PrestaShop invoice PDF to the customer when a Cdiscount / Octopia order reaches a chosen status. Only orders from the Cdiscount module (module = cdiscount). The order must already have a PrestaShop invoice number. 1. Enable Module configuration → Messaging → Send invoice by email: Active → Yes (*Activate invoice per email automation. The module will send the email to the customers with the invoice as an attacheFew readers
Support
Support CDiscount
Before contacting support, please make sure you have read the documentation. Most issues are already covered in the frequent issues category or our internal knowledge base. Access to support and module updates Support and module updates require either: an active Business Care subscription, or the support/updates product: Cdiscount Marketplace – One year support and updatesFew readersSupport/warranty limits
Access to support and module updates Support and module updates require an active Business Care subscription, or: Cdiscount Marketplace – One year support and updates See also: Support CDiscount Support Limitations We are not responsible for configuration issues related to the quantitative aspects of the shop (prFew readers
Frequent issues
Error: carrier / tracking mapping (order import)
When importing orders, you may see: Tracking mapping is not configured. Please configure Tracking mapping in Transport tab. or Parcel carrier "XXX" (Octopia ID N) is not mapped to any PrestaShop carrier. Please configure Tracking mapping in Transport tab. or Parcel carrier "XXX" was not found in Octopia carrier list. Please reload carriers in Transport tab. or Order #… cannot be imported because the parcel carrier "XXX" is not mapped. … or Unmatched shipping method for order #Few readersError: Octopia order state not mapped (order import)
When importing orders, you may see: The Octopia order state 'XXX' for order YYY (Standard (Seller)) is not mapped to a PrestaShop status. Please configure 'XXX' in the module Orders settings. or, for fulfillment: The Octopia order state 'XXX' for order YYY (C Logistique (Fulfillment)) is not mapped to a PrestaShop status. Please configure 'XXX' in the module Orders settings. (XXX = Octopia status, YYY = order reference / id.) Sometimes a warning (import still proceeds)Few readersError: missing required field (Inconsistency – Missing …)
On product creation export, you may see: products_create.php(#1989): Inconsistency for product XXX-YYY(1/2) - Missing Description for Product or, depending on the missing field: … - Missing BrandName for Product … - Missing ShortLabel for Product … - Missing LongLabel for Product … - Missing Model for Product … - Missing CategoryCode for Product … - Missing ProductKind for Product … - Missing Navigation for Product (The name after Missing _is the requiFew readersError: not enough stock for this product (order import)
When importing an order, you may see: Not enough stock for this product : ID: 123/0 - Product name (123/0 = product id / combination id.) Cause PrestaShop refuses to add the line to the import cart: the ordered quantity is greater than available stock (stock management enabled), or availability rules block that quantity. This is not exactly the same as: Out of stock skip / allow orders when out of stock — see [Importing an order – Product out of stock](httpsFew readersError: product condition mapping not filled
On catalog export (product creation / offers), products may be skipped, with in the export summary: Condition map missing and, in debug mode, a message like: Condition map is not filled for this condition - Product "123" Condition "used" (123 = product id; used / new / refurbished = PrestaShop condition.) Cause The module must translate the product’s PrestaShop condition (new, used, refurbished, …) into a Cdiscount / Octopia condition (NeFew readersFastCGI CDiscount
Some hosts run under FastCGI, others under mod_php. For PrestaShop, the usual recommendation is mod_php. Our modules are diagnosed against mod_php only — the PrestaShop standard. Our product pages state that our solutions target hosting compatible with PrestaShop’s recommendations: https://www.prestashop.com/en/ecommerce-hosting If you were sent to this page, your hosting uses FastCGI. We cannot support FastCGI-specific issues (tools and expertise stop at our modules, notFew readersImporting an order - Product out of stock
You may need to import a Cdiscount order for a product that is out of stock in PrestaShop. The module follows PrestaShop availability rules. On import, a blocked line can appear as Out of stock. Module setting In the module Settings tab, under Order import: Allow stock zero (Order Import) → Yes This allows importing orders when stock is zero or negative. See also Settings. Product sheet On theFew readersMarketplace self-integration
You were redirected here to understand catalog self-integration on a marketplace: how it works, how we operate, and how to succeed. Marketplace vs eBay Listing on eBay is often simpler and less restrictive — and that’s true. Historically eBay was not a marketplace but an auction / classifieds site: a product is not unique. Each listing is its own page. If 10 sellers sell the same item, there are 10 pages — hence how easy publishing feels. Do It Yourself (DIY) [DIY](https://en.wikFew readersMultistore
You were redirected here because you use PrestaShop multi-store. Please read these common cases first. Contexts By using multi-store, you acknowledge that you have read PrestaShop’s multi-store documentation and will not contact us for context-related issues. Context is set by the shop selector at the top of the page: The mSome readersImpossible to import an order of an inactive or unavailable product
When importing orders, you may see: Couldn't import a product unavailable for order : 123 (0) or Couldn't import a product with a minimal quantity greater than 1 : 123 (0) (Numbers are product id and combination id.) The module uses PrestaShop core classes to import orders, so it must follow PrestaShop rules that can block an import. For a product to be importable, it must be active (1) and available for order (2):  Catalog / offers: Catalog → Cdiscount (Product Integration / Offer Integration) Orders: Orders → Cdiscount Product sheet: Cdiscount tab on the product page . The marketplace module is automated, not a human user, so it cannot answer that interactivity. Waiting for that interaction can break marketplace operations (for example order import). For that reason, interactive **carrier modules are excluded byFew readersThe product has several profiles in several categories
When exporting, you may get: Product "123" has several profiles in serveral categories ! This is a category overlap: the module cannot pick one profile. In the module, several categories are linked to different profiles The product belongs to more than one of those categories The product’s default category does not clearly resolve which profile to use (often not checked / not tied to a single clear profile) Example — product category associations:  or Directory is not writeable - "…/modules/cdiscount/export" or Unable to write to the XML file / Unable to open output file for writing (Current module strings, often in English.) This is usually a write-permission issue on the module data folders. Check write access to the export directory via FTP (e.g. FileZilla): ConnecFew readersError: AJAX script execution failed
You may see an error like: AJAX execution failed. Please first verify your module configuration. If the problem persists please send a screenshot of this page to the support. Several possible causes. The most common: the domain you use for the back office does not match the one configured in PrestaShop → the browser blocks the request (cross-domain). Example: you open the BO at http://mystore.com/admin while PrestaShop is set to http://www.mystore.com/admin. Fix: log in with **Few readersThe submitted products integration file was integrated in a previous call!
When exporting / sending products, you may get an error like: FileAlreadySubmitted Le fichier d'intégration des produits soumis ('…/modules/cdiscount/export/…-create.zip') a été intégré dans un précédent appel ! Il n'est pas possible de soumettre plusieurs fois le même fichier. (Marketplace message — historical XML wording; Octopia may show an equivalent label.) You already generated and sent a product package. The new file is identical to the previous one: the same file cFew readersMissing description for the product
When exporting products, you may see: products_create.php(#1989): Inconsistency for product XXX-YYY(1/2) - Missing Description for Product (“Description” may be replaced by another required field.) Description is mandatory for product creation. Without it, the product is not exported. Also check the module setting: PrestaShop has two fields (long description / short summary). The module must point to the one you actually fill in. On a product sheet, see which field you use: ![PrestFew readersInformation – Common errors
The module checks configuration and environment in the Information tab. If a message is not listed here: Support CDiscount. PHP warnings Time / memory PHP value: max_execution_time recommended value is at least 120. your limit is currently set to 60 PHP value: memory_limit recommended value is at least 256MB. your limit is currently set to 120MB See: PHP configuration limitations (Frequent issues — yFew readersMissing EAN code for products
When exporting products, you may see: EAN is missing, References: [demo_1, demo_2] The list shows references with an empty EAN field. Find each product via PrestaShop search. Example of an empty EAN field: Same rule for combinations: each combination needs its own unique EAN. See: [Validate your catalog structure](https://doc.commonFew readersError: Duplicate EAN codes for products
When exporting products, you may see: Duplicate EAN entry for product, References: [demo_1, demo_2] The list contains references whose EAN appears twice or more in the catalog (products or combinations). Common duplicate EAN example:  The list uses product / combination IDs in the form 1/2 (1 = product id, 2 = combination id). Each listed product has an EAN with an invalid check digit, or that does not follow GS1 rules (often generated / bought outside GS1). Marketplaces require valid EAN/GTIN codes (ideally issued by GS1). Codes from other modules, free lFew readersError: Duplicate reference for these products
When exporting products, you may see: Duplicate reference entry for product, Product ID: [2/7, 2/8, 2/9, 2/10, …] (Export summary may also show Duplicate reference.) The list uses product / combination IDs in the form 1/2. Each listed entry shares a reference already used elsewhere in the catalog (at least twice) — which is invalid for Cdiscount / Octopia. Duplicate example:  The list uses product / combination IDs in the form 1/2 whose Reference field is empty. Example: Fill in a unique reference for every product / cFew readersShipping: Not configured
In the offer integration report, you may see an error like: Livraison XX: Non paramétré – Vous devez paramétrer le mode « XXX » dans votre interface vendeur Rubrique « Mes paramètres expédition » avant de saisir les données du fichier (Marketplace message; exact wording may vary on Cdiscount / Octopia.) In the seller interface, shipping modes are enabled: : edit config/defines.inc.php and set _PS_MODE_DEV_ to true: define('_PS_MODE_DEV_', true); PrFew readers
