PayPal Payouts

Before you begin with Payouts

You must have a PayPal business account to use Payouts, and Payouts is not enabled by default in your PayPal account. To use PayPal Payouts you must be approved by PayPal. After requesting access to Payouts they will review your account and your business before enabling Payouts in your account.

To begin the process of request access login to the PayPal Developer page and navigate to My Account. You’ll see a page similar to the image below. Scroll down to Payouts and in the Live column click Enable. You’ll be walked through a series of forms that you must fill in and submit.

After you have been granted access to Payouts follow the steps below:

 

1. Configure PayPal Settings

You need to create an “app” in your PayPal settings. Open the PayPal Developer page in your browser. Sign in and navigate to My Apps & Credentials then scroll down the page to REST API apps. Click the blue Create App button.

You’ll the see the form below.

Enter a name for your app and select the user for the app in the dropdown box, the click the Create App button. When you do that a Client ID and Secret will be generated. You’ll need to copy those in the plugin settings.

2. Configure Plugin Settings

In your WordPress admin area navigate to the Paypal Payouts menu item, there you’ll see the settings.

If you’re testing Payouts in sandbox mode then copy your sandbox Client ID and Secret into the related sandbox fields and choose Sandbox in the “Use Live or Sandbox setting. Otherwise copy your live Client ID and Secret into the related fields.

Next choose a Payout mode. Instant payouts happen almost instantly after an order is processed. Delayed payouts happen after the number of delay days you set. Manual payouts must be initiate manually by you.

In the Order Statuses setting select which order statuses will cause a payout to be created. We suggest that you select Completed and Processing since those two statuses mean that an order was paid for successfully.

After you’ve adjusted the settings and saved them check the Enabled checkbox when you’re ready to use the software on your site.

When you save the settings the software automatically creates a “webhook” in your app at PayPal. Be sure to check your PayPal app settings to ensure that you see a new webhook listed. To check that, find the app you created and click its name. Then scroll down the page to the Webhooks section. If you don’t see the Webhook created yet then double check your Client ID and Secret to ensure you have them entered correctly in the plugin’s settings and resave the settings. Resaving the settings causes the plugin to attempt to create the webhook for your app.

 

Monitoring Payouts

You can view any payouts that have been created on your site by navigating to the PayPal Payouts -> Payouts page. On that page you see a list of payouts.

In the Details column you can click the info button to see details about any particular payout.

If a payout hasn’t been processed into PayPal yet you can click the currency icon in the details column to initiate processing. Do this to manually initiate a payout.

If a payout status doesn’t show SUCCESS yet you can click the refresh icon to check the status at PayPal.

Once a payout has been sent it cannot be cancelled unless the recipient fails to claim it for 30 days. Ordinarily if a recipient has a PayPal account then their account automatically claims it as soon at the payout is processed by PayPal. If you need the funds back from whoever received a payout you must contact that person directly and ask them to return the funds. 

Fees

With PayPal Payouts the sender of the payout pays the fees. See their documentation on fees.

 

The plugin is simple to use: Install on your site, activate the plugin on the Plugins page in WordPress, that’s it!  With that done it works automatically.

The way it works is this: When a shopper lands on the My Account page of your site (or whatever you may call it, it’s the default account page automatically created when you install WooCommerce), the plugin tries to detect the referring page – the page they came from on your site. If the plugin can detect the referring page then it temporarily remembers that page URL and when the user logs in the plugin tells WordPress to automatically sends the shopper back to the page they came from.

 

 

 

First adjust tyhe plugin’s main settings, navigate to WooCommerce -> Settings -> Integration Email Notifications to view the settings, be sure to save the settings at least once.

Then navigate to WooCommerce -> Email Notifications.

  1. Add a new notification by clicking the button to do so near the top of the page
  2. Review the settings and adjust them to suite your needs
  3. Save/publish the notification.

In the settings you’ll find 3 tabs: General, Triggers, and Contact Info

General settings

Important: don’t enable the email notification until you’ve adjusted all the settings first! 

Each setting on this tab has a help tip icon that you can hover your mouse over to see an explanation of the field.

Enter the email address (separated by a comma) that should receive this notification

Enter a recipient name

Choose what to include in the notification email message

Triggers tab

The triggers control when this email will be sent.

Note that you must choose one or more “Conditions”, which correlate to order statuses. The “Conditions” (order status) must match before this notification will be sent for the order.

You can also define other optional triggers based on product categories, specific products, specific roles for the shopper that made the purchase, specific shipping classes for products in the order, and shipping destination countries.

If you define optional triggers (beyond “Condition”) then those triggers are processed via “OR” logic. For example: If the order receives a status of Processing AND (has products from Category Abc OR is shipping to Canada) then send this notification.

Contact info tab

Any contact information you enter into this tab is for your reference only and is never included in a notification email.

You can use these settings to help remind you what the notification if used for.

 

 

Configuration

Navigate to WooCommerce -> Settings -> Integration -> Cart Discounts.

Adjust the basic settings to suit your needs, and note that you can hover over the question mark icon to see a description of each setting.

To add new discount rules click the Add Rule button near the bottom of the page.

For each rule you can set a label, a From and To amount range, and a discount amount. For example, to apply a 10% discount labeled “Automatic Discount” if the shopper spends between 100 and 200 you’d set the label accordingly, set the From amount to 100 and the To amount to 200, and set the Discount Amount to 10%.

If you want to apply a flat amount discount then don’t include a percent symbol.

Note that the first matching rule is applied. You can drag and drop the rules into any order you prefer.

 

Getting Started

  1.  Navigate to WooCommerce -> Quick Order Forms
  2.  Click the Add Quick Order Form button near the top of the screen
  3.  Give the form a title. Shoppers will not see this title, it’s for your reference only
  4.  Adjust the settings to control what appears on the quick order form
  5.  Click the Publish button to save the form
  6.  When the form saves and the page reload look in the right sidebar near the top. Copy the shortcode shown in the Shortcode box
  7.  Create a new page on your site (via the Pages menu). Paste the shortcode into the page where you want the order form to appear and publish the page.

That’s all there is to it!

 

1. Getting Started

After installing and activating the plugin, navigate to WooCommerce -> Settings -> Integration -> Drop Shipping.

There you will find the general settings, most of which are related to the PDF packing slip content and are self-explanatory.

However, a couple of the settings may need clarification:

Enable – This setting controls whether email notifications will be sent. When not enabled no notifications will be sent.

Order Status Trigger – This controls when email is sent to your suppliers. If you configure the setting to Processing then your suppliers will be sent an email notification when any new order receives the status of processing if the order contains items for a shipping supplier.

Default Supplier Notification – This is the default email notification sent to all suppliers unless you create different email notifications and set a supplier to receive a different email notification. See the section on Email Notifications below.

PDF Packing Slips – Configure the general content of your packing slip. These settings will be used for all packing slips sent to all suppliers. You can view a sample of the PDF by clicking the Download a Sample button near the bottom of the settings. Keep in mind this is only a sample. The actual packing slip will contain actual data from the orders.

2. Email Notifications

When you active the plugin one default email notification is automatically created. All suppliers will receive this notification unless you create additional email notifications and assign them to individual suppliers.

Navigate to WooCommerce -> Email Notifications

There you will find the default email notification. Hover over the title and click the Edit link to view its settings. Adjust the settings to configure which content will be included in the email body, and optionally enable the PDF packing slip setting if you want a packing slip attached to the email message.

3. Adding Suppliers

Navigate to Products -> Suppliers to add new supplier.

You must at least configure a title and an email address.

The settings are self explanatory, with one exception which comes into play if you’re using any of Ignitewoo’s UPS Drop Shipping Pro, Fedex Drop Shipping Pro, or USPS Dropshipping Pro extensions for WooCommerce. See the shipping section below for more information.

4. Adding Suppliers to Products

Edit a product. In the right sidebar you’ll see a box where you can optionally assign one supplier to the product. Save the settings.

That’s all that’s required for the plugin to know that this product ships from a supplier so it can send the supplier an order email notification automatically.

Test Everything First

Test all of your settings and the entire purchase flow before assigning suppliers to all of your products!

  1. Adjust the plugin’s main settings.
  2. Adjust the default email notice settings.
  3. Create a supplier for testing, and set the supplier’s email address to one of your own.
  4. Create a product for testing.
  5. Assign your test supplier to the product.
  6. Set the product price to 0 (zero) so that it’s free and you don’t have to pay at checkout to conduct a test.
  7. Set a weight and dimensions (if your shipping modules expect weights or dimensions).
  8. In the top right of the sidebar of the product editor, set the Catalog Visibility to Hidden so the product doesn’t appear in your public shop.
  9. Publish the product.
  10. Put the product in the cart and go through checkout.
  11. View your new order in the admin area of your site to ensure it came in correctly.
  12. Make sure the order has the status you set for the order trigger status in the plugin’s main settings.
  13. Wait a few minutes so that mail has a chance to flow from your site to your inbox (mail flow time varies depending on your Internet services), then check your email.
  14. In your inbox you should find the email notification sent by this plugin.

Importing Inventory Stock Status and Quantity from CSV Files

This feature requires WooCommerce 3.0 or newer. It will not operate correctly if you’re using older versions of WooCommerce.

First ensure your CSV contains a SKU number and that your products have SKU numbers configured. This is required. You cannot import inventory updates with SKU numbers. The SKU number is used to find the correct product for the correct supplier

Next, ensure your CSV file contains one or both of the following two types of a columns:

Stock status indicator – this column would indicate whether the product is in stock or out of stock. The values in this column must be set to 1 or 0 (zero). No other values will be interpreted correctly!

Stock quantity – this could would be a numeric value that represents the quantity of the product that the dropshipper has available.

As long as your CSV file contains at least 2 of those 3 columns the inventory update import should operate correctly.

BE SURE TO BACKUP YOUR DATABASE BEFORE ATTEMPTING ANY IMPORT!

There are 3 types of possible data combinations when running your inventory update import. Your choice of CSV fields determines which kind of update will happen:

  • Quantity update – when you only import the quantity, then the in/out of stock status is set automatically base on whether the quantity if greater than zero.
  • In/out of stock update – when you only import the stock status then only the stock status of the products are set as indicated in the CSV. A column that indicates in-stock (1) or out-of-stock (0) MUST contain a value of 1 or 0. Any other value assumes in-stock
  • Quantity and in/out of stock update – when you import stock status and quantity then both settings in your products are set as indicated in the CSV, however if the quantity is less than one then the product is automatically set to being out of stock. If you want to allow backorders of out of stock items then you MUST turn that setting on your products yourself. The import routine will not adjust the backorders setting.

To begin an import, navigate to Products -> Suppliers, find the supplier in the list, and click the Import Inventory CSV button. You’ll be redirected to the import page for that specific supplier. You cannot import more than one supplier’s inventory update at the same time.

Select the CSV file from your computer, set the CSV delimiter (usually a comma), and click the button to continue.

Next you’ll see a CSV field mapping screen. Make sure that the SKU field is mapped to the corresponding field in your CSV file. Then, select the corresponding field in your CSV file for the Stock Level and/or the Stock Status field. Now click the button to run the import.

After the import runs you’ll see the next page that tells you how many products were updated and how many were skipped. A product will be skipped if the the update process cannot find a product matching the SKU number for the supplier for which you’re running the inventory import update.

IgniteWoo’s Shipping Extensions

If you’re using any of IgniteWoo’s UPS Drop Shipping Pro, Fedex Drop Shipping Pro, or USPS Dropshipping Pro extensions for WooCommerce then you gain some additional very powerful features:

First, every supplier will have new settings for you to configure the origin from which your dropshipper ships their products. Each shipping module adds a zipcode/postcode field. Some may also add a setting for country and state/province. You must set each field if you want the shipping modules to calculate shipping from the dropshipper’s actual shipping origin.

Secondly, each of the mentioned shipping modules will have a setting that you can enable that tells the shipping module to group items in the cart by supplier for purposes of calculating shipping. This way, if a shopper buys 3 items from Supplier A, and 2 items from Supplier B, and 5 items from Supplier C, then the shipping modules will calculate shipping from each of the three supplier’s origins, and at checkout your shopper will select a shipping method (Ground, 2nd Day, etc) for each group of items.

This method of handling packages gives your site the ability to offer far more accurate shipping rates, which benefits you and your shoppers.

See the documentation for the individual shipping modules for details on their configuration and use.

 

 

 

 

 

Install and activate the plugin. Then create one or more products to sell credits to post product and/or feature products on your site.

  1. Give the product a title. For example: Product Posting Credits.
  2. Set the product type to Vendor Post Credits or Vendor Feature Post Credits.
  3. Set the price to buy the product
  4. Below the price set the Credits Per QTY (quantity).
  5. Check the Virtual box since this product is not shipped.
  6. Near the top of the right sidebar, edit the Catalog visibility setting and adjust it to hidden so that it does not appear as a product on your site. Even though it is hidden from the overall store it will automatically appear in each vendor’s dashboard under the Credits tab.

The setting “Credits per QTY” lets you control how many credits are issued per quantity of the product that is purchased.

To enable credit system, navigate to WooCommerce -> Settings -> Vendor Marketplace Stores, and click the Pay to Post / Pay to Feature tab. On that tab section you’ll find checkboxes to enable pay to post and pay to feature. You’ll also need to define how many credits are charged to post a product or feature a product.

Pay to Post & Feature settings
Pay to Post & Feature settings

 

Credits are debited from a vendor when the vendor first saves their product while editing. The credits are are not returned to the vendor if the vendor deletes the product or the administrator declines to publish the product.

Credits are debited when a vendor features a product. The credits are are not returned to the vendor if the vendor un-features the post.

Note that if an administrator or shop manager is publishing a product in the WordPress admin area for a vendor then no credits are automatically debited. Admins must manually subtract credits from the vendor’s user account.

To manually adjust credits for any vendor user, edit their user account where you’ll find the related settings. Simply increase or decrease the number of credits in the setting and save the user’s account settings.

A Note About Featuring Products:

The idea of featured products is that they are prominently displayed somewhere on your site. Vendor Marketplace Pro does not handle displaying featured products, only your site’s theme can do that!  So you must ensure that your theme can display feature products in some way or other.

If you theme doesn’t have a way to display feature products then you might use the “featured_products” shortcode built into WooCommerce (wee the WooCommerce shortcode documentation for more help with shortcodes.), or you can use the Products widget built into WooCommerce to display widgets in sidebars to show featured products.

 

Navigate to WooCommerce -> Settings -> Integration

 

Global rule definitions

Min Subtotal – the minimum cart subtotal that a buyer must have in their cart before being allowed to checkout. Do not use a currency symbol. If you leave this field blank then no minimum order subtotal will be enforced for the shopper.

Max Subtotal – the maximum cart subtotal of all items in the cart that a buyer can have and still proceed to checkout.

Min Qty – the minimum total quantity of all products in the cart required before a shopper is allow to checkout.

Per Item Qty – the minimum number of each product that must be in the cart before a buyer can place the order. For variable products, this applies to the product’s variations as a whole. So for example, if a product has 3 variations and the buyer has one of each in the cart, then the total quantity count for the product is 3.

Orders – causes the rule to be applied to shoppers with less than the defined number of orders.

Product rule definitions

When editing an individual product you can a different type of quantity requirement rules. Navigate to the General section of the Product Data for the product. Below the pricing and tax settings you’ll find a Quantity Rules section. Here you can define rules for minimum and maximum quantities that pertain only to this product. You can also define “Increments” if you only sell the product in specific increments, for example maybe for a given product you only sell quantities of 2, so a shopper can buy 2, 4, 6, etc., but not 1, 3, 5, etc. To do that set the Increments value appropriatey.

For any given product rule you can also optionally assign the rule to specific users and/or roles.

Getting Started

In your WordPress admin area, Navigate to WooCommerce -> Settings -> Integration -> Password Protected Private Site.

First adjust all the settings. Then when you’re ready to have the plugin protect your site check the Enable box and save the settings.

There are several ways to adjust the settings depending on what you want to accomplish:

Modes of Operation

Store requires logged in user, no custom passwords

  • Set the Mode to Enter Store
  • Leave the password box empty
  • Enable Allow Logged-in Users – OR – Optionally define specific users and/or roles that are allowed access

Store requires custom password

  • Set the Mode to Enter Store
  • Define one or more passwords
  • Optionally enable Allow Logged-in Users if you want existing users to have access without a custom password – OR – Optionally define specific users and/or roles that are allowed access

Store requires logged in user or custom password

  • Set the Mode to Enter Store
  • Define one or more passwords
  • Enable Allow Logged-in Users – OR – Optionally define specific users and/or roles that are allowed access

Protect Specific Categories

  • Set the Mode to Selected Categories
  • In the Categories section of the settings, select one more more categories to protec
  • Optionally enable Allow Logged-in Users if you want existing users to have access without a custom password – OR – Optionally define specific users and/or roles that are allowed access
  • Optionally define one or more custom passwords

Menus and Widgets

If the mode is “Entire Shop” then the plugin attempts to hide all menu and widget links to the WooCommerce shop page, categories, and products; and it also hides all widgets built into WooCommerce

Password Entry Form

Display a password entry form automatically

  • Set the Show Password Form setting to Show Form
  • Configure the related form settings

Display a password entry form using a shortcode

Use the shortcode [store_login]

Optional parameters:

before_form – text to display before the form

form_title – form title, display before the password entry field

submit_button_text – text for the submit button

after_form – text to display before the form

visit_text – text to display if lands on the login page and has already entered a password, this text is hyperlinked to your main store page.

success_message – text to display after the user successfully enters a password

Note that if you don’t supply shortcode parameters then the default settings built into the plugin are used, or settings as configured in the plugin are used.

Example shortcode:

[store_login before_form="Welcome, enter your password to access the store"]

Redirect users

You can optionally redirect users that have not been granted access (not logged in or didn’t enter a password)

  • Set the “Show Form or Redirect” setting to Redirect
  • Enter a URL of where to redirect the user

 

 

Table of Contents

Be sure to read all of the information below carefully so that you have a good understanding of how the software works.

Configuration

Navigate to WooCommerce -> Settings -> Integration -> Vendor Stores. Configure the settings as you like. Be sure to refer to the setting descriptions below so that you understand the implications and use of each setting.

General

Vendor Store Slug

Vendor Store Slug

The permalink structure used for the store permalinks. WARNING: Slugs can only contain letters, numbers, dashes, forward slashes, underscores (and percent symbols when used to represent the shop_vendor taxonomy). For example: vendor is valid, as is store/vendor

Note: We don’t offer support for custom permalinks beyond the default setting.

Endpoints

Vendor Dashboard Page

The page on your site used for the Vendor Dashboard area, which is used by vendors to access their settings, orders, etc. This page is created automatically when you enable the plugin. The default title for the page is “Vendor Dashboard”. This must be set correctly otherwise accessing sections of the frontend dashboard may result in “404 – Page not found” messages, or similar.

The permalink structure used for the sections of the frontend dashboard permalinks. WARNING: Slugs can only contain letters, numbers, dashes, forward slashes, underscores (and percent symbols when used to represent the shop_vendor taxonomy).

Note: We don’t offer support for custom endpoints, we only support the default endpoints.

Commissions

Default Commission

This is the default amount used if no commission is set in the vendor’s store settings. By default no percentage is defined in a vendor store when the store is created – unless you manually set the commission. When no commission is set in a vendor’s store this default commission setting is used.

You may use a percentage or a fixed amount. To define a percent for each product sold use a percent symbol after the amount. Example: 25% or 45.5% To define a fixed amount per product sold enter a number without a percent symbol. Example: 10 to give $10 commission, or 75% to give a 75% commission. Keep in mind the commission is calculated on a per product basis, per quanity. Example: If you set the commission to 75% and the vendor sells one person 5 yellow t-shirts $20 each in the same order, the total sale amount is $100 and the vendor will receive $75 ( 75% of $100 ).

If no commission is defined then vendors recieve no commission unless you defined a commission in their store settings. Note that per-product commission settings override vendor store commission settings.

Default Commission For

This controls the default setting of who receives the commission when a new vendor store is created. You can override this setting for any vendor store by editing the settings for the vendor store, or on a per-product basis by editing individul products.

This setting lets you configure your store in a variety of ways. For example, you might want to take $5 from the sale of each product. In that case, set the Commission to $5 and set the Commission For to “Store”

Or you might want to pay the vendor $10 for each item sold. In that case set the Commission to $10 and set the Commission For to “Vendor”

You can override the defaults by editing the settings of any vendor store.

You can also override the settings at the product level by simply editing the product settings.

If no setting is defined the plugin gives commissions to the vendor.

Include Shipping in Calc

When enabled the per item shipping amount is included when calculating vendor commission. This setting is only applicable when commission is a percentage and “Give per item shipping cost to vendor” is enabled

Give order item tax to vendor

When enabled, any taxes collected for the sale of the item are given to the vendor.

Give per item shipping cost to vendor

When enabled, any shipping cost associated with the sale of a vendor’s item is given to the vendor – IF you’re using a supported shipping method.

Vendor Registration

These settings determines how people can become vendors in your site.

For the vendor registration, you can choose to screen all requests for vendor access, or automatically grant vendor access when anyone submits a request. To screen requests select the option “Users can request access to post products,” and you’ll receive an email message every time someone requests access. The email message will contain a link to their user profile where you can review the account, and if you decide to grant them access as a vendor you must change their user role from Pending Vendor to Vendor and save the settings, and they’ll be sent an email letting them know that they’ve been granted access as a vendor.

If you allow users to request to become a vendor, then any logged in user can click the button on their My Account page to request to become a vendor. If the user is not logged in then they can register for an account and request to become a vendor at the same time. NOTE: To enable registration for non-logged in users you must enable user registration on the My Account via the WooCommerce setting in your admin area at WooCommerce -> Settings -> Accounts -> “Enable customer registration on the My account page.”

You can also enable the Extra Registration Fields, any of which can be disabled, or made to be required or optional. Any field that is not disabled will appear in the “Register” section of your site’s My Account page. Near the bottom of the register form a checkbox to “request vendor access” is automatically included if you allow people to request access via the “Vendor registration” setting.

Stores

Most of the settings in this section are self-explanatory, you can hover your mouse over the help tip (question mark icon) for any setting for help.

Note that Vendor Marketplace Pro offers the ability for you allow your vendors to set a “Store Status” for their store, which helps if they need to temporarily disable all sales for their items due to vacations, etc., or if they need to display a message on their store pages and products. You can enable this feature if you want to allow this functionality. When enabled you can choose any or all of four different statuses vendor may set for their store:

Normal – normal behavior, all products are visible and purchasable

Normal w/Notices – normal behavior, all products are visible and purchasable however the vendor can write a message that will be displayed on their store page and all of their product pages on the site. This is useful if the vendor might need to inform shoppers of something important, for example maybe they need to inform shoppers they’re experiencing shipping delays, etc.

Disallow purchases – Vendor’s products are accessible on the site but cannot be purchased

Disabled – this disables their store entirely so that non of their products are visible or accessible on the site.

Feedback & Ratings

You can enable the feedback and ratings systems that allows shoppers to leave written feedback and ratings for all items that they purchase. You can also opt to allow the feedback and ratings to be visible on the site, otherwise only the vendor can view the feedback and ratings in the dashboard. Admins can view feedback in the admin area of WordPress at WooCommerce -> Vendor Reviews.

When feedback and ratings are enabled on the site links to the feedback appear on a vendor’s main store page, and on individual product pages in a tab. A sample screenshot of how they appear is shown below.

feedback-ratings

For ratings, there are four rating labels. You can change any of the default text. The labels are used to build a list of of star ratings where the user can select from 1 to 4 stars to rate their response to each label. See the screenshot above for example.

Any label can be disabled by removing all of its label text.

Caution: Do not change the endpoint settings for the feedback for and reviews pages unless you’re absolutely certain that you need to and understand the implications.

Pay to Post / Pay to Feature

These settings are only applicable if you’re using IgniteWoo’s WooCommerce Vendor Stores Paid Features add-on for Vendor Marketplace Pro. The add-on allows you to sell credits that vendors can redeem to post products and/or feature their products on your site. If you’ve purchased this add-on then see the documentation for the add-on for more information on these settings.

Product Editing

Allowed Product Types

This determines which types of products a vendor can post in their store. We recommend allowing Simple and Variable.

If you enable new plugins that add new product types ( for example, WooCommerce Subscriptions ) then be sure to revisit this setting and make adjustments if you want vendors to be able to create products of the new post type.

Hide Product Panels

The product data panels that you want to hide. This works for the following panels:

  • Inventory
  • Shipping
  • Linked Products
  • Attributes
  • Advanced

Any other panels added by other plugins must be removed or hidden using your own CSS or Javascript

Hide Product Fields

The product fields that you want to hide. This works for the following fields:

  • Taxes
  • SKU

Any other fields must be removed or hidden using your own CSS or Javascript

Hide Product Type Options

The product type options that you want to hide. This works for the following types:

  • Virtual
  • Downloadable

Any other type fields must be removed or hidden using your own CSS or Jvascript

New Product Notice Recipients

A list of addresses (comma separated) who receive notices when new products are posted by vendors. Defaults to mark@simplercomputing.net

New Product Notice Title

Message subject. Use {blogname} to insert the site name

New Product Notice Message

Message content. Use {username} to insert the user name and {url} to insert a URL to view / edit the post

Automatic Approval

If you enable this setting by defining a number, then when the vendor has the defined number of products published the vendor will gain the ability to publish product any time they like with no notice sent to the store admin. To disable this feature, leave the field totally empty. To grant every vendor the ability to publish products without review set the value to 0 ( zero ).

Trusted Vendors

Any vendors selected can post products with no administrative review. This setting entirely bypasses the automatic approval setting for the selected vendors.

Editor CSS

You can enter CSS in this field that is loaded when products are edited by vendors. For example you may want to hide certain fields. You can use this CSS field to do that.

Product Editor Layout

The product editor in the vendor dashboard has sections that can be rearranged, and the section titles can also be changed. Drag and drop the sections to change their order.

Note that you cannot change the layout of the elements within a section. You can only rearrange the order of display of the sections.

Product Display

Show “Sold By” in Shop Pages

When enabled this adds a label to general store pages (main shop page, category pages, etc) informing the shopper of which store sells the product.

Show “Sold By” in Cart

When enabled the product pages will show which vendor sells the product.

Show “Sold By” in Email

When enabled order confirmation emails will show which vendor sells the product.

Show Seller Tab

Show the seller tab on single product pages.

Show Seller Address in Tab

Shows the seller’s address (if they’ve configured it in their store settings) in the seller tab, if the seller tab is enabled.

Seller Tab Label

The seller tab label on shown single product pages.

Show Seller Policies Tab

Adds a tab to product pages if the vendor defines any shipping and returns policies

Enable Vendor Tools Shortcuts

Adds shortcut links to a vendor single product pages for quick access to Edit or Duplicate a product, and a quick link back to the Vendor Dashboard page.

Add “Contact Seller” Tab

Add a tab to single product pages that allows a shopper to send the vendor a message. This feature requires a free ReCaptcha account.

Contact Tab Label

The contact tab label on shown single product pages.

ReCaptcha Public Key

Enter your Google reCaptcha public key

ReCaptcha Private Key

Enter your Google reCaptcha private key

Coupons

When you enable the coupons option vendors can create and manage their own coupons. You must enable the coupon feature in WooCommerce itself otherwise shoppers will not be able to use coupons!

There are some limitations in the way vendors can create coupons. Make note of these!

Vendors can create coupons just like an administrator can, however:

  • Vendors can only create coupon types of product discount and product percentage discount. NO OTHER COUPON TYPES ARE ALLOWED.
  • Due to limitations in WooCommerce itself, vendors cannot set options for free shipping; whether the coupon is applied before or after tax; whether the coupon can be used with other coupons; whether or not the coupon excludes sale items; and whether the coupon requires a minimum cart amount, and included and excluded product categories. IgniteWoo will attempt to address these issues as the WooCommerce coupons API evolves in upcoming versions, but we can make no guarantees one way or the other.
  • If a vendor configures a coupon for product discounts and does not set any included products then the coupon is valid for all of the vendors products unless a product in the cart is set in the excluded product settings of the coupon.

Also note that shop managers and site administrators will see an additional author field when editing coupons. This field is added by Vendor Stores to allow shop manager and administrators to see which vendor published the coupon and adjust the coupon ownership when necessary. Other than that, the author of a coupon is present to help Vendors Stores control access to editing the coupon. This setting has no affect on the use of the coupon by shoppers.

Taxes

You can enable taxes in your site and vendors can optionally enter their own tax tables. You must enable taxes in the WooCommerce settings before WooCommerce will attempt to calculate taxes.

You can optionally set up your own storewide tax tables per the WooCommerce documentation if you need to.

When you enable taxes in Vendor Marketplace Pro then vendors can enter a table of taxes in their dashboard area. The tax settings are basically the same as the storewide tax table settings, except that these rates are only available to the vendor’s products. If a vendor configures a tax table and assigns their tax tables as the tax class when editing a product then the taxes will be calculated using their table.

You should configure the following settings to enable taxes in your store when you want vendors to be able to set their own tax rates:

  • Navigate to WooCommerce -> Settings -> Taxes
  • Enable the tax setting
  • Set the “Calculate Tax Based On” setting to “Customer Shipping Address”
  • Set the “hipping Tax Class” to “Shipping tax class based on cart items”

Adjust the other settings to suit your needs keeping in mind that these settings apply to all vendors.

If you need to edit tax tables for a vendor then you must login as that vendor and visit the WordPress admin area, and navigate to the Store Taxes menu.

Here’s an example of the vendor’s tax table settings page. When the vendor enters tax rates and saves the settings a custom tax class is created for the vendor. Note that this custom tax class is hidden from the regular admin view of the WooCommerce tax settings and can only be viewed while logged in as a vendor.

WooCommerce Vendor Stores - Vendor Tax Table
WooCommerce Vendor Stores – Vendor Tax Table

You also need to instruction vendors how to assign their custom tax class to their products. When editing a product, on the General tab of the product settings, the vendor will set the tax settings for the product. In the tax settings area the vendor must check the “Use Store Tax Class” checkbox to automatically assign their taxes to the product. When the box is checked the vendors custom hidden tax class is automatically assign to the product. When the box is unchecked their custom tax class is automatically removed.

See the screenshot below for an example of the product editor tax settings area with the “Use Store Tax Class” checkbox checked. In the example you see that the Tax Class is set to “My Store Tax Class” ( which is a generic label seen by all vendors who enable their tax class for their products.

WooCommerce Product - Vendor Tax Class Setting
WooCommerce Product – Vendor Tax Class Setting

 

Orders

Disable New Order Notices

When you enable this option vendors will not receive new order notices via email

Show Email Address

Allow vendors to see buyer email addresses

Show Billing Address

Allow vendors to see buyer billing addresses

Show Phone Number

Allow vendors to see buyer phone numbers

Show Shipping Address

Allow vendors to see buyer shipping addresses

Add Vendor to Note

When a vendor adds a note to an order then prepend the vendor store name to the note

Shipping

These settings control how items are packaged before WooCommerce calculates shipping for a customer’s order at checkout, keeping in mind that any shipping module needs to know how many packages are being shipped along with what the packages might weigh and how big they are.

Vendor Marketplace Pro attempts to repackage all items in an order based on the Shipping Packages setting you choose, and in most cases this setting will take effect in any shipping module you decide to use. There are three options:

Group by Vendor – This is the suggested setting and is required if you intend to give the vendor the cost of shipping their items. This settings groups all items from each vendor in an order into one package per vendor. This way Vendor Marketplace Pro can determine how much of the overall shipping charges to give to a vendor when more than one vendor’s items are in a single order.

All items together in one package – This causes all items in an order to be grouped into one single package even if more than one vendor’s items are in a single order. This setting cannot be used when giving shipping costs to vendors.

One item per package – This causes each item in an order to be placed into a separate package. This setting cannot be used when giving shipping costs to vendors.

Note that you can use our UPS Drop Shipping, Fedex Drop Shipping, or USPS Drop Shipping extensions to give your shoppers the most accurate shipping rates possible since each of them allow your vendors to define their own shipping origin for the items they sell. Otherwise, other shipping modules may only use a single defined origin for all shipping regardless of where items actually ship from.

Packing Slips

This option is available when you use our PDF Invoices & Packing Slips Pro plugin. This add-on allows vendor to print PDF packing slips. Without the add-on vendors can print HTML-based packing slips.

Auctions

This setting is only used when you’re also use IgniteWoo’s Auctions Pro software to allow your vendors to post auctions. See the Auctions Pro documentation for help with that extension.

Payment Processing

Disable Instant Payments – With his option enabled, regardless of which payment gateway you have installed no vendors will be paid automatically at the time a shopper places a new order. Instead all commissions due will be recorded for processing at a later time

PayPal Required – With this option enabled all vendors will be required to supply their PayPal email address before being able to publish products in your site

Payment Processing

  • PayPal Mass Payment – Automatic. Using this method you can pay your vendors automatically at regular intervals using PayPal Mass Pay. The interval is controlled by your Payment Interval settings
  • PayPay Mass Payment – Manual. .Using this method you process payments by exporting a CSV of commissions due and uploading the CSV into your PayPal account’s Mass Pay interface.

Note that you must have a PayPal Premier or Business account to use Mass Pay.

You can enable any payment gateways you prefer, however only gateways officially supported by Vendor Stores are capable of paying vendors immediately ( Currently this includes IgniteWoo’s PayPal Adaptive Payments, WePay, and Stripe gateways).

If for example you enable an unsupported gateway and a shopper makes payment with that gateway then the vendor cannot be paid immediately and as a result their commission will be recorded as “Unpaid” in the commission table, and you will need to process payment to them in some other way ( via Mass Pay, or mail them a check, etc ).

BE SURE TO PERIODICALLY REVIEW YOUR COMMISSION RECORDS to determine which vendors need to be paid their commissions.

Payment Interval

ONLY USED FOR MASS PAY. Required if using Mass Pay in automatic mode. Automatically process commission payments every X number of days from the date the commission is recorded.

PayPal Mass Pay API Settings

PayPal Transaction Mode

Sandbox or Production. Sandbox requires a PayPal Sandbox account with Adaptive Payments and Mass Pay enabled in the Sandbox account. Contact PayPal for any assistance you may need with your PayPal accounts.

PayPal Email Address

Your PayPal email address

PayPal Username

Your PayPal API username

PayPal Password

Your PayPal API Password

PayPal API Signature

Your PayPal API Signature

PayPal Fee Offset

Allows you to subtract a fixed amount from the amount being sent a payment recipient.

PayPal Adaptive Payments

PayPal Adaptive Payments is built into Vendor Marketplace Pro. This payment gateway automatically splits payments between your store’s PayPal account and your vendors’ PayPal accounts based on the commission settings you define for vendors. Note that Paypal is retiring Adaptive Payments. If you’re already using it then you can probably continue using it. If you’re not already using it then use PayPal Payouts instead. See the Payouts section of this documentation for use information.

To enable this payment gateway navigate to WooCommerce -> Settings -> Checkout -> PayPal Adaptive Payments. Be sure to configure all the settings.

You can set a storewide commission that applies to all vendors in the Commission section of the Vendor Marketplace Pro settings. You can override the global commission setting for any given vendor by setting a different amount when editing a vendor’s store at Products -> Stores in your admin area. Or, you can set a different commission for different products by editing a product and setting the commission within the product.

REQUIREMENTS

Parallel payments and chained payments allow you to split payments between multiple recipients.

You MUST have a PayPal Premier or PayPal Business account AND you must be approved for the Adaptive Payments API. To gain approval follow the steps outlined by PayPal to register your Web app.

When registering your app with PayPal follow the basic guidelines in the PDF file that comes inside the plugin zip file – and note that these are only a guideline. Tailor your app submission settings to suit your exact needs. When selecting services BE CERTAIN to select Basic Payment if you intend to use Parallel Payments, and select Chained Payments ( and the “Instant” sub-selection ) if you intend to use chained payments. Note that chained payment require additional review by PayPal and as such your app may not be approved immediately. If you need assistance with getting approval for your app you must contact PayPal directly. IgniteWoo cannot provide such support.

As of October 2013, PayPal’s Adaptive Payments API currently only works with the following currencies: ‘AUD’, ‘BRL’, ‘CAD’, ‘MXN’, ‘NZD’, ‘HKD’, ‘SGD’, ‘USD’, ‘EUR’, ‘JPY’, ‘TRY’, ‘NOK’, ‘CZK’, ‘DKK’, ‘HUF’, ‘ILS’, ‘MYR’, ‘PHP’, ‘PLN’, ‘SEK’, ‘CHF’, ‘TWD’, ‘THB’, ‘GBP’, ‘RMB’

DEFINITIONS

Parallel Payments

A parallel payment is a payment from a sender that is split directly among 2 to 6 receivers. Technically, a parallel payment is a set of multiple payments made in a single Pay request within the PayPal API.

Parallel payments are useful in cases when a buyer intends to make a single payment for items from multiple sellers. Examples include the following scenarios:

  • a single payment for multiple items from different merchants, such as a combination of items in your inventory and items that partners drop ship for you.
  • purchases of items related to an event, such as a trip that requires airfare, car rental, and a hotel booking.

In these cases, the sender of the payment becomes aware of all receivers and the amount paid to each one.

Chained Payments:

A chained payment is a payment from a sender that is indirectly split among 2 to 6 receivers. It is an extension of a typical payment from a sender to a receiver, in which a receiver, known as the primary receiver, passes part of the payment to other receivers, who are called secondary receivers.

You can have at most one primary receiver and 1 to 5 secondary receivers. Chained payments are useful in cases when the primary receiver acts as an agent for other receivers. The sender of the payment deals only with the primary receiver and does not know about the secondary receivers nor how a payment is split among receivers.

Guest Payments

These are using a sender’s credit card without logging into PayPal to complete the transaction. The sender is not explicitly identified as a PayPal account holder during the transaction and is not required to have a PayPal account.

With either payment type ( parallel or chained ) each receiver of a guest payment must be a verified PayPal Business Verified or Premier Verified account holder.

LIMITATIONS

This plugin DOES NOT SUPPORT DELAYED chained payments. It does support instant chained payments.

This plugin always redirects shoppers to PayPal’s site to make payment. PayPal DOES NOT ALLOW embedded payment forms when using Adaptive Payments – DO NOT contact us asking us to add this feature because as of October 2013 it remains impossible to achieve due to PayPal’s restrictions on Adaptive Payments implementation. PayPal does however allow a “Lightbox” mode for Adaptive Payments. We intend to implement this feature in a future version of this plugin.

PayPal limits all payment amounts to 2 decimal places. Do not set WooCommerce to use more than 2 decimal places, and do not set prices to have more than 2 decimal places.

As of October 2013, PayPal limits the entire transaction amount to $4000 or less for US residents, and $2000 or less for recipients outside the US. If these payment limits are exceeded during any checkout process then payment will fail.

PayPal limits ALL adaptive payments to having no more than 6 recipients total. As such, this plugin restricts a shopper’s ability so that they can only add products to the cart as long as the total cart contents amounts to 6 payment recipients or less, including the store itself if the store takes a cut or sells products of its own. There is no checking performed on the transaction amount total.

Any attempt to add items to the cart when the addition would surpass the recipient limit will result in an error/warning message being displayed to the shopper instructing them that they cannot add additional items to the cart and must pay for their current cart contents first before purchasing additional items.

PayPal’s Adaptive Payments API does not support sending a list of items included in a purchase transaction. Therefore IgniteWoo’s Adaptive Payments plugin attempts to itemize the cart contents using the transaction’s memo field. However PayPal limits the length of the memo field to 1000 characters, so all cart contents may not appear in the memo.

PAYPAL DISPUTES

Our current understanding of the PayPal dispute process is that if payment is split between 2 or more sellers and the buyer files a dispute with PayPal asking for a refund then the buyer can dispute items in the order individually, or collectively, and each seller whose item was disputed will need to address to dispute individually.

Check with your PayPal representative for clarification.

PAYPAL TRANSACTION FEES

When using this plugin each receiver of funds pays their own PayPal transaction fees.

PLUGIN CONFIGURATION

General

  • PayPal Email Address – enter your PayPal email address. Any funds collected on your behalf will go into the account associated with this email address
  • PayPal User Name – enter your PayPal API User Name
  • PayPal Password – enter your PayPal API Password
  • PayPal Signature – enter your PayPal API Signature
  • PayPal Application ID – enter your PayPal Application ID ( unless you are using sandbox mode in which case no APP ID is required for the plugin to operate correct )
  • Invoice Prefix –  Enter a prefix for your invoice numbers. If you use your PayPal account for multiple stores ensure this prefix is unique as PayPal will not allow orders with the same invoice number.

Funds Collection

  • Gateway Mode – Select the mode of operation. Parallel Payments lets the shopper each person receiving funds as part of the sale. Chained Payments only shows the store itself as the recipient of funds even when multiple recipients might be receiving a portion of the funds.
  • Store’s Amount – Enter the percentage amount of each item you want to receive when a sale takes place. Enter a number only — <em>DO NOT enter a percent symbol. This value can be overridden by setting a different value on a per-product basis</em>. Example: enter 10 for 10%.

Tax Payer

  • Who pays any taxes associated with line items in split payments? Set to Store to have the store collect all taxes. Set to Recipients to have each recipient receive the line taxes associated with their items. Note that this setting has no effect if your store is not charging taxes. THIS SETTING DOES NOT APPLY WHEN USING IGNITEWOO’S “VENDOR STORES” PLUGIN BECAUSE THAT PLUGIN HAS ITS OWN TAX PROCESSING SETTINGS.

Global Recipients

  • You can optionally set a list of global recipients and associated payment percentage amounts. When you use this setting you do not need to set payment recipients for each individual product. You can however override the global recipient list by editing a specific product and setting payment recipient information in the product itself. And, if you want to omit a product from split payments entirely you can check the associated box when editing the product to exclude the product from split payments, in which case the store would receive the entire amount for the product.

Submission method

  • Enable this to post order data to PayPal via a form instead of using a redirect/query string. In practice this makes no significant difference in overall payment flow or shopper experience. This setting is provided simply as a matter of convenience in case it assists developers in customization aspects of the payment process.

Error Message

  • PayPal limits all parallel and/or chained payments to a maximum of 6 recipients or less. This is the error message displayed to a shopper when attempting to add an item to the cart where the payment for items in the cart would exceed different 6 payees ( including the store itself ). So in practice, if a shopper has 9 items in the cart and attempts to place 1 more item in the cart, and payment for all of those items would be due to more than 6 people then this plugin will prevent the shopper from adding the item to the cart and display this error message.

PayPal sandbox

  • The PayPal sandbox can be used to test payments without any real money changing hands. To do that you need to sign up for a developer account and make sure PayPal enables all Adaptive Payment options in your test account. Note that you do not need to configure the PayPal Application ID in the plugin when using sandbox mode. However you do need to configure a PayPal Application ID when going live.

Debug Log

  • This causes the plugin to log PayPal events, such as Pay Key requests, IPN requests, etc inside the wp-content/plugins/woocommerce/logs/ directory in a unique log file that would contain the words “adaptive payments” in the file name. Debug mode also might print debug info on the payment page but only when using lightbox mode ( lightbox mode is an upcoming feature – not yet implemented in this plugin ).

PRODUCT CONFIGURATION

If you’re splitting payments for the product with someone else then you’ll need to enter the PayPal email address of the person who will receive a percentage of the sale of this item along with the percentage of the product cost that they will receive.

You can enter up to 5 recipients per product.

To configure payment recipients for a product, edit a product and go to the General tab in the Product Data settings. Look for the PayPal Split Payment box. In the box enter up to 5 recipients, one per line, where each line is formatted as Percentage|Email

So for example:

25|someone@thisdomain
60.5|thisperson@thatdomain

In the above example when the item is sold someone@thisdomain would receive 25% of the product price and thisperson@thatdomain would receive 60.5% percent of the product price. The remainder would be received by your store.

Remember that the total percent for all receivers cannot exceed 100.

You’ll see an error message above the recipients box when editing the product if any of the following conditions are true:

  • If you enter more than 5 recipients
  • If the total percentage for all recipients is greater than 100
  • If the percent for any single recipient equates to zero or less

If you want to exclude the product from split payments entirely when using a global recipient list in the main product settings then simply check the Do Not Split Payments box when editing the product, and the store will receive the entire amount for the product when purchased by a customer.

OPERATIONAL BEHAVIOR

If you’re using IgniteWoo’s WooCommerce Vendor Stores plugin, then note that when determining who might receive money from the sale of a product, this PayPal Adaptive Payments plugin will first check to see if a vendor is assigned to the product and if so that vendor becomes a receiver of money for the sale of the item. If no vendor is assigned to the product then this plugin checks the PayPal email field setting for the product and if an email address exists then the person associated with that email address becomes a receiver of money for the sale of the item. If no PayPal email address is configured in the product, and no vendor is assigned to the product, then the store itself becomes the sole  receiver of money for the sale of the item.

GOING LIVE WITH YOUR STORE

NOTE that we DO NOT provide support for PayPal accounts or associated adaptive payments Web applications. The links below should get you started. If you require assistance with your credentials or with registering your application contact PayPal directly and ask them for assistance in getting your application set up to process Adaptive Payments.

REMEMBER that if you need to use Chained Payments you must request this API access specifically from PayPal.

REMEMBER that the you MUST submit your Web application for review by PayPal. When you register your application, a PayPal agent reviews it to ensure that it meets the criteria outlined by PayPal. The review process varies from site to site. For more information on the overall process review all the information in PayPal Going Live documentation.

Email Messages

Vendor Marketplace Pro sends a number of different email messages for various purposes. To view these email messages navigate to WooCommerce -> Settings -> Emails

On that page you’ll find several different vendor-related email messages. For any given message you can enable it, disable it, or change the heading title, message subject, etc.

All email messages are sent using your site’s WooCommerce email styling.

Dashboard and Reviews Pages

Two pages are automatically created when you install Vendor Marketplace Pro:  Vendor Dashboard and Seller Reviews.

The dashboard page is the page that contains the entire vendor dashboard.

The seller reviews page is used to display reviews for a given vendor. If you view this page directly by its permalink you won’t see any reviews. It’s dynamically populated with reviews when you click on the reviews link on vendor’s store or product pages on the frontend of your site.

See the shortcodes section in this documentation for the shortcodes used in those pages.

Vendor Shipping

Vendor Marketplace Pro includes a Vendor Shipping module that lets your vendors set their own flat rates for shipping their items. You can enable this module at WooCommerce -> Settings -> Shipping -> Vendor Shipping.

When enabled, vendor will see additional settings in their dashboard area that allow them to define global flat rates that apply to all of their products. They can also define specific flat rates for any individual product when editing that product. If a product has no individual flat rates, and there are global rates defined, then the global rates will be used, otherwise if a product has its own flat rates defined then those rates override any globally defined flat rates.

Widgets

The plugin includes two widgets. The WooCommerce Vendor Store widget can be added to your store sidebar if you theme has such a sidebar. The widget only shows up on individual product pages and displays the vendor’s logo, store name, and store description, and has a link to the vendor’s store on your site. This works similar to the “See seller’s other items” link you see on eBay auctions.

The WooCommerce Vendor Stores List widget displays a list vendors on your site that have published products visible to the public. When using this widget you can limit the number of vendors to display, or leave that setting set empty to display the full list.

How to Manually Create and Edit Vendors

To manually create a new vendor first add a user account for the vendor. Then navigate to Products -> Stores, and add a new vendor store. In the Store Administrator field select the user that you added for this store. Adjust the other settings as you see fit.

woocommerce-vendor-store-vendor-add-new

Enter a title for the store. This is displayed on the public side of your site when a shopper is viewing the vendor’s store. Keep in mind that vendor’s have the ability to change this title if they want to.

Optionally enter a slug for the store. This becomes part of the permalink URL for accessing the store on the public side of your site. If you leave this field blank WordPress will automatically generate the slug for you.

Enter a description for the store. Again, this is displayed on the public side of your site when a shopper is viewing the vendor’s store. Keep in mind that vendor’s have the ability to change this if they want to.

PayPal email address is optional, but strongly encouraged if you intend to automate payments to vendors. The address is used to automatically pay vendors when you use IgniteWoo’s PayPal Adaptive Payments plugin.

Note that you do not have to enter a value for the commission. When you leave this blank the store default is used. If you decide to enter a value then for a fixed currency commission only enter numbers. For a percentage-based commission enter a number followed by a percentage symbol.

Be sure to check the “Commission is for” setting. This controls who the commission amount is for.

For example, to give the vendor $5 for each item sold enter 5. To give the vendor 10% for each item sold enter 10%. In either case select “Vendor” in the “Commission is for” field. Or, if the $5 or 10% represents how much the store should get then select “Site” in the “Commission is for” field.

You can optionally upload a logo for the store. The logo appears on the public side of your site when a shopper is viewing the vendor’s store.

When adding products, as a site administrator, for a given vendor you must select the corresponding store and the corresponding user in the product’s settings. The store setting is located in the right sidebar. The user setting is located somewhere below the product description and product data in its own metabox.

WARNINGS

Users can only be assigned to one store. DO NOT try to programmatically assign a user as the vendor of more than one store.

Products can only be assigned to one store. DO NOT try to programmatically assign products to more than one store.

Mass Pay Cron Jobs

If you’re using automatic MassPay payments and your site doesn’t receive much traffic you may want to create a cron job in your hosting account to load a page on your site periodically so that automatic MassPay payments are triggered.

You can use this URL format for setting up cron jobs to process automatic mass pay payments:

http://YOURDOMAIN.COM/?masspay=go

The payment interval setting is obeyed when using cron.

Commissions are recorded on a per item and per quantity basis. So for example if a shopper buys a quantity of 2 of the exact item then the plugin will record 2 commissions – one for each qty. This allows you to edit an order to add or remove an order item and then manually adjust commissions for the order by simply adding a new commission or deleting an existing commission.

Shipping Costs

When you want to give shipping costs for order items to the vendor associated with the item you do the following:

1. Enabled the “Give per item shipping cost to vendor” setting in the Vendor Marketplace Pro settings

2. Use one or more of the supported shipping methods listed below. NO OTHER SHIPPING METHODS ARE SUPPORTED AT THIS TIME. You can enable other shipping methods, but when unsupported shipping methods are selected by a shopper no shipping costs can be automatically given to the vendor of shippable items.

  • Vendor Shipping – included with Vendor Marketplace Pro. Enable this module at WooCommerce -> Settings -> Shipping

Shortcodes

The plugin does include a few shortcodes that are used internally only, currently only three shortcodes are supported for your use on your site, none have any parameter settings. They are listed below:

[vendor_store_dashboard] – shortcode to display vendor store dashboard page content

[vendor_list] – displays a list of vendor stores in a grid, including store image and title

[view_vendor_reviews] – displays reviews for a given vendor.

If you’re a developer that happened to discover the internally used shortcodes note that we do not offer any support for your use of those shortcodes.

Payment Account Connections:

Vendor Stores supports automatic payments out-of-the-box when you use PayPal Adaptive Payments (included with Vendor Marketplace Pro), or IgniteWoo’s Stripe payment gateway. 

Automatic payments DO NOT work with payment gateways from any other software developers unless you’ve had them customized to support Vendor Marketplace Pro, or you’re using the PayPal Payouts module bundled with Vendor Marketplace Pro.

When IgniteWoo’s payment gateways are enabled you can optionally remove any particular payment method from the vendor dashboard if you don’t want vendors to connect the method to their account for automatic payments. To do so you need to add some PHP code to your theme’s functions file:

Remove WePay connect button in vendor’s store settings:
remove_action( ‘ignitewoo_vendor_stores_add_payment_setting_fields’, ‘woocommerce_wepay_connect_user’ );

Remove Stripe connect button in vendor’s store settings:
remove_action( ‘ignitewoo_vendor_stores_add_payment_setting_fields’, ‘woocommerce_stripe_connect_user’ );

Remove PayPal email address field in vendor’s store settings:
Use the related plugin setting.

PayPal Payouts

Before you begin with Payouts

You must have a PayPal business account to use Payouts, and Payouts is not enabled by default in your PayPal account. To use PayPal Payouts you must be approved by PayPal. After requesting access to Payouts they will review your account and your business before enabling Payouts in your account.

To begin the process of request access login to the PayPal Developer page and navigate to My Account. You’ll see a page similar to the image below. Scroll down to Payouts and in the Live column click Enable. You’ll be walked through a series of forms that you must fill in and submit.

After you have been granted access to Payouts follow the steps below:

 

1. Configure PayPal Settings

You need to create an “app” in your PayPal settings. Open the PayPal Developer page in your browser. Sign in and navigate to My Apps & Credentials then scroll down the page to REST API apps. Click the blue Create App button.

 

You’ll the see the form below.

 

Enter a name for your app and select the user for the app in the dropdown box, the click the Create App button. When you do that a Client ID and Secret will be generated. You’ll need to copy those in the plugin settings.

2. Configure Plugin Settings

In your WordPress admin area navigate to the Paypal Payouts menu item, there you’ll see the settings.

If you’re testing Payouts in sandbox mode then copy your sandbox Client ID and Secret into the related sandbox fields and choose Sandbox in the “Use Live or Sandbox setting. Otherwise copy your live Client ID and Secret into the related fields.

Next choose a Payout mode. Instant payouts happen almost instantly after an order is processed. Delayed payouts happen after the number of delay days you set. Manual payouts must be initiate manually by you.

In the Order Statuses setting select which order statuses will cause a payout to be created. We suggest that you select Completed and Processing since those two statuses mean that an order was paid for successfully.

After you’ve adjusted the settings and saved them check the Enabled checkbox when you’re ready to use the software on your site.

When you save the settings the software automatically creates a “webhook” in your app at PayPal. Be sure to check your PayPal app settings to ensure that you see a new webhook listed. To check that, find the app you created and click its name. Then scroll down the page to the Webhooks section. If you don’t see the Webhook created yet then double check your Client ID and Secret to ensure you have them entered correctly in the plugin’s settings and resave the settings. Resaving the settings causes the plugin to attempt to create the webhook for your app.

 

Monitoring Payouts

You can view any payouts that have been created on your site by navigating to the PayPal Payouts -> Payouts page. On that page you see a list of payouts.

In the Details column you can click the info button to see details about any particular payout.

If a payout hasn’t been processed into PayPal yet you can click the currency icon in the details column to initiate processing. Do this to manually initiate a payout.

If a payout status doesn’t show SUCCESS yet you can click the refresh icon to check the status at PayPal.

IMPORTANT: After a payout has been sent to PayPal there is no way to cancel it.

 

Customization

The plugin comes with several template files used to display vendor store data on your site.

These templates are located in the templates subdirectory of the plugin.

To override any of the templates, copy the template to a subdirectory within your theme or child theme into a “store_vendors” subdirectory.

You may also make a custom copy of the fontend.css file if you want to edit the styles. Copy the assets/css/frontend.css into your theme or child theme in a “store_vendors” subdirectory.

You may then edit the templates without losing your changes when you upgrade the plugin.

Note that the template files may change in new version of Vendor Marketplace Pro, so you may need to upgrade or adapt future template changes when you upgrade the plugin.

Translators

The text domain for this plugin is “ignitewoo_vendor_stores”

You should find a .pot file and.mo file located in the languages subdirectory of the plugin.

Create your mo/po files with a filename of “ignitewoo_vendor_stores-en_US.mo” where en_US is your language code.

Put your language files in wp-content/languages subdirectory of your site.

Payment Gateway Developers

Only gateways that can process multiple charges during the process_payment() function can be modified to support Vendor Stores.

You must do the following to make a payment gateway compatible with splitting payments during the checkout payment process.

In your process_payment function do the following:

  • – gather a list of sellers whose items are in the cart
  • – build a list of which sellers can be paid during this checkout transaction, mark any other sellers as unpaid
  • – if a seller cannot be paid using the gateway give the sale to the store for payment purposes during this transaction
  • – process the payments
  • – update the order meta indicating which sellers were paid and which were not

With that done the Vendor Stores plugin will handle adding commission records for all sellers in the order. Paid sellers will have their commissions marked paid, unpaid sellers have their commissions marked as unpaid.

Below is SAMPLE CODE you can modify to insert into your process_payment() function. This example assumes the payment gateway is Stripe Payments. You MUST modify this sample code to suit your particular payment processing gateway:

	// Tracks all sellers and whether they are paid or unpaid
	$sellers = array(); 

	// Tracks all payments to process
	$receivers = array();

	// If Vendors Stores is active build a list of sellers and receivers
	if ( class_exists( 'IgniteWoo_Vendor_Stores' ) )
	foreach( $order->get_items() as $item_key => $item ) { 

		$_product = $order->get_product_from_item( $item );

		if ( empty( $_product ) )
			continue;

		// get the product author
		$sql = 'select post_author from ' . $wpdb->posts . ' where ID = ' . $_product->id;

		$post_author = $wpdb->get_var( $sql );

		if ( empty( $post_author ) )
			continue;

		// check if author is a vendor
		$vendor = get_user_vendor( $post_author );

		// See if the vendor has an account linked to this payment gateway 
		// For example, if this gateway is Stripe Payments check for their Stripe access tokens
		if ( !empty( $vendor->ID ) ) {

			// Get user associated with vendor
			$user = get_vendor_admins( $vendor->ID ); 

			if ( !empty( $user[0]->ID ) )
				// Get user's access token
				$access_token = get_user_meta( $user[0]->ID, '_stripe_connect_access_key', true );
		}

		// Product has a vendor but no Stripe account is connected
		// Note this so a commission of paid or unpaid can be recorded by the Vendor Stores plugin
		if ( !empty( $vendor->ID ) && empty( $access_token ) )
			$sellers[ $vendor->ID ] = 'unpaid';
		else if ( !empty( $vendor->ID ) && !empty( $access_token ) )
			$sellers[ $vendor->ID ] = 'paid';

		// Give item amount to store Stripe account
		if ( empty( $access_token ) || empty( $vendor->ID ) || 'yes' == $ignitewoo_vendors->settings['disable_instant_payment'] ) {

			$total = $item['line_total'] + $item['line_tax']; 

			$shipping = $ignitewoo_vendors->shipping->get_shipping_due( $order, $item, 0 );

			$receivers[ 0 ][ $_product->id ] = array( 'line_total' => $item['line_total'], 'qty' => $item['qty'], 'total' => $total, 'app_fee' => 0, 'tax' => $item['line_tax'], 'shipping' => $shipping );

			continue;

		}

		/**
			app_fee is the store's cut
		*/

		$variation_id = $order->get_item_meta( $item_key, '_variation_id', true );

		if ( empty( $receivers[ $vendor->ID ][ $_product->id ] ) )
			$total = 0;
		else 
			$total = $receivers[ $vendor->ID ][ $_product->id ]['total'];

		if ( empty( $receivers[ $vendor->ID ][ $_product->id ] ) )
			$app_fee = 0;
		else 
			$app_fee = $receivers[ $vendor->ID ][ $_product->id ]['app_fee'];

		$comm = calculate_product_commission( $item['line_total'], $_product->id, $variation_id, $vendor->ID );

		$total += $comm; // line total already takes item qty in consideration

		$app_fee += $item['line_total'] - $total; 

		$tax = !empty( $item['line_tax'] ) ? (float)$item['line_tax'] : 0;

		// Who gets the item tax? Store or vendor? 
		if ( 'yes' == $ignitewoo_vendors->settings['give_vendor_tax'] )
			$total += $tax;
		else 
			$app_fee += $tax;

		$shipping = 0;

		// Who gets the item shipping? Store or vendor? 
		if ( 'yes' == $ignitewoo_vendors->settings['give_vendor_shipping'] ) {

			if ( empty( $vendor->ID ) )
				continue;

			$shipping = $ignitewoo_vendors->shipping->get_shipping_due( $order, $item, $vendor->ID );

			$total += !empty( $shipping ) ? (float)$shipping : 0;
		} 

		$receivers[ $vendor->ID ][ $_product->id ] = array( 'line_total' => $item['line_total'], 'qty' => $item['qty'], 'total' => $total, 'app_fee' => $app_fee, 'tax' => $tax, 'shipping' => $shipping );

		// Add the vendor's Stripe access token
		$receivers[ $vendor->ID ]['access_token'] = $access_token;

		// Put the store's cut into the total field
		$receivers[ 0 ][ $_product->id ] = array( 'line_total' => $item['line_total'], 'qty' => $item['qty'], 'total' => $app_fee, 'app_fee' => 0, 'tax' => $item['line_tax'], 'shipping' => $shipping );
	}

	// Required for Vendor Payments to track who can and can't be paid in this transaction
	update_post_meta( $order_id, '_commission_recipients', $sellers );

	// Now take the $receivers array and process payments for each receiver in the array
	// being careful to determine if the payment was successful. The total amount due to a receiver is in the 'total' array element for each receiver. 
	// MAKE NOTE THAT RECIEVER #0 IS THE STORE ITSELF

	foreach( $receivers as $rec ) { 
		....
	}

Global Plugin Settings

Navigate to WooCommerce -> Settings -> Wholesale Pro Suite. There you’ll find a series of sub-tabs for each aspect of the plugin.

Settings Tab

The plugin introduces three settings: Role Only Filter and Retail Filtering, and Taxes.

When Role Only Filter is enabled and a user is logged with an account that has one of your tiered pricing roles then that user will only see products that have a price set for their role. When that filtered is not enabled the user will see all products in your store.

When Retail Filtering is enabled and shopper is not logged in or is logged in as a regular customer then any products that do not have a regular price set will not be displayed to the shopper. When that filter is not enabled then the shopper sees all products in your store as they normally would.

For tax control when a shopper is logged in with a tiered pricing role you can choose how to display prices in the shop, how to display prices in the cart and checkout, and indicate whether you entered your tiered prices including tax or excluding tax. These 3 settings are identical to the tax settings built into WooCommerce itself, except that the settings in Tiered Pricing Filters only affect users logged in with one of your tiered roles.

Display Regular Price – this shows the regular price on your product page and allows you to set the label for the display

Display $ Savings – this shows the saving amount ( difference between the regular price and tier price ) on your product page and allows you to set the label for the display.

After adding roles edit a product. Near the Regular Price field you’ll find price fields for each role. Set the price for reach role. If you leave any role’s price blank then anyone who logs in with an account that has that role will see your regular price. If you leave the role’s price blank and the regular price blank then WooCommerce will display your product, but there won’t be any add to cart functionality for that product. This is standard WooCommerce behavior.

Roles Tab

In this area you can create new roles and delete any roles that you’ve added. Click the “Add New Role” role button, enter the role name, and click the “Save Changes” button to save the new role(s).

To delete a role check the box next to that role and click the “Save Changes” button. Note that if you delete a role then any users that have that role with have their role changed to the standard “Customer” role created by WooCommerce.

To enable or disable taxes for shoppers with the role select Taxable or Non-taxable and optionally select specific tax classes if you want the shopper to be exempt from those tax classes when the role is set to Taxable.

You can selective allow access to specific shipping and payment gateways. When you do this only the selected gateways will be available to shoppers with the corresponding role.

If you check the Backorders checkbox then shoppers with the corresponding role will be allowed to order items even if they’re out of stock and you’ve set the product to disallow backorders.

For developers, or for importing/exporting product prices you’d probably need to know the “post meta key name” of where the prices are stored.  Below each role/tier that you’ve created you’ll find the meta key name for that role.

Global Pricing Tab

Global pricing lets you define global pricing discounts for each role that you’ve already created. You can optionally enter a percentage amount. When you do this the price of every product in your entire store will be discounted by this amount for shoppers with the corresponding role.

You an optionally define price discounts for specific categories of products, and if you do that then those discounts override the global pricing discounts. To set discounts for a category navigate to Products -> Categories, then edit a category where you find a discount amount field for that category.

Qty Discount Rules Tab

These settings allow you create global quantity discount rules. If you want to create discount rules for a specific product you can do that too, explained further below in this section.

Enable Discounts Table – this setting causes a table of discounts to appear on a single product page if you have any rules defined that apply to that product.

Discount Table Placement – select where you want the discount table to appear.

Enable Discount Calculator – this setting causes a discount calculator to appear on a single product page if you have any rules defined that apply to that product. The calculator allows the shopper to check what the price of the product would be for a given quantity based on the entire current cart contents. The calculator may be helpful when you define discount rules based on product categories.

Create global rules if you need them. Keep in mind global rules are checked before individual product rules. If no individual product rules exist, global rules are applied if they exist. If product rules do exist, they take precedence over global rules. When rule precedence has been determined the plugin applies the first matching rule based on cart contents.

When entering percentages and dollar amounts do not use a percent symbol or currency symbol.

To create rules that have no maximum limit, enter a large number for Max Quantity, such as 99999 or use an asterisk (*).

Specific per-product discount rules are similar to global rules, except the there is no “sum of category” setting for per product rules. To add a rule to specific product edit that product then navigate to Qty Discounts tab in the Product Data area of the product. Add your rules there.

Min/Max Quantities Tab

This feature lets you enforce minimum and maximum cart quantity and cart subtotals.

When you intend to use this feature be sure to check the box to enable the rules (the first setting on the page). Also review the message strings to ensure they contain the text you want to display to the shopper in various situations.

Global rule definitions

Min Subtotal – the minimum cart subtotal that a buyer must have in their cart before being allowed to checkout. Do not use a currency symbol. If you leave this field blank then no minimum order subtotal will be enforced for the shopper.

Max Subtotal – the maximum cart subtotal of all items in the cart that a buyer can have and still proceed to checkout.

Min Qty – the minimum total quantity of all products in the cart required before a shopper is allow to checkout.

Per Item Qty – the minimum number of each product that must be in the cart before a buyer can place the order. For variable products, this applies to the product’s variations as a whole. So for example, if a product has 3 variations and the buyer has one of each in the cart, then the total quantity count for the product is 3.

Orders – causes the rule to be applied to shoppers with less than the defined number of orders.

Product rule definitions

When editing an individual product you can a different type of quantity requirement rules. Navigate to the General section of the Product Data for the product. Below the pricing and tax settings you’ll find a Quantity Rules section. Here you can define rules for minimum and maximum quantities that pertain only to this product. You can also define “Increments” if you only sell the product in specific increments, for example maybe for a given product you only sell quantities of 2, so a shopper can buy 2, 4, 6, etc., but not 1, 3, 5, etc. To do that set the Increments value appropriatey.

For any given product rule you can also optionally assign the rule to specific users and/or roles.

Registration Tab

This feature allows you to create a custom registration page if you want to have such a page on your site for shoppers to sign up to become a wholesale buyer (or any of your custom roles created on the Roles tab explained above).

The Registration Form Designer section of the page is where you create your form layout, which contains all the fields you want to have on your registration form. The right box contains a default form installed by the plugin. You can modify the form as you see fit.  The left box has a list of possible fields that you can add to the form. Click a field to add it to the form, it will be added to the bottom of the form where you can then drag it into any position on the form that you want it to be. Each field has a checkbox, when check that causes the field to be required – i.e. the user must provide information for that field before being allow to submit the form.

To use the form you must create a page on your Web site and insert the shortcode [wholesale_pro_suite_register] then publish the page. After you’ve done that, revisit the Registration tab in the Wholesale Pro Suite settings then select your new registration page in the Registration Page setting. You must do this so that the plugin knows which page to use for registration. You can link the page anywhere on your site (menu, sidebar, etc), or use the settings to cause a link to the page to appear on your site’s My Account page as explained below.

Note that any time the form is submitted a user account is automatically created for the person submitting the form, unless they’re already logged into an account. Any newly created user account will have a user role of Customer, which is the default user role used by WooCommerce. The Customer role has no special privileges, it’s simply a regular user account.

Several settings control how the form is used:

Add Button to My Account Page – when enabled, this causes a link or button to appear on your site’s My Account page (the page is installed automatically by WooCommerce). The button will appear when the user is not logged in and you have the WooCommerce setting “Enable customer registration on the “My account” page. ” turned on. To review that WooCommerce setting visit WooCommerce -> Settings -> Accounts.

Add Button to My Account Page Logged In – when enabled this causes a link or button to appear on your site’s My Account page if the user is already logged in. This is helpful when you may want to allow existing users to request to become part of your special pricing programs.

Automatic Approval – when checked, if a user submits the form then one or two things may happen: If the user is not logged in to an account when they submit the form then a user account will be created for the user and the user role will be automatically set to which role you select in the Automatic Approval Role setting. If the user already logged in to an account then their account user role will be automatically set to which role you select in the Automatic Approval Role setting.

When the form is submitted the site admin will receive an email message containing all the data from the form as submitted by the user. The email message will also contain a direct link to the user’s account in your WordPress admin area, which is helpful if you want to review their user account or adjust its settings – for example if you’re not using Automatic Approval then you can review their account and decide whether to grant them access to your special pricing programs by adjusting their user role to whatever you prefer.

Quick Order Forms

  1.  Navigate to WooCommerce -> Quick Order Forms
  2.  Click the Add Quick Order Form button near the top of the screen
  3.  Give the form a title. Shoppers will not see this title, it’s for your reference only
  4.  Adjust the settings to control what appears on the quick order form
  5.  Click the Publish button to save the form
  6.  When the form saves and the page reload look in the right sidebar near the top. Copy the shortcode shown in the Shortcode box
  7.  Create a new page on your site (via the Pages menu). Paste the shortcode into the page where you want the order form to appear and publish the page.

That’s all there is to it!

 

Shortcodes For Hiding and Showing Content

The shortcode you can use to hide or show content is [wsp_hide_or_show roles]

Here’s an example of its use:

[wsp_hide_or_show roles="administrator" mode="show" restricted_message="ooops" restricted_style="margin-bottom:1em;color:#cf0000"]
THIS IS THE CONTENT
[/wsp_hide_or_show]

The above example shows THIS IS THE CONTENT to an user logged in as an administrator. Anyone else would the text “ooops”, which is optional if you want to use it.

Shortcode Parameters:

roles     – which roles to affect, comma separated list
mode    – show the content inside the shortcode, or hide it.
restricted_message – optional message to display when the content inside the shortcode cannot be viewed the a given user
restricted_style – optional CSS code to alter the display of the restricted message

For custom wholesale roles:

You’ll need to know the correct “slug” for the role you want to use with the shortcode. For roles created via the Wholesale Pro Suite software, navigate to WooCommerce -> Settings -> Wholesale Pro Suite, then click the Roles tab.

For each listed role look right below the name, you’ll see a meta key name something similar to “_ignite_level_589a05b092e87_price“. Copy the key name, remove the leading underscore, and the trailing _price aspects, and you wind up with something similar to “ignite_level_589a05b092e87” — that is the role slug. Keep in mind the slugs are unique to your site, and each role will have it’s own unique slug.

 

Template Customization

To customized the quick order form templates copy the files in the plugin’s ‘templates/quick-orders/’ subdirectory to your theme directory into a subdirectory “/wholesale-pro/quick-orders/” and edit as you see fit.

For example, if you use TwentyTen theme, copy the template files to ‘wp-content/themes/twentyten//wholesale-pro/quick-orders/”

 

 

 

Documentation

Install the plugin and activate it.

IMPORTANT: active your license key.

Add or edit a coupon. There you will find all the new coupon settings added by this extension.

Shipping Coupons

WooCommerce Super Coupons adds 3 new shipping coupon types: Shipping Discount flat amount, Shipping Discount % amount, and Shipping Flat Fee. For the first two new types you can set the amount of the discount and when the coupon is applied to the cart the associated discount is calculated and applied to each available shipping method available for the order.

For the Shipping Flat Fee coupon type, the plugin includes a new Flat Fee Shipping gateway that is only available when the coupon is applied. For this type of coupon you set the coupon amount to be the amount shipping will cost when the coupon is used by the shopper. When the coupon is applied to the cart the flat rate shipping method will become available to the shopper and the cost will be whatever you set in the coupon amount.

For shipping discounts:

Create a new coupon, set the type to “Shipping Discount”, “Shipping Discount %” set the amount of the discount, and adjust any of other coupon settings to suit your needs. When the coupon is applied to the cart the associated discount is calculated and applied to each available shipping method.

For flat fee shipping by using a coupon:

Navigate to WooCommerce -> Settings -> Shipping -> Flat Fee Shipping. Check the box to enable the shipping method and adjust the settings to suit your needs.

Next, create a coupon, set the coupon type to “Shipping Flat Fee”, and set the coupon amount to be the amount shipping will cost when the coupon is used by the shopper. To be clear, this is not a discount, this is the amount you want the shopper to be charged for flat fee shipping when the coupon is applied to the cart. The plugin reads that amount to know what the flat fee shipping option should cost.

When the coupon is applied to the cart the flat rate shipping method will become available to the shopper and the cost will be whatever you set in the coupon amount.

Chained Coupons

Chained coupons is a new type of coupon that introduces a very useful feature:: It lets you define any number of coupons that will all be added to the cart (i.e. added them in a chain all at once).

Chained coupons themselves do not apply discounts, instead a chained coupon lets you define a set of coupons (any coupons that you’ve already created in your site) that are automatically added to the cart when the chained coupon’s code is entered.

For example, maybe you have the following coupons chained together in a new coupon with the code of “savebig”:

  • Coupon #1: Minimum spend of $100 to get a 10% discount
  • Coupon #2: 10% all shoes

When the shopper applies the chained coupon code “savebig” to the cart then Coupon 1 and 2 are automatically added to the cart, and WooCommerce checks to ensure that the cart contents matches the coupon requirements based on each coupon’s settings.

To create this type of coupon choose the Chained Coupons type, then select the already-existing coupons to chain together.

Starting Date/Time, Expiry Date/Time, and Valid Days of the Week

New settings allow you set start date and time for when the coupon becomes valid, and the coupon’s expiration date and time, plus you can set the coupon to be valid only on certain days of the week.

These settings effectively allow you to schedule your coupons for use in a diverse manner. For example, maybe you want to create a coupon that is valid between December 1 and December 30 – you can do that. Or maybe you want to make a coupon valid from March 1 until July 31, but only on Fridays. You can do that too. It’s easy with these new date, time, and day settings.

The date / time settings and days of the week settings are self-explanatory.

Just be sure that IF you decide to type in dates / times manually (instead of using the popup date/time picker) that you use the format of YYYY-MM-DD HH:MM – any other format could result in the date/time not being interpreted correctly.

Require All Products and Require All Categories

When editing a coupon in WooCommerce you can defined products and/or categories of products that a coupon is valid for. WooCommerce Super Coupons adds two new settings, one for products and one for categories.

This setting is located in the Usage Restriction section.

When the new products setting requires the shopper to have all of the products you’ve configured into the coupon settings to be in the cart before the coupon is considered to be valid. When the new categories setting requires that shopper to have products from all categories defined in the coupon in the cart before the coupon is considered to be valid.

In plain language it gives you the ability to create a coupon where “this coupon is only valid if you’re buying these exact products”

Automatically Add Products to the Cart

Sometimes you may want to automatically add products to the cart for a promotion or sale. This features let you define any number of products that will be automatically added to the cart when a coupon is applied, and for each product you define you can also set the quantity to be added to the cart and you can set the price of the product if you want it to be different than the product’s regular price. Note that if you set the product price in the coupon’s settings then this price applies to all quantities of that product in the cart regardless of the quantity, as long as the coupon is applied to the cart.

WARNING: If you leave the price field totally empty WooCommerce will not allow the shopper to have that item in the cart!

As an example, maybe you want to run a promotion for your shoppers where they get 10% off 3 specific products if they buy at least 2 of each product. This feature lets you do that – automatically. All the shopper has to do is apply the coupon code to the cart (or maybe click on a coupon link on a Web page or in an email message, which we explain further below) and the products and discounts are automatically added to the cart.

Or maybe you want to offer a free product with a coupon.  Choose the product, set the quantity, and define its price as zero – all right in the coupon. You can use the same process to do a “buy one get one free offer” by simply setting the quantity to 2 and setting its price to 50% of its regular price, then adding Usage Requirement settings that make the coupon only valid for that specific product.

Automatically Apply Coupon to Cart

This is a great feature that lets you automatically give discounts of any type. With this feature enabled as soon as a shopper adds anything to their cart the coupon is automatically applied instantly. It’s a great way to help ensure the shopper completes their purchase. Who doesn’t love a discount?

Minimum and Maximum Quantities and Subtotals

This feature gives you control over requiring that the shopper purchases a certain minimum or maximum number of products, and/or that their cart subtotal is a certain minimum or maximum amount.

For example, maybe you want the coupon to only be valid if the cart subtotal is at least 25 but not more than 150. You can do that.

Or maybe you want to ensure that the coupon is valid only if the shopper purchases at least 3 products but not more than 25 products.

You can optionally use the quantities or subtotal requirements, and for either one can set optionally set a minimum or maximum, or both.

If you set a minimum quantity requirement then at least that many items must be in the cart before the coupon is valid. If you define specific products in the Usage Requirements section then the quantity pertains to those products.

If you set a maximum quantity requirement then no more than that many items must be in the cart before the coupon is valid. If you define specific products in the Usage Requirements section then the quantity pertains to those products. If you do not define products in the Usage Requirements section then the total number of items in the cart, regardless of which products are in the cart, cannot exceed the maximum number you set otherwise the coupon is invalid for use.

Order Requirements

These powerful order requirement features let you require that a shopper have a certain amount of purchases, or previous purchases of specific products.

For example, maybe you want to offer a coupon that’s only valid for first time customers. No problem, you can do that. Or maybe you want to offer a coupon that’s only valid for shoppers that have previously made 3 other purchases from your store, you can do that too. Or, taking this a bit further, maybe you want to offer a coupon to customers that have purchases one or more other specific products from you in the past.

If you set a value for the Order Count then the coupon will only be valid if the shopper is logged in and their total order count matches your setting.

If you set values for the Previously Purchased products then the coupon will only be valid if the shopper is logged in and the shopper has previously purchased all or any of the defined products, depending on your selected setting.

Users and Roles

The users and roles settings let you create coupons that are only valid for specific logged in users and logged in users with specific roles.

If you define users then the coupon is only valid for those users. If you define roles then the coupon is only valid for those roles. If you define both then a match of either one makes the coupon valid.

If you define invalid users and/or roles then these settings totally override the valid users and roles. A match of either one makes the coupon invalid.

Payment Gateways and Shipping Gateways

This feature lets you restrict the use of a coupon so that it’s only valid if the shopper chooses specific payment gateways or shipping methods. For example maybe you want to create a coupon that is only valid if the shopper choose UPS as their shipping option, or maybe you want it to be valid only if the shopper payment by credit card.

WARNING: This feature creates a condition where the shopper cannot apply the coupon until they are on the checkout page and have already selected their payment gateway and/or shipping method!

For shipping restrictions you can define for example UPS as a whole, but you cannot define specific methods of transport, for example you cannot specify UPS Ground.

Destinations

The destinations feature lets you configure a coupon so that it is only valid for specific shipping destinations. You can configure these settings by country, state or province, city, and postal codes. And you you can mix match any or all of those destination settings. For example maybe you want a specific coupon to be valid if the shopper’s shipping destination is in the USA. Or maybe you only want the coupon to be valid in a specific city. No problem, you have enough control to do that.

WARNING: This feature creates a condition where the shopper cannot apply the coupon until they are on the checkout page and have already entered their destination – unless the shopper is logged in and has already made a purchase, in which case their shipping information may already be stored in their account. In that case they might be able to enter the coupon code on the cart page. However if they go to checkout and change the destination and it no longer matches the coupon settings then the coupon will be removed from the cart.

Remove Other Coupons & Invalid with Other Coupons

These settings allow to you configure a coupon so that when it is applied to the cart then all other coupons are removed from the cart, or you can opt to only remove specific other coupons from the cart. When used this occurs if any coupons are already applied to the cart.

You can also adjust the coupon settings so that the coupon is cannot be used if specific other coupons are applied to the cart. For example, maybe you have a coupon code “ABC” and you don’t want that code to be used if the customer is also using code “EFG”. You can do that.

These features are great for ensuring shoppers aren’t using coupon combinations that you don’t want them to use.

Apply Coupons via URL or Shortcode

Every coupon you create has a unique URL that can be used to automatically apply the coupon to the cart.

To view the URL or shortcode view the URL & Shortcode section of the coupon’s settings.

You can use the URL in a Web page, email message, or maybe in a post to your favorite social media accounts etc. And every coupon already it’s own unique shortcode that you can embed into a post, or page, or widget etc. – anywhere you can use a shortcode on your site. The shortcode embeds the coupon code which is linked to the coupon’s URL, so clicking on the coupon code triggers the same action as the coupon URL.

Additional Shortcodes

The plugin provides a set of additonal lshortcodes beyond the one described above. These can be used to display information about coupons.

There are two classes of shortcodes, conditional shortcodes which display content they enclose based on the validity of one or more coupons, coupon information shortcodes which are used to display the coupon code, description or discount information derived from the coupon settings.

Each shortcode is described below. The shortcodes may allow you to specify one or more coupons.

Make sure to use the correct syntax in each case. Double-check your shortcode and parameters before contacting us for support!

Note: If a coupon is only valid for a specific email address, or specific users, or specific roles, then the coupon will not display unless the shopper is logged in and has the matching email address, user, or role. Note that the email address is matched against the shopper’s billing email address.

[coupon_is_applied]

This shortcode covers two usage scenarios:

  • Scenario A – Show content conditionally based on whether certain coupons have been applied to the cart.
  • Scenario B – Show coupon information for applied coupons.

Attributes

  • code : (required) One or more coupon codes, separated by comma, or * to show information for applied coupons.
  • op : (optional) The operation applied to evaluate the validity, and (default) as well as or are accepted. Indicating  op="and" requires all codes to be applied, op="or" requires at least one to be applied.

Example for Scenario A:

[coupon_is_applied code="test"] This is only displayed if the test coupon is applied to the cart.
[/coupon_is_applied]

Example for Scenario B:

[coupon_is_applied code="*"] The following discounts have been applied:
[coupon_discount separator="" element_tag="li"] [/coupon_is_applied]

[coupon_is_not_applied]

This shortcode is similar to the previous one, except it will show content conditionally based on whether a coupon or a set of coupons is not currently applied to the cart.

Note that this shortcode does not allow to indicate a * for the code attribute.

[coupon_is_valid]

This shortcode will display the content it encloses only if the specified coupon codes are currently valid, or alternatively, if one of the coupon codes is valid.

A useful application of this shortcode is to increase a customer’s satisfaction, making her or him aware of the discount applied and increasing the chances of a completed checkout.

Example:

[coupon_is_valid code="test"] This is only displayed if the test coupon is valid.
[/coupon_is_valid]

Attributes

  • code : (required) one or more coupon codes, separated by comma
  • op : (optional) the operation applied to evaluate the validity, and (default) as well as or are accepted; and requires all codes to be valid, or requires at least one to be valid

[coupon_is_not_valid]

This shortcode will display the content it encloses if the specified coupon codes are currently not valid. It also can be used to display its contents if one of the codes is not valid.

A useful application of this shortcode is to motivate a customer to add items to the cart to obtain the discounts related to the coupons.

Example:

[coupon_is_not_valid code="test"] This is displayed if the test coupon is not valid.
[/coupon_is_not_valid]

Attributes

  • code : (required) one or more coupon codes, separated by comma
  • op : (optional) the operation applied to evaluate the validity, and (default) as well as or are accepted; and requires allcodes to be invalid, or requires at least one to be invalid

[coupon_enumerate]

This shortcode produces a list of codes that can be used to display information when combined with coupon information shortcodes.

Examples:

[coupon_enumerate code="*"] [coupon_discount element_tag="div" prefix="code"] [/coupon_enumerate]

The above example will produce a list of all coupons and show the coupon codes along with their discount information.

[coupon_enumerate code="*" type="percent"] [coupon_discount element_tag="div" prefix="code"] [/coupon_enumerate]

The above example will produce a list of percentage discount coupons showing the coupon code along with their discount information.

Attributes

  • code : (required) one or more coupon codes, separated by comma, * can be used for all published coupons
  • type : (optional) the coupon type (see below)
  • order : code (default) or ID
  • orderby : ASC (default) or DESC

Allowed types (for the type attribute) :

  • Specific coupon types: fixed_cart, percent, fixed_product, percent_product, sign_up_fee, sign_up_fee_percent, recurring_fee, recurring_percent
  • Coupon type sets: cart, fixed, percent, product, recurring, sign_up, subscription

One or more types can be indicated, separated by comma.

 

The shortcodes below can be used on their own or within the conditional shortcodes above. If used within [coupon_is_valid] or [coupon_is_not_valid], you do not need to specify the coupon codes again as these shortcodes will be aware of the coupon codes that have been used to evaluate the display condition. This can be an advantage depending on the use case and the number of codes specified.

[coupon_code]

This will display the coupon code(s) as provided through the code attribute. Rather than using this shortcode on its own, it usually makes more sense to use it within one of the conditional shortcodes, as in that case, you don’t need to specify the code(s) again and can use it to display the coupon code to the customer.

Attributes

  • code : one or more coupon codes, separated by comma – only required when used on its own (see above)
  • separator : characters used to separate several codes, defaults to a space

[coupon_description]

This shortcode displays the description(s) of the coupon code(s) specified, or when used within a conditional shortcode without specifying the code attribute, for those coupons indicated with the conditional shortcode.

Attributes

  • code : one or more coupon codes, separated by comma – only required when used on its own (see above)
  • separator : characters used to separate several codes, defaults to a space
  • element_tag : defaults to span, also allows li (the ul will enclose the list), div and p
  • prefix : if code is indicated for this attribute, the coupon codes will be prefixed to the descriptions
  • prefix_separator : defaults to a single space, used when prefix="code" is indicated

[coupon_discount]

This shortcode displays information about the discount related to the coupon. This will be displayed for the coupon code(s) specified, or when used within a conditional shortcode without specifying the code attribute, for those coupons indicated with the conditional shortcode.

Attributes

  • code : one or more coupon codes, separated by comma – only required when used on its own (see above)
  • separator : characters used to separate several codes, defaults to a space
  • element_tag : defaults to span, also allows li (the ul will enclose the list), div and p
  • prefix : if code is indicated for this attribute, the coupon codes will be prefixed to the descriptions
  • prefix_separator : defaults to a single space, used when prefix="code" is indicated
  • start_date: display the coupon validity start date if the date is in the future, use start_date="true", defaults to “false”

 

 

 

 

Description

Hot Deals Pro lets you schedule special deals on select products. It works with simple products, variable products, and variations of a product. Grouped products and other product types are not supported.

Configuration

1. Activate the plugin

2. Create a product category for your “Deal of the Day” products.

3. Navigate to WooCommerce -> Settings -> Integration -> Deals

Check the box to enable the plugin.

If you want your deal-related products to be temporarily put into a specific category then select your Deal of the Day category (or whatever you labeled it as) in the related setting.

Save the settings.

4. Navigate to WooCommerce -> Deals

5. Add a new deal

On the deal editor page you’ll various settings, explained below:

  • Title: A title for the deal, for your reference only. Shoppers do not see this.
  • Deal Description: A description for the deal, for your reference only. Shoppers do not see this.
  • Deal Status: The controls whether the deal is active. The status must be set to Active for the deal to activate on its start date. The deal is automatically set to Ended when the end date is reached. You may at any time stop the deal by setting the status to Inactive or Ended. When the deal is stopped ( either by you setting the status to Inactive or Ended, or when the deal end date is reached ) the products linked to the deal removed from the deal of the day category and their sale price is removed from their respective settings.

Deal Settings

  • Deal Mode: Determines how you want to link products to the deal.  Important: When the Deal Mode is set to “Randomly select any product” or “Randomly select a product from specific categories”, then any products that are already part of any other running deal will not be linked to any other deal . Keep in mind that in this context “running deal” means any deal whose status is set to “Active” and the deal’s start date/time has been reached but the deal’s end date/time has not been reached.
  • Number of Products: The number of products to link to the deal
  • Relink Days: Only available when the Deal Mode is “Randomly select any product” or “Randomly select a product from specific categories”. If you set any weekdays in this setting then existing linked products are removed from the deal and X number new products are linked to the deal on each occurence of that weekday while the deal is active and the end date has not been reached. In this scenario X is controlled by the “Number of products” setting.
  • Starts: Date and time when the deal should start
  • Ends: Date and time when the deal should end
  • Price Adjustment Type: This controls how you want to calculate the linked product’s sale price.
  • Percentage off regular price: The product’s price is lowered by a percentage of the regular price. For example, if the regular price is 100 and your discount amount is set to 25, then the product’s sale price becomes 75
  • Amount off regular price: The product’s price is lowered by the amount you set. For example, if the regular price is 200 and your discount amount is set to 60, then the product’s sale price becomes 140.
  • Set price manually: The product’s sale price becomes the amount your set.
  • Amount: The amount of the discount. This should correspond with your Price Adjustment Type. When using “Percentage off regular price” you can include a percent symbol if you want to, but it is not required.

Linked Deal Products:

This shows which products are currently linked to the deal

Link Products: This button links products to your deal based on your deal settings.

NOTE: When the Deal Mode is set to “Randomly select any product” or “Randomly select a product from specific categories”, then any products that are already part of any other running deal will not be linked to any other deal . Keep in mind that in this context “running deal” means any deal whose status is set to “Active” and the deal’s start date/time has been reached but the deal’s end date/time has not been reached.

Fill in the required fields, then in the Linked Deal Products section click the Link Products button.

That will link products to the deal so that when the deal status is “Active” and the start date has been reached the products will be automatically put on sale and put into your Deal of the Day category.

When the deal end date is reach, or if you set the deal status to Ended or Inactive, the link products are take off sale, returned to their regular price, and removed from the deal of the day category.

When a deal is triggered into action by itself start time one or products are selected based on the deal settings. The products are put into the Deal Category defined in the main plugin settings.
A product data meta key is set with a value of the deal expiration date. When the date becomes in the past the meta key is removed and the product is removed from the Deal Category.

When a product becomes an activate part of a deal it’s sale price will be set based on your deal rules. When the deal expires the sale price will be removed and the product will be removed from the deal category.

Variable Products:

* If you link a one or more variations of a product then the entire product will be displayed on the deals page

Shortcodes

[deal_products]

If there is only one product in the deal then the shortcode displays the single product page for that one product. If there are more than one linked product then the shortcode shows a list, like a product category page.

Optional shortcode parameters and their default values:

  • ‘id’ ( a specific deal ID number  )
  • ‘inline’ = false ( display products inline even if there is only one product in the deal – useful when embedding a deal into a the body of a page or post, etc.
  • ‘per_page’=12, ( how many products to display per page when a deal has many products)
  • ‘columns’=4, (how many columns to display per page when a deal has many products)
  • ‘orderby’=’title’, (order the list of products by title or ID)
  • ‘order’=’asc’, (show products in ascending or descending order based on the “orderby” parameter

Shortcode examples:

[deal_products per_page="10" columns="2"]

[deal_products id=1234 inline="true"]

 

 

 

First, navigate to WooCommerce -> Settings -> General and scroll down to the Daily Deals section, adjust the settings to suit your needs.

To create a daily deal product, add a new product or edit an existing product.

In the product’s General settings tab locate and check “Limited deal” checkbox. That will reveal addition settings below the checkbox.

Enter a date start / time of when the sale should start, and an end date / time of when the sale should end.

Optionally enter a URL and button text. These two settings take effect after the sale ends when a shopper views the single product page. The button text replaces the normal “Add to Cart” text, and the URL is used to redirect the user when they click the button.

NOTE: You must set a regular price and sale price for every daily deal product!

Shortcodes

To insert the banner manually, either in the product description or any other page on your site use the following shortcode:

[woocommerce_daily_deals_banner]

When inserted into a product page description the shortcode will automatically detect the sale settings for that product. When using the shortcode in other pages on your site should add a parameter of  product_id=”XXX″ where XXX is the product ID of the product you want to show a banner for:

[woocommerce_daily_deals_banner product_id="333"]

If you want to display various aspects of a daily deal product, you can use the shortcode below to display the price, or qty, or savings amount, or the date and/or time remaining for the product’s sale. You can also specific a time format when displaying the time. For example:

[woocommerce_daily_deals_info product_id="333" show="price"]

Possible attributes include:

product_id=”123″ Show the specified information for a specific product. Leaving this blank shows it for the current product being viewed

show=”XXX” where XXX is one of the following: price, qty, savings, days, or time

  • price – shows the product’s regular price
  • qty – displays the quantity purchased so far
  • savings – displays the savings amount as a percentage, where the savings is the calculated between the regular price and sale price
  • days – displays the days remaining before the sale ends
  • time – displays the time remaining before the sale ends

time_format=”%H:%I:%S” This format would show: 04:21:57

CUSTOMIZATION

To customize the banner layout first copy the banner.php file to your theme directory into a “wc-limited-deals” subdirectory. This way you won’t lose your changes your update the plugin.

For example, copy:

/wp-content/plugins/woocommerce-limited-deals/templates/banner.php

TO:

/wp-content/themes/YOUR-THEME=NAME/wc-limited-deals/banner.php

Then edit the file to suit your needs.

 

 

 

Configuration

Navigate to WooCommerce -> Settings -> Checkout

Select PayPal Pro.

Adjust the settings to suit your needs.

Enable – Enable the payment method
Title – Enter a title to be shown on the checkout page
Description – Enter a description shown to shoppers when they select this payment method on the checkout page
Test Mode – Enable test mode for testing transactions in the PayPal Sandbox
API Username – PayPal Pro API username
API Password – PayPal Pro API password
API Signature – PayPal Pro API signature
Payment Action – Chose “Capture” or “Authorize”. In capture mode payments are captured into your account immediately. In authorize mode funds are only authorized and not captured immediately. You must capture the funds manually using your PayPal Manager account.
3DSecure – Enable or 3D secure. Only necessary for sites that have a UK-based PayPal account that are accepting Maestro cards.
Send Item Details – Send item details to PayPal during the payment transaction. Disable this feature if you experience payment rounding errors during the payment process.
Soft Descriptor – Optional description shown in user’s account statement, e.g., your site/store name. Limit of 23 characters
Card logos:

Enable the card logos that you want displayed on the checkout page. Note the following card availability and requirements – do not enable card logos for cards that your PayPal account cannot accept as doing so will result in payment processing errors.

  • US: Visa, MasterCard, Discover, American Express
  • Canada: Visa, MasterCard
  • UK: Visa, MasterCard, Solo, Maestro/Switch (requires the use of 3D Secure)

Debug Log – Tick checkbox to enable/disable for troubleshooting purposes

Processing Manual Payments

When viewing or editing an order you’ll find a Manual Payment form in the right sidebar. You can use this to process pay for an order.

Before you process a payment make sure that you’ve added all desired items to the order, calculated taxes, and entered any shipping amount you want to charge. After doing so update the order and then enter the payment information into the manual payment form. The payment form will automatically detect the order total and when the payment is processed the amount charged will equal the order total.

After you process a payment the payment result will appear below the Process Payment button and an order note will be added reflecting the payment results ( you will not see the new note until you refresh the page ). After payment processing you can then set the order status to whatever status you want the order to have. The payment processing does not automatically change the order status!

 

 

If you use shipping zones navigate to WooCommerce -> Settings -> Shipping -> Shipping Zones, add the method to whichever zones you prefer, and configure its settings within the zone.

If you’re not using shipping zones, navigate to WooCommerce -> Settings -> Shipping -> Use My Shipper and configure the settings.

Settings

Method Title – Set this whatever you want the shopper to see as the shipping method label on the checkout page

Method availability – This controls which parts of the world the shipping method is valid for.

Field Label – This is the label next to the field where the shopper would enter their shipper account number

Allowed Shippers – A comma separated list of shipper names. For example: Fedex, UPS, DHL. These become options in a dropdown list for the shopper to choose from.

Enable Shipping Note – When enabled an additional note field will appear on the checkout page below the shipping option if the shopper selects the Use My Shipper shipping method

Add to order emails – When enabled, if the customer chose the Use My Shipper shipping method and a shipper, and supplied an account number, then that information appears in the order emails. If the shopper included a shipping note then their note is include in the emails too. This info will appear below the order summary table in the body of the email. There’s no way to get it into the order table itself without you modifying your email templates with your own custom code.

 

 

 

Configuration

Navigate to WooCommerce -> Settings -> Shipping

It’s a shipping method that you must add to a shipping zone. If you haven’t added any zones then add it to the default zone “Locations not covered by your other locations”, otherwise add it to which zones that you want to make it available in. Then configure the shipping method’s settings within that zone.

On the plugin’s settings page make sure the shipping method is enabled, adjust the title, and adjust the main settings so that the Free Shipping Requires setting is set to “A minimum order amount” or “A minimum order amount OR a coupon”. Also be sure to set a minimum amount, for example 1.

To enable the banner notices on your site set the Display Banner Notice to Enabled and define the text to display to the customers across your store page (main store, category pages, individual product pages). This is the message displayed when the shopper does not have enough items in the cart to meet your free shipping requirements which are based on the settings in the Free Shipping method.

The Free Shipping Notice string appears when the shopper does have enough items in the cart to qualify for free shipping.

That’s all there is to it.

 

The plugin is very simply to use:

– Install the plugin into WordPress and activate it.

– Edit a user account. In the list of account settings check the box label Tax Exempt to disable charging sales tax for the user.

– Optionally set a Tax ID, this is for you information only and is not required

– Optionally set an expiration date for tax exemption. If you leave this empty then exemption never expires. If you set a date then exemption expires after that date.

When you have more than one type of tax configured your store then you can also optionally set the user to be exempt from specific types of taxes. To do that select the tax types in the Tax Type Exemptions field. Note that this setting is only applied if the user is also set to be tax exempt.

 

You must have a Fedex account to use this plugin!

Install the plugin to your site and active it.

Navigate to WooCommerce -> Settings -> Shipping -> Fedex

Configure the settings to suit your needs.

Be sure to enter your Fedex credentials ( Account number, Password, Meter number, and API Key ). If you don’t know what these are contact your Fedex representatives for help. The credentials are totally different from your username and password used to login to the Fedex Web site.

  • API Settings – Your API access details are obtained from the FedEx website. After signup for an account, get a developer key. After testing, get a production key.
    • FedEx Account Number * – Provided by FedEx after signup. More info at: Open a FedEx Account.
    • Fedex Meter Number * – Provided by FedEx after signup.
    • Web Services Key * – Provided by FedEx after signup.
    • Web Services Password * – Provided by FedEx after signup.
    • Production Key * – Tick this box according to type of account (developer or production).

MAKE ABSOLUTELY CERTAIN that you set a weight for every product in your store that requires shipping.

If you do not do that then Fedex cannot calculate shipping rates and so shipping might appear to be free.

If you use this plugin for sites that ship very large items that need to be shipped via Fedex Freight be sure to turn on the “Ship Individually” and “Include Dimensions” options otherwise Fedex may not return rates, or may return rates that are too low when people have large items in the cart that need to go via freight.

DO NOT CONTACT IGNITEWOO FOR SUPPORT UNLESS YOU’VE VERIFIED PRODUCT SETTINGS

Make sure that you’ve set your currency and preferred measurements for your store.

Review WooCommerce -> Settings -> General  AND WooCommerce -> Settings -> Catalog to review these settings

LTL Freight

If you ship heavy items and have Fedex LTL Freight enabled in your Fedex account then you can calculate freight rates using this plugin. Simply enable the freight shipping option in the plugin and fill in the fields for your freight account details – all fields are required.

Note that Fedex only support LTL freight shipments in the United States, Canada, and Mexico. Also note that freight items have maximum dimension limits as follows:  Max height = 106 inches ( or equivalent ), max width: 93 inches ( or equivalent ). In theory there is no maximum length limit, however lengths equal to 180 inches ( or equivalent ) or great will incur a surcharge imposed by Fedex.

The plugin supports the typical freight classes as outline by NMFC. To get LTL rates from Fedex you need to assign the correct freight class to products that must be shipping via LTL.

  1. If you’re using WooCommerce 2.6 or newer navigate to WooCommerce -> Settings -> Shipping -> Shipping Classes, otherwise for older versions of WooCommerce navigate to Products -> Shipping Classes
  2. Add a new class and enter a name that makes sense to you
  3. In the Freight Class setting choose the correct freight class
  4. Save the shipping class, and repeat for as many classes as you need to cover all of your products that ship via freight

Next, edit your products that ship via freight:

  1. Edit the product
  2. Navigate to the Product Data -> Shipping section
  3. Choose the correct shipping class for the product
  4. Save the product

That it’s.

Note that if any items in the shopper’s cart ship via freight then the entire order will be calculated as if all items ship via freight.

Also note that if more than one item in the cart must ship via freight then the largest shipping class will be used for the entire order.

 

Global Plugin Settings

Navigate to WooCommerce -> Settings -> Integration -> Product Fees.

On the page you can set a default fee and global fee rules.

The default fee can be set to be applied Per Product, Per Quantity of Product, Per Order Always, and Per Order Fallback.

  • Per Product – in this mode the default fee will be applied when no other fee rules match the products in the cart, the fee is applied once per product in the cart. If the fee is a flat amount then the fee is calculated as (Quantity x Fee) for each item in the cart. If the fee is a percentage the fee is calculated as (Product Price x Fee ) x Quantity for each item in the cart.
  • Per Quantity of Product – in this mode the default fee will be applied when no other fee rules match the products in the cart, the fee is applied once per quantity of each product in the cart. For example, if some is buying a quantity of 10 of “Product A” then the fee will be multiplied by 10.
  • Per Order Always – in this mode the plugin will always apply the default fee, even if fee rules add other fees
  • Per Order Fallback – in this mode the plugin will apply the default fee when no other fee rules match the items in the cart

Compound Fees – Under the hood in the code, WooCommerce requires that all fees have unique label names. Therefore if you have 2 fees with the same label names then when those fees are applied to the cart WooCommerce would not apply the second fee because both fees have the same labels and WooCommerce sees the second as a duplicate and refuses to apply it. This may not be desirable depending on your needs. When this setting is enabled, the Product Fees & Cart Fees plugin will add together to amounts of fees that have the same label name. In this way the plugin bypasses the limitations imposed by WooCommerce.

Product Fee Rules

Add as many fee rules as you need. All rules are processed for the cart and the fees for all matching rules are applied to the cart.

When creating a rule you can set the mode, the fee label ( see the note regarding Compound Fees to clarity on how to choose fee labels! ), the fee amount, the tax status and tax class, products, and product categories.

If you set a fee and do not choose specific products or categories for the rule then the rule applies to all products.

Global Product Fee Rule Processing

Global rules are processed one by one in the order seen in the global rule configuration.  Product specific rules are checked first, then the global rules are checked. If a product specific fee applies then the global rules will not be processed for that product. See the next section in this documentation for information about product specific rules.

Product categories are checked first during rule processing. If the categories are set and any of the categories match any of the categories for a product in the cart then the rule applies. If not categories match and products are configured for the rule then the rule’s products are checked against the items in the cart. If the products for the rule match a product in the cart then the rule applies.

Overriding Global Product Fee Rules with Product Specific Rules

Product specific rules are fee rules that you define when editing a product in your store.  You can override any global fee rules for a given product by editing the product and adding fee rules to the product itself. Edit the product, navigate to the Product Data -> General section, and there you will find the fee settings for the product.

Global Cart Fee Rules

You can define as many cart fee rules as you prefer. When you set cart fee rules they are always applied if the rule’s minimum and maximum range matches the cart subtotal.

 

Video Overview

Settings

Navigate to WooCommerce -> Settings -> Integration, then locate the Tab Control Pro settings section.

Enable:

This controls visibility of your custom tab configurations. Leave this set to Admins & Shop Managers until you’re ready to have the public view your custom tab arrangements – at which point simply change the setting to Everyone and save the settings.

Default Tabs:

The default tabs are the tabs that will be visible for all products on your site unless you override those settings for an individual product by editing the product’s settings.

Choose a tab to add, and note that Description, Additional Information, and Reviews are the default tabs built into WooCommerce. Any 3rd party tabs added by your theme or other plugins will be prefixed with an asterisks.

If you want to add a tab with custom content choose New Empty Tab, then add it, adjust the title, optionally choose an icon, and write the content for the tab.

Global Tabs

Global Tabs are tabs are tabs that you can create once and then re-use many times. For example you could create global tabs and add them to your default tabs, or add them to specific products.

Per-Product Tabs

You can define tabs that only pertain to specific products if you want to.  Edit a product, look in the Product Data section for the Tabs nav, click that to display the tab settings.

Default tabs:

The “Default tabs” setting controls how the product uses the default tabs. You can use only the default tabs, completely override the default tabs with new per-product tabs, or add per-product tabs and merge the default tabs before or after your per-product tabs.

Tabs:

Add a tabs you prefer to the product and save you settings, then view the product page on your site to see the results.

Operational Notes

When adding a new empty you gain the use of the WordPress visual editor for styling the text and adding content. You can use shortcodes and media embedding in the same way you can when editing a blog post, a page, or a product description.

Drag and drop tabs to rearrange their order.

Customizing Tab Content Templates

You can customize the templates for custom tabs created with Tab Control Pro. Note that we do not provide support for customizations, we simply provide this information as a courtesy to developers and people who are adventurous with PHP coding.

To do that, the templates need to be located in a subdirectory of your theme. For example put the templates in a directory like this:

wp-content/YOUR-THEME/woocommerce/single-product/tabs/

You can make an all-purpose template called tab-content.php that can be used for all global and custom tabs.

If you want to make a special template for a specific tab use the tab slug ( seen under the table after you edit and save tabs ). The slug is the title converted to lower case with all non-numeric characters removed and the spaces replaced by a dash. For example, if your title is “Warranty Info” then the slug would be “warranty-info” and so the template file name would be warranty-info.php

In your custom template you’ll need to add PHP code. Here’s an example of how to display content for a custom tab created in a product


	if ( !empty( $tab['content'] ) ) {
		echo apply_filters( "the_content", $tab["content"] );
		return;
	}

Here’s an example of how to display content for a global tab:

	if ( !empty( $tab['pid'] ) ) {
		$q = new WP_Query( array( "p"=>$tab["pid"], "post_type"=>"wc_custom_tabs" ) ); 
		if ( $q->have_posts() ) {
			while( $q->have_posts() ) { 
				$q->the_post(); 
				the_content(); 
			}
		}
		unset( $q );
		wp_reset_query();
		return;
	}

 

Plugin Configuration

  1. Install the plugin and activate it. Then navigate to WooCommerce -> Settings -> Integration and look for the Phone Orders & Manual Orders section.
  2. Copy the shortcode that you see under the page selection setting.  Leave that page open, then open a new tab to create a new page in WordPress. Title the page whatever you like and paste the shortcode into the content area of the page, then publish the page.
  3. Return to this plugin’s settings area, refresh the page to reload the list of available pages on your site. Now select the page you just created, then save the settings.

You may now access your phone order / manual order page at the URL for that page. Bookmark it for easy and quick access.

By default, only Administrators and Shop Managers have access to the new order page you created. If you want to allow other users to access the page configure those users, or roles on this plugin’s settings page.

SECURITY: If you site uses SSL for the checkout page, you must examine your checkout settings. Navigate to WooCommerce -> Settings -> Checkout, if you have the “Force secure checkout” setting turned on then turn off the “Force HTTP when leaving the checkout” setting so that you may access your Phone Orders & Manual Orders page using HTTPS.

The “Configure Product” Button

After you search for a product and select it from the list you will see two button: Add to Order and Customize Product. When click Add to Order the product is placed into the order immediately. When you click Customize Product the actual product page on your site is loaded into a pop up window that appears on your screen. In the pop up you can make whatever selections on the product page that you need to make in order to get the item into the order along with any custom selections that may be present. So for example, if you use our Product Add-on Forms, or Gravity Forms, etc., and need to make custom selections for the product before adding it to the cart then use this method of getting the product into the order. In the pop up, you’ll see your product’s normal “Add to Cart” button, click that to add the product to the cart, after adding the item to the cart close the pop up window and your manual/phone order will be updated.

Adding Arbitrary Products to an Order

When you need to add a product to an order that doesn’t exists on your site you can add it as an arbitrary product by clicking the Add Arbitrary Product button. You’ll see a popup window where you must set a title, price, and quantity. Other fields in the popup are optional. When you’ve fill in the fields click the Add to Cart button in the popup window and the item will be added to the cart.

Note that when you do this then a product will be temporarily created in your site and hidden from view so that other shoppers on your site do not see it. The product will be automatically deleted after the order is placed and the order status becomes Processing or Completed, or in one hour after you add the arbitrary product to the order – whichever comes first.

“Invoice” Payment Gateway

The plugin includes an “Invoice” payment gateway, which is a just a “dummy” gateway that lets you place an order without requiring payment at the time the order is placed. When enabled this payment gateway only appears on your manual/phone orders page. To enable the gateway navigate to WooCommerce -> Settings -> Payment, click the “Phone & Manual Orders – Invoice” item, adjust the settings to suit your needs and then enable the gateway and save the settings.

When you choose this option as the payment method when placing the order you can optionally also choose to automatically send your customer an invoice when the order is placed. When you do that then an email will be sent. The email will either be an order receipt (if the order status is Processing or Completed), or an invoice with a link to pay online if the order status is Pending Payment.

Note that WooCommerce already sends an email receipt when the order status becomes Processing or Completed, so don’t use the option to email an invoice if you’ve configured the payment gateway’s settings to set the order to have one of those two statues.

Custom Shipping Price Gateway

The plugin includes an shipping cost gateway, which lets you set a custom price for shipping for manual/phone orders. When enabled this payment gateway only appears on your manual/phone orders page. To enable the gateway navigate to WooCommerce -> Settings -> Payment, click the “Phone & Manual Orders” item, adjust the settings to suit your needs and then enable the gateway and save the settings.

Then, on the manual/phone order page in the shipping cost section of the order review area you’ll see the gateway listed with an empty field when you can enter whatever shipping cost you want to assign to the order. When you assign the cost then that cost is added to the order as a shipping option which you can then select before placing the order.

Hold Order In Progress

If you ever need to stop managing an order before it’s placed then you can do that easily. The plugin includes an “Hold Order” payment gateway, which is a just a “dummy” gateway that lets you put the order on hold without losing your progress (i.e. items in the cart, selected customer, etc). When enabled this payment gateway only appears on your manual/phone orders page. To enable the gateway navigate to WooCommerce -> Settings -> Payment, click the “Phone & Manual Orders – Hold Order” item, adjust the settings to suit your needs and then enable the gateway and save the settings.

Then, any time you want to place an order on hold simply select the Hold Order payment gateway in the order review section and click the button to place the order. The order will then be stored in the database until you’re ready to complete the order. See the next section “Load Existing or Held Order” for details on how to load a held order.

Load Existing Order or Held Order

At the top of the manual/phone order screen you’ll see a box that lets you search for, and load, an existing order. This tool lets you load any order, even orders that were already completed and any orders that you’ve held using the Hold Order process mentioned above.

To use this feature first decide if you want to load an existing order to finish a held order, replace the order entirely, or simply use the order as a “template” of cart contents for a new order. This works via the checkbox labeled “Load and overwrite”, here’s how that works:

  • When the checkbox is checked the selected order will be loaded, its status will be immediately set to ‘Pending Payment’, and when you submit the order the existing order will be permanently and completely overwritten!  This cannot be undone! Make sure this is your intention before choosing this option!
  • When the box is not checked the order will be loaded as-is, you can alter the contents, billing, and shipping info as you see fit, and you click the button to place the order a new order will be created. This is a great way to use existing orders as a “template” for new orders.

Now, in the search field start typing an order number or the name of a customer, or the name of the billing company. You’ll see a list of found results. Select a result to load that order. When the order loads you’ll find that the billing and shipping info are loaded into place, and all the products in the order are now in the manual/phone order cart. You can adjust any of that however you need to, then place the order as you normally do.

That’s all there is to it!

 

 

WooCommerce Free Gifts lets you award shoppers a free gift if their cart subtotal reaches a certain threshold set by you, the store administrator.

Before you begin using it you need to adjust the settings.

Settings

Navigate to WooCommerce -> Settings -> Integration -> Free Gifts

Adjust the settings to suit your needs before enabling the feature. Hover over the question mark icons to see an explanation of the settings.

Must be logged in: You can adjust the settings to only offer free gifts to logged in users. When this setting is disabled all shoppers are offered the gift if their cart subtotal is equal to or greater than the minimum cart subtotal amount you define in the settings. When you enable gifts only for logged in users you can optionally give them a gift only once. After they receive the gift they are not offered a gift during future visits to your site. If you enable this feature, and logged in shoppers make a purchase and receive a gift, and you later turn this feature off the shopper WILL NOT be offered a gift in the future – only shoppers that never received a gift will be offered a gift.

Minimum cart subtotal: When the cart subtotal ( the amount before tax and shipping ) is equal to or greater than the amount you define in the settings the shopper will be able to add a free gift to the cart with a cost of $0 – even if you’ve set a price for the product, the shopper gets it free if they choose to add it to the cart.

Gift award method: You can select either select a single product that all shoppers will be offered, or select a product category of products from which the shopper can choose one product.

Gift category or Gift Product:  If you choose “Gift from category” then select which category to allow shoppers to choose a gift from. Otherwise select a specific product that they can receive.

NOTE 1: The plugin only works with simple, variable, and grouped products as gifts. IF you select any grouped products as free gifts then all products in the group will be added to the cart if the shopper choses that grouped product AND your Gift Limit setting for the associated rule must be a number at least equal to the number of products in the grouped product – if the limit is less then the products will not be added to the cart.

NOTE 2: If you don’t want your free gift products to appear in your main shop set their “Visibility” to “Hidden” when editing the product. That setting can be*
found in the area of the “Publish” or “Update” button when editing a product.

Cart item price label:  When the shopper opts to add the gift to their shopping cart the cart will display this label in the Price column of the cart contents.

Disable gifts with coupons: You can optionally set the plugin to disallow a gift if ANY coupon is applied to the cart. If a gift is in the cart and shopper applies a coupon then the gift will be removed from the cart automatically.

You can optionally display messages to your shoppers regarding a free gift. Even when you enable both message types only one of these messages will appear at any time, depending on the shopper’s cart subtotal amount. You can disable either or both of them.

Enticement notice: The “enticement” message appears across your entire shop if the shopper’s cart subtotal is NOT equal to or greater than the minimum cart subtotal amount you define in the settings.

Eligible notice: The “eligible” message appears across your entire shop when the shopper’s cart subtotal is equal to or greater than the minimum cart subtotal amount you define in the settings. If the shopper adds the gift to the cart this message is not show.

Customization

You can copy the 2 template files from the plugin’s “templates” subdirectory into the root of theme directory in a subdirectory named “ignitewoo-free-gifts”. For example copy

wp-content/plugins/woocommerce-free-gifts/templates/woocommerce-free-gift-select-from-category.php

TO

wp-content/themes/YOUR-THEME-DIRECTORY/ignitewoo-free-gifts/woocommerce-free-gift-select-from-category.php

Then you can edit the files without losing your changes when you update the plugin.

Cart Based Flat Rates lets you define sets of rates. You can choose to calculate rates per item, per shipping class, per order, per the total weight of items in the cart, per the cart subtotal, or the quantity of items in the cart.  To adjust the settings navigate to WooCommerce > Settings> Shipping > Cart Based Flat Rates.

The first part of the settings is seen in the image below. You can enable the shipping gateway, set the method title, which is shown to the shopper, set the available geographic areas which the shipping option is available, set the tax status, and set the base cost per order.

  • Enable/Disable – Check the box to enable Flat Rates.
  • Method Title – Give the method a title – this is what the customer will see when selecting a shipping method.
  • Method availability – Define ‘All allowed countries’ or ‘specific countries’ to limit where Flat Rates is offered.
  • Tax Status – Define whether tax is applied to the shipping amount or not.
  • Base Cost Per OrderThe base cost is essentially the minimum cost quoted to the shopper by this shipping module. All other shipping costs defined in the other cost definition areas ( explained further below ) are added to the base cost.

cbr-primary-settings

 

ADDED COSTS

The next section lets you configure added costs as seen below.

Added Costs Based On – Determines the calculation method used for the added costs.

When using Per Order, Per Item, or Per Class, the settings look like those in the first screenshot below.  In these modes of calculation you define a shipping class for which the rate applies, a cost, and an optional handling fee that can be a fixed amount or percentage amount. A percentage amount for a handling fee is calculated as follows:

  • Per Order – calculated against the subtotal amount of the cart
  • Per Item – calculated against the price of the product
  • Per Class – calculated against the cost assigned to the shipping class as defined in the added cost

Note that if you need help with understanding and using shipping classes refer to the WooCommerce Product Shipping Classes documentation.

cbr-add-costs-classes
Settings for Added Costs calculation based on Per Order, Per Item, or Per Class

 

When using Cart Subtotal, Item Count, or Item Weight the settings will look as they do in the screeshot below. Notice that the shipping class field is replaced by a field labelled “Total Greater Than or Equal To” field. This field presents the measure by which to compare against based on your selected “Added Costs Based On” setting. So for example, if you select “Cart Subtotal” as your setting then and the value is 11 in the “Total Greater Than or Equal To” field then the settings are interpreted as “This cost applies when the cart subtotal is greater than or equal to 11”.

Note than when using the Cart Subtotal, Item Count, or Item Weigh methods of calculation the handling fee is always calculated based on the subtotal of the cart contents.

cbr-add-costs-items
When using Cart Subtotal, Item Count, or Item Weight

 

Additional Options

For ease of documenting purposes the Minimum Handling Fee is shown in the screenshot below, however it applies to all rate types. This setting lets you define a value that can used to ensure this minimum fee is charged when any applying fees, which is particularly useful when using percentage based fees.

The Additional Options field is not required. When used it lets you add extra rates that are shown to the shopper. Note that these costs are added to the base cost and shown to the shopper as independent shipping options that they can choose from.

Additional costs configuration
Additional costs configuration

 

Define each additional rate on its own line in the format:

Option Name | Additional Cost | Per-cost type

Option name will be the label shown to the shopper for the shipping cost.

Additional cost will be added to the “cost per order” and any other costs defined in flat rate shipping.

Per-cost type can be set to ‘order’, ‘class’ or ‘item’ and controls how the additional cost is applied. e.g. with an additional cost of 9.99, ‘order’ would apply 9.99 to the entire order, ‘class’ would apply 9.99 multiplied by the number of shipping classes present in the cart, and ‘item’ would apply 9.99 multiplied by the quantity of items in the cart.

For example, if the base rate for this shipping method is 10, and that you have no Added Costs defined, and you configure additional rates as follows:

Priority | 5 | order
Express | 10 | order

 

The following rate options would be shown to shoppers:

  1. Flat rate – 10
  2. Priority – 15
  3. Express – 20

In another example lets assume you want to add a cost + percentage for an additional rate labelled “Super Fast”

Flat Rate | 9.95 - 0.2% | order
Regular Rate | 9.95 | order
Super Fast Rate | 9.95 + 0.2% | order

In this example:

  • The ‘Flat Rate’ is going to add 9.95 minus .2% to the entire order.
  • The ‘Regular Rate’ will add 9.95 to the base flat rate shipping.
  • The ‘Super Fast Rate’ will add $9.95 plus 0.2% to the entire order.

Debug Mode

You can enable debug mode to display some information on the cart and checkout page that helps you understand which rates might be applied, and how they might be calculated. You do not need to use this unless you’re having issues configuring your rates.

 

 

You can use this plugin in one of two ways, or both:

For shipping discounts:

Create a new coupon, set the type to “Shipping Discount”, “Shipping Discount %” set the amount of the discount, and adjust any of other coupon settings to suit your needs. When the coupon is applied to the cart the associated discount is calculated and applied to each available shipping method.

For flat fee shipping by using a coupon:

Navigate to WooCommerce -> Settings -> Shipping -> Flat Fee Shipping. Check the box to enable the shipping method and adjust the settings to suit your needs.

Next, create a coupon, set the coupon type to “Shipping Flat Fee”, and set the coupon amount to be the amount shipping will cost when the coupon is used by the shopper. To be clear, this is not a discount, this is the amount you want the shopper to be charged for flat fee shipping when the coupon is applied to the cart. The plugin reads that amount to know what the flat fee shipping option should cost.

When the coupon is applied to the cart the flat rate shipping method will become available to the shopper and the cost will be whatever you set in the coupon amount.

Other coupon options

The plugin supports the following standard WooCommerce coupon settings:  discount amount, expiration date, minimum spend amount, maximum spend amount, individual use only, email restrictions, usage limit per coupon, and usage limit per user.

 

 

Navigate to WooCommerce -> Settings -> Shipping – Free Shipping for Users & Roles

Adjust the settings to suit your needs.

Method title is used as the default title when a rule matches but you have not defined a title for the rule.

The availability setting and countries setting applies to all rules.

When debug mode is on you will see debug output on the cart page and checkout page that helps see what the plugin is checking and what the results are when WooCommerce calculates shipping.

RULES:

Each rule has fields to define a title, users, roles, and min / max cart total.

The title is the text the shopper will see for the shipping option if the rule matches.

Users define which users the rule applies to.

Roles define which user roles the rule applies to.

Min / Max cart total is the range that cart total must fall within for the rule to match. If you leave the Min setting empty the plugin assumes a value of zero. If you leave the Max setting empty the plugin assumes there is no maximum for the rule.

Rules are processed in the order listed on the screen. To rearrange the rule ordering hover your mouse over the up / down arrows on the far right of the rule then drag and drop the rule to your desired order in the list. NOTE: The rule pertaining to Any User / Any Role will always sort itself to the bottom of the list regardless of where you attempt to place it manually.

ALSO NOTE that user and role rules can only successfully be checked if the user is logged in to their account on your site. If the user is not logged in then the only rule that might ever apply is the rule for Any User / Any Role, assuming the shopper’s cart total falls within the min / max range you set for that rule.

To disable use of the built in catch-all rule for Any User / Any Role simply set the minimum cart total to a very high amount that no shopper is likely to reach for a cart total, such as 999999.

RULE PROCESSING:

Again, keep in mind that the rules are processed in the order listed on the screen.

For any particular rule, the users are checked first and if there is a match then rule processing stops. If there is no user match then roles are checked. If there is a role rule match then processing stops. If there is no role match then the “Any User / Any Role” rule is checked.

 

 

 

WooCommerce USPS Drop Shipping Pro is incredibly easy to use.

Activate the plugin and navigate to the WooCommerce shipping settings area. Select USPS.

Now configure the options.

Be sure to set your shipping origin zip code. You can optionally use your own USPS account User ID, or just use the default.

You can enable / disable any of the available shipping methods, and adjust the prices return by USPS for any method.

You can also re-order the list of shipping methods by clicking on grey box next to a method and dragging it to a new position. This controls order in which methods show up on the page when a shopper is viewing their cart or on the checkout page.

For any items in your store that do not ship from the origin postal code configured in the plugin, edit those products, look for the postal code setting in the right sidebar, and enter the shipping origin postal code for the product, then save your settings.

If you’re having trouble getting it to work ( which isn’t very likely! ) turn on Debug Mode, put some items in the cart or change the existing cart contents, and you should see debug output on the cart page or checkout page. See if the debug info helps you determine what the problem might be. If you can’t figure it out contact us and we’ll help.

 

How it works under the hood

When a shopper adds items to the cart and proceed to checkout the plugin looks at each item in the cart to determine if it has its own origin postal code. The plugin then groups items together by origin postal code and sends one or more rates requests to the USPS site’s API and receives a response for each request.

If the plugin is configured with a “Calculation Method” of “Multi-select” then the plugin presents the shopper with a set of shipping options for each item in the cart based on the shipping types you have enabled ( e.g. Priority Mail, Standard Mail, etc ). If you configure the “Calculation Method” with “Per Item” or “Per Order” then the plugin will merge the rate requests costs into one consolidated list of shipping options for the entire order.

When using IgniteWoo’s Vendor Stores plugin, if you want to be able to give each vendor the shipping costs associated with their items in an order then you must configure the “Calculation Method” to “Multi-select”.

 

 

Before using the Tiered Pricing Filters plugin you must have our Tiered Pricing plugin active on your site.

Activate the plugin and navigate to WooCommerce -> Settings -> Integration -> Tiered Pricing Filters

The plugin introduces three settings: Tiered Filtering and Retail Filtering, and Taxes.

When Tiered Filtering is enabled and a user is logged with an account that has one of your tiered pricing roles then that user will only see products that have a price set for their role. When that filtered is not enabled the user will see all products in your store.

When Retail Filtering is enabled and shopper is not logged in or is logged in as a regular customer then any products that do not have a regular price set will not be displayed to the shopper. When that filter is not enabled then the shopper sees all products in your store as they normally would.

For tax control when a shopper is logged in with a tiered pricing role you can choose how to display prices in the shop, how to display prices in the cart and checkout, and indicate whether you entered your tiered prices including tax or excluding tax. These 3 settings are identical to the tax settings built into WooCommerce itself, except that the settings in Tiered Pricing Filters only affect users logged in with one of your tiered roles.

This plugin requires the use of our WooCommerce Tiered Pricing plugin.

Current Version: 2.1

 

Building and Modifying Forms

Navigate to WooCommerce -> Checkout Fields

You’ll find 3 forms, one for Billing, Shipping, and “Other”.

The Billing and Shipping forms are self explanatory. The “Other” form will appear below the billing and shipping fields on your checkout page, assuming your site theme uses a typical layout for the checkout page.

All 3 forms are installed and set to Draft mode by default. In order for the forms to be used on your site simply set the status to Publish. You’ll find that in the Settings section of each form.

WARNING: If you remove any of the default WooCommerce billing and shipping fields be aware that doing so might cause problems with 3rd party plugins that rely on the field information. Be sure to test carefully.

Also take care not to add any of the default billing and shipping fields to your form more than once, otherwise strange results could occur.

Any time you add a “Section” field to wrap sections of fields be sure to also add a “Section End” field after the last field in that section.

When editing a form, on the left side of the screen you’ll see a list of field types. Click a type to add it to the form. Or drag it onto the form. You can add custom fields to any of the three forms, depending on where you want the fields to appear on the checkout page.

Note that you can reposition form fields by dragging and dropping them into a new order.

Each form field has a group of settings. Most fields have a name and description, plus settings for field size, validation, whether the field is required, a field layout control, default value, CSS class field, and a price field.

Validation – this is a data type that helps the plugin try to enforce certain types of data entry for the field.

Required – whether the shopper is required to enter data into the field

Layout – this helps style the form to adjust the layout. This option may or may not work properly on your particular theme.

Size – controls the width of the field

Default Value – lets you set a default value to be inserted into the field automatically

CSS Classes – if you need to gain better control over the styling of the field you can optionally define CSS class name and write your own CSS to suit your needs. Note that by default WooCommerce uses specific classes for checkout fields. Regular text input fields use a class of “input-text”, fields that span have a column ( such billing first name and billing last name ) use classes of “form-row-first” and “form-row-last”. Keep those in mind and use them if you need to have the fields laid out in a specific way.

Price – optionally assign a price to any field ( or field options ) except for the default billing and shipping fields — those field cannot have an associated price. Note that when using Select, Radio, and Checkbox fields, each option can have its own price.

If you enter a number by itself the price is added to the base cost of the item. If you add a number preceded by a minus sign ( e.g. -5.25 ) then the price is subtracted from the base cost of the item. If you enter a number followed by a percent symbol ( e.g. 10% ) then that percentage is added to the base cost of the product. If you enter a minus sign and number followed by a percent symbol ( e.g. -10% ) then that percentage is subtracted from the base cost of the product. If you enter a number followed by an “x” ( e.g. 2x ) then that is considered a multiplier and the price is calculated against the base cost of the item and added to that base cost ( for example, if a product costs $10 and you enter a price value of 2x for a field then the base cost of the product increases to $20 ).

When fields have a price and the user takes action on the field the price is added to the order as a “fee” and the field label is listed along with the price itself. When a customer places their order any field options they selected will appear in the order details. This information also appears in the order when viewing an order in the WordPress admin area.

EVERY FIELD THAT HAS A PRICE MUST HAVE A UNIQUE FIELD NAME OR PRICE WILL NOT BE ADDED TO THE CART CORRECTLY

To delete the field, expand the field and click the Delete button.

To duplicate a field, expand the field and click the Duplicate button

Conditional Rules

You can conditionally show any field. For example, maybe you have a checkbox field and a text box field, and you only want the text box to appear if someone checks the checkbox. To configure this, expand the text box field and click the Conditional Logic button. On the popup that appears check the box labelled “Enable Conditional Rule for this field”. Then select whether the condition requires any rule to match, or all rules to match. Now create one or more rules and adjust the settings for the rule. In this example you’d select your Checkbox field, select “is” for the matching logic, and select the value that should be matched.

Customization

You can customize the CSS for the forms. In the plugin’s directory, copy the file css/co.css into your theme directory in a subdirectory called “addons”. For example:

/wp-content/themes/YOUR_THEME/addons/co.css

You may then edit the CSS without losing your changes when you update the plugin.

Localization

The text domain for the plugin is “ignitewoo_checkout_fields_addons”. Make your mo/po files and place them in the /wp-content/languages/woocommerce/ directory

 

 

 

 

 

Configuration

You first need to create a gift wrap product in your store. This product can be simple or variable.

  1. Define a title
  2. Define an optional description
  3. Set the Catalog Visibility option to Hidden ( find that setting Publish box at the top right side of the product edit screen )
  4. Go to the Inventory tab of the product data settings and enable “Enable this to only allow one of this item to be bought in a single order”
  5. Set your price(s) for the product
  6. For simple products, add a featured image. For variable products, add variations images
  7. Publish the product

If you want to only offer one style of gift wrapping create a simple product. If you want to offer multiple styles of gift wrapping then create a variable product, where each variation is a different wrapping style with its own image and price.

Now navigate to WooCommerce -> Settings -> Integration -> Gift Wrap Orders and adjust the settings.

Be sure to select the product you created in the “Hidden Product” field of the settings.

Customization

If you want to customize the templates that appear on the cart page or checkout page, locate the “gift_wrap_orders” subdirectory in this plugin’s directory. Copy the entire subdirectory to your theme. So you wind up with a folder structure like this:

/wp-content/themes/YOUR-THEME/gift_wrap_orders

You can then edit the templates without losing your changes when you update the plugin.

Language Translations

The plugin text domain is “ignitewoo_gift_wrap_orders”. Create your mo / po files and place them in the wp-content/languages/woocommerce subdirectory

 

 

Installation

Download the zip file to your computer and go to Plugins -> Add New -> Upload to upload the zip file. After uploading click the link to activate the plugin.

Configuration

There are 4 basic steps in configuring your table rates:

  1. Get your shipping rates from your shipping courier(s) so that you know what sort of rates to define in your rate tables.
  2. Create your shipping zones, which help determine where an item might be shipping to and how the table rates will be applied.
  3. Optionally set up your shipping classes if you need to differentiate products. For example, maybe some of your products are much heavier than others.
  4. Edit the plugin settings and create your table rates

Shipping Zones

Your first step is to optionally create shipping zones.

Navigate to WooCommerce -> Shipping Zones. At the top of the page click Add Zone

On the edit page set the following options:

  • Enable – controls whether this zone is active for rate request calculations
  • Title – An informational title. Shoppers do not see this.
  • Description – An informational description. Shoppers do not see this.
  • Type – Can be set to Everywhere ( all locations ), Country / States, or Postal Codes. When using the Postal Codes option be sure to define one or more postal codes. For postal codes you can enter codes separated by a comma, or specify a range of NUMERIC codes such as 77001-70090, or specify a wildcard range such as 770* which matches all postal codes that begin with 770.

 

You can combine any of the mentioned postal code definition patterns into a string of postal code settings for a given zone.

For example:  77001-77090, 7708*, 6060*

Save the zone. Add as many zones as you need for use when defining your table rates in the plugin settings.

Shipping Classes

Shipping classes are used to group products that are similar in terms of cost of shipping. For example, you may have a shipping class called “Small” to apply to little items such as pens, and a class called “Medium” to apply to larger items such as packages of paper, and a class called “Large” to apply to larger items such as entire boxes of paper.

The basic rule of thumb is the create as many classes as you need to ensure that your products are grouped together in terms of similar sizes and weights. This way you can define table rates that apply to specific classes and charge the correct amount for those classes.

See the WooCommerce documentation for help on creating Shipping Classes.

Plugin Settings

Navigate to WooCommerce -> Settings -> Shipping -> Table Rate Shipping

Enable – This setting controls whether the shipping method is enabled or not. Adjust all settings before enabling!

Method Title – Any name you prefer. This is for your reference only. Shoppers do not see this title.

Tax Status – Controls whether the shipping is taxable.

Multi-package – When enabled shoppers see a shipping selection for each item in the cart. When using our Vendor Stores plugin this setting must be turned on if you want to give vendors the shipping costs for their items.

Handling Fee – you can optionally add a fee to the table rates. When set the fee applies to all of your rates. To set a fee enter a fixed amount ( e.g. 2.50 ) or a percentage ( 5% ). Percentages are calculated against the cart total.

Calculation Method – How the plugin should calculate rates.

  • Per Order – the rates are calculated based on the entire cart contents and a single rate is returned.
  • Per Item – the rates are calculated on a per item basis and quantities are taken into consideration – each quantity of an item is considered a unique item.
  • Per Line – the rates are calculated on a per item basis and quantities are NOT taken into consideration – regardless of the quantity of a single item in the cart, rates are always calculated as if there were only 1 of the item in the cart
  • Min/Max Flat Rate – the rates are applied when the zone, class, and min quantity matches. The cost is calculated as a flat rate and is applied to the quantity between the minimum and maximum, up to the maximum defined, after which the Per Item cost is applied for every item thereafter.
  • Per Class – the rates are calculated based on the shipping class assigned to each product in the cart. Items with different classes are matched against your rates table to determine which rate in the table has a matching class

 

Include Tax – whether to calculate rates before taxes are applied to items in the cart, or after taxes are applied to items in the cart

Use Only Highest Class – This only applies to the Per Class calculation method. When a customer has items in the cart and the items have differing shipping classes only then only the rate for the highest class priority will be returned.

Threshold Amount – Optionally set a threshold amount to prevent the plugin from returning rates if the cart total is over a certain amount. This is useful for example if you want to make all shipping free if the order total is over $500, etc. Just set the threshold to whatever amount you want, then enable the Free Shipping module in WooCommerce and adjust it to suit your needs.

Debug Mode – Enable this when testing your rates table. You’ll see debug output on the cart page and possibly the checkout page. This feature also helps prevent WooCommerce from caching shipping rate requests, which greatly eases your testing endeavors. When debug mode is on you can safely enable this shipping method for testing purposes because when debug mode is on ONLY users logged in as administrators see table rates and associated debug output.

Shipping Table Rates – This where you define your table rates. Note that you can drag and drop the rates to re-order them. The table rate fields are explained below:

  • Label – The label shown to the shopper when this rate becomes available based on their cart contents.
  • Slug – This is a unique identifier for the table rate. You can leave this blank and the plugin will generate one for you. Identifiers are used to separate or combine rates. For example, shipping rates with different slugs will become individual shipping options for the shopper. Shipping rates that have the same slug will be combined so that the rates totals added together, and the shopper is shown the combined rates as a single rate option.
  • Zone- Set the zone that the rates apply to
  • Shipping Class- Optionally set a shipping class that the rate applies to, or set it to * ( asterisks ) to have the rate apply to all classes
  • Condition- Which condition is used to do the calculations, you can select from Price, Weight, Item Count, Dimensions, or Min/Max Flat Rate.
  • Min – The minimum value required for the rate to match. Min refers to the Condition setting
  • Max – The maximum value required for the rate to match. Max refers to the Condition setting
  • Cost – The rate cost where the available types of cost are fixed amount ($), percentage (%), multiplier (x), weight (w), and deny (D).
    • The fixed amount will be the rate returned.
    • For percentage (%) then the shipping cost is calculated against the cart subtotal ( for Per Order calculation method ), item subtotal ( for Per Item or Per Line calculation method ), or class subtotal ( for Per Class calculation method ).
    • The multiplier option (x) only applies to Per Order and Per Class conditions. When selected, the shipping cost will be multiplied by the quantity either in the cart or in the class group depending on the condition you have chosen.
    • The weight option (w) multiples the shipping cost against the weight of the items in the cart. To use this option be sure you set weights inn your products.
    • The deny option (D) removes the rate from the list of possible rates provided to the shopper.
  • Per Add’l Item – Does not apply to Per Line shipping.  This setting lets you change the amount charged based on the quantity of an item in the cart. For example, maybe your table rate is $10 per item. But after 3 items you want the rate to change to $2. Set the Qty >= 4 and set the amount to 2.
  • Break – This tells the plugin to stop processing when the rule matches the rate

 

Shipping Class Priorities

Class priorities are processed from high to low.

  • Shipping Class – This is the class label as defined when you created the class at Products -> Shipping Classes
  • Priority – The value used by the Per Order shipping calculation method to determine which priority the classes have. Higher number = higher priority. In practice you might want to set classes for heavier items with a higher priority. After you set the priorities and save your settings the shipping classes will be re-ordered based on their priorities, from highest to lowest
  • Exclude – This applies to all calculation methods. When enabled any item with a matching shipping class will be overlooked when determined rates. For all intents and purposes, items in an excluded class are not charged shipping since no rate is added for those items

 

Examples

Let say for example a shopper has these items in their cart:

Number of items Item Shipping class
2 Ink Pen small
1 Mouse Pad small
1 Coffee Mug medium

And you have the following rates for your small and medium shipping classes – keeping in mind that the highest class priority takes precedence:

Cost for shipping class Cost Priority
medium 10 2
small 5 1

The total for each of the calculation types is as follows. Keep in mind that in this case Per Item shipping will provide 2 shipping rates for the shopper unless you combine the rates by using the same slug for the small and medium shipping class table rate rows. In this example the rates are combined:

Per order Per Item Per Line Per Class
10 25 ( when combined )or when not combined:10 as an option5 as an option 15 15

 

Example of shipping multiples of similar size items

You have a shop selling coffee mugs and people often buy several mugs in any single purchase. Your base shipping rate is $5 and each additional mug adds $2 to the shipping rate. To establish this table rate you do the following:

  • Create a shipping class class “Small” and apply that to all of our mug products.
  • Create a shipping zone called “Zone 1” for sake of example
  • Select “Per Class” as your shipping calculation mode in the Table Rate Shipping plugin
  • Create the following table rate rule:
    • Set any label text you prefer
    • Set any slug you prefer or leave it blank to have one automatically generated for you
    • Set the zone to Zone 1
    • Set the shipping class to Small
    • Set the condition to Item Count
    • Set the Min to 1
    • Set the Max to 99999
    • Set the Cost to 5
    • Set the Per Add’l Item qty to 1
    • Set the Per Add’l Item cost to 2

Your table rate settings look like this ( click the image to enlarge it )

Example Table Rate

 

 

When the shopper buys one mug they are charged $5, when they buy 2 mugs they are charged $6, for three mugs they are charged $7, etc.

That works fine. But what happens when you discover that you need to charge more when people buy a lot of mugs? For example what if they buy 50 mugs and you want to charge 10 as the base rate for the first mug and then 2 per each extra mug? Simple, just do the following:

First edit the previous rule and set the Min to 1 and the Max to 49. Now add a new rule with these settings:

  • Set any label text you prefer
  • Set any slug you prefer or leave it blank to have one automatically generated for you
  • Set the zone to Zone 1
  • Set the shipping class to Small
  • Set the condition to Item Count
  • Set the Min to 50
  • Set the Max to 99999
  • Set the Cost to 10
  • Set the Per Add’l Item qty to 1
  • Set the Per Add’l Item cost to 2

The rules now look like this ( click the image to enlarge it )

Example 2

 

 

Later you might decide that shipping by weight is better so you’d need to adjust your rules. Your shipping courier told you that you get the following rates based on weight:

  • 1 – 2 lbs,  $5
  • 2.1 – 5 lbs, $10
  • 5.1 – 10 lbs, $15

So you define you new rates as follows:

  • Set the calculation mode to Per Order so that you can offer rates based on the weight of the entire order
  • Set your rules as seen in the screenshot below ( click the image to enlarge it )

 

Example 3

 

 

 

So that gets you where you want to be in terms of having weight-based shipping.

Now if you want to offer two shipping methods instead of one you can do that. For example, maybe you want to offer a higher rate for faster shipping. Keeping with the example above you change the label from USA Shipping to Regular Shipping, and you then add 3 more table rates labelled “Express Shipping” ( or whatever you prefer ), adjust the settings to be identical to your Regular Shipping settings except change the Cost to reflect a higher cost for expedited shipping. See the screenshot below for an example ( click the image to enlarge it ):

Example 4

 

 

 

 

With the table rates above the shopper will see two options if their cart contents match your rules, as shown in the screenshot below

Two Shipping Options

 

 

 

Merging Rates Reminder

If you want to MERGE shipping costs make sure your table rate slugs match. Any rates with matching slugs will be combined into a single rate.

 

Table Rates Per Product

You can override the global table rates on a per product basis. This feature lets you set specific rates for specific products so the shipping always correct for items that require unique shipping costs. You might find the use of this feature more effective than assigning unique shipping classes to various products.

To configure table rates for a specific product, first edit the product. For simple products go to the Shipping tab. For variations, edit the variation and check the box to enable the table rates. In either case a table will appear where you can add rates.

Click “Insert row” to insert a new row and then define the settings for that row.

  1. Label – this is the label shown to the shopper
  2. Country Code – Enter a 2 digit country code. For example, US or CA. Review this reference to find valid country codes
  3. State/country Code – Optionally enter a 2 digit state code, e.g. AL or NY for USA states. Use these Google search results to find other relevant state and province codes if you need them.
  4. Postal Code – Optionally a single postal code if you want to restrict the shipping rate to that area. You can use asterisks (*) to match similar postcode. For example 606* matches 60601, 60602, etc
  5. Line Cost – Enter a cost, excluding tax, to apply to the line item as a whole without regard to quantity.
  6. Item Cost – Enter a cost, excluding tax, to apply to each quantity of the item in the cart. The plugin calculates the rate as Cost x Quantity.
  7. Taxable – Indicates whether this shipping rate is taxable

Note that if you define both a line cost and an item cost the costs are added together when calculating the final rate to show the shopper.

You can also import and export rates to make product configuration easier. The CSV file should have 8 columns in an exact order, as follows:

  1. product_id
  2. label
  3. country_code
  4. state_code
  5. postal_code
  6. line_cost
  7. item_cost
  8. taxable

Note that the taxable field can either “yes” if the shipping rate is taxable, or leave it blank or set it to “no” if the shipping rate is non-taxable

The easiest way to get an accurate example CSV is to add a rate one or more rates to a product, then click the Export button to download the rates in CSV. You can then edit the rates for use with other product when necessary

 

Localization

The text domain for the plugin is “ignitewoo_checkout_fields_addons”. Make your mo/po files and place them in the /wp-content/languages/woocommerce/ directory

INSTALLATION AND SETUP

Plugin Configuration

Activate the plugin and go to WooCommerce -> Settings -> Shipping Methods.-> UPS Drop Shipping

Configure the settings – don’t forget to obtain a UPS Access Key!

  • To obtain your UPS access key, go to https://www.ups.com/upsdeveloperkit?loc=en_US
  • Click on the “Register with My UPS” link (if you do not have a UPS account already, otherwise, login ).
  • Navigate to UPS Developer Kit (see the left sidebar menu: Technology Support -> Developer Resource Center -> UPS Developer Kit )
  • Click “Request Access Key” in the “How to Get Started Section”
  • Fill in the required info and submit the form(s).
  • Copy your access key and paste it into the plugin configuration in the appropriate field

MAKE ABSOLUTELY CERTAIN that you set a weight, length, width, and height for every product in your store that requires shipping – unless you using the weight-only setting, in which case you only need to set the weight.

If you do not do that then UPS cannot calculate shipping rates and so shipping might appear to be free!

IMPORTANT NOTES

  • If you’re using our Vendor Stores plugin and want to have UPS Drop Shipping give vendors the shipping fee for items they sell then be certain that you set this plugin’s Shipping Style setting to “Multi Select” !  This plugin can only track their shipping fees if vendors define an origin shipping address for each one of their products.
  • If you intend to drop ship product with origins in more than one country then this will only work properly when each country uses the same units of measure for weights and dimensions. The only exception we’re aware of is Canada, in which case your store product weights can use the US measurements of inches and pounds, or centimeters and kilograms.
  • If you intend to drop ship product with origins in more than one country then be certain that you set this plugin’s Shipping Style setting to “Multi Select” !

 

DO NOT CONTACT US FOR SUPPORT UNLESS YOU’VE VERIFIED PRODUCT SETTINGS

IMPORTANT:

DO NOT MIX UNITS OF MEASUREMENT. EITHER USE ALL USA MEASUREMENTS ( pounds / inches ) OR ALL METRIC MEASUREMENTS ( kilograms / centimeter )

If you mix units of measurements UPS will not return rate quotes.

DO NOT CONTACT US FOR SUPPORT UNLESS YOU’VE VERIFIED SHIPPING SETTINGS

LTL Freight

If you ship heavy items and have UPS LTL Freight enabled in your UPS account then you can calculate freight rates using this plugin. Simply enable the Ground LTL Freight shipping option in the plugin.

The plugin supports the typical freight classes as outline by NMFC. To get LTL rates from UPS you need to assign the correct freight class to products that must be shipping via LTL.

  1. Navigate to Products -> Shipping Classes
  2. Add a new class and enter a name that makes sense to you
  3. In the Freight Class setting choose the correct freight class
  4. Save the shipping class, and repeat for as many classes as you need to cover all of your products that ship via freight

Next, edit your products that ship via freight:

  1. Edit the product
  2. Navigate to the Product Data -> Shipping section
  3. Choose the correct shipping class for the product
  4. Save the product

That it’s.

Note starting with v2.5 of this plugin you can optionally enable the “Group by Freight and Parcel” setting. When you do the cart contents will be scanning to find freight items and parcel (non-freight) items, and those two sets of items will be grouped into separate packages. Then at checkout the shopper will see rate choices for each group, and they must select a shipping option for each group. This way the actual shipping costs are far more accurate when the cart contains freight and non-freight items.

If you leave that setting disabled then if any item in the order must be shipped via LTL freight then the software will assume that all items in the order will have their shipping calculated as if they ship via freight – even if you don’t actually wind up shipping them all via freight.

Product Configuration

After adjusting the plugin settings edit your products and look in the right sidebar for the Drop Shipping meta box. Enter the product’s origin zip code if it differs from the origin zip code you defined in the plugin settings. For negotiated rates and for LTL freight rates you must also select the origin state/province and country.

That’s all there is to it!

Drop Shipping Suppliers

If you’re using IgniteWoo’s Dropshipping Suppliers Pro plugin then you’ll also see any addition setting labeled “Group by Supplier”. When enabled this feature groups items in the cart by supplier – if a supplier is defined for a given product.

This way, if a shopper buys 3 items from Supplier A, and 2 items from Supplier B, and 5 items from Supplier C, then the shipping modules will calculate shipping from each of the three supplier’s origins, and at checkout your shopper will select a shipping method (Ground, 2nd Day, etc) for each group of items.

This method of handling packages gives your site the ability to offer far more accurate shipping rates, which benefits you and your shoppers.

A NOTE ABOUT SOFTWARE UPDATES

A notice will appear asking you to install the IgniteWoo Updater plugin ( if you have not already done so ). The plugin enables you to receive plugin updates and support. Click the link to install the Updater and activate the plugin. Then navigate to Dashboard -> IgniteWoo Licenses to add your license key, which you should have received via email. Your license keys are also listed on your My Account page at IgniteWoo.com