Adding a product

Before adding your first product, let’s get familiar with how product categories, tags, and attributes work.

Product Categories

Product categories and tags work in much the same way as normal categories and tags you have when writing posts in WordPress. They can be created, edited, and selected at any time. This can be done when you first create a product or come back and edit it or the category/tag specifically.


These can be added per product, or you can set up global attributes for the entire store to use (e.g., in layered navigation).

To learn more, see: Managing Product Categories, Tags and Attributes

Product Types

With attributes and categories set up and stock management configured, we can begin adding products. When adding a product, the first thing to decide is what type of product it is.

  • Simple – covers the vast majority of any products you may sell. Simple products are shipped and have no options. For example, a book.
  • Grouped – a collection of related products that can be purchased individually and only consist of simple products. For example, a set of six drinking glasses.
  • Virtual – one that doesn’t require shipping. For example, a service. Enabling this, disables all shipping related fields such as shipping dimensions. A virtual product will also not trigger the shipping calculator in cart and checkout.
  • Downloadable – activates additional fields where you can provide a downloadable file. After a successful purchase, customers are given a downloadable file as a link in the order notification email. This is suitable, for example, for a digital album, PDF magazine, or photo.
  • External or Affiliate – one that you list and describe on your website but is sold elsewhere.
  • Variable – a product with variations, each of which may have a different SKU, price, stock option, etc. For example, a t-shirt available in different colors and/or sizes.
  • Other types are often added by extensions. For example, WooCommerce Subscriptions adds new product types as does WooCommerce Bookings.


SKU, or Stock Keeping Unit number, is a unique number assigned to a product for, amongst other things, the purpose of keeping track of inventory.

The SKU field can accept up to 255 characters, which can include alphanumeric values and some special characters. The input is checked using the WordPress function santize_text_field, which means HTML, invalid UTF characters, and octets will be removed when saved (an octet is defined by % followed by 2 characters with a value in the range of a-f or 0-9).

Adding a simple product

Adding a Simple product is similar to writing a post in WordPress.

  1. Go to WooCommerce > Products > Add Product. You then have a familiar interface and should immediately feel at home.
  2. Enter a product Title and Description.
  3. Go to the Product Data panel, and select downloadable (digital) or virtual (service) if applicable.

Note: Virtual products don’t require shipping — an order with virtual products won’t calculate shipping costs.

Product data

The Product Data meta box is where the majority of important data is added for your products.


General section

  • Price
    • Regular Price – Item’s normal/regular price
    • Sale Price – Item’s discounted price that can then be scheduled for certain date ranges. The sale expires at 11:59pm of the specified end date
  • Tax
    • Tax status – Taxable / Shipping only / None
    • Tax class – Choose which tax class should be applied

Inventory section

The inventory section allows you to manage stock for the product individually and define whether to allow back orders and more. It enables you to sell products and allow customers to add them to the cart to buy.

Enable Stock Management must be selected in Products Inventory Settings; otherwise, only the ‘Stock status’ option is visible in the Product Data Inventory box.

Options when stock management at product level is disabled. You are responsible for updating the Stock Status.


Options when stock management at product level is enabled.

  • Enter the Stock Quantity, and WooCommerce auto-manages inventory and auto-updates Stock Status as Stock, Out of Stock or On Backorder.
  • Select whether to Allow Backorders.
  • Low stock threshold – Enter a number upon which you are notified.
  • Tick the Sold Individually box to limit the product to one per order.

Shipping section

  • Weight – Weight of the item.
  • Dimensions – Length, width and height for the item.
  • Shipping Class – Shipping classes are used by certain shipping methods to group similar products.

Linked Products section

Using up-sells and cross-sells, you can cross promote your products. They can be added by searching for a particular product and selecting the product from the dropdown list:


Up-sells are displayed on the product details page. These are products that you may wish to encourage users to upgrade, based on the product they are currently viewing. For example, if the user is viewing the coffee product listing page, you may want to display tea kettles on that same page as an up-sell.


Cross-sells are products that are displayed with the cart and related to the user’s cart contents. As an example, if the user adds a Nintendo DS to their cart, you may want to suggest they purchase a spare stylus when they arrive at the cart page.

Grouping – Used to make a product part of a grouped product. More info below at: Grouped Products.

Attributes section

On the Attributes tab, you can assign details to a product. You will see a select box containing global attribute sets you created (e.g., platform). More at: Managing Product Categories, Tags and Attributes.

Once you have chosen an attribute from the select box, click add and apply the terms attached to that attribute (e.g., Nintendo DS) to the product. You can hide the attribute on the frontend by leaving the Visible checkbox unticked.

Custom attributes can also be applied by choosing Custom product attribute from the select box. These are added at the product level and won’t be available in layered navigation or other products.

Advanced section

  • Purchase note – Enter an optional note to send the customer after they purchase the product.
  • Menu order – Custom ordering position for this item.
  • Enable Reviews – Enable/Disable customer reviews for this item.

Product short description


Add an excerpt. This typically appears next to product imagery on the listing page, and the long description appears in the Product Description tab.

Video embeds (oembed) may be used, as of version 3.1x.


On the right-hand side of the Add New Product panel, there are product categories in which you can place your product, similar to a standard WordPress post. You can also assign product tags in the same way.


Product images

Add a main product image and a gallery of images. More at: Adding Product Images and Galleries.

Setting catalog visibility options and feature status

In the Publish panel, you can set Catalog Visibility for your product.

  • Shop and search – Visible everywhere, shop pages, category pages and search results.
  • Shop only – Visible in shop pages and category pages, but not search results.
  • Search only – Visible in search results, but not in the shop page or category pages.
  • Hidden – Only visible on the single product page – not on any other pages.

You can also set whether the product is promoted in product categories, up-sells, related products as a Featured Product. For example, you could tick the Featured box on all bundles you sell.


Other ways to set as Featured are described in the below section: Mark a product as Featured.

Adding a grouped product

A grouped product is created in much the same way as a Simple product. Grouped products are like lists of other products in your shop, and as a result do not have prices or stock numbers of their own. To create one, select Grouped Product from the Product Type dropdown.

To create your parent product select ‘Grouped’ from the Product Type dropdown.

Create the Grouped product

  1. Go to: WooCommerce > Products > Add New.
  2. Enter a Title for the Grouped product, e.g., Back to School set
  3. Scroll down to Product Data and select Grouped from the dropdown. The price and several other fields disappear. This is normal because a Grouped Product is a collection of ‘child products’, which is where you add this information.
  4. Publish.

The Grouped product is still an empty group. To this Grouped product, you need to:

  • Create products and add them
  • Add existing child products

Having the choice to first create Simple products and add them to a Grouped product later; or first create a Grouped product and add Simple products later gives you flexibility to add Simple products to more than one Grouped product.


Add products to the Group

  1. Go to: WooCommerce > Products > Add New.
  2. Select the Grouped product you wish to add products to.
  3. Scroll down to Product Data and go to Linked Products.
  4. Select Grouped Products, and search for the product by typing
  5. Click the products you wish to add.
  6. Update
  7. You can drag and drop to reorder the Grouped Products. Once you press Update, the new order will be shown on the product page.

Adding a virtual product

When adding a Simple product, you can tick the Virtual checkbox box in the product type panel.


With Variable products this checkbox is moved to each variation.


Enabling this, disables all shipping related fields such as shipping dimensions. A virtual product will also not trigger the shipping calculator in cart and checkout.

Adding a downloadable product

When adding a simple product, you can select the Downloadable checkbox box in the product type panel. This adds two new fields:

  • File path — Path or url to your downloadable file.
  • Download limit – Limit on number of times the customer can download file. Left blank for unlimited downloads.

For maximum flexibility, downloadable products also incur a shipping cost (if, for example, you were offering both a packaged and a downloadable version of a product, this would be ideal). You can also check the Virtual box if the downloadable product is not shippable.

Note: If the Completed Order Email doesn’t contain downloadable links, see this Troubleshooting Guide.

Adding an external/affiliate product

Select ‘External/Affiliate’ from the product type dropdown. This will change the Product data metabox a bit. It first removes the shipping section from the left side. It then adds two new fields in the General section, the Product URL and Button text fields. The Product URL field is the destination where users can purchase this product. Then the Button text lets you change the normal Add to cart button text to your preferred text.

Adding a variable product

Variable products are one of the more complex of product types. They let you define variations of a single product where each variation may have a different SKU, price or stock level.

See our Variable Product docs for a guide on creating a product with variations.

Duplicating a product


To save time, it’s possible to use a product and duplicate it to create similar products with variations and other qualities.

Go to WooCommerce > Products and look through the list for a product you wish to replicate, then click Duplicate.

Deleting a product


To delete a product:

  1. Go to: WooCommerce > Products.
  2. Find the product you wish to delete.
  3. Hover in the area under the Product name and click Trash.

To mark a product as featured, go to: Products > Products and select the Star in the featured column. Alternatively, select Quick Edit and then the Featured option.

Setting A Featured Product

Filter or sort products

In addition to the options below, WooCommerce Customizer gives you the ability to customize your Product Catalog. Go to: WooCommerce Customizer – Product Catalog.

Filtering products

Use the Filter function to get a product count, view products by type, or see which products are On Backorder or Out of Stock.

  1. Go to: WooCommerce > Products.
  2. Select a Category, Product Type and/or Stock Status, or any combination of the three.
  3. Click Filter.

Filter by category

Use the category filter function to filter products by category.

Note: When the site has fewer than 100 categories, the category filter field will appear as a dropdown. When the number of categories reaches 100, an input search will be used instead of a dropdown.

And unlike dropdown, input search will not show all categories, only categories that are tied to some product.

Sorting products

Sorting is different than Filtering, in that you can drag and drop products to re-order them.

  1. Go to: WooCommerce > Products.
  2. Select Sorting.
  3. Select a Category, Product Type and/or Stock Status, or any combination of the three.
  4. Click Filter.

You can now drag and drop products in an order to your liking.


Product ID

A WooCommerce Product ID is sometimes needed when using shortcodes, widgets, and links.

To find the ID, go to Products and hover over the product you need the ID for. The product ID number is displayed.


Allow backorders

Select whether to allow Backorders from the dropdown, if you are managing stock on a product. Use Advanced Notifications (separate purchase) to help notify someone other than the shop admin if backorders are placed.


To allow backorders, the Stock status must be set to In Stock even though the Stock Quantity is 0 or less.

Most payment gateways charge immediately. If you want to wait to charge customers for an item when it’s back in stock, use WooCommerce Waitlist (separate purchase) to email all users, notifying them that the item is back in stock with a link to purchase.

Adding Product Images and Galleries

Images are measured and set in pixels, for example, 800 x 800 pixels. Note that the first number is the width and the second is height.

We recommend organizing your images in a folder offline and keeping a backup in case you need them in the future or mistakenly alter one and wish to revert to the original.

Types of images

WooCommerce uses three types of Product Images for different locations and purposes:

  • Single Product Image is the largest image and refers to the main/featured image on your individual product details page.
  • Catalog Images are medium-sized images appearing in product loops, such as the Shop page, Product Category pages, Related Products, Up-sells, and Cross-sells.
  • Product thumbnails are the smallest images used in the Cart, Widgets, and (optional) Gallery thumbnails underneath the Single Product Image.

Adding Product Images and Galleries

Adding product images and galleries are options available on the right-hand side when adding or editing a product in your store from WooCommerce > Products.


Product image

The Product Image is the main image for your product and is reused in different sizes across your store.

Select Set Product Image.


Select an existing image in your Media Library or Upload a new one.


Remove and Edit the product image if you’d like to change it, as needed.

Adding, removing and editing a product image is done in the same way as featured images for posts and pages.

Product Galleries

Add images to the Product Gallery

Product galleries display all images attached to a product through the Product Gallery meta box.

Create a Product Gallery using the same method as adding a Product Image, but using the Product Gallery meta box.


Reorder images in the product gallery

Images in the product gallery can be re-ordered easily via drag and drop. Simply reorder your images by moving them around.


Remove images from the product gallery

To remove an image from the product gallery, hover over the image and click on the red “x.”


Customer view

Once a product image and gallery have been added, customers can see them in your store.


It’s also possible to Zoom and see a closeup of the image by hovering over it.


Or customers can click the Magnifying Glass+ option in the upper right corner.


And a Lightbox pops up so customers can see a highlighted closeup of the image against a dark background and, if there is one, view the Gallery as a slideshow.


Touch gestures also work on mobile.


What is the ideal image size to use with WooCommerce?

We recommend a minimum size of 800 x 800 pixels, width, and height. This renders well for the main/featured image, catalog image, and thumbnail image. Images that are larger are even better, especially if you’re selling items with great detail.

It’s possible to use images of lower resolution. However, your images are a key tool in selling and promoting your products and services online, so they should be of high quality.

What happens if I forget to set an image size?

WooCommerce automatically sets a size for you and generates images for customers to see on the front end.

My images are blurry/fuzzy, how do I fix them?

Have a look at: Fixing blurry product images.

What is the Lightbox in WooCommerce?

Lightbox is a feature that opens your image or images against a dark backdrop, shining a light on them, similar to a real-life photo lightbox.

Can I turn off the Lightbox?

Yup, see: Disable WooCommerce 3.0x Lightbox. Be aware this is customization beyond what we can help with via our Support Policy.

What is the Image Zoom in WooCommerce?


If you’re looking at a product and hover over it you’ll notice the image zooms in where your cursor is on the image. This is helpful to get a closer and quick look at some products that might have intricate details that aren’t clear in their normal image in your store.

Variable Product

Variable products are a product type in WooCommerce that lets you offer a set of variations on a product, with control over prices, stock, image and more for each variation. They can be used for a product like a shirt, where you can offer a large, medium and small and in different colors.


Adding a Variable Product


Step 1. Set the Product Type

To add a variable product, create a new product or edit an existing one.

  1. Go to: WooCommerce > Products.
  2. Select the Add Product button or Edit an existing product. The Product Data displays.
  3. Select Variable product from the Product Data dropdown.


Step 2. Add Attributes to Use for Variations

In the Attributes section, add attributes before creating variations — use global attributes that are site-wide or define custom ones specific to a product.


Global Attributes

To use a global attribute:

  1. Create global attributes.
  2. Select one from the dropdown and click Add.
  3. Choose Select all to add all attributes to the variable product (if applicable).
  4. Enable the Used for variations checkbox to tell WooCommerce it’s for your variations.
  5. Click Save attributes.
Adding a global attribute
Adding global attribute values


Custom Attributes

To add a new attribute specific to this product:

  1. Select Custom product attribute and click Add.
  2. Name the attribute (e.g., Size).
  3. Set values separated by a vertical pipe, | (e.g., Small | Medium | Large).
  4. Enable the Used for variations checkbox.
  5. Click Save attributes.
Adding a custom attribute
Adding custom attribute values


Step 3. Add Variations

To add a variation, go to the Variations section in the Product Data meta box.


Manually Add a Variation

  1. Select Add variation from the dropdown menu, and select Go.
  2. Select attributes for your variation. To change additional data, click the triangle icon to expand the variation.
  3. Edit any available data. The only required field is Regular Price.
  4. Click Save changes.


Creating All Possible Variations

Select Create variations from all attributes to have WooCommerce create every possible combination of variations and click Go:


It will create a new variation for each and every possible combination of variation attributes (max 50 per run). If you have more possible combinations you can run it again.

If you have two attributes – color (with values blue and green) and size (with values large and small) it creates the following variations:

  • Large Blue
  • Large Green
  • Small Blue
  • Small Green
If you later add additional attributes, it may require the variables to be redefined for the variation combinations to work correctly.


Editing Many Variations

If you have more than 15 variations, use the buttons to navigate forward and backward through the list. Each time you navigate to a new set of variations, the previous set is saved. This ensures that all data is saved.



Setting Defaults

Set defaults you prefer on variations. In the example, no default form values were set, so users can pick any color and size right away from the product page.


If you want a certain variation already selected when a user visits the product page, choose the default form values. This also enables the Add to Cart button to appear automatically on variable product pages.

You can only set defaults after at least one variation has been created.


Adding Variation Data

Each variation can have the following properties.



  • Enabled – Enable or disable the variation.
  • Downloadable – If this a downloadable variation.
  • Virtual – If this product isn’t physical or shipped, shipping settings are removed.
  • Regular Price (required) – Set the price for this variation.
  • Sale Price (optional) – Set a price for this variation when on sale.
  • Tax status – Taxable, shipping only, none.
  • Tax class – Tax class for this variation. Useful if you are offering variations spanning different tax bands.
  • Stock quantity – Shows if Manage stock? is selected. Allows to set the current stock level for the variation.
  • Allow backorders? – Shows if Manage stock? is selected. Allows to set if backorders are allowed for the variation; if enabled, stock can go below zero.
  • Low stock threshold – Shows if Manage stock? is selected. When the stock for the variation reaches this level you will get a notification email. If not set, the product-wide threshold will be used (see Inventory Management below).
  • Downloadable Files – Shows if Downloadable is selected. Add file(s) for customers to download.
  • Download Limit – Shows if Downloadable is selected. Set how many times a customer can download the file(s). Leave blank for unlimited.
  • Download Expiry – Shows if Downloadable is selected. Set the number of days before a download expires after purchase.


Inventory Management

Inventory for variable products can be managed on product and variation level.

Сhoose how to manage stock by toggling Enable stock management at product level on the Inventory tab:


The following settings are available if you choose to manage stock on a product level:

  • SKU – If you use SKUs, set the SKU or leave blank to use the product’s SKU.
  • Manage Stock? – Tick the box to manage stock at the variation level.
  • Stock Quantity – Shows if Manage Stock is selected. Input the quantity. Stock for the specific variation, or left blank to use the product’s stock settings.
  • Allow Backorders – Choose how to handle backorders.
  • Low stock threshold – When the stock for the variation reaches this level you will get a notification email.
  • Sold Individually? – Allow only one to be sold in one order. (This setting is used for the product itself. You cannot set a specific variation to only be sold once per order)

If Low stock threshold isn’t set then the store-wide default will be used. This default can be set in the Products – Inventory tab of WooCommerce settings:


Choosing to manage stock for variations individually allows you to edit the same properties for each variation.

Set Stock Status can be applied to all variations at once to In stock or Out of stock. Bulk-update under Variations:




  • Weight – Weight for the variation, or left blank to use the product’s weight.
  • Dimensions – Height, width and length for the variation, or left blank to use the product’s dimensions.
  • Shipping class – Shipping class can affect shipping. Set this if it differs from the product.


Linked Products

  • Upsells
  • Cross-sells
  • Grouped

If the SKU, weight, dimensions, and stock fields are not set, then it inherits values assigned to the variable product. Price fields must be set per variation.


Add an Image to the Variation

  1. Expand the variation.
  2. Click the blue image placeholder (screenshot).
  3. Select the image you wish to use.
  4. Save.


Bulk Editing

You can bulk-edit variations by selecting the specific piece of data you want from the dropdown. In this example, I want to edit prices for all variations:



What Customers See

On the frontend, when viewing a variable product, the user is presented with dropdown boxes to select variation options. Selecting options will reveal information about the variation, including available stock and price.


If the user tries to click the greyed out add to cart button before choosing an attribute, a message will appear asking them to select some attributes.

In the product archive page, Add to Cart does not display because a variation must first be chosen before adding to cart on the product page.



Functionality / behavior for more than 30 variations

If a product has more than 30 possible variations, then the customer will first have to select all available attributes before they can see if a product has stock or is available.

For example, if you have a Hoodie, available in five sizes and three colors, this produces 125 variations (five to the power of three). If you removed five of these variations, the customer would still be able to select that from the front-end but they wouldn’t see this wasn’t available until they selected the Add to cart button.

Managing Product Categories, Tags and Attributes

Product categories

Product categories are the primary way to group products with similar features. You can also add subcategories if desired.

For example, if you sell clothing, you might have “t-shirts”, “hoodies” and “pants” as categories.

How to add/edit product categories

Categories are managed from the Products > Categories screen.

Similar to categories on your posts in WordPress, you can add, delete, and edit product categories.

  • Add a Name.
  • Add a Slug (optional); this is the URL-friendly version of the name.
  • Choose a Parent if this is a subcategory.
  • Enter a Description (optional); some themes display this.
  • Choose the Display type. Decide what is shown on the category’s landing page. “Standard” uses your theme’s default. “Subcategories” will display only the subcategories. “Products” only displays products. “Both” will display subcategories and products below that.
  • Upload/Add Image (optional);  Some themes have pages where product category images are displayed, so this is a good idea.

Storefront by default displays product category images on the homepage template.


Categories can also be reordered by dragging and dropping – this order is used by default on the front end whenever the categories are listed. This includes both widgets and the category/subcategory views on product pages.

Since WooCommerce 3.3, there will be a default category. Every product must be assigned to a category, so the default category will be automatically assigned if the product is not assigned to any other category. By default, this category will be named “Uncategorized” and can not be deleted. However, you can rename the category. You can also switch the default category using the row actions underneath the category name, then the “Uncategorized” category can be deleted as it is no longer the default.


When you add a new product via Products > Add Product, you can select this new product category from the list.

Alternatively, you can go to Products > Add Product directly, and select Add New Product Category.


The taxonomy is product_cat. And the filtering feature becomes AJAX-enabled for friendlier use once there are 100 categories.

Product tags

What are product tags?

Product tags are another way to relate products to each other, next to product categories. Contrary to categories, there is no hierarchy in tags; so there are no “subtags.”

For example, if you sell clothing, and you have a lot of cat prints, you could make a tag for “cat.” Then add that tag to the menu or sidebar so cat lovers can easily find all t-shirts, hoodies, and pants with cat prints.

How to add/edit product tags

Tags can be added similarly to adding product categories and work in exactly the same way as post tags. See the Codex for more information.

The taxonomy is product_tag.

Product attributes

What are product attributes?

A third and important way to group products is to use attributes. There are two uses of this data type that are relevant for WooCommerce:

  • First is via WooCommerce widgets. “Filter Products by Attribute” allows you to select a specific attribute. If you add this widget to your sidebar, customers can filter products in your store based on the attribute. Knowledgebase
  • Second is via variable products. To create a variable product, an attribute must first be defined for the product. These attributes can then be used to make a distinction between different variations. More info at: Variable Products.

For example, if you’re selling clothing, two logical attributes are “color” and “size”, so people can search across categories for a color that fits their style and type and clothing available in their size.

How to add/edit product attributes

Set global attributes

Go to Products > Attributes to add, edit, and remove attributes.

Here you can quickly and easily add attributes and their terms.

  • Add a Name.
  • Add a Slug; (optional); this is the URL-friendly version of the name.
  • Enable Archives if desired. If enabled, you can view a page with all products having this attribute. For example, if you have this enabled, and “black” is one of the options under “color”, you can add to your menu to only display black clothing – pa stands for “product attribute.”
  • Select a Default sort order. Choose between “Name”, “Name (numeric)”, “Term ID” or “Custom ordering” where you decide by dragging and dropping the terms in the list when configuring the terms (see below). “Name (numeric)” is relevant if the values are numbers. If you select “Name”, it sorts alphabetically with 1 and 10 preceding 2. If you select “Name (numeric)” it sorts based on numerical value. KnowledgebaseKnowledgebase

Select Add Attribute.

The attribute is added in the table on the right, but without values.

Select the “Configure terms” text to add attribute values.


Next Add New “Attribute name”, where “Attribute name” automatically takes the name you gave the attribute in the previous step.

Add as many values as you wish. If you selected “Custom ordering” for the attribute, reordering your values can be done here.

Add global attributes to product

Add the created attributes to your products.

  1. Go to: Products > Add Product (or edit an existing one).
  2. Select the Attributes tab in the Product Data. There you can choose any of the attributes that you’ve created in the dropdown menu.
  3. Select Add.

If you selected a global attribute that you previously created, you can select terms that you added previously.


Add custom attributes

Alternatively, add an attribute you only want to use for one product. This would only be ideal if you have a product with unique variations.

  1. Go to: Product > Add Product.
  2. Select the Attributes tab.
  3. Select Custom product attribute in the dropdown and follow the above steps.

Bulk Editing Products

Much like WordPress’ other post types that let you assign categories, tags or post statuses en mass, WooCommerce products also have a bulk editing feature.

To access its power, navigate to Products > All Products, tick two or more products from the list, and select Edit from the Bulk Actions menu at the top or bottom of the list, and click Apply to enter the world of bulk editing.


An edit screen with the following fields are revealed, a change to which will affect all the selected products once you hit the Update button, visible to the bottom-right of the edit window.

Bulk Editing Fields

Below are the default WooCommerce fields one might encounter, although when certain extensions are active, additional fields might also be present.


Bulk Edit – shows the currently selected products that will be affected. Click the x to remove a particular product from the active bulk edit session.

Product Categories – a list of your product categories that can be ticked or unticked to assign or remove them from the selected products.

Comments – can be set to either Allow and Do not allow

Status – reflecting the product’s published status, options include Published, Private, Pending Review, or Draft

Product Tags – once you start typing, existing product tags are offered as options to click. Otherwise, add one or more new tags, separated by commas.

Price – options include Change to, Increase existing price by (fixed amount or %), or Decrease existing price by (fixed amount or %). After an option is selected, an additional Enter Price ($) field is added to which you can add the number reflecting your choice.

Saleoption are Change to, Increase existing sale price by (fixed amount or %), Decrease existing sale price by (fixed amount or %), or Set to regular price decreased by (fixed amount or %). Selecting any of the options reveal an additional Enter sale price ($) field.

Tax status – can be Taxable, Shipping only or None.

Tax class – options will show the default Standard rates, plus whatever else you have configured under WooCommerce > Settings > Tax > Tax Options > Additional tax classes, which normally includes Reduced rate rates, and Zero rate rates.

Weight – only has one option; Change to. When selected, an additional field is added with which to adjust the weight.

L/W/H – Should the Change to option be selected, 3 additional fields for Lenght, Width and Height respectively, are added.

Shipping class – options will include No Shipping, plus whichever classes have been configured under WooCommerce > Settings > Shipping > Shipping Classes.

Visibility – in reference to the product visibility in store, the option are Catalog & search, Catalog, Search, and Hidden.

Featured – simply Yes or No.

In stock – options are In stock, Out of Stock or On backorder.

Manage StockYes or No.

Stock Qty – option are Change to, Increase existing stock by, or Decrease existing stock by.

Backorders? – can be set to Do not allow, Allow but notify the customer, or Allow.

Sold individually? – options are either Yes or No.

Bulk Editing Limitations

Bulk editing works best with Simple products, and cannot edit the complexities of variable, grouped, or other complicated products.

Bulk editing can only be applied to products that are visible and can be ticked for inclusion in a bulk editing session.

Options for filtering products

Increase the number of products visible on any one page by going to Screen Options > Number of items per page. Be aware the excessively high numbers of products on one page might strain your browser, and take a long time to update, so use wisely.


Filter by category, product type, or stock status by selecting the relevant attributes from the dropdowns at above the product lists, and clicking the Filter button.


Sort products by column ascending or descending by clicking on hyperlinked column headings. By default Name, SKU, Price and Data (published) columns can be used for this type of sorting.



Quick Editing

Quick editing is similar to Bulk editing, but applies to one product only. To access Quick editing, hover over a particular product to reveal its links, and then select Quick editing.


It’s exactly the same as Bulk editing, except that because only one product is involved, the product’s current values are shown in the fields instead of – No Change – as is the case when bulk editing.


WooCommerce Payments Start Up Guide

WooCommerce Payments provides your store with:

  1. A payment gateway to accept credit and debit cards directly onsite; and
  2. A dashboard for managing transactions, including payments, refunds, disputes and deposits, integrated into your site’s WordPress administration area.

WooCommerce Payments is currently available only to merchants based in a supported country and selling in a supported currency.



To install WooCommerce Payments:

  1. Go to Plugins > Add New on your WordPress site.
  2. Click the Upload Plugin button at the top of the screen.
  3. Select the file from your local filesystem.
  4. Click the Install Now button.
  5. When installation is complete, you’ll see “Plugin installed successfully.”
  6. Click the Activate Plugin button at the bottom of the page.

To learn more about installing plugins from a Zip file, see Installing and Managing Plugins.

Get Started

After installing the plugin, to begin using WooCommerce Payments, you need to:

  • Follow the prompts to connect to a account.
  • Verify your business details with our payments partner Stripe.

To complete the verification process:

  1. Go to Payments.
  2. Click Set up.
  3. Fill in all verification form fields.

Once you have completed the verification with Stripe, your site will be ready to accept credit and debit card payments onsite.

Want to sell with Apple Pay? Learn how to start accepting Apple Pay with WooCommerce Payments.

Manage transactions

Many different types of transactions can occur with your store via WooCommerce Payments, including:

  • Deposit: Transfer of all or part of your account balance to your bank account or debit card.
  • Charge: A payment charged against a credit or debit card for a purchase.
  • Refund: Return of all or part of a charge to the card a customer used to pay for a purchase.
  • Dispute: Chargeback or inquiry lodged by a customer with their card provider over a charge placed with your store.
  • Dispute Reversal: Return of the fees and payment amount withdrawn after a dispute was opened.

With WooCommerce Payments, you can view and manage each of these different types of transactions within your WordPress dashboard.


Deposits occur when a portion of your account balance is paid to your nominated bank account or debit card. Deposits are scheduled to transfer automatically to your deposit account. Eligible merchants can also request an instant deposit.

WooCommerce Payments provides a list view and detail view of these deposits.

To access deposits, go to Payments > Deposits.

On this page, you can:

  • View estimated deposits details.
  • View the list of previous deposits.
  • View the transactions associated with given deposit.


If your account balance ever becomes negative, then a Withdrawal transaction type will be displayed on this screen. Withdrawals represent a debit from your bank account to cover the negative balance.

Example Payments > Deposits administration screen


Many different types of transactions can occur with your site, including the authorization or capture of a charge, refunds and disputes. WooCommerce Payments provides a list view to access the information about all transactions on your site.

To access the transactions list view, go to Payments > Transactions.

On this page, you can:

  • View the list of previous transactions.
  • Sort the list by date, amount, fees and net revenue.
  • Filter the list by date and type.
  • View the details of a specific transaction.
Example Payments > Transactions administration screen


A dispute is a chargeback or inquiry from a card issuer about a charge. Disputes occur when your customer questions a transaction with their card issuer.

You can view and respond to a dispute, and potentially overturn it, from within WooCommerce Payments.

To view the disputes, go to Payments > Disputes.

On this page, you can:

  • View the list of disputes made on payments processed with WooCommerce Payments.
  • View the status and other details of a specific dispute.
  • Respond to a dispute while it has the status Needs response, by choosing to either:
    • Accept the Dispute, and charge associated with it; or
    • Challenge the Dispute, by submitting evidence required to overturn it.

Learn more about challenging disputes, and evidence required to overturn different types of disputes, in the dispute response guide.

Example Payments > Disputes administration screen

Refund a payment

If a customer contacts you to request a refund, and your refund policy permits it, you can refund the payment from within your WordPress administration dashboard.

To refund a payment:

  1. Go to WooCommerce > Order.
  2. Search for the customer by email or name.
  3. Click the order ID & customer name.
  4. Click Refund.
  5. Adjust the quantity of the product(s) to be refunded, or type in the amount to be refunded in the Total column next to it.
  6. Optionally, enter a Reason for refund.
  7. Click Refund via WooCommerce Payments.

The charge amount plus transaction fees will be deducted from your account balance and returned to the customer’s original payment method.


Manually capture an authorized charge

If the Transaction preferences setting is set to issue authorization on checkout, you will need to manually capture charges authorized on checkout.

To manually capture an authorized charge:

  1. Go to WooCommerce > Orders and find the order associated with the charge
  2. Click Choose an action
  3. Click Capture charge
  4. Click Update

Importantly, you need to capture funds manually within 7 days of the order being placed, otherwise the authorization will be canceled alongside the order.

Capture charge action on the WooCommerce > Edit Order screen


To change your store’s configuration:

  1. Go to: Payments > Settings
  2. Adjust settings
  3. Click Save changes

Each setting available on this screen is explained in more detail below.

WooCommerce Payments Settings administration screen


Enable WooCommerce Payments

Disable WooCommerce Payments to stop accepting credit cards on checkout using this payment gateway. You will continue to be able to access the Deposits, Transactions and Disputes administration screens after WooCommerce Payments is disabled.

Test mode

To test payments or disputes, you need to switch WooCommerce Payments into Test Mode. To view previously processed test transactions, you also need to enable Test Mode.

Test mode allows you to simulate transactions using test card numbers. It Ensure your checkout is working and view-as-customer without placing a real order. Test mode only works with test credit card numbers.

Disable test mode to accept payments via real credit cards.


Express checkouts

Enable express checkouts

Enable express checkouts if you would like your customers to checkout via Google Pay or Apple Pay.

Show express checkouts on

This section controls where express checkouts is available. For example, by checking “Checkout”, “Product page” and “Cart”, shoppers can use express checkout on the checkout page, the product page, and the cart page.

Customize appearance

WooCommerce Payments supports a few options for you to customize your express checkout button.


Transactions and deposits

Transaction preferences

By default, payments will be charged at the time of checkout. 

Enable Manual Capture if you would prefer to authorize payments on checkout and manually capture the charge later (e.g., on shipment).

Importantly, you need to capture funds manually within 7 days of the order being placed, otherwise the authorization will be canceled alongside the order.

Customer bank statement

Customer banks statements explain charges or payments on bank statements and include information that banks and card networks require to help customers understand their statements. Familiarize yourself with the requirements and recommendations for statement descriptors.

Use this field to set the name of the store to be displayed on the customer’s credit or debit card bank statement. By default the site URL specified during onboarding is used.

Bank account information

Your WooCommerce Payments account information is securely stored and managed with our partner, Stripe. Once you have completed account set up, WooCommerce Payments provides a link to access the Stripe dashboard through which you can view and update the following business information:

  • The operating name of your company or Doing business as name
  • Physical address
  • Phone number
  • Website
  • Industry your business operates in
  • Ownership information, including adding or removing owners, and beneficiaries

Advanced settings

Debug mode

If you are having issues processing payments or viewing dashboard screens, enable the debug log to record information about these events.

Debug logs can be found in the WooCommerce > Status > Logs section of your dashboard. To view the logs:

  1. Go to WooCommerce > Status
  2. Click on the Logs tab
  3. From the drop-down, choose the log starting with woocommerce-payments and ending with the date you wish to view
Example WooCommerce Payments log


WooCommerce Payments offers full compatibility for WooCommerce Subscriptions. The features supported include:

  • Subscription suspension
  • Subscription cancellation
  • Subscription reactivation
  • Multiple subscriptions
  • Recurring total changes
  • Payment date changes
  • Customer & Store Manager payment method changes

Refer to the Subscription Payment Methods & Gateways for more details about these features.

Transactions Linked to a Subscription

When looking at the Transactions page the subscription number will be listed next to any transactions that are linked to a subscription.

Go to Payments > Transactions:


Similarly, when opening a particular transaction, the subscription number will be listed next to the order number:


Payment Method Changes

In order for a store manager to change the payment method linked to a subscription, head to WooCommerce > Subscriptions. Open the specific subscription that needs to be edited, and click on the pencil icon next to Billing:


An edit form will open up, where you can select from the customer’s saved payment methods:


Once you have selected the new credit card, click on Update to save changes on the subscription.

Cash on Delivery

Cash on Delivery (COD) is a payment gateway that required no payment be made online. Orders using Cash on Delivery are set to Processing until payment is made upon delivery of the order by you or your shipping method.

You, as the store owner, need to confirm payment was collected before marking orders Complete in WooCommerce.

For more information, see Managing Orders.

Setup and Configuration


  1. Go to: WooCommerce > Settings > Payments.
  2. Use the toggle under Enabled to select Cash on Delivery.
  3. Select Set Up. You are taken to the Cash on Delivery settings.
  4. Configure your settings:
    • Enable COD – Enable to use. Disable to turn off.
    • Title – Choose the title shown to customers during checkout
    • Description –Add info shown to customers if they choose Cash on Delivery
    • Instructions – Explain how to pay via Cash on Delivery
    • Enable for shipping methods – Choose which shipping methods and rates will offer Cash on Delivery
    • Accept for virtual orders – Tick box to allow COD for virtual products
  5. Save changes

Coupon Management



Coupons are a great way to offer discounts and rewards to your customers, and can help promote sales across your shop.

To use coupons with WooCommerce.

  1. Go to:  WooCommerce > Settings > General > Enable coupons
  2. Tick the checkbox to Enable the use of coupon codes.
  3. Save Changes.

More info at: Configuring WooCommerce – General options.


Adding a coupon



Add coupon code and description

To add a coupon:

  1. Go to: Marketing > Coupons.
    • A fresh installation of WooCommerce will show you an initial screen to create a coupon or to learn more.
    • Existing stores start on the Coupons screen.
  2. Create a new coupon by selecting Add Coupon. Or hover over an existing one to Edit.
  3. Enter or generate a Coupon Code. The code is used by the customer to apply the coupon and associated discount. Must be unique as it’s used as an identifier.
    • Your code – Enter any alphanumeric code you wish. Coupons are not case sensitive
    • Any code – Select the Generate Coupon Code button if you want WooCommerce to auto-create and enter a coupon code via algorithm.
  4. Enter a Description (optional) — Info about the coupon for internal use. For example: Name of promotion/event, dates in effect, compensation, ticket number, customer name.

Under Coupon Data, there are three sections you can use to add restrictions and limits for the coupon: General, Usage Restriction, and Usage Limits.



  • Discount type :
    • Percentage discount – A percentage discount for selected products only. For example, if the cart contains three (3) t-shirts @ $20 each = $60, a coupon for 10% off applies a discount of $6.
    • Fixed cart discount – A fixed total discount for the entire cart. For example, if the cart contains three (3)  t-shirts @ $20 each = $60, a coupon for $10 off gives a discount of $10.
    • Fixed product discount – A fixed total discount for selected products only. Customer receives a set amount of discount per item. For example, three (3) t-shirts @ $20 each with a coupon for $10 off applies a discount of $30.
  • Coupon amount – Fixed value or percentage, depending on discount type you choose. Entered without a currency unit or a percent sign, which are added automatically, e.g., Enter ’10’ for £10 or 10%.
  • Allow free shipping – Removes shipping cost when coupon is used. Requires Free Shipping to be enabled.
  • Coupon expiry date – Date the coupon should expire and can no longer be used. Expiry happens at 12:00 am or 00:00 on the date chosen. If you want a coupon to be valid through Christmas Day but invalid the moment Christmas is over, set the expiration date to YYYY-12-26 as it will expire on YYYY-12-26 00:00. It uses your site’s time zone setting at Settings > General > Timezone in WordPress.


Usage Restriction

  • Minimum spend – Allows you to set the minimum subtotal needed to use the coupon.  Note: The sum of the cart subtotal + tax is used to determine the minimum amount.
  • Maximum spend – Allows you to set the maximum subtotal allowed when using the coupon.
  • Individual use only – Tick the box if you don’t want this coupon to be used in combination with other coupons.
  • Exclude sale items – Tick the box if you don’t want this coupon to apply to products on sale. Per-cart coupons do not work if a sale item is added afterward.
  • Products – Products that the coupon will be applied to, or that need to be in the cart in order for the fixed or percentage discount to be applied.
  • Exclude products – Products that the coupon will not be applied to, or that cannot be in the cart in order for the “Fixed cart discount” to be applied.
  • Product categories – Product categories that the coupon will be applied to, or that need to be in the cart in order for the fixed or percentage discount to be applied.
  • Exclude categories – Product categories that the coupon will not be applied to, or that cannot be in the cart in order for the “Fixed cart discount” to be applied.
  • Allowed Emails/Email restrictions – Email address or addresses that can use a coupon. Verified against customer’s billing email. WooCommerce 3.4+ also allows you to include a wildcard character (*) to match multiple email addresses, for example, `*` would make any gmail address.
Leaving “Products” and “Exclude Products” blank allows the coupon to be applied to the entire store.


Usage Limits

  • Usage limit per coupon – How many times a coupon can be used by all customers before being invalid.
  • Limit usage to X items – How many items the coupon can be applied to before being invalid. This field is only displayed if there is one or more products that the coupon can be used with, and is configured under the Usage Restrictions.
  • Usage limit per user – How many times a coupon can be used by each customer before being invalid for that customer.

Once you’ve configured all settings, select Publish and your coupon is ready to use.

If you do not want the coupon to be immediately available, you can schedule it to become available on a future date/time using the option in the Publish settings:



Sending a coupon

Once coupons are published, go ahead and make available to customers: Copy the title and send, advertise it via email, social media and onsite banners.


Applying a coupon

From WooCommerce 3.2+, coupons can be added to or removed from orders in the Edit Order screen. Orders must be unpaid and you need to know the coupon code you wish to apply.





How do coupons impact tax calculations?

Coupons are applied to the product price before tax is calculated. To make sure taxes are then calculated correctly due to rounding, we need to split the discount across all items in the cart rather than remove an amount from the total.

When you split a discount across the cart, naturally, half values could occur that in turn can cause rounding issues once everything is summed up.

To help prevent this, we only use cent values. Once split between items, any remainder is applied one line item at a time until exhausted. The final total will then total the applied discount total. This is most important for fixed cart discounts.


How do coupons impact shipping calculations?

Coupons are applied to individual products or the items in the cart. Shipping Rates are not cart items so coupon discount will not be applied to shipping. e.g. a A $50 coupon applied to a $40 product with a $10 Flat Rate shipping will only discount $40. The order will still cost $10.


Can I customize the Generate Coupon Code function?

Note: We are unable to provide support for customizations under our Support Policy. If you are unfamiliar with code/templates and resolving potential conflicts, select a WooExpert or Developer  for assistance.

Yes, if you are a developer, it’s possible to customize the JS-driven Generate Coupon Code functionality by specifying length of code, and add a prefix and/or  suffix. The Core team intentionally excluded characters that could be ambiguous or difficult to read.

Setting up Taxes in WooCommerce

Setting up taxes and tax rates is one of the first tasks you want to perform when setting up a store. Taxes can be a complex matter, but WooCommerce aims to make the setup as straightforward as possible.

The team at can help with setting up tax rates in the WooCommerce settings and how the platform handles taxes/VAT/GST based on these settings, but not when or what to charge.


We’re not tax professionals so our advice is how to use our software. For specific advice when it comes to what or when to charge tax/VAT/GST etc, we recommend consulting with a tax professional or an accountant on what may be your best options.

Each business is unique, and there’s no way we can cover every possibility.

Enabling Taxes

To access the tax settings screens, they first need to be enabled.

  1. Go toWooCommerce > Settings > General.
  2. Select the Enable Taxes and Tax Calculations checkbox.
  3. Save changes.

Configuring Tax Options

To start configuring taxes:

Go to: WooCommerce > Settings > Tax. This tab is only visible if taxes are enabled.

The Tax tab displays several options that can be set to suit your needs — settings you choose are based on the tax jurisdiction under which your store is located.


Prices Entered With Tax

This option is perhaps the most important when managing taxes in your store, as it determines how you input product prices later on.

  • “Yes, I will enter prices inclusive of tax” means that all catalog prices are input using your store’s base tax rate.

For example, in the UK you would input prices inclusive of the 20% tax rate e.g. You enter a product price of £9.99 that includes £1.67 tax. A customer in the UK would pay £9.99 as defined, and a customer in the US would only pay £8.32.

  • “No, I will enter prices exclusive of tax” would mean that your catalog prices need to be tax exclusive.

Using the example from above, a UK shop would enter 8.32 at the product price. A tax of 20% would be applied on top of this during checkout making the amount payable £9.99.

The tax calculation for tax-inclusive prices is:

tax_amount = price - ( price / ( ( tax_rate_% / 100 ) + 1 ) )

The tax calculation for tax-exclusive prices is:

tax_amount = price * ( tax_rate_% / 100 )

More information about:

Calculate Tax Based On

This setting determines which address is used for tax calculations.

  • Customer billing address
  • Customer shipping address (default)
  • Store base address

If you use store base address, taxes are always based on your store location and not your customer’s location.

Shipping Tax Class

In most setups, shipping tax class is inherited from the item being shipped, e.g., Shipping a reduced rate item such as baby clothes would also use a reduced rate. If this is not the case in your jurisdiction, choose a different tax class.

In the case of multiple tax rates in the order, the shipping tax will be applied as follows:

  • If you have a product with the Standard rate in the order, it will be used for the shipping regardless if this rate is high or low;
  • If you don’t have a product with the Standard rate in the order, then the first rate found in the Additional tax class section will be used for shipping.

The goal is to make sure that your highest rate is listed the first in the Additional tax class section if you don’t use the Standard class and if you need the highest tax rate to apply to shipping, for example.

Here is a setup to showcase it visually:

The Standard class is there by default but Tax A, Tax B, Tax C should be created for each tax class respectively. Note that it is not possible to delete the Standard tax rate but you can leave it empty and it will be ignored:


Standard rate is empty:


Tax A (24%) – the highest rate listed the first:


Tax B (14%):


Tax C (10%):


As a result, the highest tax rate gets applied to the shipping in the order with multiple tax rates assigned to products:



If you enable Rounding tax at subtotal level, instead of per line, the rounding is done at the Subtotal level. Check your tax jurisdiction to know if this is done.

Additional Tax Classes

Tax Classes are assigned to your products. In most cases, you want to use the default Standard class. If you sell goods that require a different tax class (i.e., Tax, except zero-rated products) you can add the classes here. To get started, we include Standard, Reduced Rate and Zero Rate tax classes.

Each class is listed at the top of the tax settings page – click a class to view tax rates assigned to the class.

Display Prices in the Shop

This option determines how prices are displayed in your shop/catalog. Choose from inclusive/exclusive tax display.

Display Prices During Cart and Checkout

This option determines how prices are displayed in your cart and checkout pages – it works independently of your catalog prices. Choose from inclusive/exclusive tax display.

Note: The address field needs to be filled in to get tax calculations if you have a tax table that distinguishes between locations.

Price Display Suffix

Allows you to change display to: “Prices include __% tax/VAT” or anything appropriate for your store. You can use these two placeholders if you want to have text before and after the price:

  • {price_including_tax}
  • {price_excluding_tax}

For example: “Price incl. VAT: {price_including_tax}” will display as: “Price incl. VAT: $15” (if that is the price, of course). So, if you’ve set the taxes to display excluding tax, you could add in small print what the tax inclusive of tax will look like:


Suffixes on Variable Products

This functionality is turned off at Variable product level because it’s not possible to “know” the prices including/excluding tax. Prices come from variations, which can have different tax classes. E.g. you have a variable product with 2 variations and both are priced at $10. However, one variation has a tax rate of 20% and one has a reduced rate of 10%. What is the price including tax?

The only way to show accurate prices would be to load the variation and get its price, which adds extra overhead and still has edge cases where the values would be inaccurate.

Variations (the price revealed when you’ve selected a variation) do support suffixes because variations have a tax class/rate.


Note: This is a Developer level doc provided as guidance. We are unable to dispense advice or review code under our Support Policy.


One can customise this method via filter hooks if needed for variable products, for example:

add_filter( 'woocommerce_show_variation_price', '__return_true' );

Display Tax Totals

This determines if multiple taxes get displayed as one total during checkout, or as an itemized list of taxes.

Setting up tax rates

Tax classes are displayed at the top of the tax screen. Click one to view tax rates for the class.

In the tax rates table, you can define tax rates (one per row). Click Insert Row to get started.

Each tax rate has these attributes:

  • Country Code – 2 digit country code for the rate. Use ISO 3166-1 alpha-2 codes. Leave blank (*) to apply to all countries.
  • State Code – 2 digit state code for the rate. See i18n/states/COUNTRYCODE.php for supported states. For the US, use a 2 digit abbreviation e.g. AL. Leave blank (*) to apply to all states.
  • ZIP/Postcode – Enter postcodes for the rate. You may separate multiple values with a semi-colon (;), use wildcards to match several postcodes (e.g. PE* would match all postcodes starting with PE), and use numeric ranges (e.g. 2000…3000). Leave blank (*) to apply to all postcodes.
  • City – Semi-colon separated list of cities for the rate. Leave blank (*) to apply to all cities.
  • Rate % – Enter the tax rate, for example, 20.000 for a tax rate of 20%.
  • Tax Name – Name your tax, e.g. VAT
  • Priority – Choose a priority for this tax rate. Only 1 matching rate per priority will be used. To define multiple tax rates for a single area you need to specify a different priority per rate.
  • Compound – If this rate is compound (applied on top of all prior taxes) check this box.
  • Shipping – If this rate also applies to shipping, check this box.

Tax rate examples

Here is an example of a tax setup for a UK store — 20% for UK customers only.


In this example, we have a 6% tax rate for all U.S. states except California, which has a 7% tax rate and a local tax rate of 2% for ZIP code 90210. Notice the priorities — this demonstrates how you can ‘layer’ rates on top of another.


Importing and exporting rates

There are Import CSV and Export CSV buttons below the table with the rates. You can use them to import and export tax rates to and from a CSV file.

The CSV file for importing requires 10 columns;

country code, state code, postcodes, cities, rate, tax name, priority, compound, shipping, tax class

Leave tax class blank for standard rates.

Below we’ve provided a sample tax rate CSV to import for the United States based on state tax only. This should not be used for production/live purposes, as tax rates frequently change. Double-check any rate for accuracy before using.

Download Sample Tax Rate CSV Here

Deleting tax rates

If you incorrectly added tax rates or the CSV import has incorrectly added tax lines, this information needs to be deleted.

To delete:

  1. Go to: WooCommerce > Settings > Tax > Your Tax Rates (Standard, Reduced Rate, Zero Rate)
  2. Select the incorrect lines by clicking on them. They are highlighted in yellow.
  3. Select Remove Selected Rows. This deletes the highlighted row(s).
  4. Save changes.

If you want to delete all tax rates at once, use Delete WooCommerce Tax Rates in WooCommerce > Status > Tools.


Viewing tax reports

Tax reporting can be found in WooCommerce > Reports > Taxes > Taxes by Date > Year. This report allows you view taxes for the year.


Going to Reports > Taxes > Taxes by code displays a different report, showing taxes separately.


Configuring specific tax setups

For details on how to configure different special, please see Configuring Specific Tax Setups in WooCommerce.

Frequently Asked Questions

Why do prices change when “Prices Include Tax”?

If you are entering prices including tax, you should be aware that this price might change based on the country in which your customer is located.

For example, your store is in the UK, so you create one tax rate for GB of 20%.

  • You create a product with a tax inclusive price of £120.
  • Customers in the UK will pay £120 (£100 + £20 VAT).
  • Customers outside the UK will pay £100 because you do not have any tax rates set up for any other country.


Your store is in the UK, so you create one tax rate for GB of 20%, a tax rate for France of 19% and Norway at 25%.

  • You create a product with a tax inclusive price of £120.
  • Customers in the UK will pay £120 (£100 + £20 VAT).
  • Customers in France will pay £119 (£100 + £19 Tax).
  • Customers in Norway will pay £125 (£100 + £25 Tax).
  • Customers outside the UK, France or Norway will only pay £100 because you do not have any tax rates set up for any other countries.

This is explained in more detail at: How Taxes Work in WooCommerce.

Can I charge one amount regardless of customer location when defining prices including tax?

This can be done but is an experimental (not officially supported) feature. Read: How Taxes Work in WooCommerce.

When some users visit my store, taxes are not shown.

Since taxes are based on customer location in most setups, things like geolocation can make taxes hidden until the user checks out and inputs their real address.

To prevent this, go to WooCommerce > Settings > General > Default Customer Location to disable Geolocate and set to the Shop Base Address.


Why tax options are greyed out?

Tax options are greyed out if you have enabled automated taxes with WooCommerce Shipping & Tax:


To edit your tax options back, choose Disable automated taxes, and click Save changes.

The My Account Page


This guide is an overview of the functionality available to customers who are logged in to your store via the My Account page. My Account is the central customer dashboard in a WooCommerce store. Customers can view past orders, edit addresses, and payment details.


Should a customer visit the My Account page prior to logging in, the login prompt is presented.


Once logged in, the customer is shown the default My Account Dashboard, with links to other sections off to the side.


The above image shows the default WooCommerce sections, but plugins and/or themes can also add sections here if required.


The Orders section allows customers to access their order history. The order number, date, status, total, and actions available for each order, are available at a glance.


A detailed view of each order can be accessed by clicking either the linked order number or the view button to the right of the order. Additional actions may be available depending on the order status.

Pay or Cancel

There are two additional butons, Pay and Cancel, next to orders with either a Failed or Pending payment status to allow customers to return to it at a later stage.


Clicking Cancel immediately cancels the order, and removes any further chance to either complete the order, or to quickly reorder it.

The Pay button loads a simplified checkout page that requires only the payment details, which allows for a speedy order completion.


Order Again

Orders marked as Completed can be reordered with the click of the Order button that appears on the Order details page. The page is accessible via the linked order number or the View button.

The Order again button recreates the order items in the cart and sends the customer to the cart page, from where they can edit it or Proceed to checkout.



The Downloads section lists the name of products, downloads remaining, expiry date, and a button that downloads attachments, that were bought as part of a Downloadable product.



Customers can update their Billing address and Shipping address in the Addresses section.

Edit icons reveal the respective sets of fields usually seen on the checkout page, including first and last names, address, company name, phone number, and email address for either billing or shipping.


The details in this section are for the purpose of billing and shipping only, and doesn’t impact the account details.

Payment Methods

Under Payment methods customers can find stored credit card details, provided a supported payment gateway is activated in the store.


Account Details

In the Account Details section a customer can update their personal info as it relates to their user account. Details include first and last name, and a display name, the latter of which is used for the accounts section and reviews.

The account’s password can also be reset in this section.



This link logs the customer out of their account and returns them to the Dashboard section, which in their newly logged out state will once again show the login prompt.

Managing Orders

Orders are created when a customer completes the checkout process, and they are visible to users with Admin and Shop Manager roles only. Each order is given a unique Order ID.

Order IDs are non-sequential as they use the default WordPress ID approach. For sequential order numbers, you can use Sequential Order Numbers Pro.

Order Statuses

An order also has a Status. Order statuses let you know how far along the order is, starting with “Pending payment” and ending with “Completed.” The following order statuses are used:

  • Pending payment — Order received, no payment initiated. Awaiting payment (unpaid).
  • Failed — Payment failed or was declined (unpaid) or requires authentication (SCA). Note that this status may not show immediately and instead show as Pending until verified (e.g., PayPal).
  • Processing — Payment received (paid) and stock has been reduced; order is awaiting fulfillment. All product orders require processing, except those that only contain products which are both Virtual and Downloadable.
  • Completed — Order fulfilled and complete – requires no further action.
  • On hold — Awaiting payment – stock is reduced, but you need to confirm payment.
  • Canceled — Canceled by an admin or the customer – stock is increased, no further action required.
  • Refunded — Refunded by an admin – no further action required.
  • Authentication required — Awaiting action by the customer to authenticate the transaction and/or complete SCA requirements.

Visual Diagram to Illustrate Order Statuses

This visual representation follows an order through its statuses from “Pending payment” to “Completed”, “Canceled” or “Refunded.”


Order Statuses and Payment Gateways

More about how order statuses relate to payment gateways in the Troubleshooting section.

Order Statuses and Emails

More about the different emails that are automatically sent at Email Settings.

If you are using PayPal and orders are staying in Pending, you may have an IPN issue. See the troubleshooting section at Debugging IPN Issues

Viewing and Managing Multiple Orders

Orders Overview

When a shop starts taking orders, the Orders management page begins to fill up. Go to: WooCommerce > Orders.

Each row displays several details. Some are there by default, others can be added. These are the available options:

  • Order number and customer name,
  • Date of purchase,
  • Order status,
  • Billing address,
  • Shipping address,
  • Purchase total, and
  • Actions.

To change these columns:

  • Go to: WooCommerce > Orders.
  • Select Screen Options in the top right corner.
  • Select which Columns to show.
  • Select how many Items you want to be displayed on each page.
  • Then Apply.

Filter and Arrange Orders

Filter orders by Date (month/year) or by registered customer.

  • Select the month, or search for a customer.
  • Select Filter.

Arrange orders in ascending or descending order by Order number, Date or Total by select the heading.

Note that the “Total” column does not take the refunded amount into consideration.


Click the order number and customer name to see the Single Order page, where you can also Edit order details, Update Status, and Add Notes. More details on that in Viewing and Editing Single Orders.

Searching and Finding Orders

Orders can be found using the search box at the top right of the order list. Enter an order number, customer name, or other information shown in the order list such as address. Click Search orders or tap return on your keyboard and search results will show a list of matching orders.

Previewing Orders

Order rows have a Preview “eye.”


Clicking Preview opens a Modal, containing the order number, order status, billing details, payment method, shipping details, shipping method, items ordered, and the option to change the order status.


Order Statuses in the Overview

Order Statuses are color-coded and descriptive.

  • Canceled – Grey
  • Completed – Blue
  • Failed – Red
  • On Hold – Orange
  • Pending Payment – Grey
  • Processing – Green
  • Refunded – Grey

Order Actions

Hovering over an order Status displays Notes made on the order.


At the end of a row are shortcut buttons to quickly mark orders as Processing or Complete.


Viewing and Editing a Single Order

From the Single Order page not only can you view all order data, but also edit and update.

  • Change the order status.
  • Edit order items – modify the product, prices, and taxes.
  • Stock – Reduce and restore stock for an order
  • Order Actions – Email order details to customer (handy if manually creating an order for your customers) or Regenerate download permissions
  • Modify product Meta to edit product variations by removing and adding meta
  • Apply coupons. You will need to know the coupon code to apply to the order. Coupon usage counts are tracked, and coupons can also be removed from orders. Note: the order must be unpaid for coupons to have an affect
  • Add fee. You can enter an amount or percentage to add a fee to an order. Negative fees will apportion taxes between all other items, and will not make the cart total go below zero

Order Details

Viewing Order Details

The Order Details panel you can view:

  • Order number
  • Payment details
  • Order date and time
  • Order status
  • Customer details:
    • Username and email, together with a link to view their profile and other purchases the customer may have had in the past
    • Billing details
    • Shipping details

Editing Order Details

Most of the details in this section can be updated and/or changes.

  • To change the date and time, use the dropdown date selector and the quantity selectors for the time.
  • To change the status, choose the right status in the dropdown.
  • To change the customer, select the current customer and search for the new customer.

Under “Billing” and “Shipping”, several other details can be changed. In order to do so, select the pencil icon next to each of them.

  • Under “Billing”, the following things can be changed:
    • Billing address — this can also be loaded from the customer’s profile by selecting “Load billing address”
    • Email
    • Phone number
    • Payment method and details
  • Under “Shipping”, the following things can be changed:
    • Shipping address — this can also be loaded from the customer’s profile or copied from the billing address
    • Customer provided note

Once you’ve made the necessary changes, select Update to update the order.

Order Items and Totals

Viewing Order Items

The next panel on the order page is the Order Items panel. This contains the product items, the shipping details, and the order summary.

  • Each product item row lists:
    • Product image
    • Product name
    • Single product Cost
    • Quantity
    • Total (Cost x Quantity, with discounts taken into consideration)
    • Taxes
  • Below that, the shipping details are displayed. This will include:
    • Shipping method
    • Boxed items
    • Total cost
    • Taxes
  • The last section contains an overview of the order costs. This section will change if an order is refunded. By default, it will include:
    • Items subtotal — cost excluding tax
    • Coupon(s) — amount deducted based on the use of coupons; the coupons used are displayed left in this section
    • Shipping — the shipping cost for the order
    • Taxes — the amount of taxes for the whole order; this will be replaced by the tax code applied to the order
    • Order total — the total of the above costs
    • Finally, below the line, an overview of what is paid and the fees taken by payment gateways

Editing or Adding Order Items

Apart from refunding, order items can not be edited, unless the order status is “Pending payment”, or “On hold.”

Product items. Select the pencil icon next to a product line to edit.


The following product items can be edited:

  • Add Meta — Add and remove meta to change product variable options.
  • Quantity — Number of items the customer is purchasing.
  • Total — Line price and line tax before pre-tax discounts.
  • Tax — Tax cost. For example, if a customer is tax-exempt you may want to remove the taxes.

Other actions. Next, you can do four actions at the bottom of this window:

  • Add item(s) — this will show you six new options:
    • Add product(s) — Add additional products to the order.
    • Add fee — Add an additional fee, such as gift wrapping.
    • Add shipping — Add a shipping cost. When you’ve done this, select the pencil icon to update the name, the method, the cost, and the tax.
    • Add tax — Add an additional tax code to every section in the order.
    • Cancel — Cancel if you do not want to make any changes.
    • Save — Save once the changes are made.
  • Once you’ve done this, you can select Recalculate if you want to automatically perform new calculations based on store settings. This can be handy if you are adding or removing products, coupons, shipping methods, etc. Note that any tax changes that you’ve manually included will be removed as the tax settings in your store will apply based on the customer address.
  • Apply coupon — If your customer forgot to add the coupon could or you want to reward the customer before they pay, selecting this option will show a modal that allows you to apply a coupon code.
  • Refund — to refund the customer. For more information about Manual and Automatic Refunds, see WooCommerce Refunds.

Custom Fields

To add custom meta fields, use the Custom Fields metabox:


Order Notes

The Order Notes panel displays notes attached to the order and can be used for storing event details, such as payment results or reducing stock levels, or adding notes to the order for customers to view. Some payment gateways also add notes for debugging.

The following note types are possible:

  • Purple: System status notices, such as payment gateway details.
  • Grey: General status updates, such as status changes or private notes. Customers do not see these notes but may receive notification of them, e.g., when the status changes from processing to completed, an email may be sent (depending on your settings).
  • Blue: Notes to the customer. Customers receive notes via email but can view them by viewing an order in their My account section.

Notes can be a powerful tool for communicating with customers or other store managers. Need to add a tracking number for shipping? Is stock delayed? Add a customer note, and they are automatically notified.


To add a note,

  • Use the textarea to add the content of the note.
  • Select Private note or Note to customer in the dropdown.
  • Select Add.

Manually Adding an Order

To add an order:

  1. Go to: WooCommerce > Orders.
  2. Use Add New at the top of the page. The Single Order page appears.
  3. Input customer details, add line items, apply coupons, apply fees and calculate totals. These are the same as the Editing or Adding Order Items.
  4. Set a status for the new order, e.g., If it needs to be paid, use “Pending payment.”
  5. Save.

Use the Order Actions dropdown to Email order details to the customer with payment instructions.


Paying for an Order

Orders that are “Pending payment” can be paid for through the payment link.

As the shop manager, you can find this link on the order overview:

  • If the customer is a Guest, anyone with the right link will be able to view the payment page and pay for the order.
  • If the customer is registered on your site,
    • Only this customer will be able to see the payment link once they are logged in.
    • The customer can also find the order in: My Account > Orders.

If the customer is assigned to the order, they will be asked to log in before paying:

  • If you are the store owner and wish to pay on behalf of the customer, consider using User Switching (not endorsed by to log in to the customer’s account and complete the payment as them.

Removing Personal Data

Starting with WooCommerce 3.4+, it is possible to remove customer data.

  • Go to: WooCommerce > Settings > Accounts & Privacy.
  • Enable Allow personal data to be removed in bulk from orders.
  • Save changes.

This option is now available for orders:

  • Go to: WooCommerce > Orders.
  • Select the orders that need personal data removed.
  • Select Bulk Actions > Remove personal data.
  • Select Apply.

Please note, that once you press Apply this will remove personal data with no further warning. Orders will appear on the Orders screen like this:


On an individual order, data is updated like this:

  • Failedpending, and canceled orders which get cleaned up will be moved to the trash.
  • Completed orders which get cleaned up will be anonymized so sales stats are unaffected (as above).
  • Inactive accounts will be deleted. An inactive account is one which has not been logged in to, or which has not placed orders, for the specified time.

Personal data removal can be automatically associated with account erasure requests. WordPress allows deleting user details upon request via Tools > Erase Personal Data. This removal can now also be associated with the orders of this user.

  • Go to: WooCommerce > Settings > Accounts & Privacy.
  • Under Account erasure requests:
    • Enable Remove personal data from orders on request, if you also want to remove order data when this is done
    • Enable Remove access to downloads on request, if the customer should no longer access the download links once their personal details have been removed.

Personal data retention can also be automated.

  • Go to: WooCommerce > Settings > Accounts & Privacy
  • Under Personal data retention, set thresholds for inactive accounts and for orders with different statuses.
  • Save changes.

If enabled, this cleanup will run via a daily cron job. Inactive accounts are tracked using metadata, and only subscribers/customer accounts are removed.

Multi-Site Orders

Starting with WooCommerce 3.4+ there is now a widget that appears under Dashboard that shows order information from across all sites. You can click on an order to be taken to the details of the order on that site.



Understanding Order Statuses in Relation to Payment Gateways

StatusDescriptionPayment gateway comments
On HoldAwaiting payment – stock is reduced, but you need to confirm paymentUsually seen with payment methods when you need to manually confirm, such as BACS (bank transfer) or cheque.


You’ll also see this when the gateway is set to authorize instead of capture a charge: the shop owner will need to manually switch the status to processing.

PendingOrder received (unpaid).Most gateways will report back and set the order status to Processing (payment successful) or Failed (payment unsuccessful).  If the shop never receives either signal, it keeps the status on Pending.

This tends to be a misconfiguration of payment notification URLs or a plugin conflict.
ProcessingPayment received and stock has been reduced- the order is awaiting fulfillment. All product orders require processing, except those with only products that are both digital and downloadable.If the payment has been successful and the order does not contain Digital or Downloadable products, the order will be set to Processing.

This is the shop owner or warehouse’s cue to ship the order and manually mark it as completed.
CompletedOrder fulfilled and complete – requires no further actionThese generally aren’t interesting because everything has gone correctly.
FailedPayment failed or was declined (unpaid).The order can be manually canceled, but this status can come up if the payment window has expired. It can happen for a few reasons:
  • order was abandoned  before payment was completeThe hold stock window expired without a response
  • Same reasons as Pending
Authentication requiredCustomer must complete requirements for SCA.It can occur when:
  • a new customer makes a purchase
  • an existing subscription renews

WooCommerce Refunds


In WooCommerce itself you can process refunds in two ways:

  • Automatic: Refunds change the WooCommerce order status and also reverse the charge so your customer gets their money (jump to section).
  • Manual: Refunds change the WooCommerce order status, but you need to return the money manually to your customer (jump to section).

Automatic Refunds

These are called Automatic refunds as when you process refunds that are connected to your payment gateway. Once you’ve processed this type of refund in your WooCommerce Admin, no further actions are necessary.

  1. Check: Review the documentation or support of your payment gateway on whether automatic refunds are available. Most automatic payments fully support this.
  2. Scope: Refunds normally extend to products, taxes, and shipping fees. However, transaction fees charged by the payment gateway will likely be lost and not refunded.
  3. Setup: Make sure that your API settings are set and test your payment gateway and refunds while in sandbox or test mode:
  4. WooCommerce: Refunds can be processed through the Orders:
    1. Go to: WooCommerce > Orders.
    2. Select the order to refund.
    3. Go to the order summary, and select “Refund” to start.
    4. Specify the quantity of the product(s) to be refunded in the text box(es) that appear for each line item. The refund amount will automatically adjust based on the products refunded. If inventory levels are not managed, you can also enter the Refund amount, without adjusting the product quantity.
    5. If the quantities of items are not set when issuing a refund then the order is not marked as refunded and the email that is sent will say “partial refund.”
    6. Add refund notes, if desired.
    7. Select “Refund $XX.XX via [your gateway]”.

How Do I Know It Worked?

Order Notes in the right sidebar will log refunds. Keep an eye on the order notes to learn if it’s been logged or if there’s an error message. A successful “Refunded” message in order notes concludes the refund.


Manual Refunds

Note: This does not refund the customer via the payment gateway. Continue on to your payment gateway’s dashboard to start the refund process there, or transfer the money manually back to them.
  1. Check: Consult the documentation or support of your payment gateway on whether manual refunds are available. You will either need to:
    • Log in to your payment method account and process the refund there.
    • Transfer the money from your bank account manually.
  2. Scope: Refunds normally extend to products, taxes, and shipping fees. However, transaction fees charged by the payment gateway will likely be lost and not refunded.
  3. WooCommerce: Refunds can be processed through your Orders page. To manually refund an order:
    1. Go to: WooCommerce > Orders.
    2. Select the order to refund.
    3. Go to the order summary, and select “Refund” to start.
    4. Specify the quantity of the product(s) to be refunded in the text box(es) that appear for each line item. The refund amount will automatically adjust based on the products refunded. If inventory levels are not managed, you can also enter the Refund amount, without adjusting the product quantity.
    5. If the quantities of items are not set when issuing a refund then the order is not marked as refunded and the email that is sent will say “partial refund.”
    6. Add refund notes, if desired.
    7. Select “Refund $XX.XX manually”.

Items selected for a refund will be noted as refunded. Once the refund has been applied to the order, it will look like this:


Restocking Products Based on Refunds

When processing a refund, you have the option to restock products by ticking the “Restock refunded items” box:



How do I find out if my payment gateway is refund-compatible?

  • Check the documentation of the payment gateway.
  • Buy the plugin and give it a try. We have a 30-day Money Back Guarantee and can refund you with no hassle.
  • Check with the payment gateway provider.
  • Ask us.

How do I inform my customers about the refund policy?

The best starting point is to create a page describing your policy and how a customer can request a refund (you can use our policy for inspiration).

The next step is to share it with customers. There are different options you might want to consider:

  • Option 1: adding the policy link into a menu in your store
  • Option 2: adding the policy link into orders confirmation emails (the emails can be customized)

I am a developer. How do I find out if my payment gateway is refund-compatible?

Go to How to check if your payment gateway supports refunds and look up class constructor class properties.

WooCommerce Reports

With the release of WooCommerce 4.0 in March 2019, these reports are deprecated and won’t receive further updates.


There is a new and better Analytics section available for users running WordPress 5.3+. Learn more about the new reports and admin experience in the WooCommerce Analytics documentation.

Reports in WooCommerce give you the ability to see your store’s performance from month to month using graphs and stats. It has four sections: Orders, Customers, Stock, and Taxes.

To view them, go to: WooCommerce > Reports.


Orders allow you to view gross and net sales volume and totals, as well as top sellers, top freebies, top earners, and product downloads. Sub-sections are shown below.

Note: By default, orders marked Processing, On Hold and Completed are counted as sales.

Sales by date

The Orders tab starts with Sales by date. This gives you an idea of the current performance via a sales graph and a few way ways to drill down into data. By year, last month, this month, last 7 days, and a custom date range.

The sales graph itself shows the number of gross sales plotted on a light blue line, the net sales plotted in dark blue, the shipping amount plotted in green, refunds plotted in red, and coupon values redeemed in orange. Hovering over a point will give you the exact figure.


Sales by product

The sales per product section shows sales per day in a given range, similarly to the overview section:


You can select any product from your store to view sales data, and again drill down into by year, last month, this month, last 7 days, and custom.


Sales by category

You can also view sales numbers by category.

  • In the Categories widget, select the categories you want to review. (Or select “All”)
  • Then, select “Show”

You will now see the categories you’ve selected and their sales report.


Coupons by date

Similar to the previous sections, coupons by date shows discounts in total and number of coupons used, plus provides the ability to filter by coupon, view the most popular coupons, and coupons giving the most discounts.


Customer downloads

Downloads have unique IDs, enabling them to be tracked and logged, and making it possible to view when it was downloaded, which products and the file name, on what order (clickable link), and where the customer is located via IP address.


It’s also possible to filter downloads by hovering over Product, Order or IP address.



The Customers tab allows you to view reports for Customers vs. Guests and Customer List with options to further sort by year, last month, this month, last 7 days, and custom.

  • In Customers vs. Guests, customers are paying users who register on your website.
  • Customer List only shows registered users.


Stock lists your low in stock, out of stock items, and most stocked products.



The reports for Taxes allows you to view Taxes by code (state) and Taxes by date. by year, last month, this month and custom dates you enter.


Export CSV

All reports besides the stock one have the option to export to CSV.

  • Select Export CSV
  • Save or view the file

The Export CSV feature is hidden from browsers without support for the Download property.

Frequently Asked Questions

How do I reset the report?

Everything is reset if you delete prior sales orders and then go to the order Trash and permanently delete them. Because all sales graphs and sales logs are dynamically generated, you then need to clear your browser cache.

Is there a ___ column for this report?

The only columns and categories available are those shown. If you require a different or additional one, then it would be customization requiring custom code or a plugin to add that feature/functionality.