All-in-One Shipping
Combines all parameter based shipping methods (flat, weight, total, postcode etc), can be used as one and only shipping method. Very well-thought interface with lots of options for each shipping method provide you with unmatched flexibility of shipping setup.
Features
Allows you to create unlimited number of shipping methods (flat or parameter based) in a matter of minutes. Shipping can be based on: total, weight, postcode, country, zone, city and geo zone. More can be added. Can literally replace multiple shipping extensions like Flat Shipping, Weight Based, Postcode Based etc. Supports multiple stores and multiple languages, follows customer selected currency and language. A lot of options for each shipping method: maximum and minimum total, customer groups, geo zone etc.
Compatibility: OpenCart 2.0+, 3.0+
Current version: 3.2.1
Why All-in-One Shipping?
All-in-One Shipping can replace multiple shipping extensions and even improve some of them. For example, you don't need to enter flat confusing rules for weight based shipping - everything is clearly visible in All-in-One Shipping and easy to setup. It's well-thought slick interface will allow you to create multiple shipping methods in a very short period of time. Just click Add Method, assign cost values and enable. That's it!
Any base parameter for shipping costs calculation can be added. Just let us know, what you need!
Full list of features
- Can literally replace multiple shipping methods like Flat Shipping, Weight Based, Postcode Based etc.
- Allows you to create unlimited number of shipping methods, based on different parameters.
- Each method can have unlimited number of calculation rules and rule sequences.
- Shipping can be based on: product, category, total, weight, postcode, country, zone, city, geo zone and more.
- Most parameters (quantity, weight, subtotal etc) can be defined as range (e.g.: 0-2, 10-20 etc).
- Every method can be limited to desired stores, customer groups and geo zones.
- You can display all matching methods, the first match or cheapest method only.
- Priority can be assigned to every method to manage calculation and display ordering.
- Order comment can be made optional or required for each method separately.
- You can add package weight and fee for each method separately.
- Payment methods can be restricted depending on selected shipping method.
- Calculation checks for categories, products and manufacturers can be limited to selected item.
- Full multilingual support, including shipping method names.
- Very well-thought and optimized algorithm provides faster processing and easy improvements.
- Very user friendly interface, no complex calculation formulas.
Screenshots
Demo
Place a test order on our demo site (login: demo@thekrotek.com, password: demo). Add anything to cart and try to checkout.
Extension settings can be found in Extensions -> Shipping section on backend of our demo site (username: demo, password: demo).
Change Log
3.2.0
- OpenCart 3 Compatibility Fixes extension is not needed anymore. You may remove it.
- Minor bug fixes and improvements.
3.1.2
- ADDED: Method Subtitle option for each method separately.
3.1.1
- ADDED: Custom shipping quotes option on the last step of order form (back-end).
- Minor bug fixes and improvements.
3.1.0
- Completely reworked UI.
- ADDED: Filters to quickly find shipping method.
- ADDED: Charge Minimum option to define minimum shipping cost.
- ADDED: DIM Factor option for dimensional (volumetric) weight based shipping.
- ADDED: Cost Per option to define the type of calculation: cart, product, weight or volume.
- FIXED: Comment field is not properly processed on OC 3.x.
- Minor bug fixes and improvements.
3.0.2
- ADDED: Comment Note option for each method separately to display custom note above Comment field.
- FIXED: Comment field is not properly processed on OC 3.x.
- Minor bug fixes and improvements.
3.0.1
- FIXED: Selected geo zones are not saved.
- FIXED: Cost is not saved, when set to zero.
- FIXED: Geo zone is not properly checked on checkout.
3.0.0
- OpenCart 3.0 support added. See the documentation on how to install extension properly!
- ADDED: Shipping Method option to apply defined rules to selected 3rd party shipping method.
- CHANGED: Base Value option now works differently. At least one Calculation Rule is now required.
- CHANGED: Geo Zone option now allows you to select multiple items.
- Minor bug fixes and improvements.
2.5.1
- License check added. Don't forget to enter your order ID after upgrade!
- ADDED: Dimensions parameter (length, width, height) for method rules. Works similar to quantity, weight, etc.
- Minor bug fixes and improvements.
2.5.0
- ADDED: Package Weight option. Adds defined value to total weight before calculating shipping costs.
- ADDED: Package Fee option. Adds defined value to shipping cost for every method separately.
- ADDED: Payment Methods option. Displays only selected payment methods, when particular shipping method is chosen.
- ADDED: New Cheapest Only mode to display only cheapest available method.
- Minor bug fixes and improvements.
2.4.0
NOTE: This is a major update! You must open and save your settings after upgrade!
- Rules are now saved in separate database table and don't depend on "settings" table field limitations.
- Improved check for value ranges in calculation rules. You can now safely define range sequences (e.g.: 0-2, 3-5 etc).
- ADDED: Cart base in Calculation Rules to apply shipping costs to the whole cart.
- ADDED: Quantity parameter in Calculation Rules to limit shipping calculation by quantity (single value or range).
- CHANGED: Subtotal and Volume options removed from method settings. Use calculation rules with Cart base instead.
- CHANGED: Export and Import functionality has been removed. Use database export/import tool instead.
- Improved calculation rules layout for easier management.
- Improved methods reading and saving algorithm.
- Improved feedback with more detailed messages.
- Minor bug fixes and improvements.
2.3.1
- ADDED: Per item calculation rules for categories, manufacturers and products.
- FIXED: Weight is not properly checked in calculation rules.
2.3.0
- ADDED: Package Volume option to define package volume limits from product dimensions.
- Minor bug fixes and improvements.
2.2.2
- VQMod (XML file) changed with OCMod. Remove old .vqmod.xml after upgrade!
- ADDED: Stores option for each shipping method separately to limit method's functionality to selected stores.
- CHANGED: Weight and Subtotal rule fields now support value limits (e.g.: 100-500, -200 etc).
- CHANGED: Cart Minimum and Cart Maximum fields replaced with Cart Subtotal field with value limits support (e.g.: 100-500, -200 etc).
- Minor improvements.
2.2.1
- ADDED: Support for Product Primary Category extension to increase category based calculations.
- FIXED: Methods are not sorted properly by Priority.
- FIXED: Postcodes with letters, typed in mixed cases, may not match rules set.
- Slightly improved shipping cost calculation logic.
- Minor bug fixes and improvements.
2.2.0
- ADDED: Manufacturer based shipping calculation.
- ADDED: Export and Import buttons to quickly export all methods to file and import them, when necessary.
- ADDED: Add Value option to add rule value to title for certain method types (country, zone, postcode and city).
- CHANGED: Product based shipping now respects product quantity and cart contents.
- CHANGED: Category based shipping now respects cart contents.
- Minor improvements.
2.1.2
- FIXED: Rules not properly checked for city based shipping.
- FIXED: Weight rule is not properly checked.
2.1.1
- FIXED: Quotes sorted improperly rendering "No shipping methods available" error.
- FIXED: List of product categories in not properly returned.
- FIXED: Postcode check doesn't return proper value.
2.1.0
- Completely reworked setup and calculation algorithm. Now it is more easier and fail safe.
- You can now set more complex rules, using base parameter, cart weight and cart total.
- ADDED: Display Mode option in general settings to display all matching methods or first match only.
- ADDED: Copy button to copy selected method.
- A lot of minor improvements and bug fixes.
2.0.0
- Initial release.
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 -> Shipping, find All-in-One Shipping, click Install and then setup accordingly.
IMPORTANT: The more methods you create, the larger will be array of data to save. In case of any issues, when saving methods, add these lines to your php.ini file:
max_input_vars = 5000
suhosin.post.max_vars = 5000
suhosin.request.max_vars = 5000
If variables mentioned above exist, change their values to 5000 or higher.
How to Use
First of all you need to setup at least one shipping method end enable it. To create a new method, just click Add Method button on tab bar at the top and setup according to your liking.
To delete or copy shipping method, select it first, then click Delete or Copy button correspondingly on the top right.
NOTE: Subtotal and weight values must be entered in default figures. For example, if your default currency is Euro, total mush be entered in Euro. Same goes to weight: if default weight class is kilogram, value must be in kg only.
General Options
Basic extension settings, which affect all methods.
- License ID - Your order ID on opencart.com or our site.
- Display Mode - Display all matching methods or only the first match. For improved functionality of the First Match option use Priority value for methods.
- Add value - For some methods matched value will be added to shipping method's title (Country, City, Postcode etc).
- Debug - Essential information will be saved in error log for debugging of the issues.
- Check Version - Automatically check for extension's new version. Disable, if settings page loads slowly.
- Status - Quickly enable/disable all the methods and extension itself.
- Sort Order - Position in the list of available shipping methods.
Method Options
Every shipping method has its own set of options. Most of them can be found in any other shipping extension and most likely are well known to you.
- Tab Name - Distinct method name for settings tab.
- Method Title - Distinct method title for checkout page. Must be set for each language.
- Shipping Method - All rules below will be applied to selected shipping method. Select "None" to apply the rules to currently selected custom method.
- Base Value - Flat shipping cost for selected method. Can be used as a single flat or default value for parameter based cost calculation.
- Calculation Rules - Define your calculation rules here, using the following scheme:
- Base parameter - Parameter you want to base your shipping costs on.- Cart - Rule settings will be applied to the whole cart.
- Category - Product category will be checked for selected value.
- Category (Per item) - Same as for Category, but all conditions will be checked per item (category).
- City - City from shipping address will be checked for selected value.
- Country - Country from shipping address will be checked for selected value.
- Manufacturer - Product manufacturer ID will be checked for selected value.
- Manufacturer (Per item) - Same as for Manufacturer, but all conditions will be checked per item (manufacturer).
- Postcode - Postcode from shipping address will be checked for selected value.
- Product - Product ID will be checked for selected value.
- Product (per item) - Same as for Product, but all conditions will be checked per item (product).
- Zone - Zone from shipping address will be checked for selected value.
- Quantity - Check quantity for current rule. Can be a single value or range: 10, 10-20 etc.
- Weight - Check weight for current rule. Can be a single value or range: 10, 10-20 etc.
- Dimensions - Check overall dimensions for current rule. Can be a single value or range: 10, 10-20 etc.
- Volume - Check volume for current rule. Can be a single value or range: 10, 10-20 etc.
- Subtotal - Check subtotal for current rule. Can be a single value or range: 10, 10-20 etc.
- Cost - Shipping cost to apply, if rule matched. - Priority - Will be used to prioritize calculation and in ordering of the methods list.
- Comment Required - Require a comment from customer, if this particular shipping method selected.
- Package Weight - Additional package weight, which will be added to current cart weight.
- Package Fee - Additional fee for the package, which will be added to the shipping cost.
- Payment Methods - Only selected payment methods will be available, if customer selects current shipping method (empty - don't restrict).
- Stores - Shipping method will be available only for selected stores (empty - available for all stores).
- Customer Groups - Shipping method will be available only for selected customer groups (empty - available to everyone, including guests).
- Tax Class - Define class ID, which will be applied to selected shipping method.
- Geo Zone - Selected shipping method will be available to chosen geo zone only. It is wise to leave this value empty for Geo Zone based shipping.
- Status - Enable or disable selected shipping method.
NOTE: If you want to setup multiple value ranges in Calculation Rules, start with the highest. For example, if you want to charge different shipping costs, when quantity of particular product in cart is 0-2, 3-5 or 6-10 pcs, create rules backwards: 6-10, 3-5, 0-2.
Expanding other shipping methods
If you want to apply additional checks and calculations for other shipping method (e.g.: Flat Rate, Pickup from Store etc.), select this method first (Shipping Method option). Then define the rules the same way you do for custom shipping method. There're only two things to note:
- Base Value is not available. The value returned by selected method is used instead.
- You can leave Cost value empty in Calculation Rules table. This will disable selected shipping method, if rule match. For example, if you select Pickup as Shipping Method, set Base to Cart and enter 1-3 as Quantity, leaving Cost empty, Pickup from Store will not be available, if cart contains up to 3 products. It will become available, when number of products in the cart is 4.
Setup Examples
To help you understand, how things works, we created a few examples or most popular setup schemes.
Example 1:
Ship Product A to European Union for 20 EUR and to Non-EU countries for 39 EUR
Setup (2 methods)
- Base Value - 20, Geo Zone - European Union
- Base Value - 30, Geo Zone - Non-EU Countries
Example 2
Ship Product A for free, if cart subtotal from 500 to 1000 EUR.
Setup (1 method)
- Calculation Rules: Base parameter - Product, Name - Product A, Subtotal - 500-1000, Cost - 0.
Example 3
Charge 100 EUR for shipping, if cart weight is from 10 to 15 kilograms and country is Russia.
Setup (1 method)
- Calculation Rules: Base parameter - Country, Name - Russia, Weight - 10-15, Cost - 100.
Example 4
Free shipping, if country is US, category is Coffee and subtotal of products from this category is over 50 USD. Otherwise charge 20 USD for US and 35 USD for rest of the world.
Setup (2 methods)
- Base Value - 20, Geo Zone - US, Calculation Rules: Base parameter - Category (Per item), Name - Coffee, Subtotal - 50, Cost - 0.
- Base Value - 35, Geo Zone - Rest of the World