WooCommerce Product Vendors turns your store into a multi-vendor marketplace. You can assign existing products to Vendors or they can add and edit their own.
Each Vendor has a dedicated page where they list products, which can be displayed alongside yours on normal shop pages. You have total control of the amount of commission paid to each vendor, with the option of manually adding new commissions or editing existing ones.
Requirements ↑ Back to top
Product Vendors requires:
- WooCommerce (we recommend the latest version but support older versions)
- WordPress 4.9+
- PHP version 5.6+
- PayPal account (optional, for PayPal Payouts)
Installation ↑ Back to top
- Download the .zip file from your WooCommerce.com account.
- Go to: WordPress Admin > Plugins > Add New to upload the file you downloaded with Choose File.
- Activate the extension.
Two custom tables are created in your WooCommerce database:
More information at:.
Setup and Configuration ↑ Back to top
Terminology ↑ Back to top
For the purpose of explaining Product Vendors and the different roles and people:
- Store Owner – WordPress and WooCommerce Admin. Owner of the website and/or store on which vendors register.
- Vendor Admin – Has access to all settings.
- Vendor Manager – Has limited access to the Vendor dashboard.
- Pending Vendor – A user that has registered to become a Vendor but has not yet been approved or assigned a Vendor Admin or Vendor Manager role.
- Vendor – An “account” added to products that Vendor Admin and Vendor Managers have access to.
- Think of WooCommerce.com – that is the Vendor and our team are Vendor Managers who can updates products, and Vendor Admin are similar to team leads.
- Shop Manager is a WooCommerce role that can manage vendors – this is the role given to Store Owners.
A single user with one user account can be set up to manage multiple Vendors if needed, switching between vendors to which they have access.
Setup ↑ Back to top
- Sign up for a PayPal account or have your existing credentials ready. More information and instructions at PayPal Setup.
- Go to: WooCommerce > Settings > Products > Vendors.
- Payout Schedule: Frequency of paying commissions.
- Manual: If this is set, any unpaid commission will not be automatically paid. This does not affect instant pay for each vendor described further down this documentation.
- Weekly, Bi-Weekly, Monthly: Once you choose a frequency, it triggers an immediate payout of unpaid commissions and the period starts from when you set/save the setting. Currently this uses PayPal Payouts so be sure you have your PayPal Client ID and Client Secret added to your settings and that you have enough funds. The vendors also would need to have their PayPal account email setup in their settings for them to receive commission.
- PayPal Payouts Payments Environment:
- PayPal Payouts Payments API Client ID – Sandbox or Live, depending on which you selected in previous step.
- PayPal Payouts Payments API Client Secret: Sandbox or Live, depending on which you selected in above step.
- Default Commission: Amount of commission paid to vendors, if a Vendor or Product level commission isn’t entered.
- Commission Type: Set if the Default Commission is a Fixed Amount or Percentage of product cost.
- Show [Sold By]: Enable to display [Sold By Vendor Name] for each product.
- Show Vendor Review: Enable to display overall review rating on vendor’s page.
- Show Vendor Logo: Enable to display logo on vendor’s page.
- Show Vendor Profile: Enable to display profile on vendor’s page.
- Save changes.
Vendor Creation/Registration ↑ Back to top
There are two ways that a vendor can be created:
- Registration form
- Manual addition by the store owner
Registration Form ↑ Back to top
Logged-in Admins will not see the form. You need to be a logged-out Admin, or a logged-in role that is not Admin.
To allow vendors register and sell products on your site:
- Create a page in WordPress at Pages > Add New.
- Enter the shortcode [wcpv_registration] on the page.
The form looks like this:
Vendor Name must be unique and determines the vendor name for the store, e.g., If they enter “Nike,” this is the name used throughout the store.
Once the vendor has submitted the form, the store owner gets an email notification that a vendor has applied and a user account is created for this vendor. As a Store Owner, you can “approve” the Vendor by changing the User Role to Vendor Admin or Vendor Manager and adding them to a Vendor under the Vendor Admins section.
Manual Addition ↑ Back to top
Store owners can manually add and create a vendor.
- Go to: Products > Vendors.
- Complete fields, if known.
- Assign a Vendor Admin or Vendor Manager to the Vendor User, allowing an existing user to manage this vendor. Using the previous example, vendor “Nike,” go to Products > Vendors , click on a vendor to edit, find the Vendor Admins field (above) and search for the username/email to add as an admin.
- Give the Vendor User access as a Vendor Admin or Vendor Manager. Go to Users (below), find the Vendor User, click to edit, change the role to Vendor Admin or Vendor Manager.
- Scroll down to Vendor Management. Here you can allow the user to:
- Publish Products: This setting determines if this vendor user is allowed to publish products live with or without approval.
- Manage customers: This setting determines if this vendor user can manage customers which includes their own existing customers and create new customers.
Note: Vendor users with capacity to manage customers will not be able to edit or search for administrator users, for security reasons. If an administrator would like to make a purchase on the store from one of the vendors, it is recommended they use a different account.
After a Vendor User registers via the form or is added manually, his/her role will initially be Pending Vendor.
Once you switch the role to Vendor Admin or Vendor Manager, an email is sent that states their application has been approved and they can now start to set up and manage their store.
Vendor Settings ↑ Back to top
Details of each setting after the screenshot:
Settings are specific to a Vendor. Go to: Products > Vendors, click on a Vendor to edit.
- Name: Vendor name displayed to the public.
- Slug: Internal name for vendor, which also affects the vendor URL. Automatically assigned by default. We recommend leaving this field as-is.
- Notes: Store owner can enter any notes about this vendor. Only viewable by the store owner.
- Vendor Logo: Image that can be displayed on the website. Usually added by a vendor admin, but can be added by a Store Owner or Admin.
- Vendor Profile: Usually added by a vendor admin, but can be added by a Store Owner or Admin.
- Vendor Email: List of email addresses, separated by a comma, that receives store-related notifications. Usually added by a vendor admin, but can be added by a Store Owner or Admin.
- Vendor Admins: List of users who have access to manage this Vendor. Added by the Store Owner only.
- Commission: Vendor Level rate added by the Store Owner. This overrides the Default Commission setting, but the Product Level commission can override the Vendor Level rate.
- Commission Type: Set this if the Commission above is a Fixed Amount or a Percentage of the product cost.
- Pass Shipping: Check box to pass the shipping charges to the vendor.
- Tax Handling: Decide how you want the taxes to be handled
- Instant Payout: Enabling means that vendors are paid immediately after an order is placed and payment is received. Both the Store Owner and vendors need to have PayPal accounts for this option to work.
- PayPal Email: Email address that a Vendor has listed on his/her primary PayPal account to collect commission via PayPal Payouts. The commission cannot be paid automatically without it.
- Show Per Product Shipping Rules: Enabling allows vendors to add their own per product shipping rules. If disabled, the Store Owner decides.
- Enable Bookings Feature: Enabling allows vendors to use bookings. Requires WooCommerce Bookings, sold separately. (Some limitations – please see below.)
Adding Products ↑ Back to top
Adding products in Product Vendors is similar to adding products in WooCommerce, with additions or differences described below.
It’s important to note, that if there more than one user has added products in WooCommerce (e.g. shop managers and product vendors), the Product listing page will display a “Mine” filter at the top. This is to distinguish between products added by administrators and shop managers, with products added by vendors.
If you’re unfamiliar with how to add products, see: Adding and Managing Products.
The Admin can filter a product list by Vendor.
A Vendor Admin has the ability to trash products; a Vendor Manager cannot.
Store Owner Product Editing ↑ Back to top
In addition to the normal product settings, the Store Owner needs to configure:
- Commission: Product Level commission added by the Store Owner only. This overrides the Vendor Level commission and Default General Commission.
- Pass Shipping: Enabling will pass shipping costs on to the vendor. Shipping costs and shipping tax costs will only be passed if Per Product Shipping that comes with Product Vendors is being used.
- Tax Handling
- Keep Taxes: Store owner keeps all taxes. Commission is calculated based on the product price only.
- Pass Taxes: All taxes charged to customer are included in the vendor’s commission.
- Split Taxes: The full price of the product including the taxes will be used to calculate the vendor’s commission.
- Product Vendors Widget Dropdown: Indicates the vendor associated with this product. It’s auto-assigned when vendors create their products.
Vendors Product Editing ↑ Back to top
Users who have manager access to the vendor are allowed to add/edit products.
- Vendor creates a product that is Pending Review after submission to the Store Owner.
- Email is sent to the Store Owner, notifying him/her that a vendor has submitted a product.
If you would like a Vendor to be able to publish products without approval, you can change the setting for the Vendor by following these steps.
- Go: to WordPress Admin > Users > Vendor
- Change the value in dropdown from Needs Approval to Allow for Publish Products
Reports ↑ Back to top
Store Owner Reporting ↑ Back to top
Store Owner reports for Product Vendors are found in the legacy WooCommerce Reports and located in the same location, under the extra Vendors tab.
Vendors Reporting ↑ Back to top
Vendor reports are similar to the Store Owner, except they only see their own sales.
Commission ↑ Back to top
The Product Vendors Commissions page displays the commission of each product by order. Other info, such as commission/shipping/fulfillment status, is also included.
On this same page, you can export the commission in two different ways via two different buttons.
- The first is the “Export Commissions” button, which lets you export a CSV file of the commissions paid or unpaid in the current view. If you use the filter function, then the export shows data for the filtered view.
- The second export button is the “Export All Unpaid Commission.” This exports a CSV file for all unpaid commission, regardless of the view. This is useful when you want to manually process your mass payouts via PayPal Payouts.
Commissions can be calculated to include or exclude taxes in the product price.
Bulk Actions ↑ Back to top
The Store Owner can perform actions in bulk to process similar transactions and save time.
- Pay Commission: Pays commission for selected products.
- Mark Unpaid: Indicates that a commission is unpaid.
- Mark Paid: Indicates that a commission is paid. (Does not pay commission)
- Mark Void: Indicates that a commission has been voided.
- Mark Fulfilled: Indicates that the product has shipped.
- Mark Unfulfilled: Indicates that the product has not shipped.
- Delete Commission: Deletes commission. (Does not delete order)
Commission Scheduled Payout ↑ Back to top
Instead of Instant Pay, you can schedule commission payouts to vendors on a weekly, bi-weekly or monthly basis.
Depending on your store and terms, you may want to pay commission at a later date so you can create a cushion for customer refunds or whatever processing you may need.
Note that when you select either weekly, bi-weekly or monthly and save, your interval will start at the time you clicked save. For example if I chose “bi-weekly” and click on save now, it means from now and two weeks later, run the payout.
The default setting is Manual, which means no commission is paid unless Instant Pay is enabled.
PayPal Setup ↑ Back to top
Using PayPal for Product Vendors isn’t possible in Germany due to country specific laws as German law requires the funds to be held in escrow. We’re not able to offer a suitable alternative.
Instant Pay and Scheduled commission payouts use PayPal Payouts, which is included and built into Product Vendors. You need a Business account with PayPal to automate commission payouts to vendors.
PayPal Payouts is the only automatic way to pay commissions from within Product Vendors, but it is not the only way to pay your vendors – you can pay vendors manually outside of the Product Vendor area such as manually via your payment gateway. Support at WooCommerce.com can only help with the functionality of the Product Vendors extension.
Vendor’s commissions are paid out separately for each order. Thus, PayPal transaction fee is charged per order.
To set up PayPal Payouts for your store:
1/ Sign up for a PayPal Business account. Or contact PayPal and switch your existing account to Business.
2/ Request access to PayPal Payouts. More info at Get access to PayPal Payouts
3/ Log into the PayPal Developers site with your PayPal account to set up an application at: https://developer.paypal.com/
4/ Go to your PayPal Dashboard, select the mode you want to set up (either “Sandbox” for testing, or “Live” for production) and click Create App.
5/ Enter a descriptive name for the application, e.g., WooCommerce Payouts.
6/ If prompted, select the Sandbox account, which is automatically created for you. Even if you haven’t created one yet, there should be one to select.
7/ Copy the Client ID and Client Secret on the next page after the app is created and the screen appears.
8/ Finally, in the Vendors settings under WooCommerce > Settings > Products > Vendors, paste the Client ID and Secret into the “PayPal Payouts API Client ID” and “PayPal Payouts API Secret” fields, respectively. Make sure the Environment is set to the appropriate mode (Sandbox / Live) to match the ID and Secret that were copied from the PayPal dashboard.
Shipping ↑ Back to top
Per Product Shipping is included and built into Product Vendors. This is the only shipping method that can pass the collected shipping amount along to Vendors (added to the commission), but that shipping cost must be set up on each product, under the Shipping tab. All other shipping methods from WooCommerce core or third-party developers will charge the customer shipping but will not pass the amount collected to vendors.
If Per Product Shipping is enabled for the vendor, he/she will have the ability to add their own shipping costs per product. If disabled for the vendor, the store owner can add per product shipping costs for them. This is set in Product Data under Shipping > Shipping Rules.
Be sure to also enable the global per product shipping settings where you will also find extra global options.
Tax ↑ Back to top
Store Owners set up new tax classes for vendors or add them to an existing tax class.
New tax class ↑ Back to top
To create a new tax class for a vendor:
1/ Go to: WooCommerce > Settings > Tax.
2/ Add and name the Additional Tax Class.
3/ Edit the tax and set tax rules.
4/ Go to Products > Products, and find the vendor’s product(s).
5/ Edit the vendor’s product, and set the tax class for them.
Add to existing tax class ↑ Back to top
Vendors can be added to an existing tax class, if you already have a tax class set up on your store that applies to the vendor, e.g., Vendors in California can use the same tax class. Use steps 4 and 5 in the previous section.
More information at: Setting Up Taxes in WooCommerce.
Email Notifications ↑ Back to top
Several emails are set up in Product Vendors for Vendors and the Store Owner.
- Vendor Registration (Store Owner) – Sent when vendor submits registration form.
- Vendor Registration (Vendor) – Sent to confirm registration form was submitted to store owner.
- Order Email (Vendor) – Notifies vendor of a new order.
- Canceled Order Email (Vendor) – Sent to notify vendor that customer canceled.
- Vendor Approval – Sent to vendors with login and password when registration is approved.
- Product Added Notice – Sent to store owner to review when product is added by a vendor.
- Order Note to Customer – Sent to customer when vendor adds a note, e.g., Tracking number, personal thank you.
Emails settings can be changed at WooCommerce > Settings > Emails.
Vendor List ↑ Back to top
To display a list of all vendors, you can use the shortcode
[wcpv_vendor_list]. Available attributes are “show_name” and “show_logo”. So you can say
[wcpv_vendor_list show_name=true] and that would display the vendor list with names.
Widget ↑ Back to top
Product Vendors comes with one widget to display vendor information. It can be set to be:
- Context sensitive, showing the vendor being displayed on that page
- General, showing a specific vendor no matter what page is being visited
The Widget populates with information from the vendor profile. It will display the name, the logo and text. It will not display any clickable links or images that are visible in the profile page only.
Plugin Compatibility ↑ Back to top
Some known compatibilities with other plugins.
- WooCommerce Bookings – Fully compatible with a limitation (vendors can’t access or manage resources)
- WooCommerce Product Enquiry
- WooCommerce Order Customer CSV Export – Use this custom code Add Vendor Column
Questions and Support
Something missing from this documentation? Do you still have questions and need assistance?
- Have a question before you buy this extension? Please fill out this pre-sales form – please include the name of this extension in your query.
- Already purchased and need some assistance? Get in touch with a Happiness Engineer via the WooCommerce.com Support page and choose this extension name from the “I need help with” dropdown