Documentation
Installation instructions
You can install extension using Extension Installer or manually. In the latter case unpack and upload all folders from "upload" directory to the root of your store. If there's install.xml file in the package, rename it to extension_name.ocmod.xml, replacing "extension_name" with extension's name (or any other name), and upload it to "system" folder. When upgrading from previous version simply rewrite all existing files. Refresh modifications cache from Extensions -> Modifications page (not needed if install.xml file is not included in the package).
Note for OpenCart 3 users
If you see "The directory is not allowed to be written to" error message, download OpenCart 3.0 Extension Installer Fix from this page and install it. Then install the main extension.
Note for OpenCart 2.0.X users
Sometimes OCMod inserts modification in multiple files, which are separated by "|" character in XML-file. On earlier OpenCart 2 versions a comma was used instead. To quickly fix this, open XML file (usually, install.xml) and replace all occurrences of "|" character with "," for "path" attribute in every applicable <file> element. Search for "<file path=" to quickly find and highlight all elements.
If after installation you have "Permission denied" issue when accessing Modules, Shipping, Payments, Order Totals (or any other) section of Extensions menu, remove "module", "shipping", "payment", "total" (or any other) folder from "admin/controller/extension" directory. Same for "admin/language/en-gb/extension" directory. For example ("module" should be removed from both paths):
admin/controller/extension/module
admin/language/en-gb/extension/module
Permissions
In some cases it is required to manually set permissions for installed extension. To do this go to System -> User Groups, find your group and select access/modify permissions for desired extension. You can find extension in permissions list by folder/filename pair (for example, marketing/acoupon).
Extension Setup
Go to Extensions -> Order Totals, find Group Fee or Discount and setup accordingly.
How to use
Main extension settings are global no matter the fee or discount rules:
- Display Info - Display information about current and next group, their discounts or fees and conditions to move (header and account page, both or neither).
- Notify Customer - Send email to customer and inform, that he was moved to another group.
- Exclude Products - Discount will be disabled, if one of the selected products was added to cart.
- Exclude Categories - Discount will be disabled, if product from one of the selected categories was added to cart.
- Round By - Fee or Discount will be rounded to given value (e.g: if set to 10 - 271.52 will be rounded to 280).
- Add Name to Title - Group name will be added to order total title.
- Add Value to Title - Fee or discount value will be added to order total title (when set in percent only).
- Hide Total - Hides Group Fee or Discount total from the list and adds its value to selected total.
- Total to Add - When Hide Total is enabled, fee or discount value will be added to selected total.
- Add Info to Total - Additional information about fee or discount will be added to selected total's title.
- Fee Inactive With - Fee will not be applied, if any of the selected totals are active in current order.
- Discount Inactive With - Discount will not be applied, if any of the selected totals are active in current order.
Basic functionality of this extension is to add fee or discount for different customer groups to order totals. For example, you may want to add 3% fee to orders from New Customers group and -5% discount for Regular Buyers. You can set additional rules for every fee or discount separately:
- Source Group - Rule will be applied to selected customer group (required) (e.g.: Default).
- Target Group - Customer will be moved to selected group, when rule settings match (e.g.: Regular Buyers).
- Orders - Minimum number of completed orders (e.g.: 3).
- Sum - Total sum of all customer's completed orders (e.g.: 300).
- Period - Customer must reach Orders or Sum value in given period, in days (e.g.: 30).
- Order Subtotal - Minimum and maximum order subtotal values in main currency (e.g.: 120, 200-300).
- Value - Current group fee or discount in percent or fixed value (e.g.: 3%, 5%, 10, 20).
Advanced setup allows you to automatically move customers from one group to another and back. Once you set Target Group option, all other rule settings will work differently. Customers will now get a discount of the next or previous group depending if they met or did not met the given criteria.
Considering examples given above, you'll get the following result:
When customer from Default group completes 3 orders 120 EUR each OR makes several orders for 300 EUR total in 30 days he gets a 3% discount. If Target Group is set, he is moved to Regular Buyers group and gets new group discount (5%) for his current and all upcoming orders.
On the next checkout customer's orders will be checked again and if they won't meet given criteria (3 orders 100 EUR each OR 300 EUR total in 30 days) he will be moved back to the Source Group (Default). Using these simple settings you can create infinite group chains and move customers between them, adding fees or discounts to their orders. This will help you stimulate customers to buy more and increase sales.
NOTE: When you set Target Group, your rule will only move customers to another group. To actually give a discount for the target group, you need to add another rule and do not define the target group for this rule.
Additional information:
- If you want to manually change customer's group, don't forget to change Source Group as well. Select group, which has main customer's group defined as Target Group.
- Proper setup of totals' ordering is a MUST for this extension to work as described. Do not set Sort Order value lower, than Sub-Total's.
- If you want fee or discount to be applied to total amount, including shipping, voucher and all other possible fees and discounts, set Sort Order value one less than Total's.
- Be careful with "Round by" feature. Setting it to wrong number will cause improper counting of fees and discounts. Set it to zero to disable rounding.