WooCommerce Checkout Fields & Fees


The WooCommerce Checkout Fields & Fees will allow you to easily apply fees (or discount in case the fee value is negative) and to display additional fields in the checkout Billing and Shipping forms! Both fees and additional fields can be applied/displayed according logic rules…and all done using a nice visual editor!

Note: The plugin, like WordPress, requires a minimum 5.5 PHP version.


(Shop admin account)
user: demo
pass: demo

(customer account)
user: demo2
pass: demo



How to automatically update the plugin

To receive automatic updates just install and configure the Envato updater plugin: https://goo.gl/pkJS33 .The official guide that explains how to configure it can be found in the following link: https://envato.com/market-plugin .

How it works

The plugin allows the shop admin to create fees (or discount if the fee value is negative) and additional checkout billing and shipping fields to which optionally he can associate some conditional rules. According to these conditional rules the plugin will decide if the additional fields have to be showed in Checkout forms and if the fees have to be applied to the Checkout cart.

Each field/fee can have multiple conditional rules related between them with
and/or conditions. A conditional rule can consider several product/category/cart/user aspects data like the amount spent, height, weight, taxes, user roles…More info at Conditional logic paragraph!

Field types

The plugin will allow the shop admin to create the following field types:

  1. Text
  2. Text area
  3. File
  4. Number
  5. Telephone
  6. Email
  7. Password
  8. Select/Multiselect
  9. Date
  10. Time
  11. Country
  12. State
  13. Heading

For each field you can configure its own options like CSS classes to assign to the input field, placeholder text, show on emails, show on order details page, row size, etc.

Field Conditional logic

For each field can be bounded several and/or conditional logic rules that will make the field visible only if satisfied. A condition can be have the following typologies:

  1. Product
  2. Category
  3. Cart
  4. User

Fee conditional logic

Fee can be dynamically applied according the following customer and cart data:

  1. User role
  2. Billing / Shipping country and state
  3. Billing / Shipping city
  4. Billing / Shipping zipcode
  5. Payment method
  6. Shipping method
  7. User role
  8. Products / Categories on cart
  9. Total, subtotal, taxes, volume, weight, etc.

Note: the plugin supports only shipping methods created via the native WooCommerce settings menu. No support for 3rd party plugins.

Text, Text area, Number, Telephone, Email and Password

Not much to explain… the plugin allows you to easily add the “classic” html type like text, number or Email fields! :)

Sort checkout fields

Using the Sort & Hide menu it is possible to sort all the Checkout fields and temporarly hide the conditional fields

File Upload

Upload any file size on the checkout page! Once a file has been selected, the plugin will display a nice visual bar showing the current file upload progress! Once finished the customer will be able to place the order. The file will be lately accessible via the Admin order details page and optionally via Email and the frontend order details page. Optionally it can be deleted by the admin and reuploaded!

Furthermore, if the order will be deleted, all the associated file will be deleted too! this will avoid unuseful waste of space!


Would you like to separate fields by using some headings? You can! Use the special Heading field to render headings among fields!

Select/Multiselect fields

The plugin allows to simply create select and multiselect fields. To do that just create a select/multiselect field specifing values and label using the following format:

value1 : value 1
value2 : value 2

In which each line has a value and label separated by the : character.

Note for WPML users: you can use different labels for each language but you must use same values.
For example: ” value_1 : Green” for English and “value_1 : Verde” for Italian.

State & Country fields

The plugin allows you to create Country, State or Country & State fields. The first one will allow the customer to just select a Country, the second just to select
a State of a given country, the last one is a complete Country and State selector that will populate the State selector according to the current country selected.

Note: For what concerns the State selector, it will be possible to select only the states/provinces for the allowed sell countries configured in the WooCommerce -> Settings -> General menu.

Date and Time fields

You can easily date and time fields that will allow your customer to select the desired values using a nice visual selector! Furthermore, the plugin allows you
to restrict the date and time range selecting min and max date/time values that can be absolute date and time or can be relative to “now”!

Fee and Discount

Conditional fee feature can also be used to apply a discount. In fact, if the fee value is a negative value, the plugin will actually apply a discount!

Free shipping!

Fee/Discount feature has an option to set free shipping costs in case any fee rule is applied!

WPML compability

If WPML is detected, the plugin will automatically show multilanguage input fields for labels, placeholders, etc. In this way, you can enter different texts for each language.

Product/Category conditions

Allows you to make the field visible according the followin options:

  1. Cart/Stock quantity
  2. Stock status
  3. Amount spent
  4. Amount spent excluding taxes
  5. Lenght
  6. Height
  7. Width
  8. Weight
  9. Volume

In case of multiple product selections, selected values can be considered for each item or as sum of items values. You can also optionally configure the rule
in order to be satisfied if all the selected product are in cart or to apply just only to the product that actually are in cart.

Cart conditions

Allows you to make the field visible according the followin options:

  1. Sub total, Total, Shippings or Discount (with or without taxes applied)
  2. Subtotal, Total, Shipping or Discount taxes
  3. Sum of item quantities, weights or volumes
  4. Number of distinct item on cart
User conditions

The field will be visible if the current user has or hasn’t one of the selected roles

Frontend integration

Additional fields will be seamlessly integrated into the Billing/Shipping form if the conditional rules will be satisfied.
Optionally fields will be also displayed into the user order details page and notification emails.

Backend integration

Additional fields and fees will be seamlessly displayed into the order details page

Custom CSS and JS code

You can easily define “on the fly” custom JavaScript codes for Checkout page using the Custom JS & CSS menu.

Automatic CSS and JS file loading

Want to automatically load your CSS and JS files on Checkout pages? You can! just put them in the following directories (create them if not existing):

  1. wp-content/wcccf_custom_code/js
  2. wp-content/wcccf_custom_code/css

and the plugin will automatically load those files!

WooCommerce Booking – Field per person

The plugin allows also to display one conditional field per each person the user selected for a bookable product. To enable this feature just
create a billing or shipping field, then create a conditional logic rule selecting as option Product or Category. Select any bookable product (or a category that has any) and then just enable the Display the field for each person option.

For example, you can create the following fields for a bookable product

  1. First name
  2. Last name

That will be showed on checkout page for each person the user selected.

NOTE: Field per person is unavailable for Country and State fields.

Note on variable products

In case a field has been selected to be visible for a variable product, if multiple variations have been added to cart, the field will be displayed just one time, not for each variation on the cart.

Note on altered checkout forms

If you have altered in any way checkout forms adding/removing/customizing fields using 3rd party plugin, this may interfere with the WCCCF plugin causing it to not properly work.


Type selection – Field configurator page


Condition option selection – Field configurator page


Condition type selection – Field configurator page


Checkout page


Frontend order details page

Admin order page


Bookable product – Field per person



= 7.7 - 28.06.20 =
* Minor improvement

= 7.6 - 31.05.20 =
* Fixed an issue related to the "length" option selection in the Fee menu

= 7.5 - 24.05.20 =
* Minor performance improvement

= 7.4 - 22.05.20 =
* Fixed a CSS issue

= 7.3 - 26.04.20 =
* get_item_data deprecated method invokation has been replaced with wc_get_formatted_cart_item_data

= 7.2 - 17.02.20 =
* Fixed an issue related to Fees and WPML

= 7.1 - 28.01.20 =
* Added new feature that allows fee application according user billing / shipping city, country, zipcode and shipping method

= 7.0 - 08.01.20 =
* Minor improvements

= 6.9 - 29.11.19 =
* Fixed an issue related variable product and WPML

= 6.8 - 05.09.19 =
* Fixed an issue due to Fee amout input controller only accepted int values

= 6.7 - 27.06.19 =
* Minor CSS bugfix

= 6.6 - 25.06.19 =
* Minor bugfix related to the datepicker selector

= 6.5 - 25.06.19 =
* Minor CSS bugfix

= 6.4 - 18.06.19 =
* Fixed an issue due to the checkout page may be reloaded continuously

= 6.3 - 08.06.19 =
* File fields now show file name

= 6.2 - 08.05.19 =
* Added option for Heading fields to be shown/hidden on order details page/emails

= 6.1 - 18.04.19 =
* Minor bugfix

= 6.0 - 27.02.19 =
* Added the option to set "today" as min date for relative min and max date 

= 5.9 - 25.01.19 =
* Fixed an issue with "person type" and WooCommerce Booking

= 5.8 - 03.01.19 =
* Minor bugfix

= 5.7 - 18.12.18 =
* Typo

= 5.6 - 15.12.18 =
* Fixed an issue due to telephone validation

= 5.5 - 07.12.18 =
* Headers are now showd on order details and emails

= 5.4 - 13.11.18 =
* Bug fix related to the activation system

= 5.3 - 02.11.18 =
* Placeholder (if any) is now properly displayed for select/multiselect fields

= 5.2 - 15.10.18 =
* Fixed an issue with fee duplication feature

= 5.1 - 10.10.18 =
* Added option to duplicate fields

= 5.0 - 05.10.18 =
* Added new activation system: now the plugin can be only activated in two domains and they cannot be unregistered

= 4.9 - 11.07.18 =
* Added new fee types

= 4.8 - 08.07.18 =
* Increased year date selector range

= 4.7 - 08.07.18 =
* Fixed an incompatibility with the WooCommerce Customer Relationship Manager plugin

= 4.6 - 06.07.18 =
* Added month and year selector for datepicker

= 4.5 - 05.07.18 =
* Minor bugfix

= 4.4 - 26.06.18 =
* Added new option to set fees according the current Billing/Shipping country and state

= 4.3 - 24.05.18 =
* Fixed an issue due to checkout form was not properly rendered when a date field with any option to restrict day was used

= 4.2 - 16.05.18 =
* Added new option menu that allow date and time display format

= 4.1 - 08.05.18 =
* Added new option to avoid fee apply if any other has been applied

= 4.0 - 20.04.18 =
* Added option to set free shipping for Fees

= 3.9 - 20.03.18 =
* Fixed an issue with heading fields positioning

= 3.8 - 19.03.18 =
* Fixed an issue due to the placeholder option was not properly working

= 3.7 - 16.03.18 =
* Typo

= 3.6 - 15.03.18 =
* Fixed an issue due to country and state selector were not working on checkout

= 3.5 - 10.03.18 =
* Fixed an issue due to fields where not showed for variation when using category conditional rules

= 3.4 - 10.03.18 =
* Fixed an issue due to time and date selector were not properly displayed 
* Added option for absolute time field: is now possible to automatically set start time as now if the selected start date is earlier than "now" 

= 3.3 - 03.03.18 =
* Fixed an issue with field sort function and Chrome

= 3.2 - 02.03.18 =
* Fixed an issue due to Checkbox value was not properly showed on Order details page & emails

= 3.1 - 26.02.18 =
* Added new option to set time interval between times for time selector

= 3.0 - 12.02.18 =
* Date and Time fields can be have a min/max limit relative to "now" 

= 2.9 - 05.02.18 =
* WooCommerce Bookigns: fields are now grouped using a visual border box

= 2.8 - 04.02.18 =
* Fixed an issue with WooCommerce Bookings plugin

= 2.7 - 01.02.18 =
* Added new feature to define custom CSS and JS codes
* Added new feature to automatically load JS and CSS files stored in the "wp-content/wcccf_custom_code/js" and "wp-content/wcccf_custom_code/css" folders

= 2.6 - 10.01.18 =
* Added option to disable fields rearrangement on checkout

= 2.5 - 21.12.17 =
* Is now possible all checkout fields

= 2.4 - 20.12.17 =
* Minor bugfix

= 2.3 - 12.12.17 =
* Minor bugfix

= 2.2 - 11.12.17 =
* Fixed an issue with upload file process

= 2.1 - 29.11.17 =
* Added new File type

= 2.0 - 27.11.17 =
* Added new Heading field

= 1.9 - 26.11.17 =
* Minor bugfix

= 1.8 - 23.11.17 =
* Minor bugfix

= 1.7 - 08.11.17 =
* Is now possible to show fields according to the number of person (Bookable product - WooCommerce Booking)

= 1.6 - 25.10.17 =
* Date field: is now possible to disable specific days of the week

= 1.5 - 25.10.17 =
* Fixed an issue that may prevent the proper detection of variation present on cart

= 1.4 - 11.10.17 =
* Added new feture that allows to create conditional fees

= 1.3 - 28.09.17 =
* Fixed an issue with the "required" option setted for a country field that in some cases may prevent the checkout to be performed

= 1.2 - 27.09.17 =
* Fixed some typos

= 1.1 - 26.09.17 =
* Minor bugfix 

= 1.0 - 20.09.17 =
* First release


0 0 vote
Article Rating
Notify of
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x