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 -> Modules and click Edit near Combine Orders module. Setup accordingly and enable.
How to use
Go to orders list, select desired orders and click Combine button. When page reloads you will get extensive report about all successful actions and errors (if feedback is turned on).
Options Description
This extension comes with lot of options, some of them require special attention. Please, read option descriptions below to better understand, how things work.
NOTE: In text below "base order" means order with the highest ID in the list of selected orders.
Order Status
Allows you to automatically set order status for combined orders. This can be useful, if you want to always manually check combined orders. Otherwise order status will not be changed.
NOTE: If you want to manually check all combined orders, we recommend you to create a new order status (e.g.: Combined) and select it in extension's settings.
Payment Method
When you combine several orders, some payment methods, including base order payment, may become unavailable. To avoid such situations, you need to select payment method, which is always available (e.g.: Free Checkout). You will be informed, that payment method has been changed. To change it back, just edit combined order and select desired payment method.
Shipping method
This option works absolutely similar to Payment Method and automatically selects "safe" shipping method, when previous one is not available. We recommend to enable and select shipping method, which doesn't depend on geo zone, tax class or anything else. For example, Cash on Delivery or Free Shipping.
Notify Customer
If set to yes, customer will receive an email, informing that his order was combined with others and list of their IDs. Otherwise everything will be done silently.
Add Comment
Comment about combined orders will be added to base order itself and to history entry.
Delete Orders
All orders except base one will be deleted after successful combine. In case of ANY errors no orders will be deleted, even if errors are not vital and combine was successful.
Allow Multiple
When this option is set to No, only orders from the same customer can be combined. If you set it to Yes, you will be able to combine all orders regardless the customer.
NOTE: Customer information for combined order will always be taken from the base order.
Add Coupons
If base order has a coupon, it'll be added in combined order as well. If there's no coupon in base order, all the rest of the selected orders will be checked for coupons.
NOTE: By default, OpenCart doesn't allow to add multiple coupons to one order. If several orders have a coupon, only one will remain in combined order. If you want to keep full discount amount from all coupons, you will have to manually add custom coupon to combined order.
Add Vouchers
If base order has a voucher, it'll be added in combined order as well. If there's no voucher in base order, all the rest of the selected orders will be checked for vouchers.
NOTE: By default, OpenCart doesn't allow to add multiple vouchers to one order. If several orders have a voucher, only one will remain in combined order. If you want to keep full discount amount from all coupons, you will have to manually add custom voucher to combined order.
Recalculate Rewards
All rewards from all orders will be summed up and their total amount applied to combined order.
Keep Affiliate
Base order affiliate will be kept in combined order. Affiliates from other orders are ignored, you'll have to add them manually, if necessary.
Redirect To
Where you want to be redirected after successful combine: order list or combined order editing page.
Feedback Mode
With this option you can have a feedback of every action displayed right on screen. It will show you all successful actions and all errors or warnings occurred in combining process. It is wise to set it to Full, when you just started using this extension and later change to Silent or Only Warnings, if everything is OK.
Debug
When this option is enabled, a verbose information will be saved in OpenCart's log. Do not enable this option, if not absolutely necessary, because a lot of information is added!
Additional Information
It is impossible to always keep all data from base order. You will have to manually update combined order sometimes.
All order totals for all orders are always recalculated, not just combined. So the resulting amount can be different. For example, if total shipping for selected orders is 100, when you combine them, it can become 94. There's absolutely no way to keep any total's original value.
Combining process can take some time, depending on number of selected products, your connection and server status. Please, be patient.
All expired discounts or specials will be lost after combine and normal prices taken. This is NOT related to extension, this is how OpenCart order editing works.
Products are restocked in the beginning of the process and subtracted at the end. Until it's finished, all products will be available to ALL your visitors. If somehow the process is interrupted (e.g.: due to lost connection), stock quantity will not be updated properly and you will have to update it manually.
If you see wrong products and quantity on order editing page after combine, just reload the page a couple times. This is sometimes necessary to refresh cart contents, especially for guest orders.
In case of ANY error old orders will not be deleted. This is done intentionally, so you could check them for any missing data and update combined order manually.