Setting Up WooCommerce Advanced Cash on Delivery with Fee 

Creating Rules to Set COD Restrictions

Enabling/Disabling Advanced Cash on Delivery

Go to WooCommerce > Advanced COD > General

The General Settings section allows you to enable or disable the Advanced Cash on Delivery module.

Enable/Disable: Use this option to enable or disable the Advanced Cash on Delivery Module

Applying Restrictions Based on Customer and Role

You can further customize the plugin’s behavior by applying restrictions based on customer types and roles.

Go to WooCommerce > Advanced COD > Restriction > Customer Based.

Enable/Disable: Toggle this option to either enable or disable Cash on Delivery for specific customers and user roles

If you disable it, the Cash on Delivery option will not be displayed to the selected customers and user roles

If you enable it, the Cash on Delivery option will be available to the chosen customers and user roles

Select Customers: Search and select the customers to whom you want to apply the restriction.

Select Customer Roles: Choose the user roles for which you want to apply the restriction. You can select from the following roles:

  • Administrator
  • Editor
  • Author
  • Contributor
  • Subscriber
  • Customer
  • Shop manager
  • Wholesale
  • B2B
  • Retailer

Enable/Disable for Guest: Decide whether to enable or disable Cash on Delivery for guest users

Applying Cart-Based Restrictions

Apply restrictions based on the contents of the shopping cart. This allows you to control when the Cash on Delivery (COD) option is available depending on the cart’s contents.

WooCommerce > Advanced COD > Restriction > Cart Based.

Range of Cart Amount

Enable/Disable: Toggle this option to enable or disable Cash on Delivery for specific cart amount ranges

  • If you disable it, the COD option will not be displayed when the cart total falls within the specified range
  • If you enable it, the COD option will be available for the selected cart amount range

Specify Cart Amount Range:

  • Lower Limit: Define the lower limit of the cart’s total amount range
  • Upper Limit: Define the upper limit of the cart’s total amount range

Cart Total Amount to Evaluate: Choose which total should be considered for the cart total amount:

  • Cart Subtotal (Sum of Product Prices): The cart total is based on the sum of product prices in the cart
  • Cart Total (Sum of Product Prices + Tax + Shipping Cost + Any Extra Cost): The cart total includes product prices, tax, shipping costs, and any additional fees

Cart Products

Enable/Disable: Toggle this option to enable or disable Cash on Delivery for the following products and product categories

If you disable it, the COD option will not be displayed when the specified products or product categories are in the cart.

If you enable it, the COD option will be available when the specified products or product categories are in the cart.

Cart Products: Choose from the following options:

  • All Products: The cart should contain all the specified products for the COD option to be enabled or disabled. No other product should be in the cart
  • At Least One Product: At least one of the specified products should be in the cart to enable or disable the COD

Select Products: Specify the products you want to include for these restrictions

Select Categories: Choose product categories to apply these restrictions

Shipping Classes

Enable/Disable: Toggle this option to enable or disable Cash on Delivery for specific shipping classes.

If you disable it, the COD option will not be displayed if the cart matches any of the specified shipping classes

If you enable it, the COD option will be available if the cart matches any of the specified shipping classes

  • All Products in Cart: The COD option will be available if all products in the cart belong to the specified shipping classes. No other product in the cart should belong to a different shipping class
  • Any Product in Cart: The COD option will be available if at least one product in the cart belongs to any of the specified shipping classes

Select Shipping Classes: Specify the shipping classes you want to include for these restrictions

Applying Location-Based Restriction

Configure these restrictions to enable or disable COD for specific geographic areas.

Go to WooCommerce > Advanced COD > Restriction > Location Based.

Shipping Zone

Enable/Disable: Toggle this option to enable or disable Cash on Delivery for specific shipping zones

  • If you disable it, the COD option will not be displayed if the cart falls within the specified shipping zone
  • If you enable it, the COD option will be available if the cart is within the selected shipping zone

Countries

Enable/Disable: Toggle this option to enable or disable Cash on Delivery for specific countries

  • If you disable it, the COD option will not be displayed for customers from the specified countries
  • If you enable it, the COD option will be available for customers from the selected countries

States

Enable/Disable: Toggle this option to enable or disable Cash on Delivery for specific states or provinces

  • If you disable it, the COD option will not be displayed for customers from the specified states
  • If you enable it, the COD option will be available for customers from the selected states

Cities

Enable/Disable: Toggle this option to enable or disable Cash on Delivery for specific cities

  • If you disable it, the COD option will not be displayed for customers from the specified cities
  • If you enable it, the COD option will be available for customers from the selected cities

Zip Codes

Enable/Disable: Toggle this option to enable or disable Cash on Delivery for specific zip codes

  • If you disable it, the COD option will not be displayed for customers from the specified zip codes
  • If you enable it, the COD option will be available for customers from the selected zip codes

Displaying Error Messages for COD Restrictions

Display customized error messages when Cash on Delivery (COD) restrictions are not met.

Go to WooCommerce > Advanced COD > Messages.

Enable COD Unavailable Message: Toggle this option to enable or disable the display of messages when COD is unavailable due to restrictions

  • If you enable it, customers will see a message when COD is not available based on the configured restrictions
  • If you disable it, no message will be displayed

COD Unavailable Message: Message for All Types of Restrictions: 

This is the default message displayed when COD is unavailable due to any type of restriction. You can customize it to provide a general message to customers.

Message for Restricted by User/Role: Set a custom message to display when COD is unavailable due to user or role-based restrictions

Message for Restricted by Cart Amount: Customize the message shown when COD is unavailable because of cart amount-based restrictions

Message for Restricted by Products and Product Categories: Define a message to display when COD is unavailable due to restrictions based on specific products or categories in the cart

Message for Restricted by Shipping Class: Specify a message to show when COD is not available because of shipping class-based restrictions

Message for Restricted by Shipping Zone: Set a custom message to display when COD is unavailable due to shipping zone-based restrictions

Message for Restricted by Country: Customize the message shown when COD is unavailable because of country-based restrictions

Message for Restricted by State: Define a message to display when COD is unavailable due to state-based restrictions

Message for Restricted by City: Specify a message to show when COD is not available because of city-based restrictions

Message for Restricted by Zip Code: Set a custom message to display when COD is unavailable due to zip code-based restrictions

Extra Fees for Cash on Delivery

Go to WooCommerce > Advanced COD > Extra Fee > General Fees.

Enable Extra Fee: Toggle this option to enable or disable extra fees for Cash on Delivery

  • If you enable it, extra fees will be applied to COD orders based on the rules you define
  • If you disable it, no extra fees will be added

Enable Fee Menu: Toggle this option to enable or disable an extra fee menu in the WordPress navigation bar

  • If you enable it, you can access the extra fee settings from the navigation bar
  • If you disable it, the menu will not be visible

Adding Rule-Based Fees for COD

Define the specific rules for applying extra fees.

Go to WooCommerce > Advanced COD > Extra Fee > Rule Based Fees.

Here you can:

  • View a complete list of all fees for cash on delivery
  • Choose to edit an existing fee or add new fees
  • View the following properties of the fee:
    • Amount of Fee
    • Fee Type
    • Taxable 

Click on “Add New Fee” to create a new fee:

Add Title: Enter a title for the new fee, such as “Advance Cash on Delivery Fee”

Advance Cash on Delivery Fee:

Fee Amount: Specify the amount of the fee in numbers

Fee Type: Choose the type of fee, whether it’s a fixed amount or a percentage of the cart subtotal

  • Fixed
  • Percentage

Enable Tax on Fee: Use this option to enable tax on the extra fee

Users and Roles for Fee:

Enable Fee for Customers: Search and select specific customers for whom you want to apply the fee

Enable Fee for User Roles: Select user roles for which the fee will be applied. You can choose from various user roles, such as:

  • Administrator
  • Editor
  • Author
  • Contributor
  • Subscriber
  • Customer
  • Shop manager
  • Wholesale
  • B2B
  • Retailer
  • Guest

Cart Amount and Products for Fee:

Fee on Cart Amount Range: Set a range of cart amounts to add the extra fee. The extra fee will be calculated and added to the cart based on the cart subtotal

  • Cart Amount Lower Limit: Define the lower limit of the cart subtotal range
  • Cart Amount Upper Limit: Specify the upper limit of the cart subtotal range

Enable Fee for Products & Categories: Enable the fee when the cart contains specific products or falls under certain categories

  • Choose Products: Select specific products that should trigger the fee
  • Choose Categories: Choose product categories that should trigger the fee

Enable Fee for Shipping Classes: Select specific shipping classes for which the fee will apply. You can choose to enable the fee for specific shipping classes or leave it empty to apply it to all classes

Countries, States, Zip-Codes, Cities for Fee:

Enable Fee for Shipping Zones: Enable the fee for specific shipping zones or leave it empty for all zones

Select Countries: Choose countries for which the fee will be applicable. Leave it empty for all countries

Select States: Select states for which the fee will be applicable. Leave it empty for all states

Select Cities: Specify cities for which the fee will be applicable. You can insert all cities separated by commas (,)

Select Zip Codes: Choose zip codes for which the fee will be applicable. You can insert all zip codes separated by commas (,). For a range of zip codes, use a hyphen (-). For example, “45000-46000”