Skip to content

Magento 2 Multi Fees Manual

Multi Fees Cover

Introduction

Multi Fees extension allows you easily to create additional fees for extra services (e.g. Rush Delivery, Gift Wrap, etc.) that your customers may want to choose.

The extension provides the possibility to add 4 types of extra fees: shopping cart fees, shipping fees, payment and product fees.

Requirements and Installation

Multi Fees extension supports Open source (Community), Commerce (Enterprise) and Commerce cloud edition of Magento. The current version of Magento installed on your website can be found in the lower right corner of any backend page.

Magento 2 Version

Multi Fees has 3 separate ways of installation:

1) Copy the code (ready-to-paste package);
2) Use MageWorx Repository;
3) Use local Composer.

Extension Configuration

The main extension’s settings can be found under STORES ⟶ Configuration ⟶ MAGEWORX ⟶ Multi Fees

Multi Fees Configuration Multi Fees Configuration

  • Enable Fees - this setting enables/disables the fees functionality on the front-end.

  • Display Product Fees on Product Page - this setting allows you to display the product hidden fees directly on the product pages.

Multi Fees Configuration

  • Label - this setting allows you to change a label for the fees block, which is displayed on the product pages. Leave empty to hide the label.

  • Product Fees Position - this setting defines, where exactly the product hidden fees should be shown on the product pages.

  • Apply Fee on Click - this setting defines how the fees should be applied in the cart or during the checkout. If enabled, the fees will be automatically applied once they are selected. If disabled, the fees can be applied by clicking on the "Apply" button.

  • Calculation Settings - this setting defines whether the prices of the fees (in the back-end) include or exclude the taxes.

  • Display Prices in Additional Fees Block - This setting defines whether the fees in the 'Additional fees' block on the front-end should be displayed including, excluding taxes or including and excluding taxes.

  • Display Additional Fees Amount in Cart Total - This setting defines whether the fees in the 'Totals' block on the front-end should be displayed including, excluding taxes or including and excluding taxes.

If you select the Including and Excluding Tax, both prices will be shown like this:

  • Display Additional Fees Amount in Orders, Invoices, Credit Memos - This setting defines whether the fees in the 'Additional fees' block in the orders, invoices and credit memos should be displayed including, excluding taxes or including and excluding taxes.

  • Display Detailed Fees List in Orders, Invoices, Credit Memos - this setting defines whether the extension should display the detailed list of all applied fees or just 'Additional fees' row in the orders, invoices and credit memos. This setting displays the detailed fees in the order emails as well.

Multi Fees Management

The extension provides the possibility to add 3 types of extra charges: shopping cart, shipping and payment.

Shopping Cart Fees

Such fees allow showing the fees on the shopping cart:

Multi Fees Cart Page

To check or modify cart fees details, go to SALES ⟶ MageWorx Multi Fees ⟶ Manage Cart Fees.

Multi Fees Management

Please note that during the initial setup this grid will be empty.

The columns can be sorted alphabetically by clicking the column title.

To create a new fee, click the Add New Cart Fee button.

New Multi Fee configuration consists of 5 tabs.

Main

Multi Fees Management Main Tab

This section provides the initial setup of the fee with the most basic information.

Name – the name of the fee. Will be displayed on the frontend

Description - fee description. It is shown below the fee itself.

Here, the "Gift Wrap" is the Name of the fee and "Specify the desired description for your fee here" is the Description.


Customer Groups feature provides the ability to select customer groups to apply the fees to.

If the Required option is enabled, the customers will have to select required fees to proceed to the checkout. The default values of required fees are added automatically to the order’s totals.

Status option enables/disables this fee.

Multi Fees Management Main Tab

Store View manages the store views where the fee should be visible.

Sort Order sets the sorting order of the fee among the other fees on the frontend.

Tax class assigns a separate tax class to each fee. In case of “None”, the default tax class of the order will be applied.

Multi Fees Management Main Tab

Enable Customer Message - if enabled, adds a comment field for every fee so that customers could write their messages.

Customer Message Title represents the title of the block for a customer message.

Enable Date Field if enabled, adds a new field of a date type. Customers will be able to select a preferable date.

Date Field Title represents the title of the date block.

The way how the Customer Mesage and the Date Field are shown on the frontend.



Manage Options

Multi Fees Manage Labels

Input Type specifies the desired design of the fee. You can choose radio buttons, drop down or checkbox (multiselect).

The way how all the input types are shown on the frontend.



Multi Fees Manage Labels

One-time specifies whether the fee should be the fixed value or not. If the store owners need to calculate the fee according to some conditions, they may put No.

In this case the extra settings appear: Apply Per and X Value.

  • Apply per. It is possible to select the fees to be applied based on the number of items (5 products A and 7 products B is 12 items), products (5 products A and 7 products B is 2 products), weight or spent amount.

  • X value. If needed, the store owner can fine-tune the previous setting so that the fee will be calculated per each X values, like 1 extra dollar per 10 items, 5 products etc.

Count Percent From can be either Whole Cart (if the percent is needed to be calculated regardless the particular products) or Product (this can be specified in the Product Conditions tab).

Apply Fee To applies fees to the subtotal, shipping & handing or tax. These settings are important in case the fee is calculated based on the percent.

Multi Fees Management Main Tab

Below these settings, there is ‘Options’ tab. Here you can add fee’s values with the correct name of each store view, price, type (fixed or percentage) and select the fee’s value, that will be selected on the front-end by default.


Conditions

All Magento conditions, available for creating shopping cart rules, could be applied to multi fees. You can combine different conditions to offer flexible fees.

Multi Fees Manage Conditions

This example allows to add the fee for the orders where the Gender attribute of the products in the cart has the Women value and the subtotal is greater than $50.

Product Conditions

This tab lets you apply the fees to certain products in the cart using their various attributes. By default, the extension uses the fees for the whole order. If you need to apply fees to some particular products in the order, you need to specify them here. The fees with the populated product conditions are counted for the modified price/weight/quantity.

Multi Fees Manage Conditions

In this example, only the products with XS size will be counted.

Manage Labels

Multi Fees Manage Labels

From here, you can specify correct translations of fees for each store view. This can be applied for the Fee Name, Fee Description, Customer Message Title and Date Field Title

Shipping Fees

Such fees allow showing on the checkout after selecting the desired shipping method:

Multi Fees Cart Page

To check or modify shipping fees details, go to SALES ⟶ MageWorx Multi Fees ⟶ Manage Shipping Fees.

Multi Fees Management

Please note that during the initial setup this grid will be empty.

The columns can be sorted alphabetically by clicking the column title.

To create a new fee, click the Add New Shipping Fee button.

New Multi Fee configuration consists of 6 tabs.

Main

Multi Fees Management Main Tab

This section provides the initial setup of the fee with the most basic information.

Name – the name of the fee. Will be displayed on the frontend

Description - fee description. It is shown below the fee itself.

Here, the "Gift Wrap" is the Name of the fee and "Specify the desired description for your fee here" is the Description.


Customer Groups feature provides the ability to select customer groups to apply the fees to.

If the Required option is enabled, the customers will have to select required fees to proceed to the checkout. The default values of required fees are added automatically to the order’s totals.

Status option enables/disables this fee.

Multi Fees Management Main Tab

Store View manages the store views where the fee should be visible.

Sort Order sets the sorting order of the fee among the other fees on the frontend.

Tax class assigns a separate tax class to each fee. In case of “None”, the default tax class of the order will be applied.

Multi Fees Management Main Tab

Enable Customer Message - if enabled, adds a comment field for every fee so that customers could write their messages.

Customer Message Title represents the title of the block for a customer message.

Enable Date Field if enabled, adds a new field of a date type. Customers will be able to select a preferable date.

Date Field Title represents the title of the date block.

Manage Options

Multi Fees Manage Labels

Input Type specifies the desired design of the fee. You can choose radio buttons, drop down or checkbox (multiselect).

The way how all the input types are shown on the frontend.



Multi Fees Manage Labels

One-time specifies whether the fee should be the fixed value or not. If the store owners need to calculate the fee according to some conditions, they may put No.

In this case the extra settings appear: Apply Per and X Value.

  • Apply per. It is possible to select the fees to be applied based on the number of items (5 products A and 7 products B is 12 items), products (5 products A and 7 products B is 2 products), weight or spent amount.

  • X value. If needed, the store owner can fine-tune the previous setting so that the fee will be calculated per each X values, like 1 extra dollar per 10 items, 5 products etc.

Count Percent From can be either Whole Cart (if the percent is needed to be calculated regardless the particular products) or Product (this can be specified in the Product Conditions tab).

Apply Fee To applies fees to the subtotal, shipping & handing or tax. These settings are important in case the fee is calculated based on the percent.

Multi Fees Management Main Tab

Below these settings, there is ‘Options’ tab. Here you can add fee’s values with the correct name of each store view, price, type (fixed or percentage) and select the fee’s value, that will be selected on the front-end by default.


Shipping methods

Multi Fees Management Main Tab

From here, the store owner can select the appropriate shipping method that should be selected for the fee to be shown.

Conditions

All Magento conditions, available for creating shopping cart rules, could be applied to multi fees. You can combine different conditions to offer flexible fees.

Multi Fees Manage Conditions

This example allows to add the fee for the orders where the Gender attribute of the products in the cart has the Women value and the subtotal is greater than $50.

Product Conditions

This tab lets you apply the fees to certain products in the cart using their various attributes. By default, the extension uses the fees for the whole order. If you need to apply fees to some particular products in the order, you need to specify them here. The fees with the populated product conditions are counted for the modified price/weight/quantity.

Multi Fees Manage Conditions

In this example, only the products with XS size will be counted.

Manage Labels

Multi Fees Manage Labels

From here, you can specify correct translations of fees for each store view. This can be applied for the Fee Name, Fee Description, Customer Message Title and Date Field Title

Payment Fees

Such fees are showing on the payment page:

Multi Fees Cart Page

To check or modify payment fees details, go to SALES ⟶ MageWorx Multi Fees ⟶ Manage Payment Fees.

Multi Fees Management

Please note that during the initial setup this grid will be empty.

The columns can be sorted alphabetically by clicking the column title.

To create a new fee, click the Add New Payment Fee button.

New Multi Fee configuration consists of 6 tabs.

Main

Multi Fees Management Main Tab

This section provides the initial setup of the fee with the most basic information.

Name – the name of the fee. Will be displayed on the frontend

Description - fee description. It is shown below the fee itself.

Here, the "Gift Wrap" is the Name of the fee and "Specify the desired description for your fee here" is the Description.


Customer Groups feature provides the ability to select customer groups to apply the fees to.

If the Required option is enabled, the customers will have to select required fees to proceed to the checkout. The default values of required fees are added automatically to the order’s totals.

Status option enables/disables this fee.

Multi Fees Management Main Tab

Store View manages the store views where the fee should be visible.

Sort Order sets the sorting order of the fee among the other fees on the frontend.

Tax class assigns a separate tax class to each fee. In case of “None”, the default tax class of the order will be applied.

Manage Options

Multi Fees Manage Labels

Input Type specifies the desired design of the fee. You can choose radio buttons, drop down or checkbox (multiselect).

The way how all the input types are shown on the frontend.



Multi Fees Manage Labels

One-time specifies whether the fee should be the fixed value or not. If the store owners need to calculate the fee according to some conditions, they may put No.

In this case the extra settings appear: Apply Per and X Value.

  • Apply per. It is possible to select the fees to be applied based on the number of items (5 products A and 7 products B is 12 items), products (5 products A and 7 products B is 2 products), weight or spent amount.

  • X value. If needed, the store owner can fine-tune the previous setting so that the fee will be calculated per each X values, like 1 extra dollar per 10 items, 5 products etc.

Count Percent From can be either Whole Cart (if the percent is needed to be calculated regardless the particular products) or Product (this can be specified in the Product Conditions tab).

Apply Fee To applies fees to the subtotal, shipping & handing or tax. These settings are important in case the fee is calculated based on the percent.

Multi Fees Management Main Tab

Below these settings, there is ‘Options’ tab. Here you can add fee’s values with the correct name of each store view, price, type (fixed or percentage) and select the fee’s value, that will be selected on the front-end by default.


Payment methods

Multi Fees Management Main Tab

From here, the store owner can select the appropriate payment method that should be selected for the fee to be shown.

Conditions

All Magento conditions, available for creating shopping cart rules, could be applied to multi fees. You can combine different conditions to offer flexible fees.

Multi Fees Manage Conditions

This example allows to add the fee for the orders where the Gender attribute of the products in the cart has the Women value and the subtotal is greater than $50.

Product Conditions

This tab lets you apply the fees to certain products in the cart using their various attributes. By default, the extension uses the fees for the whole order. If you need to apply fees to some particular products in the order, you need to specify them here. The fees with the populated product conditions are counted for the modified price/weight/quantity.

Multi Fees Manage Conditions

In this example, only the products with XS size will be counted.

Manage Labels

Multi Fees Manage Labels

From here, you can specify correct translations of fees for each store view. This can be applied for the Fee Name, Fee Description, Customer Message Title and Date Field Title

Product Fees

This fee type can be shown on the cart page. It is possible to add different fees for different products. Each product in this case will have its own fees.

Multi Fees Cart Page

It is possible to display the product fees on the product pages. In this case the fees should be required and have the "hidden" type.

Multi Fees Cart Page

To check or modify product fees details, go to SALES ⟶ MageWorx Multi Fees ⟶ Manage Product Fees.

Multi Fees Management

To create a new fee, click the Add New Product Fee button.

New Multi Fee configuration consists of 4 tabs.

Main

Multi Fees Management Main Tab

This section provides the initial setup of the fee with the most basic information.

Name – the name of the fee. Will be displayed on the frontend

Description - fee description. It is shown below the fee itself.

Customer Groups feature provides the ability to select customer groups to apply the fees to.

If the Required option is enabled, the customers will have to select required fees to proceed to the checkout. The default values of required fees are added automatically to the order’s totals.

Status option enables/disables this fee.

Multi Fees Management Main Tab

Store View manages the store views where the fee should be visible.

Sort Order sets the sorting order of the fee among the other fees on the frontend.

Tax class assigns a separate tax class to each fee. In case of “None”, the default tax class of the order will be applied.

Manage Options

Multi Fees Manage Labels

Input Type specifies the desired design of the fee. You can choose radio buttons, drop down or checkbox (multiselect).

The Hidden fee is the obligatory fee that may be showed on the product page:

Multi Fees Configuration

One-time specifies whether the fee should be the fixed value or not. If the store owners need to calculate the fee according to some conditions, they may put No.

Below these settings, there is ‘Options’ tab. Here you can add fee’s values with the correct name of each store view, price, type (fixed or percentage) and select the fee’s value, that will be selected on the front-end by default.


Product Conditions

All Magento conditions, available for creating shopping cart rules, could be applied to multi fees. You can combine different conditions to offer flexible fees.

Multi Fees Manage Conditions

This example allows to add the fee for the orders where the Gender attribute of the products in the cart has the Women value and the subtotal is greater than $50.

Product Conditions

This tab lets you apply the fees to certain products in the cart using their various attributes. By default, the extension uses the fees for the whole order. If you need to apply fees to some particular products in the order, you need to specify them here. The fees with the populated product conditions are counted for the modified price/weight/quantity.

Multi Fees Manage Conditions

Manage Labels

Multi Fees Manage Labels

From here, you can specify correct translations of fees for each store view. This can be applied for the Fee Name, Fee Description, Customer Message Title and Date Field Title

Tax Management

The Multi Fees supports all standard Magento tax settings. To manage taxes, go to STORES ⟶ Configuration ⟶ SALES ⟶ Tax

Multi Fees Taxation

First of all, the store owner needs to setup the general tax configuration according to the requirements of the country where the store owner operates.

After that you can set up tax classes for products and customer groups, and create tax rules that combine product and customer classes, tax zones and rates. The general workflow consists of 2 operations: setting up the tax classes and defining tax rules based on these classes. These rules are a combination of a Product Class, a Customer Class and a Tax Zone and Rate.

View/Add Multi Fees in the Backend

All selected fees are displayed in the order’s view. The store owner can check any multi fee selected by the customer. Go to SALES ⟶ Orders and select the order with the multifee.

Multi Fees Taxation

All the fees are provided in the Additional Fees tab. Here, the Customer Message and Date field values are provided. They are shown on the order totals block as well.

You can select all types of extra fees while manually creating or editing orders from the back-end.

Multi Fees Taxation

Invoices and credit memos have additional fees in the order total block only.

If the Display Detailed Fees List setting was enabled in the extension's configuration, the several fees applied to one order will be shown separately:

Multi Fees Taxation

On the left screenshot, you can see the default fees display, on the right one, - with the detailed fees setting enabled.

Multi Fees in Customer's Account

Selected fees are also added to the order’s details visible to customers in the customers’ accounts and to the confirmation emails. Thus, customers will see all details about the selected fees in the order.

Multi Fees in Customer Account

If the Display Detailed Fees List setting was enabled in the extension's configuration, the several fees applied to one order will be shown separately:

Multi Fees Taxation

On the left screenshot, you can see the default fees display, on the right one, - with the detailed fees setting enabled.

Multi Fees in the PDFs and Customer Emails

The extension shows the fees in the Order PDFs and Customer Emails:

Multi Fees Taxation

If the Display Detailed Fees List setting was enabled in the extension's configuration, the several fees applied to one order will be shown separately.

Multi Fees API

Get fees from order

MageWorx Multi Fees extension adds the bunch of own resources to the default Magento 2 Order API.

The following list of our resources is taken from the sample request:

{
"mageworx_fee_amount": "24.4900",
"base_mageworx_fee_amount": "24.4900",
"mageworx_fee_tax_amount": "0.0000",
"base_mageworx_fee_tax_amount": "0.0000",
"mageworx_fee_details": "{\"10\":{\"options\":{\"20\":{\"title\":\"Payment fee\",\"percent\":\"10.0000\",\"price\":4.5,\"base_price\":4.5,\"tax\":0,\"base_tax\":0}},\"title\":\"Processing Fee\",\"date_title\":\"\",\"date\":\"\",\"message_title\":\"\",\"message\":\"\",\"applied_totals\":[\"subtotal\"],\"type\":\"2\",\"is_onetime\":\"1\",\"tax_class_id\":\"0\",\"base_price\":4.5,\"price\":4.5,\"base_tax\":0,\"tax\":0}}",
"mageworx_fee_invoiced": "24.4900",
"base_mageworx_fee_invoiced": "24.4900",
"mageworx_fee_refunded": "",
"base_mageworx_fee_refunded": "",
}
Name Description
mageworx_fee_amount Fee value in the selected store currency.
base_mageworx_fee_amount Fee value in the base store currency.
mageworx_fee_tax_amount Tax for the fee value in the selected store currency.
base_mageworx_fee_tax_amount Tax for the fee value in the base store currency.
mageworx_fee_details The fee details data that provides the fee information.
mageworx_fee_invoiced If the order is invoiced, this field shows the fee value in the selected store currency.
base_mageworx_fee_invoiced The fee value after the Invoice was made in the base store currency
mageworx_fee_refunded If the Credit Memo for the order was made, this field shows the fee value in the selected store currency.
base_mageworx_fee_refunded If the Credit Memo for the order was made, this field shows the fee value in the base store currency.

Apply fees to order

The extension also allows you to apply the extra fees to the orders created using API. It might be helpful, if your customers place the order in some 3rd party store-front (like mobile app).

In order to apply a certain fee to an order, first you need to get a list of extra fees, applicable to this certain order. After adding items, shipping, and payment information to the quote you can get all available fees for the current quote (cart), i.e. to get all fees, which are applicable to the current cart:

Action Request
Get all available cart fees GET /V1/multifees/cartFees/:cartId
Get all available shipping fees GET /V1/multifees/shippingFees/:cartId
Get all available payment fees GET /V1/multifees/paymentFees/:cartId
Get all available product fees by quote items GET /V1/multifees/productFees/:cartId
Get all Required cart fees GET /V1/multifees/cartFees/required/:cartId
Get all Required shipping fees GET /V1/multifees/shippingFees/required/:cartId
Get all Required payment fees GET /V1/multifees/paymentFees/required/:cartId
Get all Required product fees by quote items GET /V1/multifees/productFees/required/:cartId

Once you have all applicable fees, you can add the certain fees to the order.

Action Request
Add cart fees to cart POST /V1/multifees/setCartFees/:cartId
Add shipping fees to cart POST /V1/multifees/setPaymentFees/:cartId
Add payment fees to cart POST /V1/multifees/setShippingFees/:cartId
Add product fees to cart POST /V1/multifees/setProductFees/:cartId

For adding cart, shipping and payment fees, the expected parameters are:
'fees' (array)
- id - fee id
- options - fee's option id

For product fee, you also need to add quote item id on which fee will be assigned.

Examples:

1) Add the cart fee to the order:

Request: yourstore/rest/default/V1/multifees/setCartFees/71

{   "feeData": {
        "id": 4,
        "options": 6
   }
}
This request adds the cart fee with ID 6 with its value with ID 6 to the quote with ID 71.

2) Add the product fee to the order:

Request: yourstore/rest/default/V1/multifees/setCartFees/71

{   "feeData": {
        "id": 4,
        "options": 6,
        "itemId":100
   }
}

Got Questions?

MageWorx offers FREE lifetime support and updates for any extension developed for Magento. Need help with the extensions? Feel free submit a ticket from https://www.mageworx.com/support/ 



MageWorx offers outstanding services developing custom-tailored solutions for Magento platform to attain your eCommerce objectives. Our professional impassioned team provides profound and custom oriented development of your project in a short timeframe.