bol.com: marketplace guide
About this guide
This is a ChannelEngine guide on the Utrecht-based marketplace bol.com. Here you can find information on how to request a bol.com account, how to configure this marketplace on ChannelEngine, what the specific requirements are, and more.
Table of contents
|Area served (orders)||Belgium, Netherlands|
|Revenue||EUR 4.3 billion (2020)|
|Number of monthly visits||103 million on average, between Q3 and Q4 2020 (excl. Belgium)|
|Product categories||almost anything (legal)|
|Input language||Dutch, French|
|Is the marketplace commission available via the API?||yes|
|Profile on ChannelEngine||bol.com|
To start selling on bol.com you must create a business account. More information on creating a business account can be found on Zakelijk account (in Dutch).
If you are a direct bol.com supplier (1P), note that the bol.com Supplier is a different plugin from the bol.com Plaza plugin.
While bol.com is mainly an open marketplace, there are requirements that should be met before creating a business account and selling products via bol.com. The most important requirement is that your company is registered in either the Netherlands or Belgium*, and that you have a registration at the local chamber of commerce (Kamer van Koophandel in the Netherlands and Handelsregister in Belgium). A German or French company, for example, cannot sell products on bol.com, unless it’s also registered in the Netherlands or Belgium.
The following requirements are also important to note:
- Your products must fit into the categories bol.com works with (in Dutch).
- Your products must have an EAN (GTIN) or ISBN number.
- You must be able to deliver products between 1 and 8 working days.
- Customers should be able to return a product within 14 days.
- You must be able to answer customers' queries within 24 hours.
- You must meet the service levels that bol.com requires (in Dutch).
Further details on the requirements set by bol.com can be found on Starten met verkopen bij bol.com (in Dutch).
* In some cases, reputable, large sellers from EU countries may sell on bol.com without a local entity. For more information on this, please contact your customer success manager at ChannelEngine.
bol.com does not charge a monthly fee, but it does charge a fixed commission amount and a percentage of the sale price. For more details on bol.com's commission structure, check out the Commissie page (in Dutch).
|Product offers (EAN matching)||Automatic relationships|
|Product content||Pick-up point delivery|
|Product status import||Sales channels|
|Shipments (including carrier mapping)|
|Returns (marketplace and merchant)|
|Marketplace fulfillment service (LVB)|
|Product variations (sizes/colors)*|
* bol.com does support the creation of product variants, but this is not done automatically – as it is the case on channels such as Amazon. For more information on how to create product variants on bol.com, check out the article bol.com: how to group product variants?
Settings and configuration
Setting up each marketplace on ChannelEngine follows the same flow, once you add the marketplace:
- Go through the Setup.
- Create a Product selection.
- Complete the Categorization.
- Set up the Mappings: content, offers, and carriers.
- Configure the Pricing: rules and currency conversion.
- Finish the Activation.
- Check the Listed products overview.
Once a seller account is active, the required information that ChannelEngine needs can be found in your bol.com account. The steps below are needed for the API authentication (OAuth, so you can use a one-time authorization button on ChannelEngine).
1. Go to your bol.com instance on ChannelEngine.
Open the Setup page.
3. Click Authorize.
4. Log in to your bol.com account. if you have multiple accounts, make sure to use the correct credentials for the account you are setting up with ChannelEngine now. If you accidentally (re-)authorize the same account for multiple bol.com instances, you receive duplicate orders.
5. Click the blue Toestaan (Allow) button to connect your bol.com account with ChannelEngine.
6. Once this is done, the previously orange Authorize button becomes green, and changes to Reauthorize.
1. If you wish to verify that ChannelEngine has OAuth access to your bol.com account (and to which one), log in to your bol.com account.
2. Once logged in, go to Settings by clicking your account name in the top right corner, Instellingen (Services).
3. Click API instellingen (API settings) under the Diensten (Services) section.
4. Scroll down to the Authorized parties section. Make sure that ChannelEngine is on the list of authorized parties.
5. If you have not added information regarding the technical contact and have not agreed to the bol.com API terms of service yet, you can do so now. As ChannelEngine is likely to be the technical contact regarding the API connection, you can add ChannelEngine's details to it and agree to the API terms of service.
1. Apart from OAuth, there are no other required settings to export offers and import orders to and from bol.com.
2. However, if you wish to use options such as repricing and the product data export, the following settings are required:
- Notify overdue orders after x hours - bol.com automatically cancels orders if they exceed three days after the expected delivery date, so this setting can be used to trigger a notification if x hours since the original expected delivery date have passed, and the order is not yet marked as Shipped.
- Seller number (for repricing) - this is your bol.com seller number. If you want to use the repricing functionality for bol.com, this is needed to distinguish you from your competitors when retrieving prices.
- Default commission amount and percentage (for repricing) - pending shipments are converted into orders after this many days.
- Disable stock reservations by bol.com - overrides bol.com's stock reservation feature.
- Enable fulfillment order's tracking code import - imports tracking codes from LVB orders shipped after it is enabled. Note that this may slow down your order overview.
Categorization is only mandatory if you want to create or update existing product information on bol.com. Both categorization and mapping only result in updates if the content connection is enabled, and the relevant credentials have been entered (see the Setup section).
These product types are not quite generic. Once you reach the Content mapping section for each product type, you can specify the exact category. E.g.: under Categorization, an item can be mapped as a travel suitcase (reiskoffer) and under Content mappings it is mapped as a trolley briefcase.
All products (required)
- Beschrijving (Description) - the description of your product. This attribute supports the following HTML tags: h, strong, ul, ol, li, p, and br.
- Interne referentie (Internal reference) - the reference ID of your product. This is different from the reference used for your offers (i.e.: the Merchant product number) and has no real added value, though bol.com requires it.
- Productnaam (Product name) - the name/title of your product.
All products (optional)
- Afbeelding 1-15 Label (Image label 1-15) - the label for your product images. By assigning a label to an image, you can specify a view of the product. E.g.: Afbeelding 1 Label: Vooraanzicht/Image 1 Label: front view.
Afbeelding 1-15 URL (Images 1-15) - your product image URLs. Note that there are image requirements (in Dutch) in terms of the size and background:
- The file size is at least 30 KB and at most 10 MB.
- The image must have a minimum of 500×500 px and a maximum of 6,000×6,000 pixels. White spaces in images do not count toward the minimum and maximum resolutions.
- The zoom function, which makes details of an article visible, works on images with a minimum size of 1,200×1,200 px.
- CE markering - state here whether the CE marking is clearly visible (zichtbaar, in Dutch) on the product itself or if it does not apply (niet van toepassing, in Dutch). If it is visible, you need to map the CE document markering PDF attribute with the URL of a PDF or image showing the CE marking on the product. Failing to correctly indicate if the marking is visible when it is not, or vice versa, may result in penalties based on bol.com's 100-point system.
- CE document markering PDF - the URL to the CE marking image of your product. This attribute is required for products that contain a CE marking. You must provide the URL of a PDF or an image of the CE marking on the product, on the packaging, or on an accompanying document. By affixing the CE marking to a product, a manufacturer declares that the product meets all the legal requirements for CE marking. Refer to the CE-markering toevoegen aan productinformatie article on bol.com for more details on the CE label photo requirements.
- Energielabel PDF/Score énergétique PDF (Energy label PDF) - the product's energy label, in PDF.
- Energielabel 2021 PDF/Score énergétique PDF (Energy label 2021 PDF) - the product's 2021 energy label, in PDF. For more information on the difference between the two standards, check out the article Het nieuwe energielabel 2021(in Dutch) on bol.com's website.
- Handleiding PDF/Manuel PDF (Manual PDF) - the product's manual, in PDF.
- Bijsluiter PDF/Notice PDF (Prescription PDF) - the product's insert, in PDF.
- Voorvertoning PDF/Prévisualisation PDF (Preview PDF) - the product's preview, in PDF.
- Video/Vidéo (Video) - the URL of the product's video, if available. YouTube videos and YouTube embed code are not supported. The minimum and maximum file sizes allowed are 1 MB and 1 GB, respectively, and the following formats are supported: MKV, MP4, FLV, AVI, MPG, MPEG, MOV, WMV, WEBM.
There are also required attributes per product type available for mapping, which you can see when you select each category in the Content mapping section. One of the most important category-specific attributes is described below.
Afbeelding 1-15 label/Image 1-15 label (Image 1-15 label) - for every image mapped, you must also map the corresponding label to indicate the view or angle displayed. E.g.: vooraanzicht (front view), in situatie (in situation), etc. Note that:
- Not every category supports every label.
- If you leave a label unmapped, bol.com automatically marks it as ADDITIONAL.
- Images with the label ADDITIONAL are organized automatically by bol.com: position 1 - primary image; position 2 - additional image; and position 3 - additional image.
- Labels are not visible in bol.com's front-end, but they are visible and verifiable in bol.com's back-end.
- If you map a fixed value for a label (e.g.: voorkant), make sure that the value applies to the related image for all products in that category.
- Fulfillment override - used to set if the fulfillment of a product is done by bol.com (LVB), by the merchant or handled automatically. More information on switching fulfillment modes can be found on External fulfillment: FBA, LVB, and FBC.
- Price before (re)price rules - the price used for exporting to bol.com (regardless of price rules or repricing applied later).
- Shipping time - the shipping time exported to bol.com. Note that bol.com uses a specific format, so mapping to their exact values is required. The shipping time is set in working days, however, bol.com displays the delivery time in regular days on its platform. E.g.: a product submitted with a shipping time of '24hours-22' has a delivery time of 1 to 2 days instead of ‘delivered tomorrow’ when displayed on a Saturday. It is also possible to map this attribute to the value Mijn leverbelofte (My delivery promise), which provides merchants with additional options – and is connected to the setting found in the bol.com back-end. If you have not configured that setting yet, log into the bol.com back-end and go to Instellingen (Settings), Mijn winkel (My shop), Leverbelofte (Delivery promise).
- Condition - the state of your product. Unless you sell refurbished or used products, this can be left at the default value Nieuw. Bear in mind that the condition, combined with the EAN on an offer, is what makes it unique (and cannot be changed on an existing offer).
- Shipping costs - bol.com does not allow separate shipping costs for ordered products. However, you are likely to have shipment costs that are not included in the product price. If you have these set on a specific attribute, you can map them so the shipping costs are added to the exported price. Shipping costs must be added with a dot (.) as the decimal separator.
- Quantity discounts - sets several levels of volume or quantity discount. The minimum quantity is the quantity at which the price per item for that level (which you set in the price field) has to be applied. Bear in mind that the minimum quantity has to increase, and the price per item has to decrease, with each level. More information on how to set these quantity/volume discounts can be found on bol.com: how to set up volume discounts.
If you wish to group certain products together (so the other variants can be selected from the same product page), bol.com requires them to be marked in the same product family. bol.com does not offer a completely automated option for this, however, you can create product families in a few easy steps in the bol.com back-end.
A guide on how to work with product families can be found on bol.com: how do I group product variants?.
It is mandatory to map carriers before you can activate the bol.com channel and list your products. If you try to activate the channel without completing carrier mapping, you will see the following error message: "The channel could not be activated - Carrier mapping is required."
bol.com uses a specific list of carrier names, so carrier mapping is strongly recommended. If you submit an unknown carrier, ChannelEngine automatically converts it to Other – but this is not advised.
Note that bol.com still uses PostNL's old carrier designation (i.e.: TNT). Make sure to map whatever name you use (e.g.: PostNL, Post NL, PNL, Post.nl) to TNT. If your carrier is not listed, use Other as the shipment method. The tracking code is mandatory for almost all carrier tags, with the exception of Briefpost.
bol.com is the only channel with three different tabs under the Pricing section of the channel:
- Price rules - price rules and currency conversion (only needed if you use a different default currency) are used the same way as on other channels.
- Reprice rules - you can use ChannelEngine's repricer to dynamically change your prices based on your competitors' prices and set rules. To learn more about how to configure repricing, consult Channels: repricer. The maximum number of products that can be processed is 18,000 per hour.
- Competition statistics - these statistics show your competitors, the buy box winners, and your position. For more information on this, check out the ChannelEngine: competition statistics article.
- Fee reductions - these are possible reductions of the fees paid to bol.com for every transaction, if your sale price is below a certain threshold. More information on these fee reductions can be found on Gebruik verlaagde commissie (in Dutch). ChannelEngine's fee reductions module offers an overview of the products eligible for fee reductions, their current price, and the maximum price to be eligible for the reduction. More information on working with fee reductions can be found on bol.com: fee reductions.
With the introduction of bol.com's v3 API, all exports are even more asynchronous than with their v2. This means that it may take up two hours for the actual result of an offer update to be visible on the Listed products page. If the orange warning triangle is still visible, the data is older than the latest export – so it does not necessarily reflect the current status on bol.com.
You can compare your selling prices with the prices that other merchants charge using bol.com's prijssterren (price star) rating. To see your products' prijssterren, click the Offer tab on the Listed products page and check the Price column. A rating of four stars is considered good by bol.com’s standards, with five stars guaranteeing that your price is the most competitive among your main competitors. For more information on bol.com's prijssterren, check out the article Prijs bepalen on their partner platform.
Below you can find an overview of the price star system:
|⭐⭐⭐⭐⭐||Most competitive price. Your products have the best prices, compared to the prices listed by your most important competitors.|
|⭐⭐⭐⭐||Very competitive price. Your products have the same prices as the prices listed by your most important competitors.|
|⭐⭐⭐||Competitive price. Your product prices are slightly higher than the prices listed by your most important competitors.|
|⭐⭐||Not a competitive price. Your product price is much higher than the prices listed by your most important competitors.|
|⭐||Bad price. Your product price is way higher than the general market price. The product will not be visible on the platform until you lower your price.|
Logistiek via bol.com (LVB)
bol.com can store your products in their warehouse and handle the logistics of the delivery. ChannelEngine supports the creation and pre-registration of fulfillment shipments. Further details on bol.com's fulfillment service can be found on the bol.com: LVB fulfillment shipments article and on Logistiek via bol.com (in Dutch).
Under the Products, Fulfillment shipments section on ChannelEngine you can (pre-)register a shipment of items to be stored in bol.com's warehouse and sold as LVB. Bear in mind that orders below a certain value threshold include a shipping fee (in Dutch) when fulfilled via LVB.
Merkregistratie (Brand registration)
bol.com supports the registration of brands by selected brand owners and official distributors. By registering for this service, you can ensure that all information tied to products under your brand is consistent across bol.com – including product images.
For more information on this, check out bol.com's Merkregistratie page.
Order extra data items
When an order is imported to ChannelEngine, ChannelEngine also fetches extra data items related to the order itself – or to order lines. This extra data is specific to this marketplace. An explanation of each can be found below:
Order extra data
The user-friendly sales channel name.
||Yes||When the order will be shipped to a pickup point, the value is
Order line extra data
||Yes||Notify the customer that ExactDeliveryDate is used.|
||Yes||Notify the customer that ExactDeliveryDate is used. Value is
||Yes||When Verzenden Via Bol is enabled, the value is
||Yes||The time frame indicated in the order line (e.g.: evening, same-day delivery, etc.).|
* Conditional fields only display if the channel provided a value.
I have a single bol.com account for Belgium and the Netherlands. How do I connect to both countries on ChannelEngine?
bol.com supports both individual and combined accounts for the Belgium and the Netherlands. If you have a combined account, make sure to add only one bol.com channel for those two countries. The same offer is exported to both countries. Note that you need to set up your bol.com account in their back-end to handle that.
If you want to export separate offers per country, you need to request a second account with bol.com. Make sure to use the correct credentials for the account you are setting up with ChannelEngine. If you fill out the same credentials for more than one bol.com channel, they all retrieve the same open orders – resulting in duplicate orders.
While attempting to update my image labels, I receive the error "The file is not processed, you've already provided it recently. If the source file is updated, please provide a new URL.". What does it mean?
bol.com groups updates to image URLs and image labels together, which are limited to one update every 48 hours. If you change an image label without changing the related image's URL, bol.com ignores both the label and the image updates. However, all other content of the product is updated accordingly.
My bol.com access token has expired. What do I do?
All bol.com authorization tokens expire within one year. If your token has expired, you can renew it in ChannelEngine by following these steps:
- Go to the Setup page of your bol.com marketplace.
- Copy your refresh token.
- Go to jwt.io (JSON web tokens).
- Paste the token in the Encoded field.
- Hover your cursor over the Exp part of the payload data section on the right-hand side.
- If you see a date in the near future, you need to reauthorize the marketplace via the bol.com Setup page on ChannelEngine.
- Once authorized, a 2024 date replaces the previous date.
I cannot delete or replace my product images via the API. What can I do?
Deleting or replacing product images via the API is not possible due to the limitations of bol.com's API. If you attempt to replace image URLs with new ones, this results in the addition of new images and not the removal of the old ones. To delete images, you need to do so manually in your seller account.