X-feepro

An fee/discount module for opencart

Current Version: 2.3.2

Thank you for purchasing my plugin. If you have any questions that are beyond the scope of this help file, please feel free to email at opencartmart@gmail.com. Thanks so much!

What it is?

X-Feepro is an advanced order totaling module that can be used for any kind of extra fee or discount within your order’s total. This could include a payment processing fee, shipping process fee, discount or any other fee. This module allows you to create your own fee and give the fee whatever title you want.

Installation

Opencart 3.x

  • First unzip downloaded zip file. You will get another zip file named get xfeepro.ocmod.zip
  • Please Go to Admin -> Extensions -> Extension Installer. Upload "xfeepro.ocmod.zip" and click on continue.
  • Now please navigate to admin -> Extensions -> Totals. Now click on Install button located beside X-feepro row.
  • Congrats! You are done. Now it is ready for adding shipping method.

Opencart 2.x

  • First unzip downloaded zip file. You will get another zip file named get xfeepro.ocmod.zip
  • Please Go to Admin -> Extensions -> Extension Installer. Upload "xfeepro.ocmod.zip" and click on continue.
  • Now please navigate to admin -> Extensions -> Totals. Now click on Install button located beside X-feepro row.
  • Finally, go to Admin -> Extensions -> Modifications and now click on "Refresh" button
  • Congrats! You are done. Now it is ready for adding shipping method.

Opencart 1.x

  • First unzip downloaded zip file. You will get two files there 1. Upload 2. readme.txt
  • Now upload all files and folders from the "upload" directory at your opencart directory on the server.
  • NO FILE will be overwritten

Setup Your Shipping

Lets create your first method. Please navigate to Extension -> Total. Now click on Edit button beside xfeepro


You will get first screen like the screenshot below. You will get all global options in the right side and shipping list in the left side. Since you don't have any fee yet so it is empty. Now click on Plus button to create first fee. In Global setting, Please change module status to Enable to activating module.


Now you have got your first method like below. Enter your fee name that will be shown during checkout out as fee title. For example: Processing Fee


One thing is very import to understand/remember that all rules/options available for a fee will work as logical AND mode if you set. So choose your rules/filter that you need, otherwise keep as their default values. We are keeping all rules as default value for the first fee except Price. So please navigate to Price setting tab, Now enter Rate type is Flat. Then enter shipping cost is 100


Now you are done. You have just created your first method "Processing Fee". You will get it now during checkout in the site.

Available Rules/Options

Xfeepro has a lot of rules or option. Noted that all rules will be considered as logical AND mode. It means if you set Rule1 and Rule2 for a fee, then that fee will be appeared/shown only when both Rule1 and Rule2 validate to true. So choose your rules carefully.
Here are options available to each tab.

General

This tab contains some basic information of a fee, these are not rules actually except Group. Please learn about Group option for knowing about this rule deeper.

  • Include Weight in the Name: If you check this option, it will show cart weight with method name in the site.
  • Tax Class: If you want to apply tax/vat with shipping cost, please select tax class here.
  • Sort Order: Set ordering among your xshipping methods. This field is also used by method grouping feature. Please check Group mode section
  • Status: Enable/Disable method

Criteria Setting

  • Store: Choose applicable stores for which this method will be available.
  • Geo Zone: Choose applicable GEO zone for which this method will be available.
  • Country: Choose applicable countries for which this method will be available.
  • Customer Group: Choose applicable customer groups for which this method will be available.
  • Payment Method: Choose applicable payment methods for which this method will be available.
  • Shipping Method: Choose applicable shipping methods for which this method will be available.
  • Manufacturer: Choose applicable manufacturer for which this method will be available.
  • Zip/Postal: Choose applicable zip/postal codes for which this method will be available. Please check this article to know more details about postal rules.
  • Coupon: Choose applicable Coupon codes for which this method will be available.

Category/Product

Please check Category/Product/Manufacturer rules for knowing details about their rules

  • Category Rule: Select your appropiate category rule, then choose your categories accordingly.
  • Product Rule: Select your appropiate Rule rule, then choose your Products accordingly.

Price Setting

  • Rate Type: There are total 15 types Rate type currently. One is simple flat and remaining 14 are ranges.
    1. Flat: If you want to charge a simple flat cost. This option is for you. It can be percentage or flat. For example: 15% or 50. Please don't enter any currency sign. For example, $50 is invalid. It shold be simple 50
    2. Range Option You can add unlimited rows which contains a start value, end value and its corresponding cost. It also has Per Unit Block and Allow Partial option for each row. Here are 14 unit ranges

    1. Quantity: Unit Type is Cart Quantity
    2. Weight: Unit Type is Cart Weight
    3. Dimensional Weight: Unit Type is Dimensional Weight
    4. Volume: Unit Type is Volume. It will be Volumetric weight if any factor is provided
    5. Total: Unit Type is Cart Total with tax
    6. Total without coupon/reward: Unit Type is Cart Total without coupon and reward price
    7. Sub-Total: Unit Type is Cart Total without tax
    8. Grand Total:
    9. Total - Method Specific: Special type. It will consider total cost for those products which are valid/applicable for this method. For example, if you restrict a shipping method for some categories, in that case, it will consider total cost of those products which are belongs to that categories.
    10. Sub-Total - Method Specific: Special type. Same as above but it is for Sub-total.
    11. Quantity - Method Specific: Special type. It will consider quantity for those products which are valid/applicable for this method. For example, if you have a category ABC, now you want to charge $10 for each product of this category only. Now someone purcahse 2 products from ABC and 2 products from non-ABC. In that case, just select ABC category under product/category tab and choose rate type is Quantity - Method Specific, xfeepro will consider quantity 2. If you would have chosen rate type Quantity instead of Quantity - Method Specific, xfeepro would be considered total quanity 4
    12. Weight - Method Specific: Special type. Same as above but it is for weight
    13. Dimensional Weight - Method Only: Special type. Same as above but it is for Dimensional weight
    14. Volume - Method Specific: Special type. Same as above but it is for Volume
    15. Equation: You can enter any arithmetic equation to calcualte your fee cost. For example: if the equation is {cartQnty}*10 and cart quantity is 5, then cost will be $50. Available parameters {cartTotal}, {cartQnty}, {cartWeight} {shipping}, {modifier}, {volume}. Ex. {cartTotal}-5*{cartQnty}

    Lets look detail unit range fields for each row.

    Start End Cost Per Unit Block Allow Partial
    Starting Value of the range. Value will be decided based on rate type. For example, if the rate type is Quantity, Starting value means starting quantity of that range. For example, if you want to charge $10 for the first 1 - 5 items, Rate type would be Quantiy and starting value will be 1. Ending Value of the range. For our last example, End will be 5 Cost of that row. For our last example, Cost will be 10 Define how do you want to charge for each unit? Unit will be decieded based on Rate type. For example, if rate type is Quanity, then unit means Quantity. It is just generic name of the rate type. For example, if you want to charge $10 of every pair of items, then, Per unit block is 2. If you want to charge $10 for each item, then Per Unit Block is 1. If you don't need Per unit based cost, just enter 0 to ignore. It works along with Per unit block. If you do not need per unit block, it is meaningless. Sometimes, you may need to charge parital block cost, sometimes you don't. For example, you want to charge $20 for each 1KG weight. What happens if customer purchase product of 0.5 KG? If you want to charge half cost (since 0.5KG means half of 1KG), then select allow parial is Yes but if you want to charge full cost irrespective of the weight, then select allow partial is NO
  • Additional Unit Price: Getting tired of entering too many unit rows? This option can help you in that case. This option will continue evaluating shipping cost once Unit Rows reaches its end. If there is no Unit Rows are defined, then it will simply evaluate cost based on per unit and in that case it will be alias of following unit row range:

    Start End Cost Per Unit Block Allow Partial
    0 To last value Cost what you enter for additional cost 1 NO

    Example: If you enter 10 into Additional Unit Price field and Rate type is Quantity and there is no unit row defined, then cost of two items will be $20.

    but if there is one unit range defined as follows:

    Start End Cost Per Unit Block Allow Partial
    0 1 15 0 NO

    Then cost will be $25 because for the first item, it will consider Unit range price and try to calcuate all item cost from there. But there is not cost defined for the second item in the unit ranges, So it will be evaluated based on Additional Unit Price that is 10. So total is $25

  • Final Cost: Define how your unit rows will behave if you have multiple unit rows. Look following Unit ranges:
    Start End Cost Per Unit Block Allow Partial
    0 5 15 0 NO
    6 20 10 0 NO

    Lets consider Rate type is Quantity. Now We can conclude into two scenarios from above unit ranges:
    Scenario 1: If cart items are in between 1-5, then shipping cost will be $15 and if cart items are in between 6 - 20, then shipping cost will be $10. So if I purchase, 7 items, shipping cost would be $10

    Scenario 2: For the first 5 items, shipping cost will be $15 and remainging 6 - 20 items, then shipping cost will be $10. That means price should be cumulative way. So if I purchase, 7 items, shipping cost would be ($15+$10) = $25

    Final Cost can be either Single or Cumulative.

  • Percentage Related to: Define how xshippignpro will calculate percentage value. If you select Total, then 5% means 5 percent of cart total.
  • Price Adjustment: You can force redefine your final cost using this option. For example, if you want your minimum shipping cost must be $5 irrespective of any price setting. Then enter Min is 5. If you want maximum shipping cost $100, then enter Max is 100. Also sometimes you may need to modify your shipping cost in other way. For example, You want to add some extra charge with final shipping cost. Then you can use Modifer option. If I enter +5 into modifier field, it means it will add $5 with final shippign cost. You can use -5 or *5 or /5 etc. Also you can use percentage value like 5%

Others

  • Days of Week: Define the days for those you want to show this method. It will be not appeared for non selected days.
  • Time Period: Define time period for that you want to show this method. It will be not appeared for non selected time period.
  • Order Total Range: Xfeepro support one Rate type at a time for a particular shipping method but sometimes you may need two Rate type for your shipping method. For example, if you want to charge $5 per item if order total is less than $100. Under Price setting tab, You can select Rate is Quantity and define your price accordingly but how do you define Order total restriction? Well, You can use this option. You can simply enter total range 1 to 100 here.
  • Weight Range:: Additional weight range rule same as Order total
  • Quantity Range: Additional Quantity range rule same as Order total
  • Hide methods: Force hide to other xfeepro method if this method appears. You can hide any other xfeepro methods. For example, You have two shipping methods. One is Free shipping and another is flat rate $100. But you don't show Free shipping method when flat rate shipping appears. So you can simply choose method "Free Shipping" of the flat method setting.

Example

Example 1: Setup a fee for the order total greter than $500

  1. Create a new fee and enter a name for it
  2. Now navigate to Price Setting Tab and select rate type is Total. Then enter Unit Ranges as follows:

    Start End Cost Per Unit Block Allow Partial
    500 999999 0 0 NO

Example 2: Setup a Fee for the products of category A and B and order total is greter than $500

  1. Create a new fee and enter a name for it
  2. Now go to Product/Category Tab, Select category rule is Any of the selected Category. Then select Category A and B
  3. Now navigate to Price Setting Tab and select rate type is Total. Then enter Unit Ranges as follows:

    Start End Cost Per Unit Block Allow Partial
    500 999999 0 0 NO

Example 3: Setup fee that will charge $10 per item/qunatity

  1. Create a new fee and provide a name
  2. Now navigate to Price Setting Tab and select rate type is Quantity. Then enter Unit Ranges as follows:

    Start End Cost Per Unit Block Allow Partial
    0 9999 10 1 NO

Example 4: Setup Discount 10% when the order total is greater than 5000.

  1. Create a new fee and provide a name
  2. Now navigate to Price Setting Tab and select rate type is Total. Then enter Unit Ranges as follows:

    Start End Cost Per Unit Block Allow Partial
    5000 9999999 -10% 0 NO
  3. Finally, Select Percentage related to Total

Debugging

Debugging can help you to find out why your fee is not coming up in the site. First debug mode in xfeepro global setting.


Once debug mode is ON, it will print a debug message in the site during checkout. This message tells basically rules name which are restricting from appearing a fee. For example:
Above debug string indicate that fee ABC is not appearing due to rule Category and Free Shipping is not appearing due to Rule Price range.

FAQ

Q. I am not getting Xfeepro under admin -> Extensions -> Total. (Not applicable for OC 3.x)

A. It simply means that your Xfeepro installation was not done correctly. Most probably your ftp root is incorrect under store setting. Please recheck ftp root under store setting and re-install xfeepro again.

Q. I am not able to install xfeepro through Opencart Installer in Opencart v2.x.

A. Most probably your ftp information is wrong under store setting. Please recheck ftp root under store setting and re-install xfeepro again. If problem persist, it could be opencart core issue. In that case you can install manually, check this youtube video. This video for xshippingpro but same things apply for xfeepro as well.

Q. My Fee Description is not showing.

A. In OC 2.x, Description and logo feature has dependancy on OCMod. So you must refresh OCmod list in admin -> Extensions -> Modifications. If still not work, then it could be for your checkout module. Please send an email at opencartmart@gmail.com so we can adjust ocmod as per your checkout module.

In OC 3.x, Please goto admin -> Extensions -> events, be sured events for xfeepro are enabled.