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.

How to use social networks to increase phone orders

Social networks have become a vital part of the marketing mix. They offer businesses a direct line to engage with customers and influence their purchasing decisions. Here’s how companies can use social networks to increase phone orders:

Understanding the Audience

Before launching any campaign, it’s crucial to understand the target audience. Analyzing social media data can provide insights into customer preferences, behaviors, and the times they are most active online. Tailoring content to match these insights can increase the chances of conversion to phone orders.

Example: A local pizzeria analyzes their Instagram data and finds that their followers engage the most with posts featuring their signature pepperoni pizza. They decide to run a campaign during dinner hours, showcasing this popular item and encouraging followers to call and order with a special hashtag.

Engaging Content Creation

Content is king on social media. Creating engaging, informative, and visually appealing content can capture the attention of potential customers. Whether it’s through live videos, stories, or posts, the content should encourage viewers to make a phone call and place an order.

Example: A boutique clothing store shares a series of Instagram stories with a fashion influencer trying on different outfits. Each story ends with a “Swipe Up to Call” option, making it easy for viewers to phone in and purchase the featured clothing.

Personalized Messaging

Personalization can significantly enhance customer experience. Using social media to send personalized messages or respond to queries can make customers feel valued and more likely to use the phone ordering service.

Example: A customer comments on a Facebook post asking if a cake can be customized for a birthday. The bakery responds directly to the comment with a personalized message, inviting the customer to call and discuss the custom order with a cake designer.

Exclusive Social Media Promotions

Offering promotions exclusive to social media followers can drive phone orders. These could be limited-time offers or special discounts available only when ordering over the phone, creating a sense of urgency and exclusivity.

Example: A fitness center posts a tweet offering a 20% discount on membership renewals when customers call within the next 24 hours. The tweet includes a direct phone number, making it convenient for followers to take advantage of the offer.

Integrating Click-to-Call Buttons

Many social media platforms allow the integration of click-to-call buttons in ads or profiles. This feature reduces the barrier for customers to place a phone order, as they can call directly from the social media app.

Example: An electronics retailer includes a click-to-call button in their Facebook ad for the latest smartphone. Interested customers can tap the button and immediately connect with a sales representative to place an order.

Tracking and Analytics

Utilizing tracking tools to monitor the success of social media campaigns is essential. Analyzing which posts lead to an increase in phone orders can help refine strategies and improve future campaigns.

Example: After launching a LinkedIn campaign for a B2B service, the company uses analytics to track which posts are generating the most calls. They find that posts with customer testimonials lead to a higher call volume and adjust their strategy accordingly.

Conclusion

In summary, the intersection of social media and business strategy offers a dynamic avenue for increasing phone orders. By harnessing the power of audience insights, crafting compelling content, personalizing customer interactions, creating exclusive deals, simplifying the calling process, and meticulously analyzing campaign data, businesses can effectively amplify their phone-based sales. Embracing these tactics not only enhances customer engagement but also drives tangible results in today’s competitive market.

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.

Interview with the creator of Algol+ plugins

Alex is the founder of Algol+ and has been creating plugins for WooCommerce for over 5 years. He focuses on making high-quality, reliable tools that help online store owners manage their businesses better.

Algol+ offers a range of powerful plugins designed to enhance WooCommerce stores. Notable plugins include:

  • Advanced Dynamic Pricing for WooCommerce: This plugin allows store owners to create flexible pricing rules and discounts, helping to boost sales and manage promotions effectively.
  • Advanced Order Export for WooCommerce: A tool that simplifies the process of exporting order data, enabling easy reporting and data analysis for better business insights.
  • Phone Orders for WooCommerce: This plugin streamlines the process of taking orders over the phone, making it easier for businesses to handle customer requests and improve service efficiency.

Can you tell us about your background and how you got started developing plugins for WooCommerce?

I have been programming for over 25 years and have been working with WordPress for the last 15 years. My journey into the world of plugins’ development started when I began taking freelance projects on the platforms like Elance, where clients often needed custom solutions for their WordPress sites. This experience allowed me to understand the intricacies of WordPress and its vast ecosystem.

What inspired you to create plugins like Advanced Dynamic Pricing for WooCommerce and Advanced Order Export for WooCommerce?

As I continued working on various projects, I noticed a growing demand for e-commerce solutions, which naturally led me to explore WooCommerce. I was fascinated by the flexibility and extensibility WooCommerce offered to store owners. Seeing an opportunity to create value, I started developing custom plugins to meet specific client needs. Initially, these were bespoke solutions tailored to individual requirements, but over time, I saw the potential to generalize these tools into plugins that could benefit a broader audience.

The first plugins I developed were simple, addressing common challenges WooCommerce store owners faced, such as dynamic pricing and order management. As these plugins gained popularity and received positive feedback, I continued to expand and refine them, adding more features based on user feedback and emerging trends in the e-commerce industry.

How do you approach the development process for plugins? What are some key considerations and challenges you face?

My primary focus in the development process is ensuring stability. This is paramount because I understand the critical role plugins play in the smooth operation of WooCommerce stores. One of the key strategies I employ is maintaining a unified core for both the free and pro versions of my plugins. This approach allows me to streamline development and ensure consistency across all versions.

What sets your plugins apart from others in the WooCommerce ecosystem?

What sets my plugins apart from others in the WooCommerce ecosystem is the uncompromising emphasis on the quality of code over the speed of adding new features. This philosophy is central to our development process and is reflected in every plugin we release.

We believe that a solid, reliable foundation is crucial for the long-term success and stability of any plugin. To achieve this, we often find ourselves rewriting the same code two or three times to ensure it meets our stringent quality standards. This might seem like an excessive measure, but it allows us to deliver plugins that are not only robust and efficient but also scalable and maintainable.

What are some common issues that WooCommerce store owners face, and how do your plugins address them?

WooCommerce store owners frequently face several common challenges, two of the most prominent being the efficient management of data export and the implementation of dynamic pricing strategies. Our plugins are designed specifically to address these issues, providing robust and user-friendly solutions that significantly reduce the effort required to achieve optimal results.

Firstly, data export is a critical task for any WooCommerce store owner. Whether it’s for accounting purposes, inventory management, or customer insights, the ability to export orders and other data efficiently can save a significant amount of time and reduce errors. Our Advanced Order Export for WooCommerce plugin offers a comprehensive solution to this challenge. It allows store owners to export orders and other relevant data in various formats, including CSV, Excel, and XML. The plugin provides extensive filtering options, custom fields, and scheduling capabilities, making it easy to automate regular exports and ensure that the right data is always at your fingertips.

Secondly, implementing dynamic pricing strategies can be complex, but is essential for maximizing sales and profitability. Our Advanced Dynamic Pricing for WooCommerce plugin simplifies this process by offering a range of powerful pricing rules and discounts. Whether it’s bulk pricing, percentage discounts, or special offers based on customer roles or purchase history, our plugin allows store owners to create and manage these pricing strategies with ease. The intuitive interface and extensive customization options mean that you can set up sophisticated pricing rules without needing to write any code.

How do you prioritize which features to add or update in your plugins?

When it comes to prioritizing which features to add or update in our plugins, we rely on a systematic approach centered around user’s feedback and performance considerations. Our internal tracking system has a crucial role in this process, enabling us to efficiently manage client requests and bug reports.

We actively collect and track user feedback through various channels, including support tickets, email, and our community forums. This feedback is entered into our internal tracking system, where it is categorized and prioritized based on factors such as the number of requests for a particular feature, the impact of reported issues, and the potential benefits to our user base. This structured approach ensures that we address the most pressing needs and valuable enhancements first.

What has been the most challenging aspect of plugin development for WooCommerce?

One of the most challenging aspects of plugin development for WooCommerce is ensuring optimal performance across a wide range of hosting environments and store sizes. Our clients use a variety of hosting solutions, from basic shared hosting to high-performance dedicated servers, and they manage stores that range from small boutiques to large enterprises with tens of thousands of orders and products.

The diversity in hosting environments means that our plugins must be highly efficient and capable of running smoothly even on slower, less powerful servers. This requires meticulous optimization of our code to minimize resource usage and ensure quick response times. We continuously refine our algorithms and processes to enhance speed and reduce the load on servers, providing a seamless experience for all users, regardless of their hosting setup.

How do you ensure the compatibility and reliability across different versions of WooCommerce and WordPress?

Ensuring compatibility and reliability across different versions of WooCommerce and WordPress is a fundamental priority in our plugin development process. To achieve this, we adhere to several key practices that help maintain seamless integration and optimal performance.

Firstly, we prioritize using standard methods and APIs provided by WooCommerce and WordPress to access and modify data. By adhering to these established conventions, we reduce the risk of conflicts and ensure that our plugins remain compatible with the latest updates and changes in both platforms. This approach also helps us leverage the built-in functionality and security features of WooCommerce and WordPress, enhancing the overall reliability of our plugins.

Another critical aspect of ensuring compatibility is our commitment to supporting High-Performance Order Storage (HPOS) mode in WooCommerce. HPOS is designed to improve the performance and scalability of order storage by using custom database tables for orders instead of the default WordPress posts table. All our plugins are developed and tested to fully support HPOS mode, ensuring that they can handle large volumes of orders efficiently and provide fast, reliable performance.

What’s next for you and your team in terms of plugin development?

Currently, we are actively working on a new plugin that we plan to release within this year. This upcoming plugin represents a significant step-up for us.

Mastering Inventory Management: How Advanced Order Export for WooCommerce Can Help Your Business Thrive

Cash is king in any business, including manufacturing. As we all know, inventory management is vital in lean manufacturing. Therefore, minimizing “working capital”— cash tied up in physical assets— should be a priority for any manufacturer looking to optimize efficiency and cash flow.

It goes without saying that any company must ensure that these inventories do not run out, with the risk of missing an order deadline, unhappy customers and associated reputational damage.

On the other hand, ensuring there is sufficient inventory should not mean that there will be so much of it on site that cash flow will be negatively impacted, or that products will die or become obsolete before they are used. This is especially true for companies seeking to adhere to lean manufacturing principles.

Why Does Inventory Management Matter?

Good inventory management planning is essential for the growth and development of any company. Without a good management system, there may be shortages of products or items that are in stock for a long time. Both cases entail financial losses for the company. Through effective inventory management, a company will always have the materials it needs to produce goods and serve customers. It will also be able to maintain the quality of its products and delivery times.

An inventory management system simplifies and automates company processes. Find out more about the main advantages of this technology:

  • Sector integration

Process automation allows you to integrate all sectors of the company. This is because the solution records the products supplied by the supplier and indicates that they are already in stock. When there is a problem with a product, this is also recorded by the system, which generates a notification. It helps track sales and also provides data for the financial sector. At the same time, all processes are centralized, which reduces the number of errors when calculating taxes.

  • Purchase Forecast

Another benefit of having an inventory and storage management system is the ability to forecast purchase needs. The manager can set minimum and maximum inventory limits so that the system can track and notify when you need to be restocked an item. This helps in decision making and tracking the number of sales of each product. An example of a report is a report that identifies the products that are most relevant to a business in terms of sales volume and resulting profitability.

  • Price Analysis

The monitoring that this technology performs also allows you to analyze production costs. This is because the manager has the information needed to estimate the cost of raw materials, the time they remain in stock, the period required to produce the product, and wastage rates.

The system can have profit estimates for each product, which enhances the ability to make better decisions for business success. In this way, the need to change processes to provide greater flexibility and efficiency can be identified.

Best Inventory Management Practices

The need to manage inventory to save money has led to the emergence of many models and methods. The most famous include the following:

  • Wilson’s model. It is considered the simplest because it does not involve the presence of uncertainties. The model allows you to determine the optimal level of reserves for the entire assortment, the criteria being the level of demand, placement costs and storage costs. It involves replenishing the warehouse at a certain frequency, in identical batches. The formula is suitable for companies producing products with stable demand, when the risk of unforeseen situations is practically absent.
  • Just-in-Time model. It implies the delivery of raw materials and materials just in time, that is, exactly at the moment when they are needed on the production line, and in the quantity that is needed at the time of delivery. To reduce costs, the model practically eliminates the presence of a reserve in the warehouse, but when using it, the enterprise’s dependence on suppliers increases. Any supply disruptions can lead to shortages of raw materials and forced equipment downtime.
  • ABC model. It consists of distributing reserves into three groups based on the method of volume-cost analysis. Category A includes stocks that are necessary for the most expensive products with a long use cycle. They account for the majority of the funds, so strict control is carried out on group A, and the required volume and costs are accurately determined. Group B includes raw materials and supplies for mid-price products. Category C is the cheapest inventory with high turnover and minimal markup.

What makes inventory management so difficult for most people is that there is no one right way to do it. The inventory management model that an enterprise uses must first of all take into account the specifics of a particular production. There is no single universal algorithm for everyone.

Ready-made Solutions in Advanced Order Export for WooCommerce

Fortunately, there are ready-made solutions available that can help companies master their inventory management. Advanced Order Export for WooCommerce is one such solution that can simplify the process and help businesses better manage their inventory.

With Advanced Order Export for WooCommerce, businesses can automatically export orders from their sales channels, such as ecommerce stores, marketplaces, and POS systems, to their inventory management system. This eliminates the need for manual data entry and reduces the risk of errors. It also allows businesses to have real-time visibility into their inventory levels, enabling them to make better decisions about stock levels.

We have prepared 3 ready-made solutions for you that will help you optimize your order management process:

Note: All reports have a checkbox Summary Report By Products. This is an important setting — it allows you to take overall statistics for the product.

Automatic scheduled summary by products CSV report, the destination of which is email.

First of all, we set up the Export Now tab. We leave the Filter orders by — Order Date. We leave the date range as default, so data for the entire time will be exported. If you want to export by specific order numbers, then specify a range of orders. The export file name can be customized by tags. Using them, for example, you can get the current date in the name of the report. You can view the tags using the link next to the file name or here. Let’s select the information with what status will be uploaded. Choose Completed.

Let’s select the CSV file format. The settings can be left as default.

When you clicked the Summary Report By Products checkbox, the report automatically changed the fields to the appropriate ones:

Let’s add other fields to them:

Save your settings and export this report:

Click on the Save as profile button. Go to Profiles. Click on the clock button in the line with this report to add it to your scheduled ones.

Click OK in the pop-up window.

In the new tab, give your profile a name.

Select the exported date of the report. For example:

  • Every week
  • Only on Sundays
  • Once a day

In our case, this is December 1 at 7 am.

Let’s set up the directory. Select Email. Enter data in the following fields: From email, Email Subject, Recipients.

Click the Test button. If the submission is successful, you will see the following message:

File ‘Automatic scheduled summary by products CSV report.pdf’ has sent to ‘[email protected]

Save your settings.

Automatic status change summary by products XLS report, the destination of which is Zapier (Google Docs).

We set up the second report in the same way as the first report. Select XLS format.

All the data is the same, so we won’t export the report.

When the Export Now is ready, save it as a profile. Let’s go to Profiles. Click on the button that looks like an arrow pointing to the right so that the report is uploaded when the status changes.

Click OK in the pop-up window.

In the new tab, give your profile a name.

Set the From status: Pending payment, Processing, On hold.

Status To: Completed.

Let’s set up a destination. Select Zapier.

Note: feel free to read about how to connect job with Zapier here.

If Zapier is connected, then next to the job you will see the following text:

Connected to Zapier

Save your settings.

Automatic scheduled summary by products HTML report, the destination of which is directory.

We set up the third report in the same way as the first report. Select HTML format.

All the data is the same, so we won’t export the report.

Click on the Save as profile button. Go to Profiles. Click on the clock button in the line with this report to add it to your scheduled ones.

Click OK in the pop-up window.

In the new tab, give your profile a name.

Select the date of the report. In our case, this is every Monday at 6 am.

The destination this time is the directory. You can leave it as default and find the reports in the folder with your site.

That’s it! Use Advanced Order Export for WooCommerce settings and save your time and effort.

Implementing inventory management isn’t just a good idea – it’s vital to business continuity and profitability, and proven trading technology provides a solution no matter the size of your business or the sector in which it operates.

Mother’s Day promotion ideas with Advanced Dynamic Pricing

Mother’s Day is a special occasion to celebrate the love and sacrifices of our mothers. Retailers can leverage this opportunity to boost sales and strengthen customer relationships by offering attractive promotions. Advanced Dynamic Pricing plugin can further enhance these promotions, optimizing revenue while providing personalized experiences.

Note: some options are only available in the pro version of the plugin.

Tiered Discounts Based on Basket Value

Offer tiered discounts that increase as the basket value goes up. This encourages customers to add more products to their carts, driving up average order value. Use ADP plugin to adjust the discount percentages based on real-time demand and inventory levels.

To create tiered discounts, you need to do the following:

  1. Select the Bulk template.
  2. Select, for example, products and select postcards in the Filter by products section.
  3. Select Tier mode and indicate, for example, a percentage discount in the Bulk mode section.
  4. Create discount ranges. For example, from 2 to 4 postcards there is a 10% discount, from 5 there is a 20% discount.

Loyalty Rewards for Repeat Purchases

Offer loyalty rewards to customers who make multiple purchases during the Mother’s Day promotion period. Advanced Dynamic Pricing can be used to adjust the reward value based on the total amount spent, incentivizing repeat purchases and building customer loyalty.

  1. Select the Cart Discount template.
  2. Specify the date of the promotion. It should start later than Mother’s Day.
  3. Select in the Can be applied field Once value.
  4. Specify a fixed discount in the Cart adjustments section.
  5. Select Spent within ≥ 99 (1 week) in the Conditions section.

Gift Card Role Discount

Gift cards have become a popular choice for gifting, especially during special occasions like Mother’s Day. They offer flexibility, convenience, and a personal touch that makes them an attractive option for both the giver and the receiver.

A gift card can serve as an addition to other promotions. Good news for those who use our plugin – it is compatible with the YITH WooCommerce Gift Cards ****plugin. This feature is available in the pro version of the Advanced Dynamic Pricing (Compatibility tab).

To implement gift card promotions, retailers should consider the following steps:

  1. Select the Role Discount template.
  2. Specify the date of the promotion. It should start before than Mother’s Day.
  3. Add Filter by products section and specify Gift card there.
  4. Choose role and discount in the Role discounts section.

Free Shipping Thresholds with Dynamic Adjustments

Offer free shipping for orders above a certain threshold. Use dynamic pricing to adjust the threshold based on the cost of shipping and the expected profitability of each order. This incentivizes customers to increase their order size while reducing shipping costs.

  1. Select the Cart Discount template.
  2. Select Set zero cost for all shipping methods in the Cart adjustments section.
  3. Select Subtotal (exc. VAT) ≥ 50 in the Conditions section.

Dynamic Discounts for Specific Product Categories

Offer discounts on specific product categories that are popular gifts for mothers. Use ADP plugin to adjust the discount percentages based on market trends, inventory levels, and competitor pricing.

  1. Select the Product Discount template.
  2. Specify the category in the Filter by products section.
  3. Specify the discount in the Conditions section.

The Algol+ team wishes you the best on Mother’s Day! Be sure to tell your mothers how much you care about them. Spend this day with your family.

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.

Phone Orders vs Online Ordering: Finding the Perfect Balance for Your WooCommerce Store

What is better Phone Orders or Online Ordering?

When it comes to choosing between phone orders or online ordering for your business, there is no one-size-fits-all answer. Both options have benefits and drawbacks that must be weighed depending on the goals and needs of your business.

Phone Orders

Phone orders are a great option for those who prefer to speak directly to a customer service representative. This gives your customers the chance to ask questions, make sure they understand the product they’re ordering, and find out more about the product before they make their purchase. Additionally, phone orders are great for customers who are uncomfortable with online shopping, or who may have difficulty using a computer or navigating websites.

However, phone orders can also be time-consuming and difficult to manage. You’ll need to have staff available to take calls, and you may find that orders take longer to process. Additionally, you’ll likely need to record and store all orders manually, which can be a hassle.

Online Ordering

Online ordering is a great way to streamline the ordering process and make it easier for your customers to purchase from your store. Customers can easily browse through your products, add items to their cart, and then check out quickly and easily. Additionally, online ordering has the potential to reach a wider audience, as customers can access your store from anywhere with an internet connection.

However, online ordering may not be the best option for customers who are unfamiliar with computers or who may not feel comfortable using a website. Additionally, online ordering may require more work on your part to ensure a secure and efficient checkout process.

Here’s a summary table of all the advantages and disadvantages of both methods:

Criteria Online Ordering Phone Orders
Fit every customer? +
Don’t necessary to train staff? +
Improve customer satisfaction? +
Reach a wider audience? +
Fast ordering process? + +

How to Find the Perfect Balance Between Phone Orders and Online Ordering

The key to finding the perfect balance between phone orders and online orders is to make sure that both are available for customers.

Here are some tips to help you do just that:

  1. Offer Multiple Payment Options: Make sure you offer multiple payment options to your customers. This way, customers can choose the option that works best for them. Many customers will prefer to pay with their credit cards online, but you should also accept payments via phone, such as PayPal or Venmo.
  2. Make the Online Ordering Process Easy and Secure: Make sure your online ordering process is as easy and secure as possible. Make sure the checkout page is intuitive and that you are using secure payment processing.
  3. Provide Clear Instructions: When it comes to phone orders, make sure you provide clear instructions to your customers. Let them know what information they need to provide and clearly explain any additional fees or taxes that may apply.
  4. Train Your Staff: Train your staff to take phone orders as well as handle customer inquiries. Make sure they are knowledgeable about the products and can answer any questions a customer may have.
  5. Monitor Your System: Monitor your system to make sure it is running smoothly and that any orders are processed quickly.

Ultimately, it’s important to keep in mind that both phone orders and online ordering have their own advantages and disadvantages, so it’s important to find the perfect balance that will work best for your WooCommerce store. This will help ensure that your customers have an easy and efficient buying experience, no matter how they choose to order.

You have an online store, but would like to receive orders by phone

If you are an online store owner who is looking for ways to expand your business, taking orders by phone can be a great way to do just that.

There are a few steps you should take to ensure that you can effectively manage phone orders.

The first step is to set up a toll-free number where customers can call and place orders. This gives customers the convenience of not having to pay for the call and it also makes it easier for them to remember the number. Then, you will need a customer service representative to answer the phone and take the orders.

To make it easier for customers to place orders over the phone, you should create a script that customer service representatives can use. The script should include all of the information that is needed to place an order. This includes the customer’s name, address, contact information, and payment information. The script should also include any special instructions or questions that the customer may have.

Finally, you should provide customers with a way to track their orders. This can be done by providing customers with a confirmation number or by sending them an email with tracking information. This will make it easier for customers to track their orders and make sure that they arrive on time.

Do you think it is difficult to provide all these points? Just install Phone Orders for WooCommerce plugin!

Phone Orders for WooCommerce not only allows you to enter information about the customer, his order and payment details. Also with it you can:

  • configure default client, state, country
  • set the default product in the cart
  • set default coupon
  • choose the fields that need to be filled in the contact information
  • duplicate order
  • send an invoice
  • create your custom field
  • and others

Start using Phone Orders for WooCommerce today and take control of your WooCommerce store’s orders!