Advanced Order Export: Free vs Pro

Introduction

Advanced Order Export is a powerful and versatile tool that makes it easy to export orders from your online store in a variety of formats. With the free version of Advanced Order Export, you can export orders to CSV, XML, and PDF formats, as well as to various platforms. You can also filter orders by date range, order status, and other criteria. The free version also includes basic mapping options, allowing you to map the exported data to your own custom fields. However, the free version does not offer support any of the more advanced features.

Features of Pro

Advanced Order Export Pro is an invaluable plugin for any store owner looking to make the most out of their WooCommerce store. The automation that the pro version has can save you time and money in the long run, allowing you to focus on other aspects of your business.

All key functions of the pro version are presented in the table:

Features Free Pro
Profiles +
Status Change Jobs +
Scheduled jobs +
Destination Block +
Advanced settings +

Profiles

Profiles are a block containing saved export settings. With it, you can easily create different profiles to export your WooCommerce orders into various formats.

Status Change Jobs

The plugin also has a feature that allows you to export orders based on their status, such as processing, refunded, or completed.

Scheduled jobs

With the advanced order export scheduled jobs, store owners can easily automate the process, saving them time and resources. This allows them to focus on other aspects of their business, such as marketing and customer service.

Destination Block

This feature is ideal for businesses that need to quickly and accurately transfer order data from one platform to another. It allows for the export of orders to a wide variety of destinations, including HTTP, XML, FTP, and even direct to a web service.

Advanced settings

With its advanced settings, you can customize your order export process in detail. It allows you to configure General, Interface, Jobs, Failed Export, Zapier and HTML.

Conclusion

The Advanced Order Export plugin for WooCommerce is a great way to keep track of orders and export data quickly and easily from the store. While the free version is a great starter tool for basic data export needs, the pro version offers more features and options for more advanced data export tasks. In the professional version, you can configure and save multiple export settings, schedule automatic exports, and even export orders to different destination blocks. For those with more complex export needs, the pro version is the best choice. It offers more features and options for faster and more efficient order export tasks.

How to Set Up Advanced Order Export for Woocommerce: Beginner’s Guide

Advanced Order Export for Woocommerce is a plugin for e-commerce websites. It takes advantage of WordPress express environment and makes it easy to configure and export orders on the fly. It enables users to configure all settings in each template and create its own schedule (view details in “pro version” article). Also, it gives the facility to customize specific fields using PHP.

Orders can be exported in different formats (for example, CSV, XLS or HTML), as well as to different applications like Zapier.

 So, what is the easiest way to set up Advanced Order Export for Woocommerce?

How to install Advanced Order Export for Woocommerce

First, you need to open the

First, you need to open the “Plugins” tab and click “Add new”. 

The “Plugins” tab

You have to write “Advanced Order Export for Woocommerce” in the search panel

The search panel

Click “Install now” and wait a few seconds.

Click “Install now”

Then activate it.

You can find the plugin in the “Woocommerce” tab.

The “Woocommerce” tab

How to set up Advanced Order Export for Woocommerce

Some parameters in the plugin are set by default. Orders are filtered by the date they were created, the export file name is “orders-%y-%m-%d-%h-%i-%s”, orders are sorted by id in descending order, and all fields are in the export fields.

We will configure the most requested settings and create three different export files: a regular file with multiple orders, summary report by products, and summary report by customers.

First situation: regular file with multiple orders.

First, let’s set the order date range. For this you must click on “Date range” and select the day, month and year from the pop-up calendar

The pop-up calendar

Then change “Export filename“. To make it clear, orders for which period will be exported, let’s write the following code:

“orders-{from_date}-to-{to_date}”

Export filename

Select format of export file. In our example, it will be a PDF. Set up settings for it. Click again on PDF and choose: 

Page number – right align

Page header text – First example

Fit table to page width – Yes

Format of export file

You can also change the colors in your file and add your logo.

Other settings

Now set up fields to export.

Click on “Remove all fields” and then add other fields by method drag-and-drop.

Fields to export

Second situation: summary report by products.

For this type of export, you need to choose “Summary report by products”

Summary report by products

Note: All other settings will be saved, except for the fields for export. They will be changed to those appropriate for this type of report.

Changed fields

Third situation: summary report by customers.

As in the previous case, you need to tick the “Summary report by customers”

Summary report by customers

Also fields for export will be different.

Different fields

How to create a custom field in Advanced Order Export for Woocommerce

Sometimes it happens that you need additional fields for a report. In the plugin Advanced Order Export for Woocommerce, you can add them yourself.

How to create a custom field:

  • Go to the desired category and click on the “Add field” button;
  • Select the “Meta key” value;
  • Add the value to the “Column name” and “Field format” fields (string only for XLS);
  • Click the “Confirm” button.

Custom field

Another way to add a static field:

  • Click on the “Add static field” button;
  • Enter a value in the “Column name” field;
  • Fill in the “Value” field or leave it empty;
  • Select the value from the “Field format” drop-dow;
  • Click the “Confirm” button”.

Static field

How to save report settings to your own Profile in Advanced Order Export for Woocommerce (Pro)

Once you’ve set up your report, you can save them to your Profiles. 

To do this, click on the “Save as a profile” button

The “Save as a profile” button

You can create several such settings for different types of reports, as well as configure their schedule, automatic export when the order status changes, and the destination. (view details in “pro version” article)

 

Export the order

Note: Before exporting orders, you must ensure that your list of orders is not empty.

There are two ways to export orders from Woocommerce: “Export” and “Export without progressbar”.

Export orders

For bulk exporting orders, you must use the “Export” button. Otherwise, click on “Export without progressbar”.

There are three reports: the regular file with multiple orders, summary report by products, and summary report by customers.

The regular file with multiple orders

Summary report by products

Summary report by customers

Conclusion on how to set up Advanced Order Export for Woocommerce.

Now you figured out how to configure Advanced Order Export for Woocommerce. It also has many other equally useful settings. You can read about all of them in our plugin documentation.

How to set up bulk discounts in Advanced Dynamic Pricing for WooCommerce

Bulk discounts are a pricing strategy that offers reduced prices or special deals to customers who purchase large quantities of a product. This strategy aims to incentivize customers to buy more by providing them with a financial benefit.

The relevance of bulk discounts lies in its potential to increase sales volume and revenue for businesses. By offering lower prices for larger quantities, businesses can attract customers who are looking to save money or stock up on a particular product. This can be particularly effective for businesses that sell products with low storage costs or perishable items that need to be sold quickly.

Additionally, bulk discounts can help businesses build customer loyalty and encourage repeat purchases. Customers who take advantage of bulk discounts are more likely to become regular customers, as they have already experienced the benefits of buying in larger quantities. Furthermore, bulk discounts can also help businesses compete with larger retailers or online platforms that offer lower prices due to their economies of scale.

Overall, the relevance of bulk discounts lies in its ability to drive sales, increase customer loyalty, and help businesses remain competitive in the market.

Advanced Dynamic Pricing for WooCommerce provides a convenient and effective solution for implementing bulk discounts in an online store.

Bulk Discounts based on quantities

Let’s add a rule and configure it.

Note: For all rules, you must specify the title, the number of applications, the date, and apply at first to.

The title, the number of applications and apply at first to

The date

Select the type of discount “Bulk” from the list.

The types of discount

You will see the next window:

Settings for bulk

Let’s choose which product the bulk discount applies to (Cap).

The item

Define the type of discount (in percent). Add a range of products and a discount on it. Click on the “Add range” button.

The “Add range” button

Similarly, we add a few more ranges and a discounts.

Ranges and discounts

The product page displays bulk discounts on the cap.

The product page

When ordering 7 caps, a 10% discount is applied. The rule is working successfully.

7 caps with 10 % discount

Bulk discount for Specific Categories

Select “Categories” in the filter types.

The filter types

Specify the required category (Music).

The category

Choose a fixed discount for the item.

The types of discount

Specify the range of products to activate the discount.

The range and discount

The product page shows the bulk discount on the album (music category).

The product page

The album dropped $5 in price because a bulk order.

The category with discount

Bulk Discount for Selected Product – Simple Product Type

Let’s choose a product (Cap).

The item

Select the type of discount (in percent). Choose “Qty based on product” in the drop-down list.

Bulk mode settings

Set the range and discount.

The range and discount

The product page displays bulk discount on the cap.

The product page

Caps have 5$ discount.

Caps with discount

Bulk Discount for Different Variations (Qty based on variations)

Let’s choose a product (Hoodie).

The item

Choose “Qty based on variation” in the drop-down list.

The drop-down list

Set ranges and discounts.

Ranges and discounts

The product page displays bulk discount on the hoodie.

The product page

Discount applies to each product variation separately.

Blue Hoodie without discount and Green Hoodie with discount

Bulk Discount for Different Variations (Qty based on all matched products)

Repeat previous steps. Instead of “Qty based on variation” select “Qty based on all matched products” in the dropdown list.

The drop-down list

Product variations are no longer important. Discount applies to all hoodies.

All hoodies with discount

Tier Discount

Tier discounts allow you to set your own discount for each range. It looks like this:

Tier discounts

To understand how they work, see the paragraph Bulk Discounts based on quantities.

Role filter and bulk ranges as one rule

Click on the “Role discounts” button.

The “Role discounts” button

Choose the type of role and the type of discount.

The type of role and the type of discount

Choose the nessesary item (Polo).

The item

Set the range and the discount.

The range and the discount

The client has a double discount – for being a customer (5%), and for a bulk order (5%).

Double discount

Conclusion on how to set up bulk discounts in Advanced Dynamic Pricing for WooCommerce

Setting up bulk discounts in Advanced Dynamic Pricing for WooCommerce is a great way to increase your store’s sales and customer loyalty. Bulk discounts allow you to reward customers who buy in bulk, which encourages them to come back to your store and purchase more. With Advanced Dynamic Pricing, you can set up discounts based on the quantity of items purchased, the total value of the purchase, or both. You can also set up discounts based on user roles, meaning that you can provide discounts to certain customer groups that you define. Additionally, you can set up the discounts to be applied automatically at checkout, so that customers don’t have to remember to enter a coupon code. Bulk discounts are a great way to increase customer loyalty and sales, and Advanced Dynamic Pricing for WooCommerce makes it easy to set them up.

How to set up Phone Orders for WooCommerce: Beginners Guide

How to set up Phone Orders for WooCommerce: Beginners Guide

Essentially, a phone order is a calling up to your buyers and placing an order via telephone. This can obviously be a huge boon to your revenue as you don’t have to use postage or an expensive shipping service to ship products to customers who may only be making a small order.

The Phone Orders for WooCommerce makes it easier to enter phone orders in the WooCommerce backend. This makes it much more efficient.

The plugin has many useful features:

  • Quick search through existing customers or add new ones
  • Easily add new products or search for existing ones on-the-go
  • Prices can be set according to default rates, or adjusted within the order itself

In this article, we will show how to install and start to use the Phone Orders plugin.

How to install Phone Orders for WooCommerce

Click on the “Plugins” tab and select “Add New”.

Then enter “Phone Orders for WooCommerce” in the search bar. Click on the “Install now” button and then on the “Activate” button.

The plugin will appear in the “Woocommerce” tab.

How to create a new order in Phone Orders for WooCommerce

As you can see in the picture, the “Phone Orders” area is divided into two blocks: order details and information about the customer.

Phone Orders main area

Fill in the details of the order. We select the products that the customer wants to purchase.

Searching of the products in Phone Orders search

As soon as we click on the desired product, it immediately appeared in the shopping cart.

The Phone Orders’ cart

Let’s change the price and quantity.

Changing the price and quantity in Phone Orders

Click on the “Recalculate” button to display the tax in the shopping cart.

The “Recalculate” button

Now the price with tax is displayed in the cart.

New price with tax in the shopping cart

Notes are located in the lower left corner. It can be both notes of the customer, and others.

Write your order’s note in Phone Orders

Let’s add a new customer. Click on the “New customer” button link.

The “New customer” link

Required fields are marked with a checkmark. Let’s fill it in.

Note: You can set up suitable required fields in the pro version.

The “New customer” editor

For example, Lisa (our customer) said that she needs to deliver the order to a different address. Check the box “Ship to a different address?” and fill in the data (pencil icon).

Checking the box “Ship to a different address?”

Editing address

When you have entered all the details of the order, click on the “Create order” button. Now you can view the order, send a check to the customer by email or create a new order.

Creating the order

This is what the “View order” page looks like.

The “View order” page

How to create a new order based on existing order in Phone Orders for WooCommerce

Find, edit and copy an existing order using “Find Existing Order” section in the PRO version of the Phone Orders plugin:

  1. Input customer name, product name or order number;

Using the “Find existing order” panel

  1. Find and choose the order you need;

Choosing needed order

  1. Сopy it to the new.

Clicking to the “Copy order” button

Successful creation of a copy of the order

The view of copied order

In the PRO version of the plugin, you have access to such functions as:

  • Pause and resume the order
  • Customer search by shipping/billing fields
  • Configure fields and default values while adding new customers
  • Define products that can be sold (out of stock? without price?)
  • Support composite/bundled/other complex products
  • Add any additional fees
  • Setup custom fields for the order/customer
  • Extra WooCommerce reports
  • After creating the order, you can “Pay order as customer”

Read about them in our article How to set up Phone Orders for WooCommerce: Beginners Guide (Pro).

Conclusion on how to set up Phone Orders for WooCommerce

In this blog post I have demonstrated how to set up Phone Orders for WooCommerce. I hope you will be able to set up the plugin with the help of this article. If you are looking for other helpful tutorials, read related articles of this blog.

Integrating Advanced Order Export with Third-Party Applications: Best Practices

The use of third-party applications has become increasingly popular among businesses looking to streamline their operations and improve efficiency. From accounting software to customer relationship management tools, these applications offer a wide range of features that can benefit a business in various ways.

One of the key areas where third-party applications can be particularly useful is in order management. With the rise of e-commerce and online shopping, businesses need to have a robust order management system in place to handle the increasing volume of orders. This is where integrating Advanced Order Export for WooCommerce with third-party applications can be a game-changer.

What is Advanced Order Export?

Advanced Order Export for WooCommerce allows businesses to export their order data in a customizable format. This can include order details such as customer information, product details, shipping information, payment information and etc. This data can then be transferred to third-party applications for further processing.

Integrating Advanced Order Export with Third-Party Applications: The Benefits

  1. Streamlined Order Management Process

Integrating Advanced Order Export for WooCommerce with third-party applications can streamline the order management process. Instead of manually entering order data into different systems, businesses can automatically transfer the data to the third-party application. This eliminates the chances of human error and saves time, allowing businesses to focus on other important tasks.

  1. Improved Efficiency

By automating the transfer of order data, businesses can improve their efficiency. This is because orders can be processed and fulfilled faster, reducing the time it takes for a customer to receive their order. This can lead to increased customer satisfaction and repeat business.

  1. Real-Time Data Synchronization

Integrating Advanced Order Export for WooCommerce with third-party applications allows for real-time data synchronization. This means that any changes made to an order, such as updates to shipping information or product quantities, will be reflected in both the order management system and the third-party application. This ensures that all systems have the most up-to-date information, reducing the chances of errors or delays.

Best Practices for Integrating Advanced Order Export with Third-Party Applications

Integrating Advanced Order Export for WooCommerce with third-party applications can be a complex task and requires careful planning and implementation. One of the key factors to consider when integrating these systems is compatibility. It is essential to ensure that the order export system and the third-party applications are compatible and can communicate effectively with each other.

Note: You can find a complete list of compatible plugins by following this link.

Tickera

Tickera is a popular WordPress plugin that is used by event organizers to sell tickets online. It is a comprehensive and user-friendly solution for managing ticket sales and registrations for events of any size. The plugin integrates seamlessly with any WordPress theme, making it easy for event organizers to create a professional-looking and customizable ticketing system.

An example of a simple event template with the ability to buy a ticket online.

Integrating Tickera with Advanced Order Export For WooCommerce is a straightforward process. You can follow these steps to set it up:

  1. Buy Bridge for WooCommerce. You won’t be able to export tickets until they become a WooCommerce product. Our plugin only works with WooCommerce.

Note: The ticket creation process will be different with this add-on. Read about it here.

  1. Paste the following code into a snippet, for example using the Code Snippets plugin.

add_filter('woe_get_order_product_fields',function ($fields) {
	$fields['event_name'] = array('label'=>'Event Name','colname'=>'Event Name','checked'=>1);
	$fields['event_start_at'] = array('label'=>'Event Start','colname'=>'Event Start','checked'=>1);
	$fields['event_end_at'] = array('label'=>'Event End','colname'=>'Event End','checked'=>1);
	$fields['event_location'] = array('label'=>'Event Location','colname'=>'Event Location','checked'=>1);
	$fields['ticket_type'] = array('label'=>'Ticket Type','colname'=>'Ticket Type','checked'=>1);
	$fields['ticket_owner'] = array('label'=>'Ticket Owner Name','colname'=>'Ticket Owner Name','checked'=>1);
	$fields['ticket_owner_first'] = array('label'=>'Ticket Owner First Name','colname'=>'Ticket Owner First Name','checked'=>1);
	$fields['ticket_owner_last'] = array('label'=>'Ticket Owner Last Name','colname'=>'Ticket Owner Last Name','checked'=>1);
	$fields['ticket_email'] = array('label'=>'Ticket Owner Email','colname'=>'Ticket Owner Email','checked'=>1);
	$fields['ticket_code'] = array('label'=>'Ticket Code','colname'=>'Ticket Code','checked'=>1);
	
	// get form  fields 
	$args = array(
		'post_type'              => 'tc_form_fields',
		'post_status'            => 'publish',
		'posts_per_page'         => -1,
		'no_found_rows'          => true,
		'update_post_term_cache' => false,
		'update_post_meta_cache' => false,
		'cache_results'          => false,
		'fields'                 => array( 'ID', 'post_parent' ),
	);
	$custom_fields = get_posts( $args );
	if ( count( $custom_fields ) > 0 ) {
		foreach ( $custom_fields as $custom_field ) {
			$form_status = get_post_status( $custom_field->post_parent );
		    $form_title = get_the_title( $custom_field->post_parent );
			if ( $form_status == 'publish' ) {
				$element_class_name = get_post_meta( $custom_field->ID, 'field_type', true );
				$form_type = get_post_meta( $custom_field->post_parent, 'form_type', true );
				if ( class_exists( $element_class_name ) ) {
					$element = new $element_class_name( $custom_field->ID );
					if ( $element->standard_field_export( $element->element_name, true ) ) {
						$field = $element->admin_order_details_page_value();
						
						// add new field 
						$fields['ticket_CF_' . $field['id'] ] = array('label'=>"[$form_title] " . $field['field_title'],'colname'=>"[$form_title] " . $field['field_title'],'checked'=>1);
					}// if can be exported 
				}// 
			}
		} // if visible 
	}	// if fields 
	return $fields;
});


add_filter('woe_fetch_order_products', function ($data, $order, $labels, $format, $static_vals ) {
    $ticket_field_names = array("event_name","event_start_at","event_end_at","event_location","ticket_type","ticket_owner","ticket_email","ticket_code");
	$first_row = array_shift(array_values($data));
  
    //run only if Tickera fields was added to export
    $has_ticket_columns = false;
    foreach($first_row as $key=>$value) {
		if( in_array($key,$ticket_field_names) OR preg_match('#^ticket_CF_(.+)$#',$key,$field_key) ) {
		  $has_ticket_columns = true;
		  break; 
		}
    }
    if( !$has_ticket_columns )
	   return $data;
  
	$new_data = array();
	$used_keys = array();
  
	$args = array(
		'posts_per_page' => -1,
		'orderby' => 'post_date',
		'order' => 'ASC',
		'post_type' => 'tc_tickets_instances',
		'post_parent' => $order->get_id(),
	);
	$tickets = get_posts($args);
	foreach($tickets  as $pos=>$ticket) {
		
		//fill ticket data	
		$ticket_type_id = get_post_meta($ticket->ID, 'ticket_type_id', true);// it's a product_id !!!
		if( $ticket_type_id )  {
			$ticket_type = new TC_Ticket($ticket_type_id);
			if( $ticket_type  ) {
				// must find Item ID of main product
				foreach($order->get_items() as $item_id=>$item) {
					if( $item['product_id'] == $ticket_type_id OR  $item['variation_id'] AND $item['variation_id'] == $ticket_type_id) {
						$new_row = $data[$item_id];
						$used_keys[] = $item_id;
						break;
					}
				}
				
				$event_id = $ticket_type->get_ticket_event();
				$event = get_post($event_id, ARRAY_A);
				
				//gather details 
				$t_data = array();
				$t_data['event_name']	=  $event['post_title'];
				$t_data['event_start_at']	=  get_post_meta( $event_id , 'event_date_time', true);
				$t_data['event_end_at']	=  get_post_meta( $event_id , 'event_end_date_time', true);
				$t_data['event_location']	=  get_post_meta( $event_id , 'event_location', true);
				$t_data['ticket_type']	=  $ticket_type->details->post_title;
				$t_data['ticket_owner']	=  get_post_meta($ticket->ID, 'first_name', true) ." " .get_post_meta($ticket->ID, 'last_name', true); 
				$t_data['ticket_owner_first']	=  get_post_meta($ticket->ID, 'first_name', true); 
				$t_data['ticket_owner_last']	=  get_post_meta($ticket->ID, 'last_name', true); 
				$t_data['ticket_email']	=  get_post_meta($ticket->ID, 'owner_email', true); 
				$t_data['ticket_code']	=  get_post_meta($ticket->ID, 'ticket_code', true);
				
				//fill only selected Tickera fields 
				foreach($t_data as $key=>$value)
					if( isset($first_row[$key]))
						$new_row[$key] = $value;
						
				//	try to get Custom Form fields 	
				foreach($first_row as $key=>$value) {
					if( preg_match('#^ticket_CF_(.+)$#',$key,$field_key) )
						$new_row[$key] = get_post_meta($ticket->ID, $field_key[1], true);
				}
				
				//done!
				$new_data[] = $new_row;
			}	
		}	
	}
	
	// export items which have NO tickets!
	foreach($data as $key=>$row)
		if( !in_array($key, $used_keys) )
			$new_data[] = $row;
		
	return $new_data;
},10,5);

  1. Customize your report. We wrote about this in articles and. Without going into details, you can leave all the default settings and choose your desired export format.

The result of integration of Tickera and Advanced Order Export for WooCommerce (fields are customized).

Extra Product Options for WooCommerce by Themehigh

With Extra Product Options for WooCommerce, store owners can create custom fields for their products, such as text fields, drop-down menus, checkboxes, and more. This allows customers to add additional information, such as engraving details or color preferences, to their orders. However, when it comes to exporting these orders, the default WooCommerce export feature does not include the custom product options. This can be a major issue for businesses that rely on these options for their products. By integrating with Advanced Order Export For WooCommerce, store owners can export orders with all the custom product options included.

In an example, the option to select gift wrapping is already available on the product page. Thus, the customer does not need to look for it.

Using Advanced Order Export For WooCommerce integration, we can track how often customers add Gift wrapping to an order. This can be useful in making decisions regarding a product: Should the price be increased or decreased? or remove Gift wrapping altogether?

As with Tickera, you need to paste the following code into the snippet.

Note: I use code “all options as ONE row”. There are also codes “each option as column” and “each option as separate row”.

// add all options to SINGLE  product row
class WOE_add_TM_cols{
	var $tm_cols = array( 'pos','name','value','price','quantity', 'name_value'); 
	function __construct() {
		add_filter('woe_get_order_product_fields',array($this,'add_product_fields') );
		add_filter('woe_fetch_order_products', array($this,'fill_tm_cols') ,10, 5);
	}	
	
	function add_product_fields($fields) {
		foreach($this->tm_cols as $tm_col) {
			$fields['tm_field_'.$tm_col] = array('label'=>'TM '.$tm_col,'colname'=>'TM '.$tm_col,'checked'=>1);
		}	
		return $fields;
	}
	
	function fill_tm_cols($products, $order, $labels, $format,$static_vals) {
		$new_products = array();
		
		foreach( $products as $item_id=>$product) {
			$item_meta = get_metadata( 'order_item', $item_id );
			
			$pos = 1; 
			if( isset($item_meta["_tmcartepo_data"])   AND  is_array($tmfields = maybe_unserialize($item_meta["_tmcartepo_data"][0]))  ) {
				$new_product = $product;
				foreach($tmfields as $tm_field) {
					$tm_field['pos']= $pos++;//set fake field
					$tm_field['name_value'] = $tm_field['name'] . ':' .$tm_field['value'];
					// fill TM columns 
					foreach($this->tm_cols as $tm_col) {
						if( !isset($new_product['tm_field_'.$tm_col])) continue;
						if( !empty($new_product['tm_field_'.$tm_col]))
							$new_product['tm_field_'.$tm_col] .= ", " .$tm_field[$tm_col];
						else	
							$new_product['tm_field_'.$tm_col] = $tm_field[$tm_col];
					}
				}
				//don't add each option as new product!
				$new_products[] = $new_product;
				$pos++;
			}
			if( isset($item_meta["_tmcartfee_data"])   AND  is_array($tmfields = maybe_unserialize($item_meta["_tmcartfee_data"][0]))  ) {
				$new_product = $product;
				foreach($tmfields[0] as $tm_field) {
					$tm_field['pos']= $pos++;//set fake field
					$tm_field['name_value'] = $tm_field['name'] . ':' .$tm_field['value'];
					// fill TM columns 
					foreach($this->tm_cols as $tm_col) {
						if( !isset($new_product['tm_field_'.$tm_col])) continue;
						if( !empty($new_product['tm_field_'.$tm_col]))
							$new_product['tm_field_'.$tm_col] .= ", " .$tm_field[$tm_col];
						else	
							$new_product['tm_field_'.$tm_col] = $tm_field[$tm_col];
					}
				}
				//don't add each option as new product!
				$new_products[] = $new_product;
				$pos++;
			}
			if($pos==1) //nothing added - just copy product as is 
				$new_products[] = $product;
		}
		return $new_products;
	}
}	
new WOE_add_TM_cols();

Then generate a report.

Shipping Multiple Addresses

Shipping multiple addresses has become an essential plugin for e-commerce businesses, as it allows customers to ship their purchases to multiple locations with ease. This is especially useful for customers who may want to send gifts to multiple recipients or for businesses that need to fulfill orders to different addresses. Integrating this plugin with Advanced Order Export for WooCommerce takes the shipping process to the next level.

First, let’s clarify how to configure the Shipping multiple addresses plugin. After installation and activation, you will find the new “Multiple Customer Addresses Options” tab. There you need to enable the “Shipping per product” option (located at the very end of the page). After which the buyer will be able to select different shipping or billing addresses for each product at the Checkout page.

As with previous plugins, paste the following code:

//this code adds shipping information for each product
class WOE_add_product_shipping{
	var $qty_shipping, $default_address ;
	
	function __construct() {
		//add fields to export
		add_filter('woe_get_order_product_fields', array($this,'add_shipping_fields'), 10, 2);
		//remember QTY+Address for each prodct
		add_filter('woe_order_export_started',array($this,'fetch_product_shipping'), 10, 1);
		// rebuild product list based on shipping packages
		add_filter('woe_fetch_order_products',array($this,'rebuild_products_shipping'), 10, 5);
	}	
	
	function add_shipping_fields($fields,$format) {
		$names = array('first_name','last_name','full_name','company','country','address_1','address_2','city','state','postcode','note');
		foreach($names as $f) {
			$fields['shipping_'.$f] = array('label'=>"Product Shipping ".$f,'checked' => 1, 'colname'=>"Product Shipping ".$f);
		}	
		return $fields;
	}           

	function fetch_product_shipping($order_id){
		$this->qty_shipping = array();
		$shipping_packages = get_post_meta($order_id, '_wcms_packages', true );
		if( !is_array($shipping_packages) )
			$shipping_packages = array();
		foreach($shipping_packages  as $pack) {
			$addr = $pack['destination'];
			foreach($pack["contents"] as $item) {
				$key = $item['cart_key'];
				$addr['full_name'] = trim($addr['first_name'] . " " . $addr['last_name']); // new field
				$addr['note'] = isset($pack['note']) ? $pack['note'] : '';
				if( !isset($this->qty_shipping[$key]) )
					$this->qty_shipping[$key] = array();
				$this->qty_shipping[$key][] = array("qty"=>$item['quantity'],"address"=>$addr);
			}
		}               
      
		//if no pack!
		$order = new WC_Order($order_id);
		$this->default_address = array();
		$names = array('first_name','last_name','company','country','address_1','address_2','city','state','postcode');
		foreach($names as $field)
	                $this->default_address[$field] = $order->{"get_shipping_".$field}();
		$this->default_address['full_name'] = trim($this->default_address['first_name'] . " " . $this->default_address['last_name']); // new field
		$this->default_address['note'] = $order->get_customer_note();
		return $order_id;
	}

	function rebuild_products_shipping($products, $order, $labels, $format, $static) { 
		$new_products = array();
		foreach( $products as $item_id=>$row) {
			$item = $order->get_item($item_id);
			$key = $item['_wcms_cart_key'];
			if( !isset($this->qty_shipping[$key])) { // not multishipping package!
				$this->qty_shipping[$key] = array( array("qty"=>$item['qty'], 'address'=>$this->default_address) );
			}
			foreach($this->qty_shipping[$key]  as $new_row) {
				if( isset($row['qty']) )
					$row['qty'] = $new_row['qty'];
				if( isset($row['qty_minus_refund']) )
					$row['qty_minus_refund'] = $new_row['qty'];
				foreach($new_row['address'] as $k=>$v) {
					$k = 'shipping_'.$k;
					if( isset($row[$k]) )
						$row[$k] = $v; 
				}
				$new_products[]= $row;
			}
		}
		return $new_products;
	}

}	
new WOE_add_product_shipping();

Generating the report will be more difficult this time. You need to create the fields required for the report by clicking on the “Add field” button in the “Product order items” tab in the “Set up fields to export” section. Find and add the following fields as in the screenshot.

Note: Learn more about how to use the “Add field”, “Add static field” and “Add calculated field” buttons.

To get this result.

Ultimately, integrating of Advanced Order Export for WooCommerce with third-party applications can bring numerous benefits to companies. It saves time, reduces errors, and provides a comprehensive overview of all orders. This not only improves the efficiency of the business but also enhances the overall customer experience, making it a valuable tool for any e-commerce store.

Phone Orders for Woocommerce: Free vs Pro versions

Introduction

If you’re running an online store, you know how important it is to provide a seamless and efficient ordering process for your customers. While many customers prefer to place orders online, there are still those who prefer to order over the phone. That’s where Phone Orders for Woocommerce comes in.

Phone Orders for Woocommerce is a powerful plugin that allows merchants to take orders quickly and easily over the phone. The plugin comes in two versions: Free and Pro. Both versions come with powerful order management features such as order tracking, customer account management, and order notifications. Whether you are a small business or a large enterprise, Phone Orders for Woocommerce can help you take orders quickly and easily over the phone.

When it comes to choosing between the Free and Pro versions of Phone Orders for Woocommerce, there are a few key factors to consider. The Free version is a great option for small businesses or those on a tight budget. It offers basic order management features that can help streamline your phone order process. However, if you’re looking for more advanced features and customization options, the Pro version is the way to go. With the Pro version, you’ll have access to additional features such as advanced reporting, custom order statuses and fields. Moreover, it is an ideal solution for those who want to take their business to the next level.

Advantages of Pro

The Pro version offers an amazing range of features that make it easier to run and manage your business. The table shows the main ones.

Features Free Pro
Separate web page for adding orders (without access to /wp-admin) +
A lot of UI options to suit different workflows and setups +
Create new order based on existing order +
Pause and resume the order +
Customer search by shipping/billing fields +
Configure fields and default values while adding new customers +
Define products that can be sold +
Support composite/bundled/other complex products +
Add any additional fees +
Setup custom fields for the order/customer +
Extra WooCommerce reports +
After creating the order, you can “Pay order as customer” +

Let’s look at what each function is.

Separate web page for adding orders (without access to /wp-admin)

Don’t want your employee to have access to the site’s control panel? Create a separate page for adding orders. This solution will simplify the work of the call operator. And you will be sure that the employee will not make “unnecessary” movements in your online store.

A lot of UI options to suit different workflows and setups

The plugin also has a range of user interface (UI) options that allow businesses to customize their order forms. It allows you to add custom fields and set the required fields for each order, so you can ensure that all the necessary information is collected. In addition, you can hide some fields or rearrange them. With all these UI options, it’s easy to create an order form that looks and works the way you want it to.

Create new order based on existing order

Creating a new order based on an existing order is a great way to streamline the process of fulfilling a customer’s needs. By taking an existing order, you can quickly and easily create a new order that meets the customer’s needs without having to start from scratch. This saves time and energy while ensuring the customer receives the products and services they requested.

Pause and resume the order

Pausing and resuming orders is a great way to manage your orders more efficiently. By pausing an order, you can stop it from being processed and fulfilled, while still keeping all the details of that order on your site. This can be especially helpful if you need to adjust the order details. For example, adding or removing items, or if you need to change shipping methods.

Customer search by shipping/billing fields

By having the ability to search by shipping or billing address, companies can quickly and accurately locate customer information. This information can be used to provide better customer service, process returns or exchanges, and even to provide targeted offers.

Configure fields and default values while adding new customers

Setting a default city in phone orders is very relevant for local businesses, as it allows them to better serve their customers. This will save time for both the customer and the store, as the store won’t have to manually enter the city for each order.

Define products that can be sold

Selling out of stock products is a great way to boost sales and keep customers engaged. It encourages customers to keep checking back to see when the product is back in stock, and makes them feel like they are part of the product’s journey. For retailers, selling out of stock products can increase revenue, as customers may purchase other items while they wait for the product to come back in stock. Additionally, it increases customer loyalty, as customers will know that the retailer is actively trying to get the product back in stock as quickly as possible. Furthermore, it gives the retailer an opportunity to remind customers of the product when it is back in stock, and potentially drive more sales.

Selling out of stock products can also help retailers better understand their customers’ needs and preferences. By tracking which products are selling out quickly and which are not, retailers can gain insight into what their customers are looking for and adjust their product selection accordingly.

Support composite/bundled/other complex products

The pro version of the plugin also makes it easy to support complex products such as composite and bundled products. To do this, activate the plugin for complex products, configure orders at frontend page (see Separate web page for adding orders above), insert the php code (look in our documentation) corresponding to your plugin into the snippet. If you click on the Configure products button, you can configure the bundle.

Add any additional fees

Fees are an important part of any business, as they help to cover the costs of running the business. Fees can cover the costs of rent, supplies, salaries, utilities, taxes, and other expenses associated with running a business. By collecting the right fees, businesses can ensure that their customers are satisfied and that they can remain competitive. In some cases, fees may even act as an incentive for customers to purchase more products or services. For these reasons, fees are becoming increasingly important for businesses of all sizes.

Setup custom fields for the order/customer

With custom fields, you can create additional fields to better capture relevant information from customers and orders. This information can be used to personalize customer experience, track orders, and increase efficiency in the back-end.

Custom fields can be created for both customers and orders. For customers, you can add fields like gender, age, location, or other demographic information. For orders, you can add custom fields like delivery instructions, order notes, or any other details that customers may need to provide.

Extra WooCommerce reports

The plugin adds 3 new reports to the Reports tab: Sales by Phone, Sales Online, Sales by Phone, per creator. The Sales by Phone provides detailed information about telephone sales, total orders accepted, total sales volume, and total number of items sold. The Sales Online report shows an overview of sales made through the website, including total number of orders, total sales amount, and value of coupons redeemed. The Sales by Phone, per creator report provides information about each author’s sales, such as total sales and total orders. With these new reports, businesses can quickly and easily analyze their sales and identify areas in need of improvement.

After creating the order, you can “Pay order as customer”

If the customer wishes to pay for the order with a credit card immediately then the “Pay order as customer” function is the perfect solution. This allows customers to make payments without having to go through the browser. All your employee needs to do is click on the “Pay order as customer” button and enter customer’s credit card details. Once the details have been confirmed, the order will be processed immediately and a confirmation email will be sent to the customer. This ensures that the customer can pay for the order quickly and easily without any hassle.

Conclusion

Overall, Phone Orders for Woocommerce provides an easy and efficient way to take orders over the phone and process them in your store. Whether you choose the Free or Pro version, you’ll be able to save time and money and streamline your phone ordering process.

Top 4 best pricing rules for the Black Friday day

Black Friday is the busiest shopping day of the year when people flock to stores and websites to take advantage of the biggest discounts of the year. It’s no surprise that retailers are always looking for ways to maximize their profits on this day and one of the best ways to do this is by implementing pricing rules. Advanced Dynamic Pricing for WooCommerce is a great tool for automating your pricing and taking the guesswork out of setting your prices for Black Friday.

Here are the top 4 best pricing rules for Black Friday when using Advanced Dynamic Pricing for WooCommerce.

Organize Sitewide Discount

This is an old and proven method on Black Friday. By offering an attractive and irresistible discount, customers are more likely to visit your website and make a purchase.

How to create this type of discount in Advanced Dynamic Pricing for WooCommerce?

  1. Select the type of discount “Product discount” from the list.

  1. To apply the discount to a product, click on “Any products” in the product filter.

  1. In “Product discounts” choose persentage discount 15.

  1. Way to go!

Create Price Bundles

Price bundles are a great way to encourage customers to purchase multiple items at once. For example, a business can offer customers a discounted price if they purchase two or more items from the store. This will help the business increase their average order size and maximize their profits.

You can easily create this rule in Advanced Dynamic Pricing for WooCommerce. For example, let’s take a common option – the cheapest product with a 50% discount.

To do this rule you need:

  1. Select the type of discount “Product discount” from the list.

  1. Click on “Any products” in the product filter.

  1. Add one more position using the “Add product filter” button. Select “Select most expensive products” for one item and “Select cheapest products” for another.

Note: This feature is only available in the pro version.

  1. To add a discount for each product individually, click on the “Split” checkbox. For a cheap item, add a 50 percent discount.

  1. That’s it!

Increase your cart value

By focusing your offering on increasing basket value, you can significantly increase your profits and overcome rising costs.

Step-by-step guide on how to do this in the plugin:

  1. Select the type of discount “Product discount” from the list.

  1. Click on “Any products” in the product filter.

  1. In “Product discount” choose percentage discount 20.

  1. Add Cart Conditions by clicking button.

  1. Set “Subtotal (exc. VAT) ≥ 200” in “Cart Conditions”.

  1. Well done!

Offer free gifts

Gifts when making a purchase are also an effective tool for motivating the client. Motivate the client to buy more and thank him with a gift – a satisfied client will perceive the purchase as more profitable and will certainly become more loyal.

A rule with a free gift can be created in Advanced Dynamic Pricing for WooCommerce in the following way:

  1. Select the type of discount “Gifts” from the list.

  1. Choose Cap as a gift.

  1. Set “Subtotal (exc. VAT) ≥ 45” in “Cart Conditions”.

  1. Perfect!

Tips in BF

  • Influence the buyer with urgency messages. The principle of scarcity and the effect of urgency are the fuel for increasing sales. Display your store’s inventory at a reduced price for a limited period of time, and customers will be more willing to make purchases. The terms of such promotions may be valid for 24-48 hours, but the discount on the product can reach 80%.
  • Take advertising from influencers. Find among the opinion leaders those your audience trusts. Most often, advertising is ordered from Instagram bloggers, owners of popular YouTube channels and thousands of people on other social networks. For a certain amount, a blogger will praise your product, make a review and, of course, provide a link to the online store. If you prepare in advance, you can send the product to the blogger so that he can try it and tell his subscribers about it.
  • Develop brand values. A growing trend around Black Friday is the number of stores offering to donate some or all of their profits to charity. This marketing idea not only attracts shoppers who aren’t tempted by discounts, but it can also promote positive perception of your brand.

These are just a few of the many pricing rules available with Advanced Dynamic Pricing for WooCommerce. With this powerful tool, you can create custom discounts to maximize your sales on Black Friday.