=== Ultimate Order Combination ===
Contributors: fahadmahmood, invoicepress
Tags: woocommerce, orders, combine, merge, consolidate
Short description: Merge WooCommerce orders easily while preserving metadata and managing originals. Supports automation, advanced filters, and HPOS.
Requires at least: 4.4
Tested up to: 7.0
Stable tag: 2.0.4
Requires PHP: 7.0
License: GPL2
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Merge and manage WooCommerce orders with ease.

== Description ==
* Author: [Fahad Mahmood](https://www.androidbubbles.com/contact)

Ultimate Order Combination lets you merge multiple WooCommerce orders into a single order while preserving all metadata, customer details, and line items. You can remove all original orders related to combined order. You have the option to move orders to trash or delete orders permanently. Inventory stats will not be affected because of orders combination.


 
= How it works? =
[youtube http://www.youtube.com/watch?v=HAMuzSm0Jd0]

= Key Features =
* Combine multiple WooCommerce orders into one
* Preserve all order metadata
* Move or delete original orders after combining
* Cron-based automation and rule-based merging
* Supports Gravity Forms product meta
* Compatible with WooCommerce HPOS

= Support =
For support and detailed documentation, visit the [support page](https://www.androidbubbles.com/contact) or check the [plugin guide](http://androidbubble.com/blog/wordpress/plugins/woo-ultimate-order-combination).


== Screenshots ==
1. How can i merge orders in basic version?
2. General setting.
3. Combined orders list.
4. Trashed orders > Restore/Delete permanently.
5. Proceed with selected status orders.
6. Remove original orders.
7. Retained meta keys from selected orders.
8. Automation - Settings
9. Automation - Rules
10. Combine / separate shipping.
11. Items with different attributes and values.
12. What to do with existing orders?
13. Order consideration and Time period
14. Double tick is for combined orders, Paw icon is used for sniffed/checked orders.
15. Combine with Gravity Form product based meta values.
16. Meta values selection for Gravity Forms.
17. Combine order related to the logged-in users only.

== Installation ==
1. Upload the plugin files to the `/wp-content/plugins/` directory, or install the plugin through the WordPress plugins screen directly.
2. Activate the plugin through the 'Plugins' screen in WordPress
3. There will now be a Combine Orders option in the WooCommerce orders list page under bulk actions.


== Frequently Asked Questions ==

= How can we restore combined orders? = 

[youtube http://www.youtube.com/watch?v=KOWb8-Ku5KY]

= What are the trashed orders and how can we restore it? = 

[youtube http://www.youtube.com/watch?v=GIyQ38NYnbk]

= How to move selected orders to trash after combination? = 

There are three ways to combine orders. 

1) Orders list > bulk options
[youtube http://www.youtube.com/watch?v=RMpGLphGp8w]

2) General Settings > Analyze

3) Automation Tab

[youtube http://www.youtube.com/watch?v=GzNC6SmprHc]
[youtube http://www.youtube.com/watch?v=eDhYqO2XieE]

All above methods allow you to optionally move to trash option.

= What premium version is about? =
[youtube http://www.youtube.com/watch?v=bn6wNjdNqyE]

= How Can I Merge Orders in the Basic Version? =
[youtube https://youtu.be/RDRvBUly2Go]

= How does it work with orders having variations? =
[youtube https://youtu.be/OZy9F5FKKsY]

= Is this compatible with WooCommerce? =
Yes

= Can we split orders with this plugin? =
No

= How it works? =
Under WooCommerce Menu > Orders List. You have a dropdown for bulk actions, there you will see an option to combine orders. This is the basic feature which is provided for FREE in this plugin. Other methods or options are added or will be added later, can be premium or free. Kindly don't misunderstand as it's an incomplete plugin. Basic plugin was released with one basic feature to combine orders.

[youtube http://www.youtube.com/watch?v=DsxXj-DuBW4]

= Can we combine orders by same customer id? =
Yes, these settings are available in premium version.

[youtube http://www.youtube.com/watch?v=GzNC6SmprHc]

= Can we combine orders by same customer email? =
Yes, these settings are available in premium version.

[youtube http://www.youtube.com/watch?v=GzNC6SmprHc]

= Can we combine orders by the same phone number entered during checkout? =
Yes, these settings are available in premium version.

[youtube http://www.youtube.com/watch?v=GzNC6SmprHc]

= Can we combine orders by identical billing address? =
Yes, these settings are available in premium version.

[youtube http://www.youtube.com/watch?v=GzNC6SmprHc]

= Can we combine orders by identical shipping address? =
Yes, these settings are available in premium version.

[youtube http://www.youtube.com/watch?v=GzNC6SmprHc]

= We have some items with different attributes and values, can these items be separated? =

Yes, as per choice these items can be separated. There is a checkbox "Keep Order Items Separate using Attributes and Values" in purple section on general settings tab. If this checkbox is On, the plugin will separate items with different attributes and values.

[youtube http://www.youtube.com/watch?v=Z7uh5enmCv4]

= Automation | Combined Orders | Trashed Orders =

[youtube http://www.youtube.com/watch?v=WT7iKybHld8]

= Split / Combine - Gravity Forms =

[youtube http://www.youtube.com/watch?v=NlM72V458L4]


== Changelog ==
= 2.0.4 =
* Added optimized combined+unknown status orders counting with transient caching, improved HPOS/classic orders screen compatibility, and fixed WooCommerce order status query handling. [18/05/2026][Thanks to Bianca Sanderson]
= 2.0.3 = 
* Tested orders combination functionality with full HPOS compatibility. Fixed the combination rule for billing address including email and phone number. [11/05/2026][Thanks to Dennis Vogt from Germany]
= 2.0.2 = 
* Full HPOS compatibility with wc_get_orders(), fixed date filtering, status prefix removal, removed invalid get_shipping_email(), improved meta query structure, translation loading fix for WP 6.7+. [08/05/2026][Thanks to Dennis Vogt from Germany]
= 2.0.1 =
* Fixed PHP 8.1 deprecated parameter warnings in stock filter functions. [26/10/2025][Thanks to Benjamin Belaga]
* Fixed WooCommerce Analytics fatal error (undefined get_report_customer_id) with safe try/catch handling.
* Fixed display issue showing "0 orders removed" after combination.


== Upgrade Notice ==
= 2.0.4 =
Added optimized combined+unknown status orders counting with transient caching, improved HPOS/classic orders screen compatibility, and fixed WooCommerce order status query handling.
= 2.0.3 = 
Tested orders combination functionality with full HPOS compatibility. Fixed the combination rule for billing address including email and phone number.
= 2.0.2 = 
Full HPOS compatibility with wc_get_orders(), fixed date filtering, status prefix removal, removed invalid get_shipping_email(), improved meta query structure, translation loading fix for WP 6.7+.
= 2.0.1 =
This version fixes PHP 8.1 warnings, prevents WooCommerce Analytics sync errors, and corrects the "0 orders removed" message. Recommended update for all users on PHP 8.1+ and WooCommerce 10.x.  


== License ==
This WordPress plugin is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or any later version. This WordPress plugin is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this WordPress plugin. If not, see http://www.gnu.org/licenses/gpl-2.0.html.