WooCommerce
WooCommerce is a flexible, open-source eCommerce solution built on WordPress. Whether you’re launching a business, taking an existing brick and mortar store online, or designing sites for clients you can get started quickly and build exactly the store you want.
1. Installing WordPress
WordPress.org serves as a content management system and launch platform for your online trading with WooCommerce. For details on installing WordPress consult the How to install WordPress page.
2. Installing the WooCommerce plugin by WordPress
Once you have WordPress up and running, install Wordpress’s WooCommerce plugin Installing and Uninstalling WooCommerce.
3. Generating the WooCommerce API credentials
Generate WooCommerce API credentials from your WooCommerce dashboard. You need these credentials to connect PlentyONE to WooCommerce.
-
Open the WooCommerce dashboard.
-
Open WooCommerce » Settings » Advanced » REST API.
-
Click on Add key.
-
Create a Description.
Important: Ensure that all Permissions are set to Read / Write. -
Click on Generate API key.
-
Copy the API key.
Important: Copy the API key straight away. The API key will be hidden once you leave the page.
4. Assigning a supported permalink structure
-
Open the WooCommerce dashboard.
-
Go to Settings » Permalinks.
-
Select one of the supported URL structures.
-
Save the settings.
Important: The plugin supports all URL structures except Plain.
5. Installing the plugin in PlentyONE
To connect to WooCommerce in PlentyONE, first install the WooCommerce plugin in your plentymarkets system. You can download this and other plugins in the plentyMarketplace.
Important: Install the plugin in the plugin set of the main client.
Adding plugin to the system:
-
Go to Plugins » plentyMarketplace.
→ The marketplace opens in a new tab. -
Navigate to the plugin WooCommerce.
Tip: Either use the search function or open the category Plugins » Sales » Marketplaces. -
Open the detail view of the plugin.
-
In the column to the right, click on Go to checkout.
→ The Checkout window opens. -
Read and accept the General Terms and Conditions.
-
Click on Order now.
→ Wait a few minutes before installing the plugin.
Installing plugins:
-
Go to Plugins » Plugin set overview.
-
Click on the plugin set of your main client.
Important: In other words: The plugin set must be linked to the main client.
→ The plugin set opens. -
Click on Add plugin.
-
Select WooCommerce from the plugin list.
-
Click on Install.
→ The plugin is installed.
→ The plugin set is shown. -
Switch the plugin to active ().
-
Save () the plugin set.
Tip: Problems saving the plugin set? Click on Open details to show additional information.
6. Activating the order referrer
Go to Setup » Orders » Order referrer to activate the order referrer. This ensures that orders are assigned to the correct sales channel.
An order referrer tags an order with the sales channel on which the order was generated. Sales channels can be e.g. your online shop or markets on which you sell your items. Each sales channel has an individual order referrer. Some order referrers are available by default in your PlentyONE system. Further order referrers are added e.g. if you install a new plugin. For further information about the order referrer, see the page Order referrer of the PlentyONE manual.
Activating the order referrer for WooCommerce:
-
Go to Setup » Orders » Order referrer.
-
Click Search (search).
-
In the list, navigate to the option WooCommerce.
Tip: The order referrer is not in the list? Then you probably have not installed the plugin yet. -
On the right of the referrer’s line, click on Edit (edit).
→ The window Edit referrer opens. -
Activate the option Visible in selection (toggle_on).
-
Click on Save (save).
→ The referrer is active.
→ The menu Setup » Markets » WooCommerce can be selected.
Important: Note that the plugin cannot use order referrers that were created manually.
7. Setting up the interface in PlentyONE
Carry out the following settings in PlentyONE to set up the interface to WooCommerce. Keep the credentials to hand that you received from WooCommerce during the registration process.
7.1. Connecting to the WooCommerce API
Connect to the WooCommerce API. To do so, you need the credentials you received from WooCommerce.
Connecting to the WooCommerce API:
-
Go to Setup » Markets » WooCommerce » Tab: Connection.
The menu is not there? Then go to Setup » Orders » Order referrer to activate the order referrer. -
Assign the plentymarkets client through which this connection runs.
Important: Select a client that has never been connected to a different WooCommerce webshop before. -
Enter the Host name.
Example:http://yourWebShopName.domain/
Important: The slash [ / ] at the end of the URL is mandatory. -
Enter the Customer key.
-
Enter the Customer secret.
-
Click on Test connection.
-
Save the settings.
→ Your plugin is connected to the WooCommerce API.
Important: If you change the WooCommerce shop in this connection later, you need to select a new plentymarkets client. Select a client that has never been connected to a different WooCommerce webshop before. Otherwise, orders that are imported using the new connection might be assigned to existing customers that were created with the old connection.
Optional: Connecting additional WooCommerce webshops
Each new connection requires a separate PlentyONE client and WooCommerce account. As such, you need a separate PlentyONE client for each WooCommerce shop.
Important: You also need to select a new plentymarkets client when you change the WooCommerce shop in an existing connection.
Connecting additional WooCommerce webshops:
-
Go to Setup » Markets » WooCommerce » Tab: Connection.
-
Click on [+] Add.
-
Configure the connection as you did with the previous one.
Tip: You can swap between plugin configurations by selecting the corresponding WooCommerce webshop from the Client section.
7.2. Setting up Germanized Readiness
Germanized extends WooCommerce to technically match specific german legal requirements. The plugin adapts your WooCommerce plugin to the special conditions of the German market.
Setting up Germanized Readiness:
-
Use the installation guide on WooCommerce to install and set up the Germanized plugin.
-
In PlentyONE, go to Setup » Markets » WooCommerce » Settings » Section: Germanized.
-
Activate the option Export data to 'Germanized plugin' specific input fields.
-
Save the setting.
Below is a list of the Germanized fields that are processed during the item export/update:
-
The Variation » Costs » Customs Tarif number to the WooCommerce Item » Shipping » HS code.
-
The Variation » Model to the WooCommerce Item » Variations » Variation » MPN.
-
The Variation » First barcode with referrer WooCommerce to the WooCommerce Variations » Variation » GTIN.
-
The Item » Global » Manufacturing country to the WooCommerce Item » Shipping » Manufacturing country.
-
During order import: At Order Import, the WooCommerce DHL post number is imported as Contact » Address » Option Type: Post number
-
The variation’s Base price. This price is generated as follows:
Important: The exported Base price is calculated from the variation assigned WooCommerce sales price. If your variant also has a special offer price defined for WooCommerce, a base price will be generated and exported for it as well.-
Size: Meters, centimetres and millimetres are expressed as meter values at export time. Inches are expressed as inches.
-
Weight: Kilograms, grams and milligrams are expressed as kilogram values at export time. Ounces are expressed as ounces.
-
Volume: Litres and millilitres up to 250ml are expressed as millilitres at export time. From 250ml up, the exported value is expressed as litres. Exported values you defined in litres abide by the same rule as litre and millilitre.
-
7.3. Configuring the plugin
Important: Item related import and export processes cannot be active at the same time.
Configuring the plugin:
-
Go to Setup » Markets » WooCommerce » Tab: Connection.
The menu is not there? Go to Setup » Orders » Order referrer to activate the order referrer WooCommerce. -
Carry out the settings. Pay attention to the information given in Table 1.
-
Save the settings.
Setting | Explanation | ||||||||
---|---|---|---|---|---|---|---|---|---|
Webshops |
Switch between different WooCommerce connections. |
||||||||
Processes |
|||||||||
Order import |
Runs every 15 minutes. Imports only orders from the statuses you select under Order Import status. The following data is imported:
The correct PlentyONE shipping profile is assigned during the order import only if the names of the shipping profiles are the same in WooCommerce and PlentyONE. The Plugin only recognises discount items contained on imported WooCommerce orders. Discount campaigns are not supported. The discounted value from the WooCommerce order is imported as a separate order item on your PlentyONE order. The order import process also performs a Payment status update for already imported orders. |
||||||||
Stock export |
The stock export runs dynamically based on the number of variations to update:
Important: SKU must be identical in PlentyONE and WooCommerce for this process to work. |
||||||||
Price export |
Runs hourly. Important:* SKU must be identical in PlentyONE and WooCommerce for this process to work. The plugin uses the WooCommerce setting *Settings » TAX » Prices entered with tax to decide if the exported price is GROSS or NET. |
||||||||
Customers Import |
Runs once a day. Imports the WooCommerce customer base into PlentyONE. Note: During the order import process, the plugin also imports contact details. To comply with GDPR requirements, the following policies regarding customer accounts and orders have been implemented:
|
||||||||
Category export |
Runs once a day. Exports all categories activated for the referrer WooCommerce. Note: Do not use this feature to export categories that are linked to items. For that purpose, use the item export instead. This feature is meant to be used for an easy export of your entire PlentyONE category tree. Note that the plugin may delete specific WooCommerce categories if:
|
||||||||
Category import |
Runs once a day. Imports all WooCommerce categories to PlentyONE. Note: Categories linked to items can also be exported with the item import process. |
||||||||
Item export |
The following data is exported:
|
||||||||
Item import |
Runs once a day. The plugin only works with WooCommerce item types Simple Product and Variable Product. The following data is imported:
|
||||||||
Data exchange |
|||||||||
Export manufacturer as attribute |
Enable / Disable the export of the item linked manufacturer as Attribute * Visible on the product page. |
||||||||
Export item characteristics |
Enable / Disable the export of the item linked characteristics as Attributes * Visible on the product page. |
||||||||
Export new items as 'Draft' |
Enable / Disable the export of new items as Drafts. |
||||||||
Automatically generate SKU based on: |
Generates SKUs for exported variations. Available options are:
Recommendation: Use the same input field for SKU generation on all Woocommerce webshops that you manage through the plugin. |
||||||||
Export/import items to language |
Select a language for the item import and item export. Important: All translatable input fields have to be set up for this function to work. |
||||||||
Deactivate WooCommerce item if linked PlentyONE item is deactivated |
Enable / Disable the deletion of WooCommerce items which have been deactivated on PlentyONE. |
||||||||
Export properties as WooCommerce attributes |
Decide how item linked properties are to be exported with the item export process. Available options are:
|
||||||||
Tags for export / import |
Export tags from source:
|
||||||||
Stock buffer |
Whenever stock is exported to WooCommerce, the plugin will subtract the amount entered as stock buffer. |
||||||||
Germanized |
|||||||||
Export data to 'Germanized plugin' specific input fields |
Activate the function once you have installed the WooCommerce plugin "Germanized". The WooCommerce plugin "Germanized" extends WooCommerce to technically match specific German legal requirements. |
||||||||
Send lowest price of last 30 days via Germanized |
check_box_outline_blank = The price is not sent. |
||||||||
Slug of 'Lowest price in the last 30 days' |
To export the lowest price of the last 30 days, you need to set this up in the WooCommerce back end:
Now, save the value of the slug label in your PlentyONE system:
How are the prices exported?
There are only two prices in WooCommerce: the regular price and the discount price. However, in PlentyONE a third price is available: The lowest price of the last 30 days. How the prices are shown in WooCommerce depends on the type of price reduction.
|
||||||||
Import and export item stocks from: |
|||||||||
All warehouses |
Exports stock quantities from all warehouses of the type Sales which are linked to the item. |
||||||||
The warehouses of my choice |
Select the warehouses of the type Sales from which the stock quantities are exported. |
||||||||
Order import options |
|||||||||
Order import start date |
The order import date is updated with each order import run to reflect the date of its last run. To import older orders, enter the start date of the oldest mist order. |
||||||||
Order import status |
Select which orders are imported to PlentyONE. Available options are:
|
||||||||
Identify house number from WooCommerce 'Address line 1' |
Enable / Disable the extraction of the House Number from WooCommerce Address line 1. This value is imported to PlentyONE input field ADDRESS 2. |
||||||||
Order import status |
|||||||||
Order status for incoming cancelation requests |
Select an order status for incoming cancelation requests. |
||||||||
Automatically deny incoming cancelation requests from status |
Incoming cancel requests are automatically denied for orders with this status or higher. |
||||||||
Contact import options |
Select which customer class is assigned to imported customers. |
7.4. Whitelisting properties for the item export
Now, select which PlentyONE properties to export as WooCommerce attributes.
Important: WooCommerce does not accept properties with more than 28 characters.
Whitelisting properties for the item export:
-
Go to Setup » Markets » WooCommerce » Tab: Properties Export.
-
Select the online shop that you want to configure this function for.
-
Click on [+] Add.
-
Select a Property.
-
Save the settings.
→ The whitelisted property is shown on the list.
7.5. Linking PlentyONE VAT rates to WooCommerce tax classes
Link the PlentyONE VAT rates with the tax classes in WooCommerce. This ensures that VAT rates are assigned correctly during the item export.
Linking PlentyONE VAT rates to WooCommerce tax classes:
-
Go to Setup » Markets » WooCommerce » VAT rate mapping.
-
Click on [+] Add.
→ The window Link plentymarkets VAT rates with WooCommerce tax classes opens. -
Select a PlentyONE VAT rate.
-
Select a WooCommerce tax class.
-
Save the settings.
→ The new mapping is shown in the list.
Note: The mapped VAT rate from Item » variation » settings » Costs » VAT. is saved in the WooCommerce menu Product » General » TAX Class.
7.6. Mapping order meta data
In the Setup » Markets » WooCommerce » Order Meta Data Mappings menu you can create mappings for order meta data between PlentyONE and WooCommerce. Do you maybe have a custom text in a meta data field of an order line item in WooCommerce that you want to use in PlentyONE? In this case, you can create a mapping in order to import your text as a custom property on the order line item in PlentyONE. To do so, proceed as follows.
Mapping order meta data:
-
Go to Setup » Markets » WooCommerce » Order Meta Data Mappings.
→ The mapping overview opens. -
At the top in the Webshops field, select the connected WooCommerce webshop that you want to carry out the mapping for.
-
Below, click on Create mapping (add).
→ The window Map PlentyONE order property types to WooCommerce meta data keys opens. -
In the upper field, select a PlentyONE custom order property from the drop-down list.
-
In the bottom field, select a WooCommerce meta data key.
-
Click on Save.
→ The mapping is saved and added to the overview.
8. Providing information on manufacturer and EU-responsible person (GPSR)
The General Product Safety Regulation of the EU (GPSR) requires manufacturers and sellers to ensure the product safety of certain goods and to provide certain information for this purpose. This information includes details about the manufacturer and, in the case of manufacturers without an establishment in the EU, details about the responsible person within the EU. The GPSR regulation ensures that products are safe and comply with consumer protection requirements before being placed on the market.
In the following chapters, you will learn how to add information on the manufacturer and the responsible person within the EU in PlentyONE to comply with the GPSR regulation.
8.1. Prerequisites
-
In the Data exchange section of the Setup » Markets » WooCommerce » Settings menu, activate the option Enable GPSR.
-
In the Setup » Item » Manufacturers menu, fill in the required fields for the EU responsible person for each of your manufacturers.
-
Select the manufacturer at item level to transfer the manufacturer data to WooCommerce.
Data is automatically transmitted
The fields for the manufacturer and the EU responsible person are automatically transmitted to WooCommerce. You do not need to manually map these fields. |
8.2. WooCommerce fields for EU responsible person
The following table lists the required fields for information on the EU responsible person.
Field name | Description |
---|---|
EU Responsible Name |
Enter the name of the EU-responsible person. |
EU Responsible Street |
Enter the street of the EU-responsible person. |
EU Responsible House No Enter the house number of the EU-responsible person. |
EU Responsible Post Code |
Enter the postcode of the EU-responsible person. |
EU Responsible Town |
Enter the town of the EU-responsible person. |
EU Responsible Country |
Enter the country of the EU-responsible person. |
EU Responsible Country code |
Enter the country code of the EU-responsible person. |
EU Responsible Email |
Enter the email address of the EU-responsible person. |
EU Responsible Phone number |
9. Images for chargers and alternative offers without charger for electrical appliances with radio frequency (FuAG)
On 23rd November 2022 the EU directive 2022/2380 on the harmonisation of charger interfaces of radio equipment was passed.
This directive was realized in German law on the 6th May 2024 by changing the Funkanlagengesetz (FuAG). The new FuAG takes effect since the 28th December 2024 and contains new labeling requirements for electrical appliances with radio frequency and chargers, such as:
-
Mobile phones
-
Tablets
-
Digital cameras (all digital cameras except: security cameras and digital cameras that are exclusively used in the audiovisual sector)
-
Headphones
-
Headsets
-
Handheld gaming consoles
-
Portable speakers
-
E-readers
-
Keyboards
-
Mice
-
Portable navigation systems
-
Earbuds
-
Laptops
Following information has to be indicated in the product details for the mentioned electrical appliances that are put into circulation from 28th December 2024 (for laptops starting 28th April 2026) on:
-
Pictogram for charger included in the scope delivery:
-
The pictogram indicates if a charger is included (charger plug is not crossed out) or not (charger plug is crossed out).
-
The mandatory pictogram is described and displayed in Appendix I Part 3 of the directive 2022/2380
-
-
Label about charging properties of compatible chargers:
-
The label offers all necessary charging properties of the charger that are compatible with the electrical appliance.
-
The mandatory label is described and displayed in Appendix I Part 4 of the directive 2022/2380
-
-
Provision of an alternative offer without a charger
Note: The labelling requirement applies to the B2B and B2C section.
In this chapter you learn how you upload the mandatory images in PlentyONE and how you provide customers with the possibility to buy the respective electrical appliance without charger.
9.1. Uploading pictogram for charger included in scope of delivery
You upload the pictogram for if the charger is included in the scope of delivery or not as item image in PlentyONE.
-
Go to Item » Items » [Open item] » Tab: Images » Details.
-
Move the pictogram via drag-and-drop in the Images section or click on Select images and upload the pictogram:
-
a pictogram that shows a non crossed-out charger if the charger is included in the scope of delivery.
-
a pictogram that shows a crossed-out charger if the charger is not included in the scope of delivery.
-
The mandatory pictogram is described and displayed in Appendix I Part 3 of the directive 2022/2380
Note: Make sure that the image is connected with the right client and that WooCommerce is active as order referrer.
9.2. Uploading a label for necessary charging properties of compatible chargers
You upload the label for necessary charging properties of compatible chargers as item image in PlentyONE.
-
Go to Item » Items » [Open item] » Tab: Images » Details.
-
Move the label via drag-and-drop in the Images section or click on Select images and upload the label:
The mandatory label is described and displayed in Appendix I Part 4 of the directive 2022/2380
Note: Make sure that the image is connected with the right client and that WooCommerce is active as order referrer.
9.3. Creating an offer to buy without charger
To offer your customers the option to buy the respective electrical appliance without a charger, create a property of the type text or HTML with a link to an alternative offer. Afterwards, assign this property via the input field mapping.
Offering a link to an alternative offer:
-
Create a property of the type Text or HTML.
Note: the URL you enter for the property will be displayed in WooCommerce as plain text and cannot be clicked, wether it is type Text or HTML. -
Link the property with the variations for which you need an alternative offer without charger.
-
Enter the URL of the alternative offer without charger as Text.
-
Save () the settings.
Whitelisting properties for the item export:
-
Go to Setup » Markets » WooCommerce » Tab: Properties Export.
-
Whitelist the property for item export.
10. Using the plugin help
The PlentyONE back end provides the menu Setup » Markets » WooCommerce » Help. This plugin help enables you to:
10.1. Checking the plugin’s health
Checking the plugin’s health:
-
Go to Setup » Markets » WooCommerce » Help » Plugin health.
-
Click on Check.
→ The check is carried out.
Conditions that are met are marked with a green OK.
Conditions that have failed are marked with a red X.
What is checked?
-
Is the referrer WooCommerce activate in the menu Setup » Orders » Order referrer?
-
Is there more than one referrer WooCommerce in the menu Setup » Orders » Order referrer? Make sure that the ID with the highest number is active.
-
Could a connection to WooCommerce.com be established?
-
Is the SDK file deployed correctly?
10.2. Checking export conditions for variations
Checking export conditions for variations:
-
Go to Setup » Markets » WooCommerce » Help » Export conditions.
-
Select the online shop that you want to use this function for.
-
Enter a valid variation ID.
-
Click on Check.
→ The check is carried out.
Conditions that are met are marked with a green OK.
Conditions that have failed are marked with a red X.
What is checked?
-
The variation must be activate.
-
Item » Variation » Settings » Area: Availability, the checkbox Active must be set.
-
-
The variation must be available for the market WooCommerce.
-
Item » Variation » Availability » Area: Markets, WooCommerce must be assigned.
-
-
The variation must have an SKU for WooCommerce.
-
Item » Variation » Availability » Area: SKU must contain an SKU for the referrer WooCommerce.
-
-
Variation must have a wooCommerce sales price that uses the default system currency and is activated for the selected webshop.
-
The item must have a Name 1.
-
Item » Texts » Name 1 must be saved.
-
-
The variation’s Client (store) assignment matches the webshop selection in the plugin configuration.
-
The variation must have at least one linked category with a translation for the selected export language.
-
Attribute names exist for the selected item export language.
-
Attribute values exist for the selected item export language.
-
The selected variation contains no recent changes and is excluded from the next item export/update.
10.3. Adjusting the start date for stock and price exports
If you find that the stock/price export does not contain all expected item variations, you can reset the stock and price export start date to any date. The plugin bases the next run on your defined start date instead of on the normal last-run time stamp.
10.4. Manually exporting items
For testing purposes, you can manually export an item every 10 minutes.
Note: Use this function to test how the export will look before you export large amounts of item data.
Manually exporting an item:
-
Go to Setup » Markets » WooCommerce » Help » Item export.
-
Select the online shop for which you want to export the item.
-
Enter a valid Item ID.
-
Click on Run.
→ If all export requirements are met, the item and its variations will be exported.
Note: Have you deleted one or more items on WooCommerce in order to export them again? The next export only clears the plugin database. As a result, your item will only be exported to WooCommerce with the export after this one.
10.5. Tab: Stock export
For testing purposes, you can manually export an item’s stock every 5 minutes. You can manually export a variation every 3 minutes.
Manually exporting stock and sales price for one variation:
-
Go to Setup » Markets » WooCommerce » Help » Stock export.
-
Select the online shop that you want to update stock for.
-
Enter a valid variation ID.
-
Click on Execute.
→ If all export requirements are met, the stock is exported.
Manually exporting stock and sales price for one item:
-
Go to Setup » Markets » WooCommerce » Help » Stock export.
-
Select the online shop that you want to update stock for.
-
Enter a valid item ID.
-
Click on Execute.
→ If all export requirements are met, the stock is exported.
11. Automating order processing
The event procedures provided by the plugin allow you to send information about your orders to WooCommerce.
11.1. Available event procedures
Event procedure | Explanation |
---|---|
Send order "Payment pending" to WooCommerce |
Moves the order to status Payment pending on WooCommerce. |
Send order "Processing" to WooCommerce |
Moves the order to status Processing on WooCommerce. |
Send order "On hold" to WooCommerce |
Moves the order to status On hold on WooCommerce. |
Send order "Completed" to WooCommerce |
Moves the order to status Completed on WooCommerce. |
Send order "Cancelled" to WooCommerce |
Moves the order to status Cancelled on WooCommerce. |
Send order "Refunded" to WooCommerce |
Moves the order to status Refunded on WooCommerce. |
Send order "Failed" to WooCommerce |
Moves the order to status Failed on WooCommerce. |
11.2. Example: Setting up the event procedure "Send fulfilment notification"
-
Go to Setup » Orders » Events.
-
Click on [ \+ ] Add.
→ The window Create new event procedure opens. -
Enter a name.
-
For example, select the event Order change » Outgoing items booked.
-
Save the settings.
-
Apply the filter Order » Order type » Order.
-
Apply another filter Order » Referrer » WooCommerce.
-
Select the procedure Plugin » Send fulfilment notification to WooCommerce.
-
Save the settings.
12. FAQ and troubleshooting
Problem:
You probably used a PlentyONE client for a WooCommerce webshop that is or was already connected to a different WooCommerce webshop at some point. So you either changed existing connection settings or you had a WooCommerce webshop in the past that you deleted. That is a problem because you need to use a fresh PlentyONE client for each new WooCommerce webshop. Fresh means that the client has never been used for a WooCommerce webshop.
Solution:
Create a new client and link this client to the WooCommerce webshop.
Background:
For each WooCommerce webshop, external contact IDs are assigned in ascending order. If an order is imported for the new connection with a contact ID that was already assigned for this client, the order is assigned to the existing contact.