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 version 2.0x requires:
- WooCommerce version 2.6.0+
- WordPress 4.9+
- PHP version 5.6+
- PayPal account
Changes from version 1.0 ↑ Back to top
- Only one vendor can be assigned to a product
- Commission can be fixed or a percentage
- Stats/reports shown in the vendor dashboard/admin pages; vendor stats shortcodes removed
- Reports and commission exportable with information needed by current demand
- Mass payment is no longer manual and can be automated using PayPal Payouts and instant pay. Payment fees with mass payments are only when charged you make a mass payment
- Vendor information in product tabs has been removed in favor of vendor-specific information page
- Vendors get their own order email with their own details
- Vendors no longer see other vendors’ items in any context
- Fully compatible with WooCommerce Bookings (with limitations – please see below)
- Fully compatible with Product Enquiry Form
- Shipping and taxes can be passed to vendors
- Per Product Shipping is built in
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: wcpv_commissions and wcpv_per_product_shipping_rules.
More information at:.
Setup and Configuration ↑ 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.
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.
- Shop Manager is a WooCommerce role that can manage vendors.
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
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.
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
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: Usually added by the vendor.
- Vendor Profile: Usually added by the vendor.
- Vendor Email: List of email addresses, separated by a comma, that receive store-related notifications. Usually added by the vendor.
- 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.
- 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. 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 ↑ 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 ↑ 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 ↑ Back to top
Store Owner reports are similar to WooCommerce Reports and located in the same location with an extra Vendors tab.
Vendors ↑ 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
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.
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/ Log into the PayPal Developers site with your PayPal account to set up an application at: https://developer.paypal.com/
3/ 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.
4/ Enter a descriptive name for the application, e.g., WooCommerce Payouts.
5/ 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.
6/ Copy the Client ID and Client Secret on the next page after the app is created and the screen appears.
7/ 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.
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 & Support ↑ Back to top
Have a question before you buy? Please fill out this pre-sales form.
Already purchased and need assistance? Get in touch with a Happiness Engineer via the Help Desk.