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 PlentyONE 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 PlentyONE client through which this connection runs.
-
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 PlentyONE 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 PlentyONE 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: Data Exchange.
-
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 variant 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? Then go to Setup » Orders » Order referrer to activate the order referrer.
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 every 15 minutes. 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. |
||||||||
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 PlentyONE 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.
8. Using the plugin help
The PlentyONE back end provides the menu Setup » Markets » WooCommerce » Help. This plugin help enables you to:
8.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?
8.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.
8.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.
8.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.
9. 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.
10. Automating order processing
The event procedures provided by the plugin allow you to send information about your orders to WooCommerce.
10.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. |
10.2. Example: Setting up the event procedure "Processing"
-
Go to Setup » Orders » Events.
-
Click on Add event procedure ().
→ The Create new event procedure window opens. -
Enter a distinct name for the event procedure.
-
Select the event according to Table 3.
-
Save () the settings.
-
Carry out the additional settings according to Table 3.
-
Select the setting Active ().
-
Save () the settings.
Setting | Option | Selection |
---|---|---|
Event |
Order change: Status change |
Select a status, for example [4] In preparation for shipping or [5] Cleared for shipping. |
Filter 1 |
Order > Order type |
Order |
Filter 2 |
Order > Referrer |
WooCommerce |
Procedure |
Plugin > Send order "Processing" to WooCommerce |
11. 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.